gnu: Add cl-project.
[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
588a4492
PN
3614(define-public ecl-md5
3615 (package
3616 (inherit (sbcl-package->ecl-package sbcl-md5))
3617 (inputs
3618 `(("flexi-streams" ,ecl-flexi-streams)))))
3619
88f06fd0 3620(define-public sbcl-cl+ssl
14620ce7 3621 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
88f06fd0
PN
3622 (revision "1"))
3623 (package
3624 (name "sbcl-cl+ssl")
3625 (version (git-version "0.0.0" revision commit))
3626 (source
3627 (origin
3628 (method git-fetch)
3629 (uri (git-reference
b0e7b699 3630 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
88f06fd0
PN
3631 (commit commit)))
3632 (file-name (git-file-name "cl+ssl" version))
3633 (sha256
14620ce7 3634 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
88f06fd0
PN
3635 (build-system asdf-build-system/sbcl)
3636 (arguments
3637 '(#:phases
3638 (modify-phases %standard-phases
3639 (add-after 'unpack 'fix-paths
3640 (lambda* (#:key inputs #:allow-other-keys)
3641 (substitute* "src/reload.lisp"
3642 (("libssl.so" all)
3643 (string-append
3644 (assoc-ref inputs "openssl") "/lib/" all))))))))
3645 (inputs
3646 `(("openssl" ,openssl)
3647 ("sbcl-cffi" ,sbcl-cffi)
3648 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3649 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3650 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3651 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3652 ("sbcl-alexandria" ,sbcl-alexandria)
3653 ("sbcl-trivial-features" ,sbcl-trivial-features)))
113c9b97 3654 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
88f06fd0
PN
3655 (synopsis "Common Lisp bindings to OpenSSL")
3656 (description
3657 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3658code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3659Development into CL+SSL was done by David Lichteblau.")
3660 (license license:expat))))
3661
3662(define-public cl-cl+ssl
3663 (sbcl-package->cl-source-package sbcl-cl+ssl))
3664
3665(define-public sbcl-kmrcl
3666 (let ((version "1.109.0")
3667 (commit "5260068b2eb735af6796740c2db4955afac21636")
3668 (revision "1"))
3669 (package
3670 (name "sbcl-kmrcl")
3671 (version (git-version version revision commit))
3672 (source
3673 (origin
3674 (method git-fetch)
3675 (uri (git-reference
3676 (url "http://git.kpe.io/kmrcl.git/")
3677 (commit commit)))
3678 (file-name (git-file-name name version))
3679 (sha256
3680 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3681 (build-system asdf-build-system/sbcl)
3682 (arguments
3683 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3684 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3685 '(#:tests? #f))
3686 (inputs
3687 `(("sbcl-rt" ,sbcl-rt)))
3688 (home-page "http://files.kpe.io/kmrcl/")
3689 (synopsis "General utilities for Common Lisp programs")
3690 (description
3691 "KMRCL is a collection of utilities used by a number of Kevin
3692Rosenberg's CL packages.")
3693 (license license:llgpl))))
3694
3695(define-public cl-kmrcl
3696 (sbcl-package->cl-source-package sbcl-kmrcl))
3697
3698(define-public sbcl-cl-base64
d7043fd9
PN
3699 (package
3700 (name "sbcl-cl-base64")
3701 (version "3.3.4")
3702 (source
3703 (origin
3704 (method url-fetch)
3705 (uri (string-append "http://files.kpe.io/cl-base64/cl-base64-"
3706 version ".tar.gz"))
3707 (sha256
3708 (base32 "0pl4zwn5bf18dm8fh1kn1yshaa6kpmfrjyb33z9mq4raqmj3xpv2"))))
3709 (build-system asdf-build-system/sbcl)
3710 (arguments
3711 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3712 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3713 ;; to toplevel
3714 '(#:tests? #f))
3715 (inputs
3716 `(("sbcl-ptester" ,sbcl-ptester)
3717 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3718 (home-page "http://files.kpe.io/cl-base64/")
3719 (synopsis
3720 "Common Lisp package to encode and decode base64 with URI support")
3721 (description
3722 "This package provides highly optimized base64 encoding and decoding.
88f06fd0
PN
3723Besides conversion to and from strings, integer conversions are supported.
3724Encoding with Uniform Resource Identifiers is supported by using a modified
3725encoding table that uses only URI-compatible characters.")
d7043fd9 3726 (license license:bsd-3)))
88f06fd0
PN
3727
3728(define-public cl-base64
3729 (sbcl-package->cl-source-package sbcl-cl-base64))
3730
3731(define-public sbcl-chunga
3732 (package
3733 (name "sbcl-chunga")
3734 (version "1.1.7")
3735 (source
3736 (origin
3737 (method git-fetch)
3738 (uri (git-reference
b0e7b699 3739 (url "https://github.com/edicl/chunga")
88f06fd0
PN
3740 (commit (string-append "v" version))))
3741 (file-name (git-file-name name version))
3742 (sha256
3743 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3744 (build-system asdf-build-system/sbcl)
3745 (inputs
3746 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3747 (home-page "https://edicl.github.io/chunga/")
3748 (synopsis "Portable chunked streams for Common Lisp")
3749 (description
3750 "Chunga implements streams capable of chunked encoding on demand as
3751defined in RFC 2616.")
3752 (license license:bsd-2)))
3753
3754(define-public cl-chunga
3755 (sbcl-package->cl-source-package sbcl-chunga))
3756
3757(define-public sbcl-cl-who
3758 (let ((version "1.1.4")
3759 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3760 (revision "1"))
3761 (package
3762 (name "sbcl-cl-who")
3763 (version (git-version version revision commit))
3764 (source
3765 (origin
3766 (method git-fetch)
3767 (uri (git-reference
b0e7b699 3768 (url "https://github.com/edicl/cl-who")
88f06fd0
PN
3769 (commit commit)))
3770 (file-name (git-file-name name version))
3771 (sha256
3772 (base32
3773 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3774 (build-system asdf-build-system/sbcl)
3775 (native-inputs
3776 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3777 (home-page "https://edicl.github.io/cl-who/")
3778 (synopsis "Yet another Lisp markup language")
3779 (description
3780 "There are plenty of Lisp Markup Languages out there - every Lisp
3781programmer seems to write at least one during his career - and CL-WHO (where
3782WHO means \"with-html-output\" for want of a better acronym) is probably just
3783as good or bad as the next one.")
3784 (license license:bsd-2))))
3785
3786(define-public cl-cl-who
3787 (sbcl-package->cl-source-package sbcl-cl-who))
3788
3789(define-public sbcl-chipz
3790 (let ((version "0.8")
3791 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3792 (revision "1"))
3793 (package
3794 (name "sbcl-chipz")
3795 (version (git-version version revision commit))
3796 (source
3797 (origin
3798 (method git-fetch)
3799 (uri (git-reference
b0e7b699 3800 (url "https://github.com/froydnj/chipz")
88f06fd0
PN
3801 (commit commit)))
3802 (file-name (git-file-name name version))
3803 (sha256
3804 (base32
3805 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3806 (build-system asdf-build-system/sbcl)
3807 (native-inputs
3808 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3809 (home-page "http://method-combination.net/lisp/chipz/")
3810 (synopsis
3811 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3812data")
3813 (description
3814 "DEFLATE data, defined in RFC1951, forms the core of popular
3815compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3816Chipz also provides for decompressing data in those formats as well. BZIP2 is
3817the format used by the popular compression tool bzip2.")
3818 ;; The author describes it as "MIT-like"
3819 (license license:expat))))
3820
3821(define-public cl-chipz
3822 (sbcl-package->cl-source-package sbcl-chipz))
3823
3824(define-public sbcl-drakma
a2b6b973
GLV
3825 (package
3826 (name "sbcl-drakma")
3827 (version "2.0.7")
3828 (source
3829 (origin
3830 (method git-fetch)
3831 (uri (git-reference
b0e7b699 3832 (url "https://github.com/edicl/drakma")
a2b6b973
GLV
3833 (commit (string-append "v" version))))
3834 (file-name (git-file-name name version))
3835 (sha256
3836 (base32
3837 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3838 (build-system asdf-build-system/sbcl)
3839 (inputs
3840 `(("sbcl-puri" ,sbcl-puri)
3841 ("sbcl-cl-base64" ,sbcl-cl-base64)
3842 ("sbcl-chunga" ,sbcl-chunga)
3843 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3844 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3845 ("sbcl-chipz" ,sbcl-chipz)
3846 ("sbcl-usocket" ,sbcl-usocket)
3847 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3848 (native-inputs
3849 `(("sbcl-fiveam" ,sbcl-fiveam)))
3850 (home-page "https://edicl.github.io/drakma/")
3851 (synopsis "HTTP client written in Common Lisp")
3852 (description
3853 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
88f06fd0
PN
3854knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3855sockets, SSL, continuable uploads, file uploads, cookies, and more.")
a2b6b973 3856 (license license:bsd-2)))
88f06fd0
PN
3857
3858(define-public cl-drakma
3859 (sbcl-package->cl-source-package sbcl-drakma))
3860
10ac723b
GLV
3861(define-public ecl-drakma
3862 (sbcl-package->ecl-package sbcl-drakma))
3863
88f06fd0
PN
3864(define-public sbcl-hunchentoot
3865 (package
3866 (name "sbcl-hunchentoot")
3867 (version "1.2.38")
3868 (source
3869 (origin
3870 (method git-fetch)
3871 (uri (git-reference
b0e7b699 3872 (url "https://github.com/edicl/hunchentoot")
88f06fd0
PN
3873 (commit (string-append "v" version))))
3874 (file-name (git-file-name "hunchentoot" version))
3875 (sha256
3876 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3877 (build-system asdf-build-system/sbcl)
3878 (native-inputs
3879 `(("sbcl-cl-who" ,sbcl-cl-who)
3880 ("sbcl-drakma" ,sbcl-drakma)))
3881 (inputs
3882 `(("sbcl-chunga" ,sbcl-chunga)
3883 ("sbcl-cl-base64" ,sbcl-cl-base64)
3884 ("sbcl-cl-fad" ,sbcl-cl-fad)
3885 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3886 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3887 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3888 ("sbcl-md5" ,sbcl-md5)
3889 ("sbcl-rfc2388" ,sbcl-rfc2388)
3890 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3891 ("sbcl-usocket" ,sbcl-usocket)))
3892 (home-page "https://edicl.github.io/hunchentoot/")
3893 (synopsis "Web server written in Common Lisp")
3894 (description
3895 "Hunchentoot is a web server written in Common Lisp and at the same
3896time a toolkit for building dynamic websites. As a stand-alone web server,
3897Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3898connections (keep-alive), and SSL.")
3899 (license license:bsd-2)))
3900
3901(define-public cl-hunchentoot
3902 (sbcl-package->cl-source-package sbcl-hunchentoot))
3903
3904(define-public sbcl-trivial-types
3905 (package
3906 (name "sbcl-trivial-types")
3907 (version "0.0.1")
3908 (source
3909 (origin
3910 (method git-fetch)
3911 (uri (git-reference
b0e7b699 3912 (url "https://github.com/m2ym/trivial-types")
88f06fd0
PN
3913 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3914 (file-name (git-file-name name version))
3915 (sha256
3916 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3917 (build-system asdf-build-system/sbcl)
3918 (home-page "https://github.com/m2ym/trivial-types")
3919 (synopsis "Trivial type definitions for Common Lisp")
3920 (description
3921 "TRIVIAL-TYPES provides missing but important type definitions such as
3922PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3923 (license license:llgpl)))
3924
3925(define-public cl-trivial-types
3926 (sbcl-package->cl-source-package sbcl-trivial-types))
3927
3928(define-public sbcl-cl-syntax
3929 (package
3930 (name "sbcl-cl-syntax")
3931 (version "0.0.3")
3932 (source
3933 (origin
3934 (method git-fetch)
3935 (uri (git-reference
b0e7b699 3936 (url "https://github.com/m2ym/cl-syntax")
88f06fd0
PN
3937 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3938 (file-name (git-file-name "cl-syntax" version))
3939 (sha256
3940 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3941 (build-system asdf-build-system/sbcl)
3942 (arguments
3943 '(#:asd-file "cl-syntax.asd"
3944 #:asd-system-name "cl-syntax"))
3945 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3946 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3947 (home-page "https://github.com/m2ym/cl-syntax")
3948 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3949 (description
3950 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3951 (license license:llgpl)))
3952
3953(define-public cl-syntax
3954 (sbcl-package->cl-source-package sbcl-cl-syntax))
3955
3956(define-public sbcl-cl-annot
3957 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3958 (revision "1"))
3959 (package
3960 (name "sbcl-cl-annot")
3961 (version (git-version "0.0.0" revision commit))
3962 (source
3963 (origin
3964 (method git-fetch)
3965 (uri (git-reference
b0e7b699 3966 (url "https://github.com/m2ym/cl-annot")
88f06fd0
PN
3967 (commit commit)))
3968 (file-name (git-file-name name version))
3969 (sha256
3970 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3971 (build-system asdf-build-system/sbcl)
3972 (arguments
3973 '(#:asd-file "cl-annot.asd"
3974 #:asd-system-name "cl-annot"))
3975 (inputs
3976 `(("sbcl-alexandria" ,sbcl-alexandria)))
3977 (home-page "https://github.com/m2ym/cl-annot")
3978 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3979 (description
3980 "@code{cl-annot} is an general annotation library for Common Lisp.")
3981 (license license:llgpl))))
3982
3983(define-public cl-annot
3984 (sbcl-package->cl-source-package sbcl-cl-annot))
3985
3986(define-public sbcl-cl-syntax-annot
3987 (package
0627ad30 3988 (inherit sbcl-cl-syntax)
88f06fd0 3989 (name "sbcl-cl-syntax-annot")
88f06fd0
PN
3990 (arguments
3991 '(#:asd-file "cl-syntax-annot.asd"
3992 #:asd-system-name "cl-syntax-annot"))
3993 (inputs
3994 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3995 ("sbcl-cl-annot" ,sbcl-cl-annot)))
0627ad30 3996 (synopsis "Common Lisp reader Syntax for cl-annot")
88f06fd0 3997 (description
0627ad30
PN
3998 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
3999@code{cl-annot}.")))
88f06fd0
PN
4000
4001(define-public cl-syntax-annot
4002 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
4003
5b22df94
PN
4004(define-public sbcl-cl-syntax-interpol
4005 (package
4006 (inherit sbcl-cl-syntax)
4007 (name "sbcl-cl-syntax-interpol")
4008 (arguments
4009 '(#:asd-file "cl-syntax-interpol.asd"
4010 #:asd-system-name "cl-syntax-interpol"))
4011 (inputs
4012 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4013 ("sbcl-cl-interpol" ,sbcl-cl-interpol)))
4014 (synopsis "Common Lisp reader Syntax for cl-interpol")
4015 (description
4016 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
4017@code{cl-interpol}.")))
4018
4019(define-public cl-syntax-interpol
4020 (sbcl-package->cl-source-package sbcl-cl-syntax-interpol))
4021
88f06fd0
PN
4022(define-public sbcl-cl-utilities
4023 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4024 (revision "1"))
4025 (package
4026 (name "sbcl-cl-utilities")
4027 (version (git-version "0.0.0" revision commit))
4028 (source
4029 (origin
4030 (method url-fetch)
4031 (uri
4032 (string-append
4033 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4034 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4035 (sha256
4036 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4037 (build-system asdf-build-system/sbcl)
4038 (arguments
4039 '(#:asd-file "cl-utilities.asd"
4040 #:asd-system-name "cl-utilities"
4041 #:phases
4042 (modify-phases %standard-phases
4043 (add-after 'unpack 'fix-paths
4044 (lambda* (#:key inputs #:allow-other-keys)
4045 (substitute* "rotate-byte.lisp"
4046 (("in-package :cl-utilities)" all)
4047 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4048 (home-page "http://common-lisp.net/project/cl-utilities")
4049 (synopsis "A collection of semi-standard utilities")
4050 (description
4051 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4052is a collection of Common Lisp Utilities, things that everybody writes since
4053they're not part of the official standard. There are some very useful things
4054there; the only problems are that they aren't implemented as well as you'd
4055like (some aren't implemented at all) and they aren't conveniently packaged
4056and maintained. It takes quite a bit of work to carefully implement utilities
4057for common use, commented and documented, with error checking placed
4058everywhere some dumb user might make a mistake.")
4059 (license license:public-domain))))
4060
4061(define-public cl-utilities
4062 (sbcl-package->cl-source-package sbcl-cl-utilities))
4063
4064(define-public sbcl-map-set
4065 (let ((commit "7b4b545b68b8")
4066 (revision "1"))
4067 (package
4068 (name "sbcl-map-set")
4069 (version (git-version "0.0.0" revision commit))
4070 (source
4071 (origin
4072 (method url-fetch)
4073 (uri (string-append
4074 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4075 commit ".tar.gz"))
4076 (sha256
4077 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4078 (build-system asdf-build-system/sbcl)
4079 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4080 (synopsis "Set-like data structure")
4081 (description
4082 "Implementation of a set-like data structure with constant time
4083addition, removal, and random selection.")
4084 (license license:bsd-3))))
4085
4086(define-public cl-map-set
4087 (sbcl-package->cl-source-package sbcl-map-set))
4088
4089(define-public sbcl-quri
27c7df29
PN
4090 (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a")
4091 (revision "2"))
88f06fd0
PN
4092 (package
4093 (name "sbcl-quri")
4094 (version (git-version "0.1.0" revision commit))
4095 (source
4096 (origin
4097 (method git-fetch)
4098 (uri (git-reference
b0e7b699 4099 (url "https://github.com/fukamachi/quri")
88f06fd0
PN
4100 (commit commit)))
4101 (file-name (git-file-name name version))
4102 (sha256
27c7df29 4103 (base32 "0cansr63m690ymvhway419178mq2sqnmxm4rdxclbsrnjwwbi36m"))))
88f06fd0
PN
4104 (build-system asdf-build-system/sbcl)
4105 (arguments
4106 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
4107 ;; required by #<SYSTEM "quri">. Why?
4108 '(#:tests? #f))
4109 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4110 ("sbcl-prove" ,sbcl-prove)))
4111 (inputs `(("sbcl-babel" ,sbcl-babel)
4112 ("sbcl-split-sequence" ,sbcl-split-sequence)
4113 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4114 ("sbcl-alexandria" ,sbcl-alexandria)))
4115 (home-page "https://github.com/fukamachi/quri")
4116 (synopsis "Yet another URI library for Common Lisp")
4117 (description
4118 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4119Lisp. It is intended to be a replacement of PURI.")
4120 (license license:bsd-3))))
4121
4122(define-public cl-quri
4123 (sbcl-package->cl-source-package sbcl-quri))
4124
4125(define-public sbcl-myway
4126 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4127 (revision "1"))
4128 (package
4129 (name "sbcl-myway")
4130 (version (git-version "0.1.0" revision commit))
4131 (source
4132 (origin
4133 (method git-fetch)
4134 (uri (git-reference
b0e7b699 4135 (url "https://github.com/fukamachi/myway")
88f06fd0
PN
4136 (commit commit)))
4137 (file-name (git-file-name "myway" version))
4138 (sha256
4139 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4140 (build-system asdf-build-system/sbcl)
4141 (arguments
4142 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4143 ;; by #<SYSTEM "myway">. Why?
4144 '(#:tests? #f))
4145 (native-inputs
4146 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4147 ("sbcl-prove" ,sbcl-prove)))
4148 (inputs
4149 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4150 ("sbcl-quri" ,sbcl-quri)
4151 ("sbcl-map-set" ,sbcl-map-set)))
4152 (home-page "https://github.com/fukamachi/myway")
4153 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4154 (description "My Way is a Sinatra-compatible URL routing library.")
4155 (license license:llgpl))))
4156
4157(define-public cl-myway
4158 (sbcl-package->cl-source-package sbcl-myway))
4159
4160(define-public sbcl-xsubseq
4161 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4162 (revision "1"))
4163 (package
4164 (name "sbcl-xsubseq")
4165 (version (git-version "0.0.1" revision commit))
4166 (source
4167 (origin
4168 (method git-fetch)
4169 (uri (git-reference
4170 (url "https://github.com/fukamachi/xsubseq")
4171 (commit commit)))
4172 (file-name (git-file-name name version))
4173 (sha256
4174 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4175 (build-system asdf-build-system/sbcl)
4176 (arguments
4177 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4178 ;; required by #<SYSTEM "xsubseq">. Why?
4179 '(#:tests? #f))
4180 (native-inputs
4181 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4182 ("sbcl-prove" ,sbcl-prove)))
4183 (home-page "https://github.com/fukamachi/xsubseq")
4184 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4185 (description
4186 "XSubseq provides functions to be able to handle \"subseq\"s more
4187effieiently.")
4188 (license license:bsd-2))))
4189
4190(define-public cl-xsubseq
4191 (sbcl-package->cl-source-package sbcl-xsubseq))
4192
4193(define-public sbcl-smart-buffer
4194 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4195 (revision "1"))
4196 (package
4197 (name "sbcl-smart-buffer")
4198 (version (git-version "0.0.1" revision commit))
4199 (source
4200 (origin
4201 (method git-fetch)
4202 (uri (git-reference
4203 (url "https://github.com/fukamachi/smart-buffer")
4204 (commit commit)))
4205 (file-name (git-file-name name version))
4206 (sha256
4207 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4208 (build-system asdf-build-system/sbcl)
4209 (arguments
4210 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4211 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4212 `(#:tests? #f))
4213 (native-inputs
4214 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4215 ("sbcl-prove" ,sbcl-prove)))
4216 (inputs
4217 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4218 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4219 (home-page "https://github.com/fukamachi/smart-buffer")
4220 (synopsis "Smart octets buffer")
4221 (description
4222 "Smart-buffer provides an output buffer which changes the destination
4223depending on content size.")
4224 (license license:bsd-3))))
4225
4226(define-public cl-smart-buffer
4227 (sbcl-package->cl-source-package sbcl-smart-buffer))
4228
4229(define-public sbcl-fast-http
47e73008
PN
4230 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4231 (revision "2"))
88f06fd0
PN
4232 (package
4233 (name "sbcl-fast-http")
4234 (version (git-version "0.2.0" revision commit))
4235 (source
4236 (origin
4237 (method git-fetch)
4238 (uri (git-reference
4239 (url "https://github.com/fukamachi/fast-http")
4240 (commit commit)))
4241 (file-name (git-file-name name version))
4242 (sha256
47e73008 4243 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
88f06fd0
PN
4244 (build-system asdf-build-system/sbcl)
4245 (arguments
4246 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4247 ;; required by #<SYSTEM "fast-http">. Why?
4248 `(#:tests? #f))
4249 (native-inputs
4250 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
47e73008
PN
4251 ("sbcl-prove" ,sbcl-prove)
4252 ("cl-syntax-interpol" ,sbcl-cl-syntax-interpol)))
88f06fd0
PN
4253 (inputs
4254 `(("sbcl-alexandria" ,sbcl-alexandria)
4255 ("sbcl-proc-parse" ,sbcl-proc-parse)
4256 ("sbcl-xsubseq" ,sbcl-xsubseq)
4257 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4258 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4259 (home-page "https://github.com/fukamachi/fast-http")
4260 (synopsis "HTTP request/response parser for Common Lisp")
4261 (description
4262 "@code{fast-http} is a HTTP request/response protocol parser for Common
4263Lisp.")
4264 ;; Author specified the MIT license
4265 (license license:expat))))
4266
4267(define-public cl-fast-http
4268 (sbcl-package->cl-source-package sbcl-fast-http))
4269
4270(define-public sbcl-static-vectors
ba55cbda
GLV
4271 (package
4272 (name "sbcl-static-vectors")
4273 (version "1.8.4")
4274 (source
4275 (origin
88f06fd0
PN
4276 (method git-fetch)
4277 (uri (git-reference
b0e7b699 4278 (url "https://github.com/sionescu/static-vectors")
ba55cbda 4279 (commit (string-append "v" version))))
88f06fd0
PN
4280 (file-name (git-file-name name version))
4281 (sha256
ba55cbda
GLV
4282 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4283 (native-inputs
4284 `(("sbcl-fiveam" ,sbcl-fiveam)))
4285 (inputs
4286 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4287 ("sbcl-cffi" ,sbcl-cffi)))
4288 (build-system asdf-build-system/sbcl)
6b40dbff 4289 (home-page "https://github.com/sionescu/static-vectors")
ba55cbda
GLV
4290 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4291 (description
4292 "With @code{static-vectors}, you can create vectors allocated in static
88f06fd0 4293memory.")
ba55cbda 4294 (license license:expat)))
88f06fd0
PN
4295
4296(define-public cl-static-vectors
4297 (sbcl-package->cl-source-package sbcl-static-vectors))
4298
f6a6f085
GLV
4299(define-public ecl-static-vectors
4300 (sbcl-package->ecl-package sbcl-static-vectors))
4301
88f06fd0
PN
4302(define-public sbcl-marshal
4303 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4304 (revision "1"))
4305 (package
4306 (name "sbcl-marshal")
4307 (version (git-version "1.3.0" revision commit))
4308 (source
4309 (origin
4310 (method git-fetch)
4311 (uri (git-reference
b0e7b699 4312 (url "https://github.com/wlbr/cl-marshal")
88f06fd0
PN
4313 (commit commit)))
4314 (file-name (git-file-name name version))
4315 (sha256
4316 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4317 (build-system asdf-build-system/sbcl)
4318 (home-page "https://github.com/wlbr/cl-marshal")
4319 (synopsis "Simple (de)serialization of Lisp datastructures")
4320 (description
4321 "Simple and fast marshalling of Lisp datastructures. Convert any object
4322into a string representation, put it on a stream an revive it from there.
4323Only minimal changes required to make your CLOS objects serializable.")
4324 (license license:expat))))
4325
4326(define-public cl-marshal
4327 (sbcl-package->cl-source-package sbcl-marshal))
4328
4329(define-public sbcl-checkl
4330 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4331 (revision "1"))
4332 (package
4333 (name "sbcl-checkl")
4334 (version (git-version "0.0.0" revision commit))
4335 (source
4336 (origin
4337 (method git-fetch)
4338 (uri (git-reference
b0e7b699 4339 (url "https://github.com/rpav/CheckL")
88f06fd0
PN
4340 (commit commit)))
4341 (file-name (git-file-name name version))
4342 (sha256
4343 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4344 (build-system asdf-build-system/sbcl)
4345 (arguments
4346 ;; Error while trying to load definition for system checkl-test from
4347 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4348 ;; is undefined.
4349 '(#:tests? #f))
4350 (native-inputs
4351 `(("sbcl-fiveam" ,sbcl-fiveam)))
4352 (inputs
4353 `(("sbcl-marshal" ,sbcl-marshal)))
4354 (home-page "https://github.com/rpav/CheckL/")
4355 (synopsis "Dynamic testing for Common Lisp")
4356 (description
4357 "CheckL lets you write tests dynamically, it checks resulting values
4358against the last run.")
4359 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4360 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4361 ;; stronger of the two and so I think only listing this should suffice.
4362 (license license:llgpl))))
4363
4364(define-public cl-checkl
4365 (sbcl-package->cl-source-package sbcl-checkl))
4366
4367(define-public sbcl-fast-io
481f41e3
PN
4368 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4369 (revision "2"))
88f06fd0
PN
4370 (package
4371 (name "sbcl-fast-io")
4372 (version (git-version "1.0.0" revision commit))
4373 (source
4374 (origin
4375 (method git-fetch)
4376 (uri (git-reference
b0e7b699 4377 (url "https://github.com/rpav/fast-io")
88f06fd0
PN
4378 (commit commit)))
4379 (file-name (git-file-name name version))
4380 (sha256
481f41e3 4381 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
88f06fd0
PN
4382 (build-system asdf-build-system/sbcl)
4383 (arguments
4384 ;; Error while trying to load definition for system fast-io-test from
4385 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4386 ;; is undefined.
4387 '(#:tests? #f))
4388 (native-inputs
4389 `(("sbcl-fiveam" ,sbcl-fiveam)
4390 ("sbcl-checkl" ,sbcl-checkl)))
4391 (inputs
4392 `(("sbcl-alexandria" ,sbcl-alexandria)
4393 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4394 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4395 (home-page "https://github.com/rpav/fast-io")
4396 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4397 (description
4398 "Fast-io is about improving performance to octet-vectors and octet
4399streams (though primarily the former, while wrapping the latter).")
4400 ;; Author specifies this as NewBSD which is an alias
4401 (license license:bsd-3))))
4402
4403(define-public cl-fast-io
4404 (sbcl-package->cl-source-package sbcl-fast-io))
4405
4406(define-public sbcl-jonathan
4407 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4408 (revision "1"))
4409 (package
4410 (name "sbcl-jonathan")
4411 (version (git-version "0.1.0" revision commit))
4412 (source
4413 (origin
4414 (method git-fetch)
4415 (uri (git-reference
b0e7b699 4416 (url "https://github.com/Rudolph-Miller/jonathan")
88f06fd0
PN
4417 (commit commit)))
4418 (file-name (git-file-name name version))
4419 (sha256
4420 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4421 (build-system asdf-build-system/sbcl)
4422 (arguments
4423 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4424 ;; required by #<SYSTEM "jonathan">. Why?
4425 `(#:tests? #f))
4426 (native-inputs
4427 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4428 ("sbcl-prove" ,sbcl-prove)))
4429 (inputs
4430 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4431 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4432 ("sbcl-fast-io" ,sbcl-fast-io)
4433 ("sbcl-proc-parse" ,sbcl-proc-parse)
4434 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
46a5d07e 4435 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
88f06fd0
PN
4436 (synopsis "JSON encoder and decoder")
4437 (description
4438 "High performance JSON encoder and decoder. Currently support: SBCL,
4439CCL.")
4440 ;; Author specifies the MIT license
4441 (license license:expat))))
4442
4443(define-public cl-jonathan
4444 (sbcl-package->cl-source-package sbcl-jonathan))
4445
4446(define-public sbcl-http-body
4447 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4448 (revision "1"))
4449 (package
4450 (name "sbcl-http-body")
4451 (version (git-version "0.1.0" revision commit))
4452 (source
4453 (origin
4454 (method git-fetch)
4455 (uri (git-reference
4456 (url "https://github.com/fukamachi/http-body")
4457 (commit commit)))
4458 (file-name (git-file-name name version))
4459 (sha256
4460 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4461 (build-system asdf-build-system/sbcl)
4462 (arguments
4463 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4464 ;; found, required by #<SYSTEM "http-body">. Why?
4465 `(#:tests? #f))
4466 (native-inputs
4467 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4468 ("sbcl-prove" ,sbcl-prove)))
4469 (inputs
4470 `(("sbcl-fast-http" ,sbcl-fast-http)
4471 ("sbcl-jonathan" ,sbcl-jonathan)
4472 ("sbcl-quri" ,sbcl-quri)))
4473 (home-page "https://github.com/fukamachi/http-body")
4474 (synopsis "HTTP POST data parser")
4475 (description
4476 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4477supports application/x-www-form-urlencoded, application/json, and
4478multipart/form-data.")
4479 (license license:bsd-2))))
4480
4481(define-public cl-http-body
4482 (sbcl-package->cl-source-package sbcl-http-body))
4483
4484(define-public sbcl-circular-streams
4485 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4486 (revision "1"))
4487 (package
4488 (name "sbcl-circular-streams")
4489 (version (git-version "0.1.0" revision commit))
4490 (source
4491 (origin
4492 (method git-fetch)
4493 (uri (git-reference
4494 (url "https://github.com/fukamachi/circular-streams")
4495 (commit commit)))
4496 (file-name (git-file-name name version))
4497 (sha256
4498 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4499 (build-system asdf-build-system/sbcl)
4500 (arguments
4501 ;; The tests depend on cl-test-more which is now prove. Prove
4502 ;; tests aren't working for some reason.
4503 `(#:tests? #f))
4504 (inputs
4505 `(("sbcl-fast-io" ,sbcl-fast-io)
4506 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4507 (home-page "https://github.com/fukamachi/circular-streams")
4508 (synopsis "Circularly readable streams for Common Lisp")
4509 (description
4510 "Circular-Streams allows you to read streams circularly by wrapping real
4511streams. Once you reach end-of-file of a stream, it's file position will be
4512reset to 0 and you're able to read it again.")
4513 (license license:llgpl))))
4514
4515(define-public cl-circular-streams
4516 (sbcl-package->cl-source-package sbcl-circular-streams))
4517
4518(define-public sbcl-lack-request
4519 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4520 (revision "1"))
4521 (package
4522 (name "sbcl-lack-request")
4523 (version (git-version "0.1.0" revision commit))
4524 (source
4525 (origin
4526 (method git-fetch)
4527 (uri (git-reference
b0e7b699 4528 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4529 (commit commit)))
4530 (file-name (git-file-name "lack-request" version))
4531 (sha256
4532 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4533 (build-system asdf-build-system/sbcl)
4534 (arguments
4535 '(#:asd-file "lack-request.asd"
4536 #:asd-system-name "lack-request"
4537 #:test-asd-file "t-lack-request.asd"
4538 ;; XXX: Component :CLACK-TEST not found
4539 #:tests? #f))
4540 (native-inputs
4541 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4542 ("sbcl-prove" ,sbcl-prove)))
4543 (inputs
4544 `(("sbcl-quri" ,sbcl-quri)
4545 ("sbcl-http-body" ,sbcl-http-body)
4546 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4547 (home-page "https://github.com/fukamachi/lack")
4548 (synopsis "Lack, the core of Clack")
4549 (description
4550 "Lack is a Common Lisp library which allows web applications to be
4551constructed of modular components. It was originally a part of Clack, however
4552it's going to be rewritten as an individual project since Clack v2 with
4553performance and simplicity in mind.")
4554 (license license:llgpl))))
4555
4556(define-public cl-lack-request
4557 (sbcl-package->cl-source-package sbcl-lack-request))
4558
4559(define-public sbcl-local-time
c9d9795f 4560 (let ((commit "62792705245168d3fc2e04164b9a143477284142")
88f06fd0
PN
4561 (revision "1"))
4562 (package
4563 (name "sbcl-local-time")
4564 (version (git-version "1.0.6" revision commit))
4565 (source
4566 (origin
4567 (method git-fetch)
4568 (uri (git-reference
b0e7b699 4569 (url "https://github.com/dlowe-net/local-time")
88f06fd0
PN
4570 (commit commit)))
4571 (file-name (git-file-name name version))
4572 (sha256
c9d9795f 4573 (base32 "1r5zq4l1lrgprdr2pw7wwry194yknnllyjf6lx7snypb3k4r3yir"))))
88f06fd0
PN
4574 (build-system asdf-build-system/sbcl)
4575 (arguments
4576 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4577 ;; "local-time/test">
4578 '(#:tests? #f))
4579 (native-inputs
4580 `(("stefil" ,sbcl-hu.dwim.stefil)))
4581 (inputs
4582 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4583 (home-page "https://common-lisp.net/project/local-time/")
4584 (synopsis "Time manipulation library for Common Lisp")
4585 (description
4586 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4587dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4588Long Painful History of Time\".")
4589 (license license:expat))))
4590
4591(define-public cl-local-time
4592 (sbcl-package->cl-source-package sbcl-local-time))
4593
4594(define-public sbcl-lack-response
4595 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4596 (revision "1"))
4597 (package
4598 (name "sbcl-lack-response")
4599 (version (git-version "0.1.0" revision commit))
4600 (source
4601 (origin
4602 (method git-fetch)
4603 (uri (git-reference
b0e7b699 4604 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4605 (commit commit)))
4606 (file-name (git-file-name name version))
4607 (sha256
4608 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4609 (build-system asdf-build-system/sbcl)
4610 (arguments
4611 '(#:asd-file "lack-response.asd"
4612 #:asd-system-name "lack-response"
4613 ;; XXX: no tests for lack-response.
4614 #:tests? #f))
4615 (native-inputs
4616 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4617 ("sbcl-prove" ,sbcl-prove)))
4618 (inputs
4619 `(("sbcl-quri" ,sbcl-quri)
4620 ("sbcl-http-body" ,sbcl-http-body)
4621 ("sbcl-circular-streams" ,sbcl-circular-streams)
4622 ("sbcl-local-time" ,sbcl-local-time)))
4623 (home-page "https://github.com/fukamachi/lack")
4624 (synopsis "Lack, the core of Clack")
4625 (description
4626 "Lack is a Common Lisp library which allows web applications to be
4627constructed of modular components. It was originally a part of Clack, however
4628it's going to be rewritten as an individual project since Clack v2 with
4629performance and simplicity in mind.")
4630 (license license:llgpl))))
4631
4632(define-public cl-lack-response
4633 (sbcl-package->cl-source-package sbcl-lack-response))
4634
4635(define-public sbcl-lack-component
4636 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4637 (revision "1"))
4638 (package
4639 (name "sbcl-lack-component")
4640 (version (git-version "0.0.0" revision commit))
4641 (source
4642 (origin
4643 (method git-fetch)
4644 (uri (git-reference
b0e7b699 4645 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4646 (commit commit)))
4647 (file-name (git-file-name "lack-component" version))
4648 (sha256
4649 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4650 (build-system asdf-build-system/sbcl)
4651 (arguments
4652 '(#:asd-file "lack-component.asd"
4653 #:asd-system-name "lack-component"
4654 #:test-asd-file "t-lack-component.asd"
4655 ;; XXX: Component :LACK-TEST not found
4656 #:tests? #f))
4657 (native-inputs
4658 `(("prove-asdf" ,sbcl-prove-asdf)))
4659 (home-page "https://github.com/fukamachi/lack")
4660 (synopsis "Lack, the core of Clack")
4661 (description
4662 "Lack is a Common Lisp library which allows web applications to be
4663constructed of modular components. It was originally a part of Clack, however
4664it's going to be rewritten as an individual project since Clack v2 with
4665performance and simplicity in mind.")
4666 (license license:llgpl))))
4667
4668(define-public cl-lack-component
4669 (sbcl-package->cl-source-package sbcl-lack-component))
4670
4671(define-public sbcl-lack-util
4672 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4673 (revision "1"))
4674 (package
4675 (name "sbcl-lack-util")
4676 (version (git-version "0.1.0" revision commit))
4677 (source
4678 (origin
4679 (method git-fetch)
4680 (uri (git-reference
b0e7b699 4681 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4682 (commit commit)))
4683 (file-name (git-file-name "lack-util" version))
4684 (sha256
4685 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4686 (build-system asdf-build-system/sbcl)
4687 (arguments
4688 '(#:asd-file "lack-util.asd"
4689 #:asd-system-name "lack-util"
4690 #:test-asd-file "t-lack-util.asd"
4691 ;; XXX: Component :LACK-TEST not found
4692 #:tests? #f))
4693 (native-inputs
4694 `(("prove-asdf" ,sbcl-prove-asdf)))
4695 (inputs
4696 `(("sbcl-ironclad" ,sbcl-ironclad)))
4697 (home-page "https://github.com/fukamachi/lack")
4698 (synopsis "Lack, the core of Clack")
4699 (description
4700 "Lack is a Common Lisp library which allows web applications to be
4701constructed of modular components. It was originally a part of Clack, however
4702it's going to be rewritten as an individual project since Clack v2 with
4703performance and simplicity in mind.")
4704 (license license:llgpl))))
4705
4706(define-public cl-lack-util
4707 (sbcl-package->cl-source-package sbcl-lack-util))
4708
4709(define-public sbcl-lack-middleware-backtrace
4710 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4711 (revision "1"))
4712 (package
4713 (name "sbcl-lack-middleware-backtrace")
4714 (version (git-version "0.1.0" revision commit))
4715 (source
4716 (origin
4717 (method git-fetch)
4718 (uri (git-reference
b0e7b699 4719 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4720 (commit commit)))
4721 (file-name (git-file-name "lack-middleware-backtrace" version))
4722 (sha256
4723 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4724 (build-system asdf-build-system/sbcl)
4725 (arguments
4726 '(#:asd-file "lack-middleware-backtrace.asd"
4727 #:asd-system-name "lack-middleware-backtrace"
4728 #:test-asd-file "t-lack-middleware-backtrace.asd"
4729 ;; XXX: Component :LACK not found
4730 #:tests? #f))
4731 (native-inputs
4732 `(("prove-asdf" ,sbcl-prove-asdf)))
4733 (home-page "https://github.com/fukamachi/lack")
4734 (synopsis "Lack, the core of Clack")
4735 (description
4736 "Lack is a Common Lisp library which allows web applications to be
4737constructed of modular components. It was originally a part of Clack, however
4738it's going to be rewritten as an individual project since Clack v2 with
4739performance and simplicity in mind.")
4740 (license license:llgpl))))
4741
4742(define-public cl-lack-middleware-backtrace
4743 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4744
4745(define-public sbcl-trivial-mimes
4746 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4747 (revision "1"))
4748 (package
4749 (name "sbcl-trivial-mimes")
4750 (version (git-version "1.1.0" revision commit))
4751 (source
4752 (origin
4753 (method git-fetch)
4754 (uri (git-reference
b0e7b699 4755 (url "https://github.com/Shinmera/trivial-mimes")
88f06fd0
PN
4756 (commit commit)))
4757 (file-name (git-file-name name version))
4758 (sha256
4759 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4760 (build-system asdf-build-system/sbcl)
4761 (arguments
4762 '(#:phases
4763 (modify-phases %standard-phases
4764 (add-after
4765 'unpack 'fix-paths
4766 (lambda* (#:key inputs #:allow-other-keys)
4767 (let ((anchor "#p\"/etc/mime.types\""))
4768 (substitute* "mime-types.lisp"
4769 ((anchor all)
4770 (string-append
4771 anchor "\n"
4772 "(asdf:system-relative-pathname :trivial-mimes "
4773 "\"../../share/common-lisp/" (%lisp-type)
4774 "-source/trivial-mimes/mime.types\")")))))))))
4775 (native-inputs
4776 `(("stefil" ,sbcl-hu.dwim.stefil)))
4777 (inputs
4778 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
917c28d2 4779 (home-page "https://shinmera.github.io/trivial-mimes/")
88f06fd0
PN
4780 (synopsis "Tiny Common Lisp library to detect mime types in files")
4781 (description
4782 "This is a teensy library that provides some functions to determine the
4783mime-type of a file.")
4784 (license license:artistic2.0))))
4785
4786(define-public cl-trivial-mimes
4787 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4788
4789(define-public ecl-trivial-mimes
4790 (sbcl-package->ecl-package sbcl-trivial-mimes))
4791
4792(define-public sbcl-lack-middleware-static
4793 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4794 (revision "1"))
4795 (package
4796 (name "sbcl-lack-middleware-static")
4797 (version (git-version "0.1.0" revision commit))
4798 (source
4799 (origin
4800 (method git-fetch)
4801 (uri (git-reference
b0e7b699 4802 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4803 (commit commit)))
4804 (file-name (git-file-name "lack-middleware-static" version))
4805 (sha256
4806 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4807 (build-system asdf-build-system/sbcl)
4808 (arguments
4809 '(#:asd-file "lack-middleware-static.asd"
4810 #:asd-system-name "lack-middleware-static"
4811 #:test-asd-file "t-lack-middleware-static.asd"
4812 ;; XXX: Component :LACK not found
4813 #:tests? #f))
4814 (native-inputs
4815 `(("prove-asdf" ,sbcl-prove-asdf)))
4816 (inputs
4817 `(("sbcl-ironclad" ,sbcl-ironclad)
4818 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4819 ("sbcl-local-time" ,sbcl-local-time)))
4820 (home-page "https://github.com/fukamachi/lack")
4821 (synopsis "Lack, the core of Clack")
4822 (description
4823 "Lack is a Common Lisp library which allows web applications to be
4824constructed of modular components. It was originally a part of Clack, however
4825it's going to be rewritten as an individual project since Clack v2 with
4826performance and simplicity in mind.")
4827 (license license:llgpl))))
4828
4829(define-public cl-lack-middleware-static
4830 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4831
4832(define-public sbcl-lack
4833 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4834 (revision "1"))
4835 (package
4836 (name "sbcl-lack")
4837 (version (git-version "0.1.0" revision commit))
4838 (source
4839 (origin
4840 (method git-fetch)
4841 (uri (git-reference
b0e7b699 4842 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4843 (commit commit)))
4844 (file-name (git-file-name "lack" version))
4845 (sha256
4846 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4847 (build-system asdf-build-system/sbcl)
4848 (arguments
4849 '(#:test-asd-file "t-lack.asd"
4850 ;; XXX: Component :CLACK not found
4851 #:tests? #f))
4852 (native-inputs
4853 `(("prove-asdf" ,sbcl-prove-asdf)))
4854 (inputs
4855 `(("sbcl-lack-component" ,sbcl-lack-component)
4856 ("sbcl-lack-util" ,sbcl-lack-util)))
4857 (home-page "https://github.com/fukamachi/lack")
4858 (synopsis "Lack, the core of Clack")
4859 (description
4860 "Lack is a Common Lisp library which allows web applications to be
4861constructed of modular components. It was originally a part of Clack, however
4862it's going to be rewritten as an individual project since Clack v2 with
4863performance and simplicity in mind.")
4864 (license license:llgpl))))
4865
4866(define-public cl-lack
4867 (sbcl-package->cl-source-package sbcl-lack))
4868
4869(define-public sbcl-ningle
4870 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4871 (revision "1"))
4872 (package
4873 (name "sbcl-ningle")
4874 (version (git-version "0.3.0" revision commit))
4875 (source
4876 (origin
4877 (method git-fetch)
4878 (uri (git-reference
b0e7b699 4879 (url "https://github.com/fukamachi/ningle")
88f06fd0
PN
4880 (commit commit)))
4881 (file-name (git-file-name name version))
4882 (sha256
4883 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4884 (build-system asdf-build-system/sbcl)
4885 (arguments
4886 ;; TODO: pull in clack-test
4887 '(#:tests? #f
4888 #:phases
4889 (modify-phases %standard-phases
4890 (delete 'cleanup-files)
4891 (delete 'cleanup)
4892 (add-before 'cleanup 'combine-fasls
4893 (lambda* (#:key outputs #:allow-other-keys)
4894 (let* ((out (assoc-ref outputs "out"))
4895 (lib (string-append out "/lib/sbcl"))
4896 (ningle-path (string-append lib "/ningle"))
4897 (fasl-files (find-files out "\\.fasl$")))
4898 (mkdir-p ningle-path)
4899 (let ((fasl-path (lambda (name)
4900 (string-append ningle-path
4901 "/"
4902 (basename name)
4903 "--system.fasl"))))
4904 (for-each (lambda (file)
4905 (rename-file file
4906 (fasl-path
4907 (basename file ".fasl"))))
4908 fasl-files))
4909 fasl-files)
4910 #t)))))
4911 (native-inputs
4912 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4913 ("sbcl-prove" ,sbcl-prove)))
4914 (inputs
4915 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4916 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4917 ("sbcl-myway" ,sbcl-myway)
4918 ("sbcl-lack-request" ,sbcl-lack-request)
4919 ("sbcl-lack-response" ,sbcl-lack-response)
4920 ("sbcl-lack-component" ,sbcl-lack-component)
4921 ("sbcl-alexandria" ,sbcl-alexandria)
4922 ("sbcl-babel" ,sbcl-babel)))
f13695ec 4923 (home-page "https://8arrow.org/ningle/")
88f06fd0
PN
4924 (synopsis "Super micro framework for Common Lisp")
4925 (description
4926 "Ningle is a lightweight web application framework for Common Lisp.")
4927 (license license:llgpl))))
4928
4929(define-public cl-ningle
4930 (sbcl-package->cl-source-package sbcl-ningle))
4931
4932(define-public sbcl-clack
4933 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4934 (revision "1"))
4935 (package
4936 (name "sbcl-clack")
4937 (version (git-version "2.0.0" revision commit))
4938 (source
4939 (origin
4940 (method git-fetch)
4941 (uri (git-reference
b0e7b699 4942 (url "https://github.com/fukamachi/clack")
88f06fd0
PN
4943 (commit commit)))
4944 (file-name (git-file-name name version))
4945 (sha256
4946 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4947 (build-system asdf-build-system/sbcl)
4948 (inputs
4949 `(("sbcl-lack" ,sbcl-lack)
4950 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4951 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4952 (home-page "https://github.com/fukamachi/clack")
4953 (synopsis "Web Application Environment for Common Lisp")
4954 (description
4955 "Clack is a web application environment for Common Lisp inspired by
4956Python's WSGI and Ruby's Rack.")
4957 (license license:llgpl))))
4958
4959(define-public cl-clack
4960 (sbcl-package->cl-source-package sbcl-clack))
4961
4962(define-public sbcl-log4cl
4963 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4964 (revision "1"))
4965 (package
4966 (name "sbcl-log4cl")
4967 (build-system asdf-build-system/sbcl)
4968 (version "1.1.2")
4969 (source
4970 (origin
4971 (method git-fetch)
4972 (uri (git-reference
4973 (url "https://github.com/sharplispers/log4cl")
4974 (commit commit)))
4975 (file-name (git-file-name name version))
4976 (sha256
4977 (base32
4978 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4979 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4980 (arguments
4981 `(#:tests? #f))
4982 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4983 (synopsis "Common Lisp logging framework, modeled after Log4J")
4984 (home-page "https://github.com/7max/log4cl")
4985 (description "This is a Common Lisp logging framework that can log at
4986various levels and mix text with expressions.")
4987 (license license:asl2.0))))
4988
4989(define-public cl-log4cl
4990 (sbcl-package->cl-source-package sbcl-log4cl))
4991
4992(define-public ecl-log4cl
4993 (sbcl-package->ecl-package sbcl-log4cl))
4994
4995(define-public sbcl-find-port
4996 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4997 (revision "1"))
4998 (package
4999 (name "sbcl-find-port")
5000 (build-system asdf-build-system/sbcl)
5001 (version "0.1")
5002 (home-page "https://github.com/eudoxia0/find-port")
5003 (source
5004 (origin
5005 (method git-fetch)
5006 (uri (git-reference
5007 (url home-page)
5008 (commit commit)))
5009 (file-name (git-file-name name version))
5010 (sha256
5011 (base32
5012 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5013 (native-inputs
5014 `(("fiveam" ,sbcl-fiveam)))
5015 (inputs
5016 `(("sbcl-usocket" ,sbcl-usocket)))
5017 (synopsis "Find open ports programmatically in Common Lisp")
5018 (description "This is a small Common Lisp library that finds an open
5019port within a range.")
5020 (license license:expat))))
5021
5022(define-public cl-find-port
5023 (sbcl-package->cl-source-package sbcl-find-port))
5024
5025(define-public ecl-find-port
5026 (sbcl-package->ecl-package sbcl-find-port))
5027
5028(define-public sbcl-clunit
5029 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5030 (revision "1"))
5031 (package
5032 (name "sbcl-clunit")
5033 (version (git-version "0.2.3" revision commit))
5034 (source
5035 (origin
5036 (method git-fetch)
5037 (uri (git-reference
b0e7b699 5038 (url "https://github.com/tgutu/clunit")
88f06fd0
PN
5039 (commit commit)))
5040 (file-name (git-file-name name version))
5041 (sha256
5042 (base32
5043 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5044 (build-system asdf-build-system/sbcl)
5045 (synopsis "CLUnit is a Common Lisp unit testing framework")
5046 (description
5047 "CLUnit is a Common Lisp unit testing framework. It is designed
5048to be easy to use so that you can quickly start testing. CLUnit
5049provides a rich set of features aimed at improving your unit testing
5050experience.")
b4034d1b 5051 (home-page "https://tgutu.github.io/clunit/")
88f06fd0
PN
5052 ;; MIT License
5053 (license license:expat))))
5054
5055(define-public cl-clunit
5056 (sbcl-package->cl-source-package sbcl-clunit))
5057
5058(define-public ecl-clunit
5059 (sbcl-package->ecl-package sbcl-clunit))
5060
5061(define-public sbcl-py4cl
5062 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5063 (revision "1"))
5064 (package
5065 (name "sbcl-py4cl")
5066 (version (git-version "0.0.0" revision commit))
5067 (source
5068 (origin
5069 (method git-fetch)
5070 (uri (git-reference
b0e7b699 5071 (url "https://github.com/bendudson/py4cl")
88f06fd0
PN
5072 (commit commit)))
5073 (file-name (git-file-name name version))
5074 (sha256
5075 (base32
5076 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5077 (modules '((guix build utils)))))
5078 (build-system asdf-build-system/sbcl)
5079 (native-inputs
5080 `(("sbcl-clunit" ,sbcl-clunit)))
5081 (inputs
5082 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5083 (propagated-inputs
5084 ;; This package doesn't do anything without python available
5085 `(("python" ,python)
5086 ;; For multi-dimensional array support
5087 ("python-numpy" ,python-numpy)))
5088 (arguments
5089 '(#:phases
5090 (modify-phases %standard-phases
5091 (add-after 'unpack 'replace-*base-directory*-var
5092 (lambda* (#:key outputs #:allow-other-keys)
5093 ;; In the ASD, the author makes an attempt to
5094 ;; programatically determine the location of the
5095 ;; source-code so lisp can call into "py4cl.py". We can
5096 ;; hard-code this since we know where this file will
5097 ;; reside.
5098 (substitute* "src/callpython.lisp"
5099 (("py4cl/config:\\*base-directory\\*")
5100 (string-append
5101 "\""
5102 (assoc-ref outputs "out")
5103 "/share/common-lisp/sbcl-source/py4cl/"
5104 "\""))))))))
5105 (synopsis "Call python from Common Lisp")
5106 (description
5107 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5108Lisp to interact with Python code. It uses streams to communicate with a
5109separate python process, the approach taken by cl4py. This is different to
5110the CFFI approach used by burgled-batteries, but has the same goal.")
5111 (home-page "https://github.com/bendudson/py4cl")
5112 ;; MIT License
5113 (license license:expat))))
5114
5115(define-public cl-py4cl
5116 (sbcl-package->cl-source-package sbcl-py4cl))
5117
5118(define-public ecl-py4cl
5119 (sbcl-package->ecl-package sbcl-py4cl))
5120
5121(define-public sbcl-parse-declarations
1fce78c4
GLV
5122 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5123 (revision "1"))
5124 (package
5125 (name "sbcl-parse-declarations")
5126 (version (git-version "1.0.0" revision commit))
5127 (source
5128 (origin
5129 (method git-fetch)
5130 (uri (git-reference
5131 (url (string-append
5132 "https://gitlab.common-lisp.net/parse-declarations/"
5133 "parse-declarations.git"))
5134 (commit commit)))
5135 (file-name (git-file-name name version))
5136 (sha256
5137 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5138 (build-system asdf-build-system/sbcl)
5139 (arguments
5140 `(#:asd-file "parse-declarations-1.0.asd"
5141 #:asd-system-name "parse-declarations-1.0"))
5142 (home-page "https://common-lisp.net/project/parse-declarations/")
5143 (synopsis "Parse, filter, and build declarations")
5144 (description
5145 "Parse-Declarations is a Common Lisp library to help writing
88f06fd0
PN
5146macros which establish bindings. To be semantically correct, such
5147macros must take user declarations into account, as these may affect
5148the bindings they establish. Yet the ANSI standard of Common Lisp does
5149not provide any operators to work with declarations in a convenient,
5150high-level way. This library provides such operators.")
1fce78c4
GLV
5151 ;; MIT License
5152 (license license:expat))))
88f06fd0
PN
5153
5154(define-public cl-parse-declarations
5155 (sbcl-package->cl-source-package sbcl-parse-declarations))
5156
5157(define-public ecl-parse-declarations
5158 (sbcl-package->ecl-package sbcl-parse-declarations))
5159
5160(define-public sbcl-cl-quickcheck
5161 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5162 (revision "1"))
5163 (package
5164 (name "sbcl-cl-quickcheck")
5165 (version (git-version "0.0.4" revision commit))
5166 (source
5167 (origin
5168 (method git-fetch)
5169 (uri (git-reference
b0e7b699 5170 (url "https://github.com/mcandre/cl-quickcheck")
88f06fd0
PN
5171 (commit commit)))
5172 (file-name (git-file-name name version))
5173 (sha256
5174 (base32
5175 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5176 (build-system asdf-build-system/sbcl)
5177 (synopsis
5178 "Common Lisp port of the QuickCheck unit test framework")
5179 (description
5180 "Common Lisp port of the QuickCheck unit test framework")
5181 (home-page "https://github.com/mcandre/cl-quickcheck")
5182 ;; MIT
5183 (license license:expat))))
5184
5185(define-public cl-cl-quickcheck
5186 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5187
5188(define-public ecl-cl-quickcheck
5189 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5190
5191(define-public sbcl-burgled-batteries3
839fa4cd
MB
5192 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5193 (revision "2"))
88f06fd0
PN
5194 (package
5195 (name "sbcl-burgled-batteries3")
5196 (version (git-version "0.0.0" revision commit))
5197 (source
5198 (origin
5199 (method git-fetch)
5200 (uri (git-reference
b0e7b699 5201 (url "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
5202 (commit commit)))
5203 (file-name (git-file-name name version))
5204 (sha256
5205 (base32
839fa4cd 5206 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
88f06fd0
PN
5207 (build-system asdf-build-system/sbcl)
5208 (arguments
839fa4cd
MB
5209 `(#:tests? #f
5210 #:modules (((guix build python-build-system) #:select (python-version))
5211 ,@%asdf-build-system-modules)
5212 #:imported-modules ((guix build python-build-system)
5213 ,@%asdf-build-system-modules)
88f06fd0 5214 #:phases
839fa4cd 5215 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
88f06fd0
PN
5216 (add-after 'unpack 'set-*cpython-include-dir*-var
5217 (lambda* (#:key inputs #:allow-other-keys)
839fa4cd
MB
5218 (let ((python (assoc-ref inputs "python")))
5219 (setenv "BB_PYTHON3_INCLUDE_DIR"
5220 (string-append python "/include/python"
8c83069b 5221 (python-version python)))
839fa4cd
MB
5222 (setenv "BB_PYTHON3_DYLIB"
5223 (string-append python "/lib/libpython3.so"))
8c83069b
MB
5224 #t)))
5225 (add-after 'unpack 'adjust-for-python-3.8
5226 (lambda _
5227 ;; This method is no longer part of the public API.
5228 (substitute* "ffi-interface.lisp"
5229 ((".*PyEval_ReInitThreads.*")
5230 ""))
5231 #t)))))
88f06fd0 5232 (native-inputs
3d280dae 5233 `(("sbcl-cl-fad" ,sbcl-cl-fad)
88f06fd0
PN
5234 ("sbcl-lift" ,sbcl-lift)
5235 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5236 (inputs
3d280dae
MB
5237 `(("python" ,python)
5238 ("sbcl-cffi" ,sbcl-cffi)
88f06fd0
PN
5239 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5240 ("sbcl-alexandria" , sbcl-alexandria)
5241 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5242 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5243 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5244 (description
5245 "This package provides a shim between Python3 (specifically, the
5246CPython implementation of Python) and Common Lisp.")
5247 (home-page "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
5248 (license license:expat))))
5249
5250(define-public cl-burgled-batteries3
5251 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5252
5253(define-public ecl-burgled-batteries3
5254 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5255
5256(define-public sbcl-metabang-bind
5257 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5258 (revision "1"))
5259 (package
5260 (name "sbcl-metabang-bind")
5261 (version (git-version "0.8.0" revision commit))
5262 (source
5263 (origin
5264 (method git-fetch)
5265 (uri (git-reference
b0e7b699 5266 (url "https://github.com/gwkkwg/metabang-bind")
88f06fd0
PN
5267 (commit commit)))
5268 (file-name (git-file-name name version))
5269 (sha256
5270 (base32
5271 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5272 (build-system asdf-build-system/sbcl)
5273 (native-inputs
5274 `(("sbcl-lift" ,sbcl-lift)))
5275 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5276 (description
5277 "Bind extends the idea of of let and destructing to provide a uniform
5278syntax for all your accessor needs. It combines @code{let},
5279@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5280editing, property or association-lists, and @code{multiple-value-bind} and a
5281whole lot more into a single form.")
5282 (home-page "https://common-lisp.net/project/metabang-bind/")
5283 ;; MIT License
5284 (license license:expat))))
5285
5286(define-public cl-metabang-bind
5287 (sbcl-package->cl-source-package sbcl-metabang-bind))
5288
5289(define-public ecl-metabang-bind
5290 (sbcl-package->ecl-package sbcl-metabang-bind))
5291
5292(define-public sbcl-fare-utils
5293 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5294 (revision "1"))
5295 (package
5296 (name "sbcl-fare-utils")
5297 (version (git-version "1.0.0.5" revision commit))
5298 (source
5299 (origin
5300 (method git-fetch)
5301 (uri
5302 (git-reference
5303 (url
5304 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5305 (commit commit)))
5306 (file-name (git-file-name name version))
5307 (sha256
5308 (base32
5309 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5310 (build-system asdf-build-system/sbcl)
5311 (arguments
5312 `(#:test-asd-file "test/fare-utils-test.asd"))
5313 (native-inputs
5314 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5315 (synopsis "Collection of utilities and data structures")
5316 (description
5317 "fare-utils is a small collection of utilities. It contains a lot of
5318basic everyday functions and macros.")
5319 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5320 ;; MIT License
5321 (license license:expat))))
5322
5323(define-public cl-fare-utils
5324 (sbcl-package->cl-source-package sbcl-fare-utils))
5325
5326(define-public ecl-fare-utils
5327 (sbcl-package->ecl-package sbcl-fare-utils))
5328
5329(define-public sbcl-trivial-utf-8
5330 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5331 (revision "1"))
5332 (package
5333 (name "sbcl-trivial-utf-8")
5334 (version (git-version "0.0.0" revision commit))
5335 (source
5336 (origin
5337 (method git-fetch)
5338 (uri
5339 (git-reference
5340 (url (string-append "https://gitlab.common-lisp.net/"
5341 "trivial-utf-8/trivial-utf-8.git"))
5342 (commit commit)))
5343 (file-name (git-file-name name version))
5344 (sha256
5345 (base32
5346 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5347 (arguments
5348 ;; Guix incorrectly assumes the "8" is part of the version
5349 ;; number and lobs it off.
5350 `(#:asd-file "trivial-utf-8.asd"
5351 #:asd-system-name "trivial-utf-8"))
5352 (build-system asdf-build-system/sbcl)
5353 (synopsis "UTF-8 input/output library")
5354 (description
5355 "The Babel library solves a similar problem while understanding more
5356encodings. Trivial UTF-8 was written before Babel existed, but for new
5357projects you might be better off going with Babel. The one plus that Trivial
5358UTF-8 has is that it doesn't depend on any other libraries.")
5359 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5360 (license license:bsd-3))))
5361
5362(define-public cl-trivial-utf-8
5363 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5364
5365(define-public ecl-trivial-utf-8
5366 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5367
5368(define-public sbcl-idna
5369 (package
5370 (name "sbcl-idna")
5371 (build-system asdf-build-system/sbcl)
5372 (version "0.2.2")
5373 (home-page "https://github.com/antifuchs/idna")
5374 (source
5375 (origin
5376 (method git-fetch)
5377 (uri (git-reference
5378 (url home-page)
5379 (commit version)))
5380 (file-name (git-file-name name version))
5381 (sha256
5382 (base32
5383 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5384 (inputs
5385 `(("split-sequence" ,sbcl-split-sequence)))
5386 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5387 (description "This Common Lisp library provides string encoding and
5388decoding routines for IDNA, the International Domain Names in Applications.")
5389 (license license:expat)))
5390
5391(define-public cl-idna
5392 (sbcl-package->cl-source-package sbcl-idna))
5393
5394(define-public ecl-idna
5395 (sbcl-package->ecl-package sbcl-idna))
5396
5397(define-public sbcl-swap-bytes
5398 (package
5399 (name "sbcl-swap-bytes")
5400 (build-system asdf-build-system/sbcl)
dbf6de58 5401 (version "1.2")
88f06fd0
PN
5402 (home-page "https://github.com/sionescu/swap-bytes")
5403 (source
5404 (origin
5405 (method git-fetch)
5406 (uri (git-reference
5407 (url home-page)
5408 (commit (string-append "v" version))))
5409 (file-name (git-file-name name version))
5410 (sha256
5411 (base32
dbf6de58 5412 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5413 (inputs
5414 `(("trivial-features" ,sbcl-trivial-features)))
5415 (native-inputs
5416 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5417 (synopsis "Efficient endianness conversion for Common Lisp")
5418 (description "This Common Lisp library provides optimized byte-swapping
5419primitives. The library can change endianness of unsigned integers of length
54201/2/4/8. Very useful in implementing various network protocols and file
5421formats.")
5422 (license license:expat)))
5423
5424(define-public cl-swap-bytes
5425 (sbcl-package->cl-source-package sbcl-swap-bytes))
5426
5427(define-public ecl-swap-bytes
5428 (sbcl-package->ecl-package sbcl-swap-bytes))
5429
5430(define-public sbcl-iolib.asdf
5431 ;; Latest release is from June 2017.
53c4a0da
PN
5432 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5433 (revision "2"))
88f06fd0
PN
5434 (package
5435 (name "sbcl-iolib.asdf")
5436 (build-system asdf-build-system/sbcl)
53c4a0da 5437 (version (git-version "0.8.3" revision commit))
88f06fd0
PN
5438 (home-page "https://github.com/sionescu/iolib")
5439 (source
5440 (origin
5441 (method git-fetch)
5442 (uri (git-reference
5443 (url home-page)
5444 (commit commit)))
5445 (file-name (git-file-name name version))
5446 (sha256
5447 (base32
53c4a0da 5448 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
88f06fd0
PN
5449 (inputs
5450 `(("alexandria" ,sbcl-alexandria)))
5451 (arguments
5452 '(#:asd-file "iolib.asdf.asd"))
5453 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5454 (description "IOlib is to be a better and more modern I/O library than
5455the standard Common Lisp library. It contains a socket library, a DNS
5456resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5457and @code{kqueue(2)}), a pathname library and file-system utilities.")
5458 (license license:expat))))
5459
5460(define-public sbcl-iolib.conf
5461 (package
5462 (inherit sbcl-iolib.asdf)
5463 (name "sbcl-iolib.conf")
5464 (inputs
5465 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5466 (arguments
5467 '(#:asd-file "iolib.conf.asd"))
5468 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5469
5470(define-public sbcl-iolib.common-lisp
5471 (package
5472 (inherit sbcl-iolib.asdf)
5473 (name "sbcl-iolib.common-lisp")
5474 (inputs
5475 `(("iolib.asdf" ,sbcl-iolib.asdf)
5476 ("iolib.conf" ,sbcl-iolib.conf)))
5477 (arguments
5478 '(#:asd-file "iolib.common-lisp.asd"))
5479 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5480
5481(define-public sbcl-iolib.base
5482 (package
5483 (inherit sbcl-iolib.asdf)
5484 (name "sbcl-iolib.base")
5485 (inputs
5486 `(("iolib.asdf" ,sbcl-iolib.asdf)
5487 ("iolib.conf" ,sbcl-iolib.conf)
5488 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5489 ("split-sequence" ,sbcl-split-sequence)))
5490 (arguments
5491 '(#:asd-file "iolib.base.asd"))
5492 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5493
5494(define-public sbcl-iolib.grovel
3078c05e 5495 (deprecated-package "sbcl-iolib.grovel" sbcl-cffi-grovel))
88f06fd0 5496
af5c4eff 5497(define sbcl-iolib+syscalls
88f06fd0
PN
5498 (package
5499 (inherit sbcl-iolib.asdf)
af5c4eff 5500 (name "sbcl-iolib+syscalls")
88f06fd0
PN
5501 (inputs
5502 `(("iolib.asdf" ,sbcl-iolib.asdf)
5503 ("iolib.conf" ,sbcl-iolib.conf)
53c4a0da 5504 ("cffi-grovel" ,sbcl-cffi-grovel)
88f06fd0
PN
5505 ("iolib.base" ,sbcl-iolib.base)
5506 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5507 ("idna" ,sbcl-idna)
5508 ("swap-bytes" ,sbcl-swap-bytes)
5509 ("libfixposix" ,libfixposix)
5510 ("cffi" ,sbcl-cffi)))
5511 (native-inputs
5512 `(("fiveam" ,sbcl-fiveam)))
5513 (arguments
5514 '(#:asd-file "iolib.asd"
af5c4eff 5515 #:asd-system-name "iolib/syscalls"
88f06fd0
PN
5516 #:phases
5517 (modify-phases %standard-phases
5518 (add-after 'unpack 'fix-paths
5519 (lambda* (#:key inputs #:allow-other-keys)
5520 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5521 (("\\(:default \"libfixposix\"\\)")
5522 (string-append
5523 "(:default \""
5524 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5525 ;; Socket tests need Internet access, disable them.
53c4a0da 5526 (substitute* "iolib.asd"
88f06fd0
PN
5527 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5528 "")))))))
5529 (synopsis "Common Lisp I/O library")))
5530
88f06fd0
PN
5531(define sbcl-iolib+multiplex
5532 (package
af5c4eff 5533 (inherit sbcl-iolib+syscalls)
88f06fd0 5534 (name "sbcl-iolib+multiplex")
af5c4eff
PN
5535 (inputs
5536 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5537 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5538 (arguments
af5c4eff 5539 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5540 ((#:asd-system-name _) "iolib/multiplex")))))
5541
88f06fd0
PN
5542(define sbcl-iolib+streams
5543 (package
af5c4eff 5544 (inherit sbcl-iolib+syscalls)
88f06fd0 5545 (name "sbcl-iolib+streams")
af5c4eff
PN
5546 (inputs
5547 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5548 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5549 (arguments
af5c4eff 5550 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5551 ((#:asd-system-name _) "iolib/streams")))))
5552
5553(define sbcl-iolib+sockets
5554 (package
af5c4eff 5555 (inherit sbcl-iolib+syscalls)
88f06fd0 5556 (name "sbcl-iolib+sockets")
af5c4eff
PN
5557 (inputs
5558 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5559 ("iolib+streams" ,sbcl-iolib+streams)
5560 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5561 (arguments
af5c4eff 5562 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5563 ((#:asd-system-name _) "iolib/sockets")))))
5564
af5c4eff
PN
5565(define-public sbcl-iolib
5566 (package
5567 (inherit sbcl-iolib+syscalls)
5568 (name "sbcl-iolib")
5569 (inputs
5570 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5571 ("iolib+streams" ,sbcl-iolib+streams)
5572 ("iolib+sockets" ,sbcl-iolib+sockets)
5573 ,@(package-inputs sbcl-iolib+syscalls)))
5574 (arguments
5575 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5576 ((#:asd-system-name _) "iolib")))))
5577
5578(define-public cl-iolib
c6201ab9
PN
5579 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5580 (package
5581 (inherit parent)
5582 (propagated-inputs
5583 ;; Need header to compile.
5584 `(("libfixposix" ,libfixposix)
5585 ,@(package-propagated-inputs parent))))))
af5c4eff 5586
88f06fd0
PN
5587(define-public sbcl-ieee-floats
5588 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5589 (revision "1"))
5590 (package
5591 (name "sbcl-ieee-floats")
5592 (build-system asdf-build-system/sbcl)
5593 (version (git-version "20170924" revision commit))
5594 (home-page "https://github.com/marijnh/ieee-floats/")
5595 (source
5596 (origin
5597 (method git-fetch)
5598 (uri (git-reference
5599 (url home-page)
5600 (commit commit)))
5601 (file-name (git-file-name name version))
5602 (sha256
5603 (base32
5604 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5605 (native-inputs
5606 `(("fiveam" ,sbcl-fiveam)))
5607 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
c05181a3 5608 (description "This is a Common Lisp library that converts
88f06fd0
PN
5609floating point values to IEEE 754 binary representation.")
5610 (license license:bsd-3))))
5611
5612(define-public cl-ieee-floats
5613 (sbcl-package->cl-source-package sbcl-ieee-floats))
5614
5615(define sbcl-closure-common
5616 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5617 (revision "1"))
5618 (package
5619 (name "sbcl-closure-common")
5620 (build-system asdf-build-system/sbcl)
5621 (version (git-version "20101006" revision commit))
5622 (home-page "https://common-lisp.net/project/cxml/")
5623 (source
5624 (origin
5625 (method git-fetch)
5626 (uri (git-reference
5627 (url "https://github.com/sharplispers/closure-common")
5628 (commit commit)))
5629 (file-name (git-file-name name version))
5630 (sha256
5631 (base32
5632 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5633 (inputs
5634 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5635 ("babel" ,sbcl-babel)))
5636 (synopsis "Support Common Lisp library for CXML")
5637 (description "Closure-common is an internal helper library. The name
5638Closure is a reference to the web browser it was originally written for.")
5639 ;; TODO: License?
5640 (license #f))))
5641
5642(define-public sbcl-cxml+xml
5643 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5644 (revision "1"))
5645 (package
5646 (name "sbcl-cxml+xml")
5647 (build-system asdf-build-system/sbcl)
5648 (version (git-version "0.0.0" revision commit))
5649 (home-page "https://common-lisp.net/project/cxml/")
5650 (source
5651 (origin
5652 (method git-fetch)
5653 (uri (git-reference
5654 (url "https://github.com/sharplispers/cxml")
5655 (commit commit)))
5656 (file-name (git-file-name name version))
5657 (sha256
5658 (base32
5659 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5660 (inputs
5661 `(("closure-common" ,sbcl-closure-common)
5662 ("puri" ,sbcl-puri)
5663 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5664 (arguments
5665 `(#:asd-file "cxml.asd"
5666 #:asd-system-name "cxml/xml"))
5667 (synopsis "Common Lisp XML parser")
5668 (description "CXML implements a namespace-aware, validating XML 1.0
5669parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5670offered, one SAX-like, the other similar to StAX.")
5671 (license license:llgpl))))
5672
5673(define sbcl-cxml+dom
5674 (package
5675 (inherit sbcl-cxml+xml)
5676 (name "sbcl-cxml+dom")
5677 (inputs
5678 `(("closure-common" ,sbcl-closure-common)
5679 ("puri" ,sbcl-puri)
5680 ("cxml+xml" ,sbcl-cxml+xml)))
5681 (arguments
5682 `(#:asd-file "cxml.asd"
5683 #:asd-system-name "cxml/dom"))))
5684
5685(define sbcl-cxml+klacks
5686 (package
5687 (inherit sbcl-cxml+xml)
5688 (name "sbcl-cxml+klacks")
5689 (inputs
5690 `(("closure-common" ,sbcl-closure-common)
5691 ("puri" ,sbcl-puri)
5692 ("cxml+xml" ,sbcl-cxml+xml)))
5693 (arguments
5694 `(#:asd-file "cxml.asd"
5695 #:asd-system-name "cxml/klacks"))))
5696
5697(define sbcl-cxml+test
5698 (package
5699 (inherit sbcl-cxml+xml)
5700 (name "sbcl-cxml+test")
5701 (inputs
5702 `(("closure-common" ,sbcl-closure-common)
5703 ("puri" ,sbcl-puri)
5704 ("cxml+xml" ,sbcl-cxml+xml)))
5705 (arguments
5706 `(#:asd-file "cxml.asd"
5707 #:asd-system-name "cxml/test"))))
5708
5709(define-public sbcl-cxml
5710 (package
5711 (inherit sbcl-cxml+xml)
5712 (name "sbcl-cxml")
5713 (inputs
5714 `(("closure-common" ,sbcl-closure-common)
5715 ("puri" ,sbcl-puri)
5716 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5717 ("cxml+dom" ,sbcl-cxml+dom)
5718 ("cxml+klacks" ,sbcl-cxml+klacks)
5719 ("cxml+test" ,sbcl-cxml+test)))
5720 (arguments
5721 `(#:asd-file "cxml.asd"
5722 #:asd-system-name "cxml"
5723 #:phases
5724 (modify-phases %standard-phases
5725 (add-after 'build 'install-dtd
5726 (lambda* (#:key outputs #:allow-other-keys)
5727 (install-file "catalog.dtd"
5728 (string-append
5729 (assoc-ref outputs "out")
74fb7f90 5730 "/lib/" (%lisp-type))))))))))
88f06fd0
PN
5731
5732(define-public cl-cxml
5733 (sbcl-package->cl-source-package sbcl-cxml))
5734
5735(define-public sbcl-cl-reexport
5736 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5737 (revision "1"))
5738 (package
5739 (name "sbcl-cl-reexport")
5740 (build-system asdf-build-system/sbcl)
5741 (version (git-version "0.1" revision commit))
5742 (home-page "https://github.com/takagi/cl-reexport")
5743 (source
5744 (origin
5745 (method git-fetch)
5746 (uri (git-reference
5747 (url home-page)
5748 (commit commit)))
5749 (file-name (git-file-name name version))
5750 (sha256
5751 (base32
5752 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5753 (inputs
5754 `(("alexandria" ,sbcl-alexandria)))
5755 (arguments
5756 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5757 `(#:tests? #f))
5758 (synopsis "HTTP cookie manager for Common Lisp")
5759 (description "cl-cookie is a Common Lisp library featuring parsing of
5760cookie headers, cookie creation, cookie jar creation and more.")
5761 (license license:llgpl))))
5762
5763(define-public cl-reexport
5764 (sbcl-package->cl-source-package sbcl-cl-reexport))
5765
5766(define-public sbcl-cl-cookie
5767 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5768 (revision "1"))
5769 (package
5770 (name "sbcl-cl-cookie")
5771 (build-system asdf-build-system/sbcl)
5772 (version (git-version "0.9.10" revision commit))
5773 (home-page "https://github.com/fukamachi/cl-cookie")
5774 (source
5775 (origin
5776 (method git-fetch)
5777 (uri (git-reference
5778 (url home-page)
5779 (commit commit)))
5780 (file-name (git-file-name name version))
5781 (sha256
5782 (base32
5783 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5784 (inputs
5785 `(("proc-parse" ,sbcl-proc-parse)
5786 ("alexandria" ,sbcl-alexandria)
5787 ("quri" ,sbcl-quri)
5788 ("cl-ppcre" ,sbcl-cl-ppcre)
5789 ("local-time" ,sbcl-local-time)))
5790 (native-inputs
5791 `(("prove-asdf" ,sbcl-prove-asdf)
5792 ("prove" ,sbcl-prove)))
5793 (arguments
5794 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5795 `(#:tests? #f))
5796 (synopsis "HTTP cookie manager for Common Lisp")
5797 (description "cl-cookie is a Common Lisp library featuring parsing of
5798cookie headers, cookie creation, cookie jar creation and more.")
5799 (license license:bsd-2))))
5800
5801(define-public cl-cookie
5802 (sbcl-package->cl-source-package sbcl-cl-cookie))
5803
5804(define-public sbcl-dexador
e067ef95 5805 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
88f06fd0
PN
5806 (revision "1"))
5807 (package
5808 (name "sbcl-dexador")
5809 (build-system asdf-build-system/sbcl)
e067ef95 5810 (version "0.9.14" )
88f06fd0
PN
5811 (home-page "https://github.com/fukamachi/dexador")
5812 (source
5813 (origin
5814 (method git-fetch)
5815 (uri (git-reference
5816 (url home-page)
5817 (commit commit)))
5818 (file-name (git-file-name name version))
5819 (sha256
5820 (base32
e067ef95 5821 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
88f06fd0
PN
5822 (inputs
5823 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5824 ("babel" ,sbcl-babel)
5825 ("usocket" ,sbcl-usocket)
5826 ("fast-http" ,sbcl-fast-http)
5827 ("quri" ,sbcl-quri)
5828 ("fast-io" ,sbcl-fast-io)
5829 ("chunga" ,sbcl-chunga)
5830 ("cl-ppcre" ,sbcl-cl-ppcre)
5831 ("cl-cookie" ,sbcl-cl-cookie)
5832 ("trivial-mimes" ,sbcl-trivial-mimes)
5833 ("chipz" ,sbcl-chipz)
5834 ("cl-base64" ,sbcl-cl-base64)
5835 ("cl-reexport" ,sbcl-cl-reexport)
5836 ("cl+ssl" ,sbcl-cl+ssl)
5837 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5838 ("alexandria" ,sbcl-alexandria)))
5839 (native-inputs
5840 `(("prove" ,sbcl-prove)
5841 ("prove-asdf" ,sbcl-prove-asdf)
5842 ("lack-request" ,sbcl-lack-request)
5843 ("clack" ,sbcl-clack)
5844 ("babel" ,sbcl-babel)
5845 ("alexandria" ,sbcl-alexandria)
5846 ("cl-ppcre" ,sbcl-cl-ppcre)
e067ef95
PN
5847 ("local-time" ,sbcl-local-time)
5848 ("trivial-features" ,sbcl-trivial-features)))
88f06fd0
PN
5849 (arguments
5850 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5851 `(#:tests? #f
5852 #:phases
5853 (modify-phases %standard-phases
5854 (add-after 'unpack 'fix-permissions
5855 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5856 (synopsis "Yet another HTTP client for Common Lisp")
5857 (description "Dexador is yet another HTTP client for Common Lisp with
5858neat APIs and connection-pooling. It is meant to supersede Drakma.")
5859 (license license:expat))))
5860
5861(define-public cl-dexador
5862 (package
5863 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5864 (arguments
5865 `(#:phases
5866 ;; asdf-build-system/source has its own phases and does not inherit
5867 ;; from asdf-build-system/sbcl phases.
5868 (modify-phases %standard-phases/source
09db7f39
PN
5869 ;; Already done in SBCL package.
5870 (delete 'reset-gzip-timestamps))))))
88f06fd0
PN
5871
5872(define-public ecl-dexador
5873 (sbcl-package->ecl-package sbcl-dexador))
5874
5875(define-public sbcl-lisp-namespace
5876 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5877 (revision "1"))
5878 (package
5879 (name "sbcl-lisp-namespace")
5880 (build-system asdf-build-system/sbcl)
5881 (version (git-version "0.1" revision commit))
5882 (home-page "https://github.com/guicho271828/lisp-namespace")
5883 (source
5884 (origin
5885 (method git-fetch)
5886 (uri (git-reference
5887 (url home-page)
5888 (commit commit)))
5889 (file-name (git-file-name name version))
5890 (sha256
5891 (base32
5892 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5893 (inputs
5894 `(("alexandria" ,sbcl-alexandria)))
5895 (native-inputs
5896 `(("fiveam" ,sbcl-fiveam)))
5897 (arguments
5898 `(#:test-asd-file "lisp-namespace.test.asd"
5899 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5900 #:tests? #f))
5901 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5902 (description "Common Lisp already has major 2 namespaces, function
5903namespace and value namespace (or variable namespace), but there are actually
5904more — e.g., class namespace.
5905This library offers macros to deal with symbols from any namespace.")
5906 (license license:llgpl))))
5907
5908(define-public cl-lisp-namespace
5909 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5910
5911(define-public sbcl-trivial-cltl2
36ceab7d
PN
5912 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5913 (revision "2"))
88f06fd0
PN
5914 (package
5915 (name "sbcl-trivial-cltl2")
5916 (build-system asdf-build-system/sbcl)
5917 (version (git-version "0.1.1" revision commit))
5918 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5919 (source
5920 (origin
5921 (method git-fetch)
5922 (uri (git-reference
5923 (url home-page)
5924 (commit commit)))
5925 (file-name (git-file-name name version))
5926 (sha256
5927 (base32
36ceab7d 5928 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
88f06fd0
PN
5929 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5930 (description "This library is a portable compatibility layer around
5931\"Common Lisp the Language, 2nd
5932Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5933and it exports symbols from implementation-specific packages.")
5934 (license license:llgpl))))
5935
5936(define-public cl-trivial-cltl2
5937 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5938
5939(define-public sbcl-introspect-environment
5940 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5941 (revision "1"))
5942 (package
5943 (name "sbcl-introspect-environment")
5944 (build-system asdf-build-system/sbcl)
5945 (version (git-version "0.1" revision commit))
5946 (home-page "https://github.com/Bike/introspect-environment")
5947 (source
5948 (origin
5949 (method git-fetch)
5950 (uri (git-reference
5951 (url home-page)
5952 (commit commit)))
5953 (file-name (git-file-name name version))
5954 (sha256
5955 (base32
5956 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5957 (native-inputs
5958 `(("fiveam" ,sbcl-fiveam)))
5959 (synopsis "Common Lisp environment introspection portability layer")
5960 (description "This library is a small interface to portable but
5961nonstandard introspection of Common Lisp environments. It is intended to
5962allow a bit more compile-time introspection of environments in Common Lisp.
5963
5964Quite a bit of information is available at the time a macro or compiler-macro
5965runs; inlining info, type declarations, that sort of thing. This information
5966is all standard - any Common Lisp program can @code{(declare (integer x))} and
5967such.
5968
5969This info ought to be accessible through the standard @code{&environment}
5970parameters, but it is not. Several implementations keep the information for
5971their own purposes but do not make it available to user programs, because
5972there is no standard mechanism to do so.
5973
5974This library uses implementation-specific hooks to make information available
5975to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5976implementations have implementations of the functions that do as much as they
5977can and/or provide reasonable defaults.")
5978 (license license:wtfpl2))))
5979
5980(define-public cl-introspect-environment
5981 (sbcl-package->cl-source-package sbcl-introspect-environment))
5982
5983(define-public sbcl-type-i
758f32af
PN
5984 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5985 (revision "2"))
88f06fd0
PN
5986 (package
5987 (name "sbcl-type-i")
5988 (build-system asdf-build-system/sbcl)
5989 (version (git-version "0.1" revision commit))
5990 (home-page "https://github.com/guicho271828/type-i")
5991 (source
5992 (origin
5993 (method git-fetch)
5994 (uri (git-reference
5995 (url home-page)
5996 (commit commit)))
5997 (file-name (git-file-name name version))
5998 (sha256
5999 (base32
758f32af 6000 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
88f06fd0
PN
6001 (inputs
6002 `(("alexandria" ,sbcl-alexandria)
6003 ("introspect-environment" ,sbcl-introspect-environment)
6004 ("trivia.trivial" ,sbcl-trivia.trivial)))
6005 (native-inputs
6006 `(("fiveam" ,sbcl-fiveam)))
6007 (arguments
6008 `(#:test-asd-file "type-i.test.asd"))
6009 (synopsis "Type inference utility on unary predicates for Common Lisp")
6010 (description "This library tries to provide a way to detect what kind of
6011type the given predicate is trying to check. This is different from inferring
6012the return type of a function.")
6013 (license license:llgpl))))
6014
6015(define-public cl-type-i
6016 (sbcl-package->cl-source-package sbcl-type-i))
6017
6018(define-public sbcl-optima
6019 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6020 (revision "1"))
6021 (package
6022 (name "sbcl-optima")
6023 (build-system asdf-build-system/sbcl)
6024 (version (git-version "1.0" revision commit))
6025 (home-page "https://github.com/m2ym/optima")
6026 (source
6027 (origin
6028 (method git-fetch)
6029 (uri (git-reference
6030 (url home-page)
6031 (commit commit)))
6032 (file-name (git-file-name name version))
6033 (sha256
6034 (base32
6035 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6036 (inputs
6037 `(("alexandria" ,sbcl-alexandria)
6038 ("closer-mop" ,sbcl-closer-mop)))
6039 (native-inputs
6040 `(("eos" ,sbcl-eos)))
6041 (arguments
6042 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6043 `(#:tests? #f
6044 #:test-asd-file "optima.test.asd"))
6045 (synopsis "Optimized pattern matching library for Common Lisp")
6046 (description "Optima is a fast pattern matching library which uses
6047optimizing techniques widely used in the functional programming world.")
6048 (license license:expat))))
6049
6050(define-public cl-optima
6051 (sbcl-package->cl-source-package sbcl-optima))
6052
6053(define-public sbcl-fare-quasiquote
639b47e6
GLV
6054 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6055 (revision "1"))
6056 (package
6057 (name "sbcl-fare-quasiquote")
6058 (build-system asdf-build-system/sbcl)
6059 (version (git-version "1.0.1" revision commit))
6060 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6061 (source
6062 (origin
6063 (method git-fetch)
6064 (uri (git-reference
6065 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6066 "fare-quasiquote.git"))
6067 (commit commit)))
6068 (file-name (git-file-name name version))
6069 (sha256
6070 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6071 (inputs
6072 `(("fare-utils" ,sbcl-fare-utils)))
6073 (arguments
6074 ;; XXX: Circular dependencies: Tests depend on subsystems,
6075 ;; which depend on the main systems.
6076 `(#:tests? #f
6077 #:phases
6078 (modify-phases %standard-phases
6079 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6080 ;; commits after 1.0.0.5, but ASDF fails to read the
6081 ;; "-REVISION-COMMIT" part generated by Guix.
6082 (add-after 'unpack 'patch-requirement
6083 (lambda _
6084 (substitute* "fare-quasiquote.asd"
6085 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6086 "\"fare-utils\"")))))))
6087 (synopsis "Pattern-matching friendly implementation of quasiquote")
6088 (description "The main purpose of this n+2nd reimplementation of
88f06fd0
PN
6089quasiquote is enable matching of quasiquoted patterns, using Optima or
6090Trivia.")
639b47e6 6091 (license license:expat))))
88f06fd0
PN
6092
6093(define-public cl-fare-quasiquote
6094 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6095
6096(define-public sbcl-fare-quasiquote-optima
6097 (package
6098 (inherit sbcl-fare-quasiquote)
6099 (name "sbcl-fare-quasiquote-optima")
6100 (inputs
6101 `(("optima" ,sbcl-optima)
6102 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
6103 (arguments
6104 '(#:phases
6105 (modify-phases %standard-phases
6106 (add-after 'unpack 'patch-requirement
6107 (lambda _
6108 (substitute* "fare-quasiquote-optima.asd"
6109 (("\\(:version \"optima\" \"1\\.0\"\\)")
6110 "\"optima\""))
6111 #t)))))))
6112
6113(define-public cl-fare-quasiquote-optima
6114 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
6115
6116(define-public sbcl-fare-quasiquote-readtable
6117 (package
6118 (inherit sbcl-fare-quasiquote)
6119 (name "sbcl-fare-quasiquote-readtable")
6120 (inputs
6121 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
6122 ("named-readtables" ,sbcl-named-readtables)))
6123 (description "The main purpose of this n+2nd reimplementation of
6124quasiquote is enable matching of quasiquoted patterns, using Optima or
6125Trivia.
6126
6127This package uses fare-quasiquote with named-readtable.")))
6128
6129(define-public cl-fare-quasiquote-readtable
6130 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
6131
a5263200
GLV
6132(define-public sbcl-fare-quasiquote-extras
6133 (package
6134 (inherit sbcl-fare-quasiquote)
6135 (name "sbcl-fare-quasiquote-extras")
6136 (build-system asdf-build-system/sbcl)
6137 (inputs
6138 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
6139 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6140 (arguments
6141 `(#:phases
6142 (modify-phases %standard-phases
6143 (replace 'build
6144 (lambda* (#:key outputs #:allow-other-keys)
6145 (let* ((out (assoc-ref outputs "out"))
6146 (lib (string-append out "/lib/" (%lisp-type))))
6147 (mkdir-p lib)
6148 (install-file "fare-quasiquote-extras.asd" lib)
0f46c5f5
GLV
6149 (make-file-writable
6150 (string-append lib "/fare-quasiquote-extras.asd"))
7432a419 6151 #t))))))
a5263200
GLV
6152 (description "This library combines @code{fare-quasiquote-readtable} and
6153@code{fare-quasiquote-optima}.")))
6154
88f06fd0
PN
6155(define-public cl-fare-quasiquote-extras
6156 (package
6157 (inherit cl-fare-quasiquote)
6158 (name "cl-fare-quasiquote-extras")
6159 (build-system asdf-build-system/source)
6160 (propagated-inputs
6161 `(("fare-quasiquote" ,cl-fare-quasiquote)
6162 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6163 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6164 (description "This library combines @code{fare-quasiquote-readtable} and
6165@code{fare-quasiquote-optima}.")))
6166
6167(define-public sbcl-trivia.level0
ba69e6e6
PN
6168 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
6169 (revision "2"))
88f06fd0
PN
6170 (package
6171 (name "sbcl-trivia.level0")
6172 (build-system asdf-build-system/sbcl)
6173 (version (git-version "0.0.0" revision commit))
6174 (home-page "https://github.com/guicho271828/trivia")
6175 (source
6176 (origin
6177 (method git-fetch)
6178 (uri (git-reference
6179 (url home-page)
6180 (commit commit)))
6181 (file-name (git-file-name name version))
6182 (sha256
6183 (base32
ba69e6e6 6184 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
88f06fd0
PN
6185 (inputs
6186 `(("alexandria" ,sbcl-alexandria)))
6187 (synopsis "Pattern matching in Common Lisp")
6188 (description "Trivia is a pattern matching compiler that is compatible
6189with Optima, another pattern matching library for Common Lisp. It is meant to
6190be faster and more extensible than Optima.")
6191 (license license:llgpl))))
6192
6193(define-public sbcl-trivia.level1
6194 (package
6195 (inherit sbcl-trivia.level0)
6196 (name "sbcl-trivia.level1")
6197 (inputs
6198 `(("trivia.level0" ,sbcl-trivia.level0)))
6199 (description "Trivia is a pattern matching compiler that is compatible
6200with Optima, another pattern matching library for Common Lisp. It is meant to
6201be faster and more extensible than Optima.
6202
6203This system contains the core patterns of Trivia.")))
6204
6205(define-public sbcl-trivia.level2
6206 (package
6207 (inherit sbcl-trivia.level0)
6208 (name "sbcl-trivia.level2")
6209 (inputs
6210 `(("trivia.level1" ,sbcl-trivia.level1)
6211 ("lisp-namespace" ,sbcl-lisp-namespace)
6212 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6213 ("closer-mop" ,sbcl-closer-mop)))
6214 (description "Trivia is a pattern matching compiler that is compatible
6215with Optima, another pattern matching library for Common Lisp. It is meant to
6216be faster and more extensible than Optima.
6217
6218This system contains a non-optimized pattern matcher compatible with Optima,
6219with extensible optimizer interface.")))
6220
6221(define-public sbcl-trivia.trivial
6222 (package
6223 (inherit sbcl-trivia.level0)
6224 (name "sbcl-trivia.trivial")
6225 (inputs
6226 `(("trivia.level2" ,sbcl-trivia.level2)))
88f06fd0
PN
6227 (description "Trivia is a pattern matching compiler that is compatible
6228with Optima, another pattern matching library for Common Lisp. It is meant to
6229be faster and more extensible than Optima.
6230
6231This system contains the base level system of Trivia with a trivial optimizer.")))
6232
6233(define-public sbcl-trivia.balland2006
6234 (package
6235 (inherit sbcl-trivia.level0)
6236 (name "sbcl-trivia.balland2006")
6237 (inputs
6238 `(("trivia.trivial" ,sbcl-trivia.trivial)
6239 ("iterate" ,sbcl-iterate)
6240 ("type-i" ,sbcl-type-i)
6241 ("alexandria" ,sbcl-alexandria)))
6242 (arguments
6243 ;; Tests are done in trivia itself.
6244 `(#:tests? #f))
6245 (description "Trivia is a pattern matching compiler that is compatible
6246with Optima, another pattern matching library for Common Lisp. It is meant to
6247be faster and more extensible than Optima.
6248
6249This system contains the base level system of Trivia with a trivial optimizer.")))
6250
6251(define-public sbcl-trivia.ppcre
6252 (package
6253 (inherit sbcl-trivia.level0)
6254 (name "sbcl-trivia.ppcre")
6255 (inputs
6256 `(("trivia.trivial" ,sbcl-trivia.trivial)
6257 ("cl-ppcre" ,sbcl-cl-ppcre)))
6258 (description "Trivia is a pattern matching compiler that is compatible
6259with Optima, another pattern matching library for Common Lisp. It is meant to
6260be faster and more extensible than Optima.
6261
6262This system contains the PPCRE extension.")))
6263
6264(define-public sbcl-trivia.quasiquote
6265 (package
6266 (inherit sbcl-trivia.level0)
6267 (name "sbcl-trivia.quasiquote")
6268 (inputs
6269 `(("trivia.trivial" ,sbcl-trivia.trivial)
6270 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6271 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6272 (description "Trivia is a pattern matching compiler that is compatible
6273with Optima, another pattern matching library for Common Lisp. It is meant to
6274be faster and more extensible than Optima.
6275
6276This system contains the fare-quasiquote extension.")))
6277
6278(define-public sbcl-trivia.cffi
6279 (package
6280 (inherit sbcl-trivia.level0)
6281 (name "sbcl-trivia.cffi")
6282 (inputs
6283 `(("cffi" ,sbcl-cffi)
6284 ("trivia.trivial" ,sbcl-trivia.trivial)))
6285 (description "Trivia is a pattern matching compiler that is compatible
6286with Optima, another pattern matching library for Common Lisp. It is meant to
6287be faster and more extensible than Optima.
6288
6289This system contains the CFFI foreign slot access extension.")))
6290
6291(define-public sbcl-trivia
6292 (package
6293 (inherit sbcl-trivia.level0)
6294 (name "sbcl-trivia")
6295 (inputs
6296 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6297 (native-inputs
6298 `(("fiveam" ,sbcl-fiveam)
6299 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6300 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6301 ("trivia.cffi" ,sbcl-trivia.cffi)
6302 ("optima" ,sbcl-optima)))
6303 (arguments
797f43af 6304 `(#:test-asd-file "trivia.test.asd"))
88f06fd0
PN
6305 (description "Trivia is a pattern matching compiler that is compatible
6306with Optima, another pattern matching library for Common Lisp. It is meant to
6307be faster and more extensible than Optima.")))
6308
6309(define-public cl-trivia
6310 (sbcl-package->cl-source-package sbcl-trivia))
6311
6312(define-public sbcl-mk-string-metrics
6313 (package
6314 (name "sbcl-mk-string-metrics")
6315 (version "0.1.2")
6316 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6317 (source (origin
6318 (method git-fetch)
6319 (uri (git-reference
6320 (url home-page)
6321 (commit version)))
6322 (sha256
6323 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6324 (file-name (git-file-name name version))))
6325 (build-system asdf-build-system/sbcl)
6326 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6327 (description "This library implements efficient algorithms that calculate
6328various string metrics in Common Lisp:
6329
6330@itemize
6331@item Damerau-Levenshtein distance
6332@item Hamming distance
6333@item Jaccard similarity coefficient
6334@item Jaro distance
6335@item Jaro-Winkler distance
6336@item Levenshtein distance
6337@item Normalized Damerau-Levenshtein distance
6338@item Normalized Levenshtein distance
6339@item Overlap coefficient
6340@end itemize\n")
6341 (license license:x11)))
6342
6343(define-public cl-mk-string-metrics
6344 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6345
6346(define-public sbcl-cl-str
7cb4c521 6347 (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a"))
88f06fd0
PN
6348 (package
6349 (name "sbcl-cl-str")
7cb4c521 6350 (version (git-version "0.17" "1" commit))
88f06fd0
PN
6351 (home-page "https://github.com/vindarel/cl-str")
6352 (source (origin
6353 (method git-fetch)
6354 (uri (git-reference
6355 (url home-page)
6356 (commit commit)))
6357 (sha256
7cb4c521 6358 (base32 "1hpq5m8zjjnzns370zy27z2vcm1p8n2ka5ij2x67gyc9amz9vla0"))
88f06fd0
PN
6359 (file-name (git-file-name name version))))
6360 (build-system asdf-build-system/sbcl)
6361 (inputs
6362 `(("cl-ppcre" ,sbcl-cl-ppcre)
7cb4c521
PN
6363 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6364 ("cl-change-case" ,sbcl-cl-change-case)))
88f06fd0
PN
6365 (native-inputs
6366 `(("prove" ,sbcl-prove)
6367 ("prove-asdf" ,sbcl-prove-asdf)))
6368 (arguments
6369 `(#:asd-file "str.asd"
6370 #:asd-system-name "str"
6371 #:test-asd-file "str.test.asd"))
6372 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6373 (description "A modern and consistent Common Lisp string manipulation
6374library that focuses on modernity, simplicity and discoverability:
6375@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6376@code{str:concat strings} instead of an unusual format construct; one
6377discoverable library instead of many; consistency and composability, where
6378@code{s} is always the last argument, which makes it easier to feed pipes and
6379arrows.")
6380 (license license:expat))))
6381
6382(define-public cl-str
6383 (sbcl-package->cl-source-package sbcl-cl-str))
6384
6385(define-public sbcl-cl-xmlspam
6386 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6387 (package
6388 (name "sbcl-cl-xmlspam")
6389 (build-system asdf-build-system/sbcl)
6390 (version (git-version "0.0.0" "1" commit))
6391 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6392 (source
6393 (origin
6394 (method git-fetch)
6395 (uri (git-reference
6396 (url home-page)
6397 (commit commit)))
6398 (file-name (string-append name "-" version))
6399 (sha256
6400 (base32
6401 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6402 (inputs
6403 `(("cxml" ,sbcl-cxml)
6404 ("cl-ppcre" ,sbcl-cl-ppcre)))
6405 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6406 (description "CXML does an excellent job at parsing XML elements, but what
6407do you do when you have a XML file that's larger than you want to fit in
6408memory, and you want to extract some information from it? Writing code to deal
6409with SAX events, or even using Klacks, quickly becomes tedious.
6410@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6411to write code that mirrors the structure of the XML that it's parsing. It
6412also makes it easy to shift paradigms when necessary - the usual Lisp control
6413constructs can be used interchangeably with pattern matching, and the full
6414power of CXML is available when necessary.")
6415 (license license:bsd-3))))
6416
6417;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6418;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6419;; asdf-build-system/sbcl.
6420(define-public cl-dbus
6421 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6422 (revision "1"))
6423 (package
6424 (name "cl-dbus")
6425 (build-system asdf-build-system/source)
6426 (version (git-version "20190408" revision commit))
6427 (home-page "https://github.com/death/dbus")
6428 (source
6429 (origin
6430 (method git-fetch)
6431 (uri (git-reference
6432 (url home-page)
6433 (commit commit)))
6434 (file-name (git-file-name name version))
6435 (sha256
6436 (base32
6437 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
0bc557fd
PN
6438 ;; Inputs must be propagated or else packages depending on this won't
6439 ;; have the necessary packages.
88f06fd0
PN
6440 (propagated-inputs
6441 `(("alexandria" ,sbcl-alexandria)
6442 ("trivial-garbage" ,sbcl-trivial-garbage)
6443 ("babel" ,sbcl-babel)
6444 ("iolib" ,sbcl-iolib)
88f06fd0
PN
6445 ("ieee-floats" ,sbcl-ieee-floats)
6446 ("flexi-streams" ,sbcl-flexi-streams)
6447 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6448 ("ironclad" ,sbcl-ironclad)))
6449 (synopsis "D-Bus client library for Common Lisp")
104b1bde 6450 (description "This is a Common Lisp library that publishes D-Bus
88f06fd0
PN
6451objects as well as send and notify other objects connected to a bus.")
6452 (license license:bsd-2))))
6453
6454(define-public sbcl-cl-hooks
6455 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6456 (revision "1"))
6457 (package
6458 (name "sbcl-cl-hooks")
6459 (build-system asdf-build-system/sbcl)
6460 (version (git-version "0.2.1" revision commit))
6461 (home-page "https://github.com/scymtym/architecture.hooks")
6462 (source
6463 (origin
6464 (method git-fetch)
6465 (uri (git-reference
6466 (url home-page)
6467 (commit commit)))
6468 (file-name (git-file-name name version))
6469 (sha256
6470 (base32
6471 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6472 (inputs
6473 `(("alexandria" ,sbcl-alexandria)
6474 ("let-plus" ,sbcl-let-plus)
6475 ("trivial-garbage" ,sbcl-trivial-garbage)
6476 ("closer-mop" ,sbcl-closer-mop)))
6477 (native-inputs
6478 `(("fiveam" ,sbcl-fiveam)))
6479 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6480 (description "A hook, in the present context, is a certain kind of
6481extension point in a program that allows interleaving the execution of
6482arbitrary code with the execution of a the program without introducing any
6483coupling between the two. Hooks are used extensively in the extensible editor
6484Emacs.
6485
6486In the Common LISP Object System (CLOS), a similar kind of extensibility is
6487possible using the flexible multi-method dispatch mechanism. It may even seem
6488that the concept of hooks does not provide any benefits over the possibilities
6489of CLOS. However, there are some differences:
6490
6491@itemize
6492
6493@item There can be only one method for each combination of specializers and
6494qualifiers. As a result this kind of extension point cannot be used by
6495multiple extensions independently.
6496@item Removing code previously attached via a @code{:before}, @code{:after} or
6497@code{:around} method can be cumbersome.
6498@item There could be other or even multiple extension points besides @code{:before}
6499and @code{:after} in a single method.
6500@item Attaching codes to individual objects using eql specializers can be
6501cumbersome.
6502@item Introspection of code attached a particular extension point is
6503cumbersome since this requires enumerating and inspecting the methods of a
6504generic function.
6505@end itemize
6506
6507This library tries to complement some of these weaknesses of method-based
6508extension-points via the concept of hooks.")
6509 (license license:llgpl))))
6510
6511(define-public cl-hooks
6512 (sbcl-package->cl-source-package sbcl-cl-hooks))
6513
6514(define-public ecl-cl-hooks
6515 (sbcl-package->ecl-package sbcl-cl-hooks))
6516
6517(define-public sbcl-s-sysdeps
bdfd1d18
PN
6518 ;; No release since 2013.
6519 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6520 (revision "2"))
88f06fd0
PN
6521 (package
6522 (name "sbcl-s-sysdeps")
6523 (build-system asdf-build-system/sbcl)
6524 (version (git-version "1" revision commit))
6525 (home-page "https://github.com/svenvc/s-sysdeps")
6526 (source
6527 (origin
6528 (method git-fetch)
6529 (uri (git-reference
6530 (url home-page)
6531 (commit commit)))
6532 (file-name (git-file-name name version))
6533 (sha256
6534 (base32
bdfd1d18
PN
6535 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6536 (inputs
6537 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6538 ("usocket" ,sbcl-usocket)
6539 ("usocket-server" ,sbcl-usocket-server)))
88f06fd0
PN
6540 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6541 (description "@code{s-sysdeps} is an abstraction layer over platform
6542dependent functionality. This simple package is used as a building block in a
6543number of other open source projects.
6544
6545@code{s-sysdeps} abstracts:
6546
6547@itemize
6548@item managing processes,
6549@item implementing a standard TCP/IP server,
6550@item opening a client TCP/IP socket stream,
6551@item working with process locks.
6552@end itemize\n")
6553 (license license:llgpl))))
6554
6555(define-public cl-s-sysdeps
6556 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6557
6558(define-public ecl-s-sysdeps
6559 (sbcl-package->ecl-package sbcl-s-sysdeps))
6560
6561(define-public sbcl-cl-prevalence
419db900
PN
6562 (let ((commit "1e5f030d94237b33d20947a2f6c194abedb10727")
6563 (revision "3"))
88f06fd0
PN
6564 (package
6565 (name "sbcl-cl-prevalence")
6566 (build-system asdf-build-system/sbcl)
6567 (version (git-version "5" revision commit))
6568 (home-page "https://github.com/40ants/cl-prevalence")
6569 (source
6570 (origin
6571 (method git-fetch)
6572 (uri (git-reference
6573 (url home-page)
6574 (commit commit)))
6575 (file-name (git-file-name name version))
6576 (sha256
6577 (base32
419db900 6578 "13yb8lv2aap5wvqa6hw7ms31xnax58f4m2nxifkssrzkb2w2qf29"))))
88f06fd0
PN
6579 (inputs
6580 `(("s-sysdeps" ,sbcl-s-sysdeps)
6581 ("s-xml" ,sbcl-s-xml)))
419db900
PN
6582 (native-inputs
6583 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
6584 (synopsis "Implementation of object prevalence for Common Lisp")
6585 (description "This Common Lisp library implements object prevalence (see
6586@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6587for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6588classes and cyclic data structures are supported.")
6589 (license license:llgpl))))
6590
6591(define-public cl-prevalence
6592 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6593
6594(define-public ecl-cl-prevalence
6595 (sbcl-package->ecl-package sbcl-cl-prevalence))
6596
6597(define-public sbcl-series
6598 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6599 (revision "1"))
6600 (package
6601 (name "sbcl-series")
6602 (version (git-version "2.2.11" revision commit))
6603 (source
6604 (origin
6605 (method git-fetch)
6606 (uri (git-reference
6607 (url "git://git.code.sf.net/p/series/series")
6608 (commit commit)))
6609 (file-name (git-file-name name version))
6610 (sha256
6611 (base32
6612 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6613 (build-system asdf-build-system/sbcl)
6614 (arguments
6615 ;; Disable the tests, they are apparently buggy and I didn't find
6616 ;; a simple way to make them run and pass.
6617 '(#:tests? #f))
6618 (synopsis "Series data structure for Common Lisp")
6619 (description
6620 "This Common Lisp library provides a series data structure much like
6621a sequence, with similar kinds of operations. The difference is that in many
6622situations, operations on series may be composed functionally and yet execute
6623iteratively, without the need to construct intermediate series values
6624explicitly. In this manner, series provide both the clarity of a functional
6625programming style and the efficiency of an iterative programming style.")
6626 (home-page "http://series.sourceforge.net/")
6627 (license license:expat))))
6628
6629(define-public cl-series
6630 (sbcl-package->cl-source-package sbcl-series))
6631
6632(define-public ecl-series
6633 (sbcl-package->ecl-package sbcl-series))
6634
6635(define-public sbcl-periods
6636 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6637 (revision "1"))
6638 (package
6639 (name "sbcl-periods")
6640 (version (git-version "0.0.2" revision commit))
6641 (source
6642 (origin
6643 (method git-fetch)
6644 (uri (git-reference
b0e7b699 6645 (url "https://github.com/jwiegley/periods")
88f06fd0
PN
6646 (commit commit)))
6647 (file-name (git-file-name name version))
6648 (sha256
6649 (base32
6650 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6651 (build-system asdf-build-system/sbcl)
6652 (inputs
6653 `(("local-time" ,sbcl-local-time)))
6654 (synopsis "Common Lisp library for manipulating date/time objects")
6655 (description
6656 "Periods is a Common Lisp library providing a set of utilities for
6657manipulating times, distances between times, and both contiguous and
6658discontiguous ranges of time.")
6659 (home-page "https://github.com/jwiegley/periods")
6660 (license license:bsd-3))))
6661
6662(define-public cl-periods
6663 (sbcl-package->cl-source-package sbcl-periods))
6664
6665(define-public ecl-periods
6666 (sbcl-package->ecl-package sbcl-periods))
6667
6668(define-public sbcl-periods-series
6669 (package
6670 (inherit sbcl-periods)
6671 (name "sbcl-periods-series")
6672 (inputs
6673 `(("periods" ,sbcl-periods)
6674 ("series" ,sbcl-series)))
6675 (arguments
6676 '(#:asd-file "periods-series.asd"
6677 #:asd-system-name "periods-series"))
6678 (description
6679 "Periods-series is an extension of the periods Common Lisp library
6680providing functions compatible with the series Common Lisp library.")))
6681
6682(define-public cl-periods-series
6683 (sbcl-package->cl-source-package sbcl-periods-series))
6684
6685(define-public ecl-periods-series
6686 (sbcl-package->ecl-package sbcl-periods-series))
6687
6688(define-public sbcl-metatilities-base
6689 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6690 (revision "1"))
6691 (package
6692 (name "sbcl-metatilities-base")
6693 (version (git-version "0.6.6" revision commit))
6694 (source
6695 (origin
6696 (method git-fetch)
6697 (uri (git-reference
b0e7b699 6698 (url "https://github.com/gwkkwg/metatilities-base")
88f06fd0
PN
6699 (commit commit)))
6700 (file-name (git-file-name name version))
6701 (sha256
6702 (base32
6703 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6704 (build-system asdf-build-system/sbcl)
6705 (native-inputs
6706 `(("lift" ,sbcl-lift)))
6707 (synopsis "Core of the metatilities Common Lisp library")
6708 (description
6709 "Metatilities-base is the core of the metatilities Common Lisp library
6710which implements a set of utilities.")
6711 (home-page "https://common-lisp.net/project/metatilities-base/")
6712 (license license:expat))))
6713
6714(define-public cl-metatilities-base
6715 (sbcl-package->cl-source-package sbcl-metatilities-base))
6716
6717(define-public ecl-metatilities-base
6718 (sbcl-package->ecl-package sbcl-metatilities-base))
6719
6720(define-public sbcl-cl-containers
0ad6ecb8
PN
6721 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6722 (revision "3"))
88f06fd0
PN
6723 (package
6724 (name "sbcl-cl-containers")
6725 (version (git-version "0.12.1" revision commit))
6726 (source
6727 (origin
6728 (method git-fetch)
6729 (uri (git-reference
b0e7b699 6730 (url "https://github.com/gwkkwg/cl-containers")
88f06fd0
PN
6731 (commit commit)))
6732 (file-name (git-file-name name version))
6733 (sha256
6734 (base32
0ad6ecb8 6735 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
88f06fd0
PN
6736 (build-system asdf-build-system/sbcl)
6737 (native-inputs
6738 `(("lift" ,sbcl-lift)))
6739 (inputs
6740 `(("metatilities-base" ,sbcl-metatilities-base)))
6741 (arguments
6742 '(#:phases
6743 (modify-phases %standard-phases
6744 (add-after 'unpack 'relax-version-checks
6745 (lambda _
6746 (substitute* "cl-containers.asd"
6747 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6748 "\"metatilities-base\""))
6749 (substitute* "cl-containers-test.asd"
6750 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6751 "\"lift\""))
6752 #t)))))
6753 (synopsis "Container library for Common Lisp")
6754 (description
6755 "Common Lisp ships with a set of powerful built in data structures
6756including the venerable list, full featured arrays, and hash-tables.
6757CL-containers enhances and builds on these structures by adding containers
6758that are not available in native Lisp (for example: binary search trees,
6759red-black trees, sparse arrays and so on), and by providing a standard
6760interface so that they are simpler to use and so that changing design
6761decisions becomes significantly easier.")
6762 (home-page "https://common-lisp.net/project/cl-containers/")
6763 (license license:expat))))
6764
6765(define-public cl-containers
6766 (sbcl-package->cl-source-package sbcl-cl-containers))
6767
6768(define-public ecl-cl-containers
6769 (sbcl-package->ecl-package sbcl-cl-containers))
6770
6771(define-public sbcl-xlunit
6772 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6773 (revision "1"))
6774 (package
6775 (name "sbcl-xlunit")
6776 (version (git-version "0.6.3" revision commit))
6777 (source
6778 (origin
6779 (method git-fetch)
6780 (uri (git-reference
6781 (url "http://git.kpe.io/xlunit.git")
6782 (commit commit)))
6783 (file-name (git-file-name name version))
6784 (sha256
6785 (base32
6786 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6787 (build-system asdf-build-system/sbcl)
6788 (arguments
6789 '(#:phases
6790 (modify-phases %standard-phases
6791 (add-after 'unpack 'fix-tests
6792 (lambda _
6793 (substitute* "xlunit.asd"
6794 ((" :force t") ""))
6795 #t)))))
6796 (synopsis "Unit testing package for Common Lisp")
6797 (description
6798 "The XLUnit package is a toolkit for building test suites. It is based
6799on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6800 (home-page "http://quickdocs.org/xlunit/")
6801 (license license:bsd-3))))
6802
6803(define-public cl-xlunit
6804 (sbcl-package->cl-source-package sbcl-xlunit))
6805
6806(define-public ecl-xlunit
6807 (sbcl-package->ecl-package sbcl-xlunit))
6808
6809(define-public sbcl-fprog
6810 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6811 (revision "1"))
6812 (package
6813 (name "sbcl-fprog")
6814 (version (git-version "1.0.0" revision commit))
6815 (source
6816 (origin
6817 (method git-fetch)
6818 (uri (git-reference
b0e7b699 6819 (url "https://github.com/jwiegley/cambl")
88f06fd0
PN
6820 (commit commit)))
6821 (file-name (git-file-name name version))
6822 (sha256
6823 (base32
6824 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6825 (build-system asdf-build-system/sbcl)
6826 (synopsis "Functional programming utilities for Common Lisp")
6827 (description
6828 "@code{fprog} is a Common Lisp library allowing iteration over
6829immutable lists sharing identical sublists.")
6830 (home-page "https://github.com/jwiegley/cambl")
6831 (license license:bsd-3))))
6832
6833(define-public cl-fprog
6834 (sbcl-package->cl-source-package sbcl-fprog))
6835
6836(define-public ecl-fprog
6837 (sbcl-package->ecl-package sbcl-fprog))
6838
6839(define-public sbcl-cambl
6840 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6841 (revision "1"))
6842 (package
6843 (inherit sbcl-fprog)
6844 (name "sbcl-cambl")
6845 (version (git-version "4.0.0" revision commit))
6846 (native-inputs
6847 `(("xlunit" ,sbcl-xlunit)))
6848 (inputs
6849 `(("alexandria" ,sbcl-alexandria)
6850 ("cl-containers" ,sbcl-cl-containers)
6851 ("local-time" ,sbcl-local-time)
6852 ("periods" ,sbcl-periods)
6853 ("fprog" ,sbcl-fprog)))
6854 (synopsis "Commoditized amounts and balances for Common Lisp")
6855 (description
6856 "CAMBL is a Common Lisp library providing a convenient facility for
6857working with commoditized values. It does not allow compound units (and so is
6858not suited for scientific operations) but does work rather nicely for the
6859purpose of financial calculations."))))
6860
6861(define-public cl-cambl
6862 (sbcl-package->cl-source-package sbcl-cambl))
6863
6864(define-public ecl-cambl
6865 (sbcl-package->ecl-package sbcl-cambl))
6866
6867(define-public sbcl-cl-ledger
6868 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6869 (revision "1"))
6870 (package
6871 (name "sbcl-cl-ledger")
6872 (version (git-version "4.0.0" revision commit))
6873 (source
6874 (origin
6875 (method git-fetch)
6876 (uri (git-reference
b0e7b699 6877 (url "https://github.com/ledger/cl-ledger")
88f06fd0
PN
6878 (commit commit)))
6879 (file-name (git-file-name name version))
6880 (sha256
6881 (base32
6882 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6883 (build-system asdf-build-system/sbcl)
6884 (inputs
6885 `(("cambl" ,sbcl-cambl)
6886 ("cl-ppcre" ,sbcl-cl-ppcre)
6887 ("local-time" ,sbcl-local-time)
6888 ("periods-series" ,sbcl-periods-series)))
6889 (arguments
6890 '(#:phases
6891 (modify-phases %standard-phases
6892 (add-after 'unpack 'fix-system-definition
6893 (lambda _
6894 (substitute* "cl-ledger.asd"
6895 ((" :build-operation program-op") "")
6896 ((" :build-pathname \"cl-ledger\"") "")
6897 ((" :entry-point \"ledger::main\"") ""))
6898 #t)))))
6899 (synopsis "Common Lisp port of the Ledger accounting system")
6900 (description
6901 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6902system.")
6903 (home-page "https://github.com/ledger/cl-ledger")
6904 (license license:bsd-3))))
6905
6906(define-public cl-ledger
6907 (sbcl-package->cl-source-package sbcl-cl-ledger))
6908
6909(define-public ecl-cl-ledger
6910 (sbcl-package->ecl-package sbcl-cl-ledger))
6911
6912(define-public sbcl-bst
6913 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6914 (revision "1"))
6915 (package
6916 (name "sbcl-bst")
6917 (version (git-version "1.1" revision commit))
6918 (source
6919 (origin
6920 (method git-fetch)
6921 (uri (git-reference
b0e7b699 6922 (url "https://github.com/glv2/bst")
88f06fd0
PN
6923 (commit commit)))
6924 (file-name (git-file-name name version))
6925 (sha256
6926 (base32
6927 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6928 (build-system asdf-build-system/sbcl)
6929 (native-inputs
6930 `(("alexandria" ,sbcl-alexandria)
6931 ("fiveam" ,sbcl-fiveam)))
6932 (synopsis "Binary search tree for Common Lisp")
6933 (description
6934 "BST is a Common Lisp library for working with binary search trees that
6935can contain any kind of values.")
6936 (home-page "https://github.com/glv2/bst")
6937 (license license:gpl3))))
6938
6939(define-public cl-bst
6940 (sbcl-package->cl-source-package sbcl-bst))
6941
6942(define-public ecl-bst
6943 (sbcl-package->ecl-package sbcl-bst))
6944
6945(define-public sbcl-cl-octet-streams
6946 (package
6947 (name "sbcl-cl-octet-streams")
6948 (version "1.0")
6949 (source
6950 (origin
6951 (method git-fetch)
6952 (uri (git-reference
b0e7b699 6953 (url "https://github.com/glv2/cl-octet-streams")
88f06fd0
PN
6954 (commit (string-append "v" version))))
6955 (file-name (git-file-name name version))
6956 (sha256
6957 (base32
6958 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6959 (build-system asdf-build-system/sbcl)
6960 (native-inputs
6961 `(("fiveam" ,sbcl-fiveam)))
6962 (inputs
6963 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6964 (synopsis "In-memory octet streams for Common Lisp")
6965 (description
6966 "CL-octet-streams is a library implementing in-memory octet
6967streams for Common Lisp. It was inspired by the trivial-octet-streams and
6968cl-plumbing libraries.")
6969 (home-page "https://github.com/glv2/cl-octet-streams")
6970 (license license:gpl3+)))
6971
6972(define-public cl-octet-streams
6973 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6974
6975(define-public ecl-cl-octet-streams
6976 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6977
6978(define-public sbcl-lzlib
6979 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6980 (revision "1"))
6981 (package
6982 (name "sbcl-lzlib")
6983 (version (git-version "1.0" revision commit))
6984 (source
6985 (origin
6986 (method git-fetch)
6987 (uri (git-reference
b0e7b699 6988 (url "https://github.com/glv2/cl-lzlib")
88f06fd0
PN
6989 (commit commit)))
6990 (file-name (git-file-name name version))
6991 (sha256
6992 (base32
6993 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6994 (build-system asdf-build-system/sbcl)
6995 (native-inputs
6996 `(("fiveam" ,sbcl-fiveam)))
6997 (inputs
6998 `(("cffi" ,sbcl-cffi)
6999 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7000 ("lzlib" ,lzlib)))
7001 (arguments
7002 '(#:phases
7003 (modify-phases %standard-phases
7004 (add-after 'unpack 'fix-paths
7005 (lambda* (#:key inputs #:allow-other-keys)
7006 (substitute* "src/lzlib.lisp"
7007 (("liblz\\.so")
7008 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7009 #t)))))
7010 (synopsis "Common Lisp library for lzip (de)compression")
7011 (description
7012 "This Common Lisp library provides functions for lzip (LZMA)
7013compression/decompression using bindings to the lzlib C library.")
7014 (home-page "https://github.com/glv2/cl-lzlib")
7015 (license license:gpl3+))))
7016
7017(define-public cl-lzlib
7018 (sbcl-package->cl-source-package sbcl-lzlib))
7019
7020(define-public ecl-lzlib
7021 (sbcl-package->ecl-package sbcl-lzlib))
7022
7023(define-public sbcl-chanl
00a9a936
GLV
7024 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7025 (revision "1"))
88f06fd0
PN
7026 (package
7027 (name "sbcl-chanl")
7028 (version (git-version "0.4.1" revision commit))
7029 (source
7030 (origin
7031 (method git-fetch)
7032 (uri (git-reference
b0e7b699 7033 (url "https://github.com/zkat/chanl")
88f06fd0
PN
7034 (commit commit)))
7035 (file-name (git-file-name name version))
7036 (sha256
7037 (base32
00a9a936 7038 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
7039 (build-system asdf-build-system/sbcl)
7040 (native-inputs
7041 `(("fiveam" ,sbcl-fiveam)))
7042 (inputs
7043 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7044 (synopsis "Portable channel-based concurrency for Common Lisp")
7045 (description "Common Lisp library for channel-based concurrency. In
7046a nutshell, you create various threads sequentially executing tasks you need
7047done, and use channel objects to communicate and synchronize the state of these
7048threads.")
7049 (home-page "https://github.com/zkat/chanl")
7050 (license (list license:expat license:bsd-3)))))
7051
7052(define-public cl-chanl
7053 (sbcl-package->cl-source-package sbcl-chanl))
7054
7055(define-public ecl-chanl
00a9a936 7056 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
7057
7058(define-public sbcl-cl-store
1896256d
BG
7059 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7060 (revision "1"))
88f06fd0
PN
7061 (package
7062 (name "sbcl-cl-store")
7063 (version (git-version "0.8.11" revision commit))
7064 (source
7065 (origin
7066 (method git-fetch)
7067 (uri (git-reference
b0e7b699 7068 (url "https://github.com/skypher/cl-store")
88f06fd0
PN
7069 (commit commit)))
7070 (file-name (git-file-name name version))
7071 (sha256
7072 (base32
1896256d 7073 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
7074 (build-system asdf-build-system/sbcl)
7075 (native-inputs
7076 `(("rt" ,sbcl-rt)))
7077 (synopsis "Common Lisp library to serialize data")
7078 (description
7079 "CL-STORE is a portable serialization package which should give you the
7080ability to store all Common Lisp data types into streams.")
630a4b77 7081 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
7082 (license license:expat))))
7083
7084(define-public cl-store
7085 (sbcl-package->cl-source-package sbcl-cl-store))
7086
7087(define-public ecl-cl-store
7088 (sbcl-package->ecl-package sbcl-cl-store))
7089
7090(define-public sbcl-cl-gobject-introspection
7091 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7092 (revision "0"))
7093 (package
7094 (name "sbcl-cl-gobject-introspection")
7095 (version (git-version "0.3" revision commit))
7096 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7097 (source
7098 (origin
7099 (method git-fetch)
7100 (uri (git-reference
7101 (url home-page)
7102 (commit commit)))
7103 (file-name (git-file-name name version))
7104 (sha256
7105 (base32
7106 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7107 (build-system asdf-build-system/sbcl)
7108 (inputs
7109 `(("alexandria" ,sbcl-alexandria)
7110 ("cffi" ,sbcl-cffi)
7111 ("iterate" ,sbcl-iterate)
7112 ("trivial-garbage" ,sbcl-trivial-garbage)
7113 ("glib" ,glib)
7114 ("gobject-introspection" ,gobject-introspection)))
7115 (native-inputs
7116 `(("fiveam" ,sbcl-fiveam)))
7117 (arguments
7118 ;; TODO: Tests fail, see
7119 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7120 '(#:tests? #f
7121 #:phases
7122 (modify-phases %standard-phases
7123 (add-after (quote unpack) (quote fix-paths)
7124 (lambda* (#:key inputs #:allow-other-keys)
7125 (substitute* "src/init.lisp"
7126 (("libgobject-2\\.0\\.so")
7127 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7128 (("libgirepository-1\\.0\\.so")
7129 (string-append (assoc-ref inputs "gobject-introspection")
7130 "/lib/libgirepository-1.0.so")))
7131 #t)))))
7132 (synopsis "Common Lisp bindings to GObject Introspection")
7133 (description
7134 "This library is a bridge between Common Lisp and GObject
7135Introspection, which enables Common Lisp programs to access the full interface
7136of C+GObject libraries without the need of writing dedicated bindings.")
7137 (license (list license:bsd-3
7138 ;; Tests are under a different license.
7139 license:llgpl)))))
7140
7141(define-public cl-gobject-introspection
7142 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7143
7144(define-public sbcl-string-case
7145 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7146 (revision "0"))
7147 (package
7148 (name "sbcl-string-case")
7149 (version (git-version "0.0.2" revision commit))
7150 (home-page "https://github.com/pkhuong/string-case")
7151 (source
7152 (origin
7153 (method git-fetch)
7154 (uri (git-reference
7155 (url home-page)
7156 (commit commit)))
7157 (file-name (git-file-name name version))
7158 (sha256
7159 (base32
7160 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7161 (build-system asdf-build-system/sbcl)
7162 (synopsis "Efficient string= case in Common Lisp")
7163 (description
7164 "@code{string-case} is a Common Lisp macro that generates specialised decision
7165trees to dispatch on string equality.")
7166 (license license:bsd-3))))
7167
7168(define-public cl-string-case
7169 (sbcl-package->cl-source-package sbcl-string-case))
7170
7171(define-public ecl-string-case
7172 (sbcl-package->ecl-package sbcl-string-case))
7173
7174(define-public sbcl-global-vars
7175 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7176 (revision "0"))
7177 (package
7178 (name "sbcl-global-vars")
7179 (version (git-version "1.0.0" revision commit))
7180 (home-page "https://github.com/lmj/global-vars")
7181 (source
7182 (origin
7183 (method git-fetch)
7184 (uri (git-reference
7185 (url home-page)
7186 (commit commit)))
7187 (file-name (git-file-name name version))
7188 (sha256
7189 (base32
7190 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7191 (build-system asdf-build-system/sbcl)
7192 (synopsis "Efficient global variables in Common Lisp")
7193 (description
7194 "In Common Lisp, a special variable that is never dynamically bound
7195typically serves as a stand-in for a global variable. The @code{global-vars}
7196library provides true global variables that are implemented by some compilers.
7197An attempt to rebind a global variable properly results in a compiler error.
7198That is, a global variable cannot be dynamically bound.
7199
7200Global variables therefore allow us to communicate an intended usage that
7201differs from special variables. Global variables are also more efficient than
7202special variables, especially in the presence of threads.")
7203 (license license:expat))))
7204
7205(define-public cl-global-vars
7206 (sbcl-package->cl-source-package sbcl-global-vars))
7207
7208(define-public ecl-global-vars
7209 (sbcl-package->ecl-package sbcl-global-vars))
7210
7211(define-public sbcl-trivial-file-size
7212 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7213 (revision "0"))
7214 (package
7215 (name "sbcl-trivial-file-size")
7216 (version (git-version "0.0.0" revision commit))
7217 (home-page "https://github.com/ruricolist/trivial-file-size")
7218 (source
7219 (origin
7220 (method git-fetch)
7221 (uri (git-reference
7222 (url home-page)
7223 (commit commit)))
7224 (file-name (git-file-name name version))
7225 (sha256
7226 (base32
7227 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7228 (build-system asdf-build-system/sbcl)
7229 (native-inputs
7230 `(("fiveam" ,sbcl-fiveam)))
7231 (synopsis "Size of a file in bytes in Common Lisp")
7232 (description
7233 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7234is to open the file with an element type of (unsigned-byte 8) and then
7235calculate the length of the stream. This is less than ideal. In most cases
7236it is better to get the size of the file from its metadata, using a system
7237call.
7238
7239This library exports a single function, file-size-in-octets. It returns the
7240size of a file in bytes, using system calls when possible.")
7241 (license license:expat))))
7242
7243(define-public cl-trivial-file-size
7244 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7245
7246(define-public ecl-trivial-file-size
7247 (sbcl-package->ecl-package sbcl-trivial-file-size))
7248
7249(define-public sbcl-trivial-macroexpand-all
7250 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7251 (revision "0"))
7252 (package
7253 (name "sbcl-trivial-macroexpand-all")
7254 (version (git-version "0.0.0" revision commit))
7255 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7256 (source
7257 (origin
7258 (method git-fetch)
7259 (uri (git-reference
7260 (url home-page)
7261 (commit commit)))
7262 (file-name (git-file-name name version))
7263 (sha256
7264 (base32
7265 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7266 (build-system asdf-build-system/sbcl)
7267 (native-inputs
7268 `(("fiveam" ,sbcl-fiveam)))
7269 (synopsis "Portable macroexpand-all for Common Lisp")
7270 (description
7271 "This library provides a macroexpand-all function that calls the
7272implementation specific equivalent.")
7273 (license license:unlicense))))
7274
7275(define-public cl-trivial-macroexpand-all
7276 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7277
7278(define-public ecl-trivial-macroexpand-all
7279 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7280
7281(define-public sbcl-serapeum
14546abb
PN
7282 (let ((commit "a2ca90cbdcb9f76c2822286110c7abe9ba5b76c2")
7283 (revision "2"))
88f06fd0
PN
7284 (package
7285 (name "sbcl-serapeum")
7286 (version (git-version "0.0.0" revision commit))
7287 (home-page "https://github.com/ruricolist/serapeum")
7288 (source
7289 (origin
7290 (method git-fetch)
7291 (uri (git-reference
7292 (url home-page)
7293 (commit commit)))
7294 (file-name (git-file-name name version))
7295 (sha256
7296 (base32
14546abb 7297 "1lrk2kf7qh5g6f8xvyg8wf89frzb5mw6m1jzgy46jy744f459i8q"))))
88f06fd0
PN
7298 (build-system asdf-build-system/sbcl)
7299 (inputs
7300 `(("alexandria" ,sbcl-alexandria)
7301 ("trivia" ,sbcl-trivia)
7302 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7303 ("split-sequence" ,sbcl-split-sequence)
7304 ("string-case" ,sbcl-string-case)
7305 ("parse-number" ,sbcl-parse-number)
7306 ("trivial-garbage" ,sbcl-trivial-garbage)
7307 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7308 ("named-readtables" ,sbcl-named-readtables)
8137983a 7309 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
88f06fd0
PN
7310 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7311 ("global-vars" ,sbcl-global-vars)
7312 ("trivial-file-size" ,sbcl-trivial-file-size)
7313 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7314 (native-inputs
7315 `(("fiveam" ,sbcl-fiveam)
7316 ("local-time" ,sbcl-local-time)))
7317 (arguments
7318 '(#:phases
7319 (modify-phases %standard-phases
7320 (add-after 'unpack 'disable-failing-tests
7321 (lambda* (#:key inputs #:allow-other-keys)
7322 (substitute* "serapeum.asd"
7323 ;; Guix does not have Quicklisp, and probably never will.
7324 (("\\(:file \"quicklisp\"\\)") ""))
7325 #t)))))
7326 (synopsis "Common Lisp utility library beyond Alexandria")
7327 (description
7328 "Serapeum is a conservative library of Common Lisp utilities. It is a
7329supplement, not a competitor, to Alexandria.")
7330 (license license:expat))))
7331
7332(define-public cl-serapeum
7333 (sbcl-package->cl-source-package sbcl-serapeum))
7334
7335(define-public sbcl-arrows
7336 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7337 (revision "0"))
7338 (package
7339 (name "sbcl-arrows")
7340 (version (git-version "0.2.0" revision commit))
7341 (source
7342 (origin
7343 (method git-fetch)
7344 (uri (git-reference
7345 (url "https://gitlab.com/Harleqin/arrows.git")
7346 (commit commit)))
7347 (file-name (git-file-name name version))
7348 (sha256
7349 (base32
7350 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7351 (build-system asdf-build-system/sbcl)
7352 (native-inputs
7353 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7354 (synopsis "Clojure-like arrow macros for Common Lisp")
7355 (description
7356 "This library implements the @code{->} and @code{->>} macros from
7357Clojure, as well as several expansions on the idea.")
7358 (home-page "https://gitlab.com/Harleqin/arrows")
7359 (license license:public-domain))))
7360
7361(define-public cl-arrows
7362 (sbcl-package->cl-source-package sbcl-arrows))
7363
7364(define-public ecl-arrows
7365 (sbcl-package->ecl-package sbcl-arrows))
7366
7367(define-public sbcl-simple-parallel-tasks
7368 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7369 (revision "0"))
7370 (package
7371 (name "sbcl-simple-parallel-tasks")
7372 (version (git-version "1.0" revision commit))
7373 (source
7374 (origin
7375 (method git-fetch)
7376 (uri (git-reference
b0e7b699 7377 (url "https://github.com/glv2/simple-parallel-tasks")
88f06fd0
PN
7378 (commit commit)))
7379 (file-name (git-file-name name version))
7380 (sha256
7381 (base32
7382 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7383 (build-system asdf-build-system/sbcl)
7384 (native-inputs
7385 `(("fiveam" ,sbcl-fiveam)))
7386 (inputs
7387 `(("chanl" ,sbcl-chanl)))
7388 (synopsis "Common Lisp library to evaluate some forms in parallel")
7389 (description "This is a simple Common Lisp library to evaluate some
7390forms in parallel.")
7391 (home-page "https://github.com/glv2/simple-parallel-tasks")
7392 (license license:gpl3))))
7393
7394(define-public cl-simple-parallel-tasks
7395 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7396
7397(define-public ecl-simple-parallel-tasks
7398 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7399
7400(define-public sbcl-cl-heap
7401 (package
7402 (name "sbcl-cl-heap")
7403 (version "0.1.6")
7404 (source
7405 (origin
7406 (method url-fetch)
7407 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7408 "cl-heap_" version ".tar.gz"))
7409 (sha256
7410 (base32
7411 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7412 (build-system asdf-build-system/sbcl)
7413 (native-inputs
7414 `(("xlunit" ,sbcl-xlunit)))
7415 (arguments
7416 `(#:test-asd-file "cl-heap-tests.asd"))
7417 (synopsis "Heap and priority queue data structures for Common Lisp")
7418 (description
7419 "CL-HEAP provides various implementations of heap data structures (a
7420binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7421 (home-page "https://common-lisp.net/project/cl-heap/")
7422 (license license:gpl3+)))
7423
7424(define-public cl-heap
7425 (sbcl-package->cl-source-package sbcl-cl-heap))
7426
7427(define-public ecl-cl-heap
7428 (sbcl-package->ecl-package sbcl-cl-heap))
7429
7430(define-public sbcl-curry-compose-reader-macros
7431 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7432 (revision "0"))
7433 (package
7434 (name "sbcl-curry-compose-reader-macros")
7435 (version (git-version "1.0.0" revision commit))
7436 (source
7437 (origin
7438 (method git-fetch)
7439 (uri
7440 (git-reference
b0e7b699 7441 (url "https://github.com/eschulte/curry-compose-reader-macros")
88f06fd0
PN
7442 (commit commit)))
7443 (file-name (git-file-name name version))
7444 (sha256
7445 (base32
7446 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7447 (build-system asdf-build-system/sbcl)
7448 (inputs
7449 `(("alexandria" ,sbcl-alexandria)
7450 ("named-readtables" ,sbcl-named-readtables)))
7451 (synopsis "Reader macros for partial application and composition")
7452 (description
7453 "This Common Lisp library provides reader macros for concise expression
7454of function partial application and composition.")
7455 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7456 (license license:public-domain))))
7457
7458(define-public cl-curry-compose-reader-macros
7459 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7460
7461(define-public ecl-curry-compose-reader-macros
7462 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7463
7464(define-public sbcl-yason
7465 (package
7466 (name "sbcl-yason")
7467 (version "0.7.7")
7468 (source
7469 (origin
7470 (method git-fetch)
7471 (uri (git-reference
b0e7b699 7472 (url "https://github.com/phmarek/yason")
88f06fd0
PN
7473 (commit (string-append "v" version))))
7474 (file-name (git-file-name name version))
7475 (sha256
7476 (base32
7477 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7478 (build-system asdf-build-system/sbcl)
7479 (inputs
7480 `(("alexandria" ,sbcl-alexandria)
7481 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7482 (synopsis "Common Lisp JSON parser/encoder")
7483 (description
7484 "YASON is a Common Lisp library for encoding and decoding data in the
7485JSON interchange format.")
7486 (home-page "https://github.com/phmarek/yason")
7487 (license license:bsd-3)))
7488
7489(define-public cl-yason
7490 (sbcl-package->cl-source-package sbcl-yason))
7491
7492(define-public ecl-yason
7493 (sbcl-package->ecl-package sbcl-yason))
7494
7495(define-public sbcl-stefil
7496 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7497 (revision "0"))
7498 (package
7499 (name "sbcl-stefil")
7500 (version (git-version "0.1" revision commit))
7501 (source
7502 (origin
7503 (method git-fetch)
7504 (uri (git-reference
7505 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7506 (commit commit)))
7507 (file-name (git-file-name name version))
7508 (sha256
7509 (base32
7510 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7511 (build-system asdf-build-system/sbcl)
7512 (inputs
7513 `(("alexandria" ,sbcl-alexandria)
7514 ("iterate" ,sbcl-iterate)
7515 ("metabang-bind" ,sbcl-metabang-bind)))
7516 (propagated-inputs
7517 ;; Swank doesn't have a pre-compiled package, therefore we must
7518 ;; propagate its sources.
7519 `(("swank" ,cl-slime-swank)))
7520 (arguments
7521 '(#:phases
7522 (modify-phases %standard-phases
7523 (add-after 'unpack 'drop-unnecessary-dependency
7524 (lambda _
7525 (substitute* "package.lisp"
7526 ((":stefil-system") ""))
7527 #t)))))
7528 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7529 (synopsis "Simple test framework")
7530 (description
7531 "Stefil is a simple test framework for Common Lisp, with a focus on
7532interactive development.")
7533 (license license:public-domain))))
7534
7535(define-public cl-stefil
7536 (sbcl-package->cl-source-package sbcl-stefil))
7537
7538(define-public sbcl-graph
7539 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7540 (revision "0"))
7541 (package
7542 (name "sbcl-graph")
7543 (version (git-version "0.0.0" revision commit))
7544 (source
7545 (origin
7546 (method git-fetch)
7547 (uri
7548 (git-reference
b0e7b699 7549 (url "https://github.com/eschulte/graph")
88f06fd0
PN
7550 (commit commit)))
7551 (file-name (git-file-name name version))
7552 (sha256
7553 (base32
7554 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7555 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7556 (build-system asdf-build-system/sbcl)
7557 (native-inputs
7558 `(("stefil" ,sbcl-stefil)))
7559 (inputs
7560 `(("alexandria" ,sbcl-alexandria)
7561 ("cl-heap" ,sbcl-cl-heap)
7562 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7563 ("metabang-bind" ,sbcl-metabang-bind)
7564 ("named-readtables" ,sbcl-named-readtables)))
7565 (arguments
17c015c9 7566 '(#:test-asd-file "graph-test.asd"))
88f06fd0
PN
7567 (synopsis "Graph data structure and algorithms for Common Lisp")
7568 (description
7569 "The GRAPH Common Lisp library provides a data structures to represent
7570graphs, as well as some graph manipulation and analysis algorithms (shortest
7571path, maximum flow, minimum spanning tree, etc.).")
7572 (home-page "https://eschulte.github.io/graph/")
7573 (license license:gpl3+))))
7574
7575(define-public cl-graph
7576 (sbcl-package->cl-source-package sbcl-graph))
7577
7578(define-public sbcl-graph-dot
7579 (package
7580 (inherit sbcl-graph)
7581 (name "sbcl-graph-dot")
7582 (inputs
7583 `(("alexandria" ,sbcl-alexandria)
7584 ("cl-ppcre" ,sbcl-cl-ppcre)
7585 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7586 ("graph" ,sbcl-graph)
7587 ("metabang-bind" ,sbcl-metabang-bind)
7588 ("named-readtables" ,sbcl-named-readtables)))
7589 (arguments
7590 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7591 ((#:asd-file _ "") "graph-dot.asd")
88f06fd0
PN
7592 ((#:asd-system-name _ #f) "graph-dot")))
7593 (synopsis "Serialize graphs to and from DOT format")))
7594
7595(define-public sbcl-graph-json
7596 (package
7597 (inherit sbcl-graph)
7598 (name "sbcl-graph-json")
7599 (inputs
7600 `(("alexandria" ,sbcl-alexandria)
7601 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7602 ("graph" ,sbcl-graph)
7603 ("metabang-bind" ,sbcl-metabang-bind)
7604 ("named-readtables" ,sbcl-named-readtables)
7605 ("yason" ,sbcl-yason)))
7606 (arguments
7607 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7608 ((#:asd-file _ "") "graph-json.asd")
88f06fd0
PN
7609 ((#:asd-system-name _ #f) "graph-json")))
7610 (synopsis "Serialize graphs to and from JSON format")))
3029b585
PN
7611
7612(define-public sbcl-trivial-indent
7613 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7614 (revision "0"))
7615 (package
7616 (name "sbcl-trivial-indent")
7617 (version (git-version "1.0.0" revision commit))
7618 (source
7619 (origin
7620 (method git-fetch)
7621 (uri
7622 (git-reference
7623 (url "https://github.com/Shinmera/trivial-indent")
7624 (commit commit)))
7625 (file-name (git-file-name name version))
7626 (sha256
7627 (base32
7628 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7629 (build-system asdf-build-system/sbcl)
7630 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7631 (description
7632 "This library allows you to define custom indentation hints for your
7633macros if the one recognised by SLIME automatically produces unwanted
7634results.")
7635 (home-page "https://shinmera.github.io/trivial-indent/")
7636 (license license:zlib))))
7637
7638(define-public cl-trivial-indent
7639 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f
PN
7640
7641(define-public sbcl-documentation-utils
7642 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7643 (revision "0"))
7644 (package
7645 (name "sbcl-documentation-utils")
7646 (version (git-version "1.2.0" revision commit))
7647 (source
7648 (origin
7649 (method git-fetch)
7650 (uri
7651 (git-reference
b0e7b699 7652 (url "https://github.com/Shinmera/documentation-utils")
8dc5ff8f
PN
7653 (commit commit)))
7654 (file-name (git-file-name name version))
7655 (sha256
7656 (base32
7657 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7658 (build-system asdf-build-system/sbcl)
7659 (inputs
7660 `(("trivial-indent" ,sbcl-trivial-indent)))
7661 (synopsis "Few simple tools to document Common Lisp libraries")
7662 (description
7663 "This is a small library to help you with managing the Common Lisp
7664docstrings for your library.")
7665 (home-page "https://shinmera.github.io/documentation-utils/")
7666 (license license:zlib))))
7667
7668(define-public cl-documentation-utils
7669 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7670
281537f4
GLV
7671(define-public ecl-documentation-utils
7672 (sbcl-package->ecl-package sbcl-documentation-utils))
7673
aa47c9e7
PN
7674(define-public sbcl-form-fiddle
7675 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7676 (revision "0"))
7677 (package
7678 (name "sbcl-form-fiddle")
7679 (version (git-version "1.1.0" revision commit))
7680 (source
7681 (origin
7682 (method git-fetch)
7683 (uri
7684 (git-reference
7685 (url "https://github.com/Shinmera/form-fiddle")
7686 (commit commit)))
7687 (file-name (git-file-name name version))
7688 (sha256
7689 (base32
7690 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7691 (build-system asdf-build-system/sbcl)
7692 (inputs
7693 `(("documentation-utils" ,sbcl-documentation-utils)))
7694 (synopsis "Utilities to destructure Common Lisp lambda forms")
7695 (description
7696 "Often times we need to destructure a form definition in a Common Lisp
7697macro. This library provides a set of simple utilities to help with that.")
7698 (home-page "https://shinmera.github.io/form-fiddle/")
7699 (license license:zlib))))
7700
7701(define-public cl-form-fiddle
7702 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13
PN
7703
7704(define-public sbcl-parachute
7705 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7706 (revision "0"))
7707 (package
7708 (name "sbcl-parachute")
7709 (version (git-version "1.1.1" revision commit))
7710 (source
7711 (origin
7712 (method git-fetch)
7713 (uri
7714 (git-reference
7715 (url "https://github.com/Shinmera/parachute")
7716 (commit commit)))
7717 (file-name (git-file-name name version))
7718 (sha256
7719 (base32
7720 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7721 (build-system asdf-build-system/sbcl)
7722 (inputs
7723 `(("documentation-utils" ,sbcl-documentation-utils)
7724 ("form-fiddle" ,sbcl-form-fiddle)))
7725 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7726 (description
7727 "Parachute is a simple-to-use and extensible testing framework.
7728In Parachute, things are organised as a bunch of named tests within a package.
7729Each test can contain a bunch of test forms that make up its body.")
7730 (home-page "https://shinmera.github.io/parachute/")
7731 (license license:zlib))))
7732
7733(define-public cl-parachute
7734 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68
PN
7735
7736(define-public sbcl-array-utils
7737 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7738 (revision "0"))
7739 (package
7740 (name "sbcl-array-utils")
7741 (version (git-version "1.1.1" revision commit))
7742 (source
7743 (origin
7744 (method git-fetch)
7745 (uri
7746 (git-reference
7747 (url "https://github.com/Shinmera/array-utils")
7748 (commit commit)))
7749 (file-name (git-file-name name version))
7750 (sha256
7751 (base32
7752 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7753 (build-system asdf-build-system/sbcl)
7754 (native-inputs
7755 `(("parachute" ,sbcl-parachute)))
7756 (inputs
7757 `(("documentation-utils" ,sbcl-documentation-utils)))
7758 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7759 (description
7760 "A miniature toolkit that contains some useful shifting/popping/pushing
7761functions for arrays and vectors. Originally from Plump.")
7762 (home-page "https://shinmera.github.io/array-utils/")
7763 (license license:zlib))))
7764
7765(define-public cl-array-utils
7766 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4
PN
7767
7768(define-public sbcl-plump
ef4a5a85
PN
7769 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7770 (revision "1"))
cbda07d4
PN
7771 (package
7772 (name "sbcl-plump")
7773 (version (git-version "2.0.0" revision commit))
7774 (source
7775 (origin
7776 (method git-fetch)
7777 (uri
7778 (git-reference
7779 (url "https://github.com/Shinmera/plump")
7780 (commit commit)))
7781 (file-name (git-file-name name version))
7782 (sha256
7783 (base32
ef4a5a85 7784 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
cbda07d4
PN
7785 (build-system asdf-build-system/sbcl)
7786 (inputs
7787 `(("array-utils" ,sbcl-array-utils)
7788 ("documentation-utils" ,sbcl-documentation-utils)))
7789 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7790 (description
7791 "Plump is a parser for HTML/XML-like documents, focusing on being
7792lenient towards invalid markup. It can handle things like invalid attributes,
7793bad closing tag order, unencoded entities, inexistent tag types, self-closing
7794tags and so on. It parses documents to a class representation and offers a
7795small set of DOM functions to manipulate it. It can be extended to parse to
7796your own classes.")
7797 (home-page "https://shinmera.github.io/plump/")
7798 (license license:zlib))))
7799
7800(define-public cl-plump
7801 (sbcl-package->cl-source-package sbcl-plump))
20972e4e
KCB
7802
7803(define-public sbcl-antik-base
7804 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7805 (revision "1"))
7806 (package
7807 (name "sbcl-antik-base")
7808 (version (git-version "0.0.0" revision commit))
7809 (source
7810 (origin
7811 (method git-fetch)
7812 (uri (git-reference
7813 (url "https://gitlab.common-lisp.net/antik/antik.git")
7814 (commit commit)))
7815 (file-name (git-file-name name version))
7816 (sha256
7817 (base32
7818 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7819 (build-system asdf-build-system/sbcl)
7820 (inputs
7821 `(("alexandria" ,sbcl-alexandria)
7822 ("cl-ppcre" ,sbcl-cl-ppcre)
7823 ("iterate" ,sbcl-iterate)
7824 ("metabang-bind" ,sbcl-metabang-bind)
7825 ("named-readtables" ,sbcl-named-readtables)
7826 ("split-sequence" ,sbcl-split-sequence)))
7827 (native-inputs
7828 `(("lisp-unit" ,sbcl-lisp-unit)))
7829 (synopsis "Scientific and engineering computation in Common Lisp")
7830 (description
7831 "Antik provides a foundation for scientific and engineering
7832computation in Common Lisp. It is designed not only to facilitate
7833numerical computations, but to permit the use of numerical computation
7834libraries and the interchange of data and procedures, whether
7835foreign (non-Lisp) or Lisp libraries. It is named after the
7836Antikythera mechanism, one of the oldest examples of a scientific
7837computer known.")
7838 (home-page "https://common-lisp.net/project/antik/")
7839 (license license:gpl3))))
7840
7841(define-public cl-antik-base
7842 (sbcl-package->cl-source-package sbcl-antik-base))
7843
7844(define-public ecl-antik-base
7845 (sbcl-package->ecl-package sbcl-antik-base))
29411ae4
KCB
7846
7847(define-public sbcl-foreign-array
7848 (package
7849 (inherit sbcl-antik-base)
7850 (name "sbcl-foreign-array")
7851 (arguments
7852 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7853 ((#:asd-file _ "") "foreign-array.asd")
7854 ((#:asd-system-name _ #f) "foreign-array")))
7855 (inputs
7856 `(("antik-base" ,sbcl-antik-base)
7857 ("cffi" ,sbcl-cffi)
7858 ("trivial-garbage" ,sbcl-trivial-garbage)
7859 ("static-vectors" ,sbcl-static-vectors)))
7860 (synopsis "Common Lisp library providing access to foreign arrays")))
7861
7862(define-public cl-foreign-array
7863 (sbcl-package->cl-source-package sbcl-foreign-array))
7864
7865(define-public ecl-foreign-array
7866 (sbcl-package->ecl-package sbcl-foreign-array))
f67e34db
KCB
7867
7868(define-public sbcl-physical-dimension
7869 (package
7870 (inherit sbcl-antik-base)
7871 (name "sbcl-physical-dimension")
7872 (inputs
7873 `(("fare-utils" ,sbcl-fare-utils)
7874 ("foreign-array" ,sbcl-foreign-array)
7875 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7876 (arguments
7877 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7878 ((#:asd-file _ "") "physical-dimension.asd")
7879 ((#:asd-system-name _ #f) "physical-dimension")))
7880 (synopsis
7881 "Common Lisp library providing computations with physical units")))
7882
7883(define-public cl-physical-dimension
7884 (sbcl-package->cl-source-package sbcl-physical-dimension))
812d0618
KCB
7885
7886(define-public sbcl-science-data
7887 (package
7888 (inherit sbcl-antik-base)
7889 (name "sbcl-science-data")
7890 (inputs
7891 `(("physical-dimension" ,sbcl-physical-dimension)
7892 ("drakma" ,sbcl-drakma)))
7893 (arguments
7894 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7895 ((#:asd-file _ "") "science-data.asd")
7896 ((#:asd-system-name _ #f) "science-data")))
7897 (synopsis
7898 "Common Lisp library for scientific and engineering numerical data")))
7899
7900(define-public cl-science-data
7901 (sbcl-package->cl-source-package sbcl-science-data))
064dbb71
KCB
7902
7903(define-public sbcl-gsll
7904 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7905 (revision "1"))
7906 (package
7907 (name "sbcl-gsll")
7908 (version (git-version "0.0.0" revision commit))
7909 (source
7910 (origin
7911 (method git-fetch)
7912 (uri (git-reference
7913 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7914 (commit commit)))
7915 (file-name (git-file-name name version))
7916 (sha256
7917 (base32
7918 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7919 (build-system asdf-build-system/sbcl)
7920 (native-inputs
7921 `(("lisp-unit" ,sbcl-lisp-unit)))
7922 (inputs
7923 `(("alexandria" ,sbcl-alexandria)
7924 ("cffi-grovel" ,sbcl-cffi-grovel)
7925 ("cffi-libffi" ,sbcl-cffi-libffi)
7926 ("foreign-array" ,sbcl-foreign-array)
7927 ("gsl" ,gsl)
7928 ("metabang-bind" ,sbcl-metabang-bind)
7929 ("trivial-features" ,sbcl-trivial-features)
7930 ("trivial-garbage" ,sbcl-trivial-garbage)))
7931 (arguments
7932 `(#:tests? #f
7933 #:phases
7934 (modify-phases %standard-phases
7935 (add-after 'unpack 'fix-cffi-paths
7936 (lambda* (#:key inputs #:allow-other-keys)
7937 (substitute* "gsll.asd"
7938 ((":depends-on \\(#:foreign-array")
7939 ":depends-on (#:foreign-array #:cffi-libffi"))
7940 (substitute* "init/init.lisp"
7941 (("libgslcblas.so" all)
7942 (string-append
7943 (assoc-ref inputs "gsl") "/lib/" all)))
7944 (substitute* "init/init.lisp"
7945 (("libgsl.so" all)
7946 (string-append
7947 (assoc-ref inputs "gsl") "/lib/" all))))))))
7948 (synopsis "GNU Scientific Library for Lisp")
7949 (description
7950 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7951GNU Scientific Library (GSL) from Common Lisp. This library provides a
7952full range of common mathematical operations useful to scientific and
7953engineering applications. The design of the GSLL interface is such
7954that access to most of the GSL library is possible in a Lisp-natural
7955way; the intent is that the user not be hampered by the restrictions
7956of the C language in which GSL has been written. GSLL thus provides
7957interactive use of GSL for getting quick answers, even for someone not
7958intending to program in Lisp.")
7959 (home-page "https://common-lisp.net/project/gsll/")
7960 (license license:gpl3))))
7961
7962(define-public cl-gsll
7963 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca
KCB
7964
7965(define-public sbcl-antik
7966 (package
7967 (inherit sbcl-antik-base)
7968 (name "sbcl-antik")
7969 (inputs
7970 `(("gsll" ,sbcl-gsll)
7971 ("physical-dimension" ,sbcl-physical-dimension)))
7972 (arguments
7973 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7974 ((#:asd-file _ "") "antik.asd")
7975 ((#:asd-system-name _ #f) "antik")))))
7976
7977(define-public cl-antik
7978 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
7979
7980(define-public sbcl-cl-interpol
7981 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7982 (revision "1"))
7983 (package
7984 (name "sbcl-cl-interpol")
7985 (version (git-version "0.2.6" revision commit))
7986 (source
7987 (origin
7988 (method git-fetch)
7989 (uri (git-reference
b0e7b699 7990 (url "https://github.com/edicl/cl-interpol")
7b0bb0d1
KCB
7991 (commit commit)))
7992 (file-name (git-file-name name version))
7993 (sha256
7994 (base32
7995 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7996 (build-system asdf-build-system/sbcl)
7997 (inputs
7998 `(("cl-unicode" ,sbcl-cl-unicode)
7999 ("named-readtables" ,sbcl-named-readtables)))
8000 (native-inputs
8001 `(("flexi-streams" ,sbcl-flexi-streams)))
8002 (synopsis "String interpolation for Common Lisp")
8003 (description
8004 "CL-INTERPOL is a library for Common Lisp which modifies the
8005reader so that you can have interpolation within strings similar to
8006Perl or Unix Shell scripts. It also provides various ways to insert
8007arbitrary characters into literal strings even if your editor/IDE
8008doesn't support them.")
8009 (home-page "https://edicl.github.io/cl-interpol/")
8010 (license license:bsd-3))))
8011
8012(define-public cl-interpol
8013 (sbcl-package->cl-source-package sbcl-cl-interpol))
8014
8015(define-public ecl-cl-interpol
8016 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92
KCB
8017
8018(define sbcl-symbol-munger-boot0
8019 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8020 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8021 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
8022 (revision "1"))
8023 (package
8024 (name "sbcl-symbol-munger-boot0")
8025 (version (git-version "0.0.1" revision commit))
8026 (source
8027 (origin
8028 (method git-fetch)
8029 (uri (git-reference
b0e7b699 8030 (url "https://github.com/AccelerationNet/symbol-munger")
14ef7a92
KCB
8031 (commit commit)))
8032 (file-name (git-file-name name version))
8033 (sha256
8034 (base32
8035 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
8036 (build-system asdf-build-system/sbcl)
8037 (arguments
8038 `(#:asd-file "symbol-munger.asd"
8039 #:asd-system-name "symbol-munger"))
8040 (inputs
8041 `(("iterate" ,sbcl-iterate)
8042 ("alexandria" ,sbcl-alexandria)))
8043 (native-inputs
8044 `(("lisp-unit" ,sbcl-lisp-unit)))
8045 (synopsis
8046 "Capitalization and spacing conversion functions for Common Lisp")
8047 (description
8048 "This is a Common Lisp library to change the capitalization and spacing
8049of a string or a symbol. It can convert to and from Lisp, english, underscore
8050and camel-case rules.")
8051 (home-page "https://github.com/AccelerationNet/symbol-munger")
8052 ;; The package declares a BSD license, but all of the license
8053 ;; text is MIT.
8054 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8055 (license license:expat))))
8056
8057(define sbcl-lisp-unit2-boot0
8058 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8059 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8060 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8061 (revision "1"))
8062 (package
8063 (name "sbcl-lisp-unit2-boot0")
8064 (version (git-version "0.2.0" revision commit))
8065 (source
8066 (origin
8067 (method git-fetch)
8068 (uri (git-reference
b0e7b699 8069 (url "https://github.com/AccelerationNet/lisp-unit2")
14ef7a92
KCB
8070 (commit commit)))
8071 (file-name (git-file-name name version))
8072 (sha256
8073 (base32
8074 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8075 (build-system asdf-build-system/sbcl)
8076 (arguments
8077 `(#:asd-file "lisp-unit2.asd"
8078 #:asd-system-name "lisp-unit2"))
8079 (inputs
8080 `(("alexandria" ,sbcl-alexandria)
8081 ("cl-interpol" ,sbcl-cl-interpol)
8082 ("iterate" ,sbcl-iterate)
8083 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8084 (synopsis "Test Framework for Common Lisp")
8085 (description
8086 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8087style of JUnit for Java. It is a new version of the lisp-unit library written
8088by Chris Riesbeck.")
8089 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8090 (license license:expat))))
edfa2261
KCB
8091
8092(define-public sbcl-symbol-munger
8093 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8094 (revision "1"))
8095 (package
8096 (name "sbcl-symbol-munger")
8097 (version (git-version "0.0.1" revision commit))
8098 (source
8099 (origin
8100 (method git-fetch)
8101 (uri (git-reference
b0e7b699 8102 (url "https://github.com/AccelerationNet/symbol-munger")
edfa2261
KCB
8103 (commit commit)))
8104 (file-name (git-file-name name version))
8105 (sha256
8106 (base32
8107 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8108 (build-system asdf-build-system/sbcl)
8109 (inputs
8110 `(("alexandria" ,sbcl-alexandria)
8111 ("iterate" ,sbcl-iterate)))
8112 (native-inputs
8113 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8114 (synopsis
8115 "Capitalization and spacing conversion functions for Common Lisp")
8116 (description
8117 "This is a Common Lisp library to change the capitalization and spacing
8118of a string or a symbol. It can convert to and from Lisp, english, underscore
8119and camel-case rules.")
8120 (home-page "https://github.com/AccelerationNet/symbol-munger")
8121 ;; The package declares a BSD license, but all of the license
8122 ;; text is MIT.
8123 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8124 (license license:expat))))
8125
8126(define-public cl-symbol-munger
8127 (sbcl-package->cl-source-package sbcl-symbol-munger))
8128
8129(define-public ecl-symbol-munger
8130 (sbcl-package->ecl-package sbcl-symbol-munger))
b97dbb64
KCB
8131
8132(define-public sbcl-lisp-unit2
8133 (package
8134 (inherit sbcl-lisp-unit2-boot0)
8135 (name "sbcl-lisp-unit2")
8136 (inputs
8137 `(("alexandria" ,sbcl-alexandria)
8138 ("cl-interpol" ,sbcl-cl-interpol)
8139 ("iterate" ,sbcl-iterate)
8140 ("symbol-munger" ,sbcl-symbol-munger)))))
8141
8142(define-public cl-lisp-unit2
8143 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8144
8145(define-public ecl-lisp-unit2
8146 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8147
8148(define-public sbcl-cl-csv
8149 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8150 (revision "1"))
8151 (package
8152 (name "sbcl-cl-csv")
8153 (version (git-version "1.0.6" revision commit))
8154 (source
8155 (origin
8156 (method git-fetch)
8157 (uri (git-reference
b0e7b699 8158 (url "https://github.com/AccelerationNet/cl-csv")
f4448e43
KCB
8159 (commit commit)))
8160 (file-name (git-file-name name version))
8161 (sha256
8162 (base32
8163 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8164 (build-system asdf-build-system/sbcl)
8165 (arguments
8166 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8167 `(#:tests? #f))
8168 (inputs
8169 `(("alexandria" ,sbcl-alexandria)
8170 ("cl-interpol" ,sbcl-cl-interpol)
8171 ("iterate" ,sbcl-iterate)))
8172 (native-inputs
8173 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8174 (synopsis "Common lisp library for comma-separated values")
8175 (description
8176 "This is a Common Lisp library providing functions to read/write CSV
8177from/to strings, streams and files.")
8178 (home-page "https://github.com/AccelerationNet/cl-csv")
8179 (license license:bsd-3))))
8180
8181(define-public cl-csv
8182 (sbcl-package->cl-source-package sbcl-cl-csv))
8183
8184(define-public ecl-cl-csv
8185 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8186
8187(define-public sbcl-external-program
8188 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8189 (revision "1"))
8190 (package
8191 (name "sbcl-external-program")
8192 (version (git-version "0.0.6" revision commit))
8193 (source
8194 (origin
8195 (method git-fetch)
8196 (uri (git-reference
b0e7b699 8197 (url "https://github.com/sellout/external-program")
6f0c2c95
KCB
8198 (commit commit)))
8199 (file-name (git-file-name name version))
8200 (sha256
8201 (base32
8202 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8203 (build-system asdf-build-system/sbcl)
8204 (inputs
8205 `(("trivial-features" ,sbcl-trivial-features)))
8206 (native-inputs
8207 `(("fiveam" ,sbcl-fiveam)))
8208 (synopsis "Common Lisp library for running external programs")
8209 (description
8210 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8211process. It is an attempt to make the RUN-PROGRAM functionality in
8212implementations like SBCL and CCL as portable as possible without
8213sacrificing much in the way of power.")
8214 (home-page "https://github.com/sellout/external-program")
8215 (license license:llgpl))))
8216
8217(define-public cl-external-program
8218 (sbcl-package->cl-source-package sbcl-external-program))
8219
8220(define-public ecl-external-program
8221 (sbcl-package->ecl-package sbcl-external-program))
710a2815
KCB
8222
8223(define sbcl-cl-ana-boot0
8224 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8225 (revision "1"))
8226 (package
8227 (name "sbcl-cl-ana-boot0")
8228 (version (git-version "0.0.0" revision commit))
8229 (source
8230 (origin
8231 (method git-fetch)
8232 (uri (git-reference
b0e7b699 8233 (url "https://github.com/ghollisjr/cl-ana")
710a2815
KCB
8234 (commit commit)))
8235 (file-name (git-file-name name version))
8236 (sha256
8237 (base32
8238 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8239 (build-system asdf-build-system/sbcl)
8240 (synopsis "Common Lisp data analysis library")
8241 (description
8242 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8243binned data analysis along with nonlinear least squares fitting and
8244visualization.")
8245 (home-page "https://github.com/ghollisjr/cl-ana")
8246 (license license:gpl3))))
8247
8248(define-public sbcl-cl-ana.pathname-utils
8249 (package
8250 (inherit sbcl-cl-ana-boot0)
8251 (name "sbcl-cl-ana.pathname-utils")
8252 (arguments
8253 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8254 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8255 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8256
8257(define-public cl-ana.pathname-utils
8258 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8259
8260(define-public ecl-cl-ana.pathname-utils
8261 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
dc60235b
KCB
8262
8263(define-public sbcl-cl-ana.package-utils
8264 (package
8265 (inherit sbcl-cl-ana-boot0)
8266 (name "sbcl-cl-ana.package-utils")
8267 (inputs
8268 `(("alexandria" ,sbcl-alexandria)))
8269 (arguments
8270 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8271 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8272 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8273
8274(define-public cl-ana.package-utils
8275 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8276
8277(define-public ecl-cl-ana.package-utils
8278 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
d9d3a1a8
KCB
8279
8280(define-public sbcl-cl-ana.string-utils
8281 (package
8282 (inherit sbcl-cl-ana-boot0)
8283 (name "sbcl-cl-ana.string-utils")
8284 (inputs
8285 `(("split-sequence" ,sbcl-split-sequence)))
8286 (arguments
8287 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8288 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8289 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8290
8291(define-public cl-ana.string-utils
8292 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8293
8294(define-public ecl-cl-ana.string-utils
8295 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
927895d7
KCB
8296
8297(define-public sbcl-cl-ana.functional-utils
8298 (package
8299 (inherit sbcl-cl-ana-boot0)
8300 (name "sbcl-cl-ana.functional-utils")
8301 (arguments
8302 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8303 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8304 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8305
8306(define-public cl-ana.functional-utils
8307 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8308
8309(define-public ecl-cl-ana.functional-utils
8310 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
ea988c3b
KCB
8311
8312(define-public sbcl-cl-ana.list-utils
8313 (package
8314 (inherit sbcl-cl-ana-boot0)
8315 (name "sbcl-cl-ana.list-utils")
8316 (inputs
8317 `(("alexandria" ,sbcl-alexandria)
8318 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8319 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8320 (arguments
8321 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8322 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8323 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8324
8325(define-public cl-ana.list-utils
8326 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8327
8328(define-public ecl-cl-ana.list-utils
8329 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
35b5ca24
KCB
8330
8331(define-public sbcl-cl-ana.generic-math
8332 (package
8333 (inherit sbcl-cl-ana-boot0)
8334 (name "sbcl-cl-ana.generic-math")
8335 (inputs
8336 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8337 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8338 (arguments
8339 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8340 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8341 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8342
8343(define-public cl-ana.generic-math
8344 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8345
8346(define-public ecl-cl-ana.generic-math
8347 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
6d69c5b4
KCB
8348
8349(define-public sbcl-cl-ana.math-functions
8350 (package
8351 (inherit sbcl-cl-ana-boot0)
8352 (name "sbcl-cl-ana.math-functions")
8353 (inputs
8354 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8355 ("gsll" ,sbcl-gsll)))
8356 (arguments
8357 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8358 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8359 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8360
8361(define-public cl-ana.math-functions
8362 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
39ba698b
KCB
8363
8364(define-public sbcl-cl-ana.calculus
8365 (package
8366 (inherit sbcl-cl-ana-boot0)
8367 (name "sbcl-cl-ana.calculus")
8368 (inputs
8369 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8370 (arguments
8371 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8372 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8373 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8374
8375(define-public cl-ana.calculus
8376 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8377
8378(define-public ecl-cl-ana.calculus
8379 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
ad09a96a
KCB
8380
8381(define-public sbcl-cl-ana.symbol-utils
8382 (package
8383 (inherit sbcl-cl-ana-boot0)
8384 (name "sbcl-cl-ana.symbol-utils")
8385 (inputs
8386 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8387 (arguments
8388 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8389 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8390 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8391
8392(define-public cl-ana.symbol-utils
8393 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8394
8395(define-public ecl-cl-ana.symbol-utils
8396 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
141d96e1
KCB
8397
8398(define-public sbcl-cl-ana.macro-utils
8399 (package
8400 (inherit sbcl-cl-ana-boot0)
8401 (name "sbcl-cl-ana.macro-utils")
8402 (inputs
8403 `(("alexandria" ,sbcl-alexandria)
8404 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8405 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8406 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8407 ("split-sequence" ,sbcl-split-sequence)))
8408 (arguments
8409 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8410 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8411 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8412
8413(define-public cl-ana.macro-utils
8414 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8415
8416(define-public ecl-cl-ana.macro-utils
8417 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
7468ca3c
KCB
8418
8419(define-public sbcl-cl-ana.binary-tree
8420 (package
8421 (inherit sbcl-cl-ana-boot0)
8422 (name "sbcl-cl-ana.binary-tree")
8423 (inputs
8424 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8425 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8426 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8427 (arguments
8428 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8429 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8430 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8431
8432(define-public cl-ana.binary-tree
8433 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8434
8435(define-public ecl-cl-ana.binary-tree
8436 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
f69f0235
KCB
8437
8438(define-public sbcl-cl-ana.tensor
8439 (package
8440 (inherit sbcl-cl-ana-boot0)
8441 (name "sbcl-cl-ana.tensor")
8442 (inputs
8443 `(("alexandria" ,sbcl-alexandria)
8444 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8445 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8446 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8447 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8448 (arguments
8449 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8450 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8451 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8452
8453(define-public cl-ana.tensor
8454 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8455
8456(define-public ecl-cl-ana.tensor
8457 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
87e58e2b
KCB
8458
8459(define-public sbcl-cl-ana.error-propogation
8460 (package
8461 (inherit sbcl-cl-ana-boot0)
8462 (name "sbcl-cl-ana.error-propogation")
8463 (inputs
8464 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8465 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8466 (arguments
8467 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8468 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8469 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8470
8471(define-public cl-ana.error-propogation
8472 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
a2aeef61
KCB
8473
8474(define-public sbcl-cl-ana.quantity
8475 (package
8476 (inherit sbcl-cl-ana-boot0)
8477 (name "sbcl-cl-ana.quantity")
8478 (inputs
8479 `(("alexandria" ,sbcl-alexandria)
8480 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8481 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8482 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8483 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8484 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8485 (arguments
8486 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8487 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8488 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8489
8490(define-public cl-ana.quantity
8491 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
fc029fe3
KCB
8492
8493(define-public sbcl-cl-ana.table
8494 (package
8495 (inherit sbcl-cl-ana-boot0)
8496 (name "sbcl-cl-ana.table")
8497 (inputs
8498 `(("alexandria" ,sbcl-alexandria)
8499 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8500 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8501 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8502 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8503 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8504 (arguments
8505 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8506 ((#:asd-file _ "") "table/cl-ana.table.asd")
8507 ((#:asd-system-name _ #f) "cl-ana.table")))))
8508
8509(define-public cl-ana.table
8510 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8511
8512(define-public ecl-cl-ana.table
8513 (sbcl-package->ecl-package sbcl-cl-ana.table))
eac5d1dd
KCB
8514
8515(define-public sbcl-cl-ana.table-utils
8516 (package
8517 (inherit sbcl-cl-ana-boot0)
8518 (name "sbcl-cl-ana.table-utils")
8519 (inputs
8520 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8521 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8522 ("cl-ana.table" ,sbcl-cl-ana.table)))
8523 (arguments
8524 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8525 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8526 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8527
8528(define-public cl-ana.table-utils
8529 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8530
8531(define-public ecl-cl-ana.table-utils
8532 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
769015b9
KCB
8533
8534(define-public sbcl-cl-ana.hdf-cffi
8535 (package
8536 (inherit sbcl-cl-ana-boot0)
8537 (name "sbcl-cl-ana.hdf-cffi")
8538 (inputs
8539 `(("cffi" ,sbcl-cffi)
8540 ("hdf5" ,hdf5-parallel-openmpi)))
8541 (arguments
8542 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8543 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8544 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8545 ((#:phases phases '%standard-phases)
8546 `(modify-phases ,phases
8547 (add-after 'unpack 'fix-paths
8548 (lambda* (#:key inputs #:allow-other-keys)
8549 (substitute* "hdf-cffi/hdf-cffi.lisp"
8550 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8551 (string-append
8552 (assoc-ref inputs "hdf5")
8553 "/lib/libhdf5.so")))))))))))
8554
8555(define-public cl-ana.hdf-cffi
8556 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8557
8558(define-public ecl-cl-ana.hdf-cffi
8559 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
e073d695
KCB
8560
8561(define-public sbcl-cl-ana.int-char
8562 (package
8563 (inherit sbcl-cl-ana-boot0)
8564 (name "sbcl-cl-ana.int-char")
8565 (arguments
8566 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8567 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8568 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8569
8570(define-public cl-ana.int-char
8571 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8572
8573(define-public ecl-cl-ana.int-char
8574 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
011cf6f5
KCB
8575
8576(define-public sbcl-cl-ana.memoization
8577 (package
8578 (inherit sbcl-cl-ana-boot0)
8579 (name "sbcl-cl-ana.memoization")
8580 (inputs
8581 `(("alexandria" ,sbcl-alexandria)))
8582 (arguments
8583 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8584 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8585 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8586
8587(define-public cl-ana.memoization
8588 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8589
8590(define-public ecl-cl-ana.memoization
8591 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
bc9e1dd2
KCB
8592
8593(define-public sbcl-cl-ana.typespec
8594 (package
8595 (inherit sbcl-cl-ana-boot0)
8596 (name "sbcl-cl-ana.typespec")
8597 (inputs
8598 `(("alexandria" ,sbcl-alexandria)
8599 ("cffi" ,sbcl-cffi)
8600 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8601 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8602 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8603 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8604 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8605 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8606 (arguments
8607 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8608 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8609 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8610
8611(define-public cl-ana.typespec
8612 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8613
8614(define-public ecl-cl-ana.typespec
8615 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
46519981
KCB
8616
8617(define-public sbcl-cl-ana.hdf-typespec
8618 (package
8619 (inherit sbcl-cl-ana-boot0)
8620 (name "sbcl-cl-ana.hdf-typespec")
8621 (inputs
8622 `(("alexandria" ,sbcl-alexandria)
8623 ("cffi" ,sbcl-cffi)
8624 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8625 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8626 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8627 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8628 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8629 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8630 (arguments
8631 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8632 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8633 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8634
8635(define-public cl-ana.hdf-typespec
8636 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8637
8638(define-public ecl-cl-ana.hdf-typespec
8639 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
05216cf7
KCB
8640
8641(define-public sbcl-cl-ana.hdf-utils
8642 (package
8643 (inherit sbcl-cl-ana-boot0)
8644 (name "sbcl-cl-ana.hdf-utils")
8645 (inputs
8646 `(("alexandria" ,sbcl-alexandria)
8647 ("cffi" ,sbcl-cffi)
8648 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8649 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8650 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8651 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8652 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8653 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8654 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8655 (arguments
8656 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8657 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8658 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8659
8660(define-public cl-ana.hdf-utils
8661 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8662
8663(define-public ecl-cl-ana.hdf-utils
8664 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
82900285
KCB
8665
8666(define-public sbcl-cl-ana.typed-table
8667 (package
8668 (inherit sbcl-cl-ana-boot0)
8669 (name "sbcl-cl-ana.typed-table")
8670 (inputs
8671 `(("alexandria" ,sbcl-alexandria)
8672 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8673 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8674 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8675 ("cl-ana.table" ,sbcl-cl-ana.table)
8676 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8677 (arguments
8678 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8679 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8680 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8681
8682(define-public cl-ana.typed-table
8683 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8684
8685(define-public ecl-cl-ana.typed-table
8686 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8e2c140c
KCB
8687
8688(define-public sbcl-cl-ana.hdf-table
8689 (package
8690 (inherit sbcl-cl-ana-boot0)
8691 (name "sbcl-cl-ana.hdf-table")
8692 (inputs
8693 `(("alexandria" ,sbcl-alexandria)
8694 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8695 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8696 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8697 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8698 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8699 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8700 ("cl-ana.table" ,sbcl-cl-ana.table)
8701 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8702 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8703 (arguments
8704 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8705 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8706 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8707
8708(define-public cl-ana.hdf-table
8709 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8710
8711(define-public ecl-cl-ana.hdf-table
8712 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
cd874248
KCB
8713
8714(define-public sbcl-cl-ana.gsl-cffi
8715 (package
8716 (inherit sbcl-cl-ana-boot0)
8717 (name "sbcl-cl-ana.gsl-cffi")
8718 (inputs
8719 `(("cffi" ,sbcl-cffi)
8720 ("gsl" ,gsl)))
8721 (arguments
8722 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8723 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8724 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8725 ((#:phases phases '%standard-phases)
8726 `(modify-phases ,phases
8727 (add-after 'unpack 'fix-paths
8728 (lambda* (#:key inputs #:allow-other-keys)
8729 (substitute* "gsl-cffi/gsl-cffi.lisp"
8730 (("define-foreign-library gsl-cffi" all)
8731 (string-append all " (:unix "
8732 (assoc-ref inputs "gsl")
8733 "/lib/libgsl.so)")))))))))))
8734
8735(define-public cl-ana.gsl-cffi
8736 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8737
8738(define-public ecl-cl-ana.gsl-cffi
8739 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
14b1a215
KCB
8740
8741(define-public sbcl-cl-ana.ntuple-table
8742 (package
8743 (inherit sbcl-cl-ana-boot0)
8744 (name "sbcl-cl-ana.ntuple-table")
8745 (inputs
8746 `(("alexandria" ,sbcl-alexandria)
8747 ("cffi" ,sbcl-cffi)
8748 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8749 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8750 ("cl-ana.table" ,sbcl-cl-ana.table)
8751 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8752 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8753 ("gsll" ,sbcl-gsll)))
8754 (arguments
8755 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8756 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8757 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8758
8759(define-public cl-ana.ntuple-table
8760 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
89f01125
KCB
8761
8762(define-public sbcl-cl-ana.csv-table
8763 (package
8764 (inherit sbcl-cl-ana-boot0)
8765 (name "sbcl-cl-ana.csv-table")
8766 (inputs
8767 `(("alexandria" ,sbcl-alexandria)
8768 ("antik" ,sbcl-antik)
8769 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8770 ("cl-ana.table" ,sbcl-cl-ana.table)
8771 ("cl-csv" ,sbcl-cl-csv)
8772 ("iterate" ,sbcl-iterate)))
8773 (arguments
8774 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8775 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8776 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8777
8778(define-public cl-ana.csv-table
8779 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
7d500ae4
KCB
8780
8781(define-public sbcl-cl-ana.reusable-table
8782 (package
8783 (inherit sbcl-cl-ana-boot0)
8784 (name "sbcl-cl-ana.reusable-table")
8785 (inputs
8786 `(("alexandria" ,sbcl-alexandria)
8787 ("cl-ana.table" ,sbcl-cl-ana.table)))
8788 (arguments
8789 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8790 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8791 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8792
8793(define-public cl-ana.reusable-table
8794 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8795
8796(define-public ecl-cl-ana.reusable-table
8797 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
01d659f5
KCB
8798
8799(define-public sbcl-cl-ana.linear-algebra
8800 (package
8801 (inherit sbcl-cl-ana-boot0)
8802 (name "sbcl-cl-ana.linear-algebra")
8803 (inputs
8804 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8805 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8806 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8807 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8808 ("gsll" ,sbcl-gsll)))
8809 (arguments
8810 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8811 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8812 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8813
8814(define-public cl-ana.linear-algebra
8815 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
05ec2879
KCB
8816
8817(define-public sbcl-cl-ana.lorentz
8818 (package
8819 (inherit sbcl-cl-ana-boot0)
8820 (name "sbcl-cl-ana.lorentz")
8821 (inputs
8822 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8823 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8824 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8825 ("iterate" ,sbcl-iterate)))
8826 (arguments
8827 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8828 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8829 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8830
8831(define-public cl-ana.lorentz
8832 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
28ffe462
KCB
8833
8834(define-public sbcl-cl-ana.clos-utils
8835 (package
8836 (inherit sbcl-cl-ana-boot0)
8837 (name "sbcl-cl-ana.clos-utils")
8838 (inputs
8839 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8840 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8841 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8842 ("closer-mop" ,sbcl-closer-mop)))
8843 (arguments
8844 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8845 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8846 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8847
8848(define-public cl-ana.clos-utils
8849 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8850
8851(define-public ecl-cl-ana.clos-utils
8852 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
71b76a9b
KCB
8853
8854(define-public sbcl-cl-ana.hash-table-utils
8855 (package
8856 (inherit sbcl-cl-ana-boot0)
8857 (name "sbcl-cl-ana.hash-table-utils")
8858 (arguments
8859 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8860 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8861 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8862
8863(define-public cl-ana.hash-table-utils
8864 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8865
8866(define-public ecl-cl-ana.hash-table-utils
8867 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
c20b30cb
KCB
8868
8869(define-public sbcl-cl-ana.map
8870 (package
8871 (inherit sbcl-cl-ana-boot0)
8872 (name "sbcl-cl-ana.map")
8873 (inputs
8874 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8875 (arguments
8876 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8877 ((#:asd-file _ "") "map/cl-ana.map.asd")
8878 ((#:asd-system-name _ #f) "cl-ana.map")))))
8879
8880(define-public cl-ana.map
8881 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8882
8883(define-public ecl-cl-ana.map
8884 (sbcl-package->ecl-package sbcl-cl-ana.map))
2f7d1dc5
KCB
8885
8886(define-public sbcl-cl-ana.fitting
8887 (package
8888 (inherit sbcl-cl-ana-boot0)
8889 (name "sbcl-cl-ana.fitting")
8890 (inputs
8891 `(("alexandria" ,sbcl-alexandria)
8892 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8893 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8894 ("cl-ana.map" ,sbcl-cl-ana.map)
8895 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8896 ("gsll" ,sbcl-gsll)))
8897 (arguments
8898 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8899 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8900 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8901
8902(define-public cl-ana.fitting
8903 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
dffb0c0e
KCB
8904
8905(define-public sbcl-cl-ana.histogram
8906 (package
8907 (inherit sbcl-cl-ana-boot0)
8908 (name "sbcl-cl-ana.histogram")
8909 (inputs
8910 `(("alexandria" ,sbcl-alexandria)
8911 ("iterate" ,sbcl-iterate)
8912 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8913 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8914 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8915 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8916 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8917 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8918 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8919 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8920 ("cl-ana.map" ,sbcl-cl-ana.map)
8921 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8922 (arguments
8923 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8924 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8925 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8926
8927(define-public cl-ana.histogram
8928 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
d6c13a8e
KCB
8929
8930(define-public sbcl-cl-ana.file-utils
8931 (package
8932 (inherit sbcl-cl-ana-boot0)
8933 (name "sbcl-cl-ana.file-utils")
8934 (inputs
8935 `(("external-program" ,sbcl-external-program)
8936 ("split-sequence" ,sbcl-split-sequence)))
8937 (arguments
8938 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8939 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8940 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8941
8942(define-public cl-ana.file-utils
8943 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8944
8945(define-public ecl-cl-ana.file-utils
8946 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
a47ce94c
KCB
8947
8948(define-public sbcl-cl-ana.statistics
8949 (package
8950 (inherit sbcl-cl-ana-boot0)
8951 (name "sbcl-cl-ana.statistics")
8952 (inputs
8953 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8954 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8955 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8956 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8957 ("cl-ana.map" ,sbcl-cl-ana.map)))
8958 (arguments
8959 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8960 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8961 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8962
8963(define-public cl-ana.statistics
8964 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
81e6c659
KCB
8965
8966(define-public sbcl-cl-ana.gnuplot-interface
8967 (package
8968 (inherit sbcl-cl-ana-boot0)
8969 (name "sbcl-cl-ana.gnuplot-interface")
8970 (inputs
8971 `(("external-program" ,sbcl-external-program)))
8972 (arguments
8973 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8974 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8975 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8976
8977(define-public cl-ana.gnuplot-interface
8978 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8979
8980(define-public ecl-cl-ana.gnuplot-interface
8981 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
0f5350c1
KCB
8982
8983(define-public sbcl-cl-ana.plotting
8984 (package
8985 (inherit sbcl-cl-ana-boot0)
8986 (name "sbcl-cl-ana.plotting")
8987 (inputs
8988 `(("alexandria" ,sbcl-alexandria)
8989 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8990 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8991 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8992 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8993 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8994 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8995 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8996 ("cl-ana.map" ,sbcl-cl-ana.map)
8997 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8998 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8999 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9000 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9001 ("external-program" ,sbcl-external-program)
9002 ("split-sequence" ,sbcl-split-sequence)))
9003 (arguments
9004 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9005 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
9006 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
9007
9008(define-public cl-ana.plotting
9009 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
d521d67a
KCB
9010
9011(define-public sbcl-cl-ana.table-viewing
9012 (package
9013 (inherit sbcl-cl-ana-boot0)
9014 (name "sbcl-cl-ana.table-viewing")
9015 (inputs
9016 `(("alexandria" ,sbcl-alexandria)
9017 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9018 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9019 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9020 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9021 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9022 ("cl-ana.table" ,sbcl-cl-ana.table)))
9023 (arguments
9024 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9025 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
9026 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
9027
9028(define-public cl-ana.table-viewing
9029 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
f97cc359
KCB
9030
9031(define-public sbcl-cl-ana.serialization
9032 (package
9033 (inherit sbcl-cl-ana-boot0)
9034 (name "sbcl-cl-ana.serialization")
9035 (inputs
9036 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9037 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9038 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9039 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9040 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9041 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9042 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
9043 (arguments
9044 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9045 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
9046 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
9047
9048(define-public cl-ana.serialization
9049 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
26b875f6
KCB
9050
9051(define-public sbcl-cl-ana.makeres
9052 (package
9053 (inherit sbcl-cl-ana-boot0)
9054 (name "sbcl-cl-ana.makeres")
9055 (inputs
9056 `(("alexandria" ,sbcl-alexandria)
9057 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9058 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9059 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9060 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9061 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9062 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9063 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9064 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9065 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9066 ("cl-ana.map" ,sbcl-cl-ana.map)
9067 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9068 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9069 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9070 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9071 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9072 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9073 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9074 ("cl-ana.table" ,sbcl-cl-ana.table)
9075 ("external-program" ,sbcl-external-program)))
9076 (native-inputs
9077 `(("cl-fad" ,sbcl-cl-fad)))
9078 (arguments
9079 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9080 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9081 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9082
9083(define-public cl-ana.makeres
9084 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
ad9e007e
KCB
9085
9086(define-public sbcl-cl-ana.makeres-macro
9087 (package
9088 (inherit sbcl-cl-ana-boot0)
9089 (name "sbcl-cl-ana.makeres-macro")
9090 (inputs
9091 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9092 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9093 (arguments
9094 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9095 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9096 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9097
9098(define-public cl-ana.makeres-macro
9099 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
98e5f45e
KCB
9100
9101(define-public sbcl-cl-ana.makeres-block
9102 (package
9103 (inherit sbcl-cl-ana-boot0)
9104 (name "sbcl-cl-ana.makeres-block")
9105 (inputs
9106 `(("alexandria" ,sbcl-alexandria)
9107 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9108 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9109 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9110 (arguments
9111 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9112 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9113 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9114
9115(define-public cl-ana.makeres-block
9116 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
5ae0b25e
KCB
9117
9118(define-public sbcl-cl-ana.makeres-progress
9119 (package
9120 (inherit sbcl-cl-ana-boot0)
9121 (name "sbcl-cl-ana.makeres-progress")
9122 (inputs
9123 `(("alexandria" ,sbcl-alexandria)
9124 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9125 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9126 (arguments
9127 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9128 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9129 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9130
9131(define-public cl-ana.makeres-progress
9132 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
a9810e70
KCB
9133
9134(define-public sbcl-cl-ana.makeres-table
9135 (package
9136 (inherit sbcl-cl-ana-boot0)
9137 (name "sbcl-cl-ana.makeres-table")
9138 (inputs
9139 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9140 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9141 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9142 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9143 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9144 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9145 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9146 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9147 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9148 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9149 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9150 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9151 ("cl-ana.table" ,sbcl-cl-ana.table)))
9152 (native-inputs
9153 `(("cl-fad" ,sbcl-cl-fad)))
9154 (arguments
9155 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9156 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9157 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9158
9159(define-public cl-ana.makeres-table
9160 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
2e43d80d
KCB
9161
9162(define-public sbcl-cl-ana.makeres-graphviz
9163 (package
9164 (inherit sbcl-cl-ana-boot0)
9165 (name "sbcl-cl-ana.makeres-graphviz")
9166 (inputs
9167 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9168 ("external-program" ,sbcl-external-program)))
9169 (arguments
9170 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9171 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9172 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9173
9174(define-public cl-ana.makeres-graphviz
9175 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
d154dd5a
KCB
9176
9177(define-public sbcl-cl-ana.makeres-branch
9178 (package
9179 (inherit sbcl-cl-ana-boot0)
9180 (name "sbcl-cl-ana.makeres-branch")
9181 (inputs
9182 `(("alexandria" ,sbcl-alexandria)
9183 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9184 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9185 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9186 ("cl-ana.map" ,sbcl-cl-ana.map)
9187 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9188 (arguments
9189 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9190 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9191 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9192
9193(define-public cl-ana.makeres-branch
9194 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
5f413815
KCB
9195
9196(define-public sbcl-cl-ana.makeres-utils
9197 (package
9198 (inherit sbcl-cl-ana-boot0)
9199 (name "sbcl-cl-ana.makeres-utils")
9200 (inputs
9201 `(("alexandria" ,sbcl-alexandria)
9202 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9203 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9204 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9205 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9206 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9207 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9208 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9209 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9210 ("cl-ana.map" ,sbcl-cl-ana.map)
9211 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9212 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9213 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9214 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9215 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9216 ("cl-ana.table" ,sbcl-cl-ana.table)))
9217 (native-inputs
9218 `(("cl-fad" ,sbcl-cl-fad)))
9219 (arguments
9220 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9221 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9222 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9223
9224(define-public cl-ana.makeres-utils
9225 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
c16e3dfb
KCB
9226
9227(define-public sbcl-cl-ana.statistical-learning
9228 (package
9229 (inherit sbcl-cl-ana-boot0)
9230 (name "sbcl-cl-ana.statistical-learning")
9231 (inputs
9232 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9233 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9234 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9235 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9236 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9237 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9238 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9239 ("cl-ana.map" ,sbcl-cl-ana.map)
9240 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9241 (native-inputs
9242 `(("cl-fad" ,sbcl-cl-fad)))
9243 (arguments
9244 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9245 ((#:asd-file _ "")
9246 "statistical-learning/cl-ana.statistical-learning.asd")
9247 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9248
9249(define-public cl-ana.statistical-learning
9250 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
13e3bc1c
KCB
9251
9252(define-public sbcl-cl-ana
9253 (package
9254 (inherit sbcl-cl-ana-boot0)
9255 (name "sbcl-cl-ana")
9256 (inputs
9257 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9258 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9259 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9260 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9261 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9262 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9263 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9264 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9265 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9266 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9267 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9268 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9269 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9270 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9271 ("cl-ana.map" ,sbcl-cl-ana.map)
9272 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9273 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9274 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9275 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9276 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9277 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9278 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9279 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9280 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9281 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9282 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9283 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9284 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9285 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9286 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9287 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9288 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9289 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9290 ("cl-ana.table" ,sbcl-cl-ana.table)
9291 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9292 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9293 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9294 ("libffi" ,libffi)))
9295 (native-inputs
9296 `(("cl-fad" ,sbcl-cl-fad)))
9297 (arguments
9298 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9299 ((#:asd-file _ "") "cl-ana.asd")
9300 ((#:asd-system-name _ #f) "cl-ana")))))
9301
9302(define-public cl-ana
9303 (sbcl-package->cl-source-package sbcl-cl-ana))
f35b596e
GLV
9304
9305(define-public sbcl-archive
9306 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9307 (revision "1"))
9308 (package
9309 (name "sbcl-archive")
9310 (version (git-version "0.9" revision commit))
9311 (source (origin
9312 (method git-fetch)
9313 (uri (git-reference
b0e7b699 9314 (url "https://github.com/sharplispers/archive")
f35b596e
GLV
9315 (commit commit)))
9316 (file-name (git-file-name name version))
9317 (sha256
9318 (base32
9319 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9320 (build-system asdf-build-system/sbcl)
9321 (inputs
9322 `(("cl-fad" ,sbcl-cl-fad)
9323 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9324 (synopsis "Common Lisp library for tar and cpio archives")
9325 (description
9326 "This is a Common Lisp library to read and write disk-based file
9327archives such as those generated by the tar and cpio programs on Unix.")
9328 (home-page "https://github.com/sharplispers/archive")
9329 (license license:bsd-3))))
9330
9331(define-public cl-archive
9332 (sbcl-package->cl-source-package sbcl-archive))
9333
9334(define-public ecl-archive
9335 (sbcl-package->ecl-package sbcl-archive))
33865d32
GLV
9336
9337(define-public sbcl-misc-extensions
9338 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9339 (revision "1"))
9340 (package
9341 (name "sbcl-misc-extensions")
9342 (version (git-version "3.3" revision commit))
9343 (source
9344 (origin
9345 (method git-fetch)
9346 (uri (git-reference
9347 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9348 (commit commit)))
9349 (file-name (git-file-name name version))
9350 (sha256
9351 (base32
9352 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9353 (build-system asdf-build-system/sbcl)
9354 (synopsis "Collection of small macros and extensions for Common Lisp")
9355 (description
9356 "This project is intended as a catchall for small, general-purpose
9357extensions to Common Lisp. It contains:
9358
9359@itemize
9360@item @code{new-let}, a macro that combines and generalizes @code{let},
9361@code{let*} and @code{multiple-value-bind},
9362@item @code{gmap}, an iteration macro that generalizes @code{map}.
9363@end itemize\n")
9364 (home-page "https://common-lisp.net/project/misc-extensions/")
9365 (license license:public-domain))))
9366
9367(define-public cl-misc-extensions
9368 (sbcl-package->cl-source-package sbcl-misc-extensions))
9369
9370(define-public ecl-misc-extensions
9371 (sbcl-package->ecl-package sbcl-misc-extensions))
7765f4a4
GLV
9372
9373(define-public sbcl-mt19937
9374 (package
9375 (name "sbcl-mt19937")
9376 (version "1.1")
9377 (source
9378 (origin
9379 (method url-fetch)
9380 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9381 "mt19937-latest.tar.gz"))
9382 (sha256
9383 (base32
9384 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9385 (build-system asdf-build-system/sbcl)
9386 (synopsis "Mersenne Twister pseudo-random number generator")
9387 (description
9388 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9389for Common Lisp.")
9390 (home-page "https://www.cliki.net/mt19937")
9391 (license license:public-domain)))
9392
9393(define-public cl-mt19937
9394 (sbcl-package->cl-source-package sbcl-mt19937))
9395
9396(define-public ecl-mt19937
9397 (sbcl-package->ecl-package sbcl-mt19937))
7ca8925f
GLV
9398
9399(define-public sbcl-fset
9400 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9401 (revision "1"))
9402 (package
9403 (name "sbcl-fset")
9404 (version (git-version "1.3.2" revision commit))
9405 (source
9406 (origin
9407 (method git-fetch)
9408 (uri (git-reference
9409 (url "https://github.com/slburson/fset")
9410 (commit commit)))
9411 (file-name (git-file-name name version))
9412 (sha256
9413 (base32
9414 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9415 (snippet '(begin
9416 ;; Remove obsolete copy of system definition.
9417 (delete-file "Code/fset.asd")
9418 #t))))
9419 (build-system asdf-build-system/sbcl)
9420 (inputs
9421 `(("misc-extensions" ,sbcl-misc-extensions)
9422 ("mt19937" ,sbcl-mt19937)
9423 ("named-readtables" ,sbcl-named-readtables)))
9424 (synopsis "Functional set-theoretic collections library")
9425 (description
9426 "FSet is a functional set-theoretic collections library for Common Lisp.
9427Functional means that all update operations return a new collection rather than
9428modifying an existing one in place. Set-theoretic means that collections may
9429be nested arbitrarily with no additional programmer effort; for instance, sets
9430may contain sets, maps may be keyed by sets, etc.")
9431 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9432 (license license:llgpl))))
9433
9434(define-public cl-fset
9435 (sbcl-package->cl-source-package sbcl-fset))
f7ce86ed
GLV
9436
9437(define-public sbcl-cl-cont
9438 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9439 (revision "1"))
9440 (package
9441 (name "sbcl-cl-cont")
9442 (version (git-version "0.3.8" revision commit))
9443 (source
9444 (origin
9445 (method git-fetch)
9446 (uri (git-reference
9447 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9448 (commit commit)))
9449 (file-name (git-file-name name version))
9450 (sha256
9451 (base32
9452 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9453 (build-system asdf-build-system/sbcl)
9454 (inputs
9455 `(("alexandria" ,sbcl-alexandria)
9456 ("closer-mop" ,sbcl-closer-mop)))
9457 (native-inputs
9458 `(("rt" ,sbcl-rt)))
9459 (synopsis "Delimited continuations for Common Lisp")
9460 (description
9461 "This is a library that implements delimited continuations by
9462transforming Common Lisp code to continuation passing style.")
9463 (home-page "https://common-lisp.net/project/cl-cont/")
9464 (license license:llgpl))))
9465
9466(define-public cl-cont
9467 (sbcl-package->cl-source-package sbcl-cl-cont))
9468
9469(define-public ecl-cl-cont
9470 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
9471
9472(define-public sbcl-cl-coroutine
9473 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9474 (revision "1"))
9475 (package
9476 (name "sbcl-cl-coroutine")
9477 (version (git-version "0.1" revision commit))
9478 (source
9479 (origin
9480 (method git-fetch)
9481 (uri (git-reference
b0e7b699 9482 (url "https://github.com/takagi/cl-coroutine")
4101c714
GLV
9483 (commit commit)))
9484 (file-name (git-file-name name version))
9485 (sha256
9486 (base32
9487 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9488 (build-system asdf-build-system/sbcl)
9489 (inputs
9490 `(("alexandria" ,sbcl-alexandria)
9491 ("cl-cont" ,sbcl-cl-cont)))
9492 (native-inputs
9493 `(("prove" ,sbcl-prove)))
9494 (arguments
9495 `(;; TODO: Fix the tests. They fail with:
9496 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9497 #:tests? #f
9498 #:phases
9499 (modify-phases %standard-phases
9500 (add-after 'unpack 'fix-tests
9501 (lambda _
9502 (substitute* "cl-coroutine-test.asd"
9503 (("cl-test-more")
9504 "prove"))
9505 #t)))))
9506 (synopsis "Coroutine library for Common Lisp")
9507 (description
9508 "This is a coroutine library for Common Lisp implemented using the
9509continuations of the @code{cl-cont} library.")
9510 (home-page "https://github.com/takagi/cl-coroutine")
9511 (license license:llgpl))))
9512
9513(define-public cl-coroutine
9514 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9515
9516(define-public ecl-cl-coroutine
9517 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
9518
9519(define-public sbcl-vom
9520 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9521 (revision "1"))
9522 (package
9523 (name "sbcl-vom")
9524 (version (git-version "0.1.4" revision commit))
9525 (source
9526 (origin
9527 (method git-fetch)
9528 (uri (git-reference
b0e7b699 9529 (url "https://github.com/orthecreedence/vom")
5b8bc813
GLV
9530 (commit commit)))
9531 (file-name (git-file-name name version))
9532 (sha256
9533 (base32
9534 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9535 (build-system asdf-build-system/sbcl)
9536 (synopsis "Tiny logging utility for Common Lisp")
9537 (description
9538 "Vom is a logging library for Common Lisp. It's goal is to be useful
9539and small. It does not provide a lot of features as other loggers do, but
9540has a small codebase that's easy to understand and use.")
9541 (home-page "https://github.com/orthecreedence/vom")
9542 (license license:expat))))
9543
9544(define-public cl-vom
9545 (sbcl-package->cl-source-package sbcl-vom))
9546
9547(define-public ecl-vom
9548 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
9549
9550(define-public sbcl-cl-libuv
9551 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9552 (revision "1"))
9553 (package
9554 (name "sbcl-cl-libuv")
9555 (version (git-version "0.1.6" revision commit))
9556 (source
9557 (origin
9558 (method git-fetch)
9559 (uri (git-reference
b0e7b699 9560 (url "https://github.com/orthecreedence/cl-libuv")
37b48dc1
GLV
9561 (commit commit)))
9562 (file-name (git-file-name name version))
9563 (sha256
9564 (base32
9565 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9566 (build-system asdf-build-system/sbcl)
9567 (inputs
9568 `(("alexandria" ,sbcl-alexandria)
9569 ("cffi" ,sbcl-cffi)
9570 ("cffi-grovel" ,sbcl-cffi-grovel)
9571 ("libuv" ,libuv)))
9572 (arguments
9573 `(#:phases
9574 (modify-phases %standard-phases
9575 (add-after 'unpack 'fix-paths
9576 (lambda* (#:key inputs #:allow-other-keys)
9577 (substitute* "lib.lisp"
9578 (("/usr/lib/libuv.so")
9579 (string-append (assoc-ref inputs "libuv")
9580 "/lib/libuv.so")))
9581 #t))
9582 (add-after 'fix-paths 'fix-system-definition
9583 (lambda _
9584 (substitute* "cl-libuv.asd"
9585 (("#:cffi #:alexandria")
9586 "#:cffi #:cffi-grovel #:alexandria"))
9587 #t)))))
9588 (synopsis "Common Lisp bindings to libuv")
9589 (description
9590 "This library provides low-level libuv bindings for Common Lisp.")
9591 (home-page "https://github.com/orthecreedence/cl-libuv")
9592 (license license:expat))))
9593
9594(define-public cl-libuv
9595 (sbcl-package->cl-source-package sbcl-cl-libuv))
9596
9597(define-public ecl-cl-libuv
9598 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb
GLV
9599
9600(define-public sbcl-cl-async-base
9601 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9602 (revision "1"))
9603 (package
9604 (name "sbcl-cl-async-base")
9605 (version (git-version "0.6.1" revision commit))
9606 (source
9607 (origin
9608 (method git-fetch)
9609 (uri (git-reference
b0e7b699 9610 (url "https://github.com/orthecreedence/cl-async")
1cc1dfbb
GLV
9611 (commit commit)))
9612 (file-name (git-file-name name version))
9613 (sha256
9614 (base32
9615 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9616 (build-system asdf-build-system/sbcl)
9617 (inputs
9618 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9619 ("cffi" ,sbcl-cffi)
9620 ("cl-libuv" ,sbcl-cl-libuv)))
9621 (arguments
9622 `(#:asd-file "cl-async.asd"))
9623 (synopsis "Base system for cl-async")
9624 (description
9625 "Cl-async is a library for general purpose, non-blocking programming in
9626Common Lisp. It uses the libuv library as backend.")
9627 (home-page "https://orthecreedence.github.io/cl-async/")
9628 (license license:expat))))
9629
9630(define-public cl-async-base
9631 (sbcl-package->cl-source-package sbcl-cl-async-base))
9632
9633(define-public ecl-cl-async-base
9634 (sbcl-package->ecl-package sbcl-cl-async-base))
370cf7f1
GLV
9635
9636(define-public sbcl-cl-async-util
9637 (package
9638 (inherit sbcl-cl-async-base)
9639 (name "sbcl-cl-async-util")
9640 (inputs
24de1f5a
GLV
9641 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9642 ("cffi" ,sbcl-cffi)
370cf7f1
GLV
9643 ("cl-async-base" ,sbcl-cl-async-base)
9644 ("cl-libuv" ,sbcl-cl-libuv)
9645 ("cl-ppcre" ,sbcl-cl-ppcre)
9646 ("fast-io" ,sbcl-fast-io)
9647 ("vom" ,sbcl-vom)))
9648 (synopsis "Internal utilities for cl-async")))
9649
9650(define-public cl-async-util
9651 (sbcl-package->cl-source-package sbcl-cl-async-util))
9652
9653(define-public ecl-cl-async-util
9654 (sbcl-package->ecl-package sbcl-cl-async-util))
8a0178dd
GLV
9655
9656(define-public sbcl-cl-async
9657 (package
9658 (inherit sbcl-cl-async-base)
9659 (name "sbcl-cl-async")
9660 (inputs
9661 `(("babel" ,sbcl-babel)
9662 ("cffi" ,sbcl-cffi)
9663 ("cl-async-base" ,sbcl-cl-async-base)
9664 ("cl-async-util" ,sbcl-cl-async-util)
9665 ("cl-libuv" ,sbcl-cl-libuv)
9666 ("cl-ppcre" ,sbcl-cl-ppcre)
9667 ("static-vectors" ,sbcl-static-vectors)
9668 ("trivial-features" ,sbcl-trivial-features)
9669 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9670 (synopsis "Asynchronous operations for Common Lisp")))
9671
9672(define-public cl-async
9673 (sbcl-package->cl-source-package sbcl-cl-async))
9674
9675(define-public ecl-cl-async
9676 (sbcl-package->ecl-package sbcl-cl-async))
19f36366
GLV
9677
9678(define-public sbcl-cl-async-repl
9679 (package
9680 (inherit sbcl-cl-async-base)
9681 (name "sbcl-cl-async-repl")
9682 (inputs
9683 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9684 ("cl-async" ,sbcl-cl-async)))
9685 (arguments
9686 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9687 ((#:asd-file _ "") "cl-async-repl.asd")))
9688 (synopsis "REPL integration for cl-async")))
9689
9690(define-public cl-async-repl
9691 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9692
9693(define-public ecl-cl-async-repl
9694 (sbcl-package->ecl-package sbcl-cl-async-repl))
ae51aa91
GLV
9695
9696(define-public sbcl-cl-async-ssl
9697 (package
9698 (inherit sbcl-cl-async-base)
9699 (name "sbcl-cl-async-ssl")
9700 (inputs
9701 `(("cffi" ,sbcl-cffi)
9702 ("cl-async" ,sbcl-cl-async)
9703 ("openssl" ,openssl)
9704 ("vom" ,sbcl-vom)))
9705 (arguments
9706 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9707 ((#:asd-file _ "") "cl-async-ssl.asd")
9708 ((#:phases phases '%standard-phases)
9709 `(modify-phases ,phases
9710 (add-after 'unpack 'fix-paths
9711 (lambda* (#:key inputs #:allow-other-keys)
9712 (substitute* "src/ssl/package.lisp"
9713 (("libcrypto\\.so")
9714 (string-append (assoc-ref inputs "openssl")
9715 "/lib/libcrypto.so"))
9716 (("libssl\\.so")
9717 (string-append (assoc-ref inputs "openssl")
9718 "/lib/libssl.so")))
9719 #t))))))
9720 (synopsis "SSL wrapper around cl-async socket implementation")))
9721
9722(define-public cl-async-ssl
9723 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9724
9725(define-public ecl-cl-async-ssl
9726 (sbcl-package->ecl-package sbcl-cl-async-ssl))
34f9b581
GLV
9727
9728(define-public sbcl-blackbird
9729 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9730 (revision "1"))
9731 (package
9732 (name "sbcl-blackbird")
9733 (version (git-version "0.5.2" revision commit))
9734 (source
9735 (origin
9736 (method git-fetch)
9737 (uri (git-reference
b0e7b699 9738 (url "https://github.com/orthecreedence/blackbird")
34f9b581
GLV
9739 (commit commit)))
9740 (file-name (git-file-name name version))
9741 (sha256
9742 (base32
9743 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9744 (build-system asdf-build-system/sbcl)
9745 (inputs
9746 `(("vom" ,sbcl-vom)))
9747 (native-inputs
9748 `(("cl-async" ,sbcl-cl-async)
9749 ("fiveam" ,sbcl-fiveam)))
9750 (synopsis "Promise implementation for Common Lisp")
9751 (description
9752 "This is a standalone promise implementation for Common Lisp. It is
9753the successor to the now-deprecated cl-async-future project.")
e0318062 9754 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
9755 (license license:expat))))
9756
9757(define-public cl-blackbird
9758 (sbcl-package->cl-source-package sbcl-blackbird))
9759
9760(define-public ecl-blackbird
9761 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9762
9763(define-public sbcl-cl-async-future
9764 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9765 (revision "1"))
9766 (package
9767 (name "sbcl-cl-async-future")
9768 (version (git-version "0.4.4.1" revision commit))
9769 (source
9770 (origin
9771 (method git-fetch)
9772 (uri (git-reference
b0e7b699 9773 (url "https://github.com/orthecreedence/cl-async-future")
c5eedf80
GLV
9774 (commit commit)))
9775 (file-name (git-file-name name version))
9776 (sha256
9777 (base32
9778 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9779 (build-system asdf-build-system/sbcl)
9780 (inputs
9781 `(("blackbird" ,sbcl-blackbird)))
9782 (native-inputs
9783 `(("cl-async" ,sbcl-cl-async)
9784 ("eos" ,sbcl-eos)))
9785 (synopsis "Futures implementation for Common Lisp")
9786 (description
9787 "This is futures implementation for Common Lisp. It plugs in nicely
9788to cl-async.")
e0318062 9789 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
9790 (license license:expat))))
9791
9792(define-public cl-async-future
9793 (sbcl-package->cl-source-package sbcl-cl-async-future))
9794
9795(define-public ecl-cl-async-future
9796 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9797
9798(define-public sbcl-green-threads
9799 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9800 (revision "1"))
9801 (package
9802 (name "sbcl-green-threads")
9803 (version (git-version "0.3" revision commit))
9804 (source
9805 (origin
9806 (method git-fetch)
9807 (uri (git-reference
b0e7b699 9808 (url "https://github.com/thezerobit/green-threads")
8ea00edf
GLV
9809 (commit commit)))
9810 (file-name (git-file-name name version))
9811 (sha256
9812 (base32
9813 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9814 (build-system asdf-build-system/sbcl)
9815 (inputs
9816 `(("cl-async-future" ,sbcl-cl-async-future)
9817 ("cl-cont" ,sbcl-cl-cont)))
9818 (native-inputs
9819 `(("prove" ,sbcl-prove)))
9820 (arguments
9821 `(;; TODO: Fix the tests. They fail with:
9822 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9823 #:tests? #f
9824 #:phases
9825 (modify-phases %standard-phases
9826 (add-after 'unpack 'fix-tests
9827 (lambda _
9828 (substitute* "green-threads-test.asd"
9829 (("cl-test-more")
9830 "prove"))
9831 #t)))))
9832 (synopsis "Cooperative multitasking library for Common Lisp")
9833 (description
9834 "This library allows for cooperative multitasking with help of cl-cont
9835for continuations. It tries to mimic the API of bordeaux-threads as much as
9836possible.")
9837 (home-page "https://github.com/thezerobit/green-threads")
9838 (license license:bsd-3))))
9839
9840(define-public cl-green-threads
9841 (sbcl-package->cl-source-package sbcl-green-threads))
9842
9843(define-public ecl-green-threads
9844 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9845
9846(define-public sbcl-cl-base32
9847 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9848 (revision "1"))
9849 (package
9850 (name "sbcl-cl-base32")
9851 (version (git-version "0.1" revision commit))
9852 (source
9853 (origin
9854 (method git-fetch)
9855 (uri (git-reference
b0e7b699 9856 (url "https://github.com/hargettp/cl-base32")
3ac0e64d
GLV
9857 (commit commit)))
9858 (file-name (git-file-name name version))
9859 (sha256
9860 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9861 (build-system asdf-build-system/sbcl)
9862 (native-inputs
9863 `(("lisp-unit" ,sbcl-lisp-unit)))
9864 (synopsis "Common Lisp library for base32 encoding and decoding")
9865 (description
9866 "This package provides functions for base32 encoding and decoding as
9867defined in RFC4648.")
9868 (home-page "https://github.com/hargettp/cl-base32")
9869 (license license:expat))))
9870
9871(define-public cl-base32
9872 (sbcl-package->cl-source-package sbcl-cl-base32))
9873
9874(define-public ecl-cl-base32
9875 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9876
9877(define-public sbcl-cl-z85
9878 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9879 (revision "1"))
9880 (package
9881 (name "sbcl-cl-z85")
9882 (version (git-version "1.0" revision commit))
9883 (source
9884 (origin
9885 (method git-fetch)
9886 (uri (git-reference
b0e7b699 9887 (url "https://github.com/glv2/cl-z85")
c5bbcb82
GLV
9888 (commit commit)))
9889 (file-name (git-file-name name version))
9890 (sha256
9891 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9892 (build-system asdf-build-system/sbcl)
9893 (native-inputs
9894 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9895 ("fiveam" ,sbcl-fiveam)))
9896 (synopsis "Common Lisp library for Z85 encoding and decoding")
9897 (description
9898 "This package provides functions to encode or decode byte vectors or
9899byte streams using the Z85 format, which is a base-85 encoding used by
9900ZeroMQ.")
9901 (home-page "https://github.com/glv2/cl-z85")
9902 (license license:gpl3+))))
9903
9904(define-public cl-z85
9905 (sbcl-package->cl-source-package sbcl-cl-z85))
9906
9907(define-public ecl-cl-z85
9908 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9909
9910(define-public sbcl-ltk
9911 (package
9912 (name "sbcl-ltk")
9913 (version "0.992")
9914 (source
9915 (origin
9916 (method git-fetch)
9917 (uri (git-reference
b0e7b699 9918 (url "https://github.com/herth/ltk")
d3a2df68
GLV
9919 (commit version)))
9920 (file-name (git-file-name name version))
9921 (sha256
9922 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9923 (build-system asdf-build-system/sbcl)
9924 (inputs
9925 `(("imagemagick" ,imagemagick)
9926 ("tk" ,tk)))
9927 (arguments
9928 `(#:asd-file "ltk/ltk.asd"
9929 #:tests? #f
9930 #:phases (modify-phases %standard-phases
9931 (add-after 'unpack 'fix-paths
9932 (lambda* (#:key inputs #:allow-other-keys)
9933 (substitute* "ltk/ltk.lisp"
9934 (("#-freebsd \"wish\"")
9935 (string-append "#-freebsd \""
9936 (assoc-ref inputs "tk")
9937 "/bin/wish\""))
9938 (("do-execute \"convert\"")
9939 (string-append "do-execute \""
9940 (assoc-ref inputs "imagemagick")
9941 "/bin/convert\"")))
9942 #t)))))
9943 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9944 (description
9945 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9946in pure Common Lisp and does not require any Tk knowledge for its usage.")
9947 (home-page "http://www.peter-herth.de/ltk/")
9948 (license license:llgpl)))
9949
9950(define-public cl-ltk
9951 (sbcl-package->cl-source-package sbcl-ltk))
9952
9953(define-public ecl-ltk
9954 (sbcl-package->ecl-package sbcl-ltk))
811747f9
GLV
9955
9956(define-public sbcl-ltk-mw
9957 (package
9958 (inherit sbcl-ltk)
9959 (name "sbcl-ltk-mw")
9960 (inputs
9961 `(("ltk" ,sbcl-ltk)))
9962 (arguments
9963 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9964 ((#:asd-file _) "ltk/ltk-mw.asd")
9965 ((#:phases _) '%standard-phases)))
9966 (synopsis "Extra widgets for LTK")
9967 (description
9968 "This is a collection of higher-level widgets built on top of LTK.")))
9969
9970(define-public cl-ltk-mw
9971 (sbcl-package->cl-source-package sbcl-ltk-mw))
9972
9973(define-public ecl-ltk-mw
9974 (sbcl-package->ecl-package sbcl-ltk-mw))
b72629eb
GLV
9975
9976(define-public sbcl-ltk-remote
9977 (package
9978 (inherit sbcl-ltk)
9979 (name "sbcl-ltk-remote")
9980 (inputs
9981 `(("ltk" ,sbcl-ltk)))
9982 (arguments
9983 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9984 ((#:asd-file _) "ltk/ltk-remote.asd")
9985 ((#:phases _) '%standard-phases)))
9986 (synopsis "Remote GUI support for LTK")
9987 (description
9988 "This LTK extension allows the GUI to be displayed on a computer different
9989from the one running the Lisp program by using a TCP connection.")))
9990
9991(define-public cl-ltk-remote
9992 (sbcl-package->cl-source-package sbcl-ltk-remote))
95abaafb
GLV
9993
9994(define-public sbcl-cl-lex
9995 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9996 (revision "1"))
9997 (package
9998 (name "sbcl-cl-lex")
9999 (version (git-version "1.1.3" revision commit))
10000 (source
10001 (origin
10002 (method git-fetch)
10003 (uri (git-reference
b0e7b699 10004 (url "https://github.com/djr7C4/cl-lex")
95abaafb
GLV
10005 (commit commit)))
10006 (file-name (git-file-name name version))
10007 (sha256
10008 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
10009 (build-system asdf-build-system/sbcl)
10010 (inputs
10011 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10012 (synopsis "Common Lisp macros for generating lexical analyzers")
10013 (description
10014 "This is a Common Lisp library providing a set of macros for generating
10015lexical analyzers automatically. The lexers generated using @code{cl-lex} can
10016be used with @code{cl-yacc}.")
10017 (home-page "https://github.com/djr7C4/cl-lex")
10018 (license license:gpl3))))
10019
10020(define-public cl-lex
10021 (sbcl-package->cl-source-package sbcl-cl-lex))
10022
10023(define-public ecl-cl-lex
10024 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
10025
10026(define-public sbcl-clunit2
10027 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
10028 (revision "1"))
10029 (package
10030 (name "sbcl-clunit2")
10031 (version (git-version "0.2.4" revision commit))
10032 (source
10033 (origin
10034 (method git-fetch)
10035 (uri (git-reference
10036 (url "https://notabug.org/cage/clunit2.git")
10037 (commit commit)))
10038 (file-name (git-file-name name version))
10039 (sha256
10040 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
10041 (build-system asdf-build-system/sbcl)
10042 (synopsis "Unit testing framework for Common Lisp")
10043 (description
10044 "CLUnit is a Common Lisp unit testing framework. It is designed to be
10045easy to use so that you can quickly start testing.")
10046 (home-page "https://notabug.org/cage/clunit2")
10047 (license license:expat))))
10048
10049(define-public cl-clunit2
10050 (sbcl-package->cl-source-package sbcl-clunit2))
10051
10052(define-public ecl-clunit2
10053 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
10054
10055(define-public sbcl-cl-colors2
10056 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
10057 (revision "1"))
10058 (package
10059 (name "sbcl-cl-colors2")
10060 (version (git-version "0.2.1" revision commit))
10061 (source
10062 (origin
10063 (method git-fetch)
10064 (uri (git-reference
10065 (url "https://notabug.org/cage/cl-colors2.git")
10066 (commit commit)))
10067 (file-name (git-file-name name version))
10068 (sha256
10069 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
10070 (build-system asdf-build-system/sbcl)
10071 (native-inputs
10072 `(("clunit2" ,sbcl-clunit2)))
10073 (inputs
10074 `(("alexandria" ,sbcl-alexandria)
10075 ("cl-ppcre" ,sbcl-cl-ppcre)))
10076 (synopsis "Color library for Common Lisp")
10077 (description
10078 "This is a very simple color library for Common Lisp, providing:
10079
10080@itemize
10081@item Types for representing colors in HSV and RGB spaces.
10082@item Simple conversion functions between the above types (and also
10083hexadecimal representation for RGB).
10084@item Some predefined colors (currently X11 color names -- of course
10085the library does not depend on X11).
10086@end itemize\n")
10087 (home-page "https://notabug.org/cage/cl-colors2")
10088 (license license:boost1.0))))
10089
10090(define-public cl-colors2
10091 (sbcl-package->cl-source-package sbcl-cl-colors2))
10092
10093(define-public ecl-cl-colors2
10094 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
10095
10096(define-public sbcl-cl-jpeg
10097 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10098 (revision "1"))
10099 (package
10100 (name "sbcl-cl-jpeg")
10101 (version (git-version "2.8" revision commit))
10102 (source
10103 (origin
10104 (method git-fetch)
10105 (uri (git-reference
b0e7b699 10106 (url "https://github.com/sharplispers/cl-jpeg")
d5f63a73
GLV
10107 (commit commit)))
10108 (file-name (git-file-name name version))
10109 (sha256
10110 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10111 (build-system asdf-build-system/sbcl)
10112 (synopsis "JPEG image library for Common Lisp")
10113 (description
10114 "This is a baseline JPEG codec written in Common Lisp. It can be used
10115for reading and writing JPEG image files.")
10116 (home-page "https://github.com/sharplispers/cl-jpeg")
10117 (license license:bsd-3))))
10118
10119(define-public cl-jpeg
10120 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10121
10122(define-public ecl-cl-jpeg
10123 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
10124
10125(define-public sbcl-nodgui
10126 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10127 (revision "1"))
10128 (package
10129 (name "sbcl-nodgui")
10130 (version (git-version "0.0.5" revision commit))
10131 (source
10132 (origin
10133 (method git-fetch)
10134 (uri (git-reference
10135 (url "https://notabug.org/cage/nodgui.git")
10136 (commit commit)))
10137 (file-name (git-file-name name version))
10138 (sha256
10139 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10140 (build-system asdf-build-system/sbcl)
10141 (inputs
10142 `(("alexandria" ,sbcl-alexandria)
10143 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10144 ("cl-colors2" ,sbcl-cl-colors2)
10145 ("cl-jpeg" ,sbcl-cl-jpeg)
10146 ("cl-lex" ,sbcl-cl-lex)
10147 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10148 ("cl-unicode" ,sbcl-cl-unicode)
10149 ("cl-yacc" ,sbcl-cl-yacc)
10150 ("clunit2" ,sbcl-clunit2)
10151 ("named-readtables" ,sbcl-named-readtables)
10152 ("parse-number" ,sbcl-parse-number)
10153 ("tk" ,tk)))
10154 (arguments
10155 `(#:phases (modify-phases %standard-phases
10156 (add-after 'unpack 'fix-paths
10157 (lambda* (#:key inputs #:allow-other-keys)
10158 (substitute* "src/wish-communication.lisp"
10159 (("#-freebsd \"wish\"")
10160 (string-append "#-freebsd \""
10161 (assoc-ref inputs "tk")
10162 "/bin/wish\"")))
10163 #t)))))
10164 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10165 (description
10166 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10167toolkit. It also provides a few additional widgets more than the standard Tk
10168ones.")
10169 (home-page "https://www.autistici.org/interzona/nodgui.html")
10170 (license license:llgpl))))
10171
10172(define-public cl-nodgui
10173 (sbcl-package->cl-source-package sbcl-nodgui))
10174
10175(define-public ecl-nodgui
10176 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
10177
10178(define-public sbcl-salza2
10179 (package
10180 (name "sbcl-salza2")
10181 (version "2.0.9")
10182 (source
10183 (origin
10184 (method git-fetch)
10185 (uri (git-reference
b0e7b699 10186 (url "https://github.com/xach/salza2")
46cc2a38
GLV
10187 (commit (string-append "release-" version))))
10188 (file-name (git-file-name name version))
10189 (sha256
10190 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10191 (build-system asdf-build-system/sbcl)
10192 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10193 (description
10194 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10195deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10196respectively.")
10197 (home-page "https://www.xach.com/lisp/salza2/")
10198 (license license:bsd-2)))
10199
10200(define-public cl-salza2
10201 (sbcl-package->cl-source-package sbcl-salza2))
10202
10203(define-public ecl-salza2
10204 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
10205
10206(define-public sbcl-png-read
10207 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10208 (revision "1"))
10209 (package
10210 (name "sbcl-png-read")
10211 (version (git-version "0.3.1" revision commit))
10212 (source
10213 (origin
10214 (method git-fetch)
10215 (uri (git-reference
b0e7b699 10216 (url "https://github.com/Ramarren/png-read")
d165821e
GLV
10217 (commit commit)))
10218 (file-name (git-file-name name version))
10219 (sha256
10220 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10221 (build-system asdf-build-system/sbcl)
10222 (inputs
10223 `(("babel" ,sbcl-babel)
10224 ("chipz" ,sbcl-chipz)
10225 ("iterate" ,sbcl-iterate)))
10226 (synopsis "PNG decoder for Common Lisp")
10227 (description "This is a Common Lisp library for reading PNG images.")
10228 (home-page "https://github.com/Ramarren/png-read")
10229 (license license:bsd-3))))
10230
10231(define-public cl-png-read
10232 (sbcl-package->cl-source-package sbcl-png-read))
10233
10234(define-public ecl-png-read
10235 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
10236
10237(define-public sbcl-zpng
10238 (package
10239 (name "sbcl-zpng")
10240 (version "1.2.2")
10241 (source
10242 (origin
10243 (method git-fetch)
10244 (uri (git-reference
b0e7b699 10245 (url "https://github.com/xach/zpng")
7b875e4e
GLV
10246 (commit (string-append "release-" version))))
10247 (file-name (git-file-name name version))
10248 (sha256
10249 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10250 (build-system asdf-build-system/sbcl)
10251 (inputs
10252 `(("salza2" ,sbcl-salza2)))
10253 (synopsis "PNG encoder for Common Lisp")
10254 (description "This is a Common Lisp library for creating PNG images.")
10255 (home-page "https://www.xach.com/lisp/zpng/")
10256 (license license:bsd-2)))
10257
10258(define-public cl-zpng
10259 (sbcl-package->cl-source-package sbcl-zpng))
10260
10261(define-public ecl-zpng
10262 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
10263
10264(define-public sbcl-cl-qrencode
10265 (package
10266 (name "sbcl-cl-qrencode")
10267 (version "0.1.2")
10268 (source
10269 (origin
10270 (method git-fetch)
10271 (uri (git-reference
b0e7b699 10272 (url "https://github.com/jnjcc/cl-qrencode")
5d4d4c01
GLV
10273 (commit (string-append "v" version))))
10274 (file-name (git-file-name name version))
10275 (sha256
10276 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10277 (build-system asdf-build-system/sbcl)
10278 (native-inputs
10279 `(("lisp-unit" ,sbcl-lisp-unit)))
10280 (inputs
10281 `(("zpng" ,sbcl-zpng)))
10282 (synopsis "QR code encoder for Common Lisp")
10283 (description
10284 "This Common Lisp library provides function to make QR codes and to save
10285them as PNG files.")
10286 (home-page "https://github.com/jnjcc/cl-qrencode")
10287 (license license:gpl2+)))
10288
10289(define-public cl-qrencode
10290 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10291
10292(define-public ecl-cl-qrencode
10293 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
10294
10295(define-public sbcl-hdf5-cffi
10296 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10297 (revision "1"))
10298 (package
10299 (name "sbcl-hdf5-cffi")
10300 (version (git-version "1.8.18" revision commit))
10301 (source
10302 (origin
10303 (method git-fetch)
10304 (uri (git-reference
b0e7b699 10305 (url "https://github.com/hdfgroup/hdf5-cffi")
c6397e3e
KH
10306 (commit commit)))
10307 (file-name (git-file-name name version))
10308 (sha256
10309 (base32
10310 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10311 (build-system asdf-build-system/sbcl)
10312 (synopsis "Common Lisp bindings for the HDF5 library")
10313 (description
10314 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10315 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10316 (license (license:non-copyleft
10317 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10318 commit
10319 "/LICENSE")))
10320 (inputs
10321 `(("cffi" ,sbcl-cffi)
10322 ("cffi-grovel" ,sbcl-cffi-grovel)
10323 ("hdf5" ,hdf5-1.10)))
10324 (native-inputs
10325 `(("fiveam" ,sbcl-fiveam)))
10326 (arguments
10327 `(#:asd-system-name "hdf5-cffi"
10328 #:asd-file "hdf5-cffi.asd"
10329 #:test-asd-file "hdf5-cffi.test.asd"
10330 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10331 ;; I don't know if there is a way to tell asdf-build-system to load
10332 ;; an additional system first, so tests are disabled.
10333 #:tests? #f
10334 #:phases
10335 (modify-phases %standard-phases
10336 (add-after 'unpack 'fix-paths
10337 (lambda* (#:key inputs #:allow-other-keys)
10338 (substitute* "src/library.lisp"
10339 (("libhdf5.so")
10340 (string-append
10341 (assoc-ref inputs "hdf5")
10342 "/lib/libhdf5.so")))))
10343 (add-after 'unpack 'fix-dependencies
10344 (lambda* (#:key inputs #:allow-other-keys)
10345 (substitute* "hdf5-cffi.asd"
10346 ((":depends-on \\(:cffi\\)")
10347 ":depends-on (:cffi :cffi-grovel)"))
10348 (substitute* "hdf5-cffi.test.asd"
10349 ((":depends-on \\(:cffi :hdf5-cffi")
10350 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10351
10352(define-public cl-hdf5-cffi
10353 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10354
10355(define-public ecl-hdf5-cffi
10356 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
10357
10358(define-public sbcl-cl-randist
10359 (package
10360 (name "sbcl-cl-randist")
10361 (version "0.4.2")
10362 (source
10363 (origin
10364 (method git-fetch)
10365 (uri (git-reference
b0e7b699 10366 (url "https://github.com/lvaruzza/cl-randist")
c6e6254a
KH
10367 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10368 (file-name (git-file-name name version))
10369 (sha256
10370 (base32
10371 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10372 (build-system asdf-build-system/sbcl)
10373 (synopsis "Random distributions for Common Lisp")
10374 (description
10375 "Manual translation from C to Common Lisp of some random number
10376generation functions from the GSL library.")
10377 (home-page "https://github.com/lvaruzza/cl-randist")
10378 (license license:bsd-2)
10379 (arguments
10380 `(#:asd-system-name "cl-randist"
10381 #:asd-file "cl-randist.asd"
10382 #:tests? #f))))
10383
10384(define-public cl-randist
10385 (sbcl-package->cl-source-package sbcl-cl-randist))
10386
10387(define-public ecl-cl-randist
10388 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
10389
10390(define-public sbcl-float-features
10391 (package
10392 (name "sbcl-float-features")
10393 (version "1.0.0")
10394 (source
10395 (origin
10396 (method git-fetch)
10397 (uri (git-reference
b0e7b699 10398 (url "https://github.com/Shinmera/float-features")
41884bfa
KH
10399 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10400 (file-name (git-file-name name version))
10401 (sha256
10402 (base32
10403 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10404 (build-system asdf-build-system/sbcl)
10405 (synopsis "Common Lisp IEEE float portability library")
10406 (description
10407 "Portability library for IEEE float features that are not
10408covered by the Common Lisp standard.")
10409 (home-page "https://github.com/Shinmera/float-features")
10410 (license license:zlib)
10411 (inputs
10412 `(("documentation-utils" ,sbcl-documentation-utils)))
10413 (arguments
10414 `(#:asd-system-name "float-features"
10415 #:asd-file "float-features.asd"
10416 #:tests? #f))))
10417
10418(define-public cl-float-features
10419 (sbcl-package->cl-source-package sbcl-float-features))
10420
10421(define-public ecl-float-features
10422 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
10423
10424(define-public sbcl-function-cache
10425 (package
10426 (name "sbcl-function-cache")
10427 (version "1.0.3")
10428 (source
10429 (origin
10430 (method git-fetch)
10431 (uri (git-reference
b0e7b699 10432 (url "https://github.com/AccelerationNet/function-cache")
06327c30
KH
10433 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10434 (file-name (git-file-name name version))
10435 (sha256
10436 (base32
10437 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10438 (build-system asdf-build-system/sbcl)
10439 (synopsis "Function caching / memoization library for Common Lisp")
10440 (description
10441 "A common lisp library that provides extensible function result
10442caching based on arguments (an expanded form of memoization).")
10443 (home-page "https://github.com/AccelerationNet/function-cache")
10444 (license
10445 (license:non-copyleft
10446 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10447 (inputs
10448 `(("alexandria" ,sbcl-alexandria)
10449 ("cl-interpol" ,sbcl-cl-interpol)
10450 ("iterate" ,sbcl-iterate)
10451 ("symbol-munger" ,sbcl-symbol-munger)
10452 ("closer-mop" ,sbcl-closer-mop)))
10453 (arguments
10454 `(#:asd-system-name "function-cache"
10455 #:asd-file "function-cache.asd"
10456 #:tests? #f))))
10457
10458(define-public cl-function-cache
10459 (sbcl-package->cl-source-package sbcl-function-cache))
10460
10461(define-public ecl-function-cache
10462 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87
KH
10463
10464(define-public sbcl-type-r
10465 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10466 (revision "1"))
10467 (package
10468 (name "sbcl-type-r")
10469 (version (git-version "0.0.0" revision commit))
10470 (source
10471 (origin
10472 (method git-fetch)
10473 (uri (git-reference
b0e7b699 10474 (url "https://github.com/guicho271828/type-r")
e4f7ef87
KH
10475 (commit commit)))
10476 (file-name (git-file-name name version))
10477 (sha256
10478 (base32
10479 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10480 (build-system asdf-build-system/sbcl)
10481 (synopsis "Parser interface for Common Lisp built-in compound types")
10482 (description
10483 "Collections of accessor functions and patterns to access
10484the elements in compound type specifier, e.g. @code{dimensions} in
10485@code{(array element-type dimensions)}")
10486 (home-page "https://github.com/guicho271828/type-r")
10487 (license license:lgpl3+)
10488 (inputs
10489 `(("trivia" ,sbcl-trivia)
10490 ("alexandria" ,sbcl-alexandria)))
10491 (native-inputs
10492 `(("fiveam" ,sbcl-fiveam)))
10493 (arguments
10494 `(#:asd-system-name "type-r"
10495 #:asd-file "type-r.asd"
10496 #:test-asd-file "type-r.test.asd")))))
10497
10498(define-public cl-type-r
10499 (sbcl-package->cl-source-package sbcl-type-r))
8926866e
KH
10500
10501(define-public sbcl-trivialib-type-unify
10502 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10503 (revision "1"))
10504 (package
10505 (name "sbcl-trivialib-type-unify")
10506 (version (git-version "0.1" revision commit))
10507 (source
10508 (origin
10509 (method git-fetch)
10510 (uri (git-reference
b0e7b699 10511 (url "https://github.com/guicho271828/trivialib.type-unify")
8926866e
KH
10512 (commit commit)))
10513 (file-name (git-file-name name version))
10514 (sha256
10515 (base32
10516 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10517 (build-system asdf-build-system/sbcl)
10518 (synopsis "Common Lisp type unification")
10519 (description
10520 "Unifies a parametrized type specifier against an actual type specifier.
10521Importantly, it handles complicated array-subtypes and number-related types
10522correctly.")
10523 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10524 (license license:lgpl3+)
10525 (inputs
10526 `(("alexandria" ,sbcl-alexandria)
10527 ("trivia" ,sbcl-trivia)
10528 ("introspect-environment" ,sbcl-introspect-environment)
10529 ("type-r" ,sbcl-type-r)))
10530 (native-inputs
10531 `(("fiveam" ,sbcl-fiveam)))
10532 (arguments
10533 `(#:asd-system-name "trivialib.type-unify"
10534 #:asd-file "trivialib.type-unify.asd"
10535 #:test-asd-file "trivialib.type-unify.test.asd")))))
10536
10537(define-public cl-trivialib-type-unify
10538 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f
KH
10539
10540(define-public sbcl-specialized-function
10541 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10542 (revision "1"))
10543 (package
10544 (name "sbcl-specialized-function")
10545 (version (git-version "0.0.0" revision commit))
10546 (source
10547 (origin
10548 (method git-fetch)
10549 (uri (git-reference
b0e7b699 10550 (url "https://github.com/numcl/specialized-function")
ca6c5c7f
KH
10551 (commit commit)))
10552 (file-name (git-file-name name version))
10553 (sha256
10554 (base32
10555 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10556 (build-system asdf-build-system/sbcl)
10557 (synopsis "Julia-like dispatch for Common Lisp")
10558 (description
10559 "This library is part of NUMCL. It provides a macro
10560@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10561lazily compiling a type-specific version of the function from the same
10562code. The main target of this macro is speed.")
10563 (home-page "https://github.com/numcl/specialized-function")
10564 (license license:lgpl3+)
10565 (inputs
10566 `(("trivia" ,sbcl-trivia)
10567 ("alexandria" ,sbcl-alexandria)
10568 ("iterate" ,sbcl-iterate)
10569 ("lisp-namespace" ,sbcl-lisp-namespace)
10570 ("type-r" ,sbcl-type-r)
10571 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10572 (native-inputs
10573 `(("fiveam" ,sbcl-fiveam)))
10574 (arguments
10575 `(#:asd-system-name "specialized-function"
10576 #:asd-file "specialized-function.asd"
10577 #:test-asd-file "specialized-function.test.asd")))))
10578
10579(define-public cl-specialized-function
10580 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95
KH
10581
10582(define-public sbcl-constantfold
10583 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10584 (revision "1"))
10585 (package
10586 (name "sbcl-constantfold")
10587 (version (git-version "0.1" revision commit))
10588 (source
10589 (origin
10590 (method git-fetch)
10591 (uri (git-reference
b0e7b699 10592 (url "https://github.com/numcl/constantfold")
6e0f2b95
KH
10593 (commit commit)))
10594 (file-name (git-file-name name version))
10595 (sha256
10596 (base32
10597 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10598 (build-system asdf-build-system/sbcl)
10599 (synopsis "Support library for numcl")
10600 (description
10601 "Support library for numcl. Registers a function as an
10602additional form that is considered as a candidate for a constant.")
10603 (home-page "https://github.com/numcl/constantfold")
10604 (license license:lgpl3+)
10605 (inputs
10606 `(("trivia" ,sbcl-trivia)
10607 ("alexandria" ,sbcl-alexandria)
10608 ("iterate" ,sbcl-iterate)
10609 ("lisp-namespace" ,sbcl-lisp-namespace)))
10610 (native-inputs
10611 `(("fiveam" ,sbcl-fiveam)))
10612 (arguments
10613 `(#:asd-system-name "constantfold"
10614 #:asd-file "constantfold.asd"
10615 #:test-asd-file "constantfold.test.asd")))))
10616
10617(define-public cl-constantfold
10618 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186
KH
10619
10620(define-public sbcl-gtype
10621 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10622 (revision "1"))
10623 (package
10624 (name "sbcl-gtype")
10625 (version (git-version "0.1" revision commit))
10626 (source
10627 (origin
10628 (method git-fetch)
10629 (uri (git-reference
b0e7b699 10630 (url "https://github.com/numcl/gtype")
5ce7d186
KH
10631 (commit commit)))
10632 (file-name (git-file-name name version))
10633 (sha256
10634 (base32
10635 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10636 (build-system asdf-build-system/sbcl)
10637 (synopsis "C++/Julia-like parametric types in Common Lisp")
10638 (description
10639 "Support library for numcl that provides Julia-like runtime parametric
10640type correctness in Common Lisp. It is based on CLtL2 extensions.")
10641 (home-page "https://github.com/numcl/gtype")
10642 (license license:lgpl3+)
10643 (inputs
10644 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10645 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10646 ("trivia" ,sbcl-trivia)
10647 ("alexandria" ,sbcl-alexandria)
10648 ("iterate" ,sbcl-iterate)
10649 ("type-r" ,sbcl-type-r)))
10650 (native-inputs
10651 `(("fiveam" ,sbcl-fiveam)))
10652 (arguments
10653 `(#:asd-system-name "gtype"
10654 #:asd-file "gtype.asd"
10655 #:test-asd-file "gtype.test.asd")))))
10656
10657(define-public cl-gtype
10658 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200
KH
10659
10660(define-public sbcl-numcl
10661 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10662 (revision "1"))
10663 (package
10664 (name "sbcl-numcl")
10665 (version (git-version "0.1.0" revision commit))
10666 (source
10667 (origin
10668 (method git-fetch)
10669 (uri (git-reference
b0e7b699 10670 (url "https://github.com/numcl/numcl")
7ad12200
KH
10671 (commit commit)))
10672 (file-name (git-file-name name version))
10673 (sha256
10674 (base32
10675 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10676 (build-system asdf-build-system/sbcl)
10677 (synopsis "Numpy clone in Common Lisp")
10678 (description
10679 "This is a Numpy clone in Common Lisp. At the moment the
10680library is written in pure Common Lisp, focusing more on correctness
10681and usefulness, not speed. Track the progress at
10682@url{https://github.com/numcl/numcl/projects/1}.")
10683 (home-page "https://github.com/numcl/numcl")
10684 (license license:lgpl3+)
10685 (inputs
10686 `(("trivia" ,sbcl-trivia)
10687 ("alexandria" ,sbcl-alexandria)
10688 ("iterate" ,sbcl-iterate)
10689 ("lisp-namespace" ,sbcl-lisp-namespace)
10690 ("type-r" ,sbcl-type-r)
10691 ("constantfold" ,sbcl-constantfold)
10692 ("cl-randist" ,sbcl-cl-randist)
10693 ("float-features" ,sbcl-float-features)
10694 ("function-cache" ,sbcl-function-cache)
10695 ("specialized-function" ,sbcl-specialized-function)
10696 ("gtype" ,sbcl-gtype)))
10697 (native-inputs
10698 `(("fiveam" ,sbcl-fiveam)))
10699 (arguments
10700 `(#:asd-system-name "numcl"
10701 #:asd-file "numcl.asd"
10702 #:test-asd-file "numcl.test.asd")))))
10703
10704(define-public cl-numcl
10705 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410
GLV
10706
10707(define-public sbcl-pzmq
10708 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10709 (revision "1"))
10710 (package
10711 (name "sbcl-pzmq")
10712 (version (git-version "0.0.0" revision commit))
10713 (source
10714 (origin
10715 (method git-fetch)
10716 (uri (git-reference
b0e7b699 10717 (url "https://github.com/orivej/pzmq")
a3f6c410
GLV
10718 (commit commit)))
10719 (file-name (git-file-name name version))
10720 (sha256
10721 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10722 (build-system asdf-build-system/sbcl)
10723 (native-inputs
10724 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10725 ("fiveam" ,sbcl-fiveam)
10726 ("let-plus" ,sbcl-let-plus)))
10727 (inputs
10728 `(("cffi" ,sbcl-cffi)
10729 ("cffi-grovel" ,sbcl-cffi-grovel)
10730 ("zeromq" ,zeromq)))
10731 (arguments
10732 `(#:phases (modify-phases %standard-phases
10733 (add-after 'unpack 'fix-paths
10734 (lambda* (#:key inputs #:allow-other-keys)
10735 (substitute* "c-api.lisp"
10736 (("\"libzmq")
10737 (string-append "\""
10738 (assoc-ref inputs "zeromq")
10739 "/lib/libzmq")))
10740 #t)))))
10741 (synopsis "Common Lisp bindings for the ZeroMQ library")
10742 (description "This Common Lisp library provides bindings for the ZeroMQ
10743lightweight messaging kernel.")
10744 (home-page "https://github.com/orivej/pzmq")
10745 (license license:unlicense))))
10746
10747(define-public cl-pzmq
10748 (sbcl-package->cl-source-package sbcl-pzmq))
10749
10750(define-public ecl-pzmq
10751 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10752
10753(define-public sbcl-clss
10754 (let ((revision "1")
10755 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10756 (package
10757 (name "sbcl-clss")
10758 (version (git-version "0.3.1" revision commit))
10759 (source
10760 (origin
10761 (method git-fetch)
10762 (uri
10763 (git-reference
b0e7b699 10764 (url "https://github.com/Shinmera/clss")
cfc9004e
DD
10765 (commit commit)))
10766 (sha256
10767 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10768 (file-name (git-file-name name version))))
10769 (inputs
10770 `(("array-utils" ,sbcl-array-utils)
10771 ("plump" ,sbcl-plump)))
10772 (build-system asdf-build-system/sbcl)
10773 (synopsis "DOM tree searching engine based on CSS selectors")
10774 (description "CLSS is a DOM traversal engine based on CSS
10775selectors. It makes use of the Plump-DOM and is used by lQuery.")
10776 (home-page "https://github.com/Shinmera/clss")
10777 (license license:zlib))))
10778
10779(define-public cl-clss
10780 (sbcl-package->cl-source-package sbcl-clss))
10781
10782(define-public ecl-clss
10783 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10784
10785(define-public sbcl-lquery
10786 (let ((revision "1")
10787 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10788 (package
10789 (name "sbcl-lquery")
10790 (version (git-version "3.2.1" revision commit))
10791 (source
10792 (origin
10793 (method git-fetch)
10794 (uri
10795 (git-reference
b0e7b699 10796 (url "https://github.com/Shinmera/lquery")
eb859957
DD
10797 (commit commit)))
10798 (sha256
10799 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10800 (file-name (git-file-name name version))))
10801 (native-inputs
10802 `(("fiveam" ,sbcl-fiveam)))
10803 (inputs
10804 `(("array-utils" ,sbcl-array-utils)
10805 ("form-fiddle" ,sbcl-form-fiddle)
10806 ("plump" ,sbcl-plump)
10807 ("clss" ,sbcl-clss)))
10808 (build-system asdf-build-system/sbcl)
10809 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10810 (description "@code{lQuery} is a DOM manipulation library written in
10811Common Lisp, inspired by and based on the jQuery syntax and
10812functions. It uses Plump and CLSS as DOM and selector engines. The
10813main idea behind lQuery is to provide a simple interface for crawling
10814and modifying HTML sites, as well as to allow for an alternative
10815approach to templating.")
10816 (home-page "https://github.com/Shinmera/lquery")
10817 (license license:zlib))))
10818
10819(define-public cl-lquery
10820 (sbcl-package->cl-source-package sbcl-lquery))
10821
10822(define-public ecl-lquery
10823 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10824
10825(define-public sbcl-cl-mysql
10826 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10827 (revision "1"))
10828 (package
10829 (name "sbcl-cl-mysql")
10830 (version (git-version "0.1" revision commit))
10831 (source
10832 (origin
10833 (method git-fetch)
10834 (uri (git-reference
b0e7b699 10835 (url "https://github.com/hackinghat/cl-mysql")
8a6c0f55
GLV
10836 (commit commit)))
10837 (file-name (git-file-name name version))
10838 (sha256
10839 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10840 (build-system asdf-build-system/sbcl)
10841 (native-inputs
10842 `(("stefil" ,sbcl-stefil)))
10843 (inputs
10844 `(("cffi" ,sbcl-cffi)
10845 ("mariadb-lib" ,mariadb "lib")))
10846 (arguments
10847 `(#:tests? #f ; TODO: Tests require a running server
10848 #:phases
10849 (modify-phases %standard-phases
10850 (add-after 'unpack 'fix-paths
10851 (lambda* (#:key inputs #:allow-other-keys)
10852 (substitute* "system.lisp"
10853 (("libmysqlclient_r" all)
10854 (string-append (assoc-ref inputs "mariadb-lib")
10855 "/lib/"
10856 all)))
10857 #t)))))
10858 (synopsis "Common Lisp wrapper for MySQL")
10859 (description
10860 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10861 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10862 (license license:expat))))
10863
10864(define-public cl-mysql
10865 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2
GLV
10866
10867(define-public sbcl-simple-date
10868 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10869 (revision "1"))
10870 (package
10871 (name "sbcl-simple-date")
10872 (version (git-version "1.19" revision commit))
10873 (source
10874 (origin
10875 (method git-fetch)
10876 (uri (git-reference
b0e7b699 10877 (url "https://github.com/marijnh/Postmodern")
c79ea1a2
GLV
10878 (commit commit)))
10879 (file-name (git-file-name name version))
10880 (sha256
10881 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10882 (build-system asdf-build-system/sbcl)
10883 (native-inputs
10884 `(("fiveam" ,sbcl-fiveam)))
10885 (synopsis "Basic date and time objects for Common Lisp")
10886 (description
10887 "@code{simple-date} is a very basic implementation of date and time
10888objects, used to support storing and retrieving time-related SQL types.")
10889 (home-page "https://marijnhaverbeke.nl/postmodern/")
10890 (license license:zlib))))
10891
10892(define-public cl-simple-date
10893 (sbcl-package->cl-source-package sbcl-simple-date))
10894
10895(define-public ecl-simple-date
10896 (sbcl-package->ecl-package sbcl-simple-date))
f5203d25
GLV
10897
10898(define-public sbcl-cl-postgres
10899 (package
10900 (inherit sbcl-simple-date)
10901 (name "sbcl-cl-postgres")
10902 (native-inputs
10903 `(("fiveam" ,sbcl-fiveam)
10904 ("simple-date" ,sbcl-simple-date)))
10905 (inputs
10906 `(("md5" ,sbcl-md5)
10907 ("split-sequence" ,sbcl-split-sequence)
10908 ("usocket" ,sbcl-usocket)))
10909 (arguments
10910 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10911 (synopsis "Common Lisp interface for PostgreSQL")
10912 (description
10913 "@code{cl-postgres} is a low-level library used for interfacing with
10914a PostgreSQL server over a socket.")))
10915
10916(define-public cl-postgres
10917 (sbcl-package->cl-source-package sbcl-cl-postgres))
acba62d9 10918
257cf3e7
PN
10919(define-public ecl-cl-postgres
10920 (package
10921 (inherit (sbcl-package->ecl-package sbcl-cl-postgres))
10922 (arguments
10923 `(#:phases
10924 (modify-phases %standard-phases
10925 (add-after 'unpack 'fix-ecl
10926 (lambda _
10927 (substitute* "cl-postgres.asd"
10928 (("\\) \"usocket\"") " :ecl) \"usocket\""))
10929 #t)))
10930 #:tests? #f))))
10931
acba62d9
GLV
10932(define-public sbcl-simple-date-postgres-glue
10933 (package
10934 (inherit sbcl-simple-date)
10935 (name "sbcl-simple-date-postgres-glue")
10936 (inputs
10937 `(("cl-postgres" ,sbcl-cl-postgres)
10938 ("simple-date" ,sbcl-simple-date)))
10939 (arguments
10940 `(#:asd-file "simple-date.asd"
10941 #:asd-system-name "simple-date/postgres-glue"))))
10942
10943(define-public cl-simple-date-postgres-glue
10944 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
88dbe39b
GLV
10945
10946(define-public sbcl-s-sql
10947 (package
10948 (inherit sbcl-simple-date)
10949 (name "sbcl-s-sql")
10950 (inputs
10951 `(("alexandria" ,sbcl-alexandria)
10952 ("cl-postgres" ,sbcl-cl-postgres)))
10953 (arguments
10954 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
10955 (synopsis "Lispy DSL for SQL")
10956 (description
10957 "@code{s-sql} is a Common Lisp library that can be used to compile
10958s-expressions to strings of SQL code, escaping any Lisp values inside, and
10959doing as much as possible of the work at compile time.")))
10960
10961(define-public cl-s-sql
10962 (sbcl-package->cl-source-package sbcl-s-sql))
add1a356
GLV
10963
10964(define-public sbcl-postmodern
10965 (package
10966 (inherit sbcl-simple-date)
10967 (name "sbcl-postmodern")
10968 (native-inputs
10969 `(("fiveam" ,sbcl-fiveam)
10970 ("simple-date" ,sbcl-simple-date)
10971 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
10972 (inputs
10973 `(("alexandria" ,sbcl-alexandria)
10974 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10975 ("cl-postgres" ,sbcl-cl-postgres)
10976 ("closer-mop" ,sbcl-closer-mop)
10977 ("global-vars" ,sbcl-global-vars)
10978 ("s-sql" ,sbcl-s-sql)
10979 ("split-sequence" ,sbcl-split-sequence)))
10980 (arguments
10981 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
10982 ;; cl-postgres/tests and s-sql/tests.
10983 `(#:tests? #f))
10984 (synopsis "Common Lisp library for interacting with PostgreSQL")
10985 (description
10986 "@code{postmodern} is a Common Lisp library for interacting with
10987PostgreSQL databases. It provides the following features:
10988
10989@itemize
10990@item Efficient communication with the database server without need for
10991foreign libraries.
10992@item Support for UTF-8 on Unicode-aware Lisp implementations.
10993@item A syntax for mixing SQL and Lisp code.
10994@item Convenient support for prepared statements and stored procedures.
10995@item A metaclass for simple database-access objects.
10996@end itemize\n")))
10997
10998(define-public cl-postmodern
10999 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0
GLV
11000
11001(define-public sbcl-dbi
11002 (package
11003 (name "sbcl-dbi")
11004 (version "0.9.4")
11005 (source
11006 (origin
11007 (method git-fetch)
11008 (uri (git-reference
b0e7b699 11009 (url "https://github.com/fukamachi/cl-dbi")
47a6cde0
GLV
11010 (commit version)))
11011 (file-name (git-file-name name version))
11012 (sha256
11013 (base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs"))))
11014 (build-system asdf-build-system/sbcl)
11015 (inputs
11016 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11017 ("closer-mop" ,sbcl-closer-mop)
11018 ("split-sequence" ,sbcl-split-sequence)))
11019 (arguments
11020 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
11021 (synopsis "Database independent interface for Common Lisp")
11022 (description
11023 "@code{dbi} is a Common Lisp library providing a database independent
11024interface for MySQL, PostgreSQL and SQLite.")
11025 (home-page "https://github.com/fukamachi/cl-dbi")
11026 (license license:llgpl)))
11027
11028(define-public cl-dbi
11029 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81
GLV
11030
11031(define-public sbcl-dbd-mysql
11032 (package
11033 (inherit sbcl-dbi)
11034 (name "sbcl-dbd-mysql")
11035 (inputs
11036 `(("cl-mysql" ,sbcl-cl-mysql)
11037 ("dbi" ,sbcl-dbi)))
11038 (synopsis "Database driver for MySQL")))
11039
11040(define-public cl-dbd-mysql
11041 (sbcl-package->cl-source-package sbcl-dbd-mysql))
af469826
GLV
11042
11043(define-public sbcl-dbd-postgres
11044 (package
11045 (inherit sbcl-dbi)
11046 (name "sbcl-dbd-postgres")
11047 (inputs
11048 `(("cl-postgres" ,sbcl-cl-postgres)
11049 ("dbi" ,sbcl-dbi)
11050 ("trivial-garbage" ,sbcl-trivial-garbage)))
11051 (synopsis "Database driver for PostgreSQL")))
11052
11053(define-public cl-dbd-postgres
11054 (sbcl-package->cl-source-package sbcl-dbd-postgres))
0e9fc3d6
GLV
11055
11056(define-public sbcl-dbd-sqlite3
11057 (package
11058 (inherit sbcl-dbi)
11059 (name "sbcl-dbd-sqlite3")
11060 (inputs
11061 `(("cl-sqlite" ,sbcl-cl-sqlite)
11062 ("dbi" ,sbcl-dbi)
11063 ("trivial-garbage" ,sbcl-trivial-garbage)))
11064 (synopsis "Database driver for SQLite3")))
11065
11066(define-public cl-dbd-sqlite3
11067 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
1aa7ad1f
GLV
11068
11069(define-public sbcl-uffi
11070 (package
11071 (name "sbcl-uffi")
11072 (version "2.1.2")
11073 (source
11074 (origin
11075 (method git-fetch)
11076 (uri (git-reference
11077 (url "http://git.kpe.io/uffi.git")
11078 (commit (string-append "v" version))))
11079 (file-name (git-file-name name version))
11080 (sha256
11081 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
11082 (build-system asdf-build-system/sbcl)
11083 (arguments
11084 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
11085 #:phases
11086 (modify-phases %standard-phases
11087 (add-after 'unpack 'fix-permissions
11088 (lambda _
11089 (make-file-writable "doc/html.tar.gz")
11090 #t)))))
11091 (synopsis "Universal foreign function library for Common Lisp")
11092 (description
11093 "UFFI provides a universal foreign function interface (FFI)
11094 for Common Lisp.")
11095 (home-page "http://quickdocs.org/uffi/")
11096 (license license:llgpl)))
11097
11098(define-public cl-uffi
11099 (package
11100 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11101 (arguments
11102 `(#:phases
11103 ;; asdf-build-system/source has its own phases and does not inherit
11104 ;; from asdf-build-system/sbcl phases.
11105 (modify-phases %standard-phases/source
11106 (add-after 'unpack 'fix-permissions
11107 (lambda _
11108 (make-file-writable "doc/html.tar.gz")
11109 #t)))))))
5ae56f68
GLV
11110
11111(define-public sbcl-clsql
11112 (package
11113 (name "sbcl-clsql")
11114 (version "6.7.0")
11115 (source
11116 (origin
11117 (method git-fetch)
11118 (uri (git-reference
11119 (url "http://git.kpe.io/clsql.git")
11120 (commit (string-append "v" version))))
11121 (file-name (git-file-name name version))
11122 (sha256
11123 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11124 (snippet
11125 '(begin
11126 ;; Remove precompiled libraries.
11127 (delete-file "db-mysql/clsql_mysql.dll")
11128 (delete-file "uffi/clsql_uffi.dll")
11129 (delete-file "uffi/clsql_uffi.lib")
11130 #t))))
11131 (build-system asdf-build-system/sbcl)
11132 (native-inputs
11133 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11134 ("rt" ,sbcl-rt)
11135 ("uffi" ,sbcl-uffi)))
11136 (arguments
11137 `(#:phases
11138 (modify-phases %standard-phases
11139 (add-after 'unpack 'fix-permissions
11140 (lambda _
11141 (make-file-writable "doc/html.tar.gz")
11142 #t))
11143 (add-after 'unpack 'fix-tests
11144 (lambda _
11145 (substitute* "clsql.asd"
11146 (("clsql-tests :force t")
11147 "clsql-tests"))
11148 #t)))))
11149 (synopsis "Common Lisp SQL Interface library")
11150 (description
11151 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11152Xanalys CommonSQL interface for Lispworks. It provides low-level database
11153interfaces as well as a functional and an object oriented interface.")
11154 (home-page "http://clsql.kpe.io/")
11155 (license license:llgpl)))
11156
11157(define-public cl-clsql
11158 (package
11159 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11160 (native-inputs
11161 `(("rt" ,cl-rt)))
11162 (inputs
11163 `(("mysql" ,mysql)
11164 ("postgresql" ,postgresql)
11165 ("sqlite" ,sqlite)
11166 ("zlib" ,zlib)))
11167 (propagated-inputs
11168 `(("cl-postgres" ,cl-postgres)
11169 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11170 ("md5" ,cl-md5)
11171 ("uffi" ,cl-uffi)))
11172 (arguments
11173 `(#:phases
11174 ;; asdf-build-system/source has its own phases and does not inherit
11175 ;; from asdf-build-system/sbcl phases.
11176 (modify-phases %standard-phases/source
11177 (add-after 'unpack 'fix-permissions
11178 (lambda _
11179 (make-file-writable "doc/html.tar.gz")
11180 #t)))))))
a5f44287
GLV
11181
11182(define-public sbcl-clsql-uffi
11183 (package
11184 (inherit sbcl-clsql)
11185 (name "sbcl-clsql-uffi")
11186 (inputs
11187 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11188 ("clsql" ,sbcl-clsql)
11189 ("uffi" ,sbcl-uffi)))
11190 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
5ad8d7aa
GLV
11191
11192(define-public sbcl-clsql-sqlite3
11193 (package
11194 (inherit sbcl-clsql)
11195 (name "sbcl-clsql-sqlite3")
11196 (inputs
11197 `(("clsql" ,sbcl-clsql)
11198 ("clsql-uffi" ,sbcl-clsql-uffi)
11199 ("sqlite" ,sqlite)))
11200 (arguments
11201 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11202 ((#:phases phases '%standard-phases)
11203 `(modify-phases ,phases
11204 (add-after 'unpack 'fix-paths
11205 (lambda* (#:key inputs #:allow-other-keys)
11206 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11207 (("libsqlite3")
11208 (string-append (assoc-ref inputs "sqlite")
11209 "/lib/libsqlite3")))
11210 #t))))))
11211 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
cd53df62
GLV
11212
11213(define-public sbcl-clsql-postgresql
11214 (package
11215 (inherit sbcl-clsql)
11216 (name "sbcl-clsql-postgresql")
11217 (inputs
11218 `(("clsql" ,sbcl-clsql)
11219 ("clsql-uffi" ,sbcl-clsql-uffi)
11220 ("postgresql" ,postgresql)))
11221 (arguments
11222 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11223 ((#:phases phases '%standard-phases)
11224 `(modify-phases ,phases
11225 (add-after 'unpack 'fix-paths
11226 (lambda* (#:key inputs #:allow-other-keys)
11227 (substitute* "db-postgresql/postgresql-loader.lisp"
11228 (("libpq")
11229 (string-append (assoc-ref inputs "postgresql")
11230 "/lib/libpq")))
11231 #t))))))
11232 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
f9680d52
GLV
11233
11234(define-public sbcl-clsql-postgresql-socket3
11235 (package
11236 (inherit sbcl-clsql)
11237 (name "sbcl-clsql-postgresql-socket3")
11238 (inputs
11239 `(("cl-postgres" ,sbcl-cl-postgres)
11240 ("clsql" ,sbcl-clsql)
11241 ("md5" ,sbcl-md5)))
11242 (arguments
11243 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11244 ((#:phases phases '%standard-phases)
11245 `(modify-phases ,phases
11246 (add-after 'create-asd-file 'fix-asd-file
11247 (lambda* (#:key outputs #:allow-other-keys)
11248 (let* ((out (assoc-ref outputs "out"))
11249 (lib (string-append out "/lib/" (%lisp-type)))
11250 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11251 (substitute* asd
11252 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11253 "")))
11254 #t))))))
11255 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
079ee3b5
GLV
11256
11257(define-public sbcl-clsql-mysql
11258 (package
11259 (inherit sbcl-clsql)
11260 (name "sbcl-clsql-mysql")
11261 (inputs
11262 `(("mysql" ,mysql)
11263 ("sbcl-clsql" ,sbcl-clsql)
11264 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11265 ("zlib" ,zlib)))
11266 (arguments
11267 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11268 ((#:phases phases '%standard-phases)
11269 `(modify-phases ,phases
11270 (add-after 'unpack 'fix-paths
11271 (lambda* (#:key inputs outputs #:allow-other-keys)
11272 (let ((lib (string-append "#p\""
11273 (assoc-ref outputs "out")
11274 "/lib/\"")))
11275 (substitute* "clsql-mysql.asd"
11276 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11277 lib))
11278 (substitute* "db-mysql/mysql-loader.lisp"
11279 (("libmysqlclient" all)
11280 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11281 (("clsql-mysql-system::\\*library-file-dir\\*")
11282 lib)))
11283 #t))
11284 (add-before 'build 'build-helper-library
11285 (lambda* (#:key inputs outputs #:allow-other-keys)
11286 (let* ((mysql (assoc-ref inputs "mysql"))
11287 (inc-dir (string-append mysql "/include/mysql"))
11288 (lib-dir (string-append mysql "/lib"))
11289 (shared-lib-dir (string-append (assoc-ref outputs "out")
11290 "/lib"))
11291 (shared-lib (string-append shared-lib-dir
11292 "/clsql_mysql.so")))
11293 (mkdir-p shared-lib-dir)
11294 (invoke "gcc" "-fPIC" "-shared"
11295 "-I" inc-dir
11296 "db-mysql/clsql_mysql.c"
11297 "-Wl,-soname=clsql_mysql"
11298 "-L" lib-dir "-lmysqlclient" "-lz"
11299 "-o" shared-lib)
11300 #t)))))))
11301 (synopsis "MySQL driver for Common Lisp SQL interface library")))
6dfc981a
PN
11302
11303(define-public sbcl-sycamore
11304 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
11305 (package
11306 (name "sbcl-sycamore")
11307 (version "0.0.20120604")
11308 (source
11309 (origin
11310 (method git-fetch)
11311 (uri (git-reference
11312 (url "https://github.com/ndantam/sycamore/")
11313 (commit commit)))
11314 (file-name (git-file-name name version))
11315 (sha256
11316 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
11317 (build-system asdf-build-system/sbcl)
11318 (arguments
11319 `(#:asd-file "src/sycamore.asd"))
11320 (inputs
11321 `(("alexandria" ,sbcl-alexandria)
11322 ("cl-ppcre" ,sbcl-cl-ppcre)))
11323 (synopsis "Purely functional data structure library in Common Lisp")
11324 (description
11325 "Sycamore is a fast, purely functional data structure library in Common Lisp.
11326If features:
11327
11328@itemize
11329@item Fast, purely functional weight-balanced binary trees.
11330@item Leaf nodes are simple-vectors, greatly reducing tree height.
11331@item Interfaces for tree Sets and Maps (dictionaries).
11332@item Ropes.
11333@item Purely functional pairing heaps.
11334@item Purely functional amortized queue.
11335@end itemize\n")
11336 (home-page "http://ndantam.github.io/sycamore/")
11337 (license license:bsd-3))))
11338
11339(define-public cl-sycamore
11340 (sbcl-package->cl-source-package sbcl-sycamore))
eb5341c2
PN
11341
11342(define-public sbcl-trivial-package-local-nicknames
11343 (package
11344 (name "sbcl-trivial-package-local-nicknames")
11345 (version "0.2")
11346 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11347 (source
11348 (origin
11349 (method git-fetch)
11350 (uri (git-reference
11351 (url home-page)
11352 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11353 (file-name (git-file-name name version))
11354 (sha256
11355 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11356 (build-system asdf-build-system/sbcl)
11357 (synopsis "Common Lisp compatibility library for package local nicknames")
11358 (description
11359 "This library is a portable compatibility layer around package local nicknames (PLN).
11360This was done so there is a portability library for the PLN API not included
11361in DEFPACKAGE.")
11362 (license license:unlicense)))
11363
11364(define-public cl-trivial-package-local-nicknames
11365 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
2fa04968
PN
11366
11367(define-public sbcl-enchant
11368 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
11369 (package
11370 (name "sbcl-enchant")
11371 (version (git-version "0.0.0" "1" commit))
11372 (home-page "https://github.com/tlikonen/cl-enchant")
11373 (source
11374 (origin
11375 (method git-fetch)
11376 (uri (git-reference
11377 (url home-page)
11378 (commit commit)))
11379 (file-name (git-file-name name version))
11380 (sha256
11381 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
11382 (build-system asdf-build-system/sbcl)
11383 (inputs
11384 `(("enchant" ,enchant)
11385 ("cffi" ,sbcl-cffi)))
11386 (arguments
11387 `(#:phases
11388 (modify-phases %standard-phases
11389 (add-after 'unpack 'fix-paths
11390 (lambda* (#:key inputs #:allow-other-keys)
11391 (substitute* "load-enchant.lisp"
11392 (("libenchant")
11393 (string-append
11394 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
11395 (synopsis "Common Lisp interface for the Enchant spell-checker library")
11396 (description
11397 "Enchant is a Common Lisp interface for the Enchant spell-checker
11398library. The Enchant library is a generic spell-checker library which uses
11399other spell-checkers transparently as back-end. The library supports the
11400multiple checkers, including Aspell and Hunspell.")
11401 (license license:public-domain))))
11402
11403(define-public cl-enchant
11404 (sbcl-package->cl-source-package sbcl-enchant))
df95189d
PN
11405
11406(define-public sbcl-cl-change-case
11407 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
11408 (package
11409 (name "sbcl-cl-change-case")
11410 (version (git-version "0.1.0" "1" commit))
11411 (home-page "https://github.com/rudolfochrist/cl-change-case")
11412 (source
11413 (origin
11414 (method git-fetch)
11415 (uri (git-reference
11416 (url home-page)
11417 (commit commit)))
11418 (file-name (git-file-name name version))
11419 (sha256
11420 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
11421 (build-system asdf-build-system/sbcl)
11422 (inputs
11423 `(("cl-ppcre" ,sbcl-cl-ppcre)
11424 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
11425 (native-inputs
11426 `(("fiveam" ,sbcl-fiveam)))
11427 (arguments
11428 '(;; FIXME: Test pass but phase fails with 'Component
11429 ;; "cl-change-case-test" not found, required by'.
11430 #:tests? #f
11431 #:test-asd-file "cl-change-case-test.asd"))
11432 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
11433 (description
11434 "@code{cl-change-case} is library to convert strings between camelCase,
11435PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
11436 (license license:llgpl))))
11437
11438(define-public cl-change-case
11439 (sbcl-package->cl-source-package sbcl-cl-change-case))
53c05faf
PN
11440
11441(define-public sbcl-moptilities
11442 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
11443 (package
11444 (name "sbcl-moptilities")
11445 (version (git-version "0.3.13" "1" commit))
11446 (home-page "https://github.com/gwkkwg/moptilities/")
11447 (source
11448 (origin
11449 (method git-fetch)
11450 (uri (git-reference
11451 (url home-page)
11452 (commit commit)))
11453 (file-name (git-file-name name version))
11454 (sha256
11455 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
11456 (build-system asdf-build-system/sbcl)
11457 (inputs
11458 `(("closer-mop" ,sbcl-closer-mop)))
11459 (native-inputs
11460 `(("lift" ,sbcl-lift)))
11461 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
11462 (description
11463 "MOP utilities provide a common interface between Lisps and make the
11464MOP easier to use.")
11465 (license license:expat))))
11466
11467(define-public cl-moptilities
11468 (sbcl-package->cl-source-package sbcl-moptilities))
8cf6d150
PN
11469
11470(define-public sbcl-osicat
11471 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
11472 (package
11473 (name "sbcl-osicat")
11474 (version (git-version "0.7.0" "1" commit))
11475 (home-page "http://www.common-lisp.net/project/osicat/")
11476 (source
11477 (origin
11478 (method git-fetch)
11479 (uri (git-reference
11480 (url "https://github.com/osicat/osicat")
11481 (commit commit)))
11482 (file-name (git-file-name name version))
11483 (sha256
11484 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
11485 (build-system asdf-build-system/sbcl)
11486 (arguments
11487 `(#:phases
11488 (modify-phases %standard-phases
192177b0
PN
11489 ;; The cleanup phase moves files around but we need to keep the
11490 ;; directory structure for the grovel-generated library.
11491 (replace 'cleanup
8cf6d150
PN
11492 (lambda* (#:key outputs #:allow-other-keys)
11493 (let* ((out (assoc-ref outputs "out"))
192177b0
PN
11494 (lib (string-append out "/lib/sbcl/")))
11495 (delete-file-recursively (string-append lib "src"))
11496 (delete-file-recursively (string-append lib "tests"))
11497 (for-each delete-file
11498 (filter (lambda (file)
11499 (not (member (basename file) '("libosicat.so"))))
11500 (find-files (string-append lib "posix") ".*"))))
11501 #t)))))
8cf6d150
PN
11502 (inputs
11503 `(("alexandria" ,sbcl-alexandria)
11504 ("cffi" ,sbcl-cffi)
11505 ("trivial-features" ,sbcl-trivial-features)))
11506 (native-inputs
11507 `(("cffi-grovel" ,sbcl-cffi-grovel)
11508 ("rt" ,sbcl-rt)))
11509 (synopsis "Operating system interface for Common Lisp")
11510 (description
11511 "Osicat is a lightweight operating system interface for Common Lisp on
11512Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
11513accompaniment to the standard ANSI facilities.")
11514 (license license:expat))))
11515
11516(define-public cl-osicat
11517 (sbcl-package->cl-source-package sbcl-osicat))
b2eae0e1 11518
152d50d9
KCB
11519(define-public sbcl-clx-xembed
11520 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
11521 (revision "1"))
11522 (package
11523 (name "sbcl-clx-xembed")
11524 (version (git-version "0.1" revision commit))
11525 (home-page "https://github.com/laynor/clx-xembed")
11526 (source
11527 (origin
11528 (method git-fetch)
11529 (uri (git-reference
b0e7b699 11530 (url "https://github.com/laynor/clx-xembed")
152d50d9
KCB
11531 (commit commit)))
11532 (file-name (git-file-name name version))
11533 (sha256
11534 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
11535 (build-system asdf-build-system/sbcl)
11536 (arguments
11537 `(#:asd-system-name "xembed"))
11538 (inputs
11539 `(("sbcl-clx" ,sbcl-clx)))
11540 (synopsis "CL(x) xembed protocol implementation ")
11541 (description "CL(x) xembed protocol implementation")
11542 ;; MIT License
11543 (license license:expat))))
11544
11545(define-public cl-clx-xembed
11546 (sbcl-package->cl-source-package sbcl-clx-xembed))
11547
11548(define-public ecl-clx-xembed
11549 (sbcl-package->ecl-package sbcl-clx-xembed))
11550
b2eae0e1
KCB
11551(define-public sbcl-quantile-estimator
11552 (package
11553 (name "sbcl-quantile-estimator")
11554 (version "0.0.1")
11555 (source
11556 (origin
11557 (method git-fetch)
11558 (uri (git-reference
11559 (url "https://github.com/deadtrickster/quantile-estimator.cl")
11560 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
11561 (file-name (git-file-name name version))
11562 (sha256
11563 (base32
11564 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
11565 (build-system asdf-build-system/sbcl)
11566 (arguments
11567 '(#:asd-system-name "quantile-estimator"))
11568 (inputs
11569 `(("alexandria" ,sbcl-alexandria)))
11570 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
11571 (synopsis
11572 "Effective computation of biased quantiles over data streams")
11573 (description
11574 "Common Lisp implementation of Graham Cormode and S.
11575Muthukrishnan's Effective Computation of Biased Quantiles over Data
11576Streams in ICDE’05.")
11577 (license license:expat)))
11578
11579(define-public cl-quantile-estimator
11580 (sbcl-package->cl-source-package sbcl-quantile-estimator))
11581
11582(define-public ecl-quantile-estimator
11583 (sbcl-package->ecl-package sbcl-quantile-estimator))
4c7c3077
KCB
11584
11585(define-public sbcl-prometheus
11586 (package
11587 (name "sbcl-prometheus")
11588 (version "0.4.1")
11589 (source
11590 (origin
11591 (method git-fetch)
11592 (uri (git-reference
b0e7b699 11593 (url "https://github.com/deadtrickster/prometheus.cl")
4c7c3077
KCB
11594 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
11595 (file-name (git-file-name name version))
11596 (sha256
11597 (base32
11598 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
11599 (build-system asdf-build-system/sbcl)
11600 (inputs
11601 `(("alexandria" ,sbcl-alexandria)
11602 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11603 ("cl-ppcre" ,sbcl-cl-ppcre)
11604 ("local-time" ,sbcl-local-time)
11605 ("quantile-estimator" ,sbcl-quantile-estimator)))
11606 (home-page "https://github.com/deadtrickster/prometheus.cl")
11607 (synopsis "Prometheus.io Common Lisp client")
11608 (description "Prometheus.io Common Lisp client.")
11609 (license license:expat)))
11610
11611(define-public cl-prometheus
11612 (sbcl-package->cl-source-package sbcl-prometheus))
11613
11614(define-public ecl-prometheus
11615 (sbcl-package->ecl-package sbcl-prometheus))
4e21f5bc
KCB
11616
11617(define-public sbcl-prometheus.collectors.sbcl
11618 (package
11619 (inherit sbcl-prometheus)
11620 (name "sbcl-prometheus.collectors.sbcl")
11621 (inputs `(("prometheus" ,sbcl-prometheus)))
11622 (synopsis "Prometheus collector for SBCL metrics")
11623 (description "Prometheus collector for SBCL metrics.")))
11624
11625(define-public cl-prometheus.collectors.sbcl
11626 (sbcl-package->cl-source-package sbcl-prometheus.collectors.sbcl))
b4ece1a2
KCB
11627
11628(define-public sbcl-prometheus.collectors.process
11629 (package
11630 (inherit sbcl-prometheus)
11631 (name "sbcl-prometheus.collectors.process")
11632 (inputs
11633 `(("cffi" ,sbcl-cffi)
11634 ("cffi-grovel" ,sbcl-cffi-grovel)
11635 ("cl-fad" ,sbcl-cl-fad)
11636 ("prometheus" ,sbcl-prometheus)
11637 ("split-sequence" ,sbcl-split-sequence)))
11638 (synopsis "Prometheus collector for process metrics")
11639 (description "Prometheus collector for process metrics.")))
11640
11641(define-public cl-prometheus.collectors.process
11642 (sbcl-package->cl-source-package sbcl-prometheus.collectors.process))
11643
11644(define-public ecl-prometheus.collectors.process
11645 (sbcl-package->ecl-package sbcl-prometheus.collectors.process))
78d1aa9e
KCB
11646
11647(define-public sbcl-prometheus.formats.text
11648 (package
11649 (inherit sbcl-prometheus)
11650 (name "sbcl-prometheus.formats.text")
11651 (inputs
11652 `(("alexandria" ,sbcl-alexandria)
11653 ("prometheus" ,sbcl-prometheus)))
11654 (synopsis "Prometheus client text format")
11655 (description "Prometheus client text format.")))
11656
11657(define-public cl-prometheus.formats.text
11658 (sbcl-package->cl-source-package sbcl-prometheus.formats.text))
11659
11660(define-public ecl-prometheus.formats.text
11661 (sbcl-package->ecl-package sbcl-prometheus.formats.text))
019ff3c3
KCB
11662
11663(define-public sbcl-prometheus.exposers.hunchentoot
11664 (package
11665 (inherit sbcl-prometheus)
11666 (name "sbcl-prometheus.exposers.hunchentoot")
11667 (inputs
11668 `(("hunchentoot" ,sbcl-hunchentoot)
11669 ("prometheus" ,sbcl-prometheus)
11670 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)
11671 ("salza2" ,sbcl-salza2)
11672 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11673 (synopsis "Prometheus collector for Hunchentoot metrics")
11674 (description "Prometheus collector for Hunchentoot metrics")))
11675
11676(define-public cl-prometheus.exposers.hunchentoot
11677 (sbcl-package->cl-source-package sbcl-prometheus.exposers.hunchentoot))
9e20646b
KCB
11678
11679(define-public sbcl-prometheus.pushgateway
11680 (package
11681 (inherit sbcl-prometheus)
11682 (name "sbcl-prometheus.pushgateway")
11683 (inputs
11684 `(("drakma" ,sbcl-drakma)
11685 ("prometheus" ,sbcl-prometheus)
11686 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)))
11687 (synopsis "Prometheus Pushgateway client")
11688 (description "Prometheus Pushgateway client.")))
11689
11690(define-public cl-prometheus.pushgateway
11691 (sbcl-package->cl-source-package sbcl-prometheus.pushgateway))
11692
11693(define-public ecl-prometheus.pushgateway
11694 (sbcl-package->ecl-package sbcl-prometheus.pushgateway))
59dda970
KCB
11695
11696(define-public sbcl-uuid
11697 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11698 (package
11699 (name "sbcl-uuid")
11700 (version (git-version "2012.12.26" "1" commit))
11701 (source
11702 (origin
11703 (method git-fetch)
11704 (uri (git-reference
b0e7b699 11705 (url "https://github.com/dardoria/uuid")
59dda970
KCB
11706 (commit commit)))
11707 (file-name (git-file-name name version))
11708 (sha256
11709 (base32
11710 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11711 (build-system asdf-build-system/sbcl)
11712 (inputs
11713 `(("ironclad" ,sbcl-ironclad)
11714 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11715 (home-page "https://github.com/dardoria/uuid")
11716 (synopsis
11717 "Common Lisp implementation of UUIDs according to RFC4122")
11718 (description
11719 "Common Lisp implementation of UUIDs according to RFC4122.")
11720 (license license:llgpl))))
11721
11722(define-public cl-uuid
11723 (sbcl-package->cl-source-package sbcl-uuid))
11724
11725(define-public ecl-uuid
11726 (sbcl-package->ecl-package sbcl-uuid))
adf70454
KCB
11727
11728(define-public sbcl-dissect
11729 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11730 (package
11731 (name "sbcl-dissect")
11732 (version (git-version "1.0.0" "1" commit))
11733 (source
11734 (origin
11735 (method git-fetch)
11736 (uri (git-reference
b0e7b699 11737 (url "https://github.com/Shinmera/dissect")
adf70454
KCB
11738 (commit commit)))
11739 (file-name (git-file-name name version))
11740 (sha256
11741 (base32
11742 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11743 (build-system asdf-build-system/sbcl)
11744 (inputs
11745 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11746 (home-page "https://shinmera.github.io/dissect/")
11747 (synopsis
11748 "Introspection library for the call stack and restarts")
11749 (description
11750 "Dissect is a small Common Lisp library for introspecting the call stack
11751and active restarts.")
11752 (license license:zlib))))
11753
11754(define-public cl-dissect
11755 (sbcl-package->cl-source-package sbcl-dissect))
11756
11757(define-public ecl-dissect
11758 (sbcl-package->ecl-package sbcl-dissect))
38d738e9
KCB
11759
11760;; TODO: Uses ASDF's package-inferred-system which is not supported by
11761;; asdf-build-system/sbcl as of 2020-05-21. We should fix
11762;; asdf-build-system/sbcl.
11763(define-public sbcl-rove
11764 (package
11765 (name "sbcl-rove")
11766 (version "0.9.6")
11767 (source
11768 (origin
11769 (method git-fetch)
11770 (uri (git-reference
b0e7b699 11771 (url "https://github.com/fukamachi/rove")
38d738e9
KCB
11772 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11773 (file-name (git-file-name name version))
11774 (sha256
11775 (base32
11776 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11777 (build-system asdf-build-system/sbcl)
11778 (inputs
11779 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11780 ("dissect" ,sbcl-dissect)
11781 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11782 (home-page "https://github.com/fukamachi/rove")
11783 (synopsis
11784 "Yet another common lisp testing library")
11785 (description
11786 "Rove is a unit testing framework for Common Lisp applications.
11787This is intended to be a successor of Prove.")
11788 (license license:bsd-3)))
11789
11790(define-public cl-rove
11791 (sbcl-package->cl-source-package sbcl-rove))
11792
11793(define-public ecl-rove
11794 (sbcl-package->ecl-package sbcl-rove))
aae3df18
KCB
11795
11796(define-public sbcl-exponential-backoff
11797 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11798 (package
11799 (name "sbcl-exponential-backoff")
11800 (version (git-version "0" "1" commit))
11801 (source
11802 (origin
11803 (method git-fetch)
11804 (uri (git-reference
b0e7b699 11805 (url "https://github.com/death/exponential-backoff")
aae3df18
KCB
11806 (commit commit)))
11807 (file-name (git-file-name name version))
11808 (sha256
11809 (base32
11810 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11811 (build-system asdf-build-system/sbcl)
11812 (home-page "https://github.com/death/exponential-backoff")
11813 (synopsis "Exponential backoff algorithm in Common Lisp")
11814 (description
11815 "An implementation of the exponential backoff algorithm in Common Lisp.
11816Inspired by the implementation found in Chromium. Read the header file to
11817learn about each of the parameters.")
11818 (license license:expat))))
11819
11820(define-public cl-exponential-backoff
11821 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11822
11823(define-public ecl-exponential-backoff
11824 (sbcl-package->ecl-package sbcl-exponential-backoff))
3e736218
KCB
11825
11826(define-public sbcl-sxql
11827 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
11828 (package
11829 (name "sbcl-sxql")
11830 (version (git-version "0.1.0" "1" commit))
11831 (source
11832 (origin
11833 (method git-fetch)
11834 (uri (git-reference
b0e7b699 11835 (url "https://github.com/fukamachi/sxql")
3e736218
KCB
11836 (commit commit)))
11837 (file-name (git-file-name name version))
11838 (sha256
11839 (base32
11840 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
11841 (build-system asdf-build-system/sbcl)
11842 (arguments
11843 `(#:test-asd-file "sxql-test.asd"))
11844 (inputs
11845 `(("alexandria" ,sbcl-alexandria)
11846 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
11847 ("iterate" ,sbcl-iterate)
11848 ("optima" ,sbcl-optima)
11849 ("split-sequence" ,sbcl-split-sequence)
11850 ("trivial-types" ,sbcl-trivial-types)))
11851 (native-inputs
11852 `(("prove" ,sbcl-prove)
11853 ("prove-asdf" ,sbcl-prove-asdf)))
11854 (home-page "https://github.com/fukamachi/sxql")
11855 (synopsis "SQL generator for Common Lisp")
11856 (description "SQL generator for Common Lisp.")
11857 (license license:bsd-3))))
11858
11859(define-public cl-sxql
11860 (sbcl-package->cl-source-package sbcl-sxql))
11861
11862(define-public ecl-sxql
11863 (sbcl-package->ecl-package sbcl-sxql))
1f9999df
KCB
11864
11865(define-public sbcl-1am
11866 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11867 (package
11868 (name "sbcl-1am")
11869 (version (git-version "0.0" "1" commit))
11870 (source
11871 (origin
11872 (method git-fetch)
11873 (uri (git-reference
b0e7b699 11874 (url "https://github.com/lmj/1am")
1f9999df
KCB
11875 (commit commit)))
11876 (file-name (git-file-name name version))
11877 (sha256
11878 (base32
11879 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11880 (build-system asdf-build-system/sbcl)
11881 (arguments
11882 `(#:asd-system-name "1am"))
11883 (home-page "https://github.com/lmj/1am")
11884 (synopsis "Minimal testing framework for Common Lisp")
11885 (description "A minimal testing framework for Common Lisp.")
11886 (license license:expat))))
11887
11888(define-public cl-1am
11889 (sbcl-package->cl-source-package sbcl-1am))
11890
11891(define-public ecl-1am
11892 (sbcl-package->ecl-package sbcl-1am))
d7c60681
GLV
11893
11894(define-public sbcl-cl-ascii-table
11895 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11896 (revision "1"))
11897 (package
11898 (name "sbcl-cl-ascii-table")
11899 (version (git-version "0.0.0" revision commit))
11900 (source
11901 (origin
11902 (method git-fetch)
11903 (uri (git-reference
b0e7b699 11904 (url "https://github.com/telephil/cl-ascii-table")
d7c60681
GLV
11905 (commit commit)))
11906 (file-name (git-file-name name version))
11907 (sha256
11908 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11909 (build-system asdf-build-system/sbcl)
11910 (synopsis "Library to make ascii-art tables")
11911 (description
11912 "This is a Common Lisp library to present tabular data in ascii-art
11913tables.")
11914 (home-page "https://github.com/telephil/cl-ascii-table")
11915 (license license:expat))))
11916
11917(define-public cl-ascii-table
11918 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11919
11920(define-public ecl-cl-ascii-table
11921 (sbcl-package->ecl-package sbcl-cl-ascii-table))
64174aff
KCB
11922
11923(define-public sbcl-cl-rdkafka
11924 (package
11925 (name "sbcl-cl-rdkafka")
11926 (version "1.0.2")
11927 (source
11928 (origin
11929 (method git-fetch)
11930 (uri (git-reference
b0e7b699 11931 (url "https://github.com/SahilKang/cl-rdkafka")
64174aff
KCB
11932 (commit (string-append "v" version))))
11933 (file-name (git-file-name name version))
11934 (sha256
11935 (base32
11936 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
11937 (build-system asdf-build-system/sbcl)
11938 (arguments
11939 `(#:tests? #f ; Attempts to connect to locally running Kafka
11940 #:phases
11941 (modify-phases %standard-phases
11942 (add-after 'unpack 'fix-paths
11943 (lambda* (#:key inputs #:allow-other-keys)
11944 (substitute* "src/low-level/librdkafka-bindings.lisp"
11945 (("librdkafka" all)
11946 (string-append (assoc-ref inputs "librdkafka") "/lib/"
11947 all)))))
11948 (add-before 'cleanup 'move-bundle
11949 (lambda* (#:key outputs #:allow-other-keys)
11950 (let* ((out (assoc-ref outputs "out"))
11951 (actual (string-append out "/lib/sbcl/src/cl-rdkafka.fasl"))
11952 (expected (string-append
11953 out "/lib/sbcl/cl-rdkafka--system.fasl")))
11954 (copy-file actual expected)
11955 #t))))))
11956 (inputs
11957 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11958 ("cffi" ,sbcl-cffi)
11959 ("cffi-grovel" ,sbcl-cffi-grovel)
11960 ("librdkafka" ,librdkafka)
11961 ("lparallel" ,sbcl-lparallel)
11962 ("trivial-garbage" ,sbcl-trivial-garbage)))
11963 (home-page "https://github.com/SahilKang/cl-rdkafka")
11964 (synopsis "Common Lisp client library for Apache Kafka")
11965 (description "A Common Lisp client library for Apache Kafka.")
11966 (license license:gpl3)))
11967
11968(define-public cl-rdkafka
11969 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
04dd8018
PN
11970
11971(define-public sbcl-acclimation
11972 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11973 (package
11974 (name "sbcl-acclimation")
11975 (version (git-version "0.0.0" "1" commit))
11976 (source
11977 (origin
11978 (method git-fetch)
11979 (uri (git-reference
11980 (url "https://github.com/robert-strandh/Acclimation")
11981 (commit commit)))
11982 (file-name (git-file-name name version))
11983 (sha256
11984 (base32
11985 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11986 (build-system asdf-build-system/sbcl)
11987 (home-page "https://github.com/robert-strandh/Acclimation")
11988 (synopsis "Internationalization library for Common Lisp")
11989 (description "This project is meant to provide tools for
11990internationalizing Common Lisp programs.
11991
11992One important aspect of internationalization is of course the language used in
11993error messages, documentation strings, etc. But with this project we provide
11994tools for all other aspects of internationalization as well, including dates,
11995weight, temperature, names of physical quantitites, etc.")
11996 (license license:bsd-2))))
11997
11998(define-public cl-acclimation
11999 (sbcl-package->cl-source-package sbcl-acclimation))
ba1727b0
PN
12000
12001(define-public sbcl-clump-2-3-tree
12002 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
12003 (package
12004 (name "sbcl-clump-2-3-tree")
12005 (version (git-version "0.0.0" "1" commit))
12006 (source
12007 (origin
12008 (method git-fetch)
12009 (uri (git-reference
12010 (url "https://github.com/robert-strandh/Clump")
12011 (commit commit)))
12012 (file-name (git-file-name name version))
12013 (sha256
12014 (base32
12015 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
12016 (arguments
12017 '(#:asd-file "2-3-tree/clump-2-3-tree.asd"
12018 #:asd-system-name "clump-2-3-tree"))
12019 (inputs
12020 `(("acclimation" ,sbcl-acclimation)))
12021 (build-system asdf-build-system/sbcl)
12022 (home-page "https://github.com/robert-strandh/Clump")
12023 (synopsis "Implementation of 2-3 trees for Common Lisp")
12024 (description "The purpose of this library is to provide a collection of
12025implementations of trees.
12026
12027In contrast to existing libraries such as cl-containers, it does not impose a
12028particular use for the trees. Instead, it aims for a stratified design,
12029allowing client code to choose between different levels of abstraction.
12030
12031As a consequence of this policy, low-level interfaces are provided where
12032the concrete representation is exposed, but also high level interfaces
12033where the trees can be used as search trees or as trees that represent
12034sequences of objects.")
12035 (license license:bsd-2))))
106354ea
PN
12036
12037(define-public sbcl-clump-binary-tree
12038 (package
12039 (inherit sbcl-clump-2-3-tree)
12040 (name "sbcl-clump-binary-tree")
12041 (arguments
12042 '(#:asd-file "Binary-tree/clump-binary-tree.asd"
12043 #:asd-system-name "clump-binary-tree"))
12044 (synopsis "Implementation of binary trees for Common Lisp")))
409fcee9
PN
12045
12046(define-public sbcl-clump
12047 (package
12048 (inherit sbcl-clump-2-3-tree)
12049 (name "sbcl-clump")
12050 (arguments
12051 '(#:asd-file "clump.asd"
12052 #:asd-system-name "clump"))
12053 (inputs
12054 `(("clump-2-3-tree" ,sbcl-clump-2-3-tree)
12055 ("clump-binary-tree" ,sbcl-clump-binary-tree)))
12056 (synopsis "Collection of tree implementations for Common Lisp")))
12057
12058(define-public cl-clump
12059 (sbcl-package->cl-source-package sbcl-clump))
19a1a98f
PN
12060
12061(define-public sbcl-cluffer-base
12062 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
12063 (package
12064 (name "sbcl-cluffer-base")
12065 (version (git-version "0.0.0" "1" commit))
12066 (source
12067 (origin
12068 (method git-fetch)
12069 (uri (git-reference
12070 (url "https://github.com/robert-strandh/cluffer")
12071 (commit commit)))
12072 (file-name (git-file-name name version))
12073 (sha256
12074 (base32
12075 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
12076 (arguments
12077 '(#:asd-file "Base/cluffer-base.asd"
12078 #:asd-system-name "cluffer-base"))
12079 (inputs
12080 `(("acclimation" ,sbcl-acclimation)))
12081 (build-system asdf-build-system/sbcl)
12082 (home-page "https://github.com/robert-strandh/cluffer")
12083 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
12084 (description "Cluffer is a library for representing the buffer of a text
12085editor. As such, it defines a set of CLOS protocols for client code to
12086interact with the buffer contents in various ways, and it supplies different
12087implementations of those protocols for different purposes.")
12088 (license license:bsd-2))))
a4a24f66
PN
12089
12090(define-public sbcl-cluffer-standard-line
12091 (package
12092 (inherit sbcl-cluffer-base)
12093 (name "sbcl-cluffer-standard-line")
12094 (arguments
12095 '(#:asd-file "Standard-line/cluffer-standard-line.asd"
12096 #:asd-system-name "cluffer-standard-line"))
12097 (inputs
12098 `(("cluffer-base" ,sbcl-cluffer-base)))))
37f2d583
PN
12099
12100(define-public sbcl-cluffer-standard-buffer
12101 (package
12102 (inherit sbcl-cluffer-base)
12103 (name "sbcl-cluffer-standard-buffer")
12104 (arguments
12105 '(#:asd-file "Standard-buffer/cluffer-standard-buffer.asd"
12106 #:asd-system-name "cluffer-standard-buffer"))
12107 (inputs
12108 `(("cluffer-base" ,sbcl-cluffer-base)
12109 ("clump" ,sbcl-clump)))))
5e3fcdf8
PN
12110
12111(define-public sbcl-cluffer-simple-line
12112 (package
12113 (inherit sbcl-cluffer-base)
12114 (name "sbcl-cluffer-simple-line")
12115 (arguments
12116 '(#:asd-file "Simple-line/cluffer-simple-line.asd"
12117 #:asd-system-name "cluffer-simple-line"))
12118 (inputs
12119 `(("cluffer-base" ,sbcl-cluffer-base)))))
d6ad0b72
PN
12120
12121(define-public sbcl-cluffer-simple-buffer
12122 (package
12123 (inherit sbcl-cluffer-base)
12124 (name "sbcl-cluffer-simple-buffer")
12125 (arguments
12126 '(#:asd-file "Simple-buffer/cluffer-simple-buffer.asd"
12127 #:asd-system-name "cluffer-simple-buffer"))
12128 (inputs
12129 `(("cluffer-base" ,sbcl-cluffer-base)))))
89c98c06
PN
12130
12131(define-public sbcl-cluffer
12132 (package
12133 (inherit sbcl-cluffer-base)
12134 (name "sbcl-cluffer")
12135 (arguments
12136 '(#:asd-file "cluffer.asd"
12137 #:asd-system-name "cluffer"))
12138 (inputs
12139 `(("cluffer-base" ,sbcl-cluffer-base)
12140 ("cluffer-standard-line" ,sbcl-cluffer-standard-line)
12141 ("cluffer-standard-buffer" ,sbcl-cluffer-standard-buffer)
12142 ("cluffer-simple-line" ,sbcl-cluffer-simple-line)
12143 ("cluffer-simple-buffer" ,sbcl-cluffer-simple-buffer)))))
12144
12145(define-public cl-cluffer
12146 (sbcl-package->cl-source-package sbcl-cluffer))
8f1ab4fb
GLV
12147
12148(define-public sbcl-cl-libsvm-format
12149 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
12150 (revision "0"))
12151 (package
12152 (name "sbcl-cl-libsvm-format")
12153 (version (git-version "0.1.0" revision commit))
12154 (source
12155 (origin
12156 (method git-fetch)
12157 (uri (git-reference
b0e7b699 12158 (url "https://github.com/masatoi/cl-libsvm-format")
8f1ab4fb
GLV
12159 (commit commit)))
12160 (file-name (git-file-name name version))
12161 (sha256
12162 (base32
12163 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
12164 (build-system asdf-build-system/sbcl)
12165 (native-inputs
12166 `(("prove" ,sbcl-prove)
12167 ("prove-asdf" ,sbcl-prove-asdf)))
12168 (inputs
12169 `(("alexandria" ,sbcl-alexandria)))
12170 (synopsis "LibSVM data format reader for Common Lisp")
12171 (description
12172 "This Common Lisp library provides a fast reader for data in LibSVM
12173format.")
12174 (home-page "https://github.com/masatoi/cl-libsvm-format")
12175 (license license:expat))))
12176
12177(define-public cl-libsvm-format
12178 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
12179
12180(define-public ecl-cl-libsvm-format
12181 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
12182
12183(define-public sbcl-cl-online-learning
12184 (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423")
12185 (revision "0"))
12186 (package
12187 (name "sbcl-cl-online-learning")
12188 (version (git-version "0.5" revision commit))
12189 (source
12190 (origin
12191 (method git-fetch)
12192 (uri (git-reference
b0e7b699 12193 (url "https://github.com/masatoi/cl-online-learning")
8f1ab4fb
GLV
12194 (commit commit)))
12195 (file-name (git-file-name name version))
12196 (sha256
12197 (base32
12198 "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq"))))
12199 (build-system asdf-build-system/sbcl)
12200 (native-inputs
12201 `(("prove" ,sbcl-prove)
12202 ("prove-asdf" ,sbcl-prove-asdf)))
12203 (inputs
12204 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12205 ("cl-store" ,sbcl-cl-store)))
12206 (arguments
12207 `(;; FIXME: Tests pass but then the check phase crashes
12208 #:tests? #f))
12209 (synopsis "Online Machine Learning for Common Lisp")
12210 (description
12211 "This library contains a collection of machine learning algorithms for
12212online linear classification written in Common Lisp.")
12213 (home-page "https://github.com/masatoi/cl-online-learning")
12214 (license license:expat))))
12215
12216(define-public cl-online-learning
12217 (sbcl-package->cl-source-package sbcl-cl-online-learning))
12218
12219(define-public ecl-cl-online-learning
12220 (sbcl-package->ecl-package sbcl-cl-online-learning))
12221
12222(define-public sbcl-cl-random-forest
4e7d5e32
GLV
12223 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
12224 (revision "1"))
8f1ab4fb
GLV
12225 (package
12226 (name "sbcl-cl-random-forest")
12227 (version (git-version "0.1" revision commit))
12228 (source
12229 (origin
12230 (method git-fetch)
12231 (uri (git-reference
b0e7b699 12232 (url "https://github.com/masatoi/cl-random-forest")
8f1ab4fb
GLV
12233 (commit commit)))
12234 (file-name (git-file-name name version))
12235 (sha256
12236 (base32
4e7d5e32 12237 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
8f1ab4fb
GLV
12238 (build-system asdf-build-system/sbcl)
12239 (native-inputs
12240 `(("prove" ,sbcl-prove)
12241 ("prove-asdf" ,sbcl-prove-asdf)
12242 ("trivial-garbage" ,sbcl-trivial-garbage)))
12243 (inputs
12244 `(("alexandria" ,sbcl-alexandria)
12245 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12246 ("cl-online-learning" ,sbcl-cl-online-learning)
12247 ("lparallel" ,sbcl-lparallel)))
12248 (arguments
12249 `(#:tests? #f)) ; The tests download data from the Internet
12250 (synopsis "Random Forest and Global Refinement for Common Lisp")
12251 (description
12252 "CL-random-forest is an implementation of Random Forest for multiclass
12253classification and univariate regression written in Common Lisp. It also
12254includes an implementation of Global Refinement of Random Forest.")
12255 (home-page "https://github.com/masatoi/cl-random-forest")
12256 (license license:expat))))
12257
12258(define-public cl-random-forest
12259 (sbcl-package->cl-source-package sbcl-cl-random-forest))
12260
12261(define-public ecl-cl-random-forest
12262 (sbcl-package->ecl-package sbcl-cl-random-forest))
5a2997e5
GLV
12263
12264(define-public sbcl-bordeaux-fft
12265 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
12266 (revision "0"))
12267 (package
12268 (name "sbcl-bordeaux-fft")
12269 (version (git-version "1.0.1" revision commit))
12270 (source
12271 (origin
12272 (method git-fetch)
12273 (uri (git-reference
b0e7b699 12274 (url "https://github.com/ahefner/bordeaux-fft")
5a2997e5
GLV
12275 (commit commit)))
12276 (file-name (git-file-name name version))
12277 (sha256
12278 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
12279 (build-system asdf-build-system/sbcl)
12280 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
12281 (synopsis "Fast Fourier Transform for Common Lisp")
12282 (description
12283 "The Bordeaux-FFT library provides a reasonably efficient implementation
12284of the Fast Fourier Transform and its inverse for complex-valued inputs, in
12285portable Common Lisp.")
12286 (license license:gpl2+))))
12287
12288(define-public cl-bordeaux-fft
12289 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
12290
12291(define-public ecl-bordeaux-fft
12292 (sbcl-package->ecl-package sbcl-bordeaux-fft))
c7ce30cd
GLV
12293
12294(define-public sbcl-napa-fft3
12295 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
12296 (revision "0"))
12297 (package
12298 (name "sbcl-napa-fft3")
12299 (version (git-version "0.0.1" revision commit))
12300 (source
12301 (origin
12302 (method git-fetch)
12303 (uri (git-reference
b0e7b699 12304 (url "https://github.com/pkhuong/Napa-FFT3")
c7ce30cd
GLV
12305 (commit commit)))
12306 (file-name (git-file-name name version))
12307 (sha256
12308 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
12309 (build-system asdf-build-system/sbcl)
12310 (home-page "https://github.com/pkhuong/Napa-FFT3")
12311 (synopsis "Fast Fourier Transform routines in Common Lisp")
12312 (description
12313 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
12314buildings blocks to express common operations that involve DFTs: filtering,
12315convolutions, etc.")
12316 (license license:bsd-3))))
12317
12318(define-public cl-napa-fft3
12319 (sbcl-package->cl-source-package sbcl-napa-fft3))
2020a056
GLV
12320
12321(define-public sbcl-cl-tga
12322 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
12323 (revision "0"))
12324 (package
12325 (name "sbcl-cl-tga")
12326 (version (git-version "0.0.0" revision commit))
12327 (source
12328 (origin
12329 (method git-fetch)
12330 (uri (git-reference
12331 (url "https://github.com/fisxoj/cl-tga")
12332 (commit commit)))
12333 (file-name (git-file-name name version))
12334 (sha256
12335 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
12336 (build-system asdf-build-system/sbcl)
12337 (home-page "https://github.com/fisxoj/cl-tga")
12338 (synopsis "TGA file loader for Common Lisp")
12339 (description
12340 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
12341programs. It's a very simple library, and, at the moment, only supports
12342non-RLE encoded forms of the files.")
12343 (license license:expat))))
12344
12345(define-public cl-tga
12346 (sbcl-package->cl-source-package sbcl-cl-tga))
12347
12348(define-public ecl-cl-tga
12349 (sbcl-package->ecl-package sbcl-cl-tga))
31c67a85
GLV
12350
12351(define-public sbcl-com.gigamonkeys.binary-data
12352 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
12353 (revision "0"))
12354 (package
12355 (name "sbcl-com.gigamonkeys.binary-data")
12356 (version (git-version "0.0.0" revision commit))
12357 (source
12358 (origin
12359 (method git-fetch)
12360 (uri (git-reference
12361 (url "https://github.com/gigamonkey/monkeylib-binary-data")
12362 (commit commit)))
12363 (file-name (git-file-name name version))
12364 (sha256
12365 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
12366 (build-system asdf-build-system/sbcl)
12367 (inputs
12368 `(("alexandria" ,sbcl-alexandria)))
12369 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
12370 (synopsis "Common Lisp library for reading and writing binary data")
12371 (description
12372 "This a Common Lisp library for reading and writing binary data. It is
12373based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
12374 (license license:bsd-3))))
12375
12376(define-public cl-com.gigamonkeys.binary-data
12377 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
12378
12379(define-public ecl-com.gigamonkeys.binary-data
12380 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
556daf64
GLV
12381
12382(define-public sbcl-deflate
12383 (package
12384 (name "sbcl-deflate")
12385 (version "1.0.3")
12386 (source
12387 (origin
12388 (method git-fetch)
12389 (uri (git-reference
12390 (url "https://github.com/pmai/Deflate")
12391 (commit (string-append "release-" version))))
12392 (file-name (git-file-name name version))
12393 (sha256
12394 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
12395 (build-system asdf-build-system/sbcl)
12396 (home-page "https://github.com/pmai/Deflate")
12397 (synopsis "Native deflate decompression for Common Lisp")
12398 (description
12399 "This library is an implementation of Deflate (RFC 1951) decompression,
12400with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
12401wrappers of deflate streams. It currently does not handle compression.")
12402 (license license:expat)))
12403
12404(define-public cl-deflate
12405 (sbcl-package->cl-source-package sbcl-deflate))
12406
12407(define-public ecl-deflate
12408 (sbcl-package->ecl-package sbcl-deflate))
7387c090
GLV
12409
12410(define-public sbcl-skippy
12411 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
12412 (revision "0"))
12413 (package
12414 (name "sbcl-skippy")
12415 (version (git-version "1.3.12" revision commit))
12416 (source
12417 (origin
12418 (method git-fetch)
12419 (uri (git-reference
12420 (url "https://github.com/xach/skippy")
12421 (commit commit)))
12422 (file-name (git-file-name name version))
12423 (sha256
12424 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
12425 (build-system asdf-build-system/sbcl)
12426 (home-page "https://xach.com/lisp/skippy/")
12427 (synopsis "Common Lisp library for GIF images")
12428 (description
12429 "Skippy is a Common Lisp library to read and write GIF image files.")
12430 (license license:bsd-2))))
12431
12432(define-public cl-skippy
12433 (sbcl-package->cl-source-package sbcl-skippy))
12434
12435(define-public ecl-skippy
12436 (sbcl-package->ecl-package sbcl-skippy))
ec2c73b8
GLV
12437
12438(define-public sbcl-cl-freetype2
12439 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
12440 (revision "0"))
12441 (package
12442 (name "sbcl-cl-freetype2")
12443 (version (git-version "1.1" revision commit))
12444 (source
12445 (origin
12446 (method git-fetch)
12447 (uri (git-reference
12448 (url "https://github.com/rpav/cl-freetype2")
12449 (commit commit)))
12450 (file-name (git-file-name name version))
12451 (sha256
12452 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
12453 (build-system asdf-build-system/sbcl)
12454 (native-inputs
12455 `(("fiveam" ,sbcl-fiveam)))
12456 (inputs
12457 `(("alexandria" ,sbcl-alexandria)
12458 ("cffi" ,sbcl-cffi)
12459 ("cffi-grovel" ,sbcl-cffi-grovel)
12460 ("freetype" ,freetype)
12461 ("trivial-garbage" ,sbcl-trivial-garbage)))
12462 (arguments
12463 `(#:phases
12464 (modify-phases %standard-phases
12465 (add-after 'unpack 'fix-paths
12466 (lambda* (#:key inputs #:allow-other-keys)
12467 (substitute* "src/ffi/ft2-lib.lisp"
12468 (("\"libfreetype\"")
12469 (string-append "\"" (assoc-ref inputs "freetype")
12470 "/lib/libfreetype\"")))
12471 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
12472 (("-I/usr/include/freetype")
12473 (string-append "-I" (assoc-ref inputs "freetype")
12474 "/include/freetype")))
12475 #t)))))
12476 (home-page "https://github.com/rpav/cl-freetype2")
12477 (synopsis "Common Lisp bindings for Freetype 2")
12478 (description
12479 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
12480geared toward both using Freetype directly by providing a simplified API, as
12481well as providing access to the underlying C structures and functions for use
12482with other libraries which may also use Freetype.")
12483 (license license:bsd-3))))
12484
12485(define-public cl-freetype2
12486 (sbcl-package->cl-source-package sbcl-cl-freetype2))
12487
12488(define-public ecl-cl-freetype2
12489 (sbcl-package->ecl-package sbcl-cl-freetype2))
fc748ff0
GLV
12490
12491(define-public sbcl-opticl-core
12492 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
12493 (revision "0"))
12494 (package
12495 (name "sbcl-opticl-core")
12496 (version (git-version "0.0.0" revision commit))
12497 (source
12498 (origin
12499 (method git-fetch)
12500 (uri (git-reference
12501 (url "https://github.com/slyrus/opticl-core")
12502 (commit commit)))
12503 (file-name (git-file-name name version))
12504 (sha256
12505 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
12506 (build-system asdf-build-system/sbcl)
12507 (inputs
12508 `(("alexandria" ,sbcl-alexandria)))
12509 (home-page "https://github.com/slyrus/opticl-core")
12510 (synopsis "Core classes and pixel access macros for Opticl")
12511 (description
12512 "This Common Lisp library contains the core classes and pixel access
12513macros for the Opticl image processing library.")
12514 (license license:bsd-2))))
12515
12516(define-public cl-opticl-core
12517 (sbcl-package->cl-source-package sbcl-opticl-core))
12518
12519(define-public ecl-opticl-core
12520 (sbcl-package->ecl-package sbcl-opticl-core))
1c1b0532
GLV
12521
12522(define-public sbcl-retrospectiff
12523 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
12524 (revision "0"))
12525 (package
12526 (name "sbcl-retrospectiff")
12527 (version (git-version "0.2" revision commit))
12528 (source
12529 (origin
12530 (method git-fetch)
12531 (uri (git-reference
12532 (url "https://github.com/slyrus/retrospectiff")
12533 (commit commit)))
12534 (file-name (git-file-name name version))
12535 (sha256
12536 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
12537 (build-system asdf-build-system/sbcl)
12538 (native-inputs
12539 `(("fiveam" ,sbcl-fiveam)))
12540 (inputs
12541 `(("cl-jpeg" ,sbcl-cl-jpeg)
12542 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
12543 ("deflate" ,sbcl-deflate)
12544 ("flexi-streams" ,sbcl-flexi-streams)
12545 ("ieee-floats" ,sbcl-ieee-floats)
12546 ("opticl-core" ,sbcl-opticl-core)))
12547 (home-page "https://github.com/slyrus/retrospectiff")
12548 (synopsis "Common Lisp library for TIFF images")
12549 (description
12550 "Retrospectiff is a common lisp library for reading and writing images
12551in the TIFF (Tagged Image File Format) format.")
12552 (license license:bsd-2))))
12553
12554(define-public cl-retrospectif
12555 (sbcl-package->cl-source-package sbcl-retrospectiff))
12556
12557(define-public ecl-retrospectiff
12558 (sbcl-package->ecl-package sbcl-retrospectiff))
0f44f63c
GLV
12559
12560(define-public sbcl-mmap
12561 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
12562 (revision "0"))
12563 (package
12564 (name "sbcl-mmap")
12565 (version (git-version "1.0.0" revision commit))
12566 (source
12567 (origin
12568 (method git-fetch)
12569 (uri (git-reference
12570 (url "https://github.com/Shinmera/mmap")
12571 (commit commit)))
12572 (file-name (git-file-name name version))
12573 (sha256
12574 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
12575 (build-system asdf-build-system/sbcl)
12576 (native-inputs
12577 `(("alexandria" ,sbcl-alexandria)
12578 ("cffi" ,sbcl-cffi)
12579 ("parachute" ,sbcl-parachute)
12580 ("trivial-features" ,sbcl-trivial-features)))
12581 (inputs
12582 `(("cffi" ,sbcl-cffi)
12583 ("documentation-utils" ,sbcl-documentation-utils)))
12584 (home-page "https://shinmera.github.io/mmap/")
12585 (synopsis "File memory mapping for Common Lisp")
12586 (description
12587 "This is a utility library providing access to the @emph{mmap} family of
12588functions in a portable way. It allows you to directly map a file into the
12589address space of your process without having to manually read it into memory
12590sequentially. Typically this is much more efficient for files that are larger
12591than a few Kb.")
12592 (license license:zlib))))
12593
12594(define-public cl-mmap
12595 (sbcl-package->cl-source-package sbcl-mmap))
12596
12597(define-public ecl-mmap
12598 (sbcl-package->ecl-package sbcl-mmap))
242bd807
GLV
12599
12600(define-public sbcl-3bz
12601 (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed")
12602 (revision "0"))
12603 (package
12604 (name "sbcl-3bz")
12605 (version (git-version "0.0.0" revision commit))
12606 (source
12607 (origin
12608 (method git-fetch)
12609 (uri (git-reference
12610 (url "https://github.com/3b/3bz")
12611 (commit commit)))
12612 (file-name (git-file-name name version))
12613 (sha256
12614 (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj"))))
12615 (build-system asdf-build-system/sbcl)
12616 (inputs
12617 `(("alexandria" ,sbcl-alexandria)
12618 ("babel" ,sbcl-babel)
12619 ("cffi" ,sbcl-cffi)
12620 ("mmap" ,sbcl-mmap)
12621 ("nibbles" ,sbcl-nibbles)
12622 ("trivial-features" ,sbcl-trivial-features)))
12623 (arguments
12624 ;; FIXME: Without the following line, the build fails (see issue 41437).
12625 `(#:asd-system-name "3bz"))
12626 (home-page "https://github.com/3b/3bz")
12627 (synopsis "Deflate decompression for Common Lisp")
12628 (description
12629 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
12630with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
12631foreign pointers (for use with mmap and similar, etc), and from CL octet
12632vectors and streams.")
12633 (license license:expat))))
12634
12635(define-public cl-3bz
12636 (sbcl-package->cl-source-package sbcl-3bz))
12637
12638(define-public ecl-3bz
12639 (sbcl-package->ecl-package sbcl-3bz))
5dff9687
GLV
12640
12641(define-public sbcl-zpb-exif
12642 (package
12643 (name "sbcl-zpb-exif")
12644 (version "1.2.4")
12645 (source
12646 (origin
12647 (method git-fetch)
12648 (uri (git-reference
12649 (url "https://github.com/xach/zpb-exif")
12650 (commit (string-append "release-" version))))
12651 (file-name (git-file-name name version))
12652 (sha256
12653 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
12654 (build-system asdf-build-system/sbcl)
12655 (home-page "https://xach.com/lisp/zpb-exif/")
12656 (synopsis "EXIF information extractor for Common Lisp")
12657 (description
12658 "This is a Common Lisp library to extract EXIF information from image
12659files.")
12660 (license license:bsd-2)))
12661
12662(define-public cl-zpb-exif
12663 (sbcl-package->cl-source-package sbcl-zpb-exif))
12664
12665(define-public ecl-zpb-exif
12666 (sbcl-package->ecl-package sbcl-zpb-exif))
b0e7bc35
GLV
12667
12668(define-public sbcl-pngload
12669 (package
12670 (name "sbcl-pngload")
12671 (version "2.0.0")
12672 (source
12673 (origin
12674 (method git-fetch)
12675 (uri (git-reference
12676 (url "https://github.com/bufferswap/pngload")
12677 (commit version)))
12678 (file-name (git-file-name name version))
12679 (sha256
12680 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
12681 (build-system asdf-build-system/sbcl)
12682 (inputs
12683 `(("3bz" ,sbcl-3bz)
12684 ("alexandria" ,sbcl-alexandria)
12685 ("cffi" ,sbcl-cffi)
12686 ("mmap" ,sbcl-mmap)
12687 ("parse-float" ,sbcl-parse-float)
12688 ("static-vectors" ,sbcl-static-vectors)
12689 ("swap-bytes" ,sbcl-swap-bytes)
12690 ("zpb-exif" ,sbcl-zpb-exif)))
12691 (arguments
12692 ;; Test suite disabled because of a dependency cycle.
12693 ;; pngload tests depend on opticl which depends on pngload.
12694 '(#:tests? #f))
12695 (home-page "https://github.com/bufferswap/pngload")
12696 (synopsis "PNG image decoder for Common Lisp")
12697 (description
12698 "This is a Common Lisp library to load images in the PNG image format,
12699both from files on disk, or streams in memory.")
12700 (license license:expat)))
12701
12702(define-public cl-pngload
12703 (sbcl-package->cl-source-package sbcl-pngload))
12704
12705(define-public ecl-pngload
12706 (sbcl-package->ecl-package sbcl-pngload))
b736e9ba
GLV
12707
12708(define-public sbcl-opticl
12709 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12710 (revision "0"))
12711 (package
12712 (name "sbcl-opticl")
12713 (version (git-version "0.0.0" revision commit))
12714 (source
12715 (origin
12716 (method git-fetch)
12717 (uri (git-reference
12718 (url "https://github.com/slyrus/opticl")
12719 (commit commit)))
12720 (file-name (git-file-name name version))
12721 (sha256
12722 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12723 (build-system asdf-build-system/sbcl)
12724 (native-inputs
12725 `(("fiveam" ,sbcl-fiveam)))
12726 (inputs
12727 `(("alexandria" ,sbcl-alexandria)
12728 ("cl-jpeg" ,sbcl-cl-jpeg)
12729 ("cl-tga" ,sbcl-cl-tga)
12730 ("png-read" ,sbcl-png-read)
12731 ("pngload" ,sbcl-pngload)
12732 ("retrospectiff" ,sbcl-retrospectiff)
12733 ("skippy" ,sbcl-skippy)
12734 ("zpng" ,sbcl-zpng)))
12735 (home-page "https://github.com/slyrus/opticl")
12736 (synopsis "Image processing library for Common Lisp")
12737 (description
12738 "Opticl is a Common Lisp library for representing, processing, loading,
12739and saving 2-dimensional pixel-based images.")
12740 (license license:bsd-2))))
12741
12742(define-public cl-opticl
12743 (sbcl-package->cl-source-package sbcl-opticl))
d0a6906d
GLV
12744
12745(define-public sbcl-clim-lisp
12746 (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7")
12747 (revision "0"))
12748 (package
12749 (name "sbcl-clim-lisp")
12750 (version (git-version "0.9.7" revision commit))
12751 (source
12752 (origin
12753 (method git-fetch)
12754 (uri (git-reference
12755 (url "https://github.com/mcclim/mcclim")
12756 (commit commit)))
12757 (file-name (git-file-name name version))
12758 (sha256
12759 (base32 "0jijfgkwas6xnpp5wiii6slcx9pgsalngacb8zm29x6pamx2193h"))))
12760 (build-system asdf-build-system/sbcl)
12761 (inputs
12762 `(("alexandria" ,sbcl-alexandria)
12763 ("closer-mop" ,sbcl-closer-mop)
12764 ("log4cl" ,sbcl-log4cl)
12765 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12766 (home-page "https://common-lisp.net/project/mcclim/")
12767 (synopsis "Common Lisp GUI toolkit")
12768 (description
12769 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12770specification}, a toolkit for writing GUIs in Common Lisp.")
12771 (license license:lgpl2.1+))))
9e7db6c8
GLV
12772
12773(define-public sbcl-clim-basic
12774 (package
12775 (inherit sbcl-clim-lisp)
12776 (name "sbcl-clim-basic")
12777 (inputs
12778 `(("alexandria" ,sbcl-alexandria)
12779 ("babel" ,sbcl-babel)
12780 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12781 ("clim-lisp" ,sbcl-clim-lisp)
12782 ("flexichain" ,sbcl-flexichain)
12783 ("spatial-trees" ,sbcl-spatial-trees)
12784 ("trivial-features" ,sbcl-trivial-features)
12785 ("trivial-garbage" ,sbcl-trivial-garbage)))
12786 (arguments
12787 '(#:asd-file "Core/clim-basic/clim-basic.asd"))))
5a691dc0
GLV
12788
12789(define-public sbcl-clim-core
12790 (package
12791 (inherit sbcl-clim-lisp)
12792 (name "sbcl-clim-core")
12793 (inputs
12794 `(("clim-basic" ,sbcl-clim-basic)))
12795 (arguments
12796 '(#:asd-file "Core/clim-core/clim-core.asd"))))
699650ed
GLV
12797
12798(define-public sbcl-esa-mcclim
12799 (package
12800 (inherit sbcl-clim-lisp)
12801 (name "sbcl-esa-mcclim")
12802 (inputs
12803 `(("alexandria" ,sbcl-alexandria)
12804 ("clim-core" ,sbcl-clim-core)))
12805 (arguments
12806 '(#:asd-file "Libraries/ESA/esa-mcclim.asd"))))
7cdfd92e
GLV
12807
12808(define-public sbcl-mcclim-fonts
12809 (package
12810 (inherit sbcl-clim-lisp)
12811 (name "sbcl-mcclim-fonts")
12812 (inputs
12813 `(("clim-basic" ,sbcl-clim-basic)))
12814 (arguments
12815 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"))))
49abb687
GLV
12816
12817(define-public sbcl-automaton
12818 (package
12819 (inherit sbcl-clim-lisp)
12820 (name "sbcl-automaton")
12821 (inputs
12822 `())
12823 (arguments
12824 '(#:asd-file "Libraries/Drei/cl-automaton/automaton.asd"))))
720c8387
GLV
12825
12826(define-public sbcl-persistent
12827 (package
12828 (inherit sbcl-clim-lisp)
12829 (name "sbcl-persistent")
12830 (inputs
12831 `())
12832 (arguments
12833 '(#:asd-file "Libraries/Drei/Persistent/persistent.asd"))))
b2f63ae6
GLV
12834
12835(define-public sbcl-drei-mcclim
12836 (package
12837 (inherit sbcl-clim-lisp)
12838 (name "sbcl-drei-mcclim")
12839 (native-inputs
12840 `(("fiveam" ,sbcl-fiveam)))
12841 (inputs
12842 `(("automaton" ,sbcl-automaton)
12843 ("clim-core" ,sbcl-clim-core)
12844 ("esa-mcclim" ,sbcl-esa-mcclim)
12845 ("flexichain" ,sbcl-flexichain)
12846 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12847 ("persistent" ,sbcl-persistent)
12848 ("swank" ,cl-slime-swank)))
12849 (arguments
12850 '(#:asd-file "Libraries/Drei/drei-mcclim.asd"))))
0ee4e6ef
GLV
12851
12852(define-public sbcl-clim
12853 (package
12854 (inherit sbcl-clim-lisp)
12855 (name "sbcl-clim")
12856 (inputs
12857 `(("clim-core" ,sbcl-clim-core)
12858 ("drei-mcclim" ,sbcl-drei-mcclim)
12859 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12860 (arguments
12861 '(#:asd-file "Core/clim/clim.asd"))))
875aadae
GLV
12862
12863(define-public sbcl-mcclim-backend-common
12864 (package
12865 (inherit sbcl-clim-lisp)
12866 (name "sbcl-mcclim-backend-common")
12867 (native-inputs
12868 `(("fiveam" ,sbcl-fiveam)))
12869 (inputs
12870 `(("clim" ,sbcl-clim)
12871 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12872 (arguments
12873 '(#:asd-file "Backends/common/mcclim-backend-common.asd"))))
9721909b
GLV
12874
12875(define-public sbcl-mcclim-clx
12876 (package
12877 (inherit sbcl-clim-lisp)
12878 (name "sbcl-mcclim-clx")
12879 (inputs
12880 `(("alexandria" ,sbcl-alexandria)
12881 ("cl-unicode" ,sbcl-cl-unicode)
12882 ("clx" ,sbcl-clx)
12883 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
12884 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12885 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12886 (arguments
12887 '(#:asd-file "Backends/CLX/mcclim-clx.asd"))))
c085e707
GLV
12888
12889(define-public sbcl-mcclim-fonts-truetype
12890 (package
12891 (inherit sbcl-clim-lisp)
12892 (name "sbcl-mcclim-fonts-truetype")
12893 (inputs
12894 `(("alexandria" ,sbcl-alexandria)
12895 ("cl-aa" ,sbcl-cl-aa)
12896 ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
12897 ("cl-vectors" ,sbcl-cl-vectors)
12898 ("clim-basic" ,sbcl-clim-basic)
1c5901ae 12899 ("font-dejavu" ,font-dejavu)
c085e707
GLV
12900 ("zpb-ttf" ,sbcl-zpb-ttf)))
12901 (arguments
1c5901ae 12902 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
c085e707 12903 #:asd-system-name "mcclim-fonts/truetype"
1c5901ae
GLV
12904 #:phases
12905 (modify-phases %standard-phases
12906 (add-after 'unpack 'fix-paths
12907 (lambda* (#:key inputs #:allow-other-keys)
12908 ;; mcclim-truetype uses DejaVu as default font and
12909 ;; sets the path at build time.
12910 (substitute* "Extensions/fonts/fontconfig.lisp"
12911 (("/usr/share/fonts/truetype/dejavu/")
12912 (string-append (assoc-ref inputs "font-dejavu")
12913 "/share/fonts/truetype/")))
12914 #t)))))))
fc77c141
GLV
12915
12916(define-public sbcl-mcclim-fonts-clx-truetype
12917 (package
12918 (inherit sbcl-clim-lisp)
12919 (name "sbcl-mcclim-fonts-clx-truetype")
12920 (inputs
12921 `(("mcclim-clx" ,sbcl-mcclim-clx)
12922 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
12923 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12924 (arguments
12925 '(#:asd-file "./Extensions/fonts/mcclim-fonts.asd"
12926 #:asd-system-name "mcclim-fonts/clx-truetype"
12927 #:phases
12928 (modify-phases %standard-phases
12929 (add-after 'unpack 'fix-asd-system-names
12930 (lambda _
12931 (substitute* "Extensions/fonts/mcclim-fonts.asd"
12932 ((":depends-on \\(#:mcclim-fonts/truetype")
12933 ":depends-on (#:mcclim-fonts-truetype"))
12934 #t)))))))
46fa001d
GLV
12935
12936(define-public sbcl-mcclim-clx-truetype
12937 (package
12938 (inherit sbcl-clim-lisp)
12939 (name "sbcl-mcclim-clx-truetype")
12940 (inputs
12941 `(("mcclim-clx" ,sbcl-mcclim-clx)
12942 ("mcclim-fonts-clx-truetype" ,sbcl-mcclim-fonts-clx-truetype)
12943 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12944 (arguments
12945 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
12946 #:asd-system-name "mcclim-clx/truetype"
12947 #:phases
12948 (modify-phases %standard-phases
12949 (add-after 'unpack 'fix-asd-system-names
12950 (lambda _
12951 (substitute* "Backends/CLX/mcclim-clx.asd"
12952 (("mcclim-fonts/clx-truetype")
12953 "mcclim-fonts-clx-truetype"))
12954 #t)))))))
db094018
GLV
12955
12956(define-public sbcl-mcclim-fontconfig
12957 (package
12958 (inherit sbcl-clim-lisp)
12959 (name "sbcl-mcclim-fontconfig")
12960 (native-inputs
12961 `(("pkg-config" ,pkg-config)))
12962 (inputs
12963 `(("alexandria" ,sbcl-alexandria)
12964 ("cffi" ,sbcl-cffi)
12965 ("cffi-grovel" ,sbcl-cffi-grovel)
12966 ("fontconfig" ,fontconfig)))
12967 (arguments
12968 '(#:asd-file "Extensions/fontconfig/mcclim-fontconfig.asd"
12969 #:phases
12970 (modify-phases %standard-phases
12971 (add-after 'unpack 'fix-paths
12972 (lambda* (#:key inputs #:allow-other-keys)
12973 (substitute* "Extensions/fontconfig/src/functions.lisp"
12974 (("libfontconfig\\.so")
12975 (string-append (assoc-ref inputs "fontconfig")
12976 "/lib/libfontconfig.so")))
12977 #t))
12978 (add-after 'unpack 'fix-build
12979 (lambda _
12980 ;; The cffi-grovel system does not get loaded automatically,
12981 ;; so we load it explicitly.
12982 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
12983 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
12984 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12985 #t)))))))
892f1ef0
GLV
12986
12987(define-public sbcl-mcclim-harfbuzz
12988 (package
12989 (inherit sbcl-clim-lisp)
12990 (name "sbcl-mcclim-harfbuzz")
12991 (native-inputs
12992 `(("pkg-config" ,pkg-config)))
12993 (inputs
12994 `(("alexandria" ,sbcl-alexandria)
12995 ("cffi" ,sbcl-cffi)
12996 ("cffi-grovel" ,sbcl-cffi-grovel)
12997 ("freetype" ,freetype)
12998 ("harfbuzz" ,harfbuzz)
12999 ("trivial-garbage" ,sbcl-trivial-garbage)))
13000 (arguments
13001 '(#:asd-file "Extensions/harfbuzz/mcclim-harfbuzz.asd"
13002 #:phases
13003 (modify-phases %standard-phases
13004 (add-after 'unpack 'fix-paths
13005 (lambda* (#:key inputs #:allow-other-keys)
13006 (substitute* "Extensions/harfbuzz/src/functions.lisp"
13007 (("libharfbuzz\\.so")
13008 (string-append (assoc-ref inputs "harfbuzz")
13009 "/lib/libharfbuzz.so")))
13010 #t))
13011 (add-after 'unpack 'fix-build
13012 (lambda _
13013 ;; The cffi-grovel system does not get loaded automatically,
13014 ;; so we load it explicitly.
13015 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
13016 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
13017 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
13018 #t)))))))
fab0adc7
GLV
13019
13020(define-public sbcl-mcclim-fonts-clx-freetype
13021 (package
13022 (inherit sbcl-clim-lisp)
13023 (name "sbcl-mcclim-fonts-clx-freetype")
13024 (inputs
13025 `(("cl-freetype2" ,sbcl-cl-freetype2)
13026 ("mcclim-clx" ,sbcl-mcclim-clx)
13027 ("mcclim-fontconfig" ,sbcl-mcclim-fontconfig)
13028 ("mcclim-fonts" ,sbcl-mcclim-fonts)
13029 ("mcclim-harfbuzz" ,sbcl-mcclim-harfbuzz)
13030 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13031 (arguments
13032 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
13033 #:asd-system-name "mcclim-fonts/clx-freetype"))))
942a8247
GLV
13034
13035(define-public sbcl-mcclim-clx-freetype
13036 (package
13037 (inherit sbcl-clim-lisp)
13038 (name "sbcl-mcclim-clx-freetype")
13039 (inputs
13040 `(("mcclim-clx" ,sbcl-mcclim-clx)
13041 ("mcclim-fonts-clx-freetype" ,sbcl-mcclim-fonts-clx-freetype)
13042 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13043 (arguments
13044 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
13045 #:asd-system-name "mcclim-clx/freetype"
13046 #:phases
13047 (modify-phases %standard-phases
13048 (add-after 'unpack 'fix-asd-system-names
13049 (lambda _
13050 (substitute* "Backends/CLX/mcclim-clx.asd"
13051 (("mcclim-fonts/clx-freetype")
13052 "mcclim-fonts-clx-freetype"))
13053 #t)))))))
6b40a9af
GLV
13054
13055(define-public sbcl-mcclim-render
13056 (package
13057 (inherit sbcl-clim-lisp)
13058 (name "sbcl-mcclim-render")
13059 (inputs
13060 `(("alexandria" ,sbcl-alexandria)
13061 ("cl-vectors" ,sbcl-cl-vectors)
13062 ("clim-basic" ,sbcl-clim-basic)
13063 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13064 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
13065 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13066 (arguments
13067 '(#:asd-file "Extensions/render/mcclim-render.asd"
13068 #:phases
13069 (modify-phases %standard-phases
13070 (add-after 'unpack 'fix-asd-system-names
13071 (lambda _
13072 (substitute* "Extensions/render/mcclim-render.asd"
13073 (("mcclim-fonts/truetype")
13074 "mcclim-fonts-truetype"))
13075 #t)))))))
1f1d0bac
GLV
13076
13077(define-public sbcl-mcclim-clx-fb
13078 (package
13079 (inherit sbcl-clim-lisp)
13080 (name "sbcl-mcclim-clx-fb")
13081 (inputs
13082 `(("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13083 ("mcclim-clx" ,sbcl-mcclim-clx)
13084 ("mcclim-render" ,sbcl-mcclim-render)
13085 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13086 (arguments
13087 '(#:asd-file "Backends/CLX-fb/mcclim-clx-fb.asd"))))
6be78cd9
GLV
13088
13089(define-public sbcl-mcclim-null
13090 (package
13091 (inherit sbcl-clim-lisp)
13092 (name "sbcl-mcclim-null")
13093 (inputs
13094 `(("clim" ,sbcl-clim)
13095 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13096 (arguments
13097 '(#:asd-file "Backends/Null/mcclim-null.asd"))))
48f2694d
GLV
13098
13099(define-public sbcl-clim-postscript-font
13100 (package
13101 (inherit sbcl-clim-lisp)
13102 (name "sbcl-clim-postscript-font")
13103 (inputs
13104 `(("clim-basic" ,sbcl-clim-basic)
13105 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13106 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13107 (arguments
13108 '(#:asd-file "Backends/PostScript/clim-postscript-font.asd"))))
b1ca56bf
GLV
13109
13110(define-public sbcl-clim-postscript
13111 (package
13112 (inherit sbcl-clim-lisp)
13113 (name "sbcl-clim-postscript")
13114 (native-inputs
13115 `(("fiveam" ,sbcl-fiveam)))
13116 (inputs
13117 `(("clim-basic" ,sbcl-clim-basic)
13118 ("clim-postscript-font" ,sbcl-clim-postscript-font)
13119 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13120 (arguments
13121 '(#:asd-file "Backends/PostScript/clim-postscript.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-postscript.
13125 #:tests? #f))))
1a1b584b
GLV
13126
13127(define-public sbcl-clim-pdf
13128 (package
13129 (inherit sbcl-clim-lisp)
13130 (name "sbcl-clim-pdf")
13131 (native-inputs
13132 `(("fiveam" ,sbcl-fiveam)))
13133 (inputs
13134 `(("cl-pdf" ,sbcl-cl-pdf)
13135 ("clim-basic" ,sbcl-clim-basic)
13136 ("clim-postscript-font" ,sbcl-clim-postscript-font)
13137 ("flexi-streams" ,sbcl-flexi-streams)
13138 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13139 (arguments
13140 '(#:asd-file "Backends/PDF/clim-pdf.asd"
13141 ;; Test suite disabled because of a dependency cycle.
13142 ;; The tests depend on mcclim/test-util, which depends on mcclim,
13143 ;; wich depends on mcclim/extensions, which depends on clim-pdf.
13144 #:tests? #f))))
efa88f90
GLV
13145
13146(define-public sbcl-mcclim-looks
13147 (package
13148 (inherit sbcl-clim-lisp)
13149 (name "sbcl-mcclim-looks")
13150 (inputs
13151 `(("clim" ,sbcl-clim)
13152 ("mcclim-clx" ,sbcl-mcclim-clx)
13153 ("mcclim-clx-fb" ,sbcl-mcclim-clx-fb)
13154 ("mcclim-clx-freetype" ,sbcl-mcclim-clx-freetype)
13155 ("mcclim-clx-truetype" ,sbcl-mcclim-clx-truetype)
13156 ("mcclim-null" ,sbcl-mcclim-null)
13157 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13158 (arguments
13159 '(#:asd-file "mcclim.asd"
13160 #:asd-system-name "mcclim/looks"
13161 #:phases
13162 (modify-phases %standard-phases
13163 (add-after 'unpack 'fix-asd-system-names
13164 (lambda _
13165 (substitute* "mcclim.asd"
13166 (("mcclim-clx/truetype")
13167 "mcclim-clx-truetype")
13168 (("mcclim-clx/freetype")
13169 "mcclim-clx-freetype"))
13170 #t)))))))
9757de5d
GLV
13171
13172(define-public sbcl-mcclim-franz
13173 (package
13174 (inherit sbcl-clim-lisp)
13175 (name "sbcl-mcclim-franz")
13176 (inputs
13177 `(("clim" ,sbcl-clim)
13178 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13179 (arguments
13180 '(#:asd-file "Extensions/Franz/mcclim-franz.asd"))))
000ee6e5
GLV
13181
13182(define-public sbcl-mcclim-bezier-core
13183 (package
13184 (inherit sbcl-clim-lisp)
13185 (name "sbcl-mcclim-bezier-core")
13186 (inputs
13187 `(("clim" ,sbcl-clim)
13188 ("clim-pdf" ,sbcl-clim-pdf)
13189 ("clim-postscript" ,sbcl-clim-postscript)
13190 ("mcclim-null" ,sbcl-mcclim-null)
13191 ("mcclim-render" ,sbcl-mcclim-render)
13192 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13193 (arguments
13194 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13195 #:asd-system-name "mcclim-bezier/core"))))
d92e2649
GLV
13196
13197(define-public sbcl-mcclim-bezier-clx
13198 (package
13199 (inherit sbcl-clim-lisp)
13200 (name "sbcl-mcclim-bezier-clx")
13201 (inputs
13202 `(("clim" ,sbcl-clim)
13203 ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
13204 ("mcclim-clx" ,sbcl-mcclim-clx)
13205 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13206 (arguments
13207 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13208 #:asd-system-name "mcclim-bezier/clx"
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 #t)))))))
c93bd9f8
GLV
13217
13218(define-public sbcl-mcclim-bezier
13219 (package
13220 (inherit sbcl-clim-lisp)
13221 (name "sbcl-mcclim-bezier")
13222 (inputs
13223 `(("mcclim-bezier/clx" ,sbcl-mcclim-bezier-clx)
13224 ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
13225 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13226 (arguments
13227 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13228 #:phases
13229 (modify-phases %standard-phases
13230 (add-after 'unpack 'fix-asd-system-names
13231 (lambda _
13232 (substitute* "Extensions/bezier/mcclim-bezier.asd"
13233 (("\\(#:mcclim-bezier/core")
13234 "(#:mcclim-bezier-core")
13235 (("#:mcclim-bezier/clx\\)\\)")
13236 "#:mcclim-bezier-clx))"))
13237 #t)))))))
92da537c
GLV
13238
13239(define-public sbcl-mcclim-bitmaps
13240 (package
13241 (inherit sbcl-clim-lisp)
13242 (name "sbcl-mcclim-bitmaps")
13243 (inputs
13244 `(("clim-basic" ,sbcl-clim-basic)
13245 ("opticl" ,sbcl-opticl)))
13246 (arguments
13247 '(#:asd-file "Extensions/bitmap-formats/mcclim-bitmaps.asd"))))
5d2abf9f
GLV
13248
13249(define-public sbcl-conditional-commands
13250 (package
13251 (inherit sbcl-clim-lisp)
13252 (name "sbcl-conditional-commands")
13253 (inputs
13254 `(("clim-basic" ,sbcl-clim-basic)))
13255 (arguments
13256 '(#:asd-file "Extensions/conditional-commands/conditional-commands.asd"))))
e8875462
GLV
13257
13258(define-public sbcl-mcclim-layouts-tab
13259 (package
13260 (inherit sbcl-clim-lisp)
13261 (name "sbcl-mcclim-layouts-tab")
13262 (inputs
13263 `(("clim" ,sbcl-clim)
13264 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13265 (arguments
13266 '(#:asd-file "Extensions/layouts/mcclim-layouts.asd"
13267 #:asd-system-name "mcclim-layouts/tab"))))
8e0e7f35
GLV
13268
13269(define-public sbcl-mcclim-extensions
13270 (package
13271 (inherit sbcl-clim-lisp)
13272 (name "sbcl-mcclim-extensions")
13273 (inputs
13274 `(("clim-pdf" ,sbcl-clim-pdf)
13275 ("clim-postscript" ,sbcl-clim-postscript)
13276 ("conditional-commands" ,sbcl-conditional-commands)
13277 ("mcclim-bezier" ,sbcl-mcclim-bezier)
13278 ("mcclim-bitmaps" ,sbcl-mcclim-bitmaps)
13279 ("mcclim-franz" ,sbcl-mcclim-franz)
13280 ("mcclim-layouts-tab" ,sbcl-mcclim-layouts-tab)
13281 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13282 (arguments
13283 '(#:asd-file "mcclim.asd"
13284 #:asd-system-name "mcclim/extensions"
13285 #:phases
13286 (modify-phases %standard-phases
13287 (add-after 'unpack 'fix-asd-system-names
13288 (lambda _
13289 (substitute* "mcclim.asd"
13290 (("mcclim-layouts/tab")
13291 "mcclim-layouts-tab"))
13292 #t)))))))
8afd2d10
GLV
13293
13294(define-public sbcl-mcclim
13295 (package
13296 (inherit sbcl-clim-lisp)
13297 (name "sbcl-mcclim")
13298 (native-inputs
13299 `(("fiveam" ,sbcl-fiveam)))
13300 (inputs
13301 `(("mcclim-looks" ,sbcl-mcclim-looks)
13302 ("mcclim-extensions" ,sbcl-mcclim-extensions)
13303 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13304 (arguments
13305 '(#:phases
13306 (modify-phases %standard-phases
13307 (add-after 'unpack 'fix-asd-system-names
13308 (lambda _
13309 (substitute* "mcclim.asd"
13310 ((":depends-on \\(\"mcclim/looks\" \"mcclim/extensions\"\\)")
13311 ":depends-on (\"mcclim-looks\" \"mcclim-extensions\")"))
13312 #t)))
13313 ;; Test suite disabled because of a dependency cycle.
13314 ;; The tests depend on mcclim/test-util, which depends on mcclim.
13315 #:tests? #f))))
0f935e95
GLV
13316
13317(define-public cl-mcclim
13318 (let ((base (sbcl-package->cl-source-package sbcl-clim-lisp)))
13319 (package
13320 (inherit base)
13321 (name "cl-mcclim")
13322 (native-inputs
13323 `(("fiveam" ,cl-fiveam)
13324 ("pkg-config" ,pkg-config)))
13325 (inputs
13326 `(("alexandria" ,cl-alexandria)
13327 ("babel" ,cl-babel)
13328 ("bordeaux-threads" ,cl-bordeaux-threads)
13329 ("cffi" ,cl-cffi)
13330 ("cl-aa" ,cl-aa)
13331 ("cl-freetype2" ,cl-freetype2)
13332 ("cl-paths-ttf" ,cl-paths-ttf)
13333 ("cl-pdf" ,cl-pdf)
13334 ("cl-unicode" ,cl-unicode)
13335 ("cl-vectors" ,cl-vectors)
13336 ("closer-mop" ,cl-closer-mop)
13337 ("clx" ,cl-clx)
13338 ("flexi-streams" ,cl-flexi-streams)
13339 ("flexichain" ,cl-flexichain)
13340 ("fontconfig" ,fontconfig)
13341 ("freetype" ,freetype)
13342 ("harfbuzz" ,harfbuzz)
13343 ("log4cl" ,cl-log4cl)
13344 ("opticl" ,cl-opticl)
13345 ("spatial-trees" ,cl-spatial-trees)
13346 ("trivial-features" ,cl-trivial-features)
13347 ("trivial-garbage" ,cl-trivial-garbage)
13348 ("trivial-gray-streams" ,cl-trivial-gray-streams)
13349 ("swank" ,cl-slime-swank)
13350 ("zpb-ttf" ,cl-zpb-ttf))))))
de681bdb
AK
13351
13352(define-public sbcl-cl-inflector
13353 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
13354 (revision "1"))
13355 (package
13356 (name "sbcl-cl-inflector")
13357 (version (git-version "0.2" revision commit))
13358 (source
13359 (origin
13360 (method git-fetch)
13361 (uri (git-reference
13362 (url "https://github.com/AccelerationNet/cl-inflector")
13363 (commit commit)))
13364 (file-name (git-file-name name version))
13365 (sha256
13366 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
13367 (build-system asdf-build-system/sbcl)
13368 (native-inputs
13369 `(("lisp-unit2" ,sbcl-lisp-unit2)))
13370 (inputs
13371 `(("alexandria" ,sbcl-alexandria)
13372 ("cl-ppcre" ,sbcl-cl-ppcre)))
13373 (home-page "https://github.com/AccelerationNet/cl-inflector")
13374 (synopsis "Library to pluralize/singularize English and Portuguese words")
13375 (description
13376 "This is a common lisp library to easily pluralize and singularize
13377English and Portuguese words. This is a port of the ruby ActiveSupport
13378Inflector module.")
13379 (license license:expat))))
13380
13381(define-public cl-inflector
13382 (sbcl-package->cl-source-package sbcl-cl-inflector))
13383
13384(define-public ecl-cl-inflector
13385 (sbcl-package->ecl-package sbcl-cl-inflector))
a05edef2
AK
13386
13387(define-public sbcl-qbase64
13388 (package
13389 (name "sbcl-qbase64")
13390 (version "0.3.0")
13391 (source
13392 (origin
13393 (method git-fetch)
13394 (uri (git-reference
13395 (url "https://github.com/chaitanyagupta/qbase64")
13396 (commit version)))
13397 (file-name (git-file-name name version))
13398 (sha256
13399 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
13400 (build-system asdf-build-system/sbcl)
13401 (inputs
13402 `(("metabang-bind" ,sbcl-metabang-bind)
13403 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
13404 (native-inputs
13405 `(("fiveam" ,sbcl-fiveam)))
13406 (home-page "https://github.com/chaitanyagupta/qbase64")
13407 (synopsis "Base64 encoder and decoder for Common Lisp")
13408 (description "@code{qbase64} provides a fast and flexible base64 encoder
13409and decoder for Common Lisp.")
13410 (license license:bsd-3)))
13411
13412(define-public cl-qbase64
13413 (sbcl-package->cl-source-package sbcl-qbase64))
13414
13415(define-public ecl-qbase64
13416 (sbcl-package->ecl-package sbcl-qbase64))
635e8b07
PN
13417
13418(define-public sbcl-hu.dwim.common-lisp
13419 (package
13420 (name "sbcl-hu.dwim.common-lisp")
13421 (version "2015-07-09")
13422 (source
13423 (origin
13424 (method url-fetch)
13425 (uri (string-append
13426 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
13427 version "/hu.dwim.common-lisp-"
13428 (string-replace-substring version "-" "")
13429 "-darcs.tgz"))
13430 (sha256
13431 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
13432 (build-system asdf-build-system/sbcl)
13433 (native-inputs
13434 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13435 (home-page "http://dwim.hu/")
13436 (synopsis "Redefine some standard Common Lisp names")
13437 (description "This library is a redefinition of the standard Common Lisp
13438package that includes a number of renames and shadows. ")
13439 (license license:public-domain)))
13440
13441(define-public cl-hu.dwim.common-lisp
13442 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
13443
13444(define-public ecl-hu.dwim.common-lisp
13445 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
89a3fec5
PN
13446
13447(define-public sbcl-hu.dwim.common
13448 (package
13449 (name "sbcl-hu.dwim.common")
13450 (version "2015-07-09")
13451 (source
13452 (origin
13453 (method url-fetch)
13454 (uri (string-append
13455 "http://beta.quicklisp.org/archive/hu.dwim.common/"
13456 version "/hu.dwim.common-"
13457 (string-replace-substring version "-" "")
13458 "-darcs.tgz"))
13459 (sha256
13460 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
13461 (build-system asdf-build-system/sbcl)
13462 (native-inputs
13463 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13464 (inputs
13465 `(("alexandria" ,sbcl-alexandria)
13466 ("anaphora" ,sbcl-anaphora)
13467 ("closer-mop" ,sbcl-closer-mop)
13468 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
13469 ("iterate" ,sbcl-iterate)
13470 ("metabang-bind" ,sbcl-metabang-bind)))
13471 (home-page "http://dwim.hu/")
13472 (synopsis "Common Lisp library shared by other hu.dwim systems")
13473 (description "")
13474 (license license:public-domain)))
13475
13476(define-public cl-hu.dwim.common
13477 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
13478
13479(define-public ecl-hu.dwim.common
13480 (sbcl-package->ecl-package sbcl-hu.dwim.common))
ec3c3aa7
PN
13481
13482(define-public sbcl-hu.dwim.defclass-star
13483 (package
13484 (name "sbcl-hu.dwim.defclass-star")
13485 (version "2015-07-09")
13486 (source
13487 (origin
13488 (method url-fetch)
13489 (uri (string-append
13490 "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/"
13491 version "/hu.dwim.defclass-star-"
13492 (string-replace-substring version "-" "")
13493 "-darcs.tgz"))
13494 (sha256
13495 (base32 "032982lyp0hm0ssxlyh572whi2hr4j1nqkyqlllaj373v0dbs3vs"))))
13496 (build-system asdf-build-system/sbcl)
13497 (native-inputs
13498 `(;; These 2 inputs are only needed tests which are disabled, see below.
13499 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
13500 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
13501 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
13502 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13503 (arguments
13504 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
13505 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
13506 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
13507 #:tests? #f))
13508 (home-page "http://dwim.hu/?_x=dfxn&_f=mRIMfonK")
13509 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
13510 (description "@code{defclass-star} provides defclass* and defcondition* to
13511simplify class and condition declarations. Features include:
13512
13513@itemize
13514@item Automatically export all or select slots at compile time.
13515@item Define the @code{:initarg} and @code{:accesor} automatically.
13516@item Specify a name transformer for both the @code{:initarg} and
13517@code{:accessor}, etc.
13518@item Specify the @code{:initform} as second slot value.
13519@end itemize
13520
13521See
13522@url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
13523for an example.")
13524 (license license:public-domain)))
13525
13526(define-public cl-hu.dwim.defclass-star
13527 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
13528
13529(define-public ecl-hu.dwim.defclass-star
13530 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
ca7eada9
AK
13531
13532(define-public sbcl-livesupport
13533 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
13534 (revision "1"))
13535 (package
13536 (name "sbcl-livesupport")
13537 (version (git-version "0.0.0" revision commit))
13538 (source
13539 (origin
13540 (method git-fetch)
13541 (uri (git-reference
13542 (url "https://github.com/cbaggers/livesupport")
13543 (commit commit)))
13544 (file-name (git-file-name name version))
13545 (sha256
13546 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
13547 (build-system asdf-build-system/sbcl)
13548 (home-page "https://github.com/cbaggers/livesupport")
13549 (synopsis "Some helpers that make livecoding a little easier")
13550 (description "This package provides a macro commonly used in livecoding to
13551enable continuing when errors are raised. Simply wrap around a chunk of code
13552and it provides a restart called @code{continue} which ignores the error and
13553carrys on from the end of the body.")
13554 (license license:bsd-2))))
13555
13556(define-public cl-livesupport
13557 (sbcl-package->cl-source-package sbcl-livesupport))
13558
13559(define-public ecl-livesupport
13560 (sbcl-package->ecl-package sbcl-livesupport))
bfa78462
PN
13561
13562(define-public sbcl-envy
13563 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
13564 (revision "1"))
13565 (package
13566 (name "sbcl-envy")
13567 (version (git-version "0.1" revision commit))
13568 (home-page "https://github.com/fukamachi/envy")
13569 (source
13570 (origin
13571 (method git-fetch)
13572 (uri (git-reference
13573 (url home-page)
13574 (commit commit)))
13575 (file-name (git-file-name name version))
13576 (sha256
13577 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
13578 (build-system asdf-build-system/sbcl)
13579 ;; (native-inputs ; Only for tests.
13580 ;; `(("prove" ,sbcl-prove)
13581 ;; ("osicat" ,sbcl-osicat)))
13582 (arguments
13583 '(#:phases
13584 (modify-phases %standard-phases
13585 (add-after 'unpack 'fix-tests
13586 (lambda _
13587 (substitute* "envy-test.asd"
13588 (("cl-test-more") "prove"))
13589 #t)))
13590 ;; Tests fail with
13591 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
13592 ;; like xsubseq. Why?
13593 #:tests? #f))
13594 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
13595 (description "Envy is a configuration manager for various applications.
13596Envy uses an environment variable to determine a configuration to use. This
13597can separate configuration system from an implementation.")
13598 (license license:bsd-2))))
13599
13600(define-public cl-envy
13601 (sbcl-package->cl-source-package sbcl-envy))
13602
13603(define-public ecl-envy
13604 (sbcl-package->ecl-package sbcl-envy))
f5e31b1d
PN
13605
13606(define sbcl-mito-core
13607 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
13608 (revision "1"))
13609 (package
13610 (name "sbcl-mito-core")
13611 (version (git-version "0.1" revision commit))
13612 (home-page "https://github.com/fukamachi/mito")
13613 (source
13614 (origin
13615 (method git-fetch)
13616 (uri (git-reference
13617 (url home-page)
13618 (commit commit)))
13619 (file-name (git-file-name name version))
13620 (sha256
13621 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
13622 (build-system asdf-build-system/sbcl)
13623 (inputs
13624 `(("dbi" ,sbcl-dbi)
13625 ("sxql" ,sbcl-sxql)
13626 ("cl-ppcre" ,sbcl-cl-ppcre)
13627 ("closer-mop" ,sbcl-closer-mop)
13628 ("dissect" ,sbcl-dissect)
13629 ("optima" ,sbcl-optima)
13630 ("cl-reexport" ,sbcl-cl-reexport)
13631 ("local-time" ,sbcl-local-time)
13632 ("uuid" ,sbcl-uuid)
13633 ("alexandria" ,sbcl-alexandria)))
13634 (synopsis "ORM for Common Lisp with migrations and relationships support")
13635 (description "Mito is yet another object relational mapper, and it aims
13636to be a successor of Integral.
13637
13638@itemize
13639@item Support MySQL, PostgreSQL and SQLite3.
13640@item Add id (serial/uuid primary key), created_at and updated_at by default
13641like Ruby's ActiveRecord.
13642@item Migrations.
13643@item Database schema versioning.
13644@end itemize\n")
13645 (license license:llgpl))))
13646
13647(define sbcl-mito-migration
13648 (package
13649 (inherit sbcl-mito-core)
13650 (name "sbcl-mito-migration")
13651 (inputs
13652 `(("mito-core" ,sbcl-mito-core)
13653 ("dbi" ,sbcl-dbi)
13654 ("sxql" ,sbcl-sxql)
13655 ("closer-mop" ,sbcl-closer-mop)
13656 ("cl-reexport" ,sbcl-cl-reexport)
13657 ("uuid" ,sbcl-uuid)
13658 ("alexandria" ,sbcl-alexandria)
13659 ("esrap" ,sbcl-esrap)))))
13660
13661(define sbcl-lack-middleware-mito
13662 (package
13663 (inherit sbcl-mito-core)
13664 (name "sbcl-lack-middleware-mito")
13665 (inputs
13666 `(("mito-core" ,sbcl-mito-core)
13667 ("dbi" ,sbcl-dbi)))
13668 (arguments
13669 '(#:phases
13670 (modify-phases %standard-phases
13671 (add-after 'unpack 'fix-build
13672 (lambda _
13673 (substitute* "lack-middleware-mito.asd"
13674 (("cl-dbi") "dbi"))
13675 #t)))))))
13676
13677(define-public sbcl-mito
13678 (package
13679 (inherit sbcl-mito-core)
13680 (name "sbcl-mito")
13681 (inputs
13682 `(("mito-core" ,sbcl-mito-core)
13683 ("mito-migration" ,sbcl-mito-migration)
13684 ("lack-middleware-mito" ,sbcl-lack-middleware-mito)
13685 ("cl-reexport" ,sbcl-cl-reexport)))
13686 (native-inputs
13687 `(("prove" ,sbcl-prove)
13688 ("prove-asdf" ,sbcl-prove-asdf)
13689 ("dbd-mysql" ,sbcl-dbd-mysql)
13690 ("dbd-postgres" ,sbcl-dbd-postgres)
13691 ("dbd-sqlite3" ,sbcl-dbd-sqlite3)))
13692 (arguments
13693 '(#:phases
13694 (modify-phases %standard-phases
13695 (add-after 'unpack 'remove-non-functional-tests
13696 (lambda _
13697 (substitute* "mito-test.asd"
13698 ;; (("\\(:test-file \"migration/mysql\"\\)") "")
13699 (("\\(:test-file \"db/mysql\"\\)") "")
13700 (("\\(:test-file \"db/postgres\"\\)") "")
13701 (("\\(:test-file \"dao\"\\)") "")
13702 ;; TODO: migration/sqlite3 should work, re-enable once
13703 ;; upstream has fixed it:
13704 ;; https://github.com/fukamachi/mito/issues/70
13705 (("\\(:test-file \"migration/sqlite3\"\\)") "")
13706 (("\\(:test-file \"migration/mysql\"\\)") "")
13707 (("\\(:test-file \"migration/postgres\"\\)") "")
13708 (("\\(:test-file \"postgres-types\"\\)") "")
13709 (("\\(:test-file \"mixin\"\\)") ""))
13710 #t)))
13711 ;; TODO: While all enabled tests pass, the phase fails with:
13712 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
13713 #:tests? #f))))
13714
13715(define-public cl-mito
13716 (sbcl-package->cl-source-package sbcl-mito))
0bca68d9
PN
13717
13718(define-public sbcl-kebab
13719 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
13720 (revision "1"))
13721 (package
13722 (name "sbcl-kebab")
13723 (version (git-version "0.1" revision commit))
13724 (home-page "https://github.com/pocket7878/kebab")
13725 (source
13726 (origin
13727 (method git-fetch)
13728 (uri (git-reference
13729 (url home-page)
13730 (commit commit)))
13731 (file-name (git-file-name name version))
13732 (sha256
13733 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
13734 (build-system asdf-build-system/sbcl)
13735 (inputs
13736 `(("cl-ppcre" ,sbcl-cl-ppcre)
13737 ("alexandria" ,sbcl-alexandria)
13738 ("cl-interpol" ,sbcl-cl-interpol)
13739 ("split-sequence" ,sbcl-split-sequence)))
13740 (native-inputs
13741 `(("prove-asdf" ,sbcl-prove-asdf)
13742 ("prove" ,sbcl-prove)))
13743 (arguments
13744 ;; Tests passes but the phase fails with
13745 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
13746 `(#:tests? #f))
13747 (synopsis "Common Lisp case converter")
13748 (description "This Common Lisp library converts strings, symbols and
13749keywords between any of the following typographical cases: PascalCase,
13750camelCase, snake_case, kebab-case (lisp-case).")
13751 (license license:llgpl))))
13752
13753(define-public cl-kebab
13754 (sbcl-package->cl-source-package sbcl-kebab))
13755
13756(define-public ecl-kebab
13757 (sbcl-package->ecl-package sbcl-kebab))
69006b0c
PN
13758
13759(define-public sbcl-datafly
13760 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
13761 (revision "1"))
13762 (package
13763 (name "sbcl-datafly")
13764 (version (git-version "0.1" revision commit))
13765 (home-page "https://github.com/fukamachi/datafly")
13766 (source
13767 (origin
13768 (method git-fetch)
13769 (uri (git-reference
13770 (url home-page)
13771 (commit commit)))
13772 (file-name (git-file-name name version))
13773 (sha256
13774 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
13775 (build-system asdf-build-system/sbcl)
13776 (inputs
13777 `(("alexandria" ,sbcl-alexandria)
13778 ("iterate" ,sbcl-iterate)
13779 ("optima" ,sbcl-optima)
13780 ("trivial-types" ,sbcl-trivial-types)
13781 ("closer-mop" ,sbcl-closer-mop)
13782 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
13783 ("sxql" ,sbcl-sxql)
13784 ("dbi" ,sbcl-dbi)
13785 ("babel" ,sbcl-babel)
13786 ("local-time" ,sbcl-local-time)
13787 ("function-cache" ,sbcl-function-cache)
13788 ("jonathan" ,sbcl-jonathan)
13789 ("kebab" ,sbcl-kebab)
13790 ("log4cl" ,sbcl-log4cl)))
13791 (native-inputs
13792 `(("prove-asdf" ,sbcl-prove-asdf)
13793 ("prove" ,sbcl-prove)
13794 ("dbd-sqlite3" ,sbcl-dbd-sqlite3)))
13795 (arguments
13796 ;; TODO: Tests fail with
13797 ;; While evaluating the form starting at line 22, column 0
13798 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
13799 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
13800 ;; {10009F8083}>:
13801 ;; Error when binding parameter 1 to value NIL.
13802 ;; Code RANGE: column index out of range.
13803 `(#:tests? #f))
13804 (synopsis "Lightweight database library for Common Lisp")
13805 (description "Datafly is a lightweight database library for Common Lisp.")
13806 (license license:bsd-3))))
13807
13808(define-public cl-datafly
13809 (sbcl-package->cl-source-package sbcl-datafly))
13810
13811(define-public ecl-datafly
13812 (sbcl-package->ecl-package sbcl-datafly))
56aeb1a4
PN
13813
13814(define-public sbcl-do-urlencode
13815 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
13816 (revision "1"))
13817 (package
13818 (name "sbcl-do-urlencode")
13819 (version (git-version "0.0.0" revision commit))
13820 (home-page "https://github.com/drdo/do-urlencode")
13821 (source
13822 (origin
13823 (method git-fetch)
13824 (uri (git-reference
13825 (url home-page)
13826 (commit commit)))
13827 (file-name (git-file-name name version))
13828 (sha256
13829 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
13830 (build-system asdf-build-system/sbcl)
13831 (inputs
13832 `(("alexandria" ,sbcl-alexandria)
13833 ("babel" ,sbcl-babel)))
13834 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
13835 (description "This library provides trivial percent encoding and
13836decoding functions for URLs.")
13837 (license license:isc))))
13838
13839(define-public cl-do-urlencode
13840 (sbcl-package->cl-source-package sbcl-do-urlencode))
13841
13842(define-public ecl-do-urlencode
13843 (sbcl-package->ecl-package sbcl-do-urlencode))
d2c9f349
PN
13844
13845(define-public sbcl-cl-emb
13846 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
13847 (revision "1"))
13848 (package
13849 (name "sbcl-cl-emb")
13850 (version (git-version "0.4.3" revision commit))
13851 (home-page "https://common-lisp.net/project/cl-emb/")
13852 (source
13853 (origin
13854 (method git-fetch)
13855 (uri (git-reference
13856 (url "https://github.com/38a938c2/cl-emb")
13857 (commit commit)))
13858 (file-name (git-file-name name version))
13859 (sha256
13860 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
13861 (build-system asdf-build-system/sbcl)
13862 (inputs
13863 `(("cl-ppcre" ,sbcl-cl-ppcre)))
13864 (synopsis "Templating system for Common Lisp")
13865 (description "A mixture of features from eRuby and HTML::Template. You
13866could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
13867that and not limited to a certain server or text format.")
13868 (license license:llgpl))))
13869
13870(define-public cl-emb
13871 (sbcl-package->cl-source-package sbcl-cl-emb))
13872
13873(define-public ecl-cl-emb
13874 (sbcl-package->ecl-package sbcl-cl-emb))
bc1f552b
PN
13875
13876(define-public sbcl-cl-project
13877 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
13878 (revision "1"))
13879 (package
13880 (name "sbcl-cl-project")
13881 (version (git-version "0.3.1" revision commit))
13882 (home-page "https://github.com/fukamachi/cl-project")
13883 (source
13884 (origin
13885 (method git-fetch)
13886 (uri (git-reference
13887 (url home-page)
13888 (commit commit)))
13889 (file-name (git-file-name name version))
13890 (sha256
13891 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
13892 (build-system asdf-build-system/sbcl)
13893 (inputs
13894 `(("cl-emb" ,sbcl-cl-emb)
13895 ("cl-ppcre" ,sbcl-cl-ppcre)
13896 ("local-time" ,sbcl-local-time)
13897 ("prove" ,sbcl-prove)))
13898 (arguments
13899 ;; Tests depend on caveman, which in turns depends on cl-project.
13900 '(#:tests? #f))
13901 (synopsis "Generate a skeleton for modern Common Lisp projects")
13902 (description "This library provides a modern project skeleton generator.
13903In contract with other generators, CL-Project generates one package per file
13904and encourages unit testing by generating a system for unit testing, so you
13905can begin writing unit tests as soon as the project is generated.")
13906 (license license:llgpl))))
13907
13908(define-public cl-project
13909 (sbcl-package->cl-source-package sbcl-cl-project))
13910
13911(define-public ecl-cl-project
13912 (sbcl-package->ecl-package sbcl-cl-project))