gnu: facter: Update to 4.0.33.
[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>
de681bdb 22;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
88f06fd0
PN
23;;;
24;;; This file is part of GNU Guix.
25;;;
26;;; GNU Guix is free software; you can redistribute it and/or modify it
27;;; under the terms of the GNU General Public License as published by
28;;; the Free Software Foundation; either version 3 of the License, or (at
29;;; your option) any later version.
30;;;
31;;; GNU Guix is distributed in the hope that it will be useful, but
32;;; WITHOUT ANY WARRANTY; without even the implied warranty of
33;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
34;;; GNU General Public License for more details.
35;;;
36;;; You should have received a copy of the GNU General Public License
37;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
38
39;;; This file only contains Common Lisp libraries.
40;;; Common Lisp compilers and tooling go to lisp.scm.
41;;; Common Lisp applications should go to the most appropriate file,
42;;; e.g. StumpWM is in wm.scm.
43
44(define-module (gnu packages lisp-xyz)
45 #:use-module (gnu packages)
46 #:use-module ((guix licenses) #:prefix license:)
47 #:use-module (guix packages)
48 #:use-module (guix download)
49 #:use-module (guix git-download)
50 #:use-module (guix hg-download)
51 #:use-module (guix utils)
52 #:use-module (guix build-system asdf)
53 #:use-module (guix build-system trivial)
54 #:use-module (gnu packages c)
55 #:use-module (gnu packages compression)
8a6c0f55 56 #:use-module (gnu packages databases)
2fa04968 57 #:use-module (gnu packages enchant)
1c5901ae 58 #:use-module (gnu packages fonts)
ec2c73b8 59 #:use-module (gnu packages fontutils)
88f06fd0
PN
60 #:use-module (gnu packages glib)
61 #:use-module (gnu packages gtk)
d3a2df68 62 #:use-module (gnu packages imagemagick)
37b48dc1 63 #:use-module (gnu packages libevent)
88f06fd0
PN
64 #:use-module (gnu packages libffi)
65 #:use-module (gnu packages lisp)
064dbb71 66 #:use-module (gnu packages maths)
a3f6c410 67 #:use-module (gnu packages networking)
88f06fd0
PN
68 #:use-module (gnu packages pkg-config)
69 #:use-module (gnu packages python)
70 #:use-module (gnu packages python-xyz)
71 #:use-module (gnu packages sqlite)
d3a2df68 72 #:use-module (gnu packages tcl)
88f06fd0
PN
73 #:use-module (gnu packages tls)
74 #:use-module (gnu packages webkit)
75 #:use-module (gnu packages xdisorg)
76 #:use-module (ice-9 match)
77 #:use-module (srfi srfi-19))
78
79(define-public sbcl-alexandria
012bdf2e
GLV
80 (package
81 (name "sbcl-alexandria")
82 (version "1.1")
83 (source
84 (origin
85 (method git-fetch)
86 (uri (git-reference
87 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
88 (commit (string-append "v" version))))
89 (sha256
90 (base32
91 "1zanb3xa98js0i66iqcmx3gp123p1m2d1fxn8d7bfzyfad5f6xn2"))
92 (file-name (git-file-name name version))))
93 (build-system asdf-build-system/sbcl)
94 (native-inputs
95 `(("rt" ,sbcl-rt)))
96 (synopsis "Collection of portable utilities for Common Lisp")
97 (description
98 "Alexandria is a collection of portable utilities. It does not contain
88f06fd0
PN
99conceptual extensions to Common Lisp. It is conservative in scope, and
100portable between implementations.")
012bdf2e
GLV
101 (home-page "https://common-lisp.net/project/alexandria/")
102 (license license:public-domain)))
88f06fd0
PN
103
104(define-public cl-alexandria
105 (sbcl-package->cl-source-package sbcl-alexandria))
106
107(define-public ecl-alexandria
108 (sbcl-package->ecl-package sbcl-alexandria))
109
110(define-public sbcl-net.didierverna.asdf-flv
111 (package
112 (name "sbcl-net.didierverna.asdf-flv")
113 (version "2.1")
114 (source
115 (origin
116 (method git-fetch)
117 (uri (git-reference
118 (url "https://github.com/didierverna/asdf-flv")
119 (commit (string-append "version-" version))))
120 (file-name (git-file-name "asdf-flv" version))
121 (sha256
122 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
123 (build-system asdf-build-system/sbcl)
124 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
125 (description "ASDF-FLV provides support for file-local variables through
126ASDF. A file-local variable behaves like @code{*PACKAGE*} and
127@code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
128dynamic binding is created before processing the file, so that any
129modification to the variable becomes essentially file-local.
130
131In order to make one or several variables file-local, use the macros
132@code{SET-FILE-LOCAL-VARIABLE(S)}.")
133 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
134 (license (license:non-copyleft
135 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
136 "GNU All-Permissive License"))))
137
138(define-public cl-net.didierverna.asdf-flv
139 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
140
141(define-public ecl-net.didierverna.asdf-flv
142 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
143
144(define-public sbcl-fiveam
145 (package
146 (name "sbcl-fiveam")
147 (version "1.4.1")
148 (source
149 (origin
150 (method git-fetch)
151 (uri (git-reference
b0e7b699 152 (url "https://github.com/sionescu/fiveam")
88f06fd0
PN
153 (commit (string-append "v" version))))
154 (file-name (git-file-name "fiveam" version))
155 (sha256
156 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
157 (inputs
158 `(("alexandria" ,sbcl-alexandria)
159 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
160 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
161 (build-system asdf-build-system/sbcl)
162 (synopsis "Common Lisp testing framework")
163 (description "FiveAM is a simple (as far as writing and running tests
164goes) regression testing framework. It has been designed with Common Lisp's
165interactive development model in mind.")
166 (home-page "https://common-lisp.net/project/fiveam/")
167 (license license:bsd-3)))
168
169(define-public cl-fiveam
170 (sbcl-package->cl-source-package sbcl-fiveam))
171
172(define-public ecl-fiveam
173 (sbcl-package->ecl-package sbcl-fiveam))
174
175(define-public sbcl-bordeaux-threads
5a647850
GLV
176 (package
177 (name "sbcl-bordeaux-threads")
d2a34eba 178 (version "0.8.8")
5a647850
GLV
179 (source (origin
180 (method git-fetch)
181 (uri (git-reference
b0e7b699 182 (url "https://github.com/sionescu/bordeaux-threads")
5a647850
GLV
183 (commit (string-append "v" version))))
184 (sha256
d2a34eba 185 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
5a647850
GLV
186 (file-name
187 (git-file-name "bordeaux-threads" version))))
188 (inputs `(("alexandria" ,sbcl-alexandria)))
189 (native-inputs `(("fiveam" ,sbcl-fiveam)))
190 (build-system asdf-build-system/sbcl)
191 (synopsis "Portable shared-state concurrency library for Common Lisp")
192 (description "BORDEAUX-THREADS is a proposed standard for a minimal
88f06fd0
PN
193MP/Threading interface. It is similar to the CLIM-SYS threading and lock
194support.")
5a647850
GLV
195 (home-page "https://common-lisp.net/project/bordeaux-threads/")
196 (license license:x11)))
88f06fd0
PN
197
198(define-public cl-bordeaux-threads
199 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
200
201(define-public ecl-bordeaux-threads
202 (sbcl-package->ecl-package sbcl-bordeaux-threads))
203
204(define-public sbcl-trivial-gray-streams
205 (let ((revision "1")
f15cc738 206 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
88f06fd0
PN
207 (package
208 (name "sbcl-trivial-gray-streams")
209 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
210 (source
211 (origin
212 (method git-fetch)
213 (uri
214 (git-reference
b0e7b699 215 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
88f06fd0
PN
216 (commit commit)))
217 (sha256
f15cc738 218 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
88f06fd0
PN
219 (file-name
220 (string-append "trivial-gray-streams-" version "-checkout"))))
221 (build-system asdf-build-system/sbcl)
222 (synopsis "Compatibility layer for Gray streams implementations")
223 (description "Gray streams is an interface proposed for inclusion with
224ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
225popular CL implementations implement it. This package provides an extremely
226thin compatibility layer for gray streams.")
0eecc9eb 227 (home-page "https://www.cliki.net/trivial-gray-streams")
88f06fd0
PN
228 (license license:x11))))
229
230(define-public cl-trivial-gray-streams
231 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
232
233(define-public ecl-trivial-gray-streams
234 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
235
236(define-public sbcl-fiasco
237 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
238 (revision "1"))
239 (package
240 (name "sbcl-fiasco")
241 (version (git-version "0.0.1" revision commit))
242 (source
243 (origin
244 (method git-fetch)
245 (uri (git-reference
b0e7b699 246 (url "https://github.com/joaotavora/fiasco")
88f06fd0
PN
247 (commit commit)))
248 (file-name (git-file-name "fiasco" version))
249 (sha256
250 (base32
251 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
252 (build-system asdf-build-system/sbcl)
253 (inputs
254 `(("alexandria" ,sbcl-alexandria)
255 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
256 (synopsis "Simple and powerful test framework for Common Lisp")
257 (description "A Common Lisp test framework that treasures your failures,
258logical continuation of Stefil. It focuses on interactive debugging.")
259 (home-page "https://github.com/joaotavora/fiasco")
260 ;; LICENCE specifies this is public-domain unless the legislation
261 ;; doesn't allow or recognize it. In that case it falls back to a
262 ;; permissive licence.
263 (license (list license:public-domain
264 (license:x11-style "file://LICENCE"))))))
265
266(define-public cl-fiasco
267 (sbcl-package->cl-source-package sbcl-fiasco))
268
269(define-public ecl-fiasco
270 (sbcl-package->ecl-package sbcl-fiasco))
271
272(define-public sbcl-flexi-streams
273 (package
274 (name "sbcl-flexi-streams")
6b0604fd 275 (version "1.0.18")
88f06fd0
PN
276 (source
277 (origin
278 (method git-fetch)
279 (uri (git-reference
b0e7b699 280 (url "https://github.com/edicl/flexi-streams")
88f06fd0
PN
281 (commit (string-append "v" version))))
282 (file-name (git-file-name "flexi-streams" version))
283 (sha256
6b0604fd 284 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
88f06fd0
PN
285 (build-system asdf-build-system/sbcl)
286 (arguments
287 `(#:phases
288 (modify-phases %standard-phases
289 (add-after 'unpack 'make-git-checkout-writable
290 (lambda _
291 (for-each make-file-writable (find-files "."))
292 #t)))))
293 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
294 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
295 (description "Flexi-streams is an implementation of \"virtual\" bivalent
296streams that can be layered atop real binary or bivalent streams and that can
297be used to read and write character data in various single- or multi-octet
298encodings which can be changed on the fly. It also supplies in-memory binary
299streams which are similar to string streams.")
300 (home-page "http://weitz.de/flexi-streams/")
301 (license license:bsd-3)))
302
303(define-public cl-flexi-streams
304 (sbcl-package->cl-source-package sbcl-flexi-streams))
305
306(define-public ecl-flexi-streams
307 (sbcl-package->ecl-package sbcl-flexi-streams))
308
309(define-public sbcl-cl-ppcre
310 (package
311 (name "sbcl-cl-ppcre")
6c874425 312 (version "2.1.1")
88f06fd0
PN
313 (source
314 (origin
315 (method git-fetch)
316 (uri (git-reference
b0e7b699 317 (url "https://github.com/edicl/cl-ppcre")
88f06fd0
PN
318 (commit (string-append "v" version))))
319 (file-name (git-file-name "cl-ppcre" version))
320 (sha256
6c874425 321 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
88f06fd0
PN
322 (build-system asdf-build-system/sbcl)
323 (native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
324 (synopsis "Portable regular expression library for Common Lisp")
325 (description "CL-PPCRE is a portable regular expression library for Common
326Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
327compatible with ANSI-compliant Common Lisp implementations.")
328 (home-page "http://weitz.de/cl-ppcre/")
329 (license license:bsd-2)))
330
331(define-public cl-ppcre
332 (sbcl-package->cl-source-package sbcl-cl-ppcre))
333
334(define-public ecl-cl-ppcre
335 (sbcl-package->ecl-package sbcl-cl-ppcre))
336
337(define sbcl-cl-unicode-base
6fdfef66
GLV
338 (package
339 (name "sbcl-cl-unicode-base")
340 (version "0.1.6")
341 (source (origin
342 (method git-fetch)
343 (uri (git-reference
b0e7b699 344 (url "https://github.com/edicl/cl-unicode")
6fdfef66
GLV
345 (commit (string-append "v" version))))
346 (file-name (git-file-name name version))
347 (sha256
348 (base32
349 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
350 (build-system asdf-build-system/sbcl)
351 (arguments
352 '(#:asd-file "cl-unicode.asd"
353 #:asd-system-name "cl-unicode/base"))
354 (inputs
355 `(("cl-ppcre" ,sbcl-cl-ppcre)))
356 (home-page "http://weitz.de/cl-unicode/")
357 (synopsis "Portable Unicode library for Common Lisp")
358 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
88f06fd0
PN
359is compatible with perl. It is pretty fast, thread-safe, and compatible with
360ANSI-compliant Common Lisp implementations.")
6fdfef66 361 (license license:bsd-2)))
88f06fd0
PN
362
363(define-public sbcl-cl-unicode
364 (package
365 (inherit sbcl-cl-unicode-base)
366 (name "sbcl-cl-unicode")
367 (inputs
368 `(("cl-unicode/base" ,sbcl-cl-unicode-base)
369 ,@(package-inputs sbcl-cl-unicode-base)))
370 (native-inputs
371 `(("flexi-streams" ,sbcl-flexi-streams)))
372 (arguments '())))
373
374(define-public ecl-cl-unicode
375 (sbcl-package->ecl-package sbcl-cl-unicode))
376
377(define-public cl-unicode
378 (sbcl-package->cl-source-package sbcl-cl-unicode))
379
92afa57b
RW
380(define-public sbcl-zpb-ttf
381 (package
382 (name "sbcl-zpb-ttf")
383 (version "1.0.3")
384 (source
385 (origin
386 (method git-fetch)
387 (uri (git-reference
b0e7b699 388 (url "https://github.com/xach/zpb-ttf")
92afa57b
RW
389 (commit (string-append "release-" version))))
390 (file-name (git-file-name name version))
391 (sha256
392 (base32
393 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
394 (build-system asdf-build-system/sbcl)
395 (home-page "https://github.com/xach/zpb-ttf")
396 (synopsis "TrueType font file access for Common Lisp")
397 (description
398 "ZPB-TTF is a TrueType font file parser that provides an interface for
399reading typographic metrics, glyph outlines, and other information from the
400file.")
401 (license license:bsd-2)))
402
403(define-public ecl-zpb-ttf
404 (sbcl-package->ecl-package sbcl-zpb-ttf))
405
406(define-public cl-zpb-ttf
407 (sbcl-package->cl-source-package sbcl-zpb-ttf))
408
64997728
RW
409(define-public sbcl-cl-aa
410 (package
411 (name "sbcl-cl-aa")
412 (version "0.1.5")
413 (source
414 (origin
415 (method url-fetch)
416 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
417 "files/cl-vectors-" version ".tar.gz"))
418 (sha256
419 (base32
420 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
421 (build-system asdf-build-system/sbcl)
422 (arguments '(#:asd-file "cl-aa.asd"))
423 (home-page "http://projects.tuxee.net/cl-vectors/")
424 (synopsis "Polygon rasterizer")
425 (description
426 "This is a Common Lisp library implementing the AA polygon rasterization
427algorithm from the @url{http://antigrain.com, Antigrain} project.")
428 (license license:expat)))
429
430(define-public ecl-cl-aa
431 (sbcl-package->ecl-package sbcl-cl-aa))
432
433(define-public cl-aa
434 (sbcl-package->cl-source-package sbcl-cl-aa))
435
b571dfdb
RW
436(define-public sbcl-cl-paths
437 (package
438 (inherit sbcl-cl-aa)
439 (name "sbcl-cl-paths")
440 (arguments '(#:asd-file "cl-paths.asd"))
441 (synopsis "Facilities to create and manipulate vectorial paths")
442 (description
443 "This package provides facilities to create and manipulate vectorial
444paths.")))
445
446(define-public ecl-cl-paths
447 (sbcl-package->ecl-package sbcl-cl-paths))
448
449(define-public cl-paths
450 (sbcl-package->cl-source-package sbcl-cl-paths))
451
0dbd7c3c
RW
452(define-public sbcl-cl-paths-ttf
453 (package
454 (inherit sbcl-cl-aa)
455 (name "sbcl-cl-paths-ttf")
456 (arguments '(#:asd-file "cl-paths-ttf.asd"))
457 (inputs
458 `(("cl-paths" ,sbcl-cl-paths)
459 ("zpb-ttf" ,sbcl-zpb-ttf)))
460 (synopsis "Facilities to create and manipulate vectorial paths")
461 (description
462 "This package provides facilities to create and manipulate vectorial
463paths.")))
464
465(define-public ecl-cl-paths-ttf
466 (sbcl-package->ecl-package sbcl-cl-paths-ttf))
467
468(define-public cl-paths-ttf
469 (sbcl-package->cl-source-package sbcl-cl-paths-ttf))
470
94c621bd
RW
471(define-public sbcl-cl-vectors
472 (package
473 (inherit sbcl-cl-aa)
474 (name "sbcl-cl-vectors")
475 (arguments '(#:asd-file "cl-vectors.asd"))
476 (inputs
477 `(("cl-aa" ,sbcl-cl-aa)
478 ("cl-paths" ,sbcl-cl-paths)))
479 (synopsis "Create, transform and render anti-aliased vectorial paths")
480 (description
481 "This is a pure Common Lisp library to create, transform and render
482anti-aliased vectorial paths.")))
483
484(define-public ecl-cl-vectors
485 (sbcl-package->ecl-package sbcl-cl-vectors))
486
487(define-public cl-vectors
488 (sbcl-package->cl-source-package sbcl-cl-vectors))
489
7c62d384
RW
490(define-public sbcl-spatial-trees
491 ;; There have been no releases.
492 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
493 (revision "1"))
494 (package
495 (name "sbcl-spatial-trees")
496 (version (git-version "0" revision commit))
497 (source
498 (origin
499 (method git-fetch)
500 (uri (git-reference
b0e7b699 501 (url "https://github.com/rpav/spatial-trees")
7c62d384
RW
502 (commit commit)))
503 (file-name (git-file-name name version))
504 (sha256
505 (base32
506 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
507 (build-system asdf-build-system/sbcl)
508 (arguments
509 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
510 #:asd-file "spatial-trees.asd"
511 #:test-asd-file "spatial-trees.test.asd"))
512 (native-inputs
513 `(("fiveam" ,sbcl-fiveam)))
514 (home-page "https://github.com/rpav/spatial-trees")
515 (synopsis "Dynamic index data structures for spatially-extended data")
516 (description
517 "Spatial-trees is a set of dynamic index data structures for
518spatially-extended data.")
519 (license license:bsd-3))))
520
521(define-public ecl-spatial-trees
522 (sbcl-package->ecl-package sbcl-spatial-trees))
523
524(define-public cl-spatial-trees
525 (sbcl-package->cl-source-package sbcl-spatial-trees))
526
5dfde3f5
RW
527(define-public sbcl-flexichain
528 ;; There are no releases.
529 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
530 (revision "1"))
531 (package
532 (name "sbcl-flexichain")
533 (version "1.5.1")
534 (source
535 (origin
536 (method git-fetch)
537 (uri (git-reference
b0e7b699 538 (url "https://github.com/robert-strandh/Flexichain")
5dfde3f5
RW
539 (commit commit)))
540 (file-name (git-file-name name version))
541 (sha256
542 (base32
543 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
544 (build-system asdf-build-system/sbcl)
545 (home-page "https://github.com/robert-strandh/Flexichain.git")
546 (synopsis "Dynamically add elements to or remove them from sequences")
547 (description
548 "This package provides an implementation of the flexichain protocol,
549allowing client code to dynamically add elements to, and delete elements from
550a sequence (or chain) of such elements.")
551 (license license:lgpl2.1+))))
552
553(define-public ecl-flexichain
554 (sbcl-package->ecl-package sbcl-flexichain))
555
556(define-public cl-flexichain
557 (sbcl-package->cl-source-package sbcl-flexichain))
558
e088a010
RW
559(define-public sbcl-cl-pdf
560 ;; There are no releases
561 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
562 (revision "1"))
563 (package
564 (name "sbcl-cl-pdf")
565 (version (git-version "0" revision commit))
566 (source
567 (origin
568 (method git-fetch)
569 (uri (git-reference
b0e7b699 570 (url "https://github.com/mbattyani/cl-pdf")
e088a010
RW
571 (commit commit)))
572 (file-name (git-file-name name version))
573 (sha256
574 (base32
575 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
576 (build-system asdf-build-system/sbcl)
577 (inputs
578 `(("iterate" ,sbcl-iterate)
579 ("zpb-ttf" ,sbcl-zpb-ttf)))
580 (home-page "https://github.com/mbattyani/cl-pdf")
581 (synopsis "Common Lisp library for generating PDF files")
582 (description
583 "CL-PDF is a cross-platform Common Lisp library for generating PDF
584files.")
585 (license license:bsd-2))))
586
587(define-public ecl-cl-pdf
588 (sbcl-package->ecl-package sbcl-cl-pdf))
589
590(define-public cl-pdf
591 (sbcl-package->cl-source-package sbcl-cl-pdf))
592
88f06fd0
PN
593(define-public sbcl-clx
594 (package
595 (name "sbcl-clx")
596 (version "0.7.5")
597 (source
598 (origin
599 (method git-fetch)
600 (uri
601 (git-reference
b0e7b699 602 (url "https://github.com/sharplispers/clx")
88f06fd0
PN
603 (commit version)))
604 (sha256
605 (base32
606 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
607 (file-name (string-append "clx-" version))))
608 (build-system asdf-build-system/sbcl)
609 (native-inputs
610 `(("fiasco" ,sbcl-fiasco)))
f0db7779 611 (home-page "https://www.cliki.net/portable-clx")
88f06fd0
PN
612 (synopsis "X11 client library for Common Lisp")
613 (description "CLX is an X11 client library for Common Lisp. The code was
614originally taken from a CMUCL distribution, was modified somewhat in order to
615make it compile and run under SBCL, then a selection of patches were added
616from other CLXes around the net.")
617 (license license:x11)))
618
619(define-public cl-clx
620 (sbcl-package->cl-source-package sbcl-clx))
621
622(define-public ecl-clx
623 (sbcl-package->ecl-package sbcl-clx))
624
1fbd1b4c
OP
625(define-public sbcl-clx-truetype
626 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
627 (revision "1"))
628 (package
629 (name "sbcl-clx-truetype")
630 (version (git-version "0.0.1" revision commit))
631 (source
632 (origin
633 (method git-fetch)
634 (uri (git-reference
635 (url "https://github.com/l04m33/clx-truetype")
636 (commit commit)))
637 (file-name (git-file-name name version))
638 (sha256
639 (base32
640 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
641 (modules '((guix build utils)))
642 (snippet
643 '(begin
644 (substitute* "package.lisp"
645 ((":export") ":export\n :+font-cache-filename+"))
646 #t))))
647 (build-system asdf-build-system/sbcl)
648 (inputs
649 `(("clx" ,sbcl-clx)
650 ("zpb-ttf" ,sbcl-zpb-ttf)
651 ("cl-vectors" ,sbcl-cl-vectors)
652 ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
653 ("cl-fad" ,sbcl-cl-fad)
654 ("cl-store" ,sbcl-cl-store)
655 ("trivial-features" ,sbcl-trivial-features)))
656 (home-page "https://github.com/l04m33/clx-truetype")
657 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
658 (description "CLX-TrueType is pure common lisp solution for
659antialiased TrueType font rendering using CLX and XRender extension.")
660 (license license:expat))))
661
88f06fd0
PN
662(define-public sbcl-cl-ppcre-unicode
663 (package (inherit sbcl-cl-ppcre)
664 (name "sbcl-cl-ppcre-unicode")
665 (arguments
666 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
667 #:asd-file "cl-ppcre-unicode.asd"))
668 (inputs
669 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
670 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
671
54dc3ba2
GLV
672(define-public ecl-cl-ppcre-unicode
673 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
674
88f06fd0
PN
675;; The slynk that users expect to install includes all of slynk's contrib
676;; modules. Therefore, we build the base module and all contribs first; then
677;; we expose the union of these as `sbcl-slynk'. The following variable
678;; describes the base module.
679(define sbcl-slynk-boot0
c3c63352
PN
680 (let ((revision "3")
681 ;; Update together with emacs-sly.
682 (commit "6a2f543cb21f14104c2253af5a1427b884a987ae"))
88f06fd0
PN
683 (package
684 (name "sbcl-slynk-boot0")
685 (version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
686 (source
687 (origin
688 (method git-fetch)
689 (uri
690 (git-reference
b0e7b699 691 (url "https://github.com/joaotavora/sly")
88f06fd0
PN
692 (commit commit)))
693 (sha256
c3c63352 694 (base32 "0wbpg9p9yg2hd62l15pvy50fk3hndq5zzyqlyyf04g368s895144"))
88f06fd0
PN
695 (file-name (string-append "slynk-" version "-checkout"))
696 (modules '((guix build utils)
697 (ice-9 ftw)))
698 (snippet
699 '(begin
700 ;; Move the contribs into the main source directory for easier
701 ;; access
702 (substitute* "slynk/slynk.asd"
703 (("\\.\\./contrib")
704 "contrib")
705 (("\\(defsystem :slynk/util")
c3c63352 706 "(defsystem :slynk/util :depends-on (:slynk)"))
88f06fd0
PN
707 (substitute* "contrib/slynk-trace-dialog.lisp"
708 (("\\(slynk::reset-inspector\\)") ; Causes problems on load
709 "nil"))
710 (substitute* "contrib/slynk-profiler.lisp"
711 (("slynk:to-line")
712 "slynk-pprint-to-line"))
713 (substitute* "contrib/slynk-fancy-inspector.lisp"
714 (("slynk/util") "slynk-util")
715 ((":compile-toplevel :load-toplevel") ""))
716 (rename-file "contrib" "slynk/contrib")
717 ;; Move slynk's contents into the base directory for easier
718 ;; access
719 (for-each (lambda (file)
720 (unless (string-prefix? "." file)
721 (rename-file (string-append "slynk/" file)
722 (string-append "./" (basename file)))))
723 (scandir "slynk"))
724 #t))))
725 (build-system asdf-build-system/sbcl)
726 (arguments
727 `(#:tests? #f ; No test suite
728 #:asd-system-name "slynk"))
729 (synopsis "Common Lisp IDE for Emacs")
730 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
731It also features a completely redesigned REPL based on Emacs's own
c3c63352 732full-featured @code{comint-mode}, live code annotations, and a consistent interactive
88f06fd0
PN
733button interface. Everything can be copied to the REPL. One can create
734multiple inspectors with independent history.")
735 (home-page "https://github.com/joaotavora/sly")
736 (license license:public-domain)
737 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
738
739(define-public cl-slynk
740 (package
741 (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0))
742 (name "cl-slynk")))
743
744(define ecl-slynk-boot0
745 (sbcl-package->ecl-package sbcl-slynk-boot0))
746
747(define sbcl-slynk-arglists
748 (package
749 (inherit sbcl-slynk-boot0)
750 (name "sbcl-slynk-arglists")
751 (inputs `(("slynk" ,sbcl-slynk-boot0)))
752 (arguments
753 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
754 ((#:asd-file _ "") "slynk.asd")
755 ((#:asd-system-name _ #f) "slynk/arglists")))))
756
757(define ecl-slynk-arglists
758 (sbcl-package->ecl-package sbcl-slynk-arglists))
759
760(define sbcl-slynk-util
761 (package
762 (inherit sbcl-slynk-boot0)
763 (name "sbcl-slynk-util")
764 (inputs `(("slynk" ,sbcl-slynk-boot0)))
765 (arguments
766 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
767 ((#:asd-file _ "") "slynk.asd")
768 ((#:asd-system-name _ #f) "slynk/util")))))
769
770(define ecl-slynk-util
771 (sbcl-package->ecl-package sbcl-slynk-util))
772
773(define sbcl-slynk-fancy-inspector
774 (package
775 (inherit sbcl-slynk-arglists)
776 (name "sbcl-slynk-fancy-inspector")
777 (inputs `(("slynk-util" ,sbcl-slynk-util)
778 ,@(package-inputs sbcl-slynk-arglists)))
779 (arguments
780 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
781 ((#:asd-system-name _ #f) "slynk/fancy-inspector")))))
782
783(define ecl-slynk-fancy-inspector
784 (sbcl-package->ecl-package sbcl-slynk-fancy-inspector))
785
786(define sbcl-slynk-package-fu
787 (package
788 (inherit sbcl-slynk-arglists)
789 (name "sbcl-slynk-package-fu")
790 (arguments
791 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
792 ((#:asd-system-name _ #f) "slynk/package-fu")))))
793
794(define ecl-slynk-package-fu
795 (sbcl-package->ecl-package sbcl-slynk-package-fu))
796
797(define sbcl-slynk-mrepl
798 (package
799 (inherit sbcl-slynk-fancy-inspector)
800 (name "sbcl-slynk-mrepl")
801 (arguments
802 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
803 ((#:asd-system-name _ #f) "slynk/mrepl")))))
804
805(define ecl-slynk-mrepl
806 (sbcl-package->ecl-package sbcl-slynk-mrepl))
807
808(define sbcl-slynk-trace-dialog
809 (package
810 (inherit sbcl-slynk-arglists)
811 (name "sbcl-slynk-trace-dialog")
812 (arguments
813 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
814 ((#:asd-system-name _ #f) "slynk/trace-dialog")))))
815
816(define ecl-slynk-trace-dialog
817 (sbcl-package->ecl-package sbcl-slynk-trace-dialog))
818
819(define sbcl-slynk-profiler
820 (package
821 (inherit sbcl-slynk-arglists)
822 (name "sbcl-slynk-profiler")
823 (arguments
824 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
825 ((#:asd-system-name _ #f) "slynk/profiler")))))
826
827(define ecl-slynk-profiler
828 (sbcl-package->ecl-package sbcl-slynk-profiler))
829
830(define sbcl-slynk-stickers
831 (package
832 (inherit sbcl-slynk-arglists)
833 (name "sbcl-slynk-stickers")
834 (arguments
835 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
836 ((#:asd-system-name _ #f) "slynk/stickers")))))
837
838(define ecl-slynk-stickers
839 (sbcl-package->ecl-package sbcl-slynk-stickers))
840
841(define sbcl-slynk-indentation
842 (package
843 (inherit sbcl-slynk-arglists)
844 (name "sbcl-slynk-indentation")
845 (arguments
846 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
847 ((#:asd-system-name _ #f) "slynk/indentation")))))
848
849(define ecl-slynk-indentation
850 (sbcl-package->ecl-package sbcl-slynk-indentation))
851
852(define sbcl-slynk-retro
853 (package
854 (inherit sbcl-slynk-arglists)
855 (name "sbcl-slynk-retro")
856 (arguments
857 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
858 ((#:asd-system-name _ #f) "slynk/retro")))))
859
860(define ecl-slynk-retro
861 (sbcl-package->ecl-package sbcl-slynk-retro))
862
863(define slynk-systems
864 '("slynk"
865 "slynk-util"
866 "slynk-arglists"
867 "slynk-fancy-inspector"
868 "slynk-package-fu"
869 "slynk-mrepl"
870 "slynk-profiler"
871 "slynk-trace-dialog"
872 "slynk-stickers"
873 "slynk-indentation"
874 "slynk-retro"))
875
876(define-public sbcl-slynk
877 (package
878 (inherit sbcl-slynk-boot0)
879 (name "sbcl-slynk")
880 (inputs
881 `(("slynk" ,sbcl-slynk-boot0)
882 ("slynk-util" ,sbcl-slynk-util)
883 ("slynk-arglists" ,sbcl-slynk-arglists)
884 ("slynk-fancy-inspector" ,sbcl-slynk-fancy-inspector)
885 ("slynk-package-fu" ,sbcl-slynk-package-fu)
886 ("slynk-mrepl" ,sbcl-slynk-mrepl)
887 ("slynk-profiler" ,sbcl-slynk-profiler)
888 ("slynk-trace-dialog" ,sbcl-slynk-trace-dialog)
889 ("slynk-stickers" ,sbcl-slynk-stickers)
890 ("slynk-indentation" ,sbcl-slynk-indentation)
891 ("slynk-retro" ,sbcl-slynk-retro)))
892 (native-inputs `(("sbcl" ,sbcl)))
893 (build-system trivial-build-system)
894 (source #f)
895 (outputs '("out" "image"))
896 (arguments
897 `(#:modules ((guix build union)
898 (guix build utils)
899 (guix build lisp-utils))
900 #:builder
901 (begin
902 (use-modules (ice-9 match)
903 (srfi srfi-1)
904 (guix build union)
905 (guix build lisp-utils))
906
907 (union-build
908 (assoc-ref %outputs "out")
909 (filter-map
910 (match-lambda
911 ((name . path)
912 (if (string-prefix? "slynk" name) path #f)))
913 %build-inputs))
914
915 (prepend-to-source-registry
916 (string-append (assoc-ref %outputs "out") "//"))
917
918 (parameterize ((%lisp-type "sbcl")
919 (%lisp (string-append (assoc-ref %build-inputs "sbcl")
920 "/bin/sbcl")))
921 (build-image (string-append
922 (assoc-ref %outputs "image")
923 "/bin/slynk")
924 %outputs
925 #:dependencies ',slynk-systems))
926 #t)))))
927
928(define-public ecl-slynk
929 (package
930 (inherit sbcl-slynk)
931 (name "ecl-slynk")
932 (inputs
933 (map (match-lambda
934 ((name pkg . _)
935 (list name (sbcl-package->ecl-package pkg))))
936 (package-inputs sbcl-slynk)))
937 (native-inputs '())
938 (outputs '("out"))
939 (arguments
940 '(#:modules ((guix build union))
941 #:builder
942 (begin
943 (use-modules (ice-9 match)
944 (guix build union))
945 (match %build-inputs
946 (((names . paths) ...)
947 (union-build (assoc-ref %outputs "out")
948 paths)
949 #t)))))))
950
951(define-public sbcl-parse-js
952 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
953 (revision "1"))
954 (package
955 (name "sbcl-parse-js")
956 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
957 (source
958 (origin
959 (method git-fetch)
960 (uri (git-reference
961 (url "http://marijn.haverbeke.nl/git/parse-js")
962 (commit commit)))
963 (file-name (string-append name "-" commit "-checkout"))
964 (sha256
965 (base32
966 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
967 (build-system asdf-build-system/sbcl)
9ca4c654 968 (home-page "https://marijnhaverbeke.nl/parse-js/")
88f06fd0
PN
969 (synopsis "Parse JavaScript")
970 (description "Parse-js is a Common Lisp package for parsing
971JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
972 (license license:zlib))))
973
974(define-public cl-parse-js
975 (sbcl-package->cl-source-package sbcl-parse-js))
976
977(define-public sbcl-parse-number
978 (package
979 (name "sbcl-parse-number")
980 (version "1.7")
981 (source
982 (origin
983 (method git-fetch)
984 (uri (git-reference
985 (url "https://github.com/sharplispers/parse-number/")
986 (commit (string-append "v" version))))
987 (file-name (git-file-name name version))
988 (sha256
989 (base32
990 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
991 (build-system asdf-build-system/sbcl)
fed4ff33 992 (home-page "https://www.cliki.net/PARSE-NUMBER")
88f06fd0
PN
993 (synopsis "Parse numbers")
994 (description "@code{parse-number} is a library of functions for parsing
995strings into one of the standard Common Lisp number types without using the
996reader. @code{parse-number} accepts an arbitrary string and attempts to parse
997the string into one of the standard Common Lisp number types, if possible, or
998else @code{parse-number} signals an error of type @code{invalid-number}.")
999 (license license:bsd-3)))
1000
1001(define-public cl-parse-number
1002 (sbcl-package->cl-source-package sbcl-parse-number))
1003
1004(define-public sbcl-iterate
1005 (package
1006 (name "sbcl-iterate")
f36ec871 1007 (version "1.5")
88f06fd0
PN
1008 (source
1009 (origin
1010 (method url-fetch)
f36ec871
GLV
1011 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1012 "iterate-" version ".tar.gz"))
88f06fd0
PN
1013 (sha256
1014 (base32
f36ec871 1015 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
88f06fd0
PN
1016 (build-system asdf-build-system/sbcl)
1017 (native-inputs
1018 `(("rt" ,sbcl-rt)))
1019 (home-page "https://common-lisp.net/project/iterate/")
1020 (synopsis "Iteration construct for Common Lisp")
1021 (description "@code{iterate} is an iteration construct for Common Lisp.
1022It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1023
1024@itemize
1025@item it is extensible,
1026@item it helps editors like Emacs indent iterate forms by having a more
1027 lisp-like syntax, and
1028@item it isn't part of the ANSI standard for Common Lisp.
1029@end itemize\n")
1030 (license license:expat)))
1031
1032(define-public cl-iterate
1033 (sbcl-package->cl-source-package sbcl-iterate))
1034
1035(define-public ecl-iterate
1036 (sbcl-package->ecl-package sbcl-iterate))
1037
1038(define-public sbcl-cl-uglify-js
1039 ;; There have been many bug fixes since the 2010 release.
1040 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1041 (revision "1"))
1042 (package
1043 (name "sbcl-cl-uglify-js")
1044 (version (string-append "0.1-" revision "." (string-take commit 9)))
1045 (source
1046 (origin
1047 (method git-fetch)
1048 (uri (git-reference
b0e7b699 1049 (url "https://github.com/mishoo/cl-uglify-js")
88f06fd0
PN
1050 (commit commit)))
1051 (file-name (git-file-name name version))
1052 (sha256
1053 (base32
1054 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1055 (build-system asdf-build-system/sbcl)
1056 (inputs
1057 `(("sbcl-parse-js" ,sbcl-parse-js)
1058 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1059 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1060 ("sbcl-parse-number" ,sbcl-parse-number)
1061 ("sbcl-iterate" ,sbcl-iterate)))
1062 (home-page "https://github.com/mishoo/cl-uglify-js")
1063 (synopsis "JavaScript compressor library for Common Lisp")
1064 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1065compressor. It works on data produced by @code{parse-js} to generate a
1066@dfn{minified} version of the code. Currently it can:
1067
1068@itemize
1069@item reduce variable names (usually to single letters)
1070@item join consecutive @code{var} statements
1071@item resolve simple binary expressions
1072@item group most consecutive statements using the @code{sequence} operator (comma)
1073@item remove unnecessary blocks
1074@item convert @code{IF} expressions in various ways that result in smaller code
1075@item remove some unreachable code
1076@end itemize\n")
1077 (license license:zlib))))
1078
1079(define-public cl-uglify-js
1080 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1081
ba42da24
PN
1082(define-public uglify-js
1083 (package
1084 (inherit sbcl-cl-uglify-js)
1085 (name "uglify-js")
1086 (build-system trivial-build-system)
1087 (arguments
1088 `(#:modules ((guix build utils))
1089 #:builder
1090 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1091 (script (string-append bin "uglify-js")))
1092 (use-modules (guix build utils))
1093 (mkdir-p bin)
1094 (with-output-to-file script
1095 (lambda _
1096 (format #t "#!~a/bin/sbcl --script
1097 (require :asdf)
1098 (push (truename \"~a/lib/sbcl\") asdf:*central-registry*)"
1099 (assoc-ref %build-inputs "sbcl")
1100 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1101 ;; FIXME: cannot use progn here because otherwise it fails to
1102 ;; find cl-uglify-js.
1103 (for-each
1104 write
1105 '(;; Quiet, please!
1106 (let ((*standard-output* (make-broadcast-stream))
1107 (*error-output* (make-broadcast-stream)))
1108 (asdf:load-system :cl-uglify-js))
1109 (let ((file (cadr *posix-argv*)))
1110 (if file
1111 (format t "~a"
1112 (cl-uglify-js:ast-gen-code
1113 (cl-uglify-js:ast-mangle
1114 (cl-uglify-js:ast-squeeze
1115 (with-open-file (in file)
1116 (parse-js:parse-js in))))
1117 :beautify nil))
1118 (progn
1119 (format *error-output*
1120 "Please provide a JavaScript file.~%")
1121 (sb-ext:exit :code 1))))))))
1122 (chmod script #o755)
1123 #t)))
1124 (inputs
1125 `(("sbcl" ,sbcl)
1126 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1127 (synopsis "JavaScript compressor")))
1128
88f06fd0
PN
1129(define-public sbcl-cl-strings
1130 (let ((revision "1")
1131 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1132 (package
1133 (name "sbcl-cl-strings")
1134 (version (git-version "0.0.0" revision commit))
1135 (source
1136 (origin
1137 (method git-fetch)
1138 (uri (git-reference
1139 (url "https://github.com/diogoalexandrefranco/cl-strings")
1140 (commit commit)))
1141 (sha256
1142 (base32
1143 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1144 (file-name (string-append "cl-strings-" version "-checkout"))))
1145 (build-system asdf-build-system/sbcl)
1146 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1147 (description
1148 "@command{cl-strings} is a small, portable, dependency-free set of
1149utilities that make it even easier to manipulate text in Common Lisp. It has
1150100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1151 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1152 (license license:expat))))
1153
1154(define-public cl-strings
1155 (sbcl-package->cl-source-package sbcl-cl-strings))
1156
1157(define-public ecl-cl-strings
1158 (sbcl-package->ecl-package sbcl-cl-strings))
1159
1160(define-public sbcl-trivial-features
c75e3494
PN
1161 ;; No release since 2014.
1162 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1163 (package
1164 (name "sbcl-trivial-features")
1165 (version (git-version "0.8" "1" commit))
1166 (source
1167 (origin
1168 (method git-fetch)
1169 (uri (git-reference
b0e7b699 1170 (url "https://github.com/trivial-features/trivial-features")
c75e3494
PN
1171 (commit commit)))
1172 (file-name (git-file-name "trivial-features" version))
1173 (sha256
1174 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1175 (build-system asdf-build-system/sbcl)
1176 (arguments '(#:tests? #f))
1177 (home-page "https://cliki.net/trivial-features")
1178 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1179 (description "Trivial-features ensures that @code{*FEATURES*} is
88f06fd0 1180consistent across multiple Common Lisp implementations.")
c75e3494 1181 (license license:expat))))
88f06fd0
PN
1182
1183(define-public cl-trivial-features
1184 (sbcl-package->cl-source-package sbcl-trivial-features))
1185
1186(define-public ecl-trivial-features
1187 (sbcl-package->ecl-package sbcl-trivial-features))
1188
1189(define-public sbcl-hu.dwim.asdf
1190 (package
1191 (name "sbcl-hu.dwim.asdf")
1192 (version "20190521")
1193 (source
1194 (origin
1195 (method url-fetch)
1196 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1197 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1198 (sha256
1199 (base32
1200 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1201 (build-system asdf-build-system/sbcl)
1202 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1203 (synopsis "Extensions to ASDF")
1204 (description "Various ASDF extensions such as attached test and
1205documentation system, explicit development support, etc.")
1206 (license license:public-domain)))
1207
1208(define-public cl-hu.dwim.asdf
1209 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1210
1211(define-public ecl-hu.dwim.asdf
1212 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1213
1214(define-public sbcl-hu.dwim.stefil
1215 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1216 (package
1217 (name "sbcl-hu.dwim.stefil")
1218 (version (git-version "0.0.0" "1" commit))
1219 (source
1220 (origin
1221 (method git-fetch)
1222 (uri
1223 (git-reference
1224 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1225 (commit commit)))
1226 (sha256
1227 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1228 (file-name (git-file-name "hu.dwim.stefil" version))))
1229 (build-system asdf-build-system/sbcl)
1230 (native-inputs
1231 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1232 (inputs
1233 `(("sbcl-alexandria" ,sbcl-alexandria)))
1234 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1235 (synopsis "Simple test framework")
1236 (description "Stefil is a simple test framework for Common Lisp,
1237with a focus on interactive development.")
1238 (license license:public-domain))))
1239
1240(define-public cl-hu.dwim.stefil
1241 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1242
1243(define-public ecl-hu.dwim.stefil
1244 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1245
1246(define-public sbcl-babel
8e596809
PN
1247 ;; No release since 2014.
1248 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1249 (package
1250 (name "sbcl-babel")
1251 (version (git-version "0.5.0" "1" commit))
1252 (source
1253 (origin
1254 (method git-fetch)
1255 (uri (git-reference
b0e7b699 1256 (url "https://github.com/cl-babel/babel")
8e596809
PN
1257 (commit commit)))
1258 (file-name (git-file-name "babel" version))
1259 (sha256
1260 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1261 (build-system asdf-build-system/sbcl)
1262 (native-inputs
1263 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1264 (inputs
1265 `(("sbcl-alexandria" ,sbcl-alexandria)
1266 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1267 (home-page "https://common-lisp.net/project/babel/")
1268 (synopsis "Charset encoding and decoding library")
1269 (description "Babel is a charset encoding and decoding library, not unlike
88f06fd0 1270GNU libiconv, but completely written in Common Lisp.")
8e596809 1271 (license license:expat))))
88f06fd0
PN
1272
1273(define-public cl-babel
1274 (sbcl-package->cl-source-package sbcl-babel))
1275
1276(define-public ecl-babel
1277 (sbcl-package->ecl-package sbcl-babel))
1278
1279(define-public sbcl-cl-yacc
1280 (package
1281 (name "sbcl-cl-yacc")
1282 (version "0.3")
1283 (source
1284 (origin
1285 (method git-fetch)
1286 (uri (git-reference
1287 (url "https://github.com/jech/cl-yacc")
1288 (commit (string-append "cl-yacc-" version))))
1289 (sha256
1290 (base32
1291 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1292 (file-name (string-append "cl-yacc-" version "-checkout"))))
1293 (build-system asdf-build-system/sbcl)
1294 (arguments
1295 `(#:asd-file "yacc.asd"
1296 #:asd-system-name "yacc"))
1297 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1298 (description
1299 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1300to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1301
1302CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1303by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1304to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1305 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1306 (license license:expat)))
1307
1308(define-public cl-yacc
1309 (sbcl-package->cl-source-package sbcl-cl-yacc))
1310
1311(define-public ecl-cl-yacc
1312 (sbcl-package->ecl-package sbcl-cl-yacc))
1313
1314(define-public sbcl-jpl-util
1315 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1316 (package
1317 (name "sbcl-jpl-util")
1318 (version "20151005")
1319 (source
1320 (origin
1321 (method git-fetch)
1322 (uri (git-reference
1323 ;; Quicklisp uses this fork.
1324 (url "https://github.com/hawkir/cl-jpl-util")
1325 (commit commit)))
1326 (file-name
1327 (git-file-name "jpl-util" version))
1328 (sha256
1329 (base32
1330 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1331 (build-system asdf-build-system/sbcl)
1332 (synopsis "Collection of Common Lisp utility functions and macros")
1333 (description
1334 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1335and macros, primarily for software projects written in CL by the author.")
1336 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1337 (license license:isc))))
1338
1339(define-public cl-jpl-util
1340 (sbcl-package->cl-source-package sbcl-jpl-util))
1341
1342(define-public ecl-jpl-util
1343 (sbcl-package->ecl-package sbcl-jpl-util))
1344
1345(define-public sbcl-jpl-queues
1346 (package
1347 (name "sbcl-jpl-queues")
1348 (version "0.1")
1349 (source
1350 (origin
1351 (method url-fetch)
1352 (uri (string-append
1353 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1354 version
1355 ".tar.gz"))
1356 (sha256
1357 (base32
1358 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1359 (build-system asdf-build-system/sbcl)
1360 (inputs
1361 `(("jpl-util" ,sbcl-jpl-util)
1362 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1363 (arguments
1364 ;; Tests seem to be broken.
1365 `(#:tests? #f))
1366 (synopsis "Common Lisp library implementing a few different kinds of queues")
1367 (description
1368 "A Common Lisp library implementing a few different kinds of queues:
1369
1370@itemize
1371@item Bounded and unbounded FIFO queues.
1372@item Lossy bounded FIFO queues that drop elements when full.
1373@item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1374@end itemize
1375
1376Additionally, a synchronization wrapper is provided to make any queue
1377conforming to the @command{jpl-queues} API thread-safe for lightweight
1378multithreading applications. (See Calispel for a more sophisticated CL
1379multithreaded message-passing library with timeouts and alternation among
1380several blockable channels.)")
1381 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1382 (license license:isc)))
1383
1384(define-public cl-jpl-queues
1385 (sbcl-package->cl-source-package sbcl-jpl-queues))
1386
1387(define-public ecl-jpl-queues
1388 (sbcl-package->ecl-package sbcl-jpl-queues))
1389
1390(define-public sbcl-eos
c203be27
GLV
1391 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1392 (revision "2"))
88f06fd0
PN
1393 (package
1394 (name "sbcl-eos")
c203be27 1395 (version (git-version "0.0.0" revision commit))
88f06fd0
PN
1396 (source
1397 (origin
1398 (method git-fetch)
1399 (uri (git-reference
1400 (url "https://github.com/adlai/Eos")
1401 (commit commit)))
1402 (sha256
c203be27 1403 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
88f06fd0
PN
1404 (file-name (git-file-name "eos" version))))
1405 (build-system asdf-build-system/sbcl)
1406 (synopsis "Unit Testing for Common Lisp")
1407 (description
1408 "Eos was a unit testing library for Common Lisp.
1409It began as a fork of FiveAM; however, FiveAM development has continued, while
1410that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1411 (home-page "https://github.com/adlai/Eos")
1412 (license license:expat))))
1413
1414(define-public cl-eos
1415 (sbcl-package->cl-source-package sbcl-eos))
1416
1417(define-public ecl-eos
1418 (sbcl-package->ecl-package sbcl-eos))
1419
1420(define-public sbcl-esrap
1421 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1422 (package
1423 (name "sbcl-esrap")
1424 (version (git-version "0.0.0" "1" commit))
1425 (source
1426 (origin
1427 (method git-fetch)
1428 (uri (git-reference
1429 (url "https://github.com/nikodemus/esrap")
1430 (commit commit)))
1431 (sha256
1432 (base32
1433 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1434 (file-name (git-file-name "esrap" version))))
1435 (build-system asdf-build-system/sbcl)
1436 (native-inputs
1437 `(("eos" ,sbcl-eos))) ;For testing only.
1438 (inputs
1439 `(("alexandria" ,sbcl-alexandria)))
1440 (synopsis "Common Lisp packrat parser")
1441 (description
1442 "A packrat parser for Common Lisp.
1443In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1444
1445@itemize
1446@item dynamic redefinition of nonterminals
1447@item inline grammars
1448@item semantic predicates
1449@item introspective facilities (describing grammars, tracing, setting breaks)
1450@end itemize\n")
1451 (home-page "https://nikodemus.github.io/esrap/")
1452 (license license:expat))))
1453
1454(define-public cl-esrap
1455 (sbcl-package->cl-source-package sbcl-esrap))
1456
1457(define-public ecl-esrap
1458 (sbcl-package->ecl-package sbcl-esrap))
1459
1460(define-public sbcl-split-sequence
1461 (package
1462 (name "sbcl-split-sequence")
92da0588 1463 (version "2.0.0")
88f06fd0
PN
1464 (source
1465 (origin
1466 (method git-fetch)
1467 (uri (git-reference
1468 (url "https://github.com/sharplispers/split-sequence")
1469 (commit (string-append "v" version))))
1470 (sha256
1471 (base32
92da0588 1472 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
88f06fd0
PN
1473 (file-name (git-file-name "split-sequence" version))))
1474 (build-system asdf-build-system/sbcl)
92da0588
GLV
1475 (native-inputs
1476 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
1477 (synopsis "Member of the Common Lisp Utilities family of programs")
1478 (description
1479 "Splits sequence into a list of subsequences delimited by objects
1480satisfying the test.")
1481 (home-page "https://cliki.net/split-sequence")
1482 (license license:expat)))
1483
1484(define-public cl-split-sequence
1485 (sbcl-package->cl-source-package sbcl-split-sequence))
1486
1487(define-public ecl-split-sequence
1488 (sbcl-package->ecl-package sbcl-split-sequence))
1489
1490(define-public sbcl-html-encode
1491 (package
1492 (name "sbcl-html-encode")
1493 (version "1.2")
1494 (source
1495 (origin
1496 (method url-fetch)
1497 (uri (string-append
1498 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1499 version ".tgz"))
1500 (sha256
1501 (base32
1502 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1503 (file-name (string-append "colorize" version "-checkout"))))
1504 (build-system asdf-build-system/sbcl)
1505 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1506 (description
1507 "A library for encoding text in various web-savvy encodings.")
1508 (home-page "http://quickdocs.org/html-encode/")
1509 (license license:expat)))
1510
1511(define-public cl-html-encode
1512 (sbcl-package->cl-source-package sbcl-html-encode))
1513
1514(define-public ecl-html-encode
1515 (sbcl-package->ecl-package sbcl-html-encode))
1516
1517(define-public sbcl-colorize
1518 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1519 (package
1520 (name "sbcl-colorize")
1521 (version (git-version "0.0.0" "1" commit))
1522 (source
1523 (origin
1524 (method git-fetch)
1525 (uri (git-reference
1526 (url "https://github.com/kingcons/colorize")
1527 (commit commit)))
1528 (sha256
1529 (base32
1530 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1531 (file-name (git-file-name "colorize" version))))
1532 (build-system asdf-build-system/sbcl)
1533 (inputs
1534 `(("alexandria" ,sbcl-alexandria)
1535 ("split-sequence" ,sbcl-split-sequence)
1536 ("html-encode" ,sbcl-html-encode)))
1537 (synopsis "Common Lisp for syntax highlighting")
1538 (description
1539 "@command{colorize} is a Lisp library for syntax highlighting
1540supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1541C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1542 (home-page "https://github.com/kingcons/colorize")
1543 ;; TODO: Missing license?
1544 (license license:expat))))
1545
1546(define-public cl-colorize
1547 (sbcl-package->cl-source-package sbcl-colorize))
1548
1549(define-public ecl-colorize
1550 (sbcl-package->ecl-package sbcl-colorize))
1551
1552(define-public sbcl-3bmd
1553 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1554 (package
1555 (name "sbcl-3bmd")
1556 (version (git-version "0.0.0" "1" commit))
1557 (source
1558 (origin
1559 (method git-fetch)
1560 (uri (git-reference
1561 (url "https://github.com/3b/3bmd")
1562 (commit commit)))
1563 (sha256
1564 (base32
1565 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1566 (file-name (git-file-name "3bmd" version))))
1567 (build-system asdf-build-system/sbcl)
1568 (arguments
1569 ;; FIXME: We need to specify the name because the build-system thinks
1570 ;; "3" is a version marker.
1571 `(#:asd-system-name "3bmd"))
1572 (inputs
1573 `(("esrap" ,sbcl-esrap)
1574 ("split-sequence" ,sbcl-split-sequence)))
1575 (synopsis "Markdown processor in Command Lisp using esrap parser")
1576 (description
1577 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1578parsing, and grammar based on @command{peg-markdown}.")
1579 (home-page "https://github.com/3b/3bmd")
1580 (license license:expat))))
1581
1582(define-public cl-3bmd
1583 (sbcl-package->cl-source-package sbcl-3bmd))
1584
1585(define-public ecl-3bmd
1586 (sbcl-package->ecl-package sbcl-3bmd))
1587
1588(define-public sbcl-3bmd-ext-code-blocks
1589 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1590 (package
1591 (inherit sbcl-3bmd)
1592 (name "sbcl-3bmd-ext-code-blocks")
1593 (arguments
1594 `(#:asd-system-name "3bmd-ext-code-blocks"
1595 #:asd-file "3bmd-ext-code-blocks.asd"))
1596 (inputs
1597 `(("3bmd" ,sbcl-3bmd)
1598 ("colorize" ,sbcl-colorize)))
1599 (synopsis "3bmd extension which adds support for GitHub-style fenced
1600code blocks")
1601 (description
1602 "3bmd extension which adds support for GitHub-style fenced code blocks,
1603with @command{colorize} support."))))
1604
1605(define-public cl-3bmd-ext-code-blocks
1606 (sbcl-package->cl-source-package sbcl-3bmd-ext-code-blocks))
1607
1608(define-public ecl-3bmd-ext-code-blocks
1609 (sbcl-package->ecl-package sbcl-3bmd-ext-code-blocks))
1610
1611(define-public sbcl-cl-fad
1612 (package
1613 (name "sbcl-cl-fad")
f0d9eaca 1614 (version "0.7.6")
88f06fd0
PN
1615 (source
1616 (origin
1617 (method git-fetch)
1618 (uri (git-reference
1619 (url "https://github.com/edicl/cl-fad/")
1620 (commit (string-append "v" version))))
1621 (sha256
1622 (base32
f0d9eaca 1623 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
88f06fd0
PN
1624 (file-name (string-append "cl-fad" version "-checkout"))))
1625 (build-system asdf-build-system/sbcl)
1626 (inputs
1627 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1628 (synopsis "Portable pathname library for Common Lisp")
1629 (description
1630 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1631Lisp's standard pathname functions. It is intended to provide some
1632unification between current CL implementations on Windows, OS X, Linux, and
1633Unix. Most of the code was written by Peter Seibel for his book Practical
1634Common Lisp.")
1635 (home-page "https://edicl.github.io/cl-fad/")
1636 (license license:bsd-2)))
1637
1638(define-public cl-fad
1639 (sbcl-package->cl-source-package sbcl-cl-fad))
1640
1641(define-public ecl-cl-fad
1642 (sbcl-package->ecl-package sbcl-cl-fad))
1643
1644(define-public sbcl-rt
e81b0719
GLV
1645 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1646 (revision "1"))
1647 (package
1648 (name "sbcl-rt")
1649 (version (git-version "1990.12.19" revision commit))
1650 (source
1651 (origin
1652 (method git-fetch)
1653 (uri (git-reference
1654 (url "http://git.kpe.io/rt.git")
1655 (commit commit)))
1656 (file-name (git-file-name name version))
1657 (sha256
1658 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1659 (build-system asdf-build-system/sbcl)
1660 (synopsis "MIT Regression Tester")
1661 (description
1662 "RT provides a framework for writing regression test suites.")
1663 (home-page "https://www.cliki.net/rt")
1664 (license license:expat))))
88f06fd0
PN
1665
1666(define-public cl-rt
1667 (sbcl-package->cl-source-package sbcl-rt))
1668
1669(define-public ecl-rt
1670 (sbcl-package->ecl-package sbcl-rt))
1671
1672(define-public sbcl-nibbles
1673 (package
1674 (name "sbcl-nibbles")
1675 (version "0.14")
1676 (source
1677 (origin
1678 (method git-fetch)
1679 (uri (git-reference
1680 (url "https://github.com/sharplispers/nibbles/")
1681 (commit (string-append "v" version))))
1682 (sha256
1683 (base32
1684 "1v7qfgpvdr6nz7v63dj69d26dis0kff3rd8xamr1llfdvza2pm8f"))
1685 (file-name (git-file-name "nibbles" version))))
1686 (build-system asdf-build-system/sbcl)
1687 (native-inputs
1688 ;; Tests only.
1689 `(("rt" ,sbcl-rt)))
1690 (synopsis "Common Lisp library for accessing octet-addressed blocks of data")
1691 (description
1692 "When dealing with network protocols and file formats, it's common to
1693have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1694flavors. Common Lisp sort of supports this by specifying :element-type for
1695streams, but that facility is underspecified and there's nothing similar for
1696read/write from octet vectors. What most people wind up doing is rolling their
1697own small facility for their particular needs and calling it a day.
1698
1699This library attempts to be comprehensive and centralize such
1700facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1701vectors in signed or unsigned flavors are provided; these functions are also
1702SETFable. Since it's sometimes desirable to read/write directly from streams,
1703functions for doing so are also provided. On some implementations,
1704reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1705also be supported.")
1706 (home-page "https://github.com/sharplispers/nibbles")
1707 (license license:bsd-3)))
1708
1709(define-public cl-nibbles
1710 (sbcl-package->cl-source-package sbcl-nibbles))
1711
1712(define-public ecl-nibbles
1713 (sbcl-package->ecl-package sbcl-nibbles))
1714
1715(define-public sbcl-ironclad
1716 (package
1717 (name "sbcl-ironclad")
d2a9a39c 1718 (version "0.50")
88f06fd0
PN
1719 (source
1720 (origin
1721 (method git-fetch)
1722 (uri (git-reference
1723 (url "https://github.com/sharplispers/ironclad/")
1724 (commit (string-append "v" version))))
1725 (sha256
d2a9a39c 1726 (base32 "0k4bib9mbrzalbl9ivkw4a7g4c7bbad1l5jw4pzkifqszy2swkr5"))
88f06fd0
PN
1727 (file-name (git-file-name name version))))
1728 (build-system asdf-build-system/sbcl)
1729 (native-inputs
1730 ;; Tests only.
1731 `(("rt" ,sbcl-rt)))
1732 (inputs
1733 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
d2a9a39c 1734 ("flexi-streams" ,sbcl-flexi-streams)))
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
b0e7b699 1760 (url "https://github.com/melisgl/named-readtables")
88f06fd0
PN
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
b0e7b699 2526 (url "https://github.com/cffi/cffi")
88f06fd0
PN
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
b0e7b699 2811 (url "https://github.com/trivial-garbage/trivial-garbage")
88f06fd0
PN
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)
0fadc00a
PN
2879 ("trivial-features" ,sbcl-trivial-features)
2880 ("glib" ,glib)
2881 ("cairo" ,cairo)
2882 ("pango" ,pango)
2883 ("gdk-pixbuf" ,gdk-pixbuf)
2884 ("gtk" ,gtk+)))
2885 (arguments
2886 `(#:phases
2887 (modify-phases %standard-phases
2888 (add-after 'unpack 'fix-paths
2889 (lambda* (#:key inputs #:allow-other-keys)
2890 (substitute* "glib/glib.init.lisp"
2891 (("libglib|libgthread" all)
2892 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2893 (substitute* "gobject/gobject.init.lisp"
2894 (("libgobject" all)
2895 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2896 (substitute* "gio/gio.init.lisp"
2897 (("libgio" all)
2898 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2899 (substitute* "cairo/cairo.init.lisp"
2900 (("libcairo" all)
2901 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
2902 (substitute* "pango/pango.init.lisp"
2903 (("libpango" all)
2904 (string-append (assoc-ref inputs "pango") "/lib/" all)))
2905 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2906 (("libgdk_pixbuf" all)
2907 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
2908 (substitute* "gdk/gdk.init.lisp"
2909 (("libgdk" all)
2910 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
2911 (substitute* "gdk/gdk.package.lisp"
2912 (("libgtk" all)
2913 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
88f06fd0
PN
2914 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2915 (synopsis "Common Lisp binding for GTK+3")
2916 (description
2917 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2918is a library for creating graphical user interfaces.")
2919 (license license:lgpl3))))
2920
2921(define-public sbcl-cl-cffi-gtk-glib
2922 (package
2923 (inherit sbcl-cl-cffi-gtk-boot0)
2924 (name "sbcl-cl-cffi-gtk-glib")
2925 (inputs
0fadc00a 2926 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
88f06fd0
PN
2927 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2928 (arguments
0fadc00a
PN
2929 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2930 ((#:asd-file _ "") "glib/cl-cffi-gtk-glib.asd")))))
88f06fd0
PN
2931
2932(define-public sbcl-cl-cffi-gtk-gobject
2933 (package
2934 (inherit sbcl-cl-cffi-gtk-boot0)
2935 (name "sbcl-cl-cffi-gtk-gobject")
2936 (inputs
0fadc00a 2937 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
2938 ("trivial-garbage" ,sbcl-trivial-garbage)
2939 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2940 ("closer-mop" ,sbcl-closer-mop)
2941 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2942 (arguments
0fadc00a
PN
2943 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2944 ((#:asd-file _ "") "gobject/cl-cffi-gtk-gobject.asd")
2945 ((#:phases phases)
2946 `(modify-phases ,phases
2947 (add-after 'install 'link-source
2948 ;; Since source is particularly heavy (16MiB+), let's reuse it
2949 ;; across the different components of cl-ffi-gtk.
2950 (lambda* (#:key inputs outputs #:allow-other-keys)
2951 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
2952 "/share/common-lisp/sbcl-source/"
2953 "cl-cffi-gtk-glib"))
2954 (out-source (string-append (assoc-ref outputs "out")
2955 "/share/common-lisp/sbcl-source/"
2956 "cl-cffi-gtk-gobject")))
2957 (delete-file-recursively out-source)
2958 (symlink glib-source out-source)
2959 #t)))))))))
88f06fd0
PN
2960
2961(define-public sbcl-cl-cffi-gtk-gio
2962 (package
2963 (inherit sbcl-cl-cffi-gtk-boot0)
2964 (name "sbcl-cl-cffi-gtk-gio")
2965 (inputs
0fadc00a 2966 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
2967 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2968 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2969 (arguments
0fadc00a
PN
2970 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2971 ((#:asd-file _ "") "gio/cl-cffi-gtk-gio.asd")
2972 ((#:phases phases)
2973 `(modify-phases ,phases
2974 (add-after 'install 'link-source
2975 ;; Since source is particularly heavy (16MiB+), let's reuse it
2976 ;; across the different components of cl-ffi-gtk.
2977 (lambda* (#:key inputs outputs #:allow-other-keys)
2978 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
2979 "/share/common-lisp/sbcl-source/"
2980 "cl-cffi-gtk-glib"))
2981 (out-source (string-append (assoc-ref outputs "out")
2982 "/share/common-lisp/sbcl-source/"
2983 "cl-cffi-gtk-gio")))
2984 (delete-file-recursively out-source)
2985 (symlink glib-source out-source)
2986 #t)))))))))
88f06fd0
PN
2987
2988(define-public sbcl-cl-cffi-gtk-cairo
2989 (package
2990 (inherit sbcl-cl-cffi-gtk-boot0)
2991 (name "sbcl-cl-cffi-gtk-cairo")
2992 (inputs
0fadc00a 2993 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
2994 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2995 (arguments
0fadc00a
PN
2996 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2997 ((#:asd-file _ "") "cairo/cl-cffi-gtk-cairo.asd")
2998 ((#:phases phases)
2999 `(modify-phases ,phases
3000 (add-after 'install 'link-source
3001 ;; Since source is particularly heavy (16MiB+), let's reuse it
3002 ;; across the different components of cl-ffi-gtk.
3003 (lambda* (#:key inputs outputs #:allow-other-keys)
3004 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3005 "/share/common-lisp/sbcl-source/"
3006 "cl-cffi-gtk-glib"))
3007 (out-source (string-append (assoc-ref outputs "out")
3008 "/share/common-lisp/sbcl-source/"
3009 "cl-cffi-gtk-cairo")))
3010 (delete-file-recursively out-source)
3011 (symlink glib-source out-source)
3012 #t)))))))))
88f06fd0
PN
3013
3014(define-public sbcl-cl-cffi-gtk-pango
3015 (package
3016 (inherit sbcl-cl-cffi-gtk-boot0)
3017 (name "sbcl-cl-cffi-gtk-pango")
3018 (inputs
0fadc00a 3019 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
3020 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3021 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3022 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3023 (arguments
0fadc00a
PN
3024 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3025 ((#:asd-file _ "") "pango/cl-cffi-gtk-pango.asd")
3026 ((#:phases phases)
3027 `(modify-phases ,phases
3028 (add-after 'install 'link-source
3029 ;; Since source is particularly heavy (16MiB+), let's reuse it
3030 ;; across the different components of cl-ffi-gtk.
3031 (lambda* (#:key inputs outputs #:allow-other-keys)
3032 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3033 "/share/common-lisp/sbcl-source/"
3034 "cl-cffi-gtk-glib"))
3035 (out-source (string-append (assoc-ref outputs "out")
3036 "/share/common-lisp/sbcl-source/"
3037 "cl-cffi-gtk-pango")))
3038 (delete-file-recursively out-source)
3039 (symlink glib-source out-source)
3040 #t)))))))))
88f06fd0
PN
3041
3042(define-public sbcl-cl-cffi-gtk-gdk-pixbuf
3043 (package
3044 (inherit sbcl-cl-cffi-gtk-boot0)
3045 (name "sbcl-cl-cffi-gtk-gdk-pixbuf")
3046 (inputs
0fadc00a 3047 `(("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2666a336 3048 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
3049 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3050 (arguments
0fadc00a
PN
3051 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3052 ((#:asd-file _ "") "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd")
3053 ((#:phases phases)
3054 `(modify-phases ,phases
3055 (add-after 'install 'link-source
3056 ;; Since source is particularly heavy (16MiB+), let's reuse it
3057 ;; across the different components of cl-ffi-gtk.
3058 (lambda* (#:key inputs outputs #:allow-other-keys)
3059 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3060 "/share/common-lisp/sbcl-source/"
3061 "cl-cffi-gtk-glib"))
3062 (out-source (string-append (assoc-ref outputs "out")
3063 "/share/common-lisp/sbcl-source/"
3064 "cl-cffi-gtk-gdk-pixbuf")))
3065 (delete-file-recursively out-source)
3066 (symlink glib-source out-source)
3067 #t)))))))))
88f06fd0
PN
3068
3069(define-public sbcl-cl-cffi-gtk-gdk
3070 (package
3071 (inherit sbcl-cl-cffi-gtk-boot0)
3072 (name "sbcl-cl-cffi-gtk-gdk")
3073 (inputs
0fadc00a 3074 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
3075 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3076 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3077 ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf)
3078 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3079 ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango)
3080 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3081 (arguments
0fadc00a
PN
3082 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3083 ((#:asd-file _ "") "gdk/cl-cffi-gtk-gdk.asd")
3084 ((#:phases phases)
3085 `(modify-phases ,phases
3086 (add-after 'install 'link-source
3087 ;; Since source is particularly heavy (16MiB+), let's reuse it
3088 ;; across the different components of cl-ffi-gtk.
3089 (lambda* (#:key inputs outputs #:allow-other-keys)
3090 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3091 "/share/common-lisp/sbcl-source/"
3092 "cl-cffi-gtk-glib"))
3093 (out-source (string-append (assoc-ref outputs "out")
3094 "/share/common-lisp/sbcl-source/"
3095 "cl-cffi-gtk-gdk")))
3096 (delete-file-recursively out-source)
3097 (symlink glib-source out-source)
3098 #t)))))))))
88f06fd0
PN
3099
3100(define-public sbcl-cl-cffi-gtk
3101 (package
3102 (inherit sbcl-cl-cffi-gtk-boot0)
3103 (name "sbcl-cl-cffi-gtk")
3104 (inputs
3105 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3106 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3107 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3108 ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk)
3109 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3110 (native-inputs
3111 `(("fiveam" ,sbcl-fiveam)))
3112 (arguments
0fadc00a
PN
3113 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3114 ((#:asd-file _ "") "gtk/cl-cffi-gtk.asd")
3115 ((#:test-asd-file _ "") "test/cl-cffi-gtk-test.asd")
88f06fd0
PN
3116 ;; TODO: Tests fail with memory fault.
3117 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
0fadc00a
PN
3118 ((#:tests? _ #f) #f)
3119 ((#:phases phases)
3120 `(modify-phases ,phases
3121 (add-after 'install 'link-source
3122 ;; Since source is particularly heavy (16MiB+), let's reuse it
3123 ;; across the different components of cl-ffi-gtk.
3124 (lambda* (#:key inputs outputs #:allow-other-keys)
3125 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3126 "/share/common-lisp/sbcl-source/"
3127 "cl-cffi-gtk-glib"))
3128 (out-source (string-append (assoc-ref outputs "out")
3129 "/share/common-lisp/sbcl-source/"
3130 "cl-cffi-gtk")))
3131 (delete-file-recursively out-source)
3132 (symlink glib-source out-source)
3133 #t)))))))))
88f06fd0
PN
3134
3135(define-public cl-cffi-gtk
3136 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3137
3138(define-public sbcl-cl-webkit
151fb36a 3139 (let ((commit "6c905a5550b58a5b7602da5a087d7dafc5337122"))
88f06fd0
PN
3140 (package
3141 (name "sbcl-cl-webkit")
151fb36a 3142 (version (git-version "2.4" "4" commit))
88f06fd0
PN
3143 (source
3144 (origin
3145 (method git-fetch)
3146 (uri (git-reference
94aab844 3147 (url "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3148 (commit commit)))
3149 (file-name (git-file-name "cl-webkit" version))
3150 (sha256
3151 (base32
151fb36a 3152 "0017ijjflqqbgbj5bf7ffkyw5idhxc0ggly2qh5igf3kz886p9rh"))))
88f06fd0
PN
3153 (build-system asdf-build-system/sbcl)
3154 (inputs
3155 `(("cffi" ,sbcl-cffi)
3156 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3157 ("webkitgtk" ,webkitgtk)))
3158 (arguments
3159 `(#:asd-file "webkit2/cl-webkit2.asd"
3160 #:asd-system-name "cl-webkit2"
3161 #:phases
3162 (modify-phases %standard-phases
3163 (add-after 'unpack 'fix-paths
3164 (lambda* (#:key inputs #:allow-other-keys)
3165 (substitute* "webkit2/webkit2.init.lisp"
3166 (("libwebkit2gtk" all)
3167 (string-append
3168 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
94aab844 3169 (home-page "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3170 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3171 (description
3172 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3173currently targeting WebKit version 2. The WebKitGTK+ library adds web
3174browsing capabilities to an application, leveraging the full power of the
3175WebKit browsing engine.")
3176 (license license:expat))))
3177
3178(define-public cl-webkit
3179 (sbcl-package->cl-source-package sbcl-cl-webkit))
3180
3181(define-public sbcl-lparallel
3182 (package
3183 (name "sbcl-lparallel")
3184 (version "2.8.4")
3185 (source
3186 (origin
3187 (method git-fetch)
3188 (uri (git-reference
3189 (url "https://github.com/lmj/lparallel/")
3190 (commit (string-append "lparallel-" version))))
3191 (file-name (git-file-name "lparallel" version))
3192 (sha256
3193 (base32
3194 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3195 (build-system asdf-build-system/sbcl)
3196 (inputs
3197 `(("alexandria" ,sbcl-alexandria)
3198 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3199 ("trivial-garbage" ,sbcl-trivial-garbage)))
388a8975
KCB
3200 (arguments
3201 `(#:phases
3202 (modify-phases %standard-phases
3203 (add-after 'unpack 'fix-dependency
3204 ;; lparallel loads a SBCL specific system in its asd file. This is
3205 ;; not carried over into the fasl which is generated. In order for
3206 ;; it to be carried over, it needs to be listed as a dependency.
3207 (lambda _
3208 (substitute* "lparallel.asd"
3209 ((":depends-on \\(:alexandria" all)
3210 (string-append all " #+sbcl :sb-cltl2"))))))))
88f06fd0
PN
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
b0e7b699 3527 (url "https://github.com/gwkkwg/trivial-backtrace")
88f06fd0
PN
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
b0e7b699 3572 (url "https://github.com/jdz/rfc2388")
88f06fd0
PN
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
fffe9a15
EF
3595 (method git-fetch)
3596 (uri (git-reference
3597 (url "https://github.com/pmai/md5")
3598 (commit (string-append "release-" version))))
3599 (file-name (git-file-name "md5" version))
88f06fd0 3600 (sha256
fffe9a15 3601 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
88f06fd0
PN
3602 (build-system asdf-build-system/sbcl)
3603 (home-page "https://github.com/pmai/md5")
3604 (synopsis
3605 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3606 (description
3607 "This package implements The MD5 Message-Digest Algorithm, as defined in
3608RFC 1321 by R. Rivest, published April 1992.")
3609 (license license:public-domain)))
3610
3611(define-public cl-md5
3612 (sbcl-package->cl-source-package sbcl-md5))
3613
3614(define-public sbcl-cl+ssl
14620ce7 3615 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
88f06fd0
PN
3616 (revision "1"))
3617 (package
3618 (name "sbcl-cl+ssl")
3619 (version (git-version "0.0.0" revision commit))
3620 (source
3621 (origin
3622 (method git-fetch)
3623 (uri (git-reference
b0e7b699 3624 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
88f06fd0
PN
3625 (commit commit)))
3626 (file-name (git-file-name "cl+ssl" version))
3627 (sha256
14620ce7 3628 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
88f06fd0
PN
3629 (build-system asdf-build-system/sbcl)
3630 (arguments
3631 '(#:phases
3632 (modify-phases %standard-phases
3633 (add-after 'unpack 'fix-paths
3634 (lambda* (#:key inputs #:allow-other-keys)
3635 (substitute* "src/reload.lisp"
3636 (("libssl.so" all)
3637 (string-append
3638 (assoc-ref inputs "openssl") "/lib/" all))))))))
3639 (inputs
3640 `(("openssl" ,openssl)
3641 ("sbcl-cffi" ,sbcl-cffi)
3642 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3643 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3644 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3645 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3646 ("sbcl-alexandria" ,sbcl-alexandria)
3647 ("sbcl-trivial-features" ,sbcl-trivial-features)))
113c9b97 3648 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
88f06fd0
PN
3649 (synopsis "Common Lisp bindings to OpenSSL")
3650 (description
3651 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3652code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3653Development into CL+SSL was done by David Lichteblau.")
3654 (license license:expat))))
3655
3656(define-public cl-cl+ssl
3657 (sbcl-package->cl-source-package sbcl-cl+ssl))
3658
3659(define-public sbcl-kmrcl
3660 (let ((version "1.109.0")
3661 (commit "5260068b2eb735af6796740c2db4955afac21636")
3662 (revision "1"))
3663 (package
3664 (name "sbcl-kmrcl")
3665 (version (git-version version revision commit))
3666 (source
3667 (origin
3668 (method git-fetch)
3669 (uri (git-reference
3670 (url "http://git.kpe.io/kmrcl.git/")
3671 (commit commit)))
3672 (file-name (git-file-name name version))
3673 (sha256
3674 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3675 (build-system asdf-build-system/sbcl)
3676 (arguments
3677 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3678 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3679 '(#:tests? #f))
3680 (inputs
3681 `(("sbcl-rt" ,sbcl-rt)))
3682 (home-page "http://files.kpe.io/kmrcl/")
3683 (synopsis "General utilities for Common Lisp programs")
3684 (description
3685 "KMRCL is a collection of utilities used by a number of Kevin
3686Rosenberg's CL packages.")
3687 (license license:llgpl))))
3688
3689(define-public cl-kmrcl
3690 (sbcl-package->cl-source-package sbcl-kmrcl))
3691
3692(define-public sbcl-cl-base64
d7043fd9
PN
3693 (package
3694 (name "sbcl-cl-base64")
3695 (version "3.3.4")
3696 (source
3697 (origin
3698 (method url-fetch)
3699 (uri (string-append "http://files.kpe.io/cl-base64/cl-base64-"
3700 version ".tar.gz"))
3701 (sha256
3702 (base32 "0pl4zwn5bf18dm8fh1kn1yshaa6kpmfrjyb33z9mq4raqmj3xpv2"))))
3703 (build-system asdf-build-system/sbcl)
3704 (arguments
3705 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3706 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3707 ;; to toplevel
3708 '(#:tests? #f))
3709 (inputs
3710 `(("sbcl-ptester" ,sbcl-ptester)
3711 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3712 (home-page "http://files.kpe.io/cl-base64/")
3713 (synopsis
3714 "Common Lisp package to encode and decode base64 with URI support")
3715 (description
3716 "This package provides highly optimized base64 encoding and decoding.
88f06fd0
PN
3717Besides conversion to and from strings, integer conversions are supported.
3718Encoding with Uniform Resource Identifiers is supported by using a modified
3719encoding table that uses only URI-compatible characters.")
d7043fd9 3720 (license license:bsd-3)))
88f06fd0
PN
3721
3722(define-public cl-base64
3723 (sbcl-package->cl-source-package sbcl-cl-base64))
3724
3725(define-public sbcl-chunga
3726 (package
3727 (name "sbcl-chunga")
3728 (version "1.1.7")
3729 (source
3730 (origin
3731 (method git-fetch)
3732 (uri (git-reference
b0e7b699 3733 (url "https://github.com/edicl/chunga")
88f06fd0
PN
3734 (commit (string-append "v" version))))
3735 (file-name (git-file-name name version))
3736 (sha256
3737 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3738 (build-system asdf-build-system/sbcl)
3739 (inputs
3740 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3741 (home-page "https://edicl.github.io/chunga/")
3742 (synopsis "Portable chunked streams for Common Lisp")
3743 (description
3744 "Chunga implements streams capable of chunked encoding on demand as
3745defined in RFC 2616.")
3746 (license license:bsd-2)))
3747
3748(define-public cl-chunga
3749 (sbcl-package->cl-source-package sbcl-chunga))
3750
3751(define-public sbcl-cl-who
3752 (let ((version "1.1.4")
3753 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3754 (revision "1"))
3755 (package
3756 (name "sbcl-cl-who")
3757 (version (git-version version revision commit))
3758 (source
3759 (origin
3760 (method git-fetch)
3761 (uri (git-reference
b0e7b699 3762 (url "https://github.com/edicl/cl-who")
88f06fd0
PN
3763 (commit commit)))
3764 (file-name (git-file-name name version))
3765 (sha256
3766 (base32
3767 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3768 (build-system asdf-build-system/sbcl)
3769 (native-inputs
3770 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3771 (home-page "https://edicl.github.io/cl-who/")
3772 (synopsis "Yet another Lisp markup language")
3773 (description
3774 "There are plenty of Lisp Markup Languages out there - every Lisp
3775programmer seems to write at least one during his career - and CL-WHO (where
3776WHO means \"with-html-output\" for want of a better acronym) is probably just
3777as good or bad as the next one.")
3778 (license license:bsd-2))))
3779
3780(define-public cl-cl-who
3781 (sbcl-package->cl-source-package sbcl-cl-who))
3782
3783(define-public sbcl-chipz
3784 (let ((version "0.8")
3785 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3786 (revision "1"))
3787 (package
3788 (name "sbcl-chipz")
3789 (version (git-version version revision commit))
3790 (source
3791 (origin
3792 (method git-fetch)
3793 (uri (git-reference
b0e7b699 3794 (url "https://github.com/froydnj/chipz")
88f06fd0
PN
3795 (commit commit)))
3796 (file-name (git-file-name name version))
3797 (sha256
3798 (base32
3799 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3800 (build-system asdf-build-system/sbcl)
3801 (native-inputs
3802 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3803 (home-page "http://method-combination.net/lisp/chipz/")
3804 (synopsis
3805 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3806data")
3807 (description
3808 "DEFLATE data, defined in RFC1951, forms the core of popular
3809compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3810Chipz also provides for decompressing data in those formats as well. BZIP2 is
3811the format used by the popular compression tool bzip2.")
3812 ;; The author describes it as "MIT-like"
3813 (license license:expat))))
3814
3815(define-public cl-chipz
3816 (sbcl-package->cl-source-package sbcl-chipz))
3817
3818(define-public sbcl-drakma
a2b6b973
GLV
3819 (package
3820 (name "sbcl-drakma")
3821 (version "2.0.7")
3822 (source
3823 (origin
3824 (method git-fetch)
3825 (uri (git-reference
b0e7b699 3826 (url "https://github.com/edicl/drakma")
a2b6b973
GLV
3827 (commit (string-append "v" version))))
3828 (file-name (git-file-name name version))
3829 (sha256
3830 (base32
3831 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3832 (build-system asdf-build-system/sbcl)
3833 (inputs
3834 `(("sbcl-puri" ,sbcl-puri)
3835 ("sbcl-cl-base64" ,sbcl-cl-base64)
3836 ("sbcl-chunga" ,sbcl-chunga)
3837 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3838 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3839 ("sbcl-chipz" ,sbcl-chipz)
3840 ("sbcl-usocket" ,sbcl-usocket)
3841 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3842 (native-inputs
3843 `(("sbcl-fiveam" ,sbcl-fiveam)))
3844 (home-page "https://edicl.github.io/drakma/")
3845 (synopsis "HTTP client written in Common Lisp")
3846 (description
3847 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
88f06fd0
PN
3848knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3849sockets, SSL, continuable uploads, file uploads, cookies, and more.")
a2b6b973 3850 (license license:bsd-2)))
88f06fd0
PN
3851
3852(define-public cl-drakma
3853 (sbcl-package->cl-source-package sbcl-drakma))
3854
10ac723b
GLV
3855(define-public ecl-drakma
3856 (sbcl-package->ecl-package sbcl-drakma))
3857
88f06fd0
PN
3858(define-public sbcl-hunchentoot
3859 (package
3860 (name "sbcl-hunchentoot")
3861 (version "1.2.38")
3862 (source
3863 (origin
3864 (method git-fetch)
3865 (uri (git-reference
b0e7b699 3866 (url "https://github.com/edicl/hunchentoot")
88f06fd0
PN
3867 (commit (string-append "v" version))))
3868 (file-name (git-file-name "hunchentoot" version))
3869 (sha256
3870 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3871 (build-system asdf-build-system/sbcl)
3872 (native-inputs
3873 `(("sbcl-cl-who" ,sbcl-cl-who)
3874 ("sbcl-drakma" ,sbcl-drakma)))
3875 (inputs
3876 `(("sbcl-chunga" ,sbcl-chunga)
3877 ("sbcl-cl-base64" ,sbcl-cl-base64)
3878 ("sbcl-cl-fad" ,sbcl-cl-fad)
3879 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3880 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3881 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3882 ("sbcl-md5" ,sbcl-md5)
3883 ("sbcl-rfc2388" ,sbcl-rfc2388)
3884 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3885 ("sbcl-usocket" ,sbcl-usocket)))
3886 (home-page "https://edicl.github.io/hunchentoot/")
3887 (synopsis "Web server written in Common Lisp")
3888 (description
3889 "Hunchentoot is a web server written in Common Lisp and at the same
3890time a toolkit for building dynamic websites. As a stand-alone web server,
3891Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3892connections (keep-alive), and SSL.")
3893 (license license:bsd-2)))
3894
3895(define-public cl-hunchentoot
3896 (sbcl-package->cl-source-package sbcl-hunchentoot))
3897
3898(define-public sbcl-trivial-types
3899 (package
3900 (name "sbcl-trivial-types")
3901 (version "0.0.1")
3902 (source
3903 (origin
3904 (method git-fetch)
3905 (uri (git-reference
b0e7b699 3906 (url "https://github.com/m2ym/trivial-types")
88f06fd0
PN
3907 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3908 (file-name (git-file-name name version))
3909 (sha256
3910 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3911 (build-system asdf-build-system/sbcl)
3912 (home-page "https://github.com/m2ym/trivial-types")
3913 (synopsis "Trivial type definitions for Common Lisp")
3914 (description
3915 "TRIVIAL-TYPES provides missing but important type definitions such as
3916PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3917 (license license:llgpl)))
3918
3919(define-public cl-trivial-types
3920 (sbcl-package->cl-source-package sbcl-trivial-types))
3921
3922(define-public sbcl-cl-syntax
3923 (package
3924 (name "sbcl-cl-syntax")
3925 (version "0.0.3")
3926 (source
3927 (origin
3928 (method git-fetch)
3929 (uri (git-reference
b0e7b699 3930 (url "https://github.com/m2ym/cl-syntax")
88f06fd0
PN
3931 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3932 (file-name (git-file-name "cl-syntax" version))
3933 (sha256
3934 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3935 (build-system asdf-build-system/sbcl)
3936 (arguments
3937 '(#:asd-file "cl-syntax.asd"
3938 #:asd-system-name "cl-syntax"))
3939 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3940 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3941 (home-page "https://github.com/m2ym/cl-syntax")
3942 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3943 (description
3944 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3945 (license license:llgpl)))
3946
3947(define-public cl-syntax
3948 (sbcl-package->cl-source-package sbcl-cl-syntax))
3949
3950(define-public sbcl-cl-annot
3951 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3952 (revision "1"))
3953 (package
3954 (name "sbcl-cl-annot")
3955 (version (git-version "0.0.0" revision commit))
3956 (source
3957 (origin
3958 (method git-fetch)
3959 (uri (git-reference
b0e7b699 3960 (url "https://github.com/m2ym/cl-annot")
88f06fd0
PN
3961 (commit commit)))
3962 (file-name (git-file-name name version))
3963 (sha256
3964 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3965 (build-system asdf-build-system/sbcl)
3966 (arguments
3967 '(#:asd-file "cl-annot.asd"
3968 #:asd-system-name "cl-annot"))
3969 (inputs
3970 `(("sbcl-alexandria" ,sbcl-alexandria)))
3971 (home-page "https://github.com/m2ym/cl-annot")
3972 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3973 (description
3974 "@code{cl-annot} is an general annotation library for Common Lisp.")
3975 (license license:llgpl))))
3976
3977(define-public cl-annot
3978 (sbcl-package->cl-source-package sbcl-cl-annot))
3979
3980(define-public sbcl-cl-syntax-annot
3981 (package
0627ad30 3982 (inherit sbcl-cl-syntax)
88f06fd0 3983 (name "sbcl-cl-syntax-annot")
88f06fd0
PN
3984 (arguments
3985 '(#:asd-file "cl-syntax-annot.asd"
3986 #:asd-system-name "cl-syntax-annot"))
3987 (inputs
3988 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3989 ("sbcl-cl-annot" ,sbcl-cl-annot)))
0627ad30 3990 (synopsis "Common Lisp reader Syntax for cl-annot")
88f06fd0 3991 (description
0627ad30
PN
3992 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
3993@code{cl-annot}.")))
88f06fd0
PN
3994
3995(define-public cl-syntax-annot
3996 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
3997
5b22df94
PN
3998(define-public sbcl-cl-syntax-interpol
3999 (package
4000 (inherit sbcl-cl-syntax)
4001 (name "sbcl-cl-syntax-interpol")
4002 (arguments
4003 '(#:asd-file "cl-syntax-interpol.asd"
4004 #:asd-system-name "cl-syntax-interpol"))
4005 (inputs
4006 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4007 ("sbcl-cl-interpol" ,sbcl-cl-interpol)))
4008 (synopsis "Common Lisp reader Syntax for cl-interpol")
4009 (description
4010 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
4011@code{cl-interpol}.")))
4012
4013(define-public cl-syntax-interpol
4014 (sbcl-package->cl-source-package sbcl-cl-syntax-interpol))
4015
88f06fd0
PN
4016(define-public sbcl-cl-utilities
4017 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4018 (revision "1"))
4019 (package
4020 (name "sbcl-cl-utilities")
4021 (version (git-version "0.0.0" revision commit))
4022 (source
4023 (origin
4024 (method url-fetch)
4025 (uri
4026 (string-append
4027 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4028 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4029 (sha256
4030 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4031 (build-system asdf-build-system/sbcl)
4032 (arguments
4033 '(#:asd-file "cl-utilities.asd"
4034 #:asd-system-name "cl-utilities"
4035 #:phases
4036 (modify-phases %standard-phases
4037 (add-after 'unpack 'fix-paths
4038 (lambda* (#:key inputs #:allow-other-keys)
4039 (substitute* "rotate-byte.lisp"
4040 (("in-package :cl-utilities)" all)
4041 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4042 (home-page "http://common-lisp.net/project/cl-utilities")
4043 (synopsis "A collection of semi-standard utilities")
4044 (description
4045 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4046is a collection of Common Lisp Utilities, things that everybody writes since
4047they're not part of the official standard. There are some very useful things
4048there; the only problems are that they aren't implemented as well as you'd
4049like (some aren't implemented at all) and they aren't conveniently packaged
4050and maintained. It takes quite a bit of work to carefully implement utilities
4051for common use, commented and documented, with error checking placed
4052everywhere some dumb user might make a mistake.")
4053 (license license:public-domain))))
4054
4055(define-public cl-utilities
4056 (sbcl-package->cl-source-package sbcl-cl-utilities))
4057
4058(define-public sbcl-map-set
4059 (let ((commit "7b4b545b68b8")
4060 (revision "1"))
4061 (package
4062 (name "sbcl-map-set")
4063 (version (git-version "0.0.0" revision commit))
4064 (source
4065 (origin
4066 (method url-fetch)
4067 (uri (string-append
4068 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4069 commit ".tar.gz"))
4070 (sha256
4071 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4072 (build-system asdf-build-system/sbcl)
4073 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4074 (synopsis "Set-like data structure")
4075 (description
4076 "Implementation of a set-like data structure with constant time
4077addition, removal, and random selection.")
4078 (license license:bsd-3))))
4079
4080(define-public cl-map-set
4081 (sbcl-package->cl-source-package sbcl-map-set))
4082
4083(define-public sbcl-quri
27c7df29
PN
4084 (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a")
4085 (revision "2"))
88f06fd0
PN
4086 (package
4087 (name "sbcl-quri")
4088 (version (git-version "0.1.0" revision commit))
4089 (source
4090 (origin
4091 (method git-fetch)
4092 (uri (git-reference
b0e7b699 4093 (url "https://github.com/fukamachi/quri")
88f06fd0
PN
4094 (commit commit)))
4095 (file-name (git-file-name name version))
4096 (sha256
27c7df29 4097 (base32 "0cansr63m690ymvhway419178mq2sqnmxm4rdxclbsrnjwwbi36m"))))
88f06fd0
PN
4098 (build-system asdf-build-system/sbcl)
4099 (arguments
4100 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
4101 ;; required by #<SYSTEM "quri">. Why?
4102 '(#:tests? #f))
4103 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4104 ("sbcl-prove" ,sbcl-prove)))
4105 (inputs `(("sbcl-babel" ,sbcl-babel)
4106 ("sbcl-split-sequence" ,sbcl-split-sequence)
4107 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4108 ("sbcl-alexandria" ,sbcl-alexandria)))
4109 (home-page "https://github.com/fukamachi/quri")
4110 (synopsis "Yet another URI library for Common Lisp")
4111 (description
4112 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4113Lisp. It is intended to be a replacement of PURI.")
4114 (license license:bsd-3))))
4115
4116(define-public cl-quri
4117 (sbcl-package->cl-source-package sbcl-quri))
4118
4119(define-public sbcl-myway
4120 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4121 (revision "1"))
4122 (package
4123 (name "sbcl-myway")
4124 (version (git-version "0.1.0" revision commit))
4125 (source
4126 (origin
4127 (method git-fetch)
4128 (uri (git-reference
b0e7b699 4129 (url "https://github.com/fukamachi/myway")
88f06fd0
PN
4130 (commit commit)))
4131 (file-name (git-file-name "myway" version))
4132 (sha256
4133 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4134 (build-system asdf-build-system/sbcl)
4135 (arguments
4136 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4137 ;; by #<SYSTEM "myway">. Why?
4138 '(#:tests? #f))
4139 (native-inputs
4140 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4141 ("sbcl-prove" ,sbcl-prove)))
4142 (inputs
4143 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4144 ("sbcl-quri" ,sbcl-quri)
4145 ("sbcl-map-set" ,sbcl-map-set)))
4146 (home-page "https://github.com/fukamachi/myway")
4147 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4148 (description "My Way is a Sinatra-compatible URL routing library.")
4149 (license license:llgpl))))
4150
4151(define-public cl-myway
4152 (sbcl-package->cl-source-package sbcl-myway))
4153
4154(define-public sbcl-xsubseq
4155 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4156 (revision "1"))
4157 (package
4158 (name "sbcl-xsubseq")
4159 (version (git-version "0.0.1" revision commit))
4160 (source
4161 (origin
4162 (method git-fetch)
4163 (uri (git-reference
4164 (url "https://github.com/fukamachi/xsubseq")
4165 (commit commit)))
4166 (file-name (git-file-name name version))
4167 (sha256
4168 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4169 (build-system asdf-build-system/sbcl)
4170 (arguments
4171 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4172 ;; required by #<SYSTEM "xsubseq">. Why?
4173 '(#:tests? #f))
4174 (native-inputs
4175 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4176 ("sbcl-prove" ,sbcl-prove)))
4177 (home-page "https://github.com/fukamachi/xsubseq")
4178 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4179 (description
4180 "XSubseq provides functions to be able to handle \"subseq\"s more
4181effieiently.")
4182 (license license:bsd-2))))
4183
4184(define-public cl-xsubseq
4185 (sbcl-package->cl-source-package sbcl-xsubseq))
4186
4187(define-public sbcl-smart-buffer
4188 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4189 (revision "1"))
4190 (package
4191 (name "sbcl-smart-buffer")
4192 (version (git-version "0.0.1" revision commit))
4193 (source
4194 (origin
4195 (method git-fetch)
4196 (uri (git-reference
4197 (url "https://github.com/fukamachi/smart-buffer")
4198 (commit commit)))
4199 (file-name (git-file-name name version))
4200 (sha256
4201 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4202 (build-system asdf-build-system/sbcl)
4203 (arguments
4204 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4205 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4206 `(#:tests? #f))
4207 (native-inputs
4208 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4209 ("sbcl-prove" ,sbcl-prove)))
4210 (inputs
4211 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4212 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4213 (home-page "https://github.com/fukamachi/smart-buffer")
4214 (synopsis "Smart octets buffer")
4215 (description
4216 "Smart-buffer provides an output buffer which changes the destination
4217depending on content size.")
4218 (license license:bsd-3))))
4219
4220(define-public cl-smart-buffer
4221 (sbcl-package->cl-source-package sbcl-smart-buffer))
4222
4223(define-public sbcl-fast-http
47e73008
PN
4224 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4225 (revision "2"))
88f06fd0
PN
4226 (package
4227 (name "sbcl-fast-http")
4228 (version (git-version "0.2.0" revision commit))
4229 (source
4230 (origin
4231 (method git-fetch)
4232 (uri (git-reference
4233 (url "https://github.com/fukamachi/fast-http")
4234 (commit commit)))
4235 (file-name (git-file-name name version))
4236 (sha256
47e73008 4237 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
88f06fd0
PN
4238 (build-system asdf-build-system/sbcl)
4239 (arguments
4240 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4241 ;; required by #<SYSTEM "fast-http">. Why?
4242 `(#:tests? #f))
4243 (native-inputs
4244 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
47e73008
PN
4245 ("sbcl-prove" ,sbcl-prove)
4246 ("cl-syntax-interpol" ,sbcl-cl-syntax-interpol)))
88f06fd0
PN
4247 (inputs
4248 `(("sbcl-alexandria" ,sbcl-alexandria)
4249 ("sbcl-proc-parse" ,sbcl-proc-parse)
4250 ("sbcl-xsubseq" ,sbcl-xsubseq)
4251 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4252 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4253 (home-page "https://github.com/fukamachi/fast-http")
4254 (synopsis "HTTP request/response parser for Common Lisp")
4255 (description
4256 "@code{fast-http} is a HTTP request/response protocol parser for Common
4257Lisp.")
4258 ;; Author specified the MIT license
4259 (license license:expat))))
4260
4261(define-public cl-fast-http
4262 (sbcl-package->cl-source-package sbcl-fast-http))
4263
4264(define-public sbcl-static-vectors
ba55cbda
GLV
4265 (package
4266 (name "sbcl-static-vectors")
4267 (version "1.8.4")
4268 (source
4269 (origin
88f06fd0
PN
4270 (method git-fetch)
4271 (uri (git-reference
b0e7b699 4272 (url "https://github.com/sionescu/static-vectors")
ba55cbda 4273 (commit (string-append "v" version))))
88f06fd0
PN
4274 (file-name (git-file-name name version))
4275 (sha256
ba55cbda
GLV
4276 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4277 (native-inputs
4278 `(("sbcl-fiveam" ,sbcl-fiveam)))
4279 (inputs
4280 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4281 ("sbcl-cffi" ,sbcl-cffi)))
4282 (build-system asdf-build-system/sbcl)
6b40dbff 4283 (home-page "https://github.com/sionescu/static-vectors")
ba55cbda
GLV
4284 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4285 (description
4286 "With @code{static-vectors}, you can create vectors allocated in static
88f06fd0 4287memory.")
ba55cbda 4288 (license license:expat)))
88f06fd0
PN
4289
4290(define-public cl-static-vectors
4291 (sbcl-package->cl-source-package sbcl-static-vectors))
4292
f6a6f085
GLV
4293(define-public ecl-static-vectors
4294 (sbcl-package->ecl-package sbcl-static-vectors))
4295
88f06fd0
PN
4296(define-public sbcl-marshal
4297 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4298 (revision "1"))
4299 (package
4300 (name "sbcl-marshal")
4301 (version (git-version "1.3.0" revision commit))
4302 (source
4303 (origin
4304 (method git-fetch)
4305 (uri (git-reference
b0e7b699 4306 (url "https://github.com/wlbr/cl-marshal")
88f06fd0
PN
4307 (commit commit)))
4308 (file-name (git-file-name name version))
4309 (sha256
4310 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4311 (build-system asdf-build-system/sbcl)
4312 (home-page "https://github.com/wlbr/cl-marshal")
4313 (synopsis "Simple (de)serialization of Lisp datastructures")
4314 (description
4315 "Simple and fast marshalling of Lisp datastructures. Convert any object
4316into a string representation, put it on a stream an revive it from there.
4317Only minimal changes required to make your CLOS objects serializable.")
4318 (license license:expat))))
4319
4320(define-public cl-marshal
4321 (sbcl-package->cl-source-package sbcl-marshal))
4322
4323(define-public sbcl-checkl
4324 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4325 (revision "1"))
4326 (package
4327 (name "sbcl-checkl")
4328 (version (git-version "0.0.0" revision commit))
4329 (source
4330 (origin
4331 (method git-fetch)
4332 (uri (git-reference
b0e7b699 4333 (url "https://github.com/rpav/CheckL")
88f06fd0
PN
4334 (commit commit)))
4335 (file-name (git-file-name name version))
4336 (sha256
4337 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4338 (build-system asdf-build-system/sbcl)
4339 (arguments
4340 ;; Error while trying to load definition for system checkl-test from
4341 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4342 ;; is undefined.
4343 '(#:tests? #f))
4344 (native-inputs
4345 `(("sbcl-fiveam" ,sbcl-fiveam)))
4346 (inputs
4347 `(("sbcl-marshal" ,sbcl-marshal)))
4348 (home-page "https://github.com/rpav/CheckL/")
4349 (synopsis "Dynamic testing for Common Lisp")
4350 (description
4351 "CheckL lets you write tests dynamically, it checks resulting values
4352against the last run.")
4353 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4354 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4355 ;; stronger of the two and so I think only listing this should suffice.
4356 (license license:llgpl))))
4357
4358(define-public cl-checkl
4359 (sbcl-package->cl-source-package sbcl-checkl))
4360
4361(define-public sbcl-fast-io
481f41e3
PN
4362 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4363 (revision "2"))
88f06fd0
PN
4364 (package
4365 (name "sbcl-fast-io")
4366 (version (git-version "1.0.0" revision commit))
4367 (source
4368 (origin
4369 (method git-fetch)
4370 (uri (git-reference
b0e7b699 4371 (url "https://github.com/rpav/fast-io")
88f06fd0
PN
4372 (commit commit)))
4373 (file-name (git-file-name name version))
4374 (sha256
481f41e3 4375 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
88f06fd0
PN
4376 (build-system asdf-build-system/sbcl)
4377 (arguments
4378 ;; Error while trying to load definition for system fast-io-test from
4379 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4380 ;; is undefined.
4381 '(#:tests? #f))
4382 (native-inputs
4383 `(("sbcl-fiveam" ,sbcl-fiveam)
4384 ("sbcl-checkl" ,sbcl-checkl)))
4385 (inputs
4386 `(("sbcl-alexandria" ,sbcl-alexandria)
4387 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4388 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4389 (home-page "https://github.com/rpav/fast-io")
4390 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4391 (description
4392 "Fast-io is about improving performance to octet-vectors and octet
4393streams (though primarily the former, while wrapping the latter).")
4394 ;; Author specifies this as NewBSD which is an alias
4395 (license license:bsd-3))))
4396
4397(define-public cl-fast-io
4398 (sbcl-package->cl-source-package sbcl-fast-io))
4399
4400(define-public sbcl-jonathan
4401 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4402 (revision "1"))
4403 (package
4404 (name "sbcl-jonathan")
4405 (version (git-version "0.1.0" revision commit))
4406 (source
4407 (origin
4408 (method git-fetch)
4409 (uri (git-reference
b0e7b699 4410 (url "https://github.com/Rudolph-Miller/jonathan")
88f06fd0
PN
4411 (commit commit)))
4412 (file-name (git-file-name name version))
4413 (sha256
4414 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4415 (build-system asdf-build-system/sbcl)
4416 (arguments
4417 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4418 ;; required by #<SYSTEM "jonathan">. Why?
4419 `(#:tests? #f))
4420 (native-inputs
4421 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4422 ("sbcl-prove" ,sbcl-prove)))
4423 (inputs
4424 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4425 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4426 ("sbcl-fast-io" ,sbcl-fast-io)
4427 ("sbcl-proc-parse" ,sbcl-proc-parse)
4428 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
46a5d07e 4429 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
88f06fd0
PN
4430 (synopsis "JSON encoder and decoder")
4431 (description
4432 "High performance JSON encoder and decoder. Currently support: SBCL,
4433CCL.")
4434 ;; Author specifies the MIT license
4435 (license license:expat))))
4436
4437(define-public cl-jonathan
4438 (sbcl-package->cl-source-package sbcl-jonathan))
4439
4440(define-public sbcl-http-body
4441 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4442 (revision "1"))
4443 (package
4444 (name "sbcl-http-body")
4445 (version (git-version "0.1.0" revision commit))
4446 (source
4447 (origin
4448 (method git-fetch)
4449 (uri (git-reference
4450 (url "https://github.com/fukamachi/http-body")
4451 (commit commit)))
4452 (file-name (git-file-name name version))
4453 (sha256
4454 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4455 (build-system asdf-build-system/sbcl)
4456 (arguments
4457 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4458 ;; found, required by #<SYSTEM "http-body">. Why?
4459 `(#:tests? #f))
4460 (native-inputs
4461 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4462 ("sbcl-prove" ,sbcl-prove)))
4463 (inputs
4464 `(("sbcl-fast-http" ,sbcl-fast-http)
4465 ("sbcl-jonathan" ,sbcl-jonathan)
4466 ("sbcl-quri" ,sbcl-quri)))
4467 (home-page "https://github.com/fukamachi/http-body")
4468 (synopsis "HTTP POST data parser")
4469 (description
4470 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4471supports application/x-www-form-urlencoded, application/json, and
4472multipart/form-data.")
4473 (license license:bsd-2))))
4474
4475(define-public cl-http-body
4476 (sbcl-package->cl-source-package sbcl-http-body))
4477
4478(define-public sbcl-circular-streams
4479 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4480 (revision "1"))
4481 (package
4482 (name "sbcl-circular-streams")
4483 (version (git-version "0.1.0" revision commit))
4484 (source
4485 (origin
4486 (method git-fetch)
4487 (uri (git-reference
4488 (url "https://github.com/fukamachi/circular-streams")
4489 (commit commit)))
4490 (file-name (git-file-name name version))
4491 (sha256
4492 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4493 (build-system asdf-build-system/sbcl)
4494 (arguments
4495 ;; The tests depend on cl-test-more which is now prove. Prove
4496 ;; tests aren't working for some reason.
4497 `(#:tests? #f))
4498 (inputs
4499 `(("sbcl-fast-io" ,sbcl-fast-io)
4500 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4501 (home-page "https://github.com/fukamachi/circular-streams")
4502 (synopsis "Circularly readable streams for Common Lisp")
4503 (description
4504 "Circular-Streams allows you to read streams circularly by wrapping real
4505streams. Once you reach end-of-file of a stream, it's file position will be
4506reset to 0 and you're able to read it again.")
4507 (license license:llgpl))))
4508
4509(define-public cl-circular-streams
4510 (sbcl-package->cl-source-package sbcl-circular-streams))
4511
4512(define-public sbcl-lack-request
4513 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4514 (revision "1"))
4515 (package
4516 (name "sbcl-lack-request")
4517 (version (git-version "0.1.0" revision commit))
4518 (source
4519 (origin
4520 (method git-fetch)
4521 (uri (git-reference
b0e7b699 4522 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4523 (commit commit)))
4524 (file-name (git-file-name "lack-request" version))
4525 (sha256
4526 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4527 (build-system asdf-build-system/sbcl)
4528 (arguments
4529 '(#:asd-file "lack-request.asd"
4530 #:asd-system-name "lack-request"
4531 #:test-asd-file "t-lack-request.asd"
4532 ;; XXX: Component :CLACK-TEST not found
4533 #:tests? #f))
4534 (native-inputs
4535 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4536 ("sbcl-prove" ,sbcl-prove)))
4537 (inputs
4538 `(("sbcl-quri" ,sbcl-quri)
4539 ("sbcl-http-body" ,sbcl-http-body)
4540 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4541 (home-page "https://github.com/fukamachi/lack")
4542 (synopsis "Lack, the core of Clack")
4543 (description
4544 "Lack is a Common Lisp library which allows web applications to be
4545constructed of modular components. It was originally a part of Clack, however
4546it's going to be rewritten as an individual project since Clack v2 with
4547performance and simplicity in mind.")
4548 (license license:llgpl))))
4549
4550(define-public cl-lack-request
4551 (sbcl-package->cl-source-package sbcl-lack-request))
4552
4553(define-public sbcl-local-time
c9d9795f 4554 (let ((commit "62792705245168d3fc2e04164b9a143477284142")
88f06fd0
PN
4555 (revision "1"))
4556 (package
4557 (name "sbcl-local-time")
4558 (version (git-version "1.0.6" revision commit))
4559 (source
4560 (origin
4561 (method git-fetch)
4562 (uri (git-reference
b0e7b699 4563 (url "https://github.com/dlowe-net/local-time")
88f06fd0
PN
4564 (commit commit)))
4565 (file-name (git-file-name name version))
4566 (sha256
c9d9795f 4567 (base32 "1r5zq4l1lrgprdr2pw7wwry194yknnllyjf6lx7snypb3k4r3yir"))))
88f06fd0
PN
4568 (build-system asdf-build-system/sbcl)
4569 (arguments
4570 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4571 ;; "local-time/test">
4572 '(#:tests? #f))
4573 (native-inputs
4574 `(("stefil" ,sbcl-hu.dwim.stefil)))
4575 (inputs
4576 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4577 (home-page "https://common-lisp.net/project/local-time/")
4578 (synopsis "Time manipulation library for Common Lisp")
4579 (description
4580 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4581dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4582Long Painful History of Time\".")
4583 (license license:expat))))
4584
4585(define-public cl-local-time
4586 (sbcl-package->cl-source-package sbcl-local-time))
4587
4588(define-public sbcl-lack-response
4589 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4590 (revision "1"))
4591 (package
4592 (name "sbcl-lack-response")
4593 (version (git-version "0.1.0" revision commit))
4594 (source
4595 (origin
4596 (method git-fetch)
4597 (uri (git-reference
b0e7b699 4598 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4599 (commit commit)))
4600 (file-name (git-file-name name version))
4601 (sha256
4602 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4603 (build-system asdf-build-system/sbcl)
4604 (arguments
4605 '(#:asd-file "lack-response.asd"
4606 #:asd-system-name "lack-response"
4607 ;; XXX: no tests for lack-response.
4608 #:tests? #f))
4609 (native-inputs
4610 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4611 ("sbcl-prove" ,sbcl-prove)))
4612 (inputs
4613 `(("sbcl-quri" ,sbcl-quri)
4614 ("sbcl-http-body" ,sbcl-http-body)
4615 ("sbcl-circular-streams" ,sbcl-circular-streams)
4616 ("sbcl-local-time" ,sbcl-local-time)))
4617 (home-page "https://github.com/fukamachi/lack")
4618 (synopsis "Lack, the core of Clack")
4619 (description
4620 "Lack is a Common Lisp library which allows web applications to be
4621constructed of modular components. It was originally a part of Clack, however
4622it's going to be rewritten as an individual project since Clack v2 with
4623performance and simplicity in mind.")
4624 (license license:llgpl))))
4625
4626(define-public cl-lack-response
4627 (sbcl-package->cl-source-package sbcl-lack-response))
4628
4629(define-public sbcl-lack-component
4630 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4631 (revision "1"))
4632 (package
4633 (name "sbcl-lack-component")
4634 (version (git-version "0.0.0" revision commit))
4635 (source
4636 (origin
4637 (method git-fetch)
4638 (uri (git-reference
b0e7b699 4639 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4640 (commit commit)))
4641 (file-name (git-file-name "lack-component" version))
4642 (sha256
4643 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4644 (build-system asdf-build-system/sbcl)
4645 (arguments
4646 '(#:asd-file "lack-component.asd"
4647 #:asd-system-name "lack-component"
4648 #:test-asd-file "t-lack-component.asd"
4649 ;; XXX: Component :LACK-TEST not found
4650 #:tests? #f))
4651 (native-inputs
4652 `(("prove-asdf" ,sbcl-prove-asdf)))
4653 (home-page "https://github.com/fukamachi/lack")
4654 (synopsis "Lack, the core of Clack")
4655 (description
4656 "Lack is a Common Lisp library which allows web applications to be
4657constructed of modular components. It was originally a part of Clack, however
4658it's going to be rewritten as an individual project since Clack v2 with
4659performance and simplicity in mind.")
4660 (license license:llgpl))))
4661
4662(define-public cl-lack-component
4663 (sbcl-package->cl-source-package sbcl-lack-component))
4664
4665(define-public sbcl-lack-util
4666 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4667 (revision "1"))
4668 (package
4669 (name "sbcl-lack-util")
4670 (version (git-version "0.1.0" revision commit))
4671 (source
4672 (origin
4673 (method git-fetch)
4674 (uri (git-reference
b0e7b699 4675 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4676 (commit commit)))
4677 (file-name (git-file-name "lack-util" version))
4678 (sha256
4679 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4680 (build-system asdf-build-system/sbcl)
4681 (arguments
4682 '(#:asd-file "lack-util.asd"
4683 #:asd-system-name "lack-util"
4684 #:test-asd-file "t-lack-util.asd"
4685 ;; XXX: Component :LACK-TEST not found
4686 #:tests? #f))
4687 (native-inputs
4688 `(("prove-asdf" ,sbcl-prove-asdf)))
4689 (inputs
4690 `(("sbcl-ironclad" ,sbcl-ironclad)))
4691 (home-page "https://github.com/fukamachi/lack")
4692 (synopsis "Lack, the core of Clack")
4693 (description
4694 "Lack is a Common Lisp library which allows web applications to be
4695constructed of modular components. It was originally a part of Clack, however
4696it's going to be rewritten as an individual project since Clack v2 with
4697performance and simplicity in mind.")
4698 (license license:llgpl))))
4699
4700(define-public cl-lack-util
4701 (sbcl-package->cl-source-package sbcl-lack-util))
4702
4703(define-public sbcl-lack-middleware-backtrace
4704 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4705 (revision "1"))
4706 (package
4707 (name "sbcl-lack-middleware-backtrace")
4708 (version (git-version "0.1.0" revision commit))
4709 (source
4710 (origin
4711 (method git-fetch)
4712 (uri (git-reference
b0e7b699 4713 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4714 (commit commit)))
4715 (file-name (git-file-name "lack-middleware-backtrace" version))
4716 (sha256
4717 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4718 (build-system asdf-build-system/sbcl)
4719 (arguments
4720 '(#:asd-file "lack-middleware-backtrace.asd"
4721 #:asd-system-name "lack-middleware-backtrace"
4722 #:test-asd-file "t-lack-middleware-backtrace.asd"
4723 ;; XXX: Component :LACK not found
4724 #:tests? #f))
4725 (native-inputs
4726 `(("prove-asdf" ,sbcl-prove-asdf)))
4727 (home-page "https://github.com/fukamachi/lack")
4728 (synopsis "Lack, the core of Clack")
4729 (description
4730 "Lack is a Common Lisp library which allows web applications to be
4731constructed of modular components. It was originally a part of Clack, however
4732it's going to be rewritten as an individual project since Clack v2 with
4733performance and simplicity in mind.")
4734 (license license:llgpl))))
4735
4736(define-public cl-lack-middleware-backtrace
4737 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4738
4739(define-public sbcl-trivial-mimes
4740 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4741 (revision "1"))
4742 (package
4743 (name "sbcl-trivial-mimes")
4744 (version (git-version "1.1.0" revision commit))
4745 (source
4746 (origin
4747 (method git-fetch)
4748 (uri (git-reference
b0e7b699 4749 (url "https://github.com/Shinmera/trivial-mimes")
88f06fd0
PN
4750 (commit commit)))
4751 (file-name (git-file-name name version))
4752 (sha256
4753 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4754 (build-system asdf-build-system/sbcl)
4755 (arguments
4756 '(#:phases
4757 (modify-phases %standard-phases
4758 (add-after
4759 'unpack 'fix-paths
4760 (lambda* (#:key inputs #:allow-other-keys)
4761 (let ((anchor "#p\"/etc/mime.types\""))
4762 (substitute* "mime-types.lisp"
4763 ((anchor all)
4764 (string-append
4765 anchor "\n"
4766 "(asdf:system-relative-pathname :trivial-mimes "
4767 "\"../../share/common-lisp/" (%lisp-type)
4768 "-source/trivial-mimes/mime.types\")")))))))))
4769 (native-inputs
4770 `(("stefil" ,sbcl-hu.dwim.stefil)))
4771 (inputs
4772 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
917c28d2 4773 (home-page "https://shinmera.github.io/trivial-mimes/")
88f06fd0
PN
4774 (synopsis "Tiny Common Lisp library to detect mime types in files")
4775 (description
4776 "This is a teensy library that provides some functions to determine the
4777mime-type of a file.")
4778 (license license:artistic2.0))))
4779
4780(define-public cl-trivial-mimes
4781 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4782
4783(define-public ecl-trivial-mimes
4784 (sbcl-package->ecl-package sbcl-trivial-mimes))
4785
4786(define-public sbcl-lack-middleware-static
4787 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4788 (revision "1"))
4789 (package
4790 (name "sbcl-lack-middleware-static")
4791 (version (git-version "0.1.0" revision commit))
4792 (source
4793 (origin
4794 (method git-fetch)
4795 (uri (git-reference
b0e7b699 4796 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4797 (commit commit)))
4798 (file-name (git-file-name "lack-middleware-static" version))
4799 (sha256
4800 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4801 (build-system asdf-build-system/sbcl)
4802 (arguments
4803 '(#:asd-file "lack-middleware-static.asd"
4804 #:asd-system-name "lack-middleware-static"
4805 #:test-asd-file "t-lack-middleware-static.asd"
4806 ;; XXX: Component :LACK not found
4807 #:tests? #f))
4808 (native-inputs
4809 `(("prove-asdf" ,sbcl-prove-asdf)))
4810 (inputs
4811 `(("sbcl-ironclad" ,sbcl-ironclad)
4812 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4813 ("sbcl-local-time" ,sbcl-local-time)))
4814 (home-page "https://github.com/fukamachi/lack")
4815 (synopsis "Lack, the core of Clack")
4816 (description
4817 "Lack is a Common Lisp library which allows web applications to be
4818constructed of modular components. It was originally a part of Clack, however
4819it's going to be rewritten as an individual project since Clack v2 with
4820performance and simplicity in mind.")
4821 (license license:llgpl))))
4822
4823(define-public cl-lack-middleware-static
4824 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4825
4826(define-public sbcl-lack
4827 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4828 (revision "1"))
4829 (package
4830 (name "sbcl-lack")
4831 (version (git-version "0.1.0" revision commit))
4832 (source
4833 (origin
4834 (method git-fetch)
4835 (uri (git-reference
b0e7b699 4836 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4837 (commit commit)))
4838 (file-name (git-file-name "lack" version))
4839 (sha256
4840 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4841 (build-system asdf-build-system/sbcl)
4842 (arguments
4843 '(#:test-asd-file "t-lack.asd"
4844 ;; XXX: Component :CLACK not found
4845 #:tests? #f))
4846 (native-inputs
4847 `(("prove-asdf" ,sbcl-prove-asdf)))
4848 (inputs
4849 `(("sbcl-lack-component" ,sbcl-lack-component)
4850 ("sbcl-lack-util" ,sbcl-lack-util)))
4851 (home-page "https://github.com/fukamachi/lack")
4852 (synopsis "Lack, the core of Clack")
4853 (description
4854 "Lack is a Common Lisp library which allows web applications to be
4855constructed of modular components. It was originally a part of Clack, however
4856it's going to be rewritten as an individual project since Clack v2 with
4857performance and simplicity in mind.")
4858 (license license:llgpl))))
4859
4860(define-public cl-lack
4861 (sbcl-package->cl-source-package sbcl-lack))
4862
4863(define-public sbcl-ningle
4864 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4865 (revision "1"))
4866 (package
4867 (name "sbcl-ningle")
4868 (version (git-version "0.3.0" revision commit))
4869 (source
4870 (origin
4871 (method git-fetch)
4872 (uri (git-reference
b0e7b699 4873 (url "https://github.com/fukamachi/ningle")
88f06fd0
PN
4874 (commit commit)))
4875 (file-name (git-file-name name version))
4876 (sha256
4877 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4878 (build-system asdf-build-system/sbcl)
4879 (arguments
4880 ;; TODO: pull in clack-test
4881 '(#:tests? #f
4882 #:phases
4883 (modify-phases %standard-phases
4884 (delete 'cleanup-files)
4885 (delete 'cleanup)
4886 (add-before 'cleanup 'combine-fasls
4887 (lambda* (#:key outputs #:allow-other-keys)
4888 (let* ((out (assoc-ref outputs "out"))
4889 (lib (string-append out "/lib/sbcl"))
4890 (ningle-path (string-append lib "/ningle"))
4891 (fasl-files (find-files out "\\.fasl$")))
4892 (mkdir-p ningle-path)
4893 (let ((fasl-path (lambda (name)
4894 (string-append ningle-path
4895 "/"
4896 (basename name)
4897 "--system.fasl"))))
4898 (for-each (lambda (file)
4899 (rename-file file
4900 (fasl-path
4901 (basename file ".fasl"))))
4902 fasl-files))
4903 fasl-files)
4904 #t)))))
4905 (native-inputs
4906 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4907 ("sbcl-prove" ,sbcl-prove)))
4908 (inputs
4909 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4910 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4911 ("sbcl-myway" ,sbcl-myway)
4912 ("sbcl-lack-request" ,sbcl-lack-request)
4913 ("sbcl-lack-response" ,sbcl-lack-response)
4914 ("sbcl-lack-component" ,sbcl-lack-component)
4915 ("sbcl-alexandria" ,sbcl-alexandria)
4916 ("sbcl-babel" ,sbcl-babel)))
f13695ec 4917 (home-page "https://8arrow.org/ningle/")
88f06fd0
PN
4918 (synopsis "Super micro framework for Common Lisp")
4919 (description
4920 "Ningle is a lightweight web application framework for Common Lisp.")
4921 (license license:llgpl))))
4922
4923(define-public cl-ningle
4924 (sbcl-package->cl-source-package sbcl-ningle))
4925
4926(define-public sbcl-clack
4927 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4928 (revision "1"))
4929 (package
4930 (name "sbcl-clack")
4931 (version (git-version "2.0.0" revision commit))
4932 (source
4933 (origin
4934 (method git-fetch)
4935 (uri (git-reference
b0e7b699 4936 (url "https://github.com/fukamachi/clack")
88f06fd0
PN
4937 (commit commit)))
4938 (file-name (git-file-name name version))
4939 (sha256
4940 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4941 (build-system asdf-build-system/sbcl)
4942 (inputs
4943 `(("sbcl-lack" ,sbcl-lack)
4944 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4945 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4946 (home-page "https://github.com/fukamachi/clack")
4947 (synopsis "Web Application Environment for Common Lisp")
4948 (description
4949 "Clack is a web application environment for Common Lisp inspired by
4950Python's WSGI and Ruby's Rack.")
4951 (license license:llgpl))))
4952
4953(define-public cl-clack
4954 (sbcl-package->cl-source-package sbcl-clack))
4955
4956(define-public sbcl-log4cl
4957 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4958 (revision "1"))
4959 (package
4960 (name "sbcl-log4cl")
4961 (build-system asdf-build-system/sbcl)
4962 (version "1.1.2")
4963 (source
4964 (origin
4965 (method git-fetch)
4966 (uri (git-reference
4967 (url "https://github.com/sharplispers/log4cl")
4968 (commit commit)))
4969 (file-name (git-file-name name version))
4970 (sha256
4971 (base32
4972 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4973 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4974 (arguments
4975 `(#:tests? #f))
4976 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4977 (synopsis "Common Lisp logging framework, modeled after Log4J")
4978 (home-page "https://github.com/7max/log4cl")
4979 (description "This is a Common Lisp logging framework that can log at
4980various levels and mix text with expressions.")
4981 (license license:asl2.0))))
4982
4983(define-public cl-log4cl
4984 (sbcl-package->cl-source-package sbcl-log4cl))
4985
4986(define-public ecl-log4cl
4987 (sbcl-package->ecl-package sbcl-log4cl))
4988
4989(define-public sbcl-find-port
4990 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4991 (revision "1"))
4992 (package
4993 (name "sbcl-find-port")
4994 (build-system asdf-build-system/sbcl)
4995 (version "0.1")
4996 (home-page "https://github.com/eudoxia0/find-port")
4997 (source
4998 (origin
4999 (method git-fetch)
5000 (uri (git-reference
5001 (url home-page)
5002 (commit commit)))
5003 (file-name (git-file-name name version))
5004 (sha256
5005 (base32
5006 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5007 (native-inputs
5008 `(("fiveam" ,sbcl-fiveam)))
5009 (inputs
5010 `(("sbcl-usocket" ,sbcl-usocket)))
5011 (synopsis "Find open ports programmatically in Common Lisp")
5012 (description "This is a small Common Lisp library that finds an open
5013port within a range.")
5014 (license license:expat))))
5015
5016(define-public cl-find-port
5017 (sbcl-package->cl-source-package sbcl-find-port))
5018
5019(define-public ecl-find-port
5020 (sbcl-package->ecl-package sbcl-find-port))
5021
5022(define-public sbcl-clunit
5023 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5024 (revision "1"))
5025 (package
5026 (name "sbcl-clunit")
5027 (version (git-version "0.2.3" revision commit))
5028 (source
5029 (origin
5030 (method git-fetch)
5031 (uri (git-reference
b0e7b699 5032 (url "https://github.com/tgutu/clunit")
88f06fd0
PN
5033 (commit commit)))
5034 (file-name (git-file-name name version))
5035 (sha256
5036 (base32
5037 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5038 (build-system asdf-build-system/sbcl)
5039 (synopsis "CLUnit is a Common Lisp unit testing framework")
5040 (description
5041 "CLUnit is a Common Lisp unit testing framework. It is designed
5042to be easy to use so that you can quickly start testing. CLUnit
5043provides a rich set of features aimed at improving your unit testing
5044experience.")
b4034d1b 5045 (home-page "https://tgutu.github.io/clunit/")
88f06fd0
PN
5046 ;; MIT License
5047 (license license:expat))))
5048
5049(define-public cl-clunit
5050 (sbcl-package->cl-source-package sbcl-clunit))
5051
5052(define-public ecl-clunit
5053 (sbcl-package->ecl-package sbcl-clunit))
5054
5055(define-public sbcl-py4cl
5056 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5057 (revision "1"))
5058 (package
5059 (name "sbcl-py4cl")
5060 (version (git-version "0.0.0" revision commit))
5061 (source
5062 (origin
5063 (method git-fetch)
5064 (uri (git-reference
b0e7b699 5065 (url "https://github.com/bendudson/py4cl")
88f06fd0
PN
5066 (commit commit)))
5067 (file-name (git-file-name name version))
5068 (sha256
5069 (base32
5070 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5071 (modules '((guix build utils)))))
5072 (build-system asdf-build-system/sbcl)
5073 (native-inputs
5074 `(("sbcl-clunit" ,sbcl-clunit)))
5075 (inputs
5076 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5077 (propagated-inputs
5078 ;; This package doesn't do anything without python available
5079 `(("python" ,python)
5080 ;; For multi-dimensional array support
5081 ("python-numpy" ,python-numpy)))
5082 (arguments
5083 '(#:phases
5084 (modify-phases %standard-phases
5085 (add-after 'unpack 'replace-*base-directory*-var
5086 (lambda* (#:key outputs #:allow-other-keys)
5087 ;; In the ASD, the author makes an attempt to
5088 ;; programatically determine the location of the
5089 ;; source-code so lisp can call into "py4cl.py". We can
5090 ;; hard-code this since we know where this file will
5091 ;; reside.
5092 (substitute* "src/callpython.lisp"
5093 (("py4cl/config:\\*base-directory\\*")
5094 (string-append
5095 "\""
5096 (assoc-ref outputs "out")
5097 "/share/common-lisp/sbcl-source/py4cl/"
5098 "\""))))))))
5099 (synopsis "Call python from Common Lisp")
5100 (description
5101 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5102Lisp to interact with Python code. It uses streams to communicate with a
5103separate python process, the approach taken by cl4py. This is different to
5104the CFFI approach used by burgled-batteries, but has the same goal.")
5105 (home-page "https://github.com/bendudson/py4cl")
5106 ;; MIT License
5107 (license license:expat))))
5108
5109(define-public cl-py4cl
5110 (sbcl-package->cl-source-package sbcl-py4cl))
5111
5112(define-public ecl-py4cl
5113 (sbcl-package->ecl-package sbcl-py4cl))
5114
5115(define-public sbcl-parse-declarations
1fce78c4
GLV
5116 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5117 (revision "1"))
5118 (package
5119 (name "sbcl-parse-declarations")
5120 (version (git-version "1.0.0" revision commit))
5121 (source
5122 (origin
5123 (method git-fetch)
5124 (uri (git-reference
5125 (url (string-append
5126 "https://gitlab.common-lisp.net/parse-declarations/"
5127 "parse-declarations.git"))
5128 (commit commit)))
5129 (file-name (git-file-name name version))
5130 (sha256
5131 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5132 (build-system asdf-build-system/sbcl)
5133 (arguments
5134 `(#:asd-file "parse-declarations-1.0.asd"
5135 #:asd-system-name "parse-declarations-1.0"))
5136 (home-page "https://common-lisp.net/project/parse-declarations/")
5137 (synopsis "Parse, filter, and build declarations")
5138 (description
5139 "Parse-Declarations is a Common Lisp library to help writing
88f06fd0
PN
5140macros which establish bindings. To be semantically correct, such
5141macros must take user declarations into account, as these may affect
5142the bindings they establish. Yet the ANSI standard of Common Lisp does
5143not provide any operators to work with declarations in a convenient,
5144high-level way. This library provides such operators.")
1fce78c4
GLV
5145 ;; MIT License
5146 (license license:expat))))
88f06fd0
PN
5147
5148(define-public cl-parse-declarations
5149 (sbcl-package->cl-source-package sbcl-parse-declarations))
5150
5151(define-public ecl-parse-declarations
5152 (sbcl-package->ecl-package sbcl-parse-declarations))
5153
5154(define-public sbcl-cl-quickcheck
5155 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5156 (revision "1"))
5157 (package
5158 (name "sbcl-cl-quickcheck")
5159 (version (git-version "0.0.4" revision commit))
5160 (source
5161 (origin
5162 (method git-fetch)
5163 (uri (git-reference
b0e7b699 5164 (url "https://github.com/mcandre/cl-quickcheck")
88f06fd0
PN
5165 (commit commit)))
5166 (file-name (git-file-name name version))
5167 (sha256
5168 (base32
5169 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5170 (build-system asdf-build-system/sbcl)
5171 (synopsis
5172 "Common Lisp port of the QuickCheck unit test framework")
5173 (description
5174 "Common Lisp port of the QuickCheck unit test framework")
5175 (home-page "https://github.com/mcandre/cl-quickcheck")
5176 ;; MIT
5177 (license license:expat))))
5178
5179(define-public cl-cl-quickcheck
5180 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5181
5182(define-public ecl-cl-quickcheck
5183 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5184
5185(define-public sbcl-burgled-batteries3
839fa4cd
MB
5186 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5187 (revision "2"))
88f06fd0
PN
5188 (package
5189 (name "sbcl-burgled-batteries3")
5190 (version (git-version "0.0.0" revision commit))
5191 (source
5192 (origin
5193 (method git-fetch)
5194 (uri (git-reference
b0e7b699 5195 (url "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
5196 (commit commit)))
5197 (file-name (git-file-name name version))
5198 (sha256
5199 (base32
839fa4cd 5200 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
88f06fd0
PN
5201 (build-system asdf-build-system/sbcl)
5202 (arguments
839fa4cd
MB
5203 `(#:tests? #f
5204 #:modules (((guix build python-build-system) #:select (python-version))
5205 ,@%asdf-build-system-modules)
5206 #:imported-modules ((guix build python-build-system)
5207 ,@%asdf-build-system-modules)
88f06fd0 5208 #:phases
839fa4cd 5209 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
88f06fd0
PN
5210 (add-after 'unpack 'set-*cpython-include-dir*-var
5211 (lambda* (#:key inputs #:allow-other-keys)
839fa4cd
MB
5212 (let ((python (assoc-ref inputs "python")))
5213 (setenv "BB_PYTHON3_INCLUDE_DIR"
5214 (string-append python "/include/python"
8c83069b 5215 (python-version python)))
839fa4cd
MB
5216 (setenv "BB_PYTHON3_DYLIB"
5217 (string-append python "/lib/libpython3.so"))
8c83069b
MB
5218 #t)))
5219 (add-after 'unpack 'adjust-for-python-3.8
5220 (lambda _
5221 ;; This method is no longer part of the public API.
5222 (substitute* "ffi-interface.lisp"
5223 ((".*PyEval_ReInitThreads.*")
5224 ""))
5225 #t)))))
88f06fd0 5226 (native-inputs
3d280dae 5227 `(("sbcl-cl-fad" ,sbcl-cl-fad)
88f06fd0
PN
5228 ("sbcl-lift" ,sbcl-lift)
5229 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5230 (inputs
3d280dae
MB
5231 `(("python" ,python)
5232 ("sbcl-cffi" ,sbcl-cffi)
88f06fd0
PN
5233 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5234 ("sbcl-alexandria" , sbcl-alexandria)
5235 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5236 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5237 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5238 (description
5239 "This package provides a shim between Python3 (specifically, the
5240CPython implementation of Python) and Common Lisp.")
5241 (home-page "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
5242 (license license:expat))))
5243
5244(define-public cl-burgled-batteries3
5245 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5246
5247(define-public ecl-burgled-batteries3
5248 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5249
5250(define-public sbcl-metabang-bind
5251 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5252 (revision "1"))
5253 (package
5254 (name "sbcl-metabang-bind")
5255 (version (git-version "0.8.0" revision commit))
5256 (source
5257 (origin
5258 (method git-fetch)
5259 (uri (git-reference
b0e7b699 5260 (url "https://github.com/gwkkwg/metabang-bind")
88f06fd0
PN
5261 (commit commit)))
5262 (file-name (git-file-name name version))
5263 (sha256
5264 (base32
5265 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5266 (build-system asdf-build-system/sbcl)
5267 (native-inputs
5268 `(("sbcl-lift" ,sbcl-lift)))
5269 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5270 (description
5271 "Bind extends the idea of of let and destructing to provide a uniform
5272syntax for all your accessor needs. It combines @code{let},
5273@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5274editing, property or association-lists, and @code{multiple-value-bind} and a
5275whole lot more into a single form.")
5276 (home-page "https://common-lisp.net/project/metabang-bind/")
5277 ;; MIT License
5278 (license license:expat))))
5279
5280(define-public cl-metabang-bind
5281 (sbcl-package->cl-source-package sbcl-metabang-bind))
5282
5283(define-public ecl-metabang-bind
5284 (sbcl-package->ecl-package sbcl-metabang-bind))
5285
5286(define-public sbcl-fare-utils
5287 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5288 (revision "1"))
5289 (package
5290 (name "sbcl-fare-utils")
5291 (version (git-version "1.0.0.5" revision commit))
5292 (source
5293 (origin
5294 (method git-fetch)
5295 (uri
5296 (git-reference
5297 (url
5298 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5299 (commit commit)))
5300 (file-name (git-file-name name version))
5301 (sha256
5302 (base32
5303 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5304 (build-system asdf-build-system/sbcl)
5305 (arguments
5306 `(#:test-asd-file "test/fare-utils-test.asd"))
5307 (native-inputs
5308 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5309 (synopsis "Collection of utilities and data structures")
5310 (description
5311 "fare-utils is a small collection of utilities. It contains a lot of
5312basic everyday functions and macros.")
5313 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5314 ;; MIT License
5315 (license license:expat))))
5316
5317(define-public cl-fare-utils
5318 (sbcl-package->cl-source-package sbcl-fare-utils))
5319
5320(define-public ecl-fare-utils
5321 (sbcl-package->ecl-package sbcl-fare-utils))
5322
5323(define-public sbcl-trivial-utf-8
5324 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5325 (revision "1"))
5326 (package
5327 (name "sbcl-trivial-utf-8")
5328 (version (git-version "0.0.0" revision commit))
5329 (source
5330 (origin
5331 (method git-fetch)
5332 (uri
5333 (git-reference
5334 (url (string-append "https://gitlab.common-lisp.net/"
5335 "trivial-utf-8/trivial-utf-8.git"))
5336 (commit commit)))
5337 (file-name (git-file-name name version))
5338 (sha256
5339 (base32
5340 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5341 (arguments
5342 ;; Guix incorrectly assumes the "8" is part of the version
5343 ;; number and lobs it off.
5344 `(#:asd-file "trivial-utf-8.asd"
5345 #:asd-system-name "trivial-utf-8"))
5346 (build-system asdf-build-system/sbcl)
5347 (synopsis "UTF-8 input/output library")
5348 (description
5349 "The Babel library solves a similar problem while understanding more
5350encodings. Trivial UTF-8 was written before Babel existed, but for new
5351projects you might be better off going with Babel. The one plus that Trivial
5352UTF-8 has is that it doesn't depend on any other libraries.")
5353 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5354 (license license:bsd-3))))
5355
5356(define-public cl-trivial-utf-8
5357 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5358
5359(define-public ecl-trivial-utf-8
5360 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5361
5362(define-public sbcl-idna
5363 (package
5364 (name "sbcl-idna")
5365 (build-system asdf-build-system/sbcl)
5366 (version "0.2.2")
5367 (home-page "https://github.com/antifuchs/idna")
5368 (source
5369 (origin
5370 (method git-fetch)
5371 (uri (git-reference
5372 (url home-page)
5373 (commit version)))
5374 (file-name (git-file-name name version))
5375 (sha256
5376 (base32
5377 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5378 (inputs
5379 `(("split-sequence" ,sbcl-split-sequence)))
5380 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5381 (description "This Common Lisp library provides string encoding and
5382decoding routines for IDNA, the International Domain Names in Applications.")
5383 (license license:expat)))
5384
5385(define-public cl-idna
5386 (sbcl-package->cl-source-package sbcl-idna))
5387
5388(define-public ecl-idna
5389 (sbcl-package->ecl-package sbcl-idna))
5390
5391(define-public sbcl-swap-bytes
5392 (package
5393 (name "sbcl-swap-bytes")
5394 (build-system asdf-build-system/sbcl)
dbf6de58 5395 (version "1.2")
88f06fd0
PN
5396 (home-page "https://github.com/sionescu/swap-bytes")
5397 (source
5398 (origin
5399 (method git-fetch)
5400 (uri (git-reference
5401 (url home-page)
5402 (commit (string-append "v" version))))
5403 (file-name (git-file-name name version))
5404 (sha256
5405 (base32
dbf6de58 5406 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5407 (inputs
5408 `(("trivial-features" ,sbcl-trivial-features)))
5409 (native-inputs
5410 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5411 (synopsis "Efficient endianness conversion for Common Lisp")
5412 (description "This Common Lisp library provides optimized byte-swapping
5413primitives. The library can change endianness of unsigned integers of length
54141/2/4/8. Very useful in implementing various network protocols and file
5415formats.")
5416 (license license:expat)))
5417
5418(define-public cl-swap-bytes
5419 (sbcl-package->cl-source-package sbcl-swap-bytes))
5420
5421(define-public ecl-swap-bytes
5422 (sbcl-package->ecl-package sbcl-swap-bytes))
5423
5424(define-public sbcl-iolib.asdf
5425 ;; Latest release is from June 2017.
53c4a0da
PN
5426 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5427 (revision "2"))
88f06fd0
PN
5428 (package
5429 (name "sbcl-iolib.asdf")
5430 (build-system asdf-build-system/sbcl)
53c4a0da 5431 (version (git-version "0.8.3" revision commit))
88f06fd0
PN
5432 (home-page "https://github.com/sionescu/iolib")
5433 (source
5434 (origin
5435 (method git-fetch)
5436 (uri (git-reference
5437 (url home-page)
5438 (commit commit)))
5439 (file-name (git-file-name name version))
5440 (sha256
5441 (base32
53c4a0da 5442 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
88f06fd0
PN
5443 (inputs
5444 `(("alexandria" ,sbcl-alexandria)))
5445 (arguments
5446 '(#:asd-file "iolib.asdf.asd"))
5447 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5448 (description "IOlib is to be a better and more modern I/O library than
5449the standard Common Lisp library. It contains a socket library, a DNS
5450resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5451and @code{kqueue(2)}), a pathname library and file-system utilities.")
5452 (license license:expat))))
5453
5454(define-public sbcl-iolib.conf
5455 (package
5456 (inherit sbcl-iolib.asdf)
5457 (name "sbcl-iolib.conf")
5458 (inputs
5459 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5460 (arguments
5461 '(#:asd-file "iolib.conf.asd"))
5462 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5463
5464(define-public sbcl-iolib.common-lisp
5465 (package
5466 (inherit sbcl-iolib.asdf)
5467 (name "sbcl-iolib.common-lisp")
5468 (inputs
5469 `(("iolib.asdf" ,sbcl-iolib.asdf)
5470 ("iolib.conf" ,sbcl-iolib.conf)))
5471 (arguments
5472 '(#:asd-file "iolib.common-lisp.asd"))
5473 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5474
5475(define-public sbcl-iolib.base
5476 (package
5477 (inherit sbcl-iolib.asdf)
5478 (name "sbcl-iolib.base")
5479 (inputs
5480 `(("iolib.asdf" ,sbcl-iolib.asdf)
5481 ("iolib.conf" ,sbcl-iolib.conf)
5482 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5483 ("split-sequence" ,sbcl-split-sequence)))
5484 (arguments
5485 '(#:asd-file "iolib.base.asd"))
5486 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5487
5488(define-public sbcl-iolib.grovel
3078c05e 5489 (deprecated-package "sbcl-iolib.grovel" sbcl-cffi-grovel))
88f06fd0 5490
af5c4eff 5491(define sbcl-iolib+syscalls
88f06fd0
PN
5492 (package
5493 (inherit sbcl-iolib.asdf)
af5c4eff 5494 (name "sbcl-iolib+syscalls")
88f06fd0
PN
5495 (inputs
5496 `(("iolib.asdf" ,sbcl-iolib.asdf)
5497 ("iolib.conf" ,sbcl-iolib.conf)
53c4a0da 5498 ("cffi-grovel" ,sbcl-cffi-grovel)
88f06fd0
PN
5499 ("iolib.base" ,sbcl-iolib.base)
5500 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5501 ("idna" ,sbcl-idna)
5502 ("swap-bytes" ,sbcl-swap-bytes)
5503 ("libfixposix" ,libfixposix)
5504 ("cffi" ,sbcl-cffi)))
5505 (native-inputs
5506 `(("fiveam" ,sbcl-fiveam)))
5507 (arguments
5508 '(#:asd-file "iolib.asd"
af5c4eff 5509 #:asd-system-name "iolib/syscalls"
88f06fd0
PN
5510 #:phases
5511 (modify-phases %standard-phases
5512 (add-after 'unpack 'fix-paths
5513 (lambda* (#:key inputs #:allow-other-keys)
5514 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5515 (("\\(:default \"libfixposix\"\\)")
5516 (string-append
5517 "(:default \""
5518 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5519 ;; Socket tests need Internet access, disable them.
53c4a0da 5520 (substitute* "iolib.asd"
88f06fd0
PN
5521 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5522 "")))))))
5523 (synopsis "Common Lisp I/O library")))
5524
88f06fd0
PN
5525(define sbcl-iolib+multiplex
5526 (package
af5c4eff 5527 (inherit sbcl-iolib+syscalls)
88f06fd0 5528 (name "sbcl-iolib+multiplex")
af5c4eff
PN
5529 (inputs
5530 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5531 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5532 (arguments
af5c4eff 5533 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5534 ((#:asd-system-name _) "iolib/multiplex")))))
5535
88f06fd0
PN
5536(define sbcl-iolib+streams
5537 (package
af5c4eff 5538 (inherit sbcl-iolib+syscalls)
88f06fd0 5539 (name "sbcl-iolib+streams")
af5c4eff
PN
5540 (inputs
5541 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5542 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5543 (arguments
af5c4eff 5544 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5545 ((#:asd-system-name _) "iolib/streams")))))
5546
5547(define sbcl-iolib+sockets
5548 (package
af5c4eff 5549 (inherit sbcl-iolib+syscalls)
88f06fd0 5550 (name "sbcl-iolib+sockets")
af5c4eff
PN
5551 (inputs
5552 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5553 ("iolib+streams" ,sbcl-iolib+streams)
5554 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5555 (arguments
af5c4eff 5556 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5557 ((#:asd-system-name _) "iolib/sockets")))))
5558
af5c4eff
PN
5559(define-public sbcl-iolib
5560 (package
5561 (inherit sbcl-iolib+syscalls)
5562 (name "sbcl-iolib")
5563 (inputs
5564 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5565 ("iolib+streams" ,sbcl-iolib+streams)
5566 ("iolib+sockets" ,sbcl-iolib+sockets)
5567 ,@(package-inputs sbcl-iolib+syscalls)))
5568 (arguments
5569 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5570 ((#:asd-system-name _) "iolib")))))
5571
5572(define-public cl-iolib
c6201ab9
PN
5573 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5574 (package
5575 (inherit parent)
5576 (propagated-inputs
5577 ;; Need header to compile.
5578 `(("libfixposix" ,libfixposix)
5579 ,@(package-propagated-inputs parent))))))
af5c4eff 5580
88f06fd0
PN
5581(define-public sbcl-ieee-floats
5582 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5583 (revision "1"))
5584 (package
5585 (name "sbcl-ieee-floats")
5586 (build-system asdf-build-system/sbcl)
5587 (version (git-version "20170924" revision commit))
5588 (home-page "https://github.com/marijnh/ieee-floats/")
5589 (source
5590 (origin
5591 (method git-fetch)
5592 (uri (git-reference
5593 (url home-page)
5594 (commit commit)))
5595 (file-name (git-file-name name version))
5596 (sha256
5597 (base32
5598 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5599 (native-inputs
5600 `(("fiveam" ,sbcl-fiveam)))
5601 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
c05181a3 5602 (description "This is a Common Lisp library that converts
88f06fd0
PN
5603floating point values to IEEE 754 binary representation.")
5604 (license license:bsd-3))))
5605
5606(define-public cl-ieee-floats
5607 (sbcl-package->cl-source-package sbcl-ieee-floats))
5608
5609(define sbcl-closure-common
5610 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5611 (revision "1"))
5612 (package
5613 (name "sbcl-closure-common")
5614 (build-system asdf-build-system/sbcl)
5615 (version (git-version "20101006" revision commit))
5616 (home-page "https://common-lisp.net/project/cxml/")
5617 (source
5618 (origin
5619 (method git-fetch)
5620 (uri (git-reference
5621 (url "https://github.com/sharplispers/closure-common")
5622 (commit commit)))
5623 (file-name (git-file-name name version))
5624 (sha256
5625 (base32
5626 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5627 (inputs
5628 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5629 ("babel" ,sbcl-babel)))
5630 (synopsis "Support Common Lisp library for CXML")
5631 (description "Closure-common is an internal helper library. The name
5632Closure is a reference to the web browser it was originally written for.")
5633 ;; TODO: License?
5634 (license #f))))
5635
5636(define-public sbcl-cxml+xml
5637 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5638 (revision "1"))
5639 (package
5640 (name "sbcl-cxml+xml")
5641 (build-system asdf-build-system/sbcl)
5642 (version (git-version "0.0.0" revision commit))
5643 (home-page "https://common-lisp.net/project/cxml/")
5644 (source
5645 (origin
5646 (method git-fetch)
5647 (uri (git-reference
5648 (url "https://github.com/sharplispers/cxml")
5649 (commit commit)))
5650 (file-name (git-file-name name version))
5651 (sha256
5652 (base32
5653 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5654 (inputs
5655 `(("closure-common" ,sbcl-closure-common)
5656 ("puri" ,sbcl-puri)
5657 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5658 (arguments
5659 `(#:asd-file "cxml.asd"
5660 #:asd-system-name "cxml/xml"))
5661 (synopsis "Common Lisp XML parser")
5662 (description "CXML implements a namespace-aware, validating XML 1.0
5663parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5664offered, one SAX-like, the other similar to StAX.")
5665 (license license:llgpl))))
5666
5667(define sbcl-cxml+dom
5668 (package
5669 (inherit sbcl-cxml+xml)
5670 (name "sbcl-cxml+dom")
5671 (inputs
5672 `(("closure-common" ,sbcl-closure-common)
5673 ("puri" ,sbcl-puri)
5674 ("cxml+xml" ,sbcl-cxml+xml)))
5675 (arguments
5676 `(#:asd-file "cxml.asd"
5677 #:asd-system-name "cxml/dom"))))
5678
5679(define sbcl-cxml+klacks
5680 (package
5681 (inherit sbcl-cxml+xml)
5682 (name "sbcl-cxml+klacks")
5683 (inputs
5684 `(("closure-common" ,sbcl-closure-common)
5685 ("puri" ,sbcl-puri)
5686 ("cxml+xml" ,sbcl-cxml+xml)))
5687 (arguments
5688 `(#:asd-file "cxml.asd"
5689 #:asd-system-name "cxml/klacks"))))
5690
5691(define sbcl-cxml+test
5692 (package
5693 (inherit sbcl-cxml+xml)
5694 (name "sbcl-cxml+test")
5695 (inputs
5696 `(("closure-common" ,sbcl-closure-common)
5697 ("puri" ,sbcl-puri)
5698 ("cxml+xml" ,sbcl-cxml+xml)))
5699 (arguments
5700 `(#:asd-file "cxml.asd"
5701 #:asd-system-name "cxml/test"))))
5702
5703(define-public sbcl-cxml
5704 (package
5705 (inherit sbcl-cxml+xml)
5706 (name "sbcl-cxml")
5707 (inputs
5708 `(("closure-common" ,sbcl-closure-common)
5709 ("puri" ,sbcl-puri)
5710 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5711 ("cxml+dom" ,sbcl-cxml+dom)
5712 ("cxml+klacks" ,sbcl-cxml+klacks)
5713 ("cxml+test" ,sbcl-cxml+test)))
5714 (arguments
5715 `(#:asd-file "cxml.asd"
5716 #:asd-system-name "cxml"
5717 #:phases
5718 (modify-phases %standard-phases
5719 (add-after 'build 'install-dtd
5720 (lambda* (#:key outputs #:allow-other-keys)
5721 (install-file "catalog.dtd"
5722 (string-append
5723 (assoc-ref outputs "out")
74fb7f90 5724 "/lib/" (%lisp-type))))))))))
88f06fd0
PN
5725
5726(define-public cl-cxml
5727 (sbcl-package->cl-source-package sbcl-cxml))
5728
5729(define-public sbcl-cl-reexport
5730 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5731 (revision "1"))
5732 (package
5733 (name "sbcl-cl-reexport")
5734 (build-system asdf-build-system/sbcl)
5735 (version (git-version "0.1" revision commit))
5736 (home-page "https://github.com/takagi/cl-reexport")
5737 (source
5738 (origin
5739 (method git-fetch)
5740 (uri (git-reference
5741 (url home-page)
5742 (commit commit)))
5743 (file-name (git-file-name name version))
5744 (sha256
5745 (base32
5746 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5747 (inputs
5748 `(("alexandria" ,sbcl-alexandria)))
5749 (arguments
5750 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5751 `(#:tests? #f))
5752 (synopsis "HTTP cookie manager for Common Lisp")
5753 (description "cl-cookie is a Common Lisp library featuring parsing of
5754cookie headers, cookie creation, cookie jar creation and more.")
5755 (license license:llgpl))))
5756
5757(define-public cl-reexport
5758 (sbcl-package->cl-source-package sbcl-cl-reexport))
5759
5760(define-public sbcl-cl-cookie
5761 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5762 (revision "1"))
5763 (package
5764 (name "sbcl-cl-cookie")
5765 (build-system asdf-build-system/sbcl)
5766 (version (git-version "0.9.10" revision commit))
5767 (home-page "https://github.com/fukamachi/cl-cookie")
5768 (source
5769 (origin
5770 (method git-fetch)
5771 (uri (git-reference
5772 (url home-page)
5773 (commit commit)))
5774 (file-name (git-file-name name version))
5775 (sha256
5776 (base32
5777 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5778 (inputs
5779 `(("proc-parse" ,sbcl-proc-parse)
5780 ("alexandria" ,sbcl-alexandria)
5781 ("quri" ,sbcl-quri)
5782 ("cl-ppcre" ,sbcl-cl-ppcre)
5783 ("local-time" ,sbcl-local-time)))
5784 (native-inputs
5785 `(("prove-asdf" ,sbcl-prove-asdf)
5786 ("prove" ,sbcl-prove)))
5787 (arguments
5788 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5789 `(#:tests? #f))
5790 (synopsis "HTTP cookie manager for Common Lisp")
5791 (description "cl-cookie is a Common Lisp library featuring parsing of
5792cookie headers, cookie creation, cookie jar creation and more.")
5793 (license license:bsd-2))))
5794
5795(define-public cl-cookie
5796 (sbcl-package->cl-source-package sbcl-cl-cookie))
5797
5798(define-public sbcl-dexador
e067ef95 5799 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
88f06fd0
PN
5800 (revision "1"))
5801 (package
5802 (name "sbcl-dexador")
5803 (build-system asdf-build-system/sbcl)
e067ef95 5804 (version "0.9.14" )
88f06fd0
PN
5805 (home-page "https://github.com/fukamachi/dexador")
5806 (source
5807 (origin
5808 (method git-fetch)
5809 (uri (git-reference
5810 (url home-page)
5811 (commit commit)))
5812 (file-name (git-file-name name version))
5813 (sha256
5814 (base32
e067ef95 5815 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
88f06fd0
PN
5816 (inputs
5817 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5818 ("babel" ,sbcl-babel)
5819 ("usocket" ,sbcl-usocket)
5820 ("fast-http" ,sbcl-fast-http)
5821 ("quri" ,sbcl-quri)
5822 ("fast-io" ,sbcl-fast-io)
5823 ("chunga" ,sbcl-chunga)
5824 ("cl-ppcre" ,sbcl-cl-ppcre)
5825 ("cl-cookie" ,sbcl-cl-cookie)
5826 ("trivial-mimes" ,sbcl-trivial-mimes)
5827 ("chipz" ,sbcl-chipz)
5828 ("cl-base64" ,sbcl-cl-base64)
5829 ("cl-reexport" ,sbcl-cl-reexport)
5830 ("cl+ssl" ,sbcl-cl+ssl)
5831 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5832 ("alexandria" ,sbcl-alexandria)))
5833 (native-inputs
5834 `(("prove" ,sbcl-prove)
5835 ("prove-asdf" ,sbcl-prove-asdf)
5836 ("lack-request" ,sbcl-lack-request)
5837 ("clack" ,sbcl-clack)
5838 ("babel" ,sbcl-babel)
5839 ("alexandria" ,sbcl-alexandria)
5840 ("cl-ppcre" ,sbcl-cl-ppcre)
e067ef95
PN
5841 ("local-time" ,sbcl-local-time)
5842 ("trivial-features" ,sbcl-trivial-features)))
88f06fd0
PN
5843 (arguments
5844 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5845 `(#:tests? #f
5846 #:phases
5847 (modify-phases %standard-phases
5848 (add-after 'unpack 'fix-permissions
5849 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5850 (synopsis "Yet another HTTP client for Common Lisp")
5851 (description "Dexador is yet another HTTP client for Common Lisp with
5852neat APIs and connection-pooling. It is meant to supersede Drakma.")
5853 (license license:expat))))
5854
5855(define-public cl-dexador
5856 (package
5857 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5858 (arguments
5859 `(#:phases
5860 ;; asdf-build-system/source has its own phases and does not inherit
5861 ;; from asdf-build-system/sbcl phases.
5862 (modify-phases %standard-phases/source
09db7f39
PN
5863 ;; Already done in SBCL package.
5864 (delete 'reset-gzip-timestamps))))))
88f06fd0
PN
5865
5866(define-public ecl-dexador
5867 (sbcl-package->ecl-package sbcl-dexador))
5868
5869(define-public sbcl-lisp-namespace
5870 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5871 (revision "1"))
5872 (package
5873 (name "sbcl-lisp-namespace")
5874 (build-system asdf-build-system/sbcl)
5875 (version (git-version "0.1" revision commit))
5876 (home-page "https://github.com/guicho271828/lisp-namespace")
5877 (source
5878 (origin
5879 (method git-fetch)
5880 (uri (git-reference
5881 (url home-page)
5882 (commit commit)))
5883 (file-name (git-file-name name version))
5884 (sha256
5885 (base32
5886 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5887 (inputs
5888 `(("alexandria" ,sbcl-alexandria)))
5889 (native-inputs
5890 `(("fiveam" ,sbcl-fiveam)))
5891 (arguments
5892 `(#:test-asd-file "lisp-namespace.test.asd"
5893 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5894 #:tests? #f))
5895 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5896 (description "Common Lisp already has major 2 namespaces, function
5897namespace and value namespace (or variable namespace), but there are actually
5898more — e.g., class namespace.
5899This library offers macros to deal with symbols from any namespace.")
5900 (license license:llgpl))))
5901
5902(define-public cl-lisp-namespace
5903 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5904
5905(define-public sbcl-trivial-cltl2
36ceab7d
PN
5906 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5907 (revision "2"))
88f06fd0
PN
5908 (package
5909 (name "sbcl-trivial-cltl2")
5910 (build-system asdf-build-system/sbcl)
5911 (version (git-version "0.1.1" revision commit))
5912 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5913 (source
5914 (origin
5915 (method git-fetch)
5916 (uri (git-reference
5917 (url home-page)
5918 (commit commit)))
5919 (file-name (git-file-name name version))
5920 (sha256
5921 (base32
36ceab7d 5922 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
88f06fd0
PN
5923 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5924 (description "This library is a portable compatibility layer around
5925\"Common Lisp the Language, 2nd
5926Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5927and it exports symbols from implementation-specific packages.")
5928 (license license:llgpl))))
5929
5930(define-public cl-trivial-cltl2
5931 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5932
5933(define-public sbcl-introspect-environment
5934 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5935 (revision "1"))
5936 (package
5937 (name "sbcl-introspect-environment")
5938 (build-system asdf-build-system/sbcl)
5939 (version (git-version "0.1" revision commit))
5940 (home-page "https://github.com/Bike/introspect-environment")
5941 (source
5942 (origin
5943 (method git-fetch)
5944 (uri (git-reference
5945 (url home-page)
5946 (commit commit)))
5947 (file-name (git-file-name name version))
5948 (sha256
5949 (base32
5950 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5951 (native-inputs
5952 `(("fiveam" ,sbcl-fiveam)))
5953 (synopsis "Common Lisp environment introspection portability layer")
5954 (description "This library is a small interface to portable but
5955nonstandard introspection of Common Lisp environments. It is intended to
5956allow a bit more compile-time introspection of environments in Common Lisp.
5957
5958Quite a bit of information is available at the time a macro or compiler-macro
5959runs; inlining info, type declarations, that sort of thing. This information
5960is all standard - any Common Lisp program can @code{(declare (integer x))} and
5961such.
5962
5963This info ought to be accessible through the standard @code{&environment}
5964parameters, but it is not. Several implementations keep the information for
5965their own purposes but do not make it available to user programs, because
5966there is no standard mechanism to do so.
5967
5968This library uses implementation-specific hooks to make information available
5969to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5970implementations have implementations of the functions that do as much as they
5971can and/or provide reasonable defaults.")
5972 (license license:wtfpl2))))
5973
5974(define-public cl-introspect-environment
5975 (sbcl-package->cl-source-package sbcl-introspect-environment))
5976
5977(define-public sbcl-type-i
758f32af
PN
5978 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5979 (revision "2"))
88f06fd0
PN
5980 (package
5981 (name "sbcl-type-i")
5982 (build-system asdf-build-system/sbcl)
5983 (version (git-version "0.1" revision commit))
5984 (home-page "https://github.com/guicho271828/type-i")
5985 (source
5986 (origin
5987 (method git-fetch)
5988 (uri (git-reference
5989 (url home-page)
5990 (commit commit)))
5991 (file-name (git-file-name name version))
5992 (sha256
5993 (base32
758f32af 5994 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
88f06fd0
PN
5995 (inputs
5996 `(("alexandria" ,sbcl-alexandria)
5997 ("introspect-environment" ,sbcl-introspect-environment)
5998 ("trivia.trivial" ,sbcl-trivia.trivial)))
5999 (native-inputs
6000 `(("fiveam" ,sbcl-fiveam)))
6001 (arguments
6002 `(#:test-asd-file "type-i.test.asd"))
6003 (synopsis "Type inference utility on unary predicates for Common Lisp")
6004 (description "This library tries to provide a way to detect what kind of
6005type the given predicate is trying to check. This is different from inferring
6006the return type of a function.")
6007 (license license:llgpl))))
6008
6009(define-public cl-type-i
6010 (sbcl-package->cl-source-package sbcl-type-i))
6011
6012(define-public sbcl-optima
6013 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6014 (revision "1"))
6015 (package
6016 (name "sbcl-optima")
6017 (build-system asdf-build-system/sbcl)
6018 (version (git-version "1.0" revision commit))
6019 (home-page "https://github.com/m2ym/optima")
6020 (source
6021 (origin
6022 (method git-fetch)
6023 (uri (git-reference
6024 (url home-page)
6025 (commit commit)))
6026 (file-name (git-file-name name version))
6027 (sha256
6028 (base32
6029 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6030 (inputs
6031 `(("alexandria" ,sbcl-alexandria)
6032 ("closer-mop" ,sbcl-closer-mop)))
6033 (native-inputs
6034 `(("eos" ,sbcl-eos)))
6035 (arguments
6036 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6037 `(#:tests? #f
6038 #:test-asd-file "optima.test.asd"))
6039 (synopsis "Optimized pattern matching library for Common Lisp")
6040 (description "Optima is a fast pattern matching library which uses
6041optimizing techniques widely used in the functional programming world.")
6042 (license license:expat))))
6043
6044(define-public cl-optima
6045 (sbcl-package->cl-source-package sbcl-optima))
6046
6047(define-public sbcl-fare-quasiquote
639b47e6
GLV
6048 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6049 (revision "1"))
6050 (package
6051 (name "sbcl-fare-quasiquote")
6052 (build-system asdf-build-system/sbcl)
6053 (version (git-version "1.0.1" revision commit))
6054 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6055 (source
6056 (origin
6057 (method git-fetch)
6058 (uri (git-reference
6059 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6060 "fare-quasiquote.git"))
6061 (commit commit)))
6062 (file-name (git-file-name name version))
6063 (sha256
6064 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6065 (inputs
6066 `(("fare-utils" ,sbcl-fare-utils)))
6067 (arguments
6068 ;; XXX: Circular dependencies: Tests depend on subsystems,
6069 ;; which depend on the main systems.
6070 `(#:tests? #f
6071 #:phases
6072 (modify-phases %standard-phases
6073 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6074 ;; commits after 1.0.0.5, but ASDF fails to read the
6075 ;; "-REVISION-COMMIT" part generated by Guix.
6076 (add-after 'unpack 'patch-requirement
6077 (lambda _
6078 (substitute* "fare-quasiquote.asd"
6079 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6080 "\"fare-utils\"")))))))
6081 (synopsis "Pattern-matching friendly implementation of quasiquote")
6082 (description "The main purpose of this n+2nd reimplementation of
88f06fd0
PN
6083quasiquote is enable matching of quasiquoted patterns, using Optima or
6084Trivia.")
639b47e6 6085 (license license:expat))))
88f06fd0
PN
6086
6087(define-public cl-fare-quasiquote
6088 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6089
6090(define-public sbcl-fare-quasiquote-optima
6091 (package
6092 (inherit sbcl-fare-quasiquote)
6093 (name "sbcl-fare-quasiquote-optima")
6094 (inputs
6095 `(("optima" ,sbcl-optima)
6096 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
6097 (arguments
6098 '(#:phases
6099 (modify-phases %standard-phases
6100 (add-after 'unpack 'patch-requirement
6101 (lambda _
6102 (substitute* "fare-quasiquote-optima.asd"
6103 (("\\(:version \"optima\" \"1\\.0\"\\)")
6104 "\"optima\""))
6105 #t)))))))
6106
6107(define-public cl-fare-quasiquote-optima
6108 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
6109
6110(define-public sbcl-fare-quasiquote-readtable
6111 (package
6112 (inherit sbcl-fare-quasiquote)
6113 (name "sbcl-fare-quasiquote-readtable")
6114 (inputs
6115 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
6116 ("named-readtables" ,sbcl-named-readtables)))
6117 (description "The main purpose of this n+2nd reimplementation of
6118quasiquote is enable matching of quasiquoted patterns, using Optima or
6119Trivia.
6120
6121This package uses fare-quasiquote with named-readtable.")))
6122
6123(define-public cl-fare-quasiquote-readtable
6124 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
6125
a5263200
GLV
6126(define-public sbcl-fare-quasiquote-extras
6127 (package
6128 (inherit sbcl-fare-quasiquote)
6129 (name "sbcl-fare-quasiquote-extras")
6130 (build-system asdf-build-system/sbcl)
6131 (inputs
6132 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
6133 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6134 (arguments
6135 `(#:phases
6136 (modify-phases %standard-phases
6137 (replace 'build
6138 (lambda* (#:key outputs #:allow-other-keys)
6139 (let* ((out (assoc-ref outputs "out"))
6140 (lib (string-append out "/lib/" (%lisp-type))))
6141 (mkdir-p lib)
6142 (install-file "fare-quasiquote-extras.asd" lib)
0f46c5f5
GLV
6143 (make-file-writable
6144 (string-append lib "/fare-quasiquote-extras.asd"))
7432a419 6145 #t))))))
a5263200
GLV
6146 (description "This library combines @code{fare-quasiquote-readtable} and
6147@code{fare-quasiquote-optima}.")))
6148
88f06fd0
PN
6149(define-public cl-fare-quasiquote-extras
6150 (package
6151 (inherit cl-fare-quasiquote)
6152 (name "cl-fare-quasiquote-extras")
6153 (build-system asdf-build-system/source)
6154 (propagated-inputs
6155 `(("fare-quasiquote" ,cl-fare-quasiquote)
6156 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6157 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6158 (description "This library combines @code{fare-quasiquote-readtable} and
6159@code{fare-quasiquote-optima}.")))
6160
6161(define-public sbcl-trivia.level0
ba69e6e6
PN
6162 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
6163 (revision "2"))
88f06fd0
PN
6164 (package
6165 (name "sbcl-trivia.level0")
6166 (build-system asdf-build-system/sbcl)
6167 (version (git-version "0.0.0" revision commit))
6168 (home-page "https://github.com/guicho271828/trivia")
6169 (source
6170 (origin
6171 (method git-fetch)
6172 (uri (git-reference
6173 (url home-page)
6174 (commit commit)))
6175 (file-name (git-file-name name version))
6176 (sha256
6177 (base32
ba69e6e6 6178 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
88f06fd0
PN
6179 (inputs
6180 `(("alexandria" ,sbcl-alexandria)))
6181 (synopsis "Pattern matching in Common Lisp")
6182 (description "Trivia is a pattern matching compiler that is compatible
6183with Optima, another pattern matching library for Common Lisp. It is meant to
6184be faster and more extensible than Optima.")
6185 (license license:llgpl))))
6186
6187(define-public sbcl-trivia.level1
6188 (package
6189 (inherit sbcl-trivia.level0)
6190 (name "sbcl-trivia.level1")
6191 (inputs
6192 `(("trivia.level0" ,sbcl-trivia.level0)))
6193 (description "Trivia is a pattern matching compiler that is compatible
6194with Optima, another pattern matching library for Common Lisp. It is meant to
6195be faster and more extensible than Optima.
6196
6197This system contains the core patterns of Trivia.")))
6198
6199(define-public sbcl-trivia.level2
6200 (package
6201 (inherit sbcl-trivia.level0)
6202 (name "sbcl-trivia.level2")
6203 (inputs
6204 `(("trivia.level1" ,sbcl-trivia.level1)
6205 ("lisp-namespace" ,sbcl-lisp-namespace)
6206 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6207 ("closer-mop" ,sbcl-closer-mop)))
6208 (description "Trivia is a pattern matching compiler that is compatible
6209with Optima, another pattern matching library for Common Lisp. It is meant to
6210be faster and more extensible than Optima.
6211
6212This system contains a non-optimized pattern matcher compatible with Optima,
6213with extensible optimizer interface.")))
6214
6215(define-public sbcl-trivia.trivial
6216 (package
6217 (inherit sbcl-trivia.level0)
6218 (name "sbcl-trivia.trivial")
6219 (inputs
6220 `(("trivia.level2" ,sbcl-trivia.level2)))
88f06fd0
PN
6221 (description "Trivia is a pattern matching compiler that is compatible
6222with Optima, another pattern matching library for Common Lisp. It is meant to
6223be faster and more extensible than Optima.
6224
6225This system contains the base level system of Trivia with a trivial optimizer.")))
6226
6227(define-public sbcl-trivia.balland2006
6228 (package
6229 (inherit sbcl-trivia.level0)
6230 (name "sbcl-trivia.balland2006")
6231 (inputs
6232 `(("trivia.trivial" ,sbcl-trivia.trivial)
6233 ("iterate" ,sbcl-iterate)
6234 ("type-i" ,sbcl-type-i)
6235 ("alexandria" ,sbcl-alexandria)))
6236 (arguments
6237 ;; Tests are done in trivia itself.
6238 `(#:tests? #f))
6239 (description "Trivia is a pattern matching compiler that is compatible
6240with Optima, another pattern matching library for Common Lisp. It is meant to
6241be faster and more extensible than Optima.
6242
6243This system contains the base level system of Trivia with a trivial optimizer.")))
6244
6245(define-public sbcl-trivia.ppcre
6246 (package
6247 (inherit sbcl-trivia.level0)
6248 (name "sbcl-trivia.ppcre")
6249 (inputs
6250 `(("trivia.trivial" ,sbcl-trivia.trivial)
6251 ("cl-ppcre" ,sbcl-cl-ppcre)))
6252 (description "Trivia is a pattern matching compiler that is compatible
6253with Optima, another pattern matching library for Common Lisp. It is meant to
6254be faster and more extensible than Optima.
6255
6256This system contains the PPCRE extension.")))
6257
6258(define-public sbcl-trivia.quasiquote
6259 (package
6260 (inherit sbcl-trivia.level0)
6261 (name "sbcl-trivia.quasiquote")
6262 (inputs
6263 `(("trivia.trivial" ,sbcl-trivia.trivial)
6264 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6265 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6266 (description "Trivia is a pattern matching compiler that is compatible
6267with Optima, another pattern matching library for Common Lisp. It is meant to
6268be faster and more extensible than Optima.
6269
6270This system contains the fare-quasiquote extension.")))
6271
6272(define-public sbcl-trivia.cffi
6273 (package
6274 (inherit sbcl-trivia.level0)
6275 (name "sbcl-trivia.cffi")
6276 (inputs
6277 `(("cffi" ,sbcl-cffi)
6278 ("trivia.trivial" ,sbcl-trivia.trivial)))
6279 (description "Trivia is a pattern matching compiler that is compatible
6280with Optima, another pattern matching library for Common Lisp. It is meant to
6281be faster and more extensible than Optima.
6282
6283This system contains the CFFI foreign slot access extension.")))
6284
6285(define-public sbcl-trivia
6286 (package
6287 (inherit sbcl-trivia.level0)
6288 (name "sbcl-trivia")
6289 (inputs
6290 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6291 (native-inputs
6292 `(("fiveam" ,sbcl-fiveam)
6293 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6294 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6295 ("trivia.cffi" ,sbcl-trivia.cffi)
6296 ("optima" ,sbcl-optima)))
6297 (arguments
797f43af 6298 `(#:test-asd-file "trivia.test.asd"))
88f06fd0
PN
6299 (description "Trivia is a pattern matching compiler that is compatible
6300with Optima, another pattern matching library for Common Lisp. It is meant to
6301be faster and more extensible than Optima.")))
6302
6303(define-public cl-trivia
6304 (sbcl-package->cl-source-package sbcl-trivia))
6305
6306(define-public sbcl-mk-string-metrics
6307 (package
6308 (name "sbcl-mk-string-metrics")
6309 (version "0.1.2")
6310 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6311 (source (origin
6312 (method git-fetch)
6313 (uri (git-reference
6314 (url home-page)
6315 (commit version)))
6316 (sha256
6317 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6318 (file-name (git-file-name name version))))
6319 (build-system asdf-build-system/sbcl)
6320 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6321 (description "This library implements efficient algorithms that calculate
6322various string metrics in Common Lisp:
6323
6324@itemize
6325@item Damerau-Levenshtein distance
6326@item Hamming distance
6327@item Jaccard similarity coefficient
6328@item Jaro distance
6329@item Jaro-Winkler distance
6330@item Levenshtein distance
6331@item Normalized Damerau-Levenshtein distance
6332@item Normalized Levenshtein distance
6333@item Overlap coefficient
6334@end itemize\n")
6335 (license license:x11)))
6336
6337(define-public cl-mk-string-metrics
6338 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6339
6340(define-public sbcl-cl-str
7cb4c521 6341 (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a"))
88f06fd0
PN
6342 (package
6343 (name "sbcl-cl-str")
7cb4c521 6344 (version (git-version "0.17" "1" commit))
88f06fd0
PN
6345 (home-page "https://github.com/vindarel/cl-str")
6346 (source (origin
6347 (method git-fetch)
6348 (uri (git-reference
6349 (url home-page)
6350 (commit commit)))
6351 (sha256
7cb4c521 6352 (base32 "1hpq5m8zjjnzns370zy27z2vcm1p8n2ka5ij2x67gyc9amz9vla0"))
88f06fd0
PN
6353 (file-name (git-file-name name version))))
6354 (build-system asdf-build-system/sbcl)
6355 (inputs
6356 `(("cl-ppcre" ,sbcl-cl-ppcre)
7cb4c521
PN
6357 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6358 ("cl-change-case" ,sbcl-cl-change-case)))
88f06fd0
PN
6359 (native-inputs
6360 `(("prove" ,sbcl-prove)
6361 ("prove-asdf" ,sbcl-prove-asdf)))
6362 (arguments
6363 `(#:asd-file "str.asd"
6364 #:asd-system-name "str"
6365 #:test-asd-file "str.test.asd"))
6366 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6367 (description "A modern and consistent Common Lisp string manipulation
6368library that focuses on modernity, simplicity and discoverability:
6369@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6370@code{str:concat strings} instead of an unusual format construct; one
6371discoverable library instead of many; consistency and composability, where
6372@code{s} is always the last argument, which makes it easier to feed pipes and
6373arrows.")
6374 (license license:expat))))
6375
6376(define-public cl-str
6377 (sbcl-package->cl-source-package sbcl-cl-str))
6378
6379(define-public sbcl-cl-xmlspam
6380 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6381 (package
6382 (name "sbcl-cl-xmlspam")
6383 (build-system asdf-build-system/sbcl)
6384 (version (git-version "0.0.0" "1" commit))
6385 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6386 (source
6387 (origin
6388 (method git-fetch)
6389 (uri (git-reference
6390 (url home-page)
6391 (commit commit)))
6392 (file-name (string-append name "-" version))
6393 (sha256
6394 (base32
6395 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6396 (inputs
6397 `(("cxml" ,sbcl-cxml)
6398 ("cl-ppcre" ,sbcl-cl-ppcre)))
6399 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6400 (description "CXML does an excellent job at parsing XML elements, but what
6401do you do when you have a XML file that's larger than you want to fit in
6402memory, and you want to extract some information from it? Writing code to deal
6403with SAX events, or even using Klacks, quickly becomes tedious.
6404@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6405to write code that mirrors the structure of the XML that it's parsing. It
6406also makes it easy to shift paradigms when necessary - the usual Lisp control
6407constructs can be used interchangeably with pattern matching, and the full
6408power of CXML is available when necessary.")
6409 (license license:bsd-3))))
6410
6411;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6412;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6413;; asdf-build-system/sbcl.
6414(define-public cl-dbus
6415 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6416 (revision "1"))
6417 (package
6418 (name "cl-dbus")
6419 (build-system asdf-build-system/source)
6420 (version (git-version "20190408" revision commit))
6421 (home-page "https://github.com/death/dbus")
6422 (source
6423 (origin
6424 (method git-fetch)
6425 (uri (git-reference
6426 (url home-page)
6427 (commit commit)))
6428 (file-name (git-file-name name version))
6429 (sha256
6430 (base32
6431 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
0bc557fd
PN
6432 ;; Inputs must be propagated or else packages depending on this won't
6433 ;; have the necessary packages.
88f06fd0
PN
6434 (propagated-inputs
6435 `(("alexandria" ,sbcl-alexandria)
6436 ("trivial-garbage" ,sbcl-trivial-garbage)
6437 ("babel" ,sbcl-babel)
6438 ("iolib" ,sbcl-iolib)
88f06fd0
PN
6439 ("ieee-floats" ,sbcl-ieee-floats)
6440 ("flexi-streams" ,sbcl-flexi-streams)
6441 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6442 ("ironclad" ,sbcl-ironclad)))
6443 (synopsis "D-Bus client library for Common Lisp")
104b1bde 6444 (description "This is a Common Lisp library that publishes D-Bus
88f06fd0
PN
6445objects as well as send and notify other objects connected to a bus.")
6446 (license license:bsd-2))))
6447
6448(define-public sbcl-cl-hooks
6449 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6450 (revision "1"))
6451 (package
6452 (name "sbcl-cl-hooks")
6453 (build-system asdf-build-system/sbcl)
6454 (version (git-version "0.2.1" revision commit))
6455 (home-page "https://github.com/scymtym/architecture.hooks")
6456 (source
6457 (origin
6458 (method git-fetch)
6459 (uri (git-reference
6460 (url home-page)
6461 (commit commit)))
6462 (file-name (git-file-name name version))
6463 (sha256
6464 (base32
6465 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6466 (inputs
6467 `(("alexandria" ,sbcl-alexandria)
6468 ("let-plus" ,sbcl-let-plus)
6469 ("trivial-garbage" ,sbcl-trivial-garbage)
6470 ("closer-mop" ,sbcl-closer-mop)))
6471 (native-inputs
6472 `(("fiveam" ,sbcl-fiveam)))
6473 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6474 (description "A hook, in the present context, is a certain kind of
6475extension point in a program that allows interleaving the execution of
6476arbitrary code with the execution of a the program without introducing any
6477coupling between the two. Hooks are used extensively in the extensible editor
6478Emacs.
6479
6480In the Common LISP Object System (CLOS), a similar kind of extensibility is
6481possible using the flexible multi-method dispatch mechanism. It may even seem
6482that the concept of hooks does not provide any benefits over the possibilities
6483of CLOS. However, there are some differences:
6484
6485@itemize
6486
6487@item There can be only one method for each combination of specializers and
6488qualifiers. As a result this kind of extension point cannot be used by
6489multiple extensions independently.
6490@item Removing code previously attached via a @code{:before}, @code{:after} or
6491@code{:around} method can be cumbersome.
6492@item There could be other or even multiple extension points besides @code{:before}
6493and @code{:after} in a single method.
6494@item Attaching codes to individual objects using eql specializers can be
6495cumbersome.
6496@item Introspection of code attached a particular extension point is
6497cumbersome since this requires enumerating and inspecting the methods of a
6498generic function.
6499@end itemize
6500
6501This library tries to complement some of these weaknesses of method-based
6502extension-points via the concept of hooks.")
6503 (license license:llgpl))))
6504
6505(define-public cl-hooks
6506 (sbcl-package->cl-source-package sbcl-cl-hooks))
6507
6508(define-public ecl-cl-hooks
6509 (sbcl-package->ecl-package sbcl-cl-hooks))
6510
6511(define-public sbcl-s-sysdeps
bdfd1d18
PN
6512 ;; No release since 2013.
6513 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6514 (revision "2"))
88f06fd0
PN
6515 (package
6516 (name "sbcl-s-sysdeps")
6517 (build-system asdf-build-system/sbcl)
6518 (version (git-version "1" revision commit))
6519 (home-page "https://github.com/svenvc/s-sysdeps")
6520 (source
6521 (origin
6522 (method git-fetch)
6523 (uri (git-reference
6524 (url home-page)
6525 (commit commit)))
6526 (file-name (git-file-name name version))
6527 (sha256
6528 (base32
bdfd1d18
PN
6529 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6530 (inputs
6531 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6532 ("usocket" ,sbcl-usocket)
6533 ("usocket-server" ,sbcl-usocket-server)))
88f06fd0
PN
6534 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6535 (description "@code{s-sysdeps} is an abstraction layer over platform
6536dependent functionality. This simple package is used as a building block in a
6537number of other open source projects.
6538
6539@code{s-sysdeps} abstracts:
6540
6541@itemize
6542@item managing processes,
6543@item implementing a standard TCP/IP server,
6544@item opening a client TCP/IP socket stream,
6545@item working with process locks.
6546@end itemize\n")
6547 (license license:llgpl))))
6548
6549(define-public cl-s-sysdeps
6550 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6551
6552(define-public ecl-s-sysdeps
6553 (sbcl-package->ecl-package sbcl-s-sysdeps))
6554
6555(define-public sbcl-cl-prevalence
419db900
PN
6556 (let ((commit "1e5f030d94237b33d20947a2f6c194abedb10727")
6557 (revision "3"))
88f06fd0
PN
6558 (package
6559 (name "sbcl-cl-prevalence")
6560 (build-system asdf-build-system/sbcl)
6561 (version (git-version "5" revision commit))
6562 (home-page "https://github.com/40ants/cl-prevalence")
6563 (source
6564 (origin
6565 (method git-fetch)
6566 (uri (git-reference
6567 (url home-page)
6568 (commit commit)))
6569 (file-name (git-file-name name version))
6570 (sha256
6571 (base32
419db900 6572 "13yb8lv2aap5wvqa6hw7ms31xnax58f4m2nxifkssrzkb2w2qf29"))))
88f06fd0
PN
6573 (inputs
6574 `(("s-sysdeps" ,sbcl-s-sysdeps)
6575 ("s-xml" ,sbcl-s-xml)))
419db900
PN
6576 (native-inputs
6577 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
6578 (synopsis "Implementation of object prevalence for Common Lisp")
6579 (description "This Common Lisp library implements object prevalence (see
6580@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6581for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6582classes and cyclic data structures are supported.")
6583 (license license:llgpl))))
6584
6585(define-public cl-prevalence
6586 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6587
6588(define-public ecl-cl-prevalence
6589 (sbcl-package->ecl-package sbcl-cl-prevalence))
6590
6591(define-public sbcl-series
6592 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6593 (revision "1"))
6594 (package
6595 (name "sbcl-series")
6596 (version (git-version "2.2.11" revision commit))
6597 (source
6598 (origin
6599 (method git-fetch)
6600 (uri (git-reference
6601 (url "git://git.code.sf.net/p/series/series")
6602 (commit commit)))
6603 (file-name (git-file-name name version))
6604 (sha256
6605 (base32
6606 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6607 (build-system asdf-build-system/sbcl)
6608 (arguments
6609 ;; Disable the tests, they are apparently buggy and I didn't find
6610 ;; a simple way to make them run and pass.
6611 '(#:tests? #f))
6612 (synopsis "Series data structure for Common Lisp")
6613 (description
6614 "This Common Lisp library provides a series data structure much like
6615a sequence, with similar kinds of operations. The difference is that in many
6616situations, operations on series may be composed functionally and yet execute
6617iteratively, without the need to construct intermediate series values
6618explicitly. In this manner, series provide both the clarity of a functional
6619programming style and the efficiency of an iterative programming style.")
6620 (home-page "http://series.sourceforge.net/")
6621 (license license:expat))))
6622
6623(define-public cl-series
6624 (sbcl-package->cl-source-package sbcl-series))
6625
6626(define-public ecl-series
6627 (sbcl-package->ecl-package sbcl-series))
6628
6629(define-public sbcl-periods
6630 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6631 (revision "1"))
6632 (package
6633 (name "sbcl-periods")
6634 (version (git-version "0.0.2" revision commit))
6635 (source
6636 (origin
6637 (method git-fetch)
6638 (uri (git-reference
b0e7b699 6639 (url "https://github.com/jwiegley/periods")
88f06fd0
PN
6640 (commit commit)))
6641 (file-name (git-file-name name version))
6642 (sha256
6643 (base32
6644 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6645 (build-system asdf-build-system/sbcl)
6646 (inputs
6647 `(("local-time" ,sbcl-local-time)))
6648 (synopsis "Common Lisp library for manipulating date/time objects")
6649 (description
6650 "Periods is a Common Lisp library providing a set of utilities for
6651manipulating times, distances between times, and both contiguous and
6652discontiguous ranges of time.")
6653 (home-page "https://github.com/jwiegley/periods")
6654 (license license:bsd-3))))
6655
6656(define-public cl-periods
6657 (sbcl-package->cl-source-package sbcl-periods))
6658
6659(define-public ecl-periods
6660 (sbcl-package->ecl-package sbcl-periods))
6661
6662(define-public sbcl-periods-series
6663 (package
6664 (inherit sbcl-periods)
6665 (name "sbcl-periods-series")
6666 (inputs
6667 `(("periods" ,sbcl-periods)
6668 ("series" ,sbcl-series)))
6669 (arguments
6670 '(#:asd-file "periods-series.asd"
6671 #:asd-system-name "periods-series"))
6672 (description
6673 "Periods-series is an extension of the periods Common Lisp library
6674providing functions compatible with the series Common Lisp library.")))
6675
6676(define-public cl-periods-series
6677 (sbcl-package->cl-source-package sbcl-periods-series))
6678
6679(define-public ecl-periods-series
6680 (sbcl-package->ecl-package sbcl-periods-series))
6681
6682(define-public sbcl-metatilities-base
6683 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6684 (revision "1"))
6685 (package
6686 (name "sbcl-metatilities-base")
6687 (version (git-version "0.6.6" revision commit))
6688 (source
6689 (origin
6690 (method git-fetch)
6691 (uri (git-reference
b0e7b699 6692 (url "https://github.com/gwkkwg/metatilities-base")
88f06fd0
PN
6693 (commit commit)))
6694 (file-name (git-file-name name version))
6695 (sha256
6696 (base32
6697 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6698 (build-system asdf-build-system/sbcl)
6699 (native-inputs
6700 `(("lift" ,sbcl-lift)))
6701 (synopsis "Core of the metatilities Common Lisp library")
6702 (description
6703 "Metatilities-base is the core of the metatilities Common Lisp library
6704which implements a set of utilities.")
6705 (home-page "https://common-lisp.net/project/metatilities-base/")
6706 (license license:expat))))
6707
6708(define-public cl-metatilities-base
6709 (sbcl-package->cl-source-package sbcl-metatilities-base))
6710
6711(define-public ecl-metatilities-base
6712 (sbcl-package->ecl-package sbcl-metatilities-base))
6713
6714(define-public sbcl-cl-containers
0ad6ecb8
PN
6715 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6716 (revision "3"))
88f06fd0
PN
6717 (package
6718 (name "sbcl-cl-containers")
6719 (version (git-version "0.12.1" revision commit))
6720 (source
6721 (origin
6722 (method git-fetch)
6723 (uri (git-reference
b0e7b699 6724 (url "https://github.com/gwkkwg/cl-containers")
88f06fd0
PN
6725 (commit commit)))
6726 (file-name (git-file-name name version))
6727 (sha256
6728 (base32
0ad6ecb8 6729 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
88f06fd0
PN
6730 (build-system asdf-build-system/sbcl)
6731 (native-inputs
6732 `(("lift" ,sbcl-lift)))
6733 (inputs
6734 `(("metatilities-base" ,sbcl-metatilities-base)))
6735 (arguments
6736 '(#:phases
6737 (modify-phases %standard-phases
6738 (add-after 'unpack 'relax-version-checks
6739 (lambda _
6740 (substitute* "cl-containers.asd"
6741 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6742 "\"metatilities-base\""))
6743 (substitute* "cl-containers-test.asd"
6744 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6745 "\"lift\""))
6746 #t)))))
6747 (synopsis "Container library for Common Lisp")
6748 (description
6749 "Common Lisp ships with a set of powerful built in data structures
6750including the venerable list, full featured arrays, and hash-tables.
6751CL-containers enhances and builds on these structures by adding containers
6752that are not available in native Lisp (for example: binary search trees,
6753red-black trees, sparse arrays and so on), and by providing a standard
6754interface so that they are simpler to use and so that changing design
6755decisions becomes significantly easier.")
6756 (home-page "https://common-lisp.net/project/cl-containers/")
6757 (license license:expat))))
6758
6759(define-public cl-containers
6760 (sbcl-package->cl-source-package sbcl-cl-containers))
6761
6762(define-public ecl-cl-containers
6763 (sbcl-package->ecl-package sbcl-cl-containers))
6764
6765(define-public sbcl-xlunit
6766 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6767 (revision "1"))
6768 (package
6769 (name "sbcl-xlunit")
6770 (version (git-version "0.6.3" revision commit))
6771 (source
6772 (origin
6773 (method git-fetch)
6774 (uri (git-reference
6775 (url "http://git.kpe.io/xlunit.git")
6776 (commit commit)))
6777 (file-name (git-file-name name version))
6778 (sha256
6779 (base32
6780 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6781 (build-system asdf-build-system/sbcl)
6782 (arguments
6783 '(#:phases
6784 (modify-phases %standard-phases
6785 (add-after 'unpack 'fix-tests
6786 (lambda _
6787 (substitute* "xlunit.asd"
6788 ((" :force t") ""))
6789 #t)))))
6790 (synopsis "Unit testing package for Common Lisp")
6791 (description
6792 "The XLUnit package is a toolkit for building test suites. It is based
6793on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6794 (home-page "http://quickdocs.org/xlunit/")
6795 (license license:bsd-3))))
6796
6797(define-public cl-xlunit
6798 (sbcl-package->cl-source-package sbcl-xlunit))
6799
6800(define-public ecl-xlunit
6801 (sbcl-package->ecl-package sbcl-xlunit))
6802
6803(define-public sbcl-fprog
6804 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6805 (revision "1"))
6806 (package
6807 (name "sbcl-fprog")
6808 (version (git-version "1.0.0" revision commit))
6809 (source
6810 (origin
6811 (method git-fetch)
6812 (uri (git-reference
b0e7b699 6813 (url "https://github.com/jwiegley/cambl")
88f06fd0
PN
6814 (commit commit)))
6815 (file-name (git-file-name name version))
6816 (sha256
6817 (base32
6818 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6819 (build-system asdf-build-system/sbcl)
6820 (synopsis "Functional programming utilities for Common Lisp")
6821 (description
6822 "@code{fprog} is a Common Lisp library allowing iteration over
6823immutable lists sharing identical sublists.")
6824 (home-page "https://github.com/jwiegley/cambl")
6825 (license license:bsd-3))))
6826
6827(define-public cl-fprog
6828 (sbcl-package->cl-source-package sbcl-fprog))
6829
6830(define-public ecl-fprog
6831 (sbcl-package->ecl-package sbcl-fprog))
6832
6833(define-public sbcl-cambl
6834 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6835 (revision "1"))
6836 (package
6837 (inherit sbcl-fprog)
6838 (name "sbcl-cambl")
6839 (version (git-version "4.0.0" revision commit))
6840 (native-inputs
6841 `(("xlunit" ,sbcl-xlunit)))
6842 (inputs
6843 `(("alexandria" ,sbcl-alexandria)
6844 ("cl-containers" ,sbcl-cl-containers)
6845 ("local-time" ,sbcl-local-time)
6846 ("periods" ,sbcl-periods)
6847 ("fprog" ,sbcl-fprog)))
6848 (synopsis "Commoditized amounts and balances for Common Lisp")
6849 (description
6850 "CAMBL is a Common Lisp library providing a convenient facility for
6851working with commoditized values. It does not allow compound units (and so is
6852not suited for scientific operations) but does work rather nicely for the
6853purpose of financial calculations."))))
6854
6855(define-public cl-cambl
6856 (sbcl-package->cl-source-package sbcl-cambl))
6857
6858(define-public ecl-cambl
6859 (sbcl-package->ecl-package sbcl-cambl))
6860
6861(define-public sbcl-cl-ledger
6862 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6863 (revision "1"))
6864 (package
6865 (name "sbcl-cl-ledger")
6866 (version (git-version "4.0.0" revision commit))
6867 (source
6868 (origin
6869 (method git-fetch)
6870 (uri (git-reference
b0e7b699 6871 (url "https://github.com/ledger/cl-ledger")
88f06fd0
PN
6872 (commit commit)))
6873 (file-name (git-file-name name version))
6874 (sha256
6875 (base32
6876 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6877 (build-system asdf-build-system/sbcl)
6878 (inputs
6879 `(("cambl" ,sbcl-cambl)
6880 ("cl-ppcre" ,sbcl-cl-ppcre)
6881 ("local-time" ,sbcl-local-time)
6882 ("periods-series" ,sbcl-periods-series)))
6883 (arguments
6884 '(#:phases
6885 (modify-phases %standard-phases
6886 (add-after 'unpack 'fix-system-definition
6887 (lambda _
6888 (substitute* "cl-ledger.asd"
6889 ((" :build-operation program-op") "")
6890 ((" :build-pathname \"cl-ledger\"") "")
6891 ((" :entry-point \"ledger::main\"") ""))
6892 #t)))))
6893 (synopsis "Common Lisp port of the Ledger accounting system")
6894 (description
6895 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6896system.")
6897 (home-page "https://github.com/ledger/cl-ledger")
6898 (license license:bsd-3))))
6899
6900(define-public cl-ledger
6901 (sbcl-package->cl-source-package sbcl-cl-ledger))
6902
6903(define-public ecl-cl-ledger
6904 (sbcl-package->ecl-package sbcl-cl-ledger))
6905
6906(define-public sbcl-bst
6907 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6908 (revision "1"))
6909 (package
6910 (name "sbcl-bst")
6911 (version (git-version "1.1" revision commit))
6912 (source
6913 (origin
6914 (method git-fetch)
6915 (uri (git-reference
b0e7b699 6916 (url "https://github.com/glv2/bst")
88f06fd0
PN
6917 (commit commit)))
6918 (file-name (git-file-name name version))
6919 (sha256
6920 (base32
6921 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6922 (build-system asdf-build-system/sbcl)
6923 (native-inputs
6924 `(("alexandria" ,sbcl-alexandria)
6925 ("fiveam" ,sbcl-fiveam)))
6926 (synopsis "Binary search tree for Common Lisp")
6927 (description
6928 "BST is a Common Lisp library for working with binary search trees that
6929can contain any kind of values.")
6930 (home-page "https://github.com/glv2/bst")
6931 (license license:gpl3))))
6932
6933(define-public cl-bst
6934 (sbcl-package->cl-source-package sbcl-bst))
6935
6936(define-public ecl-bst
6937 (sbcl-package->ecl-package sbcl-bst))
6938
6939(define-public sbcl-cl-octet-streams
6940 (package
6941 (name "sbcl-cl-octet-streams")
6942 (version "1.0")
6943 (source
6944 (origin
6945 (method git-fetch)
6946 (uri (git-reference
b0e7b699 6947 (url "https://github.com/glv2/cl-octet-streams")
88f06fd0
PN
6948 (commit (string-append "v" version))))
6949 (file-name (git-file-name name version))
6950 (sha256
6951 (base32
6952 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6953 (build-system asdf-build-system/sbcl)
6954 (native-inputs
6955 `(("fiveam" ,sbcl-fiveam)))
6956 (inputs
6957 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6958 (synopsis "In-memory octet streams for Common Lisp")
6959 (description
6960 "CL-octet-streams is a library implementing in-memory octet
6961streams for Common Lisp. It was inspired by the trivial-octet-streams and
6962cl-plumbing libraries.")
6963 (home-page "https://github.com/glv2/cl-octet-streams")
6964 (license license:gpl3+)))
6965
6966(define-public cl-octet-streams
6967 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6968
6969(define-public ecl-cl-octet-streams
6970 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6971
6972(define-public sbcl-lzlib
6973 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6974 (revision "1"))
6975 (package
6976 (name "sbcl-lzlib")
6977 (version (git-version "1.0" revision commit))
6978 (source
6979 (origin
6980 (method git-fetch)
6981 (uri (git-reference
b0e7b699 6982 (url "https://github.com/glv2/cl-lzlib")
88f06fd0
PN
6983 (commit commit)))
6984 (file-name (git-file-name name version))
6985 (sha256
6986 (base32
6987 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6988 (build-system asdf-build-system/sbcl)
6989 (native-inputs
6990 `(("fiveam" ,sbcl-fiveam)))
6991 (inputs
6992 `(("cffi" ,sbcl-cffi)
6993 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6994 ("lzlib" ,lzlib)))
6995 (arguments
6996 '(#:phases
6997 (modify-phases %standard-phases
6998 (add-after 'unpack 'fix-paths
6999 (lambda* (#:key inputs #:allow-other-keys)
7000 (substitute* "src/lzlib.lisp"
7001 (("liblz\\.so")
7002 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7003 #t)))))
7004 (synopsis "Common Lisp library for lzip (de)compression")
7005 (description
7006 "This Common Lisp library provides functions for lzip (LZMA)
7007compression/decompression using bindings to the lzlib C library.")
7008 (home-page "https://github.com/glv2/cl-lzlib")
7009 (license license:gpl3+))))
7010
7011(define-public cl-lzlib
7012 (sbcl-package->cl-source-package sbcl-lzlib))
7013
7014(define-public ecl-lzlib
7015 (sbcl-package->ecl-package sbcl-lzlib))
7016
7017(define-public sbcl-chanl
00a9a936
GLV
7018 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7019 (revision "1"))
88f06fd0
PN
7020 (package
7021 (name "sbcl-chanl")
7022 (version (git-version "0.4.1" revision commit))
7023 (source
7024 (origin
7025 (method git-fetch)
7026 (uri (git-reference
b0e7b699 7027 (url "https://github.com/zkat/chanl")
88f06fd0
PN
7028 (commit commit)))
7029 (file-name (git-file-name name version))
7030 (sha256
7031 (base32
00a9a936 7032 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
7033 (build-system asdf-build-system/sbcl)
7034 (native-inputs
7035 `(("fiveam" ,sbcl-fiveam)))
7036 (inputs
7037 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7038 (synopsis "Portable channel-based concurrency for Common Lisp")
7039 (description "Common Lisp library for channel-based concurrency. In
7040a nutshell, you create various threads sequentially executing tasks you need
7041done, and use channel objects to communicate and synchronize the state of these
7042threads.")
7043 (home-page "https://github.com/zkat/chanl")
7044 (license (list license:expat license:bsd-3)))))
7045
7046(define-public cl-chanl
7047 (sbcl-package->cl-source-package sbcl-chanl))
7048
7049(define-public ecl-chanl
00a9a936 7050 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
7051
7052(define-public sbcl-cl-store
1896256d
BG
7053 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7054 (revision "1"))
88f06fd0
PN
7055 (package
7056 (name "sbcl-cl-store")
7057 (version (git-version "0.8.11" revision commit))
7058 (source
7059 (origin
7060 (method git-fetch)
7061 (uri (git-reference
b0e7b699 7062 (url "https://github.com/skypher/cl-store")
88f06fd0
PN
7063 (commit commit)))
7064 (file-name (git-file-name name version))
7065 (sha256
7066 (base32
1896256d 7067 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
7068 (build-system asdf-build-system/sbcl)
7069 (native-inputs
7070 `(("rt" ,sbcl-rt)))
7071 (synopsis "Common Lisp library to serialize data")
7072 (description
7073 "CL-STORE is a portable serialization package which should give you the
7074ability to store all Common Lisp data types into streams.")
630a4b77 7075 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
7076 (license license:expat))))
7077
7078(define-public cl-store
7079 (sbcl-package->cl-source-package sbcl-cl-store))
7080
7081(define-public ecl-cl-store
7082 (sbcl-package->ecl-package sbcl-cl-store))
7083
7084(define-public sbcl-cl-gobject-introspection
7085 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7086 (revision "0"))
7087 (package
7088 (name "sbcl-cl-gobject-introspection")
7089 (version (git-version "0.3" revision commit))
7090 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7091 (source
7092 (origin
7093 (method git-fetch)
7094 (uri (git-reference
7095 (url home-page)
7096 (commit commit)))
7097 (file-name (git-file-name name version))
7098 (sha256
7099 (base32
7100 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7101 (build-system asdf-build-system/sbcl)
7102 (inputs
7103 `(("alexandria" ,sbcl-alexandria)
7104 ("cffi" ,sbcl-cffi)
7105 ("iterate" ,sbcl-iterate)
7106 ("trivial-garbage" ,sbcl-trivial-garbage)
7107 ("glib" ,glib)
7108 ("gobject-introspection" ,gobject-introspection)))
7109 (native-inputs
7110 `(("fiveam" ,sbcl-fiveam)))
7111 (arguments
7112 ;; TODO: Tests fail, see
7113 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7114 '(#:tests? #f
7115 #:phases
7116 (modify-phases %standard-phases
7117 (add-after (quote unpack) (quote fix-paths)
7118 (lambda* (#:key inputs #:allow-other-keys)
7119 (substitute* "src/init.lisp"
7120 (("libgobject-2\\.0\\.so")
7121 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7122 (("libgirepository-1\\.0\\.so")
7123 (string-append (assoc-ref inputs "gobject-introspection")
7124 "/lib/libgirepository-1.0.so")))
7125 #t)))))
7126 (synopsis "Common Lisp bindings to GObject Introspection")
7127 (description
7128 "This library is a bridge between Common Lisp and GObject
7129Introspection, which enables Common Lisp programs to access the full interface
7130of C+GObject libraries without the need of writing dedicated bindings.")
7131 (license (list license:bsd-3
7132 ;; Tests are under a different license.
7133 license:llgpl)))))
7134
7135(define-public cl-gobject-introspection
7136 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7137
7138(define-public sbcl-string-case
7139 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7140 (revision "0"))
7141 (package
7142 (name "sbcl-string-case")
7143 (version (git-version "0.0.2" revision commit))
7144 (home-page "https://github.com/pkhuong/string-case")
7145 (source
7146 (origin
7147 (method git-fetch)
7148 (uri (git-reference
7149 (url home-page)
7150 (commit commit)))
7151 (file-name (git-file-name name version))
7152 (sha256
7153 (base32
7154 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7155 (build-system asdf-build-system/sbcl)
7156 (synopsis "Efficient string= case in Common Lisp")
7157 (description
7158 "@code{string-case} is a Common Lisp macro that generates specialised decision
7159trees to dispatch on string equality.")
7160 (license license:bsd-3))))
7161
7162(define-public cl-string-case
7163 (sbcl-package->cl-source-package sbcl-string-case))
7164
7165(define-public ecl-string-case
7166 (sbcl-package->ecl-package sbcl-string-case))
7167
7168(define-public sbcl-global-vars
7169 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7170 (revision "0"))
7171 (package
7172 (name "sbcl-global-vars")
7173 (version (git-version "1.0.0" revision commit))
7174 (home-page "https://github.com/lmj/global-vars")
7175 (source
7176 (origin
7177 (method git-fetch)
7178 (uri (git-reference
7179 (url home-page)
7180 (commit commit)))
7181 (file-name (git-file-name name version))
7182 (sha256
7183 (base32
7184 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7185 (build-system asdf-build-system/sbcl)
7186 (synopsis "Efficient global variables in Common Lisp")
7187 (description
7188 "In Common Lisp, a special variable that is never dynamically bound
7189typically serves as a stand-in for a global variable. The @code{global-vars}
7190library provides true global variables that are implemented by some compilers.
7191An attempt to rebind a global variable properly results in a compiler error.
7192That is, a global variable cannot be dynamically bound.
7193
7194Global variables therefore allow us to communicate an intended usage that
7195differs from special variables. Global variables are also more efficient than
7196special variables, especially in the presence of threads.")
7197 (license license:expat))))
7198
7199(define-public cl-global-vars
7200 (sbcl-package->cl-source-package sbcl-global-vars))
7201
7202(define-public ecl-global-vars
7203 (sbcl-package->ecl-package sbcl-global-vars))
7204
7205(define-public sbcl-trivial-file-size
7206 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7207 (revision "0"))
7208 (package
7209 (name "sbcl-trivial-file-size")
7210 (version (git-version "0.0.0" revision commit))
7211 (home-page "https://github.com/ruricolist/trivial-file-size")
7212 (source
7213 (origin
7214 (method git-fetch)
7215 (uri (git-reference
7216 (url home-page)
7217 (commit commit)))
7218 (file-name (git-file-name name version))
7219 (sha256
7220 (base32
7221 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7222 (build-system asdf-build-system/sbcl)
7223 (native-inputs
7224 `(("fiveam" ,sbcl-fiveam)))
7225 (synopsis "Size of a file in bytes in Common Lisp")
7226 (description
7227 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7228is to open the file with an element type of (unsigned-byte 8) and then
7229calculate the length of the stream. This is less than ideal. In most cases
7230it is better to get the size of the file from its metadata, using a system
7231call.
7232
7233This library exports a single function, file-size-in-octets. It returns the
7234size of a file in bytes, using system calls when possible.")
7235 (license license:expat))))
7236
7237(define-public cl-trivial-file-size
7238 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7239
7240(define-public ecl-trivial-file-size
7241 (sbcl-package->ecl-package sbcl-trivial-file-size))
7242
7243(define-public sbcl-trivial-macroexpand-all
7244 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7245 (revision "0"))
7246 (package
7247 (name "sbcl-trivial-macroexpand-all")
7248 (version (git-version "0.0.0" revision commit))
7249 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7250 (source
7251 (origin
7252 (method git-fetch)
7253 (uri (git-reference
7254 (url home-page)
7255 (commit commit)))
7256 (file-name (git-file-name name version))
7257 (sha256
7258 (base32
7259 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7260 (build-system asdf-build-system/sbcl)
7261 (native-inputs
7262 `(("fiveam" ,sbcl-fiveam)))
7263 (synopsis "Portable macroexpand-all for Common Lisp")
7264 (description
7265 "This library provides a macroexpand-all function that calls the
7266implementation specific equivalent.")
7267 (license license:unlicense))))
7268
7269(define-public cl-trivial-macroexpand-all
7270 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7271
7272(define-public ecl-trivial-macroexpand-all
7273 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7274
7275(define-public sbcl-serapeum
14546abb
PN
7276 (let ((commit "a2ca90cbdcb9f76c2822286110c7abe9ba5b76c2")
7277 (revision "2"))
88f06fd0
PN
7278 (package
7279 (name "sbcl-serapeum")
7280 (version (git-version "0.0.0" revision commit))
7281 (home-page "https://github.com/ruricolist/serapeum")
7282 (source
7283 (origin
7284 (method git-fetch)
7285 (uri (git-reference
7286 (url home-page)
7287 (commit commit)))
7288 (file-name (git-file-name name version))
7289 (sha256
7290 (base32
14546abb 7291 "1lrk2kf7qh5g6f8xvyg8wf89frzb5mw6m1jzgy46jy744f459i8q"))))
88f06fd0
PN
7292 (build-system asdf-build-system/sbcl)
7293 (inputs
7294 `(("alexandria" ,sbcl-alexandria)
7295 ("trivia" ,sbcl-trivia)
7296 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7297 ("split-sequence" ,sbcl-split-sequence)
7298 ("string-case" ,sbcl-string-case)
7299 ("parse-number" ,sbcl-parse-number)
7300 ("trivial-garbage" ,sbcl-trivial-garbage)
7301 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7302 ("named-readtables" ,sbcl-named-readtables)
8137983a 7303 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
88f06fd0
PN
7304 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7305 ("global-vars" ,sbcl-global-vars)
7306 ("trivial-file-size" ,sbcl-trivial-file-size)
7307 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7308 (native-inputs
7309 `(("fiveam" ,sbcl-fiveam)
7310 ("local-time" ,sbcl-local-time)))
7311 (arguments
7312 '(#:phases
7313 (modify-phases %standard-phases
7314 (add-after 'unpack 'disable-failing-tests
7315 (lambda* (#:key inputs #:allow-other-keys)
7316 (substitute* "serapeum.asd"
7317 ;; Guix does not have Quicklisp, and probably never will.
7318 (("\\(:file \"quicklisp\"\\)") ""))
7319 #t)))))
7320 (synopsis "Common Lisp utility library beyond Alexandria")
7321 (description
7322 "Serapeum is a conservative library of Common Lisp utilities. It is a
7323supplement, not a competitor, to Alexandria.")
7324 (license license:expat))))
7325
7326(define-public cl-serapeum
7327 (sbcl-package->cl-source-package sbcl-serapeum))
7328
7329(define-public sbcl-arrows
7330 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7331 (revision "0"))
7332 (package
7333 (name "sbcl-arrows")
7334 (version (git-version "0.2.0" revision commit))
7335 (source
7336 (origin
7337 (method git-fetch)
7338 (uri (git-reference
7339 (url "https://gitlab.com/Harleqin/arrows.git")
7340 (commit commit)))
7341 (file-name (git-file-name name version))
7342 (sha256
7343 (base32
7344 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7345 (build-system asdf-build-system/sbcl)
7346 (native-inputs
7347 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7348 (synopsis "Clojure-like arrow macros for Common Lisp")
7349 (description
7350 "This library implements the @code{->} and @code{->>} macros from
7351Clojure, as well as several expansions on the idea.")
7352 (home-page "https://gitlab.com/Harleqin/arrows")
7353 (license license:public-domain))))
7354
7355(define-public cl-arrows
7356 (sbcl-package->cl-source-package sbcl-arrows))
7357
7358(define-public ecl-arrows
7359 (sbcl-package->ecl-package sbcl-arrows))
7360
7361(define-public sbcl-simple-parallel-tasks
7362 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7363 (revision "0"))
7364 (package
7365 (name "sbcl-simple-parallel-tasks")
7366 (version (git-version "1.0" revision commit))
7367 (source
7368 (origin
7369 (method git-fetch)
7370 (uri (git-reference
b0e7b699 7371 (url "https://github.com/glv2/simple-parallel-tasks")
88f06fd0
PN
7372 (commit commit)))
7373 (file-name (git-file-name name version))
7374 (sha256
7375 (base32
7376 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7377 (build-system asdf-build-system/sbcl)
7378 (native-inputs
7379 `(("fiveam" ,sbcl-fiveam)))
7380 (inputs
7381 `(("chanl" ,sbcl-chanl)))
7382 (synopsis "Common Lisp library to evaluate some forms in parallel")
7383 (description "This is a simple Common Lisp library to evaluate some
7384forms in parallel.")
7385 (home-page "https://github.com/glv2/simple-parallel-tasks")
7386 (license license:gpl3))))
7387
7388(define-public cl-simple-parallel-tasks
7389 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7390
7391(define-public ecl-simple-parallel-tasks
7392 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7393
7394(define-public sbcl-cl-heap
7395 (package
7396 (name "sbcl-cl-heap")
7397 (version "0.1.6")
7398 (source
7399 (origin
7400 (method url-fetch)
7401 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7402 "cl-heap_" version ".tar.gz"))
7403 (sha256
7404 (base32
7405 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7406 (build-system asdf-build-system/sbcl)
7407 (native-inputs
7408 `(("xlunit" ,sbcl-xlunit)))
7409 (arguments
7410 `(#:test-asd-file "cl-heap-tests.asd"))
7411 (synopsis "Heap and priority queue data structures for Common Lisp")
7412 (description
7413 "CL-HEAP provides various implementations of heap data structures (a
7414binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7415 (home-page "https://common-lisp.net/project/cl-heap/")
7416 (license license:gpl3+)))
7417
7418(define-public cl-heap
7419 (sbcl-package->cl-source-package sbcl-cl-heap))
7420
7421(define-public ecl-cl-heap
7422 (sbcl-package->ecl-package sbcl-cl-heap))
7423
7424(define-public sbcl-curry-compose-reader-macros
7425 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7426 (revision "0"))
7427 (package
7428 (name "sbcl-curry-compose-reader-macros")
7429 (version (git-version "1.0.0" revision commit))
7430 (source
7431 (origin
7432 (method git-fetch)
7433 (uri
7434 (git-reference
b0e7b699 7435 (url "https://github.com/eschulte/curry-compose-reader-macros")
88f06fd0
PN
7436 (commit commit)))
7437 (file-name (git-file-name name version))
7438 (sha256
7439 (base32
7440 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7441 (build-system asdf-build-system/sbcl)
7442 (inputs
7443 `(("alexandria" ,sbcl-alexandria)
7444 ("named-readtables" ,sbcl-named-readtables)))
7445 (synopsis "Reader macros for partial application and composition")
7446 (description
7447 "This Common Lisp library provides reader macros for concise expression
7448of function partial application and composition.")
7449 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7450 (license license:public-domain))))
7451
7452(define-public cl-curry-compose-reader-macros
7453 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7454
7455(define-public ecl-curry-compose-reader-macros
7456 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7457
7458(define-public sbcl-yason
7459 (package
7460 (name "sbcl-yason")
7461 (version "0.7.7")
7462 (source
7463 (origin
7464 (method git-fetch)
7465 (uri (git-reference
b0e7b699 7466 (url "https://github.com/phmarek/yason")
88f06fd0
PN
7467 (commit (string-append "v" version))))
7468 (file-name (git-file-name name version))
7469 (sha256
7470 (base32
7471 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7472 (build-system asdf-build-system/sbcl)
7473 (inputs
7474 `(("alexandria" ,sbcl-alexandria)
7475 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7476 (synopsis "Common Lisp JSON parser/encoder")
7477 (description
7478 "YASON is a Common Lisp library for encoding and decoding data in the
7479JSON interchange format.")
7480 (home-page "https://github.com/phmarek/yason")
7481 (license license:bsd-3)))
7482
7483(define-public cl-yason
7484 (sbcl-package->cl-source-package sbcl-yason))
7485
7486(define-public ecl-yason
7487 (sbcl-package->ecl-package sbcl-yason))
7488
7489(define-public sbcl-stefil
7490 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7491 (revision "0"))
7492 (package
7493 (name "sbcl-stefil")
7494 (version (git-version "0.1" revision commit))
7495 (source
7496 (origin
7497 (method git-fetch)
7498 (uri (git-reference
7499 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7500 (commit commit)))
7501 (file-name (git-file-name name version))
7502 (sha256
7503 (base32
7504 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7505 (build-system asdf-build-system/sbcl)
7506 (inputs
7507 `(("alexandria" ,sbcl-alexandria)
7508 ("iterate" ,sbcl-iterate)
7509 ("metabang-bind" ,sbcl-metabang-bind)))
7510 (propagated-inputs
7511 ;; Swank doesn't have a pre-compiled package, therefore we must
7512 ;; propagate its sources.
7513 `(("swank" ,cl-slime-swank)))
7514 (arguments
7515 '(#:phases
7516 (modify-phases %standard-phases
7517 (add-after 'unpack 'drop-unnecessary-dependency
7518 (lambda _
7519 (substitute* "package.lisp"
7520 ((":stefil-system") ""))
7521 #t)))))
7522 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7523 (synopsis "Simple test framework")
7524 (description
7525 "Stefil is a simple test framework for Common Lisp, with a focus on
7526interactive development.")
7527 (license license:public-domain))))
7528
7529(define-public cl-stefil
7530 (sbcl-package->cl-source-package sbcl-stefil))
7531
7532(define-public sbcl-graph
7533 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7534 (revision "0"))
7535 (package
7536 (name "sbcl-graph")
7537 (version (git-version "0.0.0" revision commit))
7538 (source
7539 (origin
7540 (method git-fetch)
7541 (uri
7542 (git-reference
b0e7b699 7543 (url "https://github.com/eschulte/graph")
88f06fd0
PN
7544 (commit commit)))
7545 (file-name (git-file-name name version))
7546 (sha256
7547 (base32
7548 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7549 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7550 (build-system asdf-build-system/sbcl)
7551 (native-inputs
7552 `(("stefil" ,sbcl-stefil)))
7553 (inputs
7554 `(("alexandria" ,sbcl-alexandria)
7555 ("cl-heap" ,sbcl-cl-heap)
7556 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7557 ("metabang-bind" ,sbcl-metabang-bind)
7558 ("named-readtables" ,sbcl-named-readtables)))
7559 (arguments
17c015c9 7560 '(#:test-asd-file "graph-test.asd"))
88f06fd0
PN
7561 (synopsis "Graph data structure and algorithms for Common Lisp")
7562 (description
7563 "The GRAPH Common Lisp library provides a data structures to represent
7564graphs, as well as some graph manipulation and analysis algorithms (shortest
7565path, maximum flow, minimum spanning tree, etc.).")
7566 (home-page "https://eschulte.github.io/graph/")
7567 (license license:gpl3+))))
7568
7569(define-public cl-graph
7570 (sbcl-package->cl-source-package sbcl-graph))
7571
7572(define-public sbcl-graph-dot
7573 (package
7574 (inherit sbcl-graph)
7575 (name "sbcl-graph-dot")
7576 (inputs
7577 `(("alexandria" ,sbcl-alexandria)
7578 ("cl-ppcre" ,sbcl-cl-ppcre)
7579 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7580 ("graph" ,sbcl-graph)
7581 ("metabang-bind" ,sbcl-metabang-bind)
7582 ("named-readtables" ,sbcl-named-readtables)))
7583 (arguments
7584 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7585 ((#:asd-file _ "") "graph-dot.asd")
88f06fd0
PN
7586 ((#:asd-system-name _ #f) "graph-dot")))
7587 (synopsis "Serialize graphs to and from DOT format")))
7588
7589(define-public sbcl-graph-json
7590 (package
7591 (inherit sbcl-graph)
7592 (name "sbcl-graph-json")
7593 (inputs
7594 `(("alexandria" ,sbcl-alexandria)
7595 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7596 ("graph" ,sbcl-graph)
7597 ("metabang-bind" ,sbcl-metabang-bind)
7598 ("named-readtables" ,sbcl-named-readtables)
7599 ("yason" ,sbcl-yason)))
7600 (arguments
7601 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7602 ((#:asd-file _ "") "graph-json.asd")
88f06fd0
PN
7603 ((#:asd-system-name _ #f) "graph-json")))
7604 (synopsis "Serialize graphs to and from JSON format")))
3029b585
PN
7605
7606(define-public sbcl-trivial-indent
7607 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7608 (revision "0"))
7609 (package
7610 (name "sbcl-trivial-indent")
7611 (version (git-version "1.0.0" revision commit))
7612 (source
7613 (origin
7614 (method git-fetch)
7615 (uri
7616 (git-reference
7617 (url "https://github.com/Shinmera/trivial-indent")
7618 (commit commit)))
7619 (file-name (git-file-name name version))
7620 (sha256
7621 (base32
7622 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7623 (build-system asdf-build-system/sbcl)
7624 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7625 (description
7626 "This library allows you to define custom indentation hints for your
7627macros if the one recognised by SLIME automatically produces unwanted
7628results.")
7629 (home-page "https://shinmera.github.io/trivial-indent/")
7630 (license license:zlib))))
7631
7632(define-public cl-trivial-indent
7633 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f
PN
7634
7635(define-public sbcl-documentation-utils
7636 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7637 (revision "0"))
7638 (package
7639 (name "sbcl-documentation-utils")
7640 (version (git-version "1.2.0" revision commit))
7641 (source
7642 (origin
7643 (method git-fetch)
7644 (uri
7645 (git-reference
b0e7b699 7646 (url "https://github.com/Shinmera/documentation-utils")
8dc5ff8f
PN
7647 (commit commit)))
7648 (file-name (git-file-name name version))
7649 (sha256
7650 (base32
7651 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7652 (build-system asdf-build-system/sbcl)
7653 (inputs
7654 `(("trivial-indent" ,sbcl-trivial-indent)))
7655 (synopsis "Few simple tools to document Common Lisp libraries")
7656 (description
7657 "This is a small library to help you with managing the Common Lisp
7658docstrings for your library.")
7659 (home-page "https://shinmera.github.io/documentation-utils/")
7660 (license license:zlib))))
7661
7662(define-public cl-documentation-utils
7663 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7664
281537f4
GLV
7665(define-public ecl-documentation-utils
7666 (sbcl-package->ecl-package sbcl-documentation-utils))
7667
aa47c9e7
PN
7668(define-public sbcl-form-fiddle
7669 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7670 (revision "0"))
7671 (package
7672 (name "sbcl-form-fiddle")
7673 (version (git-version "1.1.0" revision commit))
7674 (source
7675 (origin
7676 (method git-fetch)
7677 (uri
7678 (git-reference
7679 (url "https://github.com/Shinmera/form-fiddle")
7680 (commit commit)))
7681 (file-name (git-file-name name version))
7682 (sha256
7683 (base32
7684 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7685 (build-system asdf-build-system/sbcl)
7686 (inputs
7687 `(("documentation-utils" ,sbcl-documentation-utils)))
7688 (synopsis "Utilities to destructure Common Lisp lambda forms")
7689 (description
7690 "Often times we need to destructure a form definition in a Common Lisp
7691macro. This library provides a set of simple utilities to help with that.")
7692 (home-page "https://shinmera.github.io/form-fiddle/")
7693 (license license:zlib))))
7694
7695(define-public cl-form-fiddle
7696 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13
PN
7697
7698(define-public sbcl-parachute
7699 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7700 (revision "0"))
7701 (package
7702 (name "sbcl-parachute")
7703 (version (git-version "1.1.1" revision commit))
7704 (source
7705 (origin
7706 (method git-fetch)
7707 (uri
7708 (git-reference
7709 (url "https://github.com/Shinmera/parachute")
7710 (commit commit)))
7711 (file-name (git-file-name name version))
7712 (sha256
7713 (base32
7714 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7715 (build-system asdf-build-system/sbcl)
7716 (inputs
7717 `(("documentation-utils" ,sbcl-documentation-utils)
7718 ("form-fiddle" ,sbcl-form-fiddle)))
7719 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7720 (description
7721 "Parachute is a simple-to-use and extensible testing framework.
7722In Parachute, things are organised as a bunch of named tests within a package.
7723Each test can contain a bunch of test forms that make up its body.")
7724 (home-page "https://shinmera.github.io/parachute/")
7725 (license license:zlib))))
7726
7727(define-public cl-parachute
7728 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68
PN
7729
7730(define-public sbcl-array-utils
7731 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7732 (revision "0"))
7733 (package
7734 (name "sbcl-array-utils")
7735 (version (git-version "1.1.1" revision commit))
7736 (source
7737 (origin
7738 (method git-fetch)
7739 (uri
7740 (git-reference
7741 (url "https://github.com/Shinmera/array-utils")
7742 (commit commit)))
7743 (file-name (git-file-name name version))
7744 (sha256
7745 (base32
7746 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7747 (build-system asdf-build-system/sbcl)
7748 (native-inputs
7749 `(("parachute" ,sbcl-parachute)))
7750 (inputs
7751 `(("documentation-utils" ,sbcl-documentation-utils)))
7752 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7753 (description
7754 "A miniature toolkit that contains some useful shifting/popping/pushing
7755functions for arrays and vectors. Originally from Plump.")
7756 (home-page "https://shinmera.github.io/array-utils/")
7757 (license license:zlib))))
7758
7759(define-public cl-array-utils
7760 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4
PN
7761
7762(define-public sbcl-plump
ef4a5a85
PN
7763 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7764 (revision "1"))
cbda07d4
PN
7765 (package
7766 (name "sbcl-plump")
7767 (version (git-version "2.0.0" revision commit))
7768 (source
7769 (origin
7770 (method git-fetch)
7771 (uri
7772 (git-reference
7773 (url "https://github.com/Shinmera/plump")
7774 (commit commit)))
7775 (file-name (git-file-name name version))
7776 (sha256
7777 (base32
ef4a5a85 7778 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
cbda07d4
PN
7779 (build-system asdf-build-system/sbcl)
7780 (inputs
7781 `(("array-utils" ,sbcl-array-utils)
7782 ("documentation-utils" ,sbcl-documentation-utils)))
7783 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7784 (description
7785 "Plump is a parser for HTML/XML-like documents, focusing on being
7786lenient towards invalid markup. It can handle things like invalid attributes,
7787bad closing tag order, unencoded entities, inexistent tag types, self-closing
7788tags and so on. It parses documents to a class representation and offers a
7789small set of DOM functions to manipulate it. It can be extended to parse to
7790your own classes.")
7791 (home-page "https://shinmera.github.io/plump/")
7792 (license license:zlib))))
7793
7794(define-public cl-plump
7795 (sbcl-package->cl-source-package sbcl-plump))
20972e4e
KCB
7796
7797(define-public sbcl-antik-base
7798 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7799 (revision "1"))
7800 (package
7801 (name "sbcl-antik-base")
7802 (version (git-version "0.0.0" revision commit))
7803 (source
7804 (origin
7805 (method git-fetch)
7806 (uri (git-reference
7807 (url "https://gitlab.common-lisp.net/antik/antik.git")
7808 (commit commit)))
7809 (file-name (git-file-name name version))
7810 (sha256
7811 (base32
7812 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7813 (build-system asdf-build-system/sbcl)
7814 (inputs
7815 `(("alexandria" ,sbcl-alexandria)
7816 ("cl-ppcre" ,sbcl-cl-ppcre)
7817 ("iterate" ,sbcl-iterate)
7818 ("metabang-bind" ,sbcl-metabang-bind)
7819 ("named-readtables" ,sbcl-named-readtables)
7820 ("split-sequence" ,sbcl-split-sequence)))
7821 (native-inputs
7822 `(("lisp-unit" ,sbcl-lisp-unit)))
7823 (synopsis "Scientific and engineering computation in Common Lisp")
7824 (description
7825 "Antik provides a foundation for scientific and engineering
7826computation in Common Lisp. It is designed not only to facilitate
7827numerical computations, but to permit the use of numerical computation
7828libraries and the interchange of data and procedures, whether
7829foreign (non-Lisp) or Lisp libraries. It is named after the
7830Antikythera mechanism, one of the oldest examples of a scientific
7831computer known.")
7832 (home-page "https://common-lisp.net/project/antik/")
7833 (license license:gpl3))))
7834
7835(define-public cl-antik-base
7836 (sbcl-package->cl-source-package sbcl-antik-base))
7837
7838(define-public ecl-antik-base
7839 (sbcl-package->ecl-package sbcl-antik-base))
29411ae4
KCB
7840
7841(define-public sbcl-foreign-array
7842 (package
7843 (inherit sbcl-antik-base)
7844 (name "sbcl-foreign-array")
7845 (arguments
7846 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7847 ((#:asd-file _ "") "foreign-array.asd")
7848 ((#:asd-system-name _ #f) "foreign-array")))
7849 (inputs
7850 `(("antik-base" ,sbcl-antik-base)
7851 ("cffi" ,sbcl-cffi)
7852 ("trivial-garbage" ,sbcl-trivial-garbage)
7853 ("static-vectors" ,sbcl-static-vectors)))
7854 (synopsis "Common Lisp library providing access to foreign arrays")))
7855
7856(define-public cl-foreign-array
7857 (sbcl-package->cl-source-package sbcl-foreign-array))
7858
7859(define-public ecl-foreign-array
7860 (sbcl-package->ecl-package sbcl-foreign-array))
f67e34db
KCB
7861
7862(define-public sbcl-physical-dimension
7863 (package
7864 (inherit sbcl-antik-base)
7865 (name "sbcl-physical-dimension")
7866 (inputs
7867 `(("fare-utils" ,sbcl-fare-utils)
7868 ("foreign-array" ,sbcl-foreign-array)
7869 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7870 (arguments
7871 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7872 ((#:asd-file _ "") "physical-dimension.asd")
7873 ((#:asd-system-name _ #f) "physical-dimension")))
7874 (synopsis
7875 "Common Lisp library providing computations with physical units")))
7876
7877(define-public cl-physical-dimension
7878 (sbcl-package->cl-source-package sbcl-physical-dimension))
812d0618
KCB
7879
7880(define-public sbcl-science-data
7881 (package
7882 (inherit sbcl-antik-base)
7883 (name "sbcl-science-data")
7884 (inputs
7885 `(("physical-dimension" ,sbcl-physical-dimension)
7886 ("drakma" ,sbcl-drakma)))
7887 (arguments
7888 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7889 ((#:asd-file _ "") "science-data.asd")
7890 ((#:asd-system-name _ #f) "science-data")))
7891 (synopsis
7892 "Common Lisp library for scientific and engineering numerical data")))
7893
7894(define-public cl-science-data
7895 (sbcl-package->cl-source-package sbcl-science-data))
064dbb71
KCB
7896
7897(define-public sbcl-gsll
7898 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7899 (revision "1"))
7900 (package
7901 (name "sbcl-gsll")
7902 (version (git-version "0.0.0" revision commit))
7903 (source
7904 (origin
7905 (method git-fetch)
7906 (uri (git-reference
7907 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7908 (commit commit)))
7909 (file-name (git-file-name name version))
7910 (sha256
7911 (base32
7912 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7913 (build-system asdf-build-system/sbcl)
7914 (native-inputs
7915 `(("lisp-unit" ,sbcl-lisp-unit)))
7916 (inputs
7917 `(("alexandria" ,sbcl-alexandria)
7918 ("cffi-grovel" ,sbcl-cffi-grovel)
7919 ("cffi-libffi" ,sbcl-cffi-libffi)
7920 ("foreign-array" ,sbcl-foreign-array)
7921 ("gsl" ,gsl)
7922 ("metabang-bind" ,sbcl-metabang-bind)
7923 ("trivial-features" ,sbcl-trivial-features)
7924 ("trivial-garbage" ,sbcl-trivial-garbage)))
7925 (arguments
7926 `(#:tests? #f
7927 #:phases
7928 (modify-phases %standard-phases
7929 (add-after 'unpack 'fix-cffi-paths
7930 (lambda* (#:key inputs #:allow-other-keys)
7931 (substitute* "gsll.asd"
7932 ((":depends-on \\(#:foreign-array")
7933 ":depends-on (#:foreign-array #:cffi-libffi"))
7934 (substitute* "init/init.lisp"
7935 (("libgslcblas.so" all)
7936 (string-append
7937 (assoc-ref inputs "gsl") "/lib/" all)))
7938 (substitute* "init/init.lisp"
7939 (("libgsl.so" all)
7940 (string-append
7941 (assoc-ref inputs "gsl") "/lib/" all))))))))
7942 (synopsis "GNU Scientific Library for Lisp")
7943 (description
7944 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7945GNU Scientific Library (GSL) from Common Lisp. This library provides a
7946full range of common mathematical operations useful to scientific and
7947engineering applications. The design of the GSLL interface is such
7948that access to most of the GSL library is possible in a Lisp-natural
7949way; the intent is that the user not be hampered by the restrictions
7950of the C language in which GSL has been written. GSLL thus provides
7951interactive use of GSL for getting quick answers, even for someone not
7952intending to program in Lisp.")
7953 (home-page "https://common-lisp.net/project/gsll/")
7954 (license license:gpl3))))
7955
7956(define-public cl-gsll
7957 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca
KCB
7958
7959(define-public sbcl-antik
7960 (package
7961 (inherit sbcl-antik-base)
7962 (name "sbcl-antik")
7963 (inputs
7964 `(("gsll" ,sbcl-gsll)
7965 ("physical-dimension" ,sbcl-physical-dimension)))
7966 (arguments
7967 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7968 ((#:asd-file _ "") "antik.asd")
7969 ((#:asd-system-name _ #f) "antik")))))
7970
7971(define-public cl-antik
7972 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
7973
7974(define-public sbcl-cl-interpol
7975 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7976 (revision "1"))
7977 (package
7978 (name "sbcl-cl-interpol")
7979 (version (git-version "0.2.6" revision commit))
7980 (source
7981 (origin
7982 (method git-fetch)
7983 (uri (git-reference
b0e7b699 7984 (url "https://github.com/edicl/cl-interpol")
7b0bb0d1
KCB
7985 (commit commit)))
7986 (file-name (git-file-name name version))
7987 (sha256
7988 (base32
7989 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7990 (build-system asdf-build-system/sbcl)
7991 (inputs
7992 `(("cl-unicode" ,sbcl-cl-unicode)
7993 ("named-readtables" ,sbcl-named-readtables)))
7994 (native-inputs
7995 `(("flexi-streams" ,sbcl-flexi-streams)))
7996 (synopsis "String interpolation for Common Lisp")
7997 (description
7998 "CL-INTERPOL is a library for Common Lisp which modifies the
7999reader so that you can have interpolation within strings similar to
8000Perl or Unix Shell scripts. It also provides various ways to insert
8001arbitrary characters into literal strings even if your editor/IDE
8002doesn't support them.")
8003 (home-page "https://edicl.github.io/cl-interpol/")
8004 (license license:bsd-3))))
8005
8006(define-public cl-interpol
8007 (sbcl-package->cl-source-package sbcl-cl-interpol))
8008
8009(define-public ecl-cl-interpol
8010 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92
KCB
8011
8012(define sbcl-symbol-munger-boot0
8013 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8014 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8015 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
8016 (revision "1"))
8017 (package
8018 (name "sbcl-symbol-munger-boot0")
8019 (version (git-version "0.0.1" revision commit))
8020 (source
8021 (origin
8022 (method git-fetch)
8023 (uri (git-reference
b0e7b699 8024 (url "https://github.com/AccelerationNet/symbol-munger")
14ef7a92
KCB
8025 (commit commit)))
8026 (file-name (git-file-name name version))
8027 (sha256
8028 (base32
8029 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
8030 (build-system asdf-build-system/sbcl)
8031 (arguments
8032 `(#:asd-file "symbol-munger.asd"
8033 #:asd-system-name "symbol-munger"))
8034 (inputs
8035 `(("iterate" ,sbcl-iterate)
8036 ("alexandria" ,sbcl-alexandria)))
8037 (native-inputs
8038 `(("lisp-unit" ,sbcl-lisp-unit)))
8039 (synopsis
8040 "Capitalization and spacing conversion functions for Common Lisp")
8041 (description
8042 "This is a Common Lisp library to change the capitalization and spacing
8043of a string or a symbol. It can convert to and from Lisp, english, underscore
8044and camel-case rules.")
8045 (home-page "https://github.com/AccelerationNet/symbol-munger")
8046 ;; The package declares a BSD license, but all of the license
8047 ;; text is MIT.
8048 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8049 (license license:expat))))
8050
8051(define sbcl-lisp-unit2-boot0
8052 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8053 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8054 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8055 (revision "1"))
8056 (package
8057 (name "sbcl-lisp-unit2-boot0")
8058 (version (git-version "0.2.0" revision commit))
8059 (source
8060 (origin
8061 (method git-fetch)
8062 (uri (git-reference
b0e7b699 8063 (url "https://github.com/AccelerationNet/lisp-unit2")
14ef7a92
KCB
8064 (commit commit)))
8065 (file-name (git-file-name name version))
8066 (sha256
8067 (base32
8068 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8069 (build-system asdf-build-system/sbcl)
8070 (arguments
8071 `(#:asd-file "lisp-unit2.asd"
8072 #:asd-system-name "lisp-unit2"))
8073 (inputs
8074 `(("alexandria" ,sbcl-alexandria)
8075 ("cl-interpol" ,sbcl-cl-interpol)
8076 ("iterate" ,sbcl-iterate)
8077 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8078 (synopsis "Test Framework for Common Lisp")
8079 (description
8080 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8081style of JUnit for Java. It is a new version of the lisp-unit library written
8082by Chris Riesbeck.")
8083 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8084 (license license:expat))))
edfa2261
KCB
8085
8086(define-public sbcl-symbol-munger
8087 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8088 (revision "1"))
8089 (package
8090 (name "sbcl-symbol-munger")
8091 (version (git-version "0.0.1" revision commit))
8092 (source
8093 (origin
8094 (method git-fetch)
8095 (uri (git-reference
b0e7b699 8096 (url "https://github.com/AccelerationNet/symbol-munger")
edfa2261
KCB
8097 (commit commit)))
8098 (file-name (git-file-name name version))
8099 (sha256
8100 (base32
8101 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8102 (build-system asdf-build-system/sbcl)
8103 (inputs
8104 `(("alexandria" ,sbcl-alexandria)
8105 ("iterate" ,sbcl-iterate)))
8106 (native-inputs
8107 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8108 (synopsis
8109 "Capitalization and spacing conversion functions for Common Lisp")
8110 (description
8111 "This is a Common Lisp library to change the capitalization and spacing
8112of a string or a symbol. It can convert to and from Lisp, english, underscore
8113and camel-case rules.")
8114 (home-page "https://github.com/AccelerationNet/symbol-munger")
8115 ;; The package declares a BSD license, but all of the license
8116 ;; text is MIT.
8117 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8118 (license license:expat))))
8119
8120(define-public cl-symbol-munger
8121 (sbcl-package->cl-source-package sbcl-symbol-munger))
8122
8123(define-public ecl-symbol-munger
8124 (sbcl-package->ecl-package sbcl-symbol-munger))
b97dbb64
KCB
8125
8126(define-public sbcl-lisp-unit2
8127 (package
8128 (inherit sbcl-lisp-unit2-boot0)
8129 (name "sbcl-lisp-unit2")
8130 (inputs
8131 `(("alexandria" ,sbcl-alexandria)
8132 ("cl-interpol" ,sbcl-cl-interpol)
8133 ("iterate" ,sbcl-iterate)
8134 ("symbol-munger" ,sbcl-symbol-munger)))))
8135
8136(define-public cl-lisp-unit2
8137 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8138
8139(define-public ecl-lisp-unit2
8140 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8141
8142(define-public sbcl-cl-csv
8143 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8144 (revision "1"))
8145 (package
8146 (name "sbcl-cl-csv")
8147 (version (git-version "1.0.6" revision commit))
8148 (source
8149 (origin
8150 (method git-fetch)
8151 (uri (git-reference
b0e7b699 8152 (url "https://github.com/AccelerationNet/cl-csv")
f4448e43
KCB
8153 (commit commit)))
8154 (file-name (git-file-name name version))
8155 (sha256
8156 (base32
8157 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8158 (build-system asdf-build-system/sbcl)
8159 (arguments
8160 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8161 `(#:tests? #f))
8162 (inputs
8163 `(("alexandria" ,sbcl-alexandria)
8164 ("cl-interpol" ,sbcl-cl-interpol)
8165 ("iterate" ,sbcl-iterate)))
8166 (native-inputs
8167 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8168 (synopsis "Common lisp library for comma-separated values")
8169 (description
8170 "This is a Common Lisp library providing functions to read/write CSV
8171from/to strings, streams and files.")
8172 (home-page "https://github.com/AccelerationNet/cl-csv")
8173 (license license:bsd-3))))
8174
8175(define-public cl-csv
8176 (sbcl-package->cl-source-package sbcl-cl-csv))
8177
8178(define-public ecl-cl-csv
8179 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8180
8181(define-public sbcl-external-program
8182 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8183 (revision "1"))
8184 (package
8185 (name "sbcl-external-program")
8186 (version (git-version "0.0.6" revision commit))
8187 (source
8188 (origin
8189 (method git-fetch)
8190 (uri (git-reference
b0e7b699 8191 (url "https://github.com/sellout/external-program")
6f0c2c95
KCB
8192 (commit commit)))
8193 (file-name (git-file-name name version))
8194 (sha256
8195 (base32
8196 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8197 (build-system asdf-build-system/sbcl)
8198 (inputs
8199 `(("trivial-features" ,sbcl-trivial-features)))
8200 (native-inputs
8201 `(("fiveam" ,sbcl-fiveam)))
8202 (synopsis "Common Lisp library for running external programs")
8203 (description
8204 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8205process. It is an attempt to make the RUN-PROGRAM functionality in
8206implementations like SBCL and CCL as portable as possible without
8207sacrificing much in the way of power.")
8208 (home-page "https://github.com/sellout/external-program")
8209 (license license:llgpl))))
8210
8211(define-public cl-external-program
8212 (sbcl-package->cl-source-package sbcl-external-program))
8213
8214(define-public ecl-external-program
8215 (sbcl-package->ecl-package sbcl-external-program))
710a2815
KCB
8216
8217(define sbcl-cl-ana-boot0
8218 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8219 (revision "1"))
8220 (package
8221 (name "sbcl-cl-ana-boot0")
8222 (version (git-version "0.0.0" revision commit))
8223 (source
8224 (origin
8225 (method git-fetch)
8226 (uri (git-reference
b0e7b699 8227 (url "https://github.com/ghollisjr/cl-ana")
710a2815
KCB
8228 (commit commit)))
8229 (file-name (git-file-name name version))
8230 (sha256
8231 (base32
8232 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8233 (build-system asdf-build-system/sbcl)
8234 (synopsis "Common Lisp data analysis library")
8235 (description
8236 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8237binned data analysis along with nonlinear least squares fitting and
8238visualization.")
8239 (home-page "https://github.com/ghollisjr/cl-ana")
8240 (license license:gpl3))))
8241
8242(define-public sbcl-cl-ana.pathname-utils
8243 (package
8244 (inherit sbcl-cl-ana-boot0)
8245 (name "sbcl-cl-ana.pathname-utils")
8246 (arguments
8247 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8248 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8249 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8250
8251(define-public cl-ana.pathname-utils
8252 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8253
8254(define-public ecl-cl-ana.pathname-utils
8255 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
dc60235b
KCB
8256
8257(define-public sbcl-cl-ana.package-utils
8258 (package
8259 (inherit sbcl-cl-ana-boot0)
8260 (name "sbcl-cl-ana.package-utils")
8261 (inputs
8262 `(("alexandria" ,sbcl-alexandria)))
8263 (arguments
8264 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8265 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8266 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8267
8268(define-public cl-ana.package-utils
8269 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8270
8271(define-public ecl-cl-ana.package-utils
8272 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
d9d3a1a8
KCB
8273
8274(define-public sbcl-cl-ana.string-utils
8275 (package
8276 (inherit sbcl-cl-ana-boot0)
8277 (name "sbcl-cl-ana.string-utils")
8278 (inputs
8279 `(("split-sequence" ,sbcl-split-sequence)))
8280 (arguments
8281 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8282 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8283 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8284
8285(define-public cl-ana.string-utils
8286 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8287
8288(define-public ecl-cl-ana.string-utils
8289 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
927895d7
KCB
8290
8291(define-public sbcl-cl-ana.functional-utils
8292 (package
8293 (inherit sbcl-cl-ana-boot0)
8294 (name "sbcl-cl-ana.functional-utils")
8295 (arguments
8296 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8297 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8298 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8299
8300(define-public cl-ana.functional-utils
8301 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8302
8303(define-public ecl-cl-ana.functional-utils
8304 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
ea988c3b
KCB
8305
8306(define-public sbcl-cl-ana.list-utils
8307 (package
8308 (inherit sbcl-cl-ana-boot0)
8309 (name "sbcl-cl-ana.list-utils")
8310 (inputs
8311 `(("alexandria" ,sbcl-alexandria)
8312 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8313 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8314 (arguments
8315 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8316 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8317 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8318
8319(define-public cl-ana.list-utils
8320 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8321
8322(define-public ecl-cl-ana.list-utils
8323 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
35b5ca24
KCB
8324
8325(define-public sbcl-cl-ana.generic-math
8326 (package
8327 (inherit sbcl-cl-ana-boot0)
8328 (name "sbcl-cl-ana.generic-math")
8329 (inputs
8330 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8331 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8332 (arguments
8333 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8334 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8335 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8336
8337(define-public cl-ana.generic-math
8338 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8339
8340(define-public ecl-cl-ana.generic-math
8341 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
6d69c5b4
KCB
8342
8343(define-public sbcl-cl-ana.math-functions
8344 (package
8345 (inherit sbcl-cl-ana-boot0)
8346 (name "sbcl-cl-ana.math-functions")
8347 (inputs
8348 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8349 ("gsll" ,sbcl-gsll)))
8350 (arguments
8351 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8352 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8353 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8354
8355(define-public cl-ana.math-functions
8356 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
39ba698b
KCB
8357
8358(define-public sbcl-cl-ana.calculus
8359 (package
8360 (inherit sbcl-cl-ana-boot0)
8361 (name "sbcl-cl-ana.calculus")
8362 (inputs
8363 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8364 (arguments
8365 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8366 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8367 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8368
8369(define-public cl-ana.calculus
8370 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8371
8372(define-public ecl-cl-ana.calculus
8373 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
ad09a96a
KCB
8374
8375(define-public sbcl-cl-ana.symbol-utils
8376 (package
8377 (inherit sbcl-cl-ana-boot0)
8378 (name "sbcl-cl-ana.symbol-utils")
8379 (inputs
8380 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8381 (arguments
8382 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8383 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8384 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8385
8386(define-public cl-ana.symbol-utils
8387 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8388
8389(define-public ecl-cl-ana.symbol-utils
8390 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
141d96e1
KCB
8391
8392(define-public sbcl-cl-ana.macro-utils
8393 (package
8394 (inherit sbcl-cl-ana-boot0)
8395 (name "sbcl-cl-ana.macro-utils")
8396 (inputs
8397 `(("alexandria" ,sbcl-alexandria)
8398 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8399 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8400 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8401 ("split-sequence" ,sbcl-split-sequence)))
8402 (arguments
8403 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8404 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8405 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8406
8407(define-public cl-ana.macro-utils
8408 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8409
8410(define-public ecl-cl-ana.macro-utils
8411 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
7468ca3c
KCB
8412
8413(define-public sbcl-cl-ana.binary-tree
8414 (package
8415 (inherit sbcl-cl-ana-boot0)
8416 (name "sbcl-cl-ana.binary-tree")
8417 (inputs
8418 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8419 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8420 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8421 (arguments
8422 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8423 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8424 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8425
8426(define-public cl-ana.binary-tree
8427 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8428
8429(define-public ecl-cl-ana.binary-tree
8430 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
f69f0235
KCB
8431
8432(define-public sbcl-cl-ana.tensor
8433 (package
8434 (inherit sbcl-cl-ana-boot0)
8435 (name "sbcl-cl-ana.tensor")
8436 (inputs
8437 `(("alexandria" ,sbcl-alexandria)
8438 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8439 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8440 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8441 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8442 (arguments
8443 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8444 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8445 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8446
8447(define-public cl-ana.tensor
8448 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8449
8450(define-public ecl-cl-ana.tensor
8451 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
87e58e2b
KCB
8452
8453(define-public sbcl-cl-ana.error-propogation
8454 (package
8455 (inherit sbcl-cl-ana-boot0)
8456 (name "sbcl-cl-ana.error-propogation")
8457 (inputs
8458 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8459 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8460 (arguments
8461 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8462 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8463 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8464
8465(define-public cl-ana.error-propogation
8466 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
a2aeef61
KCB
8467
8468(define-public sbcl-cl-ana.quantity
8469 (package
8470 (inherit sbcl-cl-ana-boot0)
8471 (name "sbcl-cl-ana.quantity")
8472 (inputs
8473 `(("alexandria" ,sbcl-alexandria)
8474 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8475 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8476 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8477 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8478 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8479 (arguments
8480 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8481 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8482 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8483
8484(define-public cl-ana.quantity
8485 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
fc029fe3
KCB
8486
8487(define-public sbcl-cl-ana.table
8488 (package
8489 (inherit sbcl-cl-ana-boot0)
8490 (name "sbcl-cl-ana.table")
8491 (inputs
8492 `(("alexandria" ,sbcl-alexandria)
8493 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8494 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8495 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8496 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8497 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8498 (arguments
8499 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8500 ((#:asd-file _ "") "table/cl-ana.table.asd")
8501 ((#:asd-system-name _ #f) "cl-ana.table")))))
8502
8503(define-public cl-ana.table
8504 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8505
8506(define-public ecl-cl-ana.table
8507 (sbcl-package->ecl-package sbcl-cl-ana.table))
eac5d1dd
KCB
8508
8509(define-public sbcl-cl-ana.table-utils
8510 (package
8511 (inherit sbcl-cl-ana-boot0)
8512 (name "sbcl-cl-ana.table-utils")
8513 (inputs
8514 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8515 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8516 ("cl-ana.table" ,sbcl-cl-ana.table)))
8517 (arguments
8518 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8519 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8520 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8521
8522(define-public cl-ana.table-utils
8523 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8524
8525(define-public ecl-cl-ana.table-utils
8526 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
769015b9
KCB
8527
8528(define-public sbcl-cl-ana.hdf-cffi
8529 (package
8530 (inherit sbcl-cl-ana-boot0)
8531 (name "sbcl-cl-ana.hdf-cffi")
8532 (inputs
8533 `(("cffi" ,sbcl-cffi)
8534 ("hdf5" ,hdf5-parallel-openmpi)))
8535 (arguments
8536 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8537 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8538 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8539 ((#:phases phases '%standard-phases)
8540 `(modify-phases ,phases
8541 (add-after 'unpack 'fix-paths
8542 (lambda* (#:key inputs #:allow-other-keys)
8543 (substitute* "hdf-cffi/hdf-cffi.lisp"
8544 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8545 (string-append
8546 (assoc-ref inputs "hdf5")
8547 "/lib/libhdf5.so")))))))))))
8548
8549(define-public cl-ana.hdf-cffi
8550 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8551
8552(define-public ecl-cl-ana.hdf-cffi
8553 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
e073d695
KCB
8554
8555(define-public sbcl-cl-ana.int-char
8556 (package
8557 (inherit sbcl-cl-ana-boot0)
8558 (name "sbcl-cl-ana.int-char")
8559 (arguments
8560 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8561 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8562 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8563
8564(define-public cl-ana.int-char
8565 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8566
8567(define-public ecl-cl-ana.int-char
8568 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
011cf6f5
KCB
8569
8570(define-public sbcl-cl-ana.memoization
8571 (package
8572 (inherit sbcl-cl-ana-boot0)
8573 (name "sbcl-cl-ana.memoization")
8574 (inputs
8575 `(("alexandria" ,sbcl-alexandria)))
8576 (arguments
8577 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8578 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8579 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8580
8581(define-public cl-ana.memoization
8582 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8583
8584(define-public ecl-cl-ana.memoization
8585 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
bc9e1dd2
KCB
8586
8587(define-public sbcl-cl-ana.typespec
8588 (package
8589 (inherit sbcl-cl-ana-boot0)
8590 (name "sbcl-cl-ana.typespec")
8591 (inputs
8592 `(("alexandria" ,sbcl-alexandria)
8593 ("cffi" ,sbcl-cffi)
8594 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8595 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8596 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8597 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8598 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8599 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8600 (arguments
8601 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8602 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8603 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8604
8605(define-public cl-ana.typespec
8606 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8607
8608(define-public ecl-cl-ana.typespec
8609 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
46519981
KCB
8610
8611(define-public sbcl-cl-ana.hdf-typespec
8612 (package
8613 (inherit sbcl-cl-ana-boot0)
8614 (name "sbcl-cl-ana.hdf-typespec")
8615 (inputs
8616 `(("alexandria" ,sbcl-alexandria)
8617 ("cffi" ,sbcl-cffi)
8618 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8619 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8620 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8621 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8622 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8623 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8624 (arguments
8625 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8626 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8627 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8628
8629(define-public cl-ana.hdf-typespec
8630 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8631
8632(define-public ecl-cl-ana.hdf-typespec
8633 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
05216cf7
KCB
8634
8635(define-public sbcl-cl-ana.hdf-utils
8636 (package
8637 (inherit sbcl-cl-ana-boot0)
8638 (name "sbcl-cl-ana.hdf-utils")
8639 (inputs
8640 `(("alexandria" ,sbcl-alexandria)
8641 ("cffi" ,sbcl-cffi)
8642 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8643 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8644 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8645 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8646 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8647 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8648 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8649 (arguments
8650 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8651 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8652 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8653
8654(define-public cl-ana.hdf-utils
8655 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8656
8657(define-public ecl-cl-ana.hdf-utils
8658 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
82900285
KCB
8659
8660(define-public sbcl-cl-ana.typed-table
8661 (package
8662 (inherit sbcl-cl-ana-boot0)
8663 (name "sbcl-cl-ana.typed-table")
8664 (inputs
8665 `(("alexandria" ,sbcl-alexandria)
8666 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8667 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8668 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8669 ("cl-ana.table" ,sbcl-cl-ana.table)
8670 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8671 (arguments
8672 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8673 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8674 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8675
8676(define-public cl-ana.typed-table
8677 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8678
8679(define-public ecl-cl-ana.typed-table
8680 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8e2c140c
KCB
8681
8682(define-public sbcl-cl-ana.hdf-table
8683 (package
8684 (inherit sbcl-cl-ana-boot0)
8685 (name "sbcl-cl-ana.hdf-table")
8686 (inputs
8687 `(("alexandria" ,sbcl-alexandria)
8688 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8689 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8690 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8691 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8692 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8693 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8694 ("cl-ana.table" ,sbcl-cl-ana.table)
8695 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8696 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8697 (arguments
8698 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8699 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8700 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8701
8702(define-public cl-ana.hdf-table
8703 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8704
8705(define-public ecl-cl-ana.hdf-table
8706 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
cd874248
KCB
8707
8708(define-public sbcl-cl-ana.gsl-cffi
8709 (package
8710 (inherit sbcl-cl-ana-boot0)
8711 (name "sbcl-cl-ana.gsl-cffi")
8712 (inputs
8713 `(("cffi" ,sbcl-cffi)
8714 ("gsl" ,gsl)))
8715 (arguments
8716 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8717 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8718 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8719 ((#:phases phases '%standard-phases)
8720 `(modify-phases ,phases
8721 (add-after 'unpack 'fix-paths
8722 (lambda* (#:key inputs #:allow-other-keys)
8723 (substitute* "gsl-cffi/gsl-cffi.lisp"
8724 (("define-foreign-library gsl-cffi" all)
8725 (string-append all " (:unix "
8726 (assoc-ref inputs "gsl")
8727 "/lib/libgsl.so)")))))))))))
8728
8729(define-public cl-ana.gsl-cffi
8730 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8731
8732(define-public ecl-cl-ana.gsl-cffi
8733 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
14b1a215
KCB
8734
8735(define-public sbcl-cl-ana.ntuple-table
8736 (package
8737 (inherit sbcl-cl-ana-boot0)
8738 (name "sbcl-cl-ana.ntuple-table")
8739 (inputs
8740 `(("alexandria" ,sbcl-alexandria)
8741 ("cffi" ,sbcl-cffi)
8742 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8743 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8744 ("cl-ana.table" ,sbcl-cl-ana.table)
8745 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8746 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8747 ("gsll" ,sbcl-gsll)))
8748 (arguments
8749 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8750 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8751 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8752
8753(define-public cl-ana.ntuple-table
8754 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
89f01125
KCB
8755
8756(define-public sbcl-cl-ana.csv-table
8757 (package
8758 (inherit sbcl-cl-ana-boot0)
8759 (name "sbcl-cl-ana.csv-table")
8760 (inputs
8761 `(("alexandria" ,sbcl-alexandria)
8762 ("antik" ,sbcl-antik)
8763 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8764 ("cl-ana.table" ,sbcl-cl-ana.table)
8765 ("cl-csv" ,sbcl-cl-csv)
8766 ("iterate" ,sbcl-iterate)))
8767 (arguments
8768 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8769 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8770 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8771
8772(define-public cl-ana.csv-table
8773 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
7d500ae4
KCB
8774
8775(define-public sbcl-cl-ana.reusable-table
8776 (package
8777 (inherit sbcl-cl-ana-boot0)
8778 (name "sbcl-cl-ana.reusable-table")
8779 (inputs
8780 `(("alexandria" ,sbcl-alexandria)
8781 ("cl-ana.table" ,sbcl-cl-ana.table)))
8782 (arguments
8783 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8784 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8785 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8786
8787(define-public cl-ana.reusable-table
8788 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8789
8790(define-public ecl-cl-ana.reusable-table
8791 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
01d659f5
KCB
8792
8793(define-public sbcl-cl-ana.linear-algebra
8794 (package
8795 (inherit sbcl-cl-ana-boot0)
8796 (name "sbcl-cl-ana.linear-algebra")
8797 (inputs
8798 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8799 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8800 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8801 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8802 ("gsll" ,sbcl-gsll)))
8803 (arguments
8804 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8805 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8806 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8807
8808(define-public cl-ana.linear-algebra
8809 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
05ec2879
KCB
8810
8811(define-public sbcl-cl-ana.lorentz
8812 (package
8813 (inherit sbcl-cl-ana-boot0)
8814 (name "sbcl-cl-ana.lorentz")
8815 (inputs
8816 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8817 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8818 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8819 ("iterate" ,sbcl-iterate)))
8820 (arguments
8821 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8822 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8823 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8824
8825(define-public cl-ana.lorentz
8826 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
28ffe462
KCB
8827
8828(define-public sbcl-cl-ana.clos-utils
8829 (package
8830 (inherit sbcl-cl-ana-boot0)
8831 (name "sbcl-cl-ana.clos-utils")
8832 (inputs
8833 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8834 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8835 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8836 ("closer-mop" ,sbcl-closer-mop)))
8837 (arguments
8838 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8839 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8840 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8841
8842(define-public cl-ana.clos-utils
8843 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8844
8845(define-public ecl-cl-ana.clos-utils
8846 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
71b76a9b
KCB
8847
8848(define-public sbcl-cl-ana.hash-table-utils
8849 (package
8850 (inherit sbcl-cl-ana-boot0)
8851 (name "sbcl-cl-ana.hash-table-utils")
8852 (arguments
8853 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8854 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8855 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8856
8857(define-public cl-ana.hash-table-utils
8858 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8859
8860(define-public ecl-cl-ana.hash-table-utils
8861 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
c20b30cb
KCB
8862
8863(define-public sbcl-cl-ana.map
8864 (package
8865 (inherit sbcl-cl-ana-boot0)
8866 (name "sbcl-cl-ana.map")
8867 (inputs
8868 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8869 (arguments
8870 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8871 ((#:asd-file _ "") "map/cl-ana.map.asd")
8872 ((#:asd-system-name _ #f) "cl-ana.map")))))
8873
8874(define-public cl-ana.map
8875 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8876
8877(define-public ecl-cl-ana.map
8878 (sbcl-package->ecl-package sbcl-cl-ana.map))
2f7d1dc5
KCB
8879
8880(define-public sbcl-cl-ana.fitting
8881 (package
8882 (inherit sbcl-cl-ana-boot0)
8883 (name "sbcl-cl-ana.fitting")
8884 (inputs
8885 `(("alexandria" ,sbcl-alexandria)
8886 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8887 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8888 ("cl-ana.map" ,sbcl-cl-ana.map)
8889 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8890 ("gsll" ,sbcl-gsll)))
8891 (arguments
8892 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8893 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8894 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8895
8896(define-public cl-ana.fitting
8897 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
dffb0c0e
KCB
8898
8899(define-public sbcl-cl-ana.histogram
8900 (package
8901 (inherit sbcl-cl-ana-boot0)
8902 (name "sbcl-cl-ana.histogram")
8903 (inputs
8904 `(("alexandria" ,sbcl-alexandria)
8905 ("iterate" ,sbcl-iterate)
8906 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8907 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8908 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8909 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8910 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8911 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8912 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8913 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8914 ("cl-ana.map" ,sbcl-cl-ana.map)
8915 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8916 (arguments
8917 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8918 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8919 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8920
8921(define-public cl-ana.histogram
8922 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
d6c13a8e
KCB
8923
8924(define-public sbcl-cl-ana.file-utils
8925 (package
8926 (inherit sbcl-cl-ana-boot0)
8927 (name "sbcl-cl-ana.file-utils")
8928 (inputs
8929 `(("external-program" ,sbcl-external-program)
8930 ("split-sequence" ,sbcl-split-sequence)))
8931 (arguments
8932 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8933 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8934 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8935
8936(define-public cl-ana.file-utils
8937 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8938
8939(define-public ecl-cl-ana.file-utils
8940 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
a47ce94c
KCB
8941
8942(define-public sbcl-cl-ana.statistics
8943 (package
8944 (inherit sbcl-cl-ana-boot0)
8945 (name "sbcl-cl-ana.statistics")
8946 (inputs
8947 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8948 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8949 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8950 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8951 ("cl-ana.map" ,sbcl-cl-ana.map)))
8952 (arguments
8953 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8954 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8955 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8956
8957(define-public cl-ana.statistics
8958 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
81e6c659
KCB
8959
8960(define-public sbcl-cl-ana.gnuplot-interface
8961 (package
8962 (inherit sbcl-cl-ana-boot0)
8963 (name "sbcl-cl-ana.gnuplot-interface")
8964 (inputs
8965 `(("external-program" ,sbcl-external-program)))
8966 (arguments
8967 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8968 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8969 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8970
8971(define-public cl-ana.gnuplot-interface
8972 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8973
8974(define-public ecl-cl-ana.gnuplot-interface
8975 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
0f5350c1
KCB
8976
8977(define-public sbcl-cl-ana.plotting
8978 (package
8979 (inherit sbcl-cl-ana-boot0)
8980 (name "sbcl-cl-ana.plotting")
8981 (inputs
8982 `(("alexandria" ,sbcl-alexandria)
8983 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8984 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8985 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8986 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8987 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8988 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8989 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8990 ("cl-ana.map" ,sbcl-cl-ana.map)
8991 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8992 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8993 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8994 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8995 ("external-program" ,sbcl-external-program)
8996 ("split-sequence" ,sbcl-split-sequence)))
8997 (arguments
8998 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8999 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
9000 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
9001
9002(define-public cl-ana.plotting
9003 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
d521d67a
KCB
9004
9005(define-public sbcl-cl-ana.table-viewing
9006 (package
9007 (inherit sbcl-cl-ana-boot0)
9008 (name "sbcl-cl-ana.table-viewing")
9009 (inputs
9010 `(("alexandria" ,sbcl-alexandria)
9011 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9012 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9013 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9014 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9015 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9016 ("cl-ana.table" ,sbcl-cl-ana.table)))
9017 (arguments
9018 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9019 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
9020 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
9021
9022(define-public cl-ana.table-viewing
9023 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
f97cc359
KCB
9024
9025(define-public sbcl-cl-ana.serialization
9026 (package
9027 (inherit sbcl-cl-ana-boot0)
9028 (name "sbcl-cl-ana.serialization")
9029 (inputs
9030 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9031 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9032 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9033 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9034 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9035 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9036 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
9037 (arguments
9038 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9039 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
9040 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
9041
9042(define-public cl-ana.serialization
9043 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
26b875f6
KCB
9044
9045(define-public sbcl-cl-ana.makeres
9046 (package
9047 (inherit sbcl-cl-ana-boot0)
9048 (name "sbcl-cl-ana.makeres")
9049 (inputs
9050 `(("alexandria" ,sbcl-alexandria)
9051 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9052 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9053 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9054 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9055 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9056 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9057 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9058 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9059 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9060 ("cl-ana.map" ,sbcl-cl-ana.map)
9061 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9062 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9063 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9064 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9065 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9066 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9067 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9068 ("cl-ana.table" ,sbcl-cl-ana.table)
9069 ("external-program" ,sbcl-external-program)))
9070 (native-inputs
9071 `(("cl-fad" ,sbcl-cl-fad)))
9072 (arguments
9073 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9074 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9075 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9076
9077(define-public cl-ana.makeres
9078 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
ad9e007e
KCB
9079
9080(define-public sbcl-cl-ana.makeres-macro
9081 (package
9082 (inherit sbcl-cl-ana-boot0)
9083 (name "sbcl-cl-ana.makeres-macro")
9084 (inputs
9085 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9086 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9087 (arguments
9088 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9089 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9090 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9091
9092(define-public cl-ana.makeres-macro
9093 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
98e5f45e
KCB
9094
9095(define-public sbcl-cl-ana.makeres-block
9096 (package
9097 (inherit sbcl-cl-ana-boot0)
9098 (name "sbcl-cl-ana.makeres-block")
9099 (inputs
9100 `(("alexandria" ,sbcl-alexandria)
9101 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9102 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9103 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9104 (arguments
9105 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9106 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9107 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9108
9109(define-public cl-ana.makeres-block
9110 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
5ae0b25e
KCB
9111
9112(define-public sbcl-cl-ana.makeres-progress
9113 (package
9114 (inherit sbcl-cl-ana-boot0)
9115 (name "sbcl-cl-ana.makeres-progress")
9116 (inputs
9117 `(("alexandria" ,sbcl-alexandria)
9118 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9119 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9120 (arguments
9121 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9122 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9123 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9124
9125(define-public cl-ana.makeres-progress
9126 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
a9810e70
KCB
9127
9128(define-public sbcl-cl-ana.makeres-table
9129 (package
9130 (inherit sbcl-cl-ana-boot0)
9131 (name "sbcl-cl-ana.makeres-table")
9132 (inputs
9133 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9134 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9135 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9136 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9137 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9138 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9139 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9140 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9141 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9142 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9143 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9144 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9145 ("cl-ana.table" ,sbcl-cl-ana.table)))
9146 (native-inputs
9147 `(("cl-fad" ,sbcl-cl-fad)))
9148 (arguments
9149 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9150 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9151 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9152
9153(define-public cl-ana.makeres-table
9154 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
2e43d80d
KCB
9155
9156(define-public sbcl-cl-ana.makeres-graphviz
9157 (package
9158 (inherit sbcl-cl-ana-boot0)
9159 (name "sbcl-cl-ana.makeres-graphviz")
9160 (inputs
9161 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9162 ("external-program" ,sbcl-external-program)))
9163 (arguments
9164 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9165 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9166 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9167
9168(define-public cl-ana.makeres-graphviz
9169 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
d154dd5a
KCB
9170
9171(define-public sbcl-cl-ana.makeres-branch
9172 (package
9173 (inherit sbcl-cl-ana-boot0)
9174 (name "sbcl-cl-ana.makeres-branch")
9175 (inputs
9176 `(("alexandria" ,sbcl-alexandria)
9177 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9178 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9179 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9180 ("cl-ana.map" ,sbcl-cl-ana.map)
9181 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9182 (arguments
9183 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9184 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9185 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9186
9187(define-public cl-ana.makeres-branch
9188 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
5f413815
KCB
9189
9190(define-public sbcl-cl-ana.makeres-utils
9191 (package
9192 (inherit sbcl-cl-ana-boot0)
9193 (name "sbcl-cl-ana.makeres-utils")
9194 (inputs
9195 `(("alexandria" ,sbcl-alexandria)
9196 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9197 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9198 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9199 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9200 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
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.map" ,sbcl-cl-ana.map)
9205 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9206 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9207 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9208 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9209 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9210 ("cl-ana.table" ,sbcl-cl-ana.table)))
9211 (native-inputs
9212 `(("cl-fad" ,sbcl-cl-fad)))
9213 (arguments
9214 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9215 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9216 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9217
9218(define-public cl-ana.makeres-utils
9219 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
c16e3dfb
KCB
9220
9221(define-public sbcl-cl-ana.statistical-learning
9222 (package
9223 (inherit sbcl-cl-ana-boot0)
9224 (name "sbcl-cl-ana.statistical-learning")
9225 (inputs
9226 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9227 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9228 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9229 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9230 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9231 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9232 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9233 ("cl-ana.map" ,sbcl-cl-ana.map)
9234 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9235 (native-inputs
9236 `(("cl-fad" ,sbcl-cl-fad)))
9237 (arguments
9238 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9239 ((#:asd-file _ "")
9240 "statistical-learning/cl-ana.statistical-learning.asd")
9241 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9242
9243(define-public cl-ana.statistical-learning
9244 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
13e3bc1c
KCB
9245
9246(define-public sbcl-cl-ana
9247 (package
9248 (inherit sbcl-cl-ana-boot0)
9249 (name "sbcl-cl-ana")
9250 (inputs
9251 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9252 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9253 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9254 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9255 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9256 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9257 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9258 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9259 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9260 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9261 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9262 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9263 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9264 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9265 ("cl-ana.map" ,sbcl-cl-ana.map)
9266 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9267 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9268 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9269 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9270 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9271 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9272 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9273 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9274 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9275 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9276 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9277 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9278 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9279 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9280 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9281 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9282 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9283 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9284 ("cl-ana.table" ,sbcl-cl-ana.table)
9285 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9286 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9287 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9288 ("libffi" ,libffi)))
9289 (native-inputs
9290 `(("cl-fad" ,sbcl-cl-fad)))
9291 (arguments
9292 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9293 ((#:asd-file _ "") "cl-ana.asd")
9294 ((#:asd-system-name _ #f) "cl-ana")))))
9295
9296(define-public cl-ana
9297 (sbcl-package->cl-source-package sbcl-cl-ana))
f35b596e
GLV
9298
9299(define-public sbcl-archive
9300 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9301 (revision "1"))
9302 (package
9303 (name "sbcl-archive")
9304 (version (git-version "0.9" revision commit))
9305 (source (origin
9306 (method git-fetch)
9307 (uri (git-reference
b0e7b699 9308 (url "https://github.com/sharplispers/archive")
f35b596e
GLV
9309 (commit commit)))
9310 (file-name (git-file-name name version))
9311 (sha256
9312 (base32
9313 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9314 (build-system asdf-build-system/sbcl)
9315 (inputs
9316 `(("cl-fad" ,sbcl-cl-fad)
9317 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9318 (synopsis "Common Lisp library for tar and cpio archives")
9319 (description
9320 "This is a Common Lisp library to read and write disk-based file
9321archives such as those generated by the tar and cpio programs on Unix.")
9322 (home-page "https://github.com/sharplispers/archive")
9323 (license license:bsd-3))))
9324
9325(define-public cl-archive
9326 (sbcl-package->cl-source-package sbcl-archive))
9327
9328(define-public ecl-archive
9329 (sbcl-package->ecl-package sbcl-archive))
33865d32
GLV
9330
9331(define-public sbcl-misc-extensions
9332 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9333 (revision "1"))
9334 (package
9335 (name "sbcl-misc-extensions")
9336 (version (git-version "3.3" revision commit))
9337 (source
9338 (origin
9339 (method git-fetch)
9340 (uri (git-reference
9341 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9342 (commit commit)))
9343 (file-name (git-file-name name version))
9344 (sha256
9345 (base32
9346 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9347 (build-system asdf-build-system/sbcl)
9348 (synopsis "Collection of small macros and extensions for Common Lisp")
9349 (description
9350 "This project is intended as a catchall for small, general-purpose
9351extensions to Common Lisp. It contains:
9352
9353@itemize
9354@item @code{new-let}, a macro that combines and generalizes @code{let},
9355@code{let*} and @code{multiple-value-bind},
9356@item @code{gmap}, an iteration macro that generalizes @code{map}.
9357@end itemize\n")
9358 (home-page "https://common-lisp.net/project/misc-extensions/")
9359 (license license:public-domain))))
9360
9361(define-public cl-misc-extensions
9362 (sbcl-package->cl-source-package sbcl-misc-extensions))
9363
9364(define-public ecl-misc-extensions
9365 (sbcl-package->ecl-package sbcl-misc-extensions))
7765f4a4
GLV
9366
9367(define-public sbcl-mt19937
9368 (package
9369 (name "sbcl-mt19937")
9370 (version "1.1")
9371 (source
9372 (origin
9373 (method url-fetch)
9374 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9375 "mt19937-latest.tar.gz"))
9376 (sha256
9377 (base32
9378 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9379 (build-system asdf-build-system/sbcl)
9380 (synopsis "Mersenne Twister pseudo-random number generator")
9381 (description
9382 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9383for Common Lisp.")
9384 (home-page "https://www.cliki.net/mt19937")
9385 (license license:public-domain)))
9386
9387(define-public cl-mt19937
9388 (sbcl-package->cl-source-package sbcl-mt19937))
9389
9390(define-public ecl-mt19937
9391 (sbcl-package->ecl-package sbcl-mt19937))
7ca8925f
GLV
9392
9393(define-public sbcl-fset
9394 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9395 (revision "1"))
9396 (package
9397 (name "sbcl-fset")
9398 (version (git-version "1.3.2" revision commit))
9399 (source
9400 (origin
9401 (method git-fetch)
9402 (uri (git-reference
9403 (url "https://github.com/slburson/fset")
9404 (commit commit)))
9405 (file-name (git-file-name name version))
9406 (sha256
9407 (base32
9408 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9409 (snippet '(begin
9410 ;; Remove obsolete copy of system definition.
9411 (delete-file "Code/fset.asd")
9412 #t))))
9413 (build-system asdf-build-system/sbcl)
9414 (inputs
9415 `(("misc-extensions" ,sbcl-misc-extensions)
9416 ("mt19937" ,sbcl-mt19937)
9417 ("named-readtables" ,sbcl-named-readtables)))
9418 (synopsis "Functional set-theoretic collections library")
9419 (description
9420 "FSet is a functional set-theoretic collections library for Common Lisp.
9421Functional means that all update operations return a new collection rather than
9422modifying an existing one in place. Set-theoretic means that collections may
9423be nested arbitrarily with no additional programmer effort; for instance, sets
9424may contain sets, maps may be keyed by sets, etc.")
9425 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9426 (license license:llgpl))))
9427
9428(define-public cl-fset
9429 (sbcl-package->cl-source-package sbcl-fset))
f7ce86ed
GLV
9430
9431(define-public sbcl-cl-cont
9432 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9433 (revision "1"))
9434 (package
9435 (name "sbcl-cl-cont")
9436 (version (git-version "0.3.8" revision commit))
9437 (source
9438 (origin
9439 (method git-fetch)
9440 (uri (git-reference
9441 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9442 (commit commit)))
9443 (file-name (git-file-name name version))
9444 (sha256
9445 (base32
9446 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9447 (build-system asdf-build-system/sbcl)
9448 (inputs
9449 `(("alexandria" ,sbcl-alexandria)
9450 ("closer-mop" ,sbcl-closer-mop)))
9451 (native-inputs
9452 `(("rt" ,sbcl-rt)))
9453 (synopsis "Delimited continuations for Common Lisp")
9454 (description
9455 "This is a library that implements delimited continuations by
9456transforming Common Lisp code to continuation passing style.")
9457 (home-page "https://common-lisp.net/project/cl-cont/")
9458 (license license:llgpl))))
9459
9460(define-public cl-cont
9461 (sbcl-package->cl-source-package sbcl-cl-cont))
9462
9463(define-public ecl-cl-cont
9464 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
9465
9466(define-public sbcl-cl-coroutine
9467 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9468 (revision "1"))
9469 (package
9470 (name "sbcl-cl-coroutine")
9471 (version (git-version "0.1" revision commit))
9472 (source
9473 (origin
9474 (method git-fetch)
9475 (uri (git-reference
b0e7b699 9476 (url "https://github.com/takagi/cl-coroutine")
4101c714
GLV
9477 (commit commit)))
9478 (file-name (git-file-name name version))
9479 (sha256
9480 (base32
9481 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9482 (build-system asdf-build-system/sbcl)
9483 (inputs
9484 `(("alexandria" ,sbcl-alexandria)
9485 ("cl-cont" ,sbcl-cl-cont)))
9486 (native-inputs
9487 `(("prove" ,sbcl-prove)))
9488 (arguments
9489 `(;; TODO: Fix the tests. They fail with:
9490 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9491 #:tests? #f
9492 #:phases
9493 (modify-phases %standard-phases
9494 (add-after 'unpack 'fix-tests
9495 (lambda _
9496 (substitute* "cl-coroutine-test.asd"
9497 (("cl-test-more")
9498 "prove"))
9499 #t)))))
9500 (synopsis "Coroutine library for Common Lisp")
9501 (description
9502 "This is a coroutine library for Common Lisp implemented using the
9503continuations of the @code{cl-cont} library.")
9504 (home-page "https://github.com/takagi/cl-coroutine")
9505 (license license:llgpl))))
9506
9507(define-public cl-coroutine
9508 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9509
9510(define-public ecl-cl-coroutine
9511 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
9512
9513(define-public sbcl-vom
9514 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9515 (revision "1"))
9516 (package
9517 (name "sbcl-vom")
9518 (version (git-version "0.1.4" revision commit))
9519 (source
9520 (origin
9521 (method git-fetch)
9522 (uri (git-reference
b0e7b699 9523 (url "https://github.com/orthecreedence/vom")
5b8bc813
GLV
9524 (commit commit)))
9525 (file-name (git-file-name name version))
9526 (sha256
9527 (base32
9528 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9529 (build-system asdf-build-system/sbcl)
9530 (synopsis "Tiny logging utility for Common Lisp")
9531 (description
9532 "Vom is a logging library for Common Lisp. It's goal is to be useful
9533and small. It does not provide a lot of features as other loggers do, but
9534has a small codebase that's easy to understand and use.")
9535 (home-page "https://github.com/orthecreedence/vom")
9536 (license license:expat))))
9537
9538(define-public cl-vom
9539 (sbcl-package->cl-source-package sbcl-vom))
9540
9541(define-public ecl-vom
9542 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
9543
9544(define-public sbcl-cl-libuv
9545 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9546 (revision "1"))
9547 (package
9548 (name "sbcl-cl-libuv")
9549 (version (git-version "0.1.6" revision commit))
9550 (source
9551 (origin
9552 (method git-fetch)
9553 (uri (git-reference
b0e7b699 9554 (url "https://github.com/orthecreedence/cl-libuv")
37b48dc1
GLV
9555 (commit commit)))
9556 (file-name (git-file-name name version))
9557 (sha256
9558 (base32
9559 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9560 (build-system asdf-build-system/sbcl)
9561 (inputs
9562 `(("alexandria" ,sbcl-alexandria)
9563 ("cffi" ,sbcl-cffi)
9564 ("cffi-grovel" ,sbcl-cffi-grovel)
9565 ("libuv" ,libuv)))
9566 (arguments
9567 `(#:phases
9568 (modify-phases %standard-phases
9569 (add-after 'unpack 'fix-paths
9570 (lambda* (#:key inputs #:allow-other-keys)
9571 (substitute* "lib.lisp"
9572 (("/usr/lib/libuv.so")
9573 (string-append (assoc-ref inputs "libuv")
9574 "/lib/libuv.so")))
9575 #t))
9576 (add-after 'fix-paths 'fix-system-definition
9577 (lambda _
9578 (substitute* "cl-libuv.asd"
9579 (("#:cffi #:alexandria")
9580 "#:cffi #:cffi-grovel #:alexandria"))
9581 #t)))))
9582 (synopsis "Common Lisp bindings to libuv")
9583 (description
9584 "This library provides low-level libuv bindings for Common Lisp.")
9585 (home-page "https://github.com/orthecreedence/cl-libuv")
9586 (license license:expat))))
9587
9588(define-public cl-libuv
9589 (sbcl-package->cl-source-package sbcl-cl-libuv))
9590
9591(define-public ecl-cl-libuv
9592 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb
GLV
9593
9594(define-public sbcl-cl-async-base
9595 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9596 (revision "1"))
9597 (package
9598 (name "sbcl-cl-async-base")
9599 (version (git-version "0.6.1" revision commit))
9600 (source
9601 (origin
9602 (method git-fetch)
9603 (uri (git-reference
b0e7b699 9604 (url "https://github.com/orthecreedence/cl-async")
1cc1dfbb
GLV
9605 (commit commit)))
9606 (file-name (git-file-name name version))
9607 (sha256
9608 (base32
9609 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9610 (build-system asdf-build-system/sbcl)
9611 (inputs
9612 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9613 ("cffi" ,sbcl-cffi)
9614 ("cl-libuv" ,sbcl-cl-libuv)))
9615 (arguments
9616 `(#:asd-file "cl-async.asd"))
9617 (synopsis "Base system for cl-async")
9618 (description
9619 "Cl-async is a library for general purpose, non-blocking programming in
9620Common Lisp. It uses the libuv library as backend.")
9621 (home-page "https://orthecreedence.github.io/cl-async/")
9622 (license license:expat))))
9623
9624(define-public cl-async-base
9625 (sbcl-package->cl-source-package sbcl-cl-async-base))
9626
9627(define-public ecl-cl-async-base
9628 (sbcl-package->ecl-package sbcl-cl-async-base))
370cf7f1
GLV
9629
9630(define-public sbcl-cl-async-util
9631 (package
9632 (inherit sbcl-cl-async-base)
9633 (name "sbcl-cl-async-util")
9634 (inputs
24de1f5a
GLV
9635 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9636 ("cffi" ,sbcl-cffi)
370cf7f1
GLV
9637 ("cl-async-base" ,sbcl-cl-async-base)
9638 ("cl-libuv" ,sbcl-cl-libuv)
9639 ("cl-ppcre" ,sbcl-cl-ppcre)
9640 ("fast-io" ,sbcl-fast-io)
9641 ("vom" ,sbcl-vom)))
9642 (synopsis "Internal utilities for cl-async")))
9643
9644(define-public cl-async-util
9645 (sbcl-package->cl-source-package sbcl-cl-async-util))
9646
9647(define-public ecl-cl-async-util
9648 (sbcl-package->ecl-package sbcl-cl-async-util))
8a0178dd
GLV
9649
9650(define-public sbcl-cl-async
9651 (package
9652 (inherit sbcl-cl-async-base)
9653 (name "sbcl-cl-async")
9654 (inputs
9655 `(("babel" ,sbcl-babel)
9656 ("cffi" ,sbcl-cffi)
9657 ("cl-async-base" ,sbcl-cl-async-base)
9658 ("cl-async-util" ,sbcl-cl-async-util)
9659 ("cl-libuv" ,sbcl-cl-libuv)
9660 ("cl-ppcre" ,sbcl-cl-ppcre)
9661 ("static-vectors" ,sbcl-static-vectors)
9662 ("trivial-features" ,sbcl-trivial-features)
9663 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9664 (synopsis "Asynchronous operations for Common Lisp")))
9665
9666(define-public cl-async
9667 (sbcl-package->cl-source-package sbcl-cl-async))
9668
9669(define-public ecl-cl-async
9670 (sbcl-package->ecl-package sbcl-cl-async))
19f36366
GLV
9671
9672(define-public sbcl-cl-async-repl
9673 (package
9674 (inherit sbcl-cl-async-base)
9675 (name "sbcl-cl-async-repl")
9676 (inputs
9677 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9678 ("cl-async" ,sbcl-cl-async)))
9679 (arguments
9680 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9681 ((#:asd-file _ "") "cl-async-repl.asd")))
9682 (synopsis "REPL integration for cl-async")))
9683
9684(define-public cl-async-repl
9685 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9686
9687(define-public ecl-cl-async-repl
9688 (sbcl-package->ecl-package sbcl-cl-async-repl))
ae51aa91
GLV
9689
9690(define-public sbcl-cl-async-ssl
9691 (package
9692 (inherit sbcl-cl-async-base)
9693 (name "sbcl-cl-async-ssl")
9694 (inputs
9695 `(("cffi" ,sbcl-cffi)
9696 ("cl-async" ,sbcl-cl-async)
9697 ("openssl" ,openssl)
9698 ("vom" ,sbcl-vom)))
9699 (arguments
9700 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9701 ((#:asd-file _ "") "cl-async-ssl.asd")
9702 ((#:phases phases '%standard-phases)
9703 `(modify-phases ,phases
9704 (add-after 'unpack 'fix-paths
9705 (lambda* (#:key inputs #:allow-other-keys)
9706 (substitute* "src/ssl/package.lisp"
9707 (("libcrypto\\.so")
9708 (string-append (assoc-ref inputs "openssl")
9709 "/lib/libcrypto.so"))
9710 (("libssl\\.so")
9711 (string-append (assoc-ref inputs "openssl")
9712 "/lib/libssl.so")))
9713 #t))))))
9714 (synopsis "SSL wrapper around cl-async socket implementation")))
9715
9716(define-public cl-async-ssl
9717 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9718
9719(define-public ecl-cl-async-ssl
9720 (sbcl-package->ecl-package sbcl-cl-async-ssl))
34f9b581
GLV
9721
9722(define-public sbcl-blackbird
9723 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9724 (revision "1"))
9725 (package
9726 (name "sbcl-blackbird")
9727 (version (git-version "0.5.2" revision commit))
9728 (source
9729 (origin
9730 (method git-fetch)
9731 (uri (git-reference
b0e7b699 9732 (url "https://github.com/orthecreedence/blackbird")
34f9b581
GLV
9733 (commit commit)))
9734 (file-name (git-file-name name version))
9735 (sha256
9736 (base32
9737 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9738 (build-system asdf-build-system/sbcl)
9739 (inputs
9740 `(("vom" ,sbcl-vom)))
9741 (native-inputs
9742 `(("cl-async" ,sbcl-cl-async)
9743 ("fiveam" ,sbcl-fiveam)))
9744 (synopsis "Promise implementation for Common Lisp")
9745 (description
9746 "This is a standalone promise implementation for Common Lisp. It is
9747the successor to the now-deprecated cl-async-future project.")
e0318062 9748 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
9749 (license license:expat))))
9750
9751(define-public cl-blackbird
9752 (sbcl-package->cl-source-package sbcl-blackbird))
9753
9754(define-public ecl-blackbird
9755 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9756
9757(define-public sbcl-cl-async-future
9758 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9759 (revision "1"))
9760 (package
9761 (name "sbcl-cl-async-future")
9762 (version (git-version "0.4.4.1" revision commit))
9763 (source
9764 (origin
9765 (method git-fetch)
9766 (uri (git-reference
b0e7b699 9767 (url "https://github.com/orthecreedence/cl-async-future")
c5eedf80
GLV
9768 (commit commit)))
9769 (file-name (git-file-name name version))
9770 (sha256
9771 (base32
9772 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9773 (build-system asdf-build-system/sbcl)
9774 (inputs
9775 `(("blackbird" ,sbcl-blackbird)))
9776 (native-inputs
9777 `(("cl-async" ,sbcl-cl-async)
9778 ("eos" ,sbcl-eos)))
9779 (synopsis "Futures implementation for Common Lisp")
9780 (description
9781 "This is futures implementation for Common Lisp. It plugs in nicely
9782to cl-async.")
e0318062 9783 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
9784 (license license:expat))))
9785
9786(define-public cl-async-future
9787 (sbcl-package->cl-source-package sbcl-cl-async-future))
9788
9789(define-public ecl-cl-async-future
9790 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9791
9792(define-public sbcl-green-threads
9793 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9794 (revision "1"))
9795 (package
9796 (name "sbcl-green-threads")
9797 (version (git-version "0.3" revision commit))
9798 (source
9799 (origin
9800 (method git-fetch)
9801 (uri (git-reference
b0e7b699 9802 (url "https://github.com/thezerobit/green-threads")
8ea00edf
GLV
9803 (commit commit)))
9804 (file-name (git-file-name name version))
9805 (sha256
9806 (base32
9807 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9808 (build-system asdf-build-system/sbcl)
9809 (inputs
9810 `(("cl-async-future" ,sbcl-cl-async-future)
9811 ("cl-cont" ,sbcl-cl-cont)))
9812 (native-inputs
9813 `(("prove" ,sbcl-prove)))
9814 (arguments
9815 `(;; TODO: Fix the tests. They fail with:
9816 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9817 #:tests? #f
9818 #:phases
9819 (modify-phases %standard-phases
9820 (add-after 'unpack 'fix-tests
9821 (lambda _
9822 (substitute* "green-threads-test.asd"
9823 (("cl-test-more")
9824 "prove"))
9825 #t)))))
9826 (synopsis "Cooperative multitasking library for Common Lisp")
9827 (description
9828 "This library allows for cooperative multitasking with help of cl-cont
9829for continuations. It tries to mimic the API of bordeaux-threads as much as
9830possible.")
9831 (home-page "https://github.com/thezerobit/green-threads")
9832 (license license:bsd-3))))
9833
9834(define-public cl-green-threads
9835 (sbcl-package->cl-source-package sbcl-green-threads))
9836
9837(define-public ecl-green-threads
9838 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9839
9840(define-public sbcl-cl-base32
9841 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9842 (revision "1"))
9843 (package
9844 (name "sbcl-cl-base32")
9845 (version (git-version "0.1" revision commit))
9846 (source
9847 (origin
9848 (method git-fetch)
9849 (uri (git-reference
b0e7b699 9850 (url "https://github.com/hargettp/cl-base32")
3ac0e64d
GLV
9851 (commit commit)))
9852 (file-name (git-file-name name version))
9853 (sha256
9854 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9855 (build-system asdf-build-system/sbcl)
9856 (native-inputs
9857 `(("lisp-unit" ,sbcl-lisp-unit)))
9858 (synopsis "Common Lisp library for base32 encoding and decoding")
9859 (description
9860 "This package provides functions for base32 encoding and decoding as
9861defined in RFC4648.")
9862 (home-page "https://github.com/hargettp/cl-base32")
9863 (license license:expat))))
9864
9865(define-public cl-base32
9866 (sbcl-package->cl-source-package sbcl-cl-base32))
9867
9868(define-public ecl-cl-base32
9869 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9870
9871(define-public sbcl-cl-z85
9872 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9873 (revision "1"))
9874 (package
9875 (name "sbcl-cl-z85")
9876 (version (git-version "1.0" revision commit))
9877 (source
9878 (origin
9879 (method git-fetch)
9880 (uri (git-reference
b0e7b699 9881 (url "https://github.com/glv2/cl-z85")
c5bbcb82
GLV
9882 (commit commit)))
9883 (file-name (git-file-name name version))
9884 (sha256
9885 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9886 (build-system asdf-build-system/sbcl)
9887 (native-inputs
9888 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9889 ("fiveam" ,sbcl-fiveam)))
9890 (synopsis "Common Lisp library for Z85 encoding and decoding")
9891 (description
9892 "This package provides functions to encode or decode byte vectors or
9893byte streams using the Z85 format, which is a base-85 encoding used by
9894ZeroMQ.")
9895 (home-page "https://github.com/glv2/cl-z85")
9896 (license license:gpl3+))))
9897
9898(define-public cl-z85
9899 (sbcl-package->cl-source-package sbcl-cl-z85))
9900
9901(define-public ecl-cl-z85
9902 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9903
9904(define-public sbcl-ltk
9905 (package
9906 (name "sbcl-ltk")
9907 (version "0.992")
9908 (source
9909 (origin
9910 (method git-fetch)
9911 (uri (git-reference
b0e7b699 9912 (url "https://github.com/herth/ltk")
d3a2df68
GLV
9913 (commit version)))
9914 (file-name (git-file-name name version))
9915 (sha256
9916 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9917 (build-system asdf-build-system/sbcl)
9918 (inputs
9919 `(("imagemagick" ,imagemagick)
9920 ("tk" ,tk)))
9921 (arguments
9922 `(#:asd-file "ltk/ltk.asd"
9923 #:tests? #f
9924 #:phases (modify-phases %standard-phases
9925 (add-after 'unpack 'fix-paths
9926 (lambda* (#:key inputs #:allow-other-keys)
9927 (substitute* "ltk/ltk.lisp"
9928 (("#-freebsd \"wish\"")
9929 (string-append "#-freebsd \""
9930 (assoc-ref inputs "tk")
9931 "/bin/wish\""))
9932 (("do-execute \"convert\"")
9933 (string-append "do-execute \""
9934 (assoc-ref inputs "imagemagick")
9935 "/bin/convert\"")))
9936 #t)))))
9937 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9938 (description
9939 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9940in pure Common Lisp and does not require any Tk knowledge for its usage.")
9941 (home-page "http://www.peter-herth.de/ltk/")
9942 (license license:llgpl)))
9943
9944(define-public cl-ltk
9945 (sbcl-package->cl-source-package sbcl-ltk))
9946
9947(define-public ecl-ltk
9948 (sbcl-package->ecl-package sbcl-ltk))
811747f9
GLV
9949
9950(define-public sbcl-ltk-mw
9951 (package
9952 (inherit sbcl-ltk)
9953 (name "sbcl-ltk-mw")
9954 (inputs
9955 `(("ltk" ,sbcl-ltk)))
9956 (arguments
9957 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9958 ((#:asd-file _) "ltk/ltk-mw.asd")
9959 ((#:phases _) '%standard-phases)))
9960 (synopsis "Extra widgets for LTK")
9961 (description
9962 "This is a collection of higher-level widgets built on top of LTK.")))
9963
9964(define-public cl-ltk-mw
9965 (sbcl-package->cl-source-package sbcl-ltk-mw))
9966
9967(define-public ecl-ltk-mw
9968 (sbcl-package->ecl-package sbcl-ltk-mw))
b72629eb
GLV
9969
9970(define-public sbcl-ltk-remote
9971 (package
9972 (inherit sbcl-ltk)
9973 (name "sbcl-ltk-remote")
9974 (inputs
9975 `(("ltk" ,sbcl-ltk)))
9976 (arguments
9977 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9978 ((#:asd-file _) "ltk/ltk-remote.asd")
9979 ((#:phases _) '%standard-phases)))
9980 (synopsis "Remote GUI support for LTK")
9981 (description
9982 "This LTK extension allows the GUI to be displayed on a computer different
9983from the one running the Lisp program by using a TCP connection.")))
9984
9985(define-public cl-ltk-remote
9986 (sbcl-package->cl-source-package sbcl-ltk-remote))
95abaafb
GLV
9987
9988(define-public sbcl-cl-lex
9989 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9990 (revision "1"))
9991 (package
9992 (name "sbcl-cl-lex")
9993 (version (git-version "1.1.3" revision commit))
9994 (source
9995 (origin
9996 (method git-fetch)
9997 (uri (git-reference
b0e7b699 9998 (url "https://github.com/djr7C4/cl-lex")
95abaafb
GLV
9999 (commit commit)))
10000 (file-name (git-file-name name version))
10001 (sha256
10002 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
10003 (build-system asdf-build-system/sbcl)
10004 (inputs
10005 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10006 (synopsis "Common Lisp macros for generating lexical analyzers")
10007 (description
10008 "This is a Common Lisp library providing a set of macros for generating
10009lexical analyzers automatically. The lexers generated using @code{cl-lex} can
10010be used with @code{cl-yacc}.")
10011 (home-page "https://github.com/djr7C4/cl-lex")
10012 (license license:gpl3))))
10013
10014(define-public cl-lex
10015 (sbcl-package->cl-source-package sbcl-cl-lex))
10016
10017(define-public ecl-cl-lex
10018 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
10019
10020(define-public sbcl-clunit2
10021 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
10022 (revision "1"))
10023 (package
10024 (name "sbcl-clunit2")
10025 (version (git-version "0.2.4" revision commit))
10026 (source
10027 (origin
10028 (method git-fetch)
10029 (uri (git-reference
10030 (url "https://notabug.org/cage/clunit2.git")
10031 (commit commit)))
10032 (file-name (git-file-name name version))
10033 (sha256
10034 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
10035 (build-system asdf-build-system/sbcl)
10036 (synopsis "Unit testing framework for Common Lisp")
10037 (description
10038 "CLUnit is a Common Lisp unit testing framework. It is designed to be
10039easy to use so that you can quickly start testing.")
10040 (home-page "https://notabug.org/cage/clunit2")
10041 (license license:expat))))
10042
10043(define-public cl-clunit2
10044 (sbcl-package->cl-source-package sbcl-clunit2))
10045
10046(define-public ecl-clunit2
10047 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
10048
10049(define-public sbcl-cl-colors2
10050 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
10051 (revision "1"))
10052 (package
10053 (name "sbcl-cl-colors2")
10054 (version (git-version "0.2.1" revision commit))
10055 (source
10056 (origin
10057 (method git-fetch)
10058 (uri (git-reference
10059 (url "https://notabug.org/cage/cl-colors2.git")
10060 (commit commit)))
10061 (file-name (git-file-name name version))
10062 (sha256
10063 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
10064 (build-system asdf-build-system/sbcl)
10065 (native-inputs
10066 `(("clunit2" ,sbcl-clunit2)))
10067 (inputs
10068 `(("alexandria" ,sbcl-alexandria)
10069 ("cl-ppcre" ,sbcl-cl-ppcre)))
10070 (synopsis "Color library for Common Lisp")
10071 (description
10072 "This is a very simple color library for Common Lisp, providing:
10073
10074@itemize
10075@item Types for representing colors in HSV and RGB spaces.
10076@item Simple conversion functions between the above types (and also
10077hexadecimal representation for RGB).
10078@item Some predefined colors (currently X11 color names -- of course
10079the library does not depend on X11).
10080@end itemize\n")
10081 (home-page "https://notabug.org/cage/cl-colors2")
10082 (license license:boost1.0))))
10083
10084(define-public cl-colors2
10085 (sbcl-package->cl-source-package sbcl-cl-colors2))
10086
10087(define-public ecl-cl-colors2
10088 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
10089
10090(define-public sbcl-cl-jpeg
10091 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10092 (revision "1"))
10093 (package
10094 (name "sbcl-cl-jpeg")
10095 (version (git-version "2.8" revision commit))
10096 (source
10097 (origin
10098 (method git-fetch)
10099 (uri (git-reference
b0e7b699 10100 (url "https://github.com/sharplispers/cl-jpeg")
d5f63a73
GLV
10101 (commit commit)))
10102 (file-name (git-file-name name version))
10103 (sha256
10104 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10105 (build-system asdf-build-system/sbcl)
10106 (synopsis "JPEG image library for Common Lisp")
10107 (description
10108 "This is a baseline JPEG codec written in Common Lisp. It can be used
10109for reading and writing JPEG image files.")
10110 (home-page "https://github.com/sharplispers/cl-jpeg")
10111 (license license:bsd-3))))
10112
10113(define-public cl-jpeg
10114 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10115
10116(define-public ecl-cl-jpeg
10117 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
10118
10119(define-public sbcl-nodgui
10120 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10121 (revision "1"))
10122 (package
10123 (name "sbcl-nodgui")
10124 (version (git-version "0.0.5" revision commit))
10125 (source
10126 (origin
10127 (method git-fetch)
10128 (uri (git-reference
10129 (url "https://notabug.org/cage/nodgui.git")
10130 (commit commit)))
10131 (file-name (git-file-name name version))
10132 (sha256
10133 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10134 (build-system asdf-build-system/sbcl)
10135 (inputs
10136 `(("alexandria" ,sbcl-alexandria)
10137 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10138 ("cl-colors2" ,sbcl-cl-colors2)
10139 ("cl-jpeg" ,sbcl-cl-jpeg)
10140 ("cl-lex" ,sbcl-cl-lex)
10141 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10142 ("cl-unicode" ,sbcl-cl-unicode)
10143 ("cl-yacc" ,sbcl-cl-yacc)
10144 ("clunit2" ,sbcl-clunit2)
10145 ("named-readtables" ,sbcl-named-readtables)
10146 ("parse-number" ,sbcl-parse-number)
10147 ("tk" ,tk)))
10148 (arguments
10149 `(#:phases (modify-phases %standard-phases
10150 (add-after 'unpack 'fix-paths
10151 (lambda* (#:key inputs #:allow-other-keys)
10152 (substitute* "src/wish-communication.lisp"
10153 (("#-freebsd \"wish\"")
10154 (string-append "#-freebsd \""
10155 (assoc-ref inputs "tk")
10156 "/bin/wish\"")))
10157 #t)))))
10158 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10159 (description
10160 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10161toolkit. It also provides a few additional widgets more than the standard Tk
10162ones.")
10163 (home-page "https://www.autistici.org/interzona/nodgui.html")
10164 (license license:llgpl))))
10165
10166(define-public cl-nodgui
10167 (sbcl-package->cl-source-package sbcl-nodgui))
10168
10169(define-public ecl-nodgui
10170 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
10171
10172(define-public sbcl-salza2
10173 (package
10174 (name "sbcl-salza2")
10175 (version "2.0.9")
10176 (source
10177 (origin
10178 (method git-fetch)
10179 (uri (git-reference
b0e7b699 10180 (url "https://github.com/xach/salza2")
46cc2a38
GLV
10181 (commit (string-append "release-" version))))
10182 (file-name (git-file-name name version))
10183 (sha256
10184 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10185 (build-system asdf-build-system/sbcl)
10186 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10187 (description
10188 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10189deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10190respectively.")
10191 (home-page "https://www.xach.com/lisp/salza2/")
10192 (license license:bsd-2)))
10193
10194(define-public cl-salza2
10195 (sbcl-package->cl-source-package sbcl-salza2))
10196
10197(define-public ecl-salza2
10198 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
10199
10200(define-public sbcl-png-read
10201 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10202 (revision "1"))
10203 (package
10204 (name "sbcl-png-read")
10205 (version (git-version "0.3.1" revision commit))
10206 (source
10207 (origin
10208 (method git-fetch)
10209 (uri (git-reference
b0e7b699 10210 (url "https://github.com/Ramarren/png-read")
d165821e
GLV
10211 (commit commit)))
10212 (file-name (git-file-name name version))
10213 (sha256
10214 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10215 (build-system asdf-build-system/sbcl)
10216 (inputs
10217 `(("babel" ,sbcl-babel)
10218 ("chipz" ,sbcl-chipz)
10219 ("iterate" ,sbcl-iterate)))
10220 (synopsis "PNG decoder for Common Lisp")
10221 (description "This is a Common Lisp library for reading PNG images.")
10222 (home-page "https://github.com/Ramarren/png-read")
10223 (license license:bsd-3))))
10224
10225(define-public cl-png-read
10226 (sbcl-package->cl-source-package sbcl-png-read))
10227
10228(define-public ecl-png-read
10229 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
10230
10231(define-public sbcl-zpng
10232 (package
10233 (name "sbcl-zpng")
10234 (version "1.2.2")
10235 (source
10236 (origin
10237 (method git-fetch)
10238 (uri (git-reference
b0e7b699 10239 (url "https://github.com/xach/zpng")
7b875e4e
GLV
10240 (commit (string-append "release-" version))))
10241 (file-name (git-file-name name version))
10242 (sha256
10243 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10244 (build-system asdf-build-system/sbcl)
10245 (inputs
10246 `(("salza2" ,sbcl-salza2)))
10247 (synopsis "PNG encoder for Common Lisp")
10248 (description "This is a Common Lisp library for creating PNG images.")
10249 (home-page "https://www.xach.com/lisp/zpng/")
10250 (license license:bsd-2)))
10251
10252(define-public cl-zpng
10253 (sbcl-package->cl-source-package sbcl-zpng))
10254
10255(define-public ecl-zpng
10256 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
10257
10258(define-public sbcl-cl-qrencode
10259 (package
10260 (name "sbcl-cl-qrencode")
10261 (version "0.1.2")
10262 (source
10263 (origin
10264 (method git-fetch)
10265 (uri (git-reference
b0e7b699 10266 (url "https://github.com/jnjcc/cl-qrencode")
5d4d4c01
GLV
10267 (commit (string-append "v" version))))
10268 (file-name (git-file-name name version))
10269 (sha256
10270 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10271 (build-system asdf-build-system/sbcl)
10272 (native-inputs
10273 `(("lisp-unit" ,sbcl-lisp-unit)))
10274 (inputs
10275 `(("zpng" ,sbcl-zpng)))
10276 (synopsis "QR code encoder for Common Lisp")
10277 (description
10278 "This Common Lisp library provides function to make QR codes and to save
10279them as PNG files.")
10280 (home-page "https://github.com/jnjcc/cl-qrencode")
10281 (license license:gpl2+)))
10282
10283(define-public cl-qrencode
10284 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10285
10286(define-public ecl-cl-qrencode
10287 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
10288
10289(define-public sbcl-hdf5-cffi
10290 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10291 (revision "1"))
10292 (package
10293 (name "sbcl-hdf5-cffi")
10294 (version (git-version "1.8.18" revision commit))
10295 (source
10296 (origin
10297 (method git-fetch)
10298 (uri (git-reference
b0e7b699 10299 (url "https://github.com/hdfgroup/hdf5-cffi")
c6397e3e
KH
10300 (commit commit)))
10301 (file-name (git-file-name name version))
10302 (sha256
10303 (base32
10304 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10305 (build-system asdf-build-system/sbcl)
10306 (synopsis "Common Lisp bindings for the HDF5 library")
10307 (description
10308 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10309 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10310 (license (license:non-copyleft
10311 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10312 commit
10313 "/LICENSE")))
10314 (inputs
10315 `(("cffi" ,sbcl-cffi)
10316 ("cffi-grovel" ,sbcl-cffi-grovel)
10317 ("hdf5" ,hdf5-1.10)))
10318 (native-inputs
10319 `(("fiveam" ,sbcl-fiveam)))
10320 (arguments
10321 `(#:asd-system-name "hdf5-cffi"
10322 #:asd-file "hdf5-cffi.asd"
10323 #:test-asd-file "hdf5-cffi.test.asd"
10324 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10325 ;; I don't know if there is a way to tell asdf-build-system to load
10326 ;; an additional system first, so tests are disabled.
10327 #:tests? #f
10328 #:phases
10329 (modify-phases %standard-phases
10330 (add-after 'unpack 'fix-paths
10331 (lambda* (#:key inputs #:allow-other-keys)
10332 (substitute* "src/library.lisp"
10333 (("libhdf5.so")
10334 (string-append
10335 (assoc-ref inputs "hdf5")
10336 "/lib/libhdf5.so")))))
10337 (add-after 'unpack 'fix-dependencies
10338 (lambda* (#:key inputs #:allow-other-keys)
10339 (substitute* "hdf5-cffi.asd"
10340 ((":depends-on \\(:cffi\\)")
10341 ":depends-on (:cffi :cffi-grovel)"))
10342 (substitute* "hdf5-cffi.test.asd"
10343 ((":depends-on \\(:cffi :hdf5-cffi")
10344 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10345
10346(define-public cl-hdf5-cffi
10347 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10348
10349(define-public ecl-hdf5-cffi
10350 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
10351
10352(define-public sbcl-cl-randist
10353 (package
10354 (name "sbcl-cl-randist")
10355 (version "0.4.2")
10356 (source
10357 (origin
10358 (method git-fetch)
10359 (uri (git-reference
b0e7b699 10360 (url "https://github.com/lvaruzza/cl-randist")
c6e6254a
KH
10361 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10362 (file-name (git-file-name name version))
10363 (sha256
10364 (base32
10365 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10366 (build-system asdf-build-system/sbcl)
10367 (synopsis "Random distributions for Common Lisp")
10368 (description
10369 "Manual translation from C to Common Lisp of some random number
10370generation functions from the GSL library.")
10371 (home-page "https://github.com/lvaruzza/cl-randist")
10372 (license license:bsd-2)
10373 (arguments
10374 `(#:asd-system-name "cl-randist"
10375 #:asd-file "cl-randist.asd"
10376 #:tests? #f))))
10377
10378(define-public cl-randist
10379 (sbcl-package->cl-source-package sbcl-cl-randist))
10380
10381(define-public ecl-cl-randist
10382 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
10383
10384(define-public sbcl-float-features
10385 (package
10386 (name "sbcl-float-features")
10387 (version "1.0.0")
10388 (source
10389 (origin
10390 (method git-fetch)
10391 (uri (git-reference
b0e7b699 10392 (url "https://github.com/Shinmera/float-features")
41884bfa
KH
10393 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10394 (file-name (git-file-name name version))
10395 (sha256
10396 (base32
10397 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10398 (build-system asdf-build-system/sbcl)
10399 (synopsis "Common Lisp IEEE float portability library")
10400 (description
10401 "Portability library for IEEE float features that are not
10402covered by the Common Lisp standard.")
10403 (home-page "https://github.com/Shinmera/float-features")
10404 (license license:zlib)
10405 (inputs
10406 `(("documentation-utils" ,sbcl-documentation-utils)))
10407 (arguments
10408 `(#:asd-system-name "float-features"
10409 #:asd-file "float-features.asd"
10410 #:tests? #f))))
10411
10412(define-public cl-float-features
10413 (sbcl-package->cl-source-package sbcl-float-features))
10414
10415(define-public ecl-float-features
10416 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
10417
10418(define-public sbcl-function-cache
10419 (package
10420 (name "sbcl-function-cache")
10421 (version "1.0.3")
10422 (source
10423 (origin
10424 (method git-fetch)
10425 (uri (git-reference
b0e7b699 10426 (url "https://github.com/AccelerationNet/function-cache")
06327c30
KH
10427 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10428 (file-name (git-file-name name version))
10429 (sha256
10430 (base32
10431 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10432 (build-system asdf-build-system/sbcl)
10433 (synopsis "Function caching / memoization library for Common Lisp")
10434 (description
10435 "A common lisp library that provides extensible function result
10436caching based on arguments (an expanded form of memoization).")
10437 (home-page "https://github.com/AccelerationNet/function-cache")
10438 (license
10439 (license:non-copyleft
10440 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10441 (inputs
10442 `(("alexandria" ,sbcl-alexandria)
10443 ("cl-interpol" ,sbcl-cl-interpol)
10444 ("iterate" ,sbcl-iterate)
10445 ("symbol-munger" ,sbcl-symbol-munger)
10446 ("closer-mop" ,sbcl-closer-mop)))
10447 (arguments
10448 `(#:asd-system-name "function-cache"
10449 #:asd-file "function-cache.asd"
10450 #:tests? #f))))
10451
10452(define-public cl-function-cache
10453 (sbcl-package->cl-source-package sbcl-function-cache))
10454
10455(define-public ecl-function-cache
10456 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87
KH
10457
10458(define-public sbcl-type-r
10459 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10460 (revision "1"))
10461 (package
10462 (name "sbcl-type-r")
10463 (version (git-version "0.0.0" revision commit))
10464 (source
10465 (origin
10466 (method git-fetch)
10467 (uri (git-reference
b0e7b699 10468 (url "https://github.com/guicho271828/type-r")
e4f7ef87
KH
10469 (commit commit)))
10470 (file-name (git-file-name name version))
10471 (sha256
10472 (base32
10473 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10474 (build-system asdf-build-system/sbcl)
10475 (synopsis "Parser interface for Common Lisp built-in compound types")
10476 (description
10477 "Collections of accessor functions and patterns to access
10478the elements in compound type specifier, e.g. @code{dimensions} in
10479@code{(array element-type dimensions)}")
10480 (home-page "https://github.com/guicho271828/type-r")
10481 (license license:lgpl3+)
10482 (inputs
10483 `(("trivia" ,sbcl-trivia)
10484 ("alexandria" ,sbcl-alexandria)))
10485 (native-inputs
10486 `(("fiveam" ,sbcl-fiveam)))
10487 (arguments
10488 `(#:asd-system-name "type-r"
10489 #:asd-file "type-r.asd"
10490 #:test-asd-file "type-r.test.asd")))))
10491
10492(define-public cl-type-r
10493 (sbcl-package->cl-source-package sbcl-type-r))
8926866e
KH
10494
10495(define-public sbcl-trivialib-type-unify
10496 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10497 (revision "1"))
10498 (package
10499 (name "sbcl-trivialib-type-unify")
10500 (version (git-version "0.1" revision commit))
10501 (source
10502 (origin
10503 (method git-fetch)
10504 (uri (git-reference
b0e7b699 10505 (url "https://github.com/guicho271828/trivialib.type-unify")
8926866e
KH
10506 (commit commit)))
10507 (file-name (git-file-name name version))
10508 (sha256
10509 (base32
10510 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10511 (build-system asdf-build-system/sbcl)
10512 (synopsis "Common Lisp type unification")
10513 (description
10514 "Unifies a parametrized type specifier against an actual type specifier.
10515Importantly, it handles complicated array-subtypes and number-related types
10516correctly.")
10517 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10518 (license license:lgpl3+)
10519 (inputs
10520 `(("alexandria" ,sbcl-alexandria)
10521 ("trivia" ,sbcl-trivia)
10522 ("introspect-environment" ,sbcl-introspect-environment)
10523 ("type-r" ,sbcl-type-r)))
10524 (native-inputs
10525 `(("fiveam" ,sbcl-fiveam)))
10526 (arguments
10527 `(#:asd-system-name "trivialib.type-unify"
10528 #:asd-file "trivialib.type-unify.asd"
10529 #:test-asd-file "trivialib.type-unify.test.asd")))))
10530
10531(define-public cl-trivialib-type-unify
10532 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f
KH
10533
10534(define-public sbcl-specialized-function
10535 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10536 (revision "1"))
10537 (package
10538 (name "sbcl-specialized-function")
10539 (version (git-version "0.0.0" revision commit))
10540 (source
10541 (origin
10542 (method git-fetch)
10543 (uri (git-reference
b0e7b699 10544 (url "https://github.com/numcl/specialized-function")
ca6c5c7f
KH
10545 (commit commit)))
10546 (file-name (git-file-name name version))
10547 (sha256
10548 (base32
10549 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10550 (build-system asdf-build-system/sbcl)
10551 (synopsis "Julia-like dispatch for Common Lisp")
10552 (description
10553 "This library is part of NUMCL. It provides a macro
10554@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10555lazily compiling a type-specific version of the function from the same
10556code. The main target of this macro is speed.")
10557 (home-page "https://github.com/numcl/specialized-function")
10558 (license license:lgpl3+)
10559 (inputs
10560 `(("trivia" ,sbcl-trivia)
10561 ("alexandria" ,sbcl-alexandria)
10562 ("iterate" ,sbcl-iterate)
10563 ("lisp-namespace" ,sbcl-lisp-namespace)
10564 ("type-r" ,sbcl-type-r)
10565 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10566 (native-inputs
10567 `(("fiveam" ,sbcl-fiveam)))
10568 (arguments
10569 `(#:asd-system-name "specialized-function"
10570 #:asd-file "specialized-function.asd"
10571 #:test-asd-file "specialized-function.test.asd")))))
10572
10573(define-public cl-specialized-function
10574 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95
KH
10575
10576(define-public sbcl-constantfold
10577 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10578 (revision "1"))
10579 (package
10580 (name "sbcl-constantfold")
10581 (version (git-version "0.1" revision commit))
10582 (source
10583 (origin
10584 (method git-fetch)
10585 (uri (git-reference
b0e7b699 10586 (url "https://github.com/numcl/constantfold")
6e0f2b95
KH
10587 (commit commit)))
10588 (file-name (git-file-name name version))
10589 (sha256
10590 (base32
10591 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10592 (build-system asdf-build-system/sbcl)
10593 (synopsis "Support library for numcl")
10594 (description
10595 "Support library for numcl. Registers a function as an
10596additional form that is considered as a candidate for a constant.")
10597 (home-page "https://github.com/numcl/constantfold")
10598 (license license:lgpl3+)
10599 (inputs
10600 `(("trivia" ,sbcl-trivia)
10601 ("alexandria" ,sbcl-alexandria)
10602 ("iterate" ,sbcl-iterate)
10603 ("lisp-namespace" ,sbcl-lisp-namespace)))
10604 (native-inputs
10605 `(("fiveam" ,sbcl-fiveam)))
10606 (arguments
10607 `(#:asd-system-name "constantfold"
10608 #:asd-file "constantfold.asd"
10609 #:test-asd-file "constantfold.test.asd")))))
10610
10611(define-public cl-constantfold
10612 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186
KH
10613
10614(define-public sbcl-gtype
10615 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10616 (revision "1"))
10617 (package
10618 (name "sbcl-gtype")
10619 (version (git-version "0.1" revision commit))
10620 (source
10621 (origin
10622 (method git-fetch)
10623 (uri (git-reference
b0e7b699 10624 (url "https://github.com/numcl/gtype")
5ce7d186
KH
10625 (commit commit)))
10626 (file-name (git-file-name name version))
10627 (sha256
10628 (base32
10629 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10630 (build-system asdf-build-system/sbcl)
10631 (synopsis "C++/Julia-like parametric types in Common Lisp")
10632 (description
10633 "Support library for numcl that provides Julia-like runtime parametric
10634type correctness in Common Lisp. It is based on CLtL2 extensions.")
10635 (home-page "https://github.com/numcl/gtype")
10636 (license license:lgpl3+)
10637 (inputs
10638 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10639 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10640 ("trivia" ,sbcl-trivia)
10641 ("alexandria" ,sbcl-alexandria)
10642 ("iterate" ,sbcl-iterate)
10643 ("type-r" ,sbcl-type-r)))
10644 (native-inputs
10645 `(("fiveam" ,sbcl-fiveam)))
10646 (arguments
10647 `(#:asd-system-name "gtype"
10648 #:asd-file "gtype.asd"
10649 #:test-asd-file "gtype.test.asd")))))
10650
10651(define-public cl-gtype
10652 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200
KH
10653
10654(define-public sbcl-numcl
10655 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10656 (revision "1"))
10657 (package
10658 (name "sbcl-numcl")
10659 (version (git-version "0.1.0" revision commit))
10660 (source
10661 (origin
10662 (method git-fetch)
10663 (uri (git-reference
b0e7b699 10664 (url "https://github.com/numcl/numcl")
7ad12200
KH
10665 (commit commit)))
10666 (file-name (git-file-name name version))
10667 (sha256
10668 (base32
10669 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10670 (build-system asdf-build-system/sbcl)
10671 (synopsis "Numpy clone in Common Lisp")
10672 (description
10673 "This is a Numpy clone in Common Lisp. At the moment the
10674library is written in pure Common Lisp, focusing more on correctness
10675and usefulness, not speed. Track the progress at
10676@url{https://github.com/numcl/numcl/projects/1}.")
10677 (home-page "https://github.com/numcl/numcl")
10678 (license license:lgpl3+)
10679 (inputs
10680 `(("trivia" ,sbcl-trivia)
10681 ("alexandria" ,sbcl-alexandria)
10682 ("iterate" ,sbcl-iterate)
10683 ("lisp-namespace" ,sbcl-lisp-namespace)
10684 ("type-r" ,sbcl-type-r)
10685 ("constantfold" ,sbcl-constantfold)
10686 ("cl-randist" ,sbcl-cl-randist)
10687 ("float-features" ,sbcl-float-features)
10688 ("function-cache" ,sbcl-function-cache)
10689 ("specialized-function" ,sbcl-specialized-function)
10690 ("gtype" ,sbcl-gtype)))
10691 (native-inputs
10692 `(("fiveam" ,sbcl-fiveam)))
10693 (arguments
10694 `(#:asd-system-name "numcl"
10695 #:asd-file "numcl.asd"
10696 #:test-asd-file "numcl.test.asd")))))
10697
10698(define-public cl-numcl
10699 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410
GLV
10700
10701(define-public sbcl-pzmq
10702 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10703 (revision "1"))
10704 (package
10705 (name "sbcl-pzmq")
10706 (version (git-version "0.0.0" revision commit))
10707 (source
10708 (origin
10709 (method git-fetch)
10710 (uri (git-reference
b0e7b699 10711 (url "https://github.com/orivej/pzmq")
a3f6c410
GLV
10712 (commit commit)))
10713 (file-name (git-file-name name version))
10714 (sha256
10715 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10716 (build-system asdf-build-system/sbcl)
10717 (native-inputs
10718 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10719 ("fiveam" ,sbcl-fiveam)
10720 ("let-plus" ,sbcl-let-plus)))
10721 (inputs
10722 `(("cffi" ,sbcl-cffi)
10723 ("cffi-grovel" ,sbcl-cffi-grovel)
10724 ("zeromq" ,zeromq)))
10725 (arguments
10726 `(#:phases (modify-phases %standard-phases
10727 (add-after 'unpack 'fix-paths
10728 (lambda* (#:key inputs #:allow-other-keys)
10729 (substitute* "c-api.lisp"
10730 (("\"libzmq")
10731 (string-append "\""
10732 (assoc-ref inputs "zeromq")
10733 "/lib/libzmq")))
10734 #t)))))
10735 (synopsis "Common Lisp bindings for the ZeroMQ library")
10736 (description "This Common Lisp library provides bindings for the ZeroMQ
10737lightweight messaging kernel.")
10738 (home-page "https://github.com/orivej/pzmq")
10739 (license license:unlicense))))
10740
10741(define-public cl-pzmq
10742 (sbcl-package->cl-source-package sbcl-pzmq))
10743
10744(define-public ecl-pzmq
10745 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10746
10747(define-public sbcl-clss
10748 (let ((revision "1")
10749 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10750 (package
10751 (name "sbcl-clss")
10752 (version (git-version "0.3.1" revision commit))
10753 (source
10754 (origin
10755 (method git-fetch)
10756 (uri
10757 (git-reference
b0e7b699 10758 (url "https://github.com/Shinmera/clss")
cfc9004e
DD
10759 (commit commit)))
10760 (sha256
10761 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10762 (file-name (git-file-name name version))))
10763 (inputs
10764 `(("array-utils" ,sbcl-array-utils)
10765 ("plump" ,sbcl-plump)))
10766 (build-system asdf-build-system/sbcl)
10767 (synopsis "DOM tree searching engine based on CSS selectors")
10768 (description "CLSS is a DOM traversal engine based on CSS
10769selectors. It makes use of the Plump-DOM and is used by lQuery.")
10770 (home-page "https://github.com/Shinmera/clss")
10771 (license license:zlib))))
10772
10773(define-public cl-clss
10774 (sbcl-package->cl-source-package sbcl-clss))
10775
10776(define-public ecl-clss
10777 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10778
10779(define-public sbcl-lquery
10780 (let ((revision "1")
10781 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10782 (package
10783 (name "sbcl-lquery")
10784 (version (git-version "3.2.1" revision commit))
10785 (source
10786 (origin
10787 (method git-fetch)
10788 (uri
10789 (git-reference
b0e7b699 10790 (url "https://github.com/Shinmera/lquery")
eb859957
DD
10791 (commit commit)))
10792 (sha256
10793 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10794 (file-name (git-file-name name version))))
10795 (native-inputs
10796 `(("fiveam" ,sbcl-fiveam)))
10797 (inputs
10798 `(("array-utils" ,sbcl-array-utils)
10799 ("form-fiddle" ,sbcl-form-fiddle)
10800 ("plump" ,sbcl-plump)
10801 ("clss" ,sbcl-clss)))
10802 (build-system asdf-build-system/sbcl)
10803 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10804 (description "@code{lQuery} is a DOM manipulation library written in
10805Common Lisp, inspired by and based on the jQuery syntax and
10806functions. It uses Plump and CLSS as DOM and selector engines. The
10807main idea behind lQuery is to provide a simple interface for crawling
10808and modifying HTML sites, as well as to allow for an alternative
10809approach to templating.")
10810 (home-page "https://github.com/Shinmera/lquery")
10811 (license license:zlib))))
10812
10813(define-public cl-lquery
10814 (sbcl-package->cl-source-package sbcl-lquery))
10815
10816(define-public ecl-lquery
10817 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10818
10819(define-public sbcl-cl-mysql
10820 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10821 (revision "1"))
10822 (package
10823 (name "sbcl-cl-mysql")
10824 (version (git-version "0.1" revision commit))
10825 (source
10826 (origin
10827 (method git-fetch)
10828 (uri (git-reference
b0e7b699 10829 (url "https://github.com/hackinghat/cl-mysql")
8a6c0f55
GLV
10830 (commit commit)))
10831 (file-name (git-file-name name version))
10832 (sha256
10833 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10834 (build-system asdf-build-system/sbcl)
10835 (native-inputs
10836 `(("stefil" ,sbcl-stefil)))
10837 (inputs
10838 `(("cffi" ,sbcl-cffi)
10839 ("mariadb-lib" ,mariadb "lib")))
10840 (arguments
10841 `(#:tests? #f ; TODO: Tests require a running server
10842 #:phases
10843 (modify-phases %standard-phases
10844 (add-after 'unpack 'fix-paths
10845 (lambda* (#:key inputs #:allow-other-keys)
10846 (substitute* "system.lisp"
10847 (("libmysqlclient_r" all)
10848 (string-append (assoc-ref inputs "mariadb-lib")
10849 "/lib/"
10850 all)))
10851 #t)))))
10852 (synopsis "Common Lisp wrapper for MySQL")
10853 (description
10854 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10855 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10856 (license license:expat))))
10857
10858(define-public cl-mysql
10859 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2
GLV
10860
10861(define-public sbcl-simple-date
10862 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10863 (revision "1"))
10864 (package
10865 (name "sbcl-simple-date")
10866 (version (git-version "1.19" revision commit))
10867 (source
10868 (origin
10869 (method git-fetch)
10870 (uri (git-reference
b0e7b699 10871 (url "https://github.com/marijnh/Postmodern")
c79ea1a2
GLV
10872 (commit commit)))
10873 (file-name (git-file-name name version))
10874 (sha256
10875 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10876 (build-system asdf-build-system/sbcl)
10877 (native-inputs
10878 `(("fiveam" ,sbcl-fiveam)))
10879 (synopsis "Basic date and time objects for Common Lisp")
10880 (description
10881 "@code{simple-date} is a very basic implementation of date and time
10882objects, used to support storing and retrieving time-related SQL types.")
10883 (home-page "https://marijnhaverbeke.nl/postmodern/")
10884 (license license:zlib))))
10885
10886(define-public cl-simple-date
10887 (sbcl-package->cl-source-package sbcl-simple-date))
10888
10889(define-public ecl-simple-date
10890 (sbcl-package->ecl-package sbcl-simple-date))
f5203d25
GLV
10891
10892(define-public sbcl-cl-postgres
10893 (package
10894 (inherit sbcl-simple-date)
10895 (name "sbcl-cl-postgres")
10896 (native-inputs
10897 `(("fiveam" ,sbcl-fiveam)
10898 ("simple-date" ,sbcl-simple-date)))
10899 (inputs
10900 `(("md5" ,sbcl-md5)
10901 ("split-sequence" ,sbcl-split-sequence)
10902 ("usocket" ,sbcl-usocket)))
10903 (arguments
10904 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10905 (synopsis "Common Lisp interface for PostgreSQL")
10906 (description
10907 "@code{cl-postgres} is a low-level library used for interfacing with
10908a PostgreSQL server over a socket.")))
10909
10910(define-public cl-postgres
10911 (sbcl-package->cl-source-package sbcl-cl-postgres))
acba62d9
GLV
10912
10913(define-public sbcl-simple-date-postgres-glue
10914 (package
10915 (inherit sbcl-simple-date)
10916 (name "sbcl-simple-date-postgres-glue")
10917 (inputs
10918 `(("cl-postgres" ,sbcl-cl-postgres)
10919 ("simple-date" ,sbcl-simple-date)))
10920 (arguments
10921 `(#:asd-file "simple-date.asd"
10922 #:asd-system-name "simple-date/postgres-glue"))))
10923
10924(define-public cl-simple-date-postgres-glue
10925 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
88dbe39b
GLV
10926
10927(define-public sbcl-s-sql
10928 (package
10929 (inherit sbcl-simple-date)
10930 (name "sbcl-s-sql")
10931 (inputs
10932 `(("alexandria" ,sbcl-alexandria)
10933 ("cl-postgres" ,sbcl-cl-postgres)))
10934 (arguments
10935 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
10936 (synopsis "Lispy DSL for SQL")
10937 (description
10938 "@code{s-sql} is a Common Lisp library that can be used to compile
10939s-expressions to strings of SQL code, escaping any Lisp values inside, and
10940doing as much as possible of the work at compile time.")))
10941
10942(define-public cl-s-sql
10943 (sbcl-package->cl-source-package sbcl-s-sql))
add1a356
GLV
10944
10945(define-public sbcl-postmodern
10946 (package
10947 (inherit sbcl-simple-date)
10948 (name "sbcl-postmodern")
10949 (native-inputs
10950 `(("fiveam" ,sbcl-fiveam)
10951 ("simple-date" ,sbcl-simple-date)
10952 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
10953 (inputs
10954 `(("alexandria" ,sbcl-alexandria)
10955 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10956 ("cl-postgres" ,sbcl-cl-postgres)
10957 ("closer-mop" ,sbcl-closer-mop)
10958 ("global-vars" ,sbcl-global-vars)
10959 ("s-sql" ,sbcl-s-sql)
10960 ("split-sequence" ,sbcl-split-sequence)))
10961 (arguments
10962 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
10963 ;; cl-postgres/tests and s-sql/tests.
10964 `(#:tests? #f))
10965 (synopsis "Common Lisp library for interacting with PostgreSQL")
10966 (description
10967 "@code{postmodern} is a Common Lisp library for interacting with
10968PostgreSQL databases. It provides the following features:
10969
10970@itemize
10971@item Efficient communication with the database server without need for
10972foreign libraries.
10973@item Support for UTF-8 on Unicode-aware Lisp implementations.
10974@item A syntax for mixing SQL and Lisp code.
10975@item Convenient support for prepared statements and stored procedures.
10976@item A metaclass for simple database-access objects.
10977@end itemize\n")))
10978
10979(define-public cl-postmodern
10980 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0
GLV
10981
10982(define-public sbcl-dbi
10983 (package
10984 (name "sbcl-dbi")
10985 (version "0.9.4")
10986 (source
10987 (origin
10988 (method git-fetch)
10989 (uri (git-reference
b0e7b699 10990 (url "https://github.com/fukamachi/cl-dbi")
47a6cde0
GLV
10991 (commit version)))
10992 (file-name (git-file-name name version))
10993 (sha256
10994 (base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs"))))
10995 (build-system asdf-build-system/sbcl)
10996 (inputs
10997 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10998 ("closer-mop" ,sbcl-closer-mop)
10999 ("split-sequence" ,sbcl-split-sequence)))
11000 (arguments
11001 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
11002 (synopsis "Database independent interface for Common Lisp")
11003 (description
11004 "@code{dbi} is a Common Lisp library providing a database independent
11005interface for MySQL, PostgreSQL and SQLite.")
11006 (home-page "https://github.com/fukamachi/cl-dbi")
11007 (license license:llgpl)))
11008
11009(define-public cl-dbi
11010 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81
GLV
11011
11012(define-public sbcl-dbd-mysql
11013 (package
11014 (inherit sbcl-dbi)
11015 (name "sbcl-dbd-mysql")
11016 (inputs
11017 `(("cl-mysql" ,sbcl-cl-mysql)
11018 ("dbi" ,sbcl-dbi)))
11019 (synopsis "Database driver for MySQL")))
11020
11021(define-public cl-dbd-mysql
11022 (sbcl-package->cl-source-package sbcl-dbd-mysql))
af469826
GLV
11023
11024(define-public sbcl-dbd-postgres
11025 (package
11026 (inherit sbcl-dbi)
11027 (name "sbcl-dbd-postgres")
11028 (inputs
11029 `(("cl-postgres" ,sbcl-cl-postgres)
11030 ("dbi" ,sbcl-dbi)
11031 ("trivial-garbage" ,sbcl-trivial-garbage)))
11032 (synopsis "Database driver for PostgreSQL")))
11033
11034(define-public cl-dbd-postgres
11035 (sbcl-package->cl-source-package sbcl-dbd-postgres))
0e9fc3d6
GLV
11036
11037(define-public sbcl-dbd-sqlite3
11038 (package
11039 (inherit sbcl-dbi)
11040 (name "sbcl-dbd-sqlite3")
11041 (inputs
11042 `(("cl-sqlite" ,sbcl-cl-sqlite)
11043 ("dbi" ,sbcl-dbi)
11044 ("trivial-garbage" ,sbcl-trivial-garbage)))
11045 (synopsis "Database driver for SQLite3")))
11046
11047(define-public cl-dbd-sqlite3
11048 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
1aa7ad1f
GLV
11049
11050(define-public sbcl-uffi
11051 (package
11052 (name "sbcl-uffi")
11053 (version "2.1.2")
11054 (source
11055 (origin
11056 (method git-fetch)
11057 (uri (git-reference
11058 (url "http://git.kpe.io/uffi.git")
11059 (commit (string-append "v" version))))
11060 (file-name (git-file-name name version))
11061 (sha256
11062 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
11063 (build-system asdf-build-system/sbcl)
11064 (arguments
11065 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
11066 #:phases
11067 (modify-phases %standard-phases
11068 (add-after 'unpack 'fix-permissions
11069 (lambda _
11070 (make-file-writable "doc/html.tar.gz")
11071 #t)))))
11072 (synopsis "Universal foreign function library for Common Lisp")
11073 (description
11074 "UFFI provides a universal foreign function interface (FFI)
11075 for Common Lisp.")
11076 (home-page "http://quickdocs.org/uffi/")
11077 (license license:llgpl)))
11078
11079(define-public cl-uffi
11080 (package
11081 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11082 (arguments
11083 `(#:phases
11084 ;; asdf-build-system/source has its own phases and does not inherit
11085 ;; from asdf-build-system/sbcl phases.
11086 (modify-phases %standard-phases/source
11087 (add-after 'unpack 'fix-permissions
11088 (lambda _
11089 (make-file-writable "doc/html.tar.gz")
11090 #t)))))))
5ae56f68
GLV
11091
11092(define-public sbcl-clsql
11093 (package
11094 (name "sbcl-clsql")
11095 (version "6.7.0")
11096 (source
11097 (origin
11098 (method git-fetch)
11099 (uri (git-reference
11100 (url "http://git.kpe.io/clsql.git")
11101 (commit (string-append "v" version))))
11102 (file-name (git-file-name name version))
11103 (sha256
11104 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11105 (snippet
11106 '(begin
11107 ;; Remove precompiled libraries.
11108 (delete-file "db-mysql/clsql_mysql.dll")
11109 (delete-file "uffi/clsql_uffi.dll")
11110 (delete-file "uffi/clsql_uffi.lib")
11111 #t))))
11112 (build-system asdf-build-system/sbcl)
11113 (native-inputs
11114 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11115 ("rt" ,sbcl-rt)
11116 ("uffi" ,sbcl-uffi)))
11117 (arguments
11118 `(#:phases
11119 (modify-phases %standard-phases
11120 (add-after 'unpack 'fix-permissions
11121 (lambda _
11122 (make-file-writable "doc/html.tar.gz")
11123 #t))
11124 (add-after 'unpack 'fix-tests
11125 (lambda _
11126 (substitute* "clsql.asd"
11127 (("clsql-tests :force t")
11128 "clsql-tests"))
11129 #t)))))
11130 (synopsis "Common Lisp SQL Interface library")
11131 (description
11132 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11133Xanalys CommonSQL interface for Lispworks. It provides low-level database
11134interfaces as well as a functional and an object oriented interface.")
11135 (home-page "http://clsql.kpe.io/")
11136 (license license:llgpl)))
11137
11138(define-public cl-clsql
11139 (package
11140 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11141 (native-inputs
11142 `(("rt" ,cl-rt)))
11143 (inputs
11144 `(("mysql" ,mysql)
11145 ("postgresql" ,postgresql)
11146 ("sqlite" ,sqlite)
11147 ("zlib" ,zlib)))
11148 (propagated-inputs
11149 `(("cl-postgres" ,cl-postgres)
11150 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11151 ("md5" ,cl-md5)
11152 ("uffi" ,cl-uffi)))
11153 (arguments
11154 `(#:phases
11155 ;; asdf-build-system/source has its own phases and does not inherit
11156 ;; from asdf-build-system/sbcl phases.
11157 (modify-phases %standard-phases/source
11158 (add-after 'unpack 'fix-permissions
11159 (lambda _
11160 (make-file-writable "doc/html.tar.gz")
11161 #t)))))))
a5f44287
GLV
11162
11163(define-public sbcl-clsql-uffi
11164 (package
11165 (inherit sbcl-clsql)
11166 (name "sbcl-clsql-uffi")
11167 (inputs
11168 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11169 ("clsql" ,sbcl-clsql)
11170 ("uffi" ,sbcl-uffi)))
11171 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
5ad8d7aa
GLV
11172
11173(define-public sbcl-clsql-sqlite3
11174 (package
11175 (inherit sbcl-clsql)
11176 (name "sbcl-clsql-sqlite3")
11177 (inputs
11178 `(("clsql" ,sbcl-clsql)
11179 ("clsql-uffi" ,sbcl-clsql-uffi)
11180 ("sqlite" ,sqlite)))
11181 (arguments
11182 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11183 ((#:phases phases '%standard-phases)
11184 `(modify-phases ,phases
11185 (add-after 'unpack 'fix-paths
11186 (lambda* (#:key inputs #:allow-other-keys)
11187 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11188 (("libsqlite3")
11189 (string-append (assoc-ref inputs "sqlite")
11190 "/lib/libsqlite3")))
11191 #t))))))
11192 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
cd53df62
GLV
11193
11194(define-public sbcl-clsql-postgresql
11195 (package
11196 (inherit sbcl-clsql)
11197 (name "sbcl-clsql-postgresql")
11198 (inputs
11199 `(("clsql" ,sbcl-clsql)
11200 ("clsql-uffi" ,sbcl-clsql-uffi)
11201 ("postgresql" ,postgresql)))
11202 (arguments
11203 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11204 ((#:phases phases '%standard-phases)
11205 `(modify-phases ,phases
11206 (add-after 'unpack 'fix-paths
11207 (lambda* (#:key inputs #:allow-other-keys)
11208 (substitute* "db-postgresql/postgresql-loader.lisp"
11209 (("libpq")
11210 (string-append (assoc-ref inputs "postgresql")
11211 "/lib/libpq")))
11212 #t))))))
11213 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
f9680d52
GLV
11214
11215(define-public sbcl-clsql-postgresql-socket3
11216 (package
11217 (inherit sbcl-clsql)
11218 (name "sbcl-clsql-postgresql-socket3")
11219 (inputs
11220 `(("cl-postgres" ,sbcl-cl-postgres)
11221 ("clsql" ,sbcl-clsql)
11222 ("md5" ,sbcl-md5)))
11223 (arguments
11224 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11225 ((#:phases phases '%standard-phases)
11226 `(modify-phases ,phases
11227 (add-after 'create-asd-file 'fix-asd-file
11228 (lambda* (#:key outputs #:allow-other-keys)
11229 (let* ((out (assoc-ref outputs "out"))
11230 (lib (string-append out "/lib/" (%lisp-type)))
11231 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11232 (substitute* asd
11233 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11234 "")))
11235 #t))))))
11236 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
079ee3b5
GLV
11237
11238(define-public sbcl-clsql-mysql
11239 (package
11240 (inherit sbcl-clsql)
11241 (name "sbcl-clsql-mysql")
11242 (inputs
11243 `(("mysql" ,mysql)
11244 ("sbcl-clsql" ,sbcl-clsql)
11245 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11246 ("zlib" ,zlib)))
11247 (arguments
11248 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11249 ((#:phases phases '%standard-phases)
11250 `(modify-phases ,phases
11251 (add-after 'unpack 'fix-paths
11252 (lambda* (#:key inputs outputs #:allow-other-keys)
11253 (let ((lib (string-append "#p\""
11254 (assoc-ref outputs "out")
11255 "/lib/\"")))
11256 (substitute* "clsql-mysql.asd"
11257 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11258 lib))
11259 (substitute* "db-mysql/mysql-loader.lisp"
11260 (("libmysqlclient" all)
11261 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11262 (("clsql-mysql-system::\\*library-file-dir\\*")
11263 lib)))
11264 #t))
11265 (add-before 'build 'build-helper-library
11266 (lambda* (#:key inputs outputs #:allow-other-keys)
11267 (let* ((mysql (assoc-ref inputs "mysql"))
11268 (inc-dir (string-append mysql "/include/mysql"))
11269 (lib-dir (string-append mysql "/lib"))
11270 (shared-lib-dir (string-append (assoc-ref outputs "out")
11271 "/lib"))
11272 (shared-lib (string-append shared-lib-dir
11273 "/clsql_mysql.so")))
11274 (mkdir-p shared-lib-dir)
11275 (invoke "gcc" "-fPIC" "-shared"
11276 "-I" inc-dir
11277 "db-mysql/clsql_mysql.c"
11278 "-Wl,-soname=clsql_mysql"
11279 "-L" lib-dir "-lmysqlclient" "-lz"
11280 "-o" shared-lib)
11281 #t)))))))
11282 (synopsis "MySQL driver for Common Lisp SQL interface library")))
6dfc981a
PN
11283
11284(define-public sbcl-sycamore
11285 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
11286 (package
11287 (name "sbcl-sycamore")
11288 (version "0.0.20120604")
11289 (source
11290 (origin
11291 (method git-fetch)
11292 (uri (git-reference
11293 (url "https://github.com/ndantam/sycamore/")
11294 (commit commit)))
11295 (file-name (git-file-name name version))
11296 (sha256
11297 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
11298 (build-system asdf-build-system/sbcl)
11299 (arguments
11300 `(#:asd-file "src/sycamore.asd"))
11301 (inputs
11302 `(("alexandria" ,sbcl-alexandria)
11303 ("cl-ppcre" ,sbcl-cl-ppcre)))
11304 (synopsis "Purely functional data structure library in Common Lisp")
11305 (description
11306 "Sycamore is a fast, purely functional data structure library in Common Lisp.
11307If features:
11308
11309@itemize
11310@item Fast, purely functional weight-balanced binary trees.
11311@item Leaf nodes are simple-vectors, greatly reducing tree height.
11312@item Interfaces for tree Sets and Maps (dictionaries).
11313@item Ropes.
11314@item Purely functional pairing heaps.
11315@item Purely functional amortized queue.
11316@end itemize\n")
11317 (home-page "http://ndantam.github.io/sycamore/")
11318 (license license:bsd-3))))
11319
11320(define-public cl-sycamore
11321 (sbcl-package->cl-source-package sbcl-sycamore))
eb5341c2
PN
11322
11323(define-public sbcl-trivial-package-local-nicknames
11324 (package
11325 (name "sbcl-trivial-package-local-nicknames")
11326 (version "0.2")
11327 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11328 (source
11329 (origin
11330 (method git-fetch)
11331 (uri (git-reference
11332 (url home-page)
11333 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11334 (file-name (git-file-name name version))
11335 (sha256
11336 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11337 (build-system asdf-build-system/sbcl)
11338 (synopsis "Common Lisp compatibility library for package local nicknames")
11339 (description
11340 "This library is a portable compatibility layer around package local nicknames (PLN).
11341This was done so there is a portability library for the PLN API not included
11342in DEFPACKAGE.")
11343 (license license:unlicense)))
11344
11345(define-public cl-trivial-package-local-nicknames
11346 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
2fa04968
PN
11347
11348(define-public sbcl-enchant
11349 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
11350 (package
11351 (name "sbcl-enchant")
11352 (version (git-version "0.0.0" "1" commit))
11353 (home-page "https://github.com/tlikonen/cl-enchant")
11354 (source
11355 (origin
11356 (method git-fetch)
11357 (uri (git-reference
11358 (url home-page)
11359 (commit commit)))
11360 (file-name (git-file-name name version))
11361 (sha256
11362 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
11363 (build-system asdf-build-system/sbcl)
11364 (inputs
11365 `(("enchant" ,enchant)
11366 ("cffi" ,sbcl-cffi)))
11367 (arguments
11368 `(#:phases
11369 (modify-phases %standard-phases
11370 (add-after 'unpack 'fix-paths
11371 (lambda* (#:key inputs #:allow-other-keys)
11372 (substitute* "load-enchant.lisp"
11373 (("libenchant")
11374 (string-append
11375 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
11376 (synopsis "Common Lisp interface for the Enchant spell-checker library")
11377 (description
11378 "Enchant is a Common Lisp interface for the Enchant spell-checker
11379library. The Enchant library is a generic spell-checker library which uses
11380other spell-checkers transparently as back-end. The library supports the
11381multiple checkers, including Aspell and Hunspell.")
11382 (license license:public-domain))))
11383
11384(define-public cl-enchant
11385 (sbcl-package->cl-source-package sbcl-enchant))
df95189d
PN
11386
11387(define-public sbcl-cl-change-case
11388 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
11389 (package
11390 (name "sbcl-cl-change-case")
11391 (version (git-version "0.1.0" "1" commit))
11392 (home-page "https://github.com/rudolfochrist/cl-change-case")
11393 (source
11394 (origin
11395 (method git-fetch)
11396 (uri (git-reference
11397 (url home-page)
11398 (commit commit)))
11399 (file-name (git-file-name name version))
11400 (sha256
11401 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
11402 (build-system asdf-build-system/sbcl)
11403 (inputs
11404 `(("cl-ppcre" ,sbcl-cl-ppcre)
11405 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
11406 (native-inputs
11407 `(("fiveam" ,sbcl-fiveam)))
11408 (arguments
11409 '(;; FIXME: Test pass but phase fails with 'Component
11410 ;; "cl-change-case-test" not found, required by'.
11411 #:tests? #f
11412 #:test-asd-file "cl-change-case-test.asd"))
11413 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
11414 (description
11415 "@code{cl-change-case} is library to convert strings between camelCase,
11416PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
11417 (license license:llgpl))))
11418
11419(define-public cl-change-case
11420 (sbcl-package->cl-source-package sbcl-cl-change-case))
53c05faf
PN
11421
11422(define-public sbcl-moptilities
11423 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
11424 (package
11425 (name "sbcl-moptilities")
11426 (version (git-version "0.3.13" "1" commit))
11427 (home-page "https://github.com/gwkkwg/moptilities/")
11428 (source
11429 (origin
11430 (method git-fetch)
11431 (uri (git-reference
11432 (url home-page)
11433 (commit commit)))
11434 (file-name (git-file-name name version))
11435 (sha256
11436 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
11437 (build-system asdf-build-system/sbcl)
11438 (inputs
11439 `(("closer-mop" ,sbcl-closer-mop)))
11440 (native-inputs
11441 `(("lift" ,sbcl-lift)))
11442 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
11443 (description
11444 "MOP utilities provide a common interface between Lisps and make the
11445MOP easier to use.")
11446 (license license:expat))))
11447
11448(define-public cl-moptilities
11449 (sbcl-package->cl-source-package sbcl-moptilities))
8cf6d150
PN
11450
11451(define-public sbcl-osicat
11452 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
11453 (package
11454 (name "sbcl-osicat")
11455 (version (git-version "0.7.0" "1" commit))
11456 (home-page "http://www.common-lisp.net/project/osicat/")
11457 (source
11458 (origin
11459 (method git-fetch)
11460 (uri (git-reference
11461 (url "https://github.com/osicat/osicat")
11462 (commit commit)))
11463 (file-name (git-file-name name version))
11464 (sha256
11465 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
11466 (build-system asdf-build-system/sbcl)
11467 (arguments
11468 `(#:phases
11469 (modify-phases %standard-phases
192177b0
PN
11470 ;; The cleanup phase moves files around but we need to keep the
11471 ;; directory structure for the grovel-generated library.
11472 (replace 'cleanup
8cf6d150
PN
11473 (lambda* (#:key outputs #:allow-other-keys)
11474 (let* ((out (assoc-ref outputs "out"))
192177b0
PN
11475 (lib (string-append out "/lib/sbcl/")))
11476 (delete-file-recursively (string-append lib "src"))
11477 (delete-file-recursively (string-append lib "tests"))
11478 (for-each delete-file
11479 (filter (lambda (file)
11480 (not (member (basename file) '("libosicat.so"))))
11481 (find-files (string-append lib "posix") ".*"))))
11482 #t)))))
8cf6d150
PN
11483 (inputs
11484 `(("alexandria" ,sbcl-alexandria)
11485 ("cffi" ,sbcl-cffi)
11486 ("trivial-features" ,sbcl-trivial-features)))
11487 (native-inputs
11488 `(("cffi-grovel" ,sbcl-cffi-grovel)
11489 ("rt" ,sbcl-rt)))
11490 (synopsis "Operating system interface for Common Lisp")
11491 (description
11492 "Osicat is a lightweight operating system interface for Common Lisp on
11493Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
11494accompaniment to the standard ANSI facilities.")
11495 (license license:expat))))
11496
11497(define-public cl-osicat
11498 (sbcl-package->cl-source-package sbcl-osicat))
b2eae0e1 11499
152d50d9
KCB
11500(define-public sbcl-clx-xembed
11501 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
11502 (revision "1"))
11503 (package
11504 (name "sbcl-clx-xembed")
11505 (version (git-version "0.1" revision commit))
11506 (home-page "https://github.com/laynor/clx-xembed")
11507 (source
11508 (origin
11509 (method git-fetch)
11510 (uri (git-reference
b0e7b699 11511 (url "https://github.com/laynor/clx-xembed")
152d50d9
KCB
11512 (commit commit)))
11513 (file-name (git-file-name name version))
11514 (sha256
11515 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
11516 (build-system asdf-build-system/sbcl)
11517 (arguments
11518 `(#:asd-system-name "xembed"))
11519 (inputs
11520 `(("sbcl-clx" ,sbcl-clx)))
11521 (synopsis "CL(x) xembed protocol implementation ")
11522 (description "CL(x) xembed protocol implementation")
11523 ;; MIT License
11524 (license license:expat))))
11525
11526(define-public cl-clx-xembed
11527 (sbcl-package->cl-source-package sbcl-clx-xembed))
11528
11529(define-public ecl-clx-xembed
11530 (sbcl-package->ecl-package sbcl-clx-xembed))
11531
b2eae0e1
KCB
11532(define-public sbcl-quantile-estimator
11533 (package
11534 (name "sbcl-quantile-estimator")
11535 (version "0.0.1")
11536 (source
11537 (origin
11538 (method git-fetch)
11539 (uri (git-reference
11540 (url "https://github.com/deadtrickster/quantile-estimator.cl")
11541 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
11542 (file-name (git-file-name name version))
11543 (sha256
11544 (base32
11545 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
11546 (build-system asdf-build-system/sbcl)
11547 (arguments
11548 '(#:asd-system-name "quantile-estimator"))
11549 (inputs
11550 `(("alexandria" ,sbcl-alexandria)))
11551 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
11552 (synopsis
11553 "Effective computation of biased quantiles over data streams")
11554 (description
11555 "Common Lisp implementation of Graham Cormode and S.
11556Muthukrishnan's Effective Computation of Biased Quantiles over Data
11557Streams in ICDE’05.")
11558 (license license:expat)))
11559
11560(define-public cl-quantile-estimator
11561 (sbcl-package->cl-source-package sbcl-quantile-estimator))
11562
11563(define-public ecl-quantile-estimator
11564 (sbcl-package->ecl-package sbcl-quantile-estimator))
4c7c3077
KCB
11565
11566(define-public sbcl-prometheus
11567 (package
11568 (name "sbcl-prometheus")
11569 (version "0.4.1")
11570 (source
11571 (origin
11572 (method git-fetch)
11573 (uri (git-reference
b0e7b699 11574 (url "https://github.com/deadtrickster/prometheus.cl")
4c7c3077
KCB
11575 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
11576 (file-name (git-file-name name version))
11577 (sha256
11578 (base32
11579 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
11580 (build-system asdf-build-system/sbcl)
11581 (inputs
11582 `(("alexandria" ,sbcl-alexandria)
11583 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11584 ("cl-ppcre" ,sbcl-cl-ppcre)
11585 ("local-time" ,sbcl-local-time)
11586 ("quantile-estimator" ,sbcl-quantile-estimator)))
11587 (home-page "https://github.com/deadtrickster/prometheus.cl")
11588 (synopsis "Prometheus.io Common Lisp client")
11589 (description "Prometheus.io Common Lisp client.")
11590 (license license:expat)))
11591
11592(define-public cl-prometheus
11593 (sbcl-package->cl-source-package sbcl-prometheus))
11594
11595(define-public ecl-prometheus
11596 (sbcl-package->ecl-package sbcl-prometheus))
4e21f5bc
KCB
11597
11598(define-public sbcl-prometheus.collectors.sbcl
11599 (package
11600 (inherit sbcl-prometheus)
11601 (name "sbcl-prometheus.collectors.sbcl")
11602 (inputs `(("prometheus" ,sbcl-prometheus)))
11603 (synopsis "Prometheus collector for SBCL metrics")
11604 (description "Prometheus collector for SBCL metrics.")))
11605
11606(define-public cl-prometheus.collectors.sbcl
11607 (sbcl-package->cl-source-package sbcl-prometheus.collectors.sbcl))
b4ece1a2
KCB
11608
11609(define-public sbcl-prometheus.collectors.process
11610 (package
11611 (inherit sbcl-prometheus)
11612 (name "sbcl-prometheus.collectors.process")
11613 (inputs
11614 `(("cffi" ,sbcl-cffi)
11615 ("cffi-grovel" ,sbcl-cffi-grovel)
11616 ("cl-fad" ,sbcl-cl-fad)
11617 ("prometheus" ,sbcl-prometheus)
11618 ("split-sequence" ,sbcl-split-sequence)))
11619 (synopsis "Prometheus collector for process metrics")
11620 (description "Prometheus collector for process metrics.")))
11621
11622(define-public cl-prometheus.collectors.process
11623 (sbcl-package->cl-source-package sbcl-prometheus.collectors.process))
11624
11625(define-public ecl-prometheus.collectors.process
11626 (sbcl-package->ecl-package sbcl-prometheus.collectors.process))
78d1aa9e
KCB
11627
11628(define-public sbcl-prometheus.formats.text
11629 (package
11630 (inherit sbcl-prometheus)
11631 (name "sbcl-prometheus.formats.text")
11632 (inputs
11633 `(("alexandria" ,sbcl-alexandria)
11634 ("prometheus" ,sbcl-prometheus)))
11635 (synopsis "Prometheus client text format")
11636 (description "Prometheus client text format.")))
11637
11638(define-public cl-prometheus.formats.text
11639 (sbcl-package->cl-source-package sbcl-prometheus.formats.text))
11640
11641(define-public ecl-prometheus.formats.text
11642 (sbcl-package->ecl-package sbcl-prometheus.formats.text))
019ff3c3
KCB
11643
11644(define-public sbcl-prometheus.exposers.hunchentoot
11645 (package
11646 (inherit sbcl-prometheus)
11647 (name "sbcl-prometheus.exposers.hunchentoot")
11648 (inputs
11649 `(("hunchentoot" ,sbcl-hunchentoot)
11650 ("prometheus" ,sbcl-prometheus)
11651 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)
11652 ("salza2" ,sbcl-salza2)
11653 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11654 (synopsis "Prometheus collector for Hunchentoot metrics")
11655 (description "Prometheus collector for Hunchentoot metrics")))
11656
11657(define-public cl-prometheus.exposers.hunchentoot
11658 (sbcl-package->cl-source-package sbcl-prometheus.exposers.hunchentoot))
9e20646b
KCB
11659
11660(define-public sbcl-prometheus.pushgateway
11661 (package
11662 (inherit sbcl-prometheus)
11663 (name "sbcl-prometheus.pushgateway")
11664 (inputs
11665 `(("drakma" ,sbcl-drakma)
11666 ("prometheus" ,sbcl-prometheus)
11667 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)))
11668 (synopsis "Prometheus Pushgateway client")
11669 (description "Prometheus Pushgateway client.")))
11670
11671(define-public cl-prometheus.pushgateway
11672 (sbcl-package->cl-source-package sbcl-prometheus.pushgateway))
11673
11674(define-public ecl-prometheus.pushgateway
11675 (sbcl-package->ecl-package sbcl-prometheus.pushgateway))
59dda970
KCB
11676
11677(define-public sbcl-uuid
11678 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11679 (package
11680 (name "sbcl-uuid")
11681 (version (git-version "2012.12.26" "1" commit))
11682 (source
11683 (origin
11684 (method git-fetch)
11685 (uri (git-reference
b0e7b699 11686 (url "https://github.com/dardoria/uuid")
59dda970
KCB
11687 (commit commit)))
11688 (file-name (git-file-name name version))
11689 (sha256
11690 (base32
11691 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11692 (build-system asdf-build-system/sbcl)
11693 (inputs
11694 `(("ironclad" ,sbcl-ironclad)
11695 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11696 (home-page "https://github.com/dardoria/uuid")
11697 (synopsis
11698 "Common Lisp implementation of UUIDs according to RFC4122")
11699 (description
11700 "Common Lisp implementation of UUIDs according to RFC4122.")
11701 (license license:llgpl))))
11702
11703(define-public cl-uuid
11704 (sbcl-package->cl-source-package sbcl-uuid))
11705
11706(define-public ecl-uuid
11707 (sbcl-package->ecl-package sbcl-uuid))
adf70454
KCB
11708
11709(define-public sbcl-dissect
11710 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11711 (package
11712 (name "sbcl-dissect")
11713 (version (git-version "1.0.0" "1" commit))
11714 (source
11715 (origin
11716 (method git-fetch)
11717 (uri (git-reference
b0e7b699 11718 (url "https://github.com/Shinmera/dissect")
adf70454
KCB
11719 (commit commit)))
11720 (file-name (git-file-name name version))
11721 (sha256
11722 (base32
11723 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11724 (build-system asdf-build-system/sbcl)
11725 (inputs
11726 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11727 (home-page "https://shinmera.github.io/dissect/")
11728 (synopsis
11729 "Introspection library for the call stack and restarts")
11730 (description
11731 "Dissect is a small Common Lisp library for introspecting the call stack
11732and active restarts.")
11733 (license license:zlib))))
11734
11735(define-public cl-dissect
11736 (sbcl-package->cl-source-package sbcl-dissect))
11737
11738(define-public ecl-dissect
11739 (sbcl-package->ecl-package sbcl-dissect))
38d738e9
KCB
11740
11741;; TODO: Uses ASDF's package-inferred-system which is not supported by
11742;; asdf-build-system/sbcl as of 2020-05-21. We should fix
11743;; asdf-build-system/sbcl.
11744(define-public sbcl-rove
11745 (package
11746 (name "sbcl-rove")
11747 (version "0.9.6")
11748 (source
11749 (origin
11750 (method git-fetch)
11751 (uri (git-reference
b0e7b699 11752 (url "https://github.com/fukamachi/rove")
38d738e9
KCB
11753 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11754 (file-name (git-file-name name version))
11755 (sha256
11756 (base32
11757 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11758 (build-system asdf-build-system/sbcl)
11759 (inputs
11760 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11761 ("dissect" ,sbcl-dissect)
11762 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11763 (home-page "https://github.com/fukamachi/rove")
11764 (synopsis
11765 "Yet another common lisp testing library")
11766 (description
11767 "Rove is a unit testing framework for Common Lisp applications.
11768This is intended to be a successor of Prove.")
11769 (license license:bsd-3)))
11770
11771(define-public cl-rove
11772 (sbcl-package->cl-source-package sbcl-rove))
11773
11774(define-public ecl-rove
11775 (sbcl-package->ecl-package sbcl-rove))
aae3df18
KCB
11776
11777(define-public sbcl-exponential-backoff
11778 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11779 (package
11780 (name "sbcl-exponential-backoff")
11781 (version (git-version "0" "1" commit))
11782 (source
11783 (origin
11784 (method git-fetch)
11785 (uri (git-reference
b0e7b699 11786 (url "https://github.com/death/exponential-backoff")
aae3df18
KCB
11787 (commit commit)))
11788 (file-name (git-file-name name version))
11789 (sha256
11790 (base32
11791 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11792 (build-system asdf-build-system/sbcl)
11793 (home-page "https://github.com/death/exponential-backoff")
11794 (synopsis "Exponential backoff algorithm in Common Lisp")
11795 (description
11796 "An implementation of the exponential backoff algorithm in Common Lisp.
11797Inspired by the implementation found in Chromium. Read the header file to
11798learn about each of the parameters.")
11799 (license license:expat))))
11800
11801(define-public cl-exponential-backoff
11802 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11803
11804(define-public ecl-exponential-backoff
11805 (sbcl-package->ecl-package sbcl-exponential-backoff))
3e736218
KCB
11806
11807(define-public sbcl-sxql
11808 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
11809 (package
11810 (name "sbcl-sxql")
11811 (version (git-version "0.1.0" "1" commit))
11812 (source
11813 (origin
11814 (method git-fetch)
11815 (uri (git-reference
b0e7b699 11816 (url "https://github.com/fukamachi/sxql")
3e736218
KCB
11817 (commit commit)))
11818 (file-name (git-file-name name version))
11819 (sha256
11820 (base32
11821 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
11822 (build-system asdf-build-system/sbcl)
11823 (arguments
11824 `(#:test-asd-file "sxql-test.asd"))
11825 (inputs
11826 `(("alexandria" ,sbcl-alexandria)
11827 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
11828 ("iterate" ,sbcl-iterate)
11829 ("optima" ,sbcl-optima)
11830 ("split-sequence" ,sbcl-split-sequence)
11831 ("trivial-types" ,sbcl-trivial-types)))
11832 (native-inputs
11833 `(("prove" ,sbcl-prove)
11834 ("prove-asdf" ,sbcl-prove-asdf)))
11835 (home-page "https://github.com/fukamachi/sxql")
11836 (synopsis "SQL generator for Common Lisp")
11837 (description "SQL generator for Common Lisp.")
11838 (license license:bsd-3))))
11839
11840(define-public cl-sxql
11841 (sbcl-package->cl-source-package sbcl-sxql))
11842
11843(define-public ecl-sxql
11844 (sbcl-package->ecl-package sbcl-sxql))
1f9999df
KCB
11845
11846(define-public sbcl-1am
11847 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11848 (package
11849 (name "sbcl-1am")
11850 (version (git-version "0.0" "1" commit))
11851 (source
11852 (origin
11853 (method git-fetch)
11854 (uri (git-reference
b0e7b699 11855 (url "https://github.com/lmj/1am")
1f9999df
KCB
11856 (commit commit)))
11857 (file-name (git-file-name name version))
11858 (sha256
11859 (base32
11860 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11861 (build-system asdf-build-system/sbcl)
11862 (arguments
11863 `(#:asd-system-name "1am"))
11864 (home-page "https://github.com/lmj/1am")
11865 (synopsis "Minimal testing framework for Common Lisp")
11866 (description "A minimal testing framework for Common Lisp.")
11867 (license license:expat))))
11868
11869(define-public cl-1am
11870 (sbcl-package->cl-source-package sbcl-1am))
11871
11872(define-public ecl-1am
11873 (sbcl-package->ecl-package sbcl-1am))
d7c60681
GLV
11874
11875(define-public sbcl-cl-ascii-table
11876 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11877 (revision "1"))
11878 (package
11879 (name "sbcl-cl-ascii-table")
11880 (version (git-version "0.0.0" revision commit))
11881 (source
11882 (origin
11883 (method git-fetch)
11884 (uri (git-reference
b0e7b699 11885 (url "https://github.com/telephil/cl-ascii-table")
d7c60681
GLV
11886 (commit commit)))
11887 (file-name (git-file-name name version))
11888 (sha256
11889 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11890 (build-system asdf-build-system/sbcl)
11891 (synopsis "Library to make ascii-art tables")
11892 (description
11893 "This is a Common Lisp library to present tabular data in ascii-art
11894tables.")
11895 (home-page "https://github.com/telephil/cl-ascii-table")
11896 (license license:expat))))
11897
11898(define-public cl-ascii-table
11899 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11900
11901(define-public ecl-cl-ascii-table
11902 (sbcl-package->ecl-package sbcl-cl-ascii-table))
64174aff
KCB
11903
11904(define-public sbcl-cl-rdkafka
11905 (package
11906 (name "sbcl-cl-rdkafka")
11907 (version "1.0.2")
11908 (source
11909 (origin
11910 (method git-fetch)
11911 (uri (git-reference
b0e7b699 11912 (url "https://github.com/SahilKang/cl-rdkafka")
64174aff
KCB
11913 (commit (string-append "v" version))))
11914 (file-name (git-file-name name version))
11915 (sha256
11916 (base32
11917 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
11918 (build-system asdf-build-system/sbcl)
11919 (arguments
11920 `(#:tests? #f ; Attempts to connect to locally running Kafka
11921 #:phases
11922 (modify-phases %standard-phases
11923 (add-after 'unpack 'fix-paths
11924 (lambda* (#:key inputs #:allow-other-keys)
11925 (substitute* "src/low-level/librdkafka-bindings.lisp"
11926 (("librdkafka" all)
11927 (string-append (assoc-ref inputs "librdkafka") "/lib/"
11928 all)))))
11929 (add-before 'cleanup 'move-bundle
11930 (lambda* (#:key outputs #:allow-other-keys)
11931 (let* ((out (assoc-ref outputs "out"))
11932 (actual (string-append out "/lib/sbcl/src/cl-rdkafka.fasl"))
11933 (expected (string-append
11934 out "/lib/sbcl/cl-rdkafka--system.fasl")))
11935 (copy-file actual expected)
11936 #t))))))
11937 (inputs
11938 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11939 ("cffi" ,sbcl-cffi)
11940 ("cffi-grovel" ,sbcl-cffi-grovel)
11941 ("librdkafka" ,librdkafka)
11942 ("lparallel" ,sbcl-lparallel)
11943 ("trivial-garbage" ,sbcl-trivial-garbage)))
11944 (home-page "https://github.com/SahilKang/cl-rdkafka")
11945 (synopsis "Common Lisp client library for Apache Kafka")
11946 (description "A Common Lisp client library for Apache Kafka.")
11947 (license license:gpl3)))
11948
11949(define-public cl-rdkafka
11950 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
04dd8018
PN
11951
11952(define-public sbcl-acclimation
11953 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11954 (package
11955 (name "sbcl-acclimation")
11956 (version (git-version "0.0.0" "1" commit))
11957 (source
11958 (origin
11959 (method git-fetch)
11960 (uri (git-reference
11961 (url "https://github.com/robert-strandh/Acclimation")
11962 (commit commit)))
11963 (file-name (git-file-name name version))
11964 (sha256
11965 (base32
11966 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11967 (build-system asdf-build-system/sbcl)
11968 (home-page "https://github.com/robert-strandh/Acclimation")
11969 (synopsis "Internationalization library for Common Lisp")
11970 (description "This project is meant to provide tools for
11971internationalizing Common Lisp programs.
11972
11973One important aspect of internationalization is of course the language used in
11974error messages, documentation strings, etc. But with this project we provide
11975tools for all other aspects of internationalization as well, including dates,
11976weight, temperature, names of physical quantitites, etc.")
11977 (license license:bsd-2))))
11978
11979(define-public cl-acclimation
11980 (sbcl-package->cl-source-package sbcl-acclimation))
ba1727b0
PN
11981
11982(define-public sbcl-clump-2-3-tree
11983 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
11984 (package
11985 (name "sbcl-clump-2-3-tree")
11986 (version (git-version "0.0.0" "1" commit))
11987 (source
11988 (origin
11989 (method git-fetch)
11990 (uri (git-reference
11991 (url "https://github.com/robert-strandh/Clump")
11992 (commit commit)))
11993 (file-name (git-file-name name version))
11994 (sha256
11995 (base32
11996 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
11997 (arguments
11998 '(#:asd-file "2-3-tree/clump-2-3-tree.asd"
11999 #:asd-system-name "clump-2-3-tree"))
12000 (inputs
12001 `(("acclimation" ,sbcl-acclimation)))
12002 (build-system asdf-build-system/sbcl)
12003 (home-page "https://github.com/robert-strandh/Clump")
12004 (synopsis "Implementation of 2-3 trees for Common Lisp")
12005 (description "The purpose of this library is to provide a collection of
12006implementations of trees.
12007
12008In contrast to existing libraries such as cl-containers, it does not impose a
12009particular use for the trees. Instead, it aims for a stratified design,
12010allowing client code to choose between different levels of abstraction.
12011
12012As a consequence of this policy, low-level interfaces are provided where
12013the concrete representation is exposed, but also high level interfaces
12014where the trees can be used as search trees or as trees that represent
12015sequences of objects.")
12016 (license license:bsd-2))))
106354ea
PN
12017
12018(define-public sbcl-clump-binary-tree
12019 (package
12020 (inherit sbcl-clump-2-3-tree)
12021 (name "sbcl-clump-binary-tree")
12022 (arguments
12023 '(#:asd-file "Binary-tree/clump-binary-tree.asd"
12024 #:asd-system-name "clump-binary-tree"))
12025 (synopsis "Implementation of binary trees for Common Lisp")))
409fcee9
PN
12026
12027(define-public sbcl-clump
12028 (package
12029 (inherit sbcl-clump-2-3-tree)
12030 (name "sbcl-clump")
12031 (arguments
12032 '(#:asd-file "clump.asd"
12033 #:asd-system-name "clump"))
12034 (inputs
12035 `(("clump-2-3-tree" ,sbcl-clump-2-3-tree)
12036 ("clump-binary-tree" ,sbcl-clump-binary-tree)))
12037 (synopsis "Collection of tree implementations for Common Lisp")))
12038
12039(define-public cl-clump
12040 (sbcl-package->cl-source-package sbcl-clump))
19a1a98f
PN
12041
12042(define-public sbcl-cluffer-base
12043 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
12044 (package
12045 (name "sbcl-cluffer-base")
12046 (version (git-version "0.0.0" "1" commit))
12047 (source
12048 (origin
12049 (method git-fetch)
12050 (uri (git-reference
12051 (url "https://github.com/robert-strandh/cluffer")
12052 (commit commit)))
12053 (file-name (git-file-name name version))
12054 (sha256
12055 (base32
12056 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
12057 (arguments
12058 '(#:asd-file "Base/cluffer-base.asd"
12059 #:asd-system-name "cluffer-base"))
12060 (inputs
12061 `(("acclimation" ,sbcl-acclimation)))
12062 (build-system asdf-build-system/sbcl)
12063 (home-page "https://github.com/robert-strandh/cluffer")
12064 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
12065 (description "Cluffer is a library for representing the buffer of a text
12066editor. As such, it defines a set of CLOS protocols for client code to
12067interact with the buffer contents in various ways, and it supplies different
12068implementations of those protocols for different purposes.")
12069 (license license:bsd-2))))
a4a24f66
PN
12070
12071(define-public sbcl-cluffer-standard-line
12072 (package
12073 (inherit sbcl-cluffer-base)
12074 (name "sbcl-cluffer-standard-line")
12075 (arguments
12076 '(#:asd-file "Standard-line/cluffer-standard-line.asd"
12077 #:asd-system-name "cluffer-standard-line"))
12078 (inputs
12079 `(("cluffer-base" ,sbcl-cluffer-base)))))
37f2d583
PN
12080
12081(define-public sbcl-cluffer-standard-buffer
12082 (package
12083 (inherit sbcl-cluffer-base)
12084 (name "sbcl-cluffer-standard-buffer")
12085 (arguments
12086 '(#:asd-file "Standard-buffer/cluffer-standard-buffer.asd"
12087 #:asd-system-name "cluffer-standard-buffer"))
12088 (inputs
12089 `(("cluffer-base" ,sbcl-cluffer-base)
12090 ("clump" ,sbcl-clump)))))
5e3fcdf8
PN
12091
12092(define-public sbcl-cluffer-simple-line
12093 (package
12094 (inherit sbcl-cluffer-base)
12095 (name "sbcl-cluffer-simple-line")
12096 (arguments
12097 '(#:asd-file "Simple-line/cluffer-simple-line.asd"
12098 #:asd-system-name "cluffer-simple-line"))
12099 (inputs
12100 `(("cluffer-base" ,sbcl-cluffer-base)))))
d6ad0b72
PN
12101
12102(define-public sbcl-cluffer-simple-buffer
12103 (package
12104 (inherit sbcl-cluffer-base)
12105 (name "sbcl-cluffer-simple-buffer")
12106 (arguments
12107 '(#:asd-file "Simple-buffer/cluffer-simple-buffer.asd"
12108 #:asd-system-name "cluffer-simple-buffer"))
12109 (inputs
12110 `(("cluffer-base" ,sbcl-cluffer-base)))))
89c98c06
PN
12111
12112(define-public sbcl-cluffer
12113 (package
12114 (inherit sbcl-cluffer-base)
12115 (name "sbcl-cluffer")
12116 (arguments
12117 '(#:asd-file "cluffer.asd"
12118 #:asd-system-name "cluffer"))
12119 (inputs
12120 `(("cluffer-base" ,sbcl-cluffer-base)
12121 ("cluffer-standard-line" ,sbcl-cluffer-standard-line)
12122 ("cluffer-standard-buffer" ,sbcl-cluffer-standard-buffer)
12123 ("cluffer-simple-line" ,sbcl-cluffer-simple-line)
12124 ("cluffer-simple-buffer" ,sbcl-cluffer-simple-buffer)))))
12125
12126(define-public cl-cluffer
12127 (sbcl-package->cl-source-package sbcl-cluffer))
8f1ab4fb
GLV
12128
12129(define-public sbcl-cl-libsvm-format
12130 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
12131 (revision "0"))
12132 (package
12133 (name "sbcl-cl-libsvm-format")
12134 (version (git-version "0.1.0" revision commit))
12135 (source
12136 (origin
12137 (method git-fetch)
12138 (uri (git-reference
b0e7b699 12139 (url "https://github.com/masatoi/cl-libsvm-format")
8f1ab4fb
GLV
12140 (commit commit)))
12141 (file-name (git-file-name name version))
12142 (sha256
12143 (base32
12144 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
12145 (build-system asdf-build-system/sbcl)
12146 (native-inputs
12147 `(("prove" ,sbcl-prove)
12148 ("prove-asdf" ,sbcl-prove-asdf)))
12149 (inputs
12150 `(("alexandria" ,sbcl-alexandria)))
12151 (synopsis "LibSVM data format reader for Common Lisp")
12152 (description
12153 "This Common Lisp library provides a fast reader for data in LibSVM
12154format.")
12155 (home-page "https://github.com/masatoi/cl-libsvm-format")
12156 (license license:expat))))
12157
12158(define-public cl-libsvm-format
12159 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
12160
12161(define-public ecl-cl-libsvm-format
12162 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
12163
12164(define-public sbcl-cl-online-learning
12165 (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423")
12166 (revision "0"))
12167 (package
12168 (name "sbcl-cl-online-learning")
12169 (version (git-version "0.5" revision commit))
12170 (source
12171 (origin
12172 (method git-fetch)
12173 (uri (git-reference
b0e7b699 12174 (url "https://github.com/masatoi/cl-online-learning")
8f1ab4fb
GLV
12175 (commit commit)))
12176 (file-name (git-file-name name version))
12177 (sha256
12178 (base32
12179 "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq"))))
12180 (build-system asdf-build-system/sbcl)
12181 (native-inputs
12182 `(("prove" ,sbcl-prove)
12183 ("prove-asdf" ,sbcl-prove-asdf)))
12184 (inputs
12185 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12186 ("cl-store" ,sbcl-cl-store)))
12187 (arguments
12188 `(;; FIXME: Tests pass but then the check phase crashes
12189 #:tests? #f))
12190 (synopsis "Online Machine Learning for Common Lisp")
12191 (description
12192 "This library contains a collection of machine learning algorithms for
12193online linear classification written in Common Lisp.")
12194 (home-page "https://github.com/masatoi/cl-online-learning")
12195 (license license:expat))))
12196
12197(define-public cl-online-learning
12198 (sbcl-package->cl-source-package sbcl-cl-online-learning))
12199
12200(define-public ecl-cl-online-learning
12201 (sbcl-package->ecl-package sbcl-cl-online-learning))
12202
12203(define-public sbcl-cl-random-forest
4e7d5e32
GLV
12204 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
12205 (revision "1"))
8f1ab4fb
GLV
12206 (package
12207 (name "sbcl-cl-random-forest")
12208 (version (git-version "0.1" revision commit))
12209 (source
12210 (origin
12211 (method git-fetch)
12212 (uri (git-reference
b0e7b699 12213 (url "https://github.com/masatoi/cl-random-forest")
8f1ab4fb
GLV
12214 (commit commit)))
12215 (file-name (git-file-name name version))
12216 (sha256
12217 (base32
4e7d5e32 12218 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
8f1ab4fb
GLV
12219 (build-system asdf-build-system/sbcl)
12220 (native-inputs
12221 `(("prove" ,sbcl-prove)
12222 ("prove-asdf" ,sbcl-prove-asdf)
12223 ("trivial-garbage" ,sbcl-trivial-garbage)))
12224 (inputs
12225 `(("alexandria" ,sbcl-alexandria)
12226 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12227 ("cl-online-learning" ,sbcl-cl-online-learning)
12228 ("lparallel" ,sbcl-lparallel)))
12229 (arguments
12230 `(#:tests? #f)) ; The tests download data from the Internet
12231 (synopsis "Random Forest and Global Refinement for Common Lisp")
12232 (description
12233 "CL-random-forest is an implementation of Random Forest for multiclass
12234classification and univariate regression written in Common Lisp. It also
12235includes an implementation of Global Refinement of Random Forest.")
12236 (home-page "https://github.com/masatoi/cl-random-forest")
12237 (license license:expat))))
12238
12239(define-public cl-random-forest
12240 (sbcl-package->cl-source-package sbcl-cl-random-forest))
12241
12242(define-public ecl-cl-random-forest
12243 (sbcl-package->ecl-package sbcl-cl-random-forest))
5a2997e5
GLV
12244
12245(define-public sbcl-bordeaux-fft
12246 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
12247 (revision "0"))
12248 (package
12249 (name "sbcl-bordeaux-fft")
12250 (version (git-version "1.0.1" revision commit))
12251 (source
12252 (origin
12253 (method git-fetch)
12254 (uri (git-reference
b0e7b699 12255 (url "https://github.com/ahefner/bordeaux-fft")
5a2997e5
GLV
12256 (commit commit)))
12257 (file-name (git-file-name name version))
12258 (sha256
12259 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
12260 (build-system asdf-build-system/sbcl)
12261 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
12262 (synopsis "Fast Fourier Transform for Common Lisp")
12263 (description
12264 "The Bordeaux-FFT library provides a reasonably efficient implementation
12265of the Fast Fourier Transform and its inverse for complex-valued inputs, in
12266portable Common Lisp.")
12267 (license license:gpl2+))))
12268
12269(define-public cl-bordeaux-fft
12270 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
12271
12272(define-public ecl-bordeaux-fft
12273 (sbcl-package->ecl-package sbcl-bordeaux-fft))
c7ce30cd
GLV
12274
12275(define-public sbcl-napa-fft3
12276 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
12277 (revision "0"))
12278 (package
12279 (name "sbcl-napa-fft3")
12280 (version (git-version "0.0.1" revision commit))
12281 (source
12282 (origin
12283 (method git-fetch)
12284 (uri (git-reference
b0e7b699 12285 (url "https://github.com/pkhuong/Napa-FFT3")
c7ce30cd
GLV
12286 (commit commit)))
12287 (file-name (git-file-name name version))
12288 (sha256
12289 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
12290 (build-system asdf-build-system/sbcl)
12291 (home-page "https://github.com/pkhuong/Napa-FFT3")
12292 (synopsis "Fast Fourier Transform routines in Common Lisp")
12293 (description
12294 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
12295buildings blocks to express common operations that involve DFTs: filtering,
12296convolutions, etc.")
12297 (license license:bsd-3))))
12298
12299(define-public cl-napa-fft3
12300 (sbcl-package->cl-source-package sbcl-napa-fft3))
2020a056
GLV
12301
12302(define-public sbcl-cl-tga
12303 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
12304 (revision "0"))
12305 (package
12306 (name "sbcl-cl-tga")
12307 (version (git-version "0.0.0" revision commit))
12308 (source
12309 (origin
12310 (method git-fetch)
12311 (uri (git-reference
12312 (url "https://github.com/fisxoj/cl-tga")
12313 (commit commit)))
12314 (file-name (git-file-name name version))
12315 (sha256
12316 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
12317 (build-system asdf-build-system/sbcl)
12318 (home-page "https://github.com/fisxoj/cl-tga")
12319 (synopsis "TGA file loader for Common Lisp")
12320 (description
12321 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
12322programs. It's a very simple library, and, at the moment, only supports
12323non-RLE encoded forms of the files.")
12324 (license license:expat))))
12325
12326(define-public cl-tga
12327 (sbcl-package->cl-source-package sbcl-cl-tga))
12328
12329(define-public ecl-cl-tga
12330 (sbcl-package->ecl-package sbcl-cl-tga))
31c67a85
GLV
12331
12332(define-public sbcl-com.gigamonkeys.binary-data
12333 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
12334 (revision "0"))
12335 (package
12336 (name "sbcl-com.gigamonkeys.binary-data")
12337 (version (git-version "0.0.0" revision commit))
12338 (source
12339 (origin
12340 (method git-fetch)
12341 (uri (git-reference
12342 (url "https://github.com/gigamonkey/monkeylib-binary-data")
12343 (commit commit)))
12344 (file-name (git-file-name name version))
12345 (sha256
12346 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
12347 (build-system asdf-build-system/sbcl)
12348 (inputs
12349 `(("alexandria" ,sbcl-alexandria)))
12350 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
12351 (synopsis "Common Lisp library for reading and writing binary data")
12352 (description
12353 "This a Common Lisp library for reading and writing binary data. It is
12354based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
12355 (license license:bsd-3))))
12356
12357(define-public cl-com.gigamonkeys.binary-data
12358 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
12359
12360(define-public ecl-com.gigamonkeys.binary-data
12361 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
556daf64
GLV
12362
12363(define-public sbcl-deflate
12364 (package
12365 (name "sbcl-deflate")
12366 (version "1.0.3")
12367 (source
12368 (origin
12369 (method git-fetch)
12370 (uri (git-reference
12371 (url "https://github.com/pmai/Deflate")
12372 (commit (string-append "release-" version))))
12373 (file-name (git-file-name name version))
12374 (sha256
12375 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
12376 (build-system asdf-build-system/sbcl)
12377 (home-page "https://github.com/pmai/Deflate")
12378 (synopsis "Native deflate decompression for Common Lisp")
12379 (description
12380 "This library is an implementation of Deflate (RFC 1951) decompression,
12381with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
12382wrappers of deflate streams. It currently does not handle compression.")
12383 (license license:expat)))
12384
12385(define-public cl-deflate
12386 (sbcl-package->cl-source-package sbcl-deflate))
12387
12388(define-public ecl-deflate
12389 (sbcl-package->ecl-package sbcl-deflate))
7387c090
GLV
12390
12391(define-public sbcl-skippy
12392 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
12393 (revision "0"))
12394 (package
12395 (name "sbcl-skippy")
12396 (version (git-version "1.3.12" revision commit))
12397 (source
12398 (origin
12399 (method git-fetch)
12400 (uri (git-reference
12401 (url "https://github.com/xach/skippy")
12402 (commit commit)))
12403 (file-name (git-file-name name version))
12404 (sha256
12405 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
12406 (build-system asdf-build-system/sbcl)
12407 (home-page "https://xach.com/lisp/skippy/")
12408 (synopsis "Common Lisp library for GIF images")
12409 (description
12410 "Skippy is a Common Lisp library to read and write GIF image files.")
12411 (license license:bsd-2))))
12412
12413(define-public cl-skippy
12414 (sbcl-package->cl-source-package sbcl-skippy))
12415
12416(define-public ecl-skippy
12417 (sbcl-package->ecl-package sbcl-skippy))
ec2c73b8
GLV
12418
12419(define-public sbcl-cl-freetype2
12420 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
12421 (revision "0"))
12422 (package
12423 (name "sbcl-cl-freetype2")
12424 (version (git-version "1.1" revision commit))
12425 (source
12426 (origin
12427 (method git-fetch)
12428 (uri (git-reference
12429 (url "https://github.com/rpav/cl-freetype2")
12430 (commit commit)))
12431 (file-name (git-file-name name version))
12432 (sha256
12433 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
12434 (build-system asdf-build-system/sbcl)
12435 (native-inputs
12436 `(("fiveam" ,sbcl-fiveam)))
12437 (inputs
12438 `(("alexandria" ,sbcl-alexandria)
12439 ("cffi" ,sbcl-cffi)
12440 ("cffi-grovel" ,sbcl-cffi-grovel)
12441 ("freetype" ,freetype)
12442 ("trivial-garbage" ,sbcl-trivial-garbage)))
12443 (arguments
12444 `(#:phases
12445 (modify-phases %standard-phases
12446 (add-after 'unpack 'fix-paths
12447 (lambda* (#:key inputs #:allow-other-keys)
12448 (substitute* "src/ffi/ft2-lib.lisp"
12449 (("\"libfreetype\"")
12450 (string-append "\"" (assoc-ref inputs "freetype")
12451 "/lib/libfreetype\"")))
12452 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
12453 (("-I/usr/include/freetype")
12454 (string-append "-I" (assoc-ref inputs "freetype")
12455 "/include/freetype")))
12456 #t)))))
12457 (home-page "https://github.com/rpav/cl-freetype2")
12458 (synopsis "Common Lisp bindings for Freetype 2")
12459 (description
12460 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
12461geared toward both using Freetype directly by providing a simplified API, as
12462well as providing access to the underlying C structures and functions for use
12463with other libraries which may also use Freetype.")
12464 (license license:bsd-3))))
12465
12466(define-public cl-freetype2
12467 (sbcl-package->cl-source-package sbcl-cl-freetype2))
12468
12469(define-public ecl-cl-freetype2
12470 (sbcl-package->ecl-package sbcl-cl-freetype2))
fc748ff0
GLV
12471
12472(define-public sbcl-opticl-core
12473 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
12474 (revision "0"))
12475 (package
12476 (name "sbcl-opticl-core")
12477 (version (git-version "0.0.0" revision commit))
12478 (source
12479 (origin
12480 (method git-fetch)
12481 (uri (git-reference
12482 (url "https://github.com/slyrus/opticl-core")
12483 (commit commit)))
12484 (file-name (git-file-name name version))
12485 (sha256
12486 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
12487 (build-system asdf-build-system/sbcl)
12488 (inputs
12489 `(("alexandria" ,sbcl-alexandria)))
12490 (home-page "https://github.com/slyrus/opticl-core")
12491 (synopsis "Core classes and pixel access macros for Opticl")
12492 (description
12493 "This Common Lisp library contains the core classes and pixel access
12494macros for the Opticl image processing library.")
12495 (license license:bsd-2))))
12496
12497(define-public cl-opticl-core
12498 (sbcl-package->cl-source-package sbcl-opticl-core))
12499
12500(define-public ecl-opticl-core
12501 (sbcl-package->ecl-package sbcl-opticl-core))
1c1b0532
GLV
12502
12503(define-public sbcl-retrospectiff
12504 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
12505 (revision "0"))
12506 (package
12507 (name "sbcl-retrospectiff")
12508 (version (git-version "0.2" revision commit))
12509 (source
12510 (origin
12511 (method git-fetch)
12512 (uri (git-reference
12513 (url "https://github.com/slyrus/retrospectiff")
12514 (commit commit)))
12515 (file-name (git-file-name name version))
12516 (sha256
12517 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
12518 (build-system asdf-build-system/sbcl)
12519 (native-inputs
12520 `(("fiveam" ,sbcl-fiveam)))
12521 (inputs
12522 `(("cl-jpeg" ,sbcl-cl-jpeg)
12523 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
12524 ("deflate" ,sbcl-deflate)
12525 ("flexi-streams" ,sbcl-flexi-streams)
12526 ("ieee-floats" ,sbcl-ieee-floats)
12527 ("opticl-core" ,sbcl-opticl-core)))
12528 (home-page "https://github.com/slyrus/retrospectiff")
12529 (synopsis "Common Lisp library for TIFF images")
12530 (description
12531 "Retrospectiff is a common lisp library for reading and writing images
12532in the TIFF (Tagged Image File Format) format.")
12533 (license license:bsd-2))))
12534
12535(define-public cl-retrospectif
12536 (sbcl-package->cl-source-package sbcl-retrospectiff))
12537
12538(define-public ecl-retrospectiff
12539 (sbcl-package->ecl-package sbcl-retrospectiff))
0f44f63c
GLV
12540
12541(define-public sbcl-mmap
12542 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
12543 (revision "0"))
12544 (package
12545 (name "sbcl-mmap")
12546 (version (git-version "1.0.0" revision commit))
12547 (source
12548 (origin
12549 (method git-fetch)
12550 (uri (git-reference
12551 (url "https://github.com/Shinmera/mmap")
12552 (commit commit)))
12553 (file-name (git-file-name name version))
12554 (sha256
12555 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
12556 (build-system asdf-build-system/sbcl)
12557 (native-inputs
12558 `(("alexandria" ,sbcl-alexandria)
12559 ("cffi" ,sbcl-cffi)
12560 ("parachute" ,sbcl-parachute)
12561 ("trivial-features" ,sbcl-trivial-features)))
12562 (inputs
12563 `(("cffi" ,sbcl-cffi)
12564 ("documentation-utils" ,sbcl-documentation-utils)))
12565 (home-page "https://shinmera.github.io/mmap/")
12566 (synopsis "File memory mapping for Common Lisp")
12567 (description
12568 "This is a utility library providing access to the @emph{mmap} family of
12569functions in a portable way. It allows you to directly map a file into the
12570address space of your process without having to manually read it into memory
12571sequentially. Typically this is much more efficient for files that are larger
12572than a few Kb.")
12573 (license license:zlib))))
12574
12575(define-public cl-mmap
12576 (sbcl-package->cl-source-package sbcl-mmap))
12577
12578(define-public ecl-mmap
12579 (sbcl-package->ecl-package sbcl-mmap))
242bd807
GLV
12580
12581(define-public sbcl-3bz
12582 (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed")
12583 (revision "0"))
12584 (package
12585 (name "sbcl-3bz")
12586 (version (git-version "0.0.0" revision commit))
12587 (source
12588 (origin
12589 (method git-fetch)
12590 (uri (git-reference
12591 (url "https://github.com/3b/3bz")
12592 (commit commit)))
12593 (file-name (git-file-name name version))
12594 (sha256
12595 (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj"))))
12596 (build-system asdf-build-system/sbcl)
12597 (inputs
12598 `(("alexandria" ,sbcl-alexandria)
12599 ("babel" ,sbcl-babel)
12600 ("cffi" ,sbcl-cffi)
12601 ("mmap" ,sbcl-mmap)
12602 ("nibbles" ,sbcl-nibbles)
12603 ("trivial-features" ,sbcl-trivial-features)))
12604 (arguments
12605 ;; FIXME: Without the following line, the build fails (see issue 41437).
12606 `(#:asd-system-name "3bz"))
12607 (home-page "https://github.com/3b/3bz")
12608 (synopsis "Deflate decompression for Common Lisp")
12609 (description
12610 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
12611with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
12612foreign pointers (for use with mmap and similar, etc), and from CL octet
12613vectors and streams.")
12614 (license license:expat))))
12615
12616(define-public cl-3bz
12617 (sbcl-package->cl-source-package sbcl-3bz))
12618
12619(define-public ecl-3bz
12620 (sbcl-package->ecl-package sbcl-3bz))
5dff9687
GLV
12621
12622(define-public sbcl-zpb-exif
12623 (package
12624 (name "sbcl-zpb-exif")
12625 (version "1.2.4")
12626 (source
12627 (origin
12628 (method git-fetch)
12629 (uri (git-reference
12630 (url "https://github.com/xach/zpb-exif")
12631 (commit (string-append "release-" version))))
12632 (file-name (git-file-name name version))
12633 (sha256
12634 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
12635 (build-system asdf-build-system/sbcl)
12636 (home-page "https://xach.com/lisp/zpb-exif/")
12637 (synopsis "EXIF information extractor for Common Lisp")
12638 (description
12639 "This is a Common Lisp library to extract EXIF information from image
12640files.")
12641 (license license:bsd-2)))
12642
12643(define-public cl-zpb-exif
12644 (sbcl-package->cl-source-package sbcl-zpb-exif))
12645
12646(define-public ecl-zpb-exif
12647 (sbcl-package->ecl-package sbcl-zpb-exif))
b0e7bc35
GLV
12648
12649(define-public sbcl-pngload
12650 (package
12651 (name "sbcl-pngload")
12652 (version "2.0.0")
12653 (source
12654 (origin
12655 (method git-fetch)
12656 (uri (git-reference
12657 (url "https://github.com/bufferswap/pngload")
12658 (commit version)))
12659 (file-name (git-file-name name version))
12660 (sha256
12661 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
12662 (build-system asdf-build-system/sbcl)
12663 (inputs
12664 `(("3bz" ,sbcl-3bz)
12665 ("alexandria" ,sbcl-alexandria)
12666 ("cffi" ,sbcl-cffi)
12667 ("mmap" ,sbcl-mmap)
12668 ("parse-float" ,sbcl-parse-float)
12669 ("static-vectors" ,sbcl-static-vectors)
12670 ("swap-bytes" ,sbcl-swap-bytes)
12671 ("zpb-exif" ,sbcl-zpb-exif)))
12672 (arguments
12673 ;; Test suite disabled because of a dependency cycle.
12674 ;; pngload tests depend on opticl which depends on pngload.
12675 '(#:tests? #f))
12676 (home-page "https://github.com/bufferswap/pngload")
12677 (synopsis "PNG image decoder for Common Lisp")
12678 (description
12679 "This is a Common Lisp library to load images in the PNG image format,
12680both from files on disk, or streams in memory.")
12681 (license license:expat)))
12682
12683(define-public cl-pngload
12684 (sbcl-package->cl-source-package sbcl-pngload))
12685
12686(define-public ecl-pngload
12687 (sbcl-package->ecl-package sbcl-pngload))
b736e9ba
GLV
12688
12689(define-public sbcl-opticl
12690 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12691 (revision "0"))
12692 (package
12693 (name "sbcl-opticl")
12694 (version (git-version "0.0.0" revision commit))
12695 (source
12696 (origin
12697 (method git-fetch)
12698 (uri (git-reference
12699 (url "https://github.com/slyrus/opticl")
12700 (commit commit)))
12701 (file-name (git-file-name name version))
12702 (sha256
12703 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12704 (build-system asdf-build-system/sbcl)
12705 (native-inputs
12706 `(("fiveam" ,sbcl-fiveam)))
12707 (inputs
12708 `(("alexandria" ,sbcl-alexandria)
12709 ("cl-jpeg" ,sbcl-cl-jpeg)
12710 ("cl-tga" ,sbcl-cl-tga)
12711 ("png-read" ,sbcl-png-read)
12712 ("pngload" ,sbcl-pngload)
12713 ("retrospectiff" ,sbcl-retrospectiff)
12714 ("skippy" ,sbcl-skippy)
12715 ("zpng" ,sbcl-zpng)))
12716 (home-page "https://github.com/slyrus/opticl")
12717 (synopsis "Image processing library for Common Lisp")
12718 (description
12719 "Opticl is a Common Lisp library for representing, processing, loading,
12720and saving 2-dimensional pixel-based images.")
12721 (license license:bsd-2))))
12722
12723(define-public cl-opticl
12724 (sbcl-package->cl-source-package sbcl-opticl))
d0a6906d
GLV
12725
12726(define-public sbcl-clim-lisp
12727 (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7")
12728 (revision "0"))
12729 (package
12730 (name "sbcl-clim-lisp")
12731 (version (git-version "0.9.7" revision commit))
12732 (source
12733 (origin
12734 (method git-fetch)
12735 (uri (git-reference
12736 (url "https://github.com/mcclim/mcclim")
12737 (commit commit)))
12738 (file-name (git-file-name name version))
12739 (sha256
12740 (base32 "0jijfgkwas6xnpp5wiii6slcx9pgsalngacb8zm29x6pamx2193h"))))
12741 (build-system asdf-build-system/sbcl)
12742 (inputs
12743 `(("alexandria" ,sbcl-alexandria)
12744 ("closer-mop" ,sbcl-closer-mop)
12745 ("log4cl" ,sbcl-log4cl)
12746 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12747 (home-page "https://common-lisp.net/project/mcclim/")
12748 (synopsis "Common Lisp GUI toolkit")
12749 (description
12750 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12751specification}, a toolkit for writing GUIs in Common Lisp.")
12752 (license license:lgpl2.1+))))
9e7db6c8
GLV
12753
12754(define-public sbcl-clim-basic
12755 (package
12756 (inherit sbcl-clim-lisp)
12757 (name "sbcl-clim-basic")
12758 (inputs
12759 `(("alexandria" ,sbcl-alexandria)
12760 ("babel" ,sbcl-babel)
12761 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12762 ("clim-lisp" ,sbcl-clim-lisp)
12763 ("flexichain" ,sbcl-flexichain)
12764 ("spatial-trees" ,sbcl-spatial-trees)
12765 ("trivial-features" ,sbcl-trivial-features)
12766 ("trivial-garbage" ,sbcl-trivial-garbage)))
12767 (arguments
12768 '(#:asd-file "Core/clim-basic/clim-basic.asd"))))
5a691dc0
GLV
12769
12770(define-public sbcl-clim-core
12771 (package
12772 (inherit sbcl-clim-lisp)
12773 (name "sbcl-clim-core")
12774 (inputs
12775 `(("clim-basic" ,sbcl-clim-basic)))
12776 (arguments
12777 '(#:asd-file "Core/clim-core/clim-core.asd"))))
699650ed
GLV
12778
12779(define-public sbcl-esa-mcclim
12780 (package
12781 (inherit sbcl-clim-lisp)
12782 (name "sbcl-esa-mcclim")
12783 (inputs
12784 `(("alexandria" ,sbcl-alexandria)
12785 ("clim-core" ,sbcl-clim-core)))
12786 (arguments
12787 '(#:asd-file "Libraries/ESA/esa-mcclim.asd"))))
7cdfd92e
GLV
12788
12789(define-public sbcl-mcclim-fonts
12790 (package
12791 (inherit sbcl-clim-lisp)
12792 (name "sbcl-mcclim-fonts")
12793 (inputs
12794 `(("clim-basic" ,sbcl-clim-basic)))
12795 (arguments
12796 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"))))
49abb687
GLV
12797
12798(define-public sbcl-automaton
12799 (package
12800 (inherit sbcl-clim-lisp)
12801 (name "sbcl-automaton")
12802 (inputs
12803 `())
12804 (arguments
12805 '(#:asd-file "Libraries/Drei/cl-automaton/automaton.asd"))))
720c8387
GLV
12806
12807(define-public sbcl-persistent
12808 (package
12809 (inherit sbcl-clim-lisp)
12810 (name "sbcl-persistent")
12811 (inputs
12812 `())
12813 (arguments
12814 '(#:asd-file "Libraries/Drei/Persistent/persistent.asd"))))
b2f63ae6
GLV
12815
12816(define-public sbcl-drei-mcclim
12817 (package
12818 (inherit sbcl-clim-lisp)
12819 (name "sbcl-drei-mcclim")
12820 (native-inputs
12821 `(("fiveam" ,sbcl-fiveam)))
12822 (inputs
12823 `(("automaton" ,sbcl-automaton)
12824 ("clim-core" ,sbcl-clim-core)
12825 ("esa-mcclim" ,sbcl-esa-mcclim)
12826 ("flexichain" ,sbcl-flexichain)
12827 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12828 ("persistent" ,sbcl-persistent)
12829 ("swank" ,cl-slime-swank)))
12830 (arguments
12831 '(#:asd-file "Libraries/Drei/drei-mcclim.asd"))))
0ee4e6ef
GLV
12832
12833(define-public sbcl-clim
12834 (package
12835 (inherit sbcl-clim-lisp)
12836 (name "sbcl-clim")
12837 (inputs
12838 `(("clim-core" ,sbcl-clim-core)
12839 ("drei-mcclim" ,sbcl-drei-mcclim)
12840 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12841 (arguments
12842 '(#:asd-file "Core/clim/clim.asd"))))
875aadae
GLV
12843
12844(define-public sbcl-mcclim-backend-common
12845 (package
12846 (inherit sbcl-clim-lisp)
12847 (name "sbcl-mcclim-backend-common")
12848 (native-inputs
12849 `(("fiveam" ,sbcl-fiveam)))
12850 (inputs
12851 `(("clim" ,sbcl-clim)
12852 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12853 (arguments
12854 '(#:asd-file "Backends/common/mcclim-backend-common.asd"))))
9721909b
GLV
12855
12856(define-public sbcl-mcclim-clx
12857 (package
12858 (inherit sbcl-clim-lisp)
12859 (name "sbcl-mcclim-clx")
12860 (inputs
12861 `(("alexandria" ,sbcl-alexandria)
12862 ("cl-unicode" ,sbcl-cl-unicode)
12863 ("clx" ,sbcl-clx)
12864 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
12865 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12866 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12867 (arguments
12868 '(#:asd-file "Backends/CLX/mcclim-clx.asd"))))
c085e707
GLV
12869
12870(define-public sbcl-mcclim-fonts-truetype
12871 (package
12872 (inherit sbcl-clim-lisp)
12873 (name "sbcl-mcclim-fonts-truetype")
12874 (inputs
12875 `(("alexandria" ,sbcl-alexandria)
12876 ("cl-aa" ,sbcl-cl-aa)
12877 ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
12878 ("cl-vectors" ,sbcl-cl-vectors)
12879 ("clim-basic" ,sbcl-clim-basic)
1c5901ae 12880 ("font-dejavu" ,font-dejavu)
c085e707
GLV
12881 ("zpb-ttf" ,sbcl-zpb-ttf)))
12882 (arguments
1c5901ae 12883 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
c085e707 12884 #:asd-system-name "mcclim-fonts/truetype"
1c5901ae
GLV
12885 #:phases
12886 (modify-phases %standard-phases
12887 (add-after 'unpack 'fix-paths
12888 (lambda* (#:key inputs #:allow-other-keys)
12889 ;; mcclim-truetype uses DejaVu as default font and
12890 ;; sets the path at build time.
12891 (substitute* "Extensions/fonts/fontconfig.lisp"
12892 (("/usr/share/fonts/truetype/dejavu/")
12893 (string-append (assoc-ref inputs "font-dejavu")
12894 "/share/fonts/truetype/")))
12895 #t)))))))
fc77c141
GLV
12896
12897(define-public sbcl-mcclim-fonts-clx-truetype
12898 (package
12899 (inherit sbcl-clim-lisp)
12900 (name "sbcl-mcclim-fonts-clx-truetype")
12901 (inputs
12902 `(("mcclim-clx" ,sbcl-mcclim-clx)
12903 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
12904 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12905 (arguments
12906 '(#:asd-file "./Extensions/fonts/mcclim-fonts.asd"
12907 #:asd-system-name "mcclim-fonts/clx-truetype"
12908 #:phases
12909 (modify-phases %standard-phases
12910 (add-after 'unpack 'fix-asd-system-names
12911 (lambda _
12912 (substitute* "Extensions/fonts/mcclim-fonts.asd"
12913 ((":depends-on \\(#:mcclim-fonts/truetype")
12914 ":depends-on (#:mcclim-fonts-truetype"))
12915 #t)))))))
46fa001d
GLV
12916
12917(define-public sbcl-mcclim-clx-truetype
12918 (package
12919 (inherit sbcl-clim-lisp)
12920 (name "sbcl-mcclim-clx-truetype")
12921 (inputs
12922 `(("mcclim-clx" ,sbcl-mcclim-clx)
12923 ("mcclim-fonts-clx-truetype" ,sbcl-mcclim-fonts-clx-truetype)
12924 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12925 (arguments
12926 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
12927 #:asd-system-name "mcclim-clx/truetype"
12928 #:phases
12929 (modify-phases %standard-phases
12930 (add-after 'unpack 'fix-asd-system-names
12931 (lambda _
12932 (substitute* "Backends/CLX/mcclim-clx.asd"
12933 (("mcclim-fonts/clx-truetype")
12934 "mcclim-fonts-clx-truetype"))
12935 #t)))))))
db094018
GLV
12936
12937(define-public sbcl-mcclim-fontconfig
12938 (package
12939 (inherit sbcl-clim-lisp)
12940 (name "sbcl-mcclim-fontconfig")
12941 (native-inputs
12942 `(("pkg-config" ,pkg-config)))
12943 (inputs
12944 `(("alexandria" ,sbcl-alexandria)
12945 ("cffi" ,sbcl-cffi)
12946 ("cffi-grovel" ,sbcl-cffi-grovel)
12947 ("fontconfig" ,fontconfig)))
12948 (arguments
12949 '(#:asd-file "Extensions/fontconfig/mcclim-fontconfig.asd"
12950 #:phases
12951 (modify-phases %standard-phases
12952 (add-after 'unpack 'fix-paths
12953 (lambda* (#:key inputs #:allow-other-keys)
12954 (substitute* "Extensions/fontconfig/src/functions.lisp"
12955 (("libfontconfig\\.so")
12956 (string-append (assoc-ref inputs "fontconfig")
12957 "/lib/libfontconfig.so")))
12958 #t))
12959 (add-after 'unpack 'fix-build
12960 (lambda _
12961 ;; The cffi-grovel system does not get loaded automatically,
12962 ;; so we load it explicitly.
12963 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
12964 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
12965 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12966 #t)))))))
892f1ef0
GLV
12967
12968(define-public sbcl-mcclim-harfbuzz
12969 (package
12970 (inherit sbcl-clim-lisp)
12971 (name "sbcl-mcclim-harfbuzz")
12972 (native-inputs
12973 `(("pkg-config" ,pkg-config)))
12974 (inputs
12975 `(("alexandria" ,sbcl-alexandria)
12976 ("cffi" ,sbcl-cffi)
12977 ("cffi-grovel" ,sbcl-cffi-grovel)
12978 ("freetype" ,freetype)
12979 ("harfbuzz" ,harfbuzz)
12980 ("trivial-garbage" ,sbcl-trivial-garbage)))
12981 (arguments
12982 '(#:asd-file "Extensions/harfbuzz/mcclim-harfbuzz.asd"
12983 #:phases
12984 (modify-phases %standard-phases
12985 (add-after 'unpack 'fix-paths
12986 (lambda* (#:key inputs #:allow-other-keys)
12987 (substitute* "Extensions/harfbuzz/src/functions.lisp"
12988 (("libharfbuzz\\.so")
12989 (string-append (assoc-ref inputs "harfbuzz")
12990 "/lib/libharfbuzz.so")))
12991 #t))
12992 (add-after 'unpack 'fix-build
12993 (lambda _
12994 ;; The cffi-grovel system does not get loaded automatically,
12995 ;; so we load it explicitly.
12996 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
12997 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
12998 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12999 #t)))))))
fab0adc7
GLV
13000
13001(define-public sbcl-mcclim-fonts-clx-freetype
13002 (package
13003 (inherit sbcl-clim-lisp)
13004 (name "sbcl-mcclim-fonts-clx-freetype")
13005 (inputs
13006 `(("cl-freetype2" ,sbcl-cl-freetype2)
13007 ("mcclim-clx" ,sbcl-mcclim-clx)
13008 ("mcclim-fontconfig" ,sbcl-mcclim-fontconfig)
13009 ("mcclim-fonts" ,sbcl-mcclim-fonts)
13010 ("mcclim-harfbuzz" ,sbcl-mcclim-harfbuzz)
13011 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13012 (arguments
13013 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
13014 #:asd-system-name "mcclim-fonts/clx-freetype"))))
942a8247
GLV
13015
13016(define-public sbcl-mcclim-clx-freetype
13017 (package
13018 (inherit sbcl-clim-lisp)
13019 (name "sbcl-mcclim-clx-freetype")
13020 (inputs
13021 `(("mcclim-clx" ,sbcl-mcclim-clx)
13022 ("mcclim-fonts-clx-freetype" ,sbcl-mcclim-fonts-clx-freetype)
13023 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13024 (arguments
13025 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
13026 #:asd-system-name "mcclim-clx/freetype"
13027 #:phases
13028 (modify-phases %standard-phases
13029 (add-after 'unpack 'fix-asd-system-names
13030 (lambda _
13031 (substitute* "Backends/CLX/mcclim-clx.asd"
13032 (("mcclim-fonts/clx-freetype")
13033 "mcclim-fonts-clx-freetype"))
13034 #t)))))))
6b40a9af
GLV
13035
13036(define-public sbcl-mcclim-render
13037 (package
13038 (inherit sbcl-clim-lisp)
13039 (name "sbcl-mcclim-render")
13040 (inputs
13041 `(("alexandria" ,sbcl-alexandria)
13042 ("cl-vectors" ,sbcl-cl-vectors)
13043 ("clim-basic" ,sbcl-clim-basic)
13044 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13045 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
13046 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13047 (arguments
13048 '(#:asd-file "Extensions/render/mcclim-render.asd"
13049 #:phases
13050 (modify-phases %standard-phases
13051 (add-after 'unpack 'fix-asd-system-names
13052 (lambda _
13053 (substitute* "Extensions/render/mcclim-render.asd"
13054 (("mcclim-fonts/truetype")
13055 "mcclim-fonts-truetype"))
13056 #t)))))))
1f1d0bac
GLV
13057
13058(define-public sbcl-mcclim-clx-fb
13059 (package
13060 (inherit sbcl-clim-lisp)
13061 (name "sbcl-mcclim-clx-fb")
13062 (inputs
13063 `(("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13064 ("mcclim-clx" ,sbcl-mcclim-clx)
13065 ("mcclim-render" ,sbcl-mcclim-render)
13066 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13067 (arguments
13068 '(#:asd-file "Backends/CLX-fb/mcclim-clx-fb.asd"))))
6be78cd9
GLV
13069
13070(define-public sbcl-mcclim-null
13071 (package
13072 (inherit sbcl-clim-lisp)
13073 (name "sbcl-mcclim-null")
13074 (inputs
13075 `(("clim" ,sbcl-clim)
13076 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13077 (arguments
13078 '(#:asd-file "Backends/Null/mcclim-null.asd"))))
48f2694d
GLV
13079
13080(define-public sbcl-clim-postscript-font
13081 (package
13082 (inherit sbcl-clim-lisp)
13083 (name "sbcl-clim-postscript-font")
13084 (inputs
13085 `(("clim-basic" ,sbcl-clim-basic)
13086 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13087 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13088 (arguments
13089 '(#:asd-file "Backends/PostScript/clim-postscript-font.asd"))))
b1ca56bf
GLV
13090
13091(define-public sbcl-clim-postscript
13092 (package
13093 (inherit sbcl-clim-lisp)
13094 (name "sbcl-clim-postscript")
13095 (native-inputs
13096 `(("fiveam" ,sbcl-fiveam)))
13097 (inputs
13098 `(("clim-basic" ,sbcl-clim-basic)
13099 ("clim-postscript-font" ,sbcl-clim-postscript-font)
13100 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13101 (arguments
13102 '(#:asd-file "Backends/PostScript/clim-postscript.asd"
13103 ;; Test suite disabled because of a dependency cycle.
13104 ;; The tests depend on mcclim/test-util, which depends on mcclim,
13105 ;; wich depends on mcclim/extensions, which depends on clim-postscript.
13106 #:tests? #f))))
1a1b584b
GLV
13107
13108(define-public sbcl-clim-pdf
13109 (package
13110 (inherit sbcl-clim-lisp)
13111 (name "sbcl-clim-pdf")
13112 (native-inputs
13113 `(("fiveam" ,sbcl-fiveam)))
13114 (inputs
13115 `(("cl-pdf" ,sbcl-cl-pdf)
13116 ("clim-basic" ,sbcl-clim-basic)
13117 ("clim-postscript-font" ,sbcl-clim-postscript-font)
13118 ("flexi-streams" ,sbcl-flexi-streams)
13119 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13120 (arguments
13121 '(#:asd-file "Backends/PDF/clim-pdf.asd"
13122 ;; Test suite disabled because of a dependency cycle.
13123 ;; The tests depend on mcclim/test-util, which depends on mcclim,
13124 ;; wich depends on mcclim/extensions, which depends on clim-pdf.
13125 #:tests? #f))))
efa88f90
GLV
13126
13127(define-public sbcl-mcclim-looks
13128 (package
13129 (inherit sbcl-clim-lisp)
13130 (name "sbcl-mcclim-looks")
13131 (inputs
13132 `(("clim" ,sbcl-clim)
13133 ("mcclim-clx" ,sbcl-mcclim-clx)
13134 ("mcclim-clx-fb" ,sbcl-mcclim-clx-fb)
13135 ("mcclim-clx-freetype" ,sbcl-mcclim-clx-freetype)
13136 ("mcclim-clx-truetype" ,sbcl-mcclim-clx-truetype)
13137 ("mcclim-null" ,sbcl-mcclim-null)
13138 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13139 (arguments
13140 '(#:asd-file "mcclim.asd"
13141 #:asd-system-name "mcclim/looks"
13142 #:phases
13143 (modify-phases %standard-phases
13144 (add-after 'unpack 'fix-asd-system-names
13145 (lambda _
13146 (substitute* "mcclim.asd"
13147 (("mcclim-clx/truetype")
13148 "mcclim-clx-truetype")
13149 (("mcclim-clx/freetype")
13150 "mcclim-clx-freetype"))
13151 #t)))))))
9757de5d
GLV
13152
13153(define-public sbcl-mcclim-franz
13154 (package
13155 (inherit sbcl-clim-lisp)
13156 (name "sbcl-mcclim-franz")
13157 (inputs
13158 `(("clim" ,sbcl-clim)
13159 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13160 (arguments
13161 '(#:asd-file "Extensions/Franz/mcclim-franz.asd"))))
000ee6e5
GLV
13162
13163(define-public sbcl-mcclim-bezier-core
13164 (package
13165 (inherit sbcl-clim-lisp)
13166 (name "sbcl-mcclim-bezier-core")
13167 (inputs
13168 `(("clim" ,sbcl-clim)
13169 ("clim-pdf" ,sbcl-clim-pdf)
13170 ("clim-postscript" ,sbcl-clim-postscript)
13171 ("mcclim-null" ,sbcl-mcclim-null)
13172 ("mcclim-render" ,sbcl-mcclim-render)
13173 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13174 (arguments
13175 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13176 #:asd-system-name "mcclim-bezier/core"))))
d92e2649
GLV
13177
13178(define-public sbcl-mcclim-bezier-clx
13179 (package
13180 (inherit sbcl-clim-lisp)
13181 (name "sbcl-mcclim-bezier-clx")
13182 (inputs
13183 `(("clim" ,sbcl-clim)
13184 ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
13185 ("mcclim-clx" ,sbcl-mcclim-clx)
13186 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13187 (arguments
13188 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13189 #:asd-system-name "mcclim-bezier/clx"
13190 #:phases
13191 (modify-phases %standard-phases
13192 (add-after 'unpack 'fix-asd-system-names
13193 (lambda _
13194 (substitute* "Extensions/bezier/mcclim-bezier.asd"
13195 (("mcclim-bezier/core\\)")
13196 "mcclim-bezier-core)"))
13197 #t)))))))
c93bd9f8
GLV
13198
13199(define-public sbcl-mcclim-bezier
13200 (package
13201 (inherit sbcl-clim-lisp)
13202 (name "sbcl-mcclim-bezier")
13203 (inputs
13204 `(("mcclim-bezier/clx" ,sbcl-mcclim-bezier-clx)
13205 ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
13206 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13207 (arguments
13208 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13209 #:phases
13210 (modify-phases %standard-phases
13211 (add-after 'unpack 'fix-asd-system-names
13212 (lambda _
13213 (substitute* "Extensions/bezier/mcclim-bezier.asd"
13214 (("\\(#:mcclim-bezier/core")
13215 "(#:mcclim-bezier-core")
13216 (("#:mcclim-bezier/clx\\)\\)")
13217 "#:mcclim-bezier-clx))"))
13218 #t)))))))
92da537c
GLV
13219
13220(define-public sbcl-mcclim-bitmaps
13221 (package
13222 (inherit sbcl-clim-lisp)
13223 (name "sbcl-mcclim-bitmaps")
13224 (inputs
13225 `(("clim-basic" ,sbcl-clim-basic)
13226 ("opticl" ,sbcl-opticl)))
13227 (arguments
13228 '(#:asd-file "Extensions/bitmap-formats/mcclim-bitmaps.asd"))))
5d2abf9f
GLV
13229
13230(define-public sbcl-conditional-commands
13231 (package
13232 (inherit sbcl-clim-lisp)
13233 (name "sbcl-conditional-commands")
13234 (inputs
13235 `(("clim-basic" ,sbcl-clim-basic)))
13236 (arguments
13237 '(#:asd-file "Extensions/conditional-commands/conditional-commands.asd"))))
e8875462
GLV
13238
13239(define-public sbcl-mcclim-layouts-tab
13240 (package
13241 (inherit sbcl-clim-lisp)
13242 (name "sbcl-mcclim-layouts-tab")
13243 (inputs
13244 `(("clim" ,sbcl-clim)
13245 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13246 (arguments
13247 '(#:asd-file "Extensions/layouts/mcclim-layouts.asd"
13248 #:asd-system-name "mcclim-layouts/tab"))))
8e0e7f35
GLV
13249
13250(define-public sbcl-mcclim-extensions
13251 (package
13252 (inherit sbcl-clim-lisp)
13253 (name "sbcl-mcclim-extensions")
13254 (inputs
13255 `(("clim-pdf" ,sbcl-clim-pdf)
13256 ("clim-postscript" ,sbcl-clim-postscript)
13257 ("conditional-commands" ,sbcl-conditional-commands)
13258 ("mcclim-bezier" ,sbcl-mcclim-bezier)
13259 ("mcclim-bitmaps" ,sbcl-mcclim-bitmaps)
13260 ("mcclim-franz" ,sbcl-mcclim-franz)
13261 ("mcclim-layouts-tab" ,sbcl-mcclim-layouts-tab)
13262 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13263 (arguments
13264 '(#:asd-file "mcclim.asd"
13265 #:asd-system-name "mcclim/extensions"
13266 #:phases
13267 (modify-phases %standard-phases
13268 (add-after 'unpack 'fix-asd-system-names
13269 (lambda _
13270 (substitute* "mcclim.asd"
13271 (("mcclim-layouts/tab")
13272 "mcclim-layouts-tab"))
13273 #t)))))))
8afd2d10
GLV
13274
13275(define-public sbcl-mcclim
13276 (package
13277 (inherit sbcl-clim-lisp)
13278 (name "sbcl-mcclim")
13279 (native-inputs
13280 `(("fiveam" ,sbcl-fiveam)))
13281 (inputs
13282 `(("mcclim-looks" ,sbcl-mcclim-looks)
13283 ("mcclim-extensions" ,sbcl-mcclim-extensions)
13284 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13285 (arguments
13286 '(#:phases
13287 (modify-phases %standard-phases
13288 (add-after 'unpack 'fix-asd-system-names
13289 (lambda _
13290 (substitute* "mcclim.asd"
13291 ((":depends-on \\(\"mcclim/looks\" \"mcclim/extensions\"\\)")
13292 ":depends-on (\"mcclim-looks\" \"mcclim-extensions\")"))
13293 #t)))
13294 ;; Test suite disabled because of a dependency cycle.
13295 ;; The tests depend on mcclim/test-util, which depends on mcclim.
13296 #:tests? #f))))
0f935e95
GLV
13297
13298(define-public cl-mcclim
13299 (let ((base (sbcl-package->cl-source-package sbcl-clim-lisp)))
13300 (package
13301 (inherit base)
13302 (name "cl-mcclim")
13303 (native-inputs
13304 `(("fiveam" ,cl-fiveam)
13305 ("pkg-config" ,pkg-config)))
13306 (inputs
13307 `(("alexandria" ,cl-alexandria)
13308 ("babel" ,cl-babel)
13309 ("bordeaux-threads" ,cl-bordeaux-threads)
13310 ("cffi" ,cl-cffi)
13311 ("cl-aa" ,cl-aa)
13312 ("cl-freetype2" ,cl-freetype2)
13313 ("cl-paths-ttf" ,cl-paths-ttf)
13314 ("cl-pdf" ,cl-pdf)
13315 ("cl-unicode" ,cl-unicode)
13316 ("cl-vectors" ,cl-vectors)
13317 ("closer-mop" ,cl-closer-mop)
13318 ("clx" ,cl-clx)
13319 ("flexi-streams" ,cl-flexi-streams)
13320 ("flexichain" ,cl-flexichain)
13321 ("fontconfig" ,fontconfig)
13322 ("freetype" ,freetype)
13323 ("harfbuzz" ,harfbuzz)
13324 ("log4cl" ,cl-log4cl)
13325 ("opticl" ,cl-opticl)
13326 ("spatial-trees" ,cl-spatial-trees)
13327 ("trivial-features" ,cl-trivial-features)
13328 ("trivial-garbage" ,cl-trivial-garbage)
13329 ("trivial-gray-streams" ,cl-trivial-gray-streams)
13330 ("swank" ,cl-slime-swank)
13331 ("zpb-ttf" ,cl-zpb-ttf))))))
de681bdb
AK
13332
13333(define-public sbcl-cl-inflector
13334 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
13335 (revision "1"))
13336 (package
13337 (name "sbcl-cl-inflector")
13338 (version (git-version "0.2" revision commit))
13339 (source
13340 (origin
13341 (method git-fetch)
13342 (uri (git-reference
13343 (url "https://github.com/AccelerationNet/cl-inflector")
13344 (commit commit)))
13345 (file-name (git-file-name name version))
13346 (sha256
13347 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
13348 (build-system asdf-build-system/sbcl)
13349 (native-inputs
13350 `(("lisp-unit2" ,sbcl-lisp-unit2)))
13351 (inputs
13352 `(("alexandria" ,sbcl-alexandria)
13353 ("cl-ppcre" ,sbcl-cl-ppcre)))
13354 (home-page "https://github.com/AccelerationNet/cl-inflector")
13355 (synopsis "Library to pluralize/singularize English and Portuguese words")
13356 (description
13357 "This is a common lisp library to easily pluralize and singularize
13358English and Portuguese words. This is a port of the ruby ActiveSupport
13359Inflector module.")
13360 (license license:expat))))
13361
13362(define-public cl-inflector
13363 (sbcl-package->cl-source-package sbcl-cl-inflector))
13364
13365(define-public ecl-cl-inflector
13366 (sbcl-package->ecl-package sbcl-cl-inflector))
a05edef2
AK
13367
13368(define-public sbcl-qbase64
13369 (package
13370 (name "sbcl-qbase64")
13371 (version "0.3.0")
13372 (source
13373 (origin
13374 (method git-fetch)
13375 (uri (git-reference
13376 (url "https://github.com/chaitanyagupta/qbase64")
13377 (commit version)))
13378 (file-name (git-file-name name version))
13379 (sha256
13380 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
13381 (build-system asdf-build-system/sbcl)
13382 (inputs
13383 `(("metabang-bind" ,sbcl-metabang-bind)
13384 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
13385 (native-inputs
13386 `(("fiveam" ,sbcl-fiveam)))
13387 (home-page "https://github.com/chaitanyagupta/qbase64")
13388 (synopsis "Base64 encoder and decoder for Common Lisp")
13389 (description "@code{qbase64} provides a fast and flexible base64 encoder
13390and decoder for Common Lisp.")
13391 (license license:bsd-3)))
13392
13393(define-public cl-qbase64
13394 (sbcl-package->cl-source-package sbcl-qbase64))
13395
13396(define-public ecl-qbase64
13397 (sbcl-package->ecl-package sbcl-qbase64))
635e8b07
PN
13398
13399(define-public sbcl-hu.dwim.common-lisp
13400 (package
13401 (name "sbcl-hu.dwim.common-lisp")
13402 (version "2015-07-09")
13403 (source
13404 (origin
13405 (method url-fetch)
13406 (uri (string-append
13407 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
13408 version "/hu.dwim.common-lisp-"
13409 (string-replace-substring version "-" "")
13410 "-darcs.tgz"))
13411 (sha256
13412 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
13413 (build-system asdf-build-system/sbcl)
13414 (native-inputs
13415 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13416 (home-page "http://dwim.hu/")
13417 (synopsis "Redefine some standard Common Lisp names")
13418 (description "This library is a redefinition of the standard Common Lisp
13419package that includes a number of renames and shadows. ")
13420 (license license:public-domain)))
13421
13422(define-public cl-hu.dwim.common-lisp
13423 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
13424
13425(define-public ecl-hu.dwim.common-lisp
13426 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
89a3fec5
PN
13427
13428(define-public sbcl-hu.dwim.common
13429 (package
13430 (name "sbcl-hu.dwim.common")
13431 (version "2015-07-09")
13432 (source
13433 (origin
13434 (method url-fetch)
13435 (uri (string-append
13436 "http://beta.quicklisp.org/archive/hu.dwim.common/"
13437 version "/hu.dwim.common-"
13438 (string-replace-substring version "-" "")
13439 "-darcs.tgz"))
13440 (sha256
13441 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
13442 (build-system asdf-build-system/sbcl)
13443 (native-inputs
13444 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13445 (inputs
13446 `(("alexandria" ,sbcl-alexandria)
13447 ("anaphora" ,sbcl-anaphora)
13448 ("closer-mop" ,sbcl-closer-mop)
13449 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
13450 ("iterate" ,sbcl-iterate)
13451 ("metabang-bind" ,sbcl-metabang-bind)))
13452 (home-page "http://dwim.hu/")
13453 (synopsis "Common Lisp library shared by other hu.dwim systems")
13454 (description "")
13455 (license license:public-domain)))
13456
13457(define-public cl-hu.dwim.common
13458 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
13459
13460(define-public ecl-hu.dwim.common
13461 (sbcl-package->ecl-package sbcl-hu.dwim.common))
ec3c3aa7
PN
13462
13463(define-public sbcl-hu.dwim.defclass-star
13464 (package
13465 (name "sbcl-hu.dwim.defclass-star")
13466 (version "2015-07-09")
13467 (source
13468 (origin
13469 (method url-fetch)
13470 (uri (string-append
13471 "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/"
13472 version "/hu.dwim.defclass-star-"
13473 (string-replace-substring version "-" "")
13474 "-darcs.tgz"))
13475 (sha256
13476 (base32 "032982lyp0hm0ssxlyh572whi2hr4j1nqkyqlllaj373v0dbs3vs"))))
13477 (build-system asdf-build-system/sbcl)
13478 (native-inputs
13479 `(;; These 2 inputs are only needed tests which are disabled, see below.
13480 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
13481 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
13482 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
13483 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13484 (arguments
13485 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
13486 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
13487 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
13488 #:tests? #f))
13489 (home-page "http://dwim.hu/?_x=dfxn&_f=mRIMfonK")
13490 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
13491 (description "@code{defclass-star} provides defclass* and defcondition* to
13492simplify class and condition declarations. Features include:
13493
13494@itemize
13495@item Automatically export all or select slots at compile time.
13496@item Define the @code{:initarg} and @code{:accesor} automatically.
13497@item Specify a name transformer for both the @code{:initarg} and
13498@code{:accessor}, etc.
13499@item Specify the @code{:initform} as second slot value.
13500@end itemize
13501
13502See
13503@url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
13504for an example.")
13505 (license license:public-domain)))
13506
13507(define-public cl-hu.dwim.defclass-star
13508 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
13509
13510(define-public ecl-hu.dwim.defclass-star
13511 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))