gnu: sbcl-cl-sqlite: Update to 0.2.1.
[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 2631(define-public sbcl-cl-sqlite
b7d974b3
PN
2632 (package
2633 (name "sbcl-cl-sqlite")
2634 (version "0.2.1")
2635 (source
2636 (origin
2637 (method git-fetch)
2638 (uri (git-reference
2639 (url "https://github.com/dmitryvk/cl-sqlite")
2640 (commit version)))
2641 (file-name (git-file-name "cl-sqlite" version))
2642 (sha256
2643 (base32
2644 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2645 (build-system asdf-build-system/sbcl)
2646 (inputs
2647 `(("iterate" ,sbcl-iterate)
2648 ("cffi" ,sbcl-cffi)
2649 ("sqlite" ,sqlite)))
2650 (native-inputs
2651 `(("fiveam" ,sbcl-fiveam)
2652 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2653 (arguments
2654 `(#:asd-file "sqlite.asd"
2655 #:asd-system-name "sqlite"
2656 #:phases
2657 (modify-phases %standard-phases
2658 (add-after 'unpack 'fix-paths
2659 (lambda* (#:key inputs #:allow-other-keys)
2660 (substitute* "sqlite-ffi.lisp"
2661 (("libsqlite3" all) (string-append
2662 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2663 (home-page "https://common-lisp.net/project/cl-sqlite/")
2664 (synopsis "Common Lisp binding for SQLite")
2665 (description
2666 "The @command{cl-sqlite} package is an interface to the SQLite embedded
88f06fd0 2667relational database engine.")
b7d974b3 2668 (license license:public-domain)))
88f06fd0
PN
2669
2670(define-public cl-sqlite
2671 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2672
2673(define-public sbcl-parenscript
a84b7a4a
PN
2674 ;; Source archives are overwritten on every release, we use the Git repo instead.
2675 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
88f06fd0
PN
2676 (package
2677 (name "sbcl-parenscript")
a84b7a4a 2678 (version (git-version "2.7.1" "1" commit))
88f06fd0
PN
2679 (source
2680 (origin
2681 (method git-fetch)
2682 (uri (git-reference
2683 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2684 (commit commit)))
2685 (file-name (git-file-name "parenscript" version))
2686 (sha256
2687 (base32
a84b7a4a 2688 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
88f06fd0
PN
2689 (build-system asdf-build-system/sbcl)
2690 (inputs
2691 `(("cl-ppcre" ,sbcl-cl-ppcre)
2692 ("anaphora" ,sbcl-anaphora)
2693 ("named-readtables" ,sbcl-named-readtables)))
2694 (home-page "https://common-lisp.net/project/parenscript/")
2695 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2696 (description
2697 "Parenscript is a translator from an extended subset of Common Lisp to
2698JavaScript. Parenscript code can run almost identically on both the
2699browser (as JavaScript) and server (as Common Lisp).
2700
2701Parenscript code is treated the same way as Common Lisp code, making the full
2702power of Lisp macros available for JavaScript. This provides a web
2703development environment that is unmatched in its ability to reduce code
2704duplication and provide advanced meta-programming facilities to web
2705developers.
2706
2707At the same time, Parenscript is different from almost all other \"language
2708X\" to JavaScript translators in that it imposes almost no overhead:
2709
2710@itemize
2711@item No run-time dependencies: Any piece of Parenscript code is runnable
2712as-is. There are no JavaScript files to include.
2713@item Native types: Parenscript works entirely with native JavaScript data
2714types. There are no new types introduced, and object prototypes are not
2715touched.
2716@item Native calling convention: Any JavaScript code can be called without the
2717need for bindings. Likewise, Parenscript can be used to make efficient,
2718self-contained JavaScript libraries.
2719@item Readable code: Parenscript generates concise, formatted, idiomatic
2720JavaScript code. Identifier names are preserved. This enables seamless
2721debugging in tools like Firebug.
2722@item Efficiency: Parenscript introduces minimal overhead for advanced Common
2723Lisp features. The generated code is almost as fast as hand-written
2724JavaScript.
2725@end itemize\n")
2726 (license license:bsd-3))))
2727
2728(define-public cl-parenscript
2729 (sbcl-package->cl-source-package sbcl-parenscript))
2730
2731(define-public ecl-parenscript
2732 (sbcl-package->ecl-package sbcl-parenscript))
2733
2734(define-public sbcl-cl-json
2735 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2736 (package
2737 (name "sbcl-cl-json")
2738 (version (git-version "0.5" "1" commit))
2739 (source
2740 (origin
2741 (method git-fetch)
2742 (uri (git-reference
2743 (url "https://github.com/hankhero/cl-json")
2744 (commit commit)))
2745 (file-name (git-file-name "cl-json" version))
2746 (sha256
2747 (base32
2748 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2749 (build-system asdf-build-system/sbcl)
2750 (native-inputs
2751 `(("fiveam" ,sbcl-fiveam)))
2752 (home-page "https://github.com/hankhero/cl-json")
2753 (synopsis "JSON encoder and decoder for Common-Lisp")
2754 (description
2755 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2756and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2757and the decoder are highly customizable; at the same time, the default
2758settings ensure a very simple mode of operation, similar to that provided by
2759@command{yason} or @command{st-json}.")
2760 (license license:expat))))
2761
2762(define-public cl-json
2763 (sbcl-package->cl-source-package sbcl-cl-json))
2764
2765(define-public ecl-cl-json
2766 (sbcl-package->ecl-package sbcl-cl-json))
2767
2768(define-public sbcl-unix-opts
2769 (package
2770 (name "sbcl-unix-opts")
2771 (version "0.1.7")
2772 (source
2773 (origin
2774 (method git-fetch)
2775 (uri (git-reference
2776 (url "https://github.com/libre-man/unix-opts")
2777 (commit version)))
2778 (file-name (git-file-name "unix-opts" version))
2779 (sha256
2780 (base32
2781 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2782 (build-system asdf-build-system/sbcl)
2783 (home-page "https://github.com/hankhero/cl-json")
2784 (synopsis "Unix-style command line options parser")
2785 (description
2786 "This is a minimalistic parser of command line options. The main
2787advantage of the library is the ability to concisely define command line
2788options once and then use this definition for parsing and extraction of
2789command line arguments, as well as printing description of command line
2790options (you get --help for free). This way you don't need to repeat
102fc7bc
VC
2791yourself. Also, @command{unix-opts} doesn't depend on anything and
2792precisely controls the behavior of the parser via Common Lisp restarts.")
88f06fd0
PN
2793 (license license:expat)))
2794
2795(define-public cl-unix-opts
2796 (sbcl-package->cl-source-package sbcl-unix-opts))
2797
2798(define-public ecl-unix-opts
2799 (sbcl-package->ecl-package sbcl-unix-opts))
2800
2801(define-public sbcl-trivial-garbage
2802 (package
2803 (name "sbcl-trivial-garbage")
2804 (version "0.21")
2805 (source
2806 (origin
2807 (method git-fetch)
2808 (uri (git-reference
b0e7b699 2809 (url "https://github.com/trivial-garbage/trivial-garbage")
88f06fd0
PN
2810 (commit (string-append "v" version))))
2811 (file-name (git-file-name "trivial-garbage" version))
2812 (sha256
2813 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2814 (build-system asdf-build-system/sbcl)
2815 (native-inputs
2816 `(("rt" ,sbcl-rt)))
2817 (home-page "https://common-lisp.net/project/trivial-garbage/")
2818 (synopsis "Portable GC-related APIs for Common Lisp")
2819 (description "@command{trivial-garbage} provides a portable API to
2820finalizers, weak hash-tables and weak pointers on all major implementations of
2821the Common Lisp programming language.")
2822 (license license:public-domain)))
2823
2824(define-public cl-trivial-garbage
2825 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2826
2827(define-public ecl-trivial-garbage
2828 (sbcl-package->ecl-package sbcl-trivial-garbage))
2829
2830(define-public sbcl-closer-mop
d4c04565 2831 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
88f06fd0
PN
2832 (package
2833 (name "sbcl-closer-mop")
d4c04565 2834 (version (git-version "1.0.0" "2" commit))
88f06fd0
PN
2835 (source
2836 (origin
2837 (method git-fetch)
2838 (uri (git-reference
2839 (url "https://github.com/pcostanza/closer-mop")
2840 (commit commit)))
2841 (sha256
d4c04565 2842 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
88f06fd0
PN
2843 (file-name (git-file-name "closer-mop" version ))))
2844 (build-system asdf-build-system/sbcl)
2845 (home-page "https://github.com/pcostanza/closer-mop")
2846 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2847 (description "Closer to MOP is a compatibility layer that rectifies many
2848of the absent or incorrect CLOS MOP features across a broad range of Common
2849Lisp implementations.")
2850 (license license:expat))))
2851
2852(define-public cl-closer-mop
2853 (sbcl-package->cl-source-package sbcl-closer-mop))
2854
2855(define-public ecl-closer-mop
2856 (sbcl-package->ecl-package sbcl-closer-mop))
2857
2858(define sbcl-cl-cffi-gtk-boot0
1addc201 2859 (let ((commit "412d17214e092220c65a5660f5cbbd9cb69b8fe4"))
88f06fd0
PN
2860 (package
2861 (name "sbcl-cl-cffi-gtk-boot0")
2862 (version (git-version "0.11.2" "1" commit))
2863 (source
2864 (origin
2865 (method git-fetch)
2866 (uri (git-reference
2867 (url "https://github.com/Ferada/cl-cffi-gtk/")
2868 (commit commit)))
2869 (file-name (git-file-name "cl-cffi-gtk" version))
2870 (sha256
2871 (base32
1addc201 2872 "0n997yhcnzk048nalx8ys62ja2ac8iv4mbn3mb55iapl0321hghn"))))
88f06fd0
PN
2873 (build-system asdf-build-system/sbcl)
2874 (inputs
2875 `(("iterate" ,sbcl-iterate)
2876 ("cffi" ,sbcl-cffi)
0fadc00a
PN
2877 ("trivial-features" ,sbcl-trivial-features)
2878 ("glib" ,glib)
2879 ("cairo" ,cairo)
2880 ("pango" ,pango)
2881 ("gdk-pixbuf" ,gdk-pixbuf)
2882 ("gtk" ,gtk+)))
2883 (arguments
2884 `(#:phases
2885 (modify-phases %standard-phases
2886 (add-after 'unpack 'fix-paths
2887 (lambda* (#:key inputs #:allow-other-keys)
2888 (substitute* "glib/glib.init.lisp"
2889 (("libglib|libgthread" all)
2890 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2891 (substitute* "gobject/gobject.init.lisp"
2892 (("libgobject" all)
2893 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2894 (substitute* "gio/gio.init.lisp"
2895 (("libgio" all)
2896 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2897 (substitute* "cairo/cairo.init.lisp"
2898 (("libcairo" all)
2899 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
2900 (substitute* "pango/pango.init.lisp"
2901 (("libpango" all)
2902 (string-append (assoc-ref inputs "pango") "/lib/" all)))
2903 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2904 (("libgdk_pixbuf" all)
2905 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
2906 (substitute* "gdk/gdk.init.lisp"
2907 (("libgdk" all)
2908 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
2909 (substitute* "gdk/gdk.package.lisp"
2910 (("libgtk" all)
2911 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
88f06fd0
PN
2912 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2913 (synopsis "Common Lisp binding for GTK+3")
2914 (description
2915 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2916is a library for creating graphical user interfaces.")
2917 (license license:lgpl3))))
2918
2919(define-public sbcl-cl-cffi-gtk-glib
2920 (package
2921 (inherit sbcl-cl-cffi-gtk-boot0)
2922 (name "sbcl-cl-cffi-gtk-glib")
2923 (inputs
0fadc00a 2924 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
88f06fd0
PN
2925 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2926 (arguments
0fadc00a
PN
2927 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2928 ((#:asd-file _ "") "glib/cl-cffi-gtk-glib.asd")))))
88f06fd0
PN
2929
2930(define-public sbcl-cl-cffi-gtk-gobject
2931 (package
2932 (inherit sbcl-cl-cffi-gtk-boot0)
2933 (name "sbcl-cl-cffi-gtk-gobject")
2934 (inputs
0fadc00a 2935 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
2936 ("trivial-garbage" ,sbcl-trivial-garbage)
2937 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2938 ("closer-mop" ,sbcl-closer-mop)
2939 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2940 (arguments
0fadc00a
PN
2941 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2942 ((#:asd-file _ "") "gobject/cl-cffi-gtk-gobject.asd")
2943 ((#:phases phases)
2944 `(modify-phases ,phases
2945 (add-after 'install 'link-source
2946 ;; Since source is particularly heavy (16MiB+), let's reuse it
2947 ;; across the different components of cl-ffi-gtk.
2948 (lambda* (#:key inputs outputs #:allow-other-keys)
2949 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
2950 "/share/common-lisp/sbcl-source/"
2951 "cl-cffi-gtk-glib"))
2952 (out-source (string-append (assoc-ref outputs "out")
2953 "/share/common-lisp/sbcl-source/"
2954 "cl-cffi-gtk-gobject")))
2955 (delete-file-recursively out-source)
2956 (symlink glib-source out-source)
2957 #t)))))))))
88f06fd0
PN
2958
2959(define-public sbcl-cl-cffi-gtk-gio
2960 (package
2961 (inherit sbcl-cl-cffi-gtk-boot0)
2962 (name "sbcl-cl-cffi-gtk-gio")
2963 (inputs
0fadc00a 2964 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
2965 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2966 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2967 (arguments
0fadc00a
PN
2968 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2969 ((#:asd-file _ "") "gio/cl-cffi-gtk-gio.asd")
2970 ((#:phases phases)
2971 `(modify-phases ,phases
2972 (add-after 'install 'link-source
2973 ;; Since source is particularly heavy (16MiB+), let's reuse it
2974 ;; across the different components of cl-ffi-gtk.
2975 (lambda* (#:key inputs outputs #:allow-other-keys)
2976 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
2977 "/share/common-lisp/sbcl-source/"
2978 "cl-cffi-gtk-glib"))
2979 (out-source (string-append (assoc-ref outputs "out")
2980 "/share/common-lisp/sbcl-source/"
2981 "cl-cffi-gtk-gio")))
2982 (delete-file-recursively out-source)
2983 (symlink glib-source out-source)
2984 #t)))))))))
88f06fd0
PN
2985
2986(define-public sbcl-cl-cffi-gtk-cairo
2987 (package
2988 (inherit sbcl-cl-cffi-gtk-boot0)
2989 (name "sbcl-cl-cffi-gtk-cairo")
2990 (inputs
0fadc00a 2991 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
2992 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2993 (arguments
0fadc00a
PN
2994 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2995 ((#:asd-file _ "") "cairo/cl-cffi-gtk-cairo.asd")
2996 ((#:phases phases)
2997 `(modify-phases ,phases
2998 (add-after 'install 'link-source
2999 ;; Since source is particularly heavy (16MiB+), let's reuse it
3000 ;; across the different components of cl-ffi-gtk.
3001 (lambda* (#:key inputs outputs #:allow-other-keys)
3002 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3003 "/share/common-lisp/sbcl-source/"
3004 "cl-cffi-gtk-glib"))
3005 (out-source (string-append (assoc-ref outputs "out")
3006 "/share/common-lisp/sbcl-source/"
3007 "cl-cffi-gtk-cairo")))
3008 (delete-file-recursively out-source)
3009 (symlink glib-source out-source)
3010 #t)))))))))
88f06fd0
PN
3011
3012(define-public sbcl-cl-cffi-gtk-pango
3013 (package
3014 (inherit sbcl-cl-cffi-gtk-boot0)
3015 (name "sbcl-cl-cffi-gtk-pango")
3016 (inputs
0fadc00a 3017 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
3018 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3019 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3020 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3021 (arguments
0fadc00a
PN
3022 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3023 ((#:asd-file _ "") "pango/cl-cffi-gtk-pango.asd")
3024 ((#:phases phases)
3025 `(modify-phases ,phases
3026 (add-after 'install 'link-source
3027 ;; Since source is particularly heavy (16MiB+), let's reuse it
3028 ;; across the different components of cl-ffi-gtk.
3029 (lambda* (#:key inputs outputs #:allow-other-keys)
3030 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3031 "/share/common-lisp/sbcl-source/"
3032 "cl-cffi-gtk-glib"))
3033 (out-source (string-append (assoc-ref outputs "out")
3034 "/share/common-lisp/sbcl-source/"
3035 "cl-cffi-gtk-pango")))
3036 (delete-file-recursively out-source)
3037 (symlink glib-source out-source)
3038 #t)))))))))
88f06fd0
PN
3039
3040(define-public sbcl-cl-cffi-gtk-gdk-pixbuf
3041 (package
3042 (inherit sbcl-cl-cffi-gtk-boot0)
3043 (name "sbcl-cl-cffi-gtk-gdk-pixbuf")
3044 (inputs
0fadc00a 3045 `(("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2666a336 3046 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
3047 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3048 (arguments
0fadc00a
PN
3049 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3050 ((#:asd-file _ "") "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd")
3051 ((#:phases phases)
3052 `(modify-phases ,phases
3053 (add-after 'install 'link-source
3054 ;; Since source is particularly heavy (16MiB+), let's reuse it
3055 ;; across the different components of cl-ffi-gtk.
3056 (lambda* (#:key inputs outputs #:allow-other-keys)
3057 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3058 "/share/common-lisp/sbcl-source/"
3059 "cl-cffi-gtk-glib"))
3060 (out-source (string-append (assoc-ref outputs "out")
3061 "/share/common-lisp/sbcl-source/"
3062 "cl-cffi-gtk-gdk-pixbuf")))
3063 (delete-file-recursively out-source)
3064 (symlink glib-source out-source)
3065 #t)))))))))
88f06fd0
PN
3066
3067(define-public sbcl-cl-cffi-gtk-gdk
3068 (package
3069 (inherit sbcl-cl-cffi-gtk-boot0)
3070 (name "sbcl-cl-cffi-gtk-gdk")
3071 (inputs
0fadc00a 3072 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
3073 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3074 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3075 ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf)
3076 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3077 ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango)
3078 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3079 (arguments
0fadc00a
PN
3080 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3081 ((#:asd-file _ "") "gdk/cl-cffi-gtk-gdk.asd")
3082 ((#:phases phases)
3083 `(modify-phases ,phases
3084 (add-after 'install 'link-source
3085 ;; Since source is particularly heavy (16MiB+), let's reuse it
3086 ;; across the different components of cl-ffi-gtk.
3087 (lambda* (#:key inputs outputs #:allow-other-keys)
3088 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3089 "/share/common-lisp/sbcl-source/"
3090 "cl-cffi-gtk-glib"))
3091 (out-source (string-append (assoc-ref outputs "out")
3092 "/share/common-lisp/sbcl-source/"
3093 "cl-cffi-gtk-gdk")))
3094 (delete-file-recursively out-source)
3095 (symlink glib-source out-source)
3096 #t)))))))))
88f06fd0
PN
3097
3098(define-public sbcl-cl-cffi-gtk
3099 (package
3100 (inherit sbcl-cl-cffi-gtk-boot0)
3101 (name "sbcl-cl-cffi-gtk")
3102 (inputs
3103 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3104 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3105 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3106 ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk)
3107 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3108 (native-inputs
3109 `(("fiveam" ,sbcl-fiveam)))
3110 (arguments
0fadc00a
PN
3111 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3112 ((#:asd-file _ "") "gtk/cl-cffi-gtk.asd")
3113 ((#:test-asd-file _ "") "test/cl-cffi-gtk-test.asd")
88f06fd0
PN
3114 ;; TODO: Tests fail with memory fault.
3115 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
0fadc00a
PN
3116 ((#:tests? _ #f) #f)
3117 ((#:phases phases)
3118 `(modify-phases ,phases
3119 (add-after 'install 'link-source
3120 ;; Since source is particularly heavy (16MiB+), let's reuse it
3121 ;; across the different components of cl-ffi-gtk.
3122 (lambda* (#:key inputs outputs #:allow-other-keys)
3123 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3124 "/share/common-lisp/sbcl-source/"
3125 "cl-cffi-gtk-glib"))
3126 (out-source (string-append (assoc-ref outputs "out")
3127 "/share/common-lisp/sbcl-source/"
3128 "cl-cffi-gtk")))
3129 (delete-file-recursively out-source)
3130 (symlink glib-source out-source)
3131 #t)))))))))
88f06fd0
PN
3132
3133(define-public cl-cffi-gtk
3134 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3135
3136(define-public sbcl-cl-webkit
151fb36a 3137 (let ((commit "6c905a5550b58a5b7602da5a087d7dafc5337122"))
88f06fd0
PN
3138 (package
3139 (name "sbcl-cl-webkit")
151fb36a 3140 (version (git-version "2.4" "4" commit))
88f06fd0
PN
3141 (source
3142 (origin
3143 (method git-fetch)
3144 (uri (git-reference
94aab844 3145 (url "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3146 (commit commit)))
3147 (file-name (git-file-name "cl-webkit" version))
3148 (sha256
3149 (base32
151fb36a 3150 "0017ijjflqqbgbj5bf7ffkyw5idhxc0ggly2qh5igf3kz886p9rh"))))
88f06fd0
PN
3151 (build-system asdf-build-system/sbcl)
3152 (inputs
3153 `(("cffi" ,sbcl-cffi)
3154 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3155 ("webkitgtk" ,webkitgtk)))
3156 (arguments
3157 `(#:asd-file "webkit2/cl-webkit2.asd"
3158 #:asd-system-name "cl-webkit2"
3159 #:phases
3160 (modify-phases %standard-phases
3161 (add-after 'unpack 'fix-paths
3162 (lambda* (#:key inputs #:allow-other-keys)
3163 (substitute* "webkit2/webkit2.init.lisp"
3164 (("libwebkit2gtk" all)
3165 (string-append
3166 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
94aab844 3167 (home-page "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3168 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3169 (description
3170 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3171currently targeting WebKit version 2. The WebKitGTK+ library adds web
3172browsing capabilities to an application, leveraging the full power of the
3173WebKit browsing engine.")
3174 (license license:expat))))
3175
3176(define-public cl-webkit
3177 (sbcl-package->cl-source-package sbcl-cl-webkit))
3178
3179(define-public sbcl-lparallel
3180 (package
3181 (name "sbcl-lparallel")
3182 (version "2.8.4")
3183 (source
3184 (origin
3185 (method git-fetch)
3186 (uri (git-reference
3187 (url "https://github.com/lmj/lparallel/")
3188 (commit (string-append "lparallel-" version))))
3189 (file-name (git-file-name "lparallel" version))
3190 (sha256
3191 (base32
3192 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3193 (build-system asdf-build-system/sbcl)
3194 (inputs
3195 `(("alexandria" ,sbcl-alexandria)
3196 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3197 ("trivial-garbage" ,sbcl-trivial-garbage)))
388a8975
KCB
3198 (arguments
3199 `(#:phases
3200 (modify-phases %standard-phases
3201 (add-after 'unpack 'fix-dependency
3202 ;; lparallel loads a SBCL specific system in its asd file. This is
3203 ;; not carried over into the fasl which is generated. In order for
3204 ;; it to be carried over, it needs to be listed as a dependency.
3205 (lambda _
3206 (substitute* "lparallel.asd"
3207 ((":depends-on \\(:alexandria" all)
3208 (string-append all " #+sbcl :sb-cltl2"))))))))
88f06fd0
PN
3209 (home-page "https://lparallel.org/")
3210 (synopsis "Parallelism for Common Lisp")
3211 (description
3212 "@command{lparallel} is a library for parallel programming in Common
3213Lisp, featuring:
3214
3215@itemize
3216@item a simple model of task submission with receiving queue,
3217@item constructs for expressing fine-grained parallelism,
3218@item asynchronous condition handling across thread boundaries,
3219@item parallel versions of map, reduce, sort, remove, and many others,
3220@item promises, futures, and delayed evaluation constructs,
3221@item computation trees for parallelizing interconnected tasks,
3222@item bounded and unbounded FIFO queues,
3223@item high and low priority tasks,
3224@item task killing by category,
3225@item integrated timeouts.
3226@end itemize\n")
3227 (license license:expat)))
3228
3229(define-public cl-lparallel
3230 (sbcl-package->cl-source-package sbcl-lparallel))
3231
3232(define-public ecl-lparallel
3233 (sbcl-package->ecl-package sbcl-lparallel))
3234
3235(define-public sbcl-cl-markup
3236 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3237 (package
3238 (name "sbcl-cl-markup")
3239 (version (git-version "0.1" "1" commit))
3240 (source
3241 (origin
3242 (method git-fetch)
3243 (uri (git-reference
3244 (url "https://github.com/arielnetworks/cl-markup/")
3245 (commit commit)))
3246 (file-name (git-file-name "cl-markup" version))
3247 (sha256
3248 (base32
3249 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3250 (build-system asdf-build-system/sbcl)
3251 (home-page "https://github.com/arielnetworks/cl-markup/")
3252 (synopsis "Markup generation library for Common Lisp")
3253 (description
3254 "A modern markup generation library for Common Lisp that features:
3255
3256@itemize
3257@item Fast (even faster through compiling the code)
3258@item Safety
3259@item Support for multiple document types (markup, xml, html, html5, xhtml)
3260@item Output with doctype
3261@item Direct output to stream
3262@end itemize\n")
3263 (license license:lgpl3+))))
3264
3265(define-public cl-markup
3266 (sbcl-package->cl-source-package sbcl-cl-markup))
3267
3268(define-public ecl-cl-markup
3269 (sbcl-package->ecl-package sbcl-cl-markup))
3270
3271(define-public sbcl-cl-css
3272 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3273 (package
3274 (name "sbcl-cl-css")
3275 (version (git-version "0.1" "1" commit))
3276 (source
3277 (origin
3278 (method git-fetch)
3279 (uri (git-reference
3280 (url "https://github.com/inaimathi/cl-css/")
3281 (commit commit)))
3282 (file-name (git-file-name "cl-css" version))
3283 (sha256
3284 (base32
3285 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3286 (build-system asdf-build-system/sbcl)
3287 (home-page "https://github.com/inaimathi/cl-css/")
3288 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3289 (description
3290 "This is a dead-simple, non validating, inline CSS generator for Common
3291Lisp. Its goals are axiomatic syntax, simple implementation to support
3292portability, and boilerplate reduction in CSS.")
3293 (license license:expat))))
3294
3295(define-public cl-css
3296 (sbcl-package->cl-source-package sbcl-cl-css))
3297
3298(define-public ecl-cl-css
3299 (sbcl-package->ecl-package sbcl-cl-css))
3300
3301(define-public sbcl-portable-threads
3302 (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920"))
3303 (package
3304 (name "sbcl-portable-threads")
3305 (version (git-version "2.3" "1" commit))
3306 (source
3307 (origin
3308 (method git-fetch)
3309 (uri (git-reference
3310 (url "https://github.com/binghe/portable-threads/")
3311 (commit commit)))
3312 (file-name (git-file-name "portable-threads" version))
3313 (sha256
3314 (base32
3315 "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq"))))
3316 (build-system asdf-build-system/sbcl)
3317 (arguments
3318 `(;; Tests seem broken.
3319 #:tests? #f))
3320 (home-page "https://github.com/binghe/portable-threads")
3321 (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp")
3322 (description
3323 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3324Lisp (from GBBopen project).")
3325 (license license:asl2.0))))
3326
3327(define-public cl-portable-threads
3328 (sbcl-package->cl-source-package sbcl-portable-threads))
3329
3330(define-public ecl-portable-threada
3331 (sbcl-package->ecl-package sbcl-portable-threads))
3332
b23e6f5d 3333(define sbcl-usocket-boot0
88f06fd0
PN
3334 ;; usocket's test rely on usocket-server which depends on usocket itself.
3335 ;; We break this cyclic dependency with -boot0 that packages usocket.
b23e6f5d
GLV
3336 (package
3337 (name "sbcl-usocket-boot0")
3338 (version "0.8.3")
3339 (source
3340 (origin
3341 (method git-fetch)
3342 (uri (git-reference
3343 (url "https://github.com/usocket/usocket/")
3344 (commit (string-append "v" version))))
3345 (file-name (git-file-name "usocket" version))
3346 (sha256
3347 (base32
3348 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3349 (build-system asdf-build-system/sbcl)
3350 (inputs
3351 `(("split-sequence" ,sbcl-split-sequence)))
3352 (arguments
3353 `(#:tests? #f
3354 #:asd-system-name "usocket"))
3355 (home-page "https://common-lisp.net/project/usocket/")
3356 (synopsis "Universal socket library for Common Lisp (server side)")
3357 (description
3358 "This library strives to provide a portable TCP/IP and UDP/IP socket
88f06fd0
PN
3359interface for as many Common Lisp implementations as possible, while keeping
3360the abstraction and portability layer as thin as possible.")
b23e6f5d 3361 (license license:expat)))
88f06fd0
PN
3362
3363(define-public sbcl-usocket-server
3364 (package
3365 (inherit sbcl-usocket-boot0)
3366 (name "sbcl-usocket-server")
3367 (inputs
b23e6f5d
GLV
3368 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3369 ("usocket" ,sbcl-usocket-boot0)))
88f06fd0
PN
3370 (arguments
3371 '(#:asd-system-name "usocket-server"))
3372 (synopsis "Universal socket library for Common Lisp (server side)")))
3373
3374(define-public cl-usocket-server
3375 (sbcl-package->cl-source-package sbcl-usocket-server))
3376
3377(define-public ecl-socket-server
3378 (sbcl-package->ecl-package sbcl-usocket-server))
3379
3380(define-public sbcl-usocket
3381 (package
3382 (inherit sbcl-usocket-boot0)
3383 (name "sbcl-usocket")
3384 (arguments
3385 ;; FIXME: Tests need network access?
3386 `(#:tests? #f))
3387 (native-inputs
3388 ;; Testing only.
3389 `(("usocket-server" ,sbcl-usocket-server)
3390 ("rt" ,sbcl-rt)))))
3391
3392(define-public cl-usocket
3393 (sbcl-package->cl-source-package sbcl-usocket))
3394
b23e6f5d 3395(define-public ecl-usocket
88f06fd0
PN
3396 (sbcl-package->ecl-package sbcl-usocket))
3397
3398(define-public sbcl-s-xml
3399 (package
3400 (name "sbcl-s-xml")
3401 (version "3")
3402 (source
3403 (origin
3404 (method url-fetch)
3405 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3406 (sha256
3407 (base32
3408 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3409 (build-system asdf-build-system/sbcl)
3410 (home-page "https://common-lisp.net/project/s-xml/")
3411 (synopsis "Simple XML parser implemented in Common Lisp")
3412 (description
3413 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3414parser implementation has the following features:
3415
3416@itemize
3417@item It works (handling many common XML usages).
3418@item It is very small (the core is about 700 lines of code, including
3419comments and whitespace).
3420@item It has a core API that is simple, efficient and pure functional, much
3421like that from SSAX (see also http://ssax.sourceforge.net).
3422@item It supports different DOM models: an XSML-based one, an LXML-based one
3423and a classic xml-element struct based one.
3424@item It is reasonably time and space efficient (internally avoiding garbage
3425generatation as much as possible).
3426@item It does support CDATA.
3427@item It should support the same character sets as your Common Lisp
3428implementation.
3429@item It does support XML name spaces.
3430@end itemize
3431
3432This XML parser implementation has the following limitations:
3433
3434@itemize
3435@item It does not support any special tags (like processing instructions).
3436@item It is not validating, even skips DTD's all together.
3437@end itemize\n")
3438 (license license:lgpl3+)))
3439
3440(define-public cl-s-xml
3441 (sbcl-package->cl-source-package sbcl-s-xml))
3442
3443(define-public ecl-s-xml
3444 (sbcl-package->ecl-package sbcl-s-xml))
3445
3446(define-public sbcl-s-xml-rpc
3447 (package
3448 (name "sbcl-s-xml-rpc")
3449 (version "7")
3450 (source
3451 (origin
3452 (method url-fetch)
3453 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3454 (sha256
3455 (base32
3456 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3457 (build-system asdf-build-system/sbcl)
3458 (inputs
3459 `(("s-xml" ,sbcl-s-xml)))
3460 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3461 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3462 (description
3463 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3464client and server.")
3465 (license license:lgpl3+)))
3466
3467(define-public cl-s-xml-rpc
3468 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3469
3470(define-public ecl-s-xml-rpc
3471 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3472
3473(define-public sbcl-trivial-clipboard
3474 (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
3475 (package
3476 (name "sbcl-trivial-clipboard")
3477 (version (git-version "0.0.0.0" "2" commit))
3478 (source
3479 (origin
3480 (method git-fetch)
3481 (uri (git-reference
3482 (url "https://github.com/snmsts/trivial-clipboard")
3483 (commit commit)))
3484 (file-name (git-file-name "trivial-clipboard" version))
3485 (sha256
3486 (base32
3487 "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
3488 (build-system asdf-build-system/sbcl)
3489 (inputs
3490 `(("xclip" ,xclip)))
3491 (native-inputs
3492 `(("fiveam" ,sbcl-fiveam)))
3493 (arguments
3494 `(#:phases
3495 (modify-phases %standard-phases
3496 (add-after 'unpack 'fix-paths
3497 (lambda* (#:key inputs #:allow-other-keys)
3498 (substitute* "src/text.lisp"
3499 (("\\(executable-find \"xclip\"\\)")
3500 (string-append "(executable-find \""
3501 (assoc-ref inputs "xclip")
3502 "/bin/xclip\")"))))))))
3503 (home-page "https://github.com/snmsts/trivial-clipboard")
3504 (synopsis "Access system clipboard in Common Lisp")
3505 (description
3506 "@command{trivial-clipboard} gives access to the system clipboard.")
3507 (license license:expat))))
3508
3509(define-public cl-trivial-clipboard
3510 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3511
3512(define-public ecl-trivial-clipboard
3513 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3514
3515(define-public sbcl-trivial-backtrace
3516 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3517 (revision "1"))
3518 (package
3519 (name "sbcl-trivial-backtrace")
3520 (version (git-version "0.0.0" revision commit))
3521 (source
3522 (origin
3523 (method git-fetch)
3524 (uri (git-reference
b0e7b699 3525 (url "https://github.com/gwkkwg/trivial-backtrace")
88f06fd0
PN
3526 (commit commit)))
3527 (file-name (git-file-name "trivial-backtrace" version))
3528 (sha256
3529 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3530 (build-system asdf-build-system/sbcl)
3531 (inputs
3532 `(("sbcl-lift" ,sbcl-lift)))
8dc2af3b
GLV
3533 (arguments
3534 `(#:phases
3535 (modify-phases %standard-phases
3536 (add-after 'check 'delete-test-results
3537 (lambda* (#:key outputs #:allow-other-keys)
3538 (let ((test-results (string-append (assoc-ref outputs "out")
3539 "/share/common-lisp/"
3540 (%lisp-type) "-source"
3541 "/trivial-backtrace"
3542 "/test-results")))
3543 (when (file-exists? test-results)
3544 (delete-file-recursively test-results)))
3545 #t)))))
88f06fd0
PN
3546 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3547 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3548 (description
d35a0f14 3549 "One of the many things that didn't quite get into the Common Lisp
88f06fd0
PN
3550standard was how to get a Lisp to output its call stack when something has
3551gone wrong. As such, each Lisp has developed its own notion of what to
3552display, how to display it, and what sort of arguments can be used to
3553customize it. @code{trivial-backtrace} is a simple solution to generating a
3554backtrace portably.")
3555 (license license:expat))))
3556
3557(define-public cl-trivial-backtrace
3558 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3559
3560(define-public sbcl-rfc2388
3561 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3562 (revision "1"))
3563 (package
3564 (name "sbcl-rfc2388")
3565 (version (git-version "0.0.0" revision commit))
3566 (source
3567 (origin
3568 (method git-fetch)
3569 (uri (git-reference
b0e7b699 3570 (url "https://github.com/jdz/rfc2388")
88f06fd0
PN
3571 (commit commit)))
3572 (file-name (git-file-name "rfc2388" version))
3573 (sha256
3574 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3575 (build-system asdf-build-system/sbcl)
3576 (home-page "https://github.com/jdz/rfc2388/")
3577 (synopsis "An implementation of RFC 2388 in Common Lisp")
3578 (description
3579 "This package contains an implementation of RFC 2388, which is used to
3580process form data posted with HTTP POST method using enctype
3581\"multipart/form-data\".")
3582 (license license:bsd-2))))
3583
3584(define-public cl-rfc2388
3585 (sbcl-package->cl-source-package sbcl-rfc2388))
3586
3587(define-public sbcl-md5
3588 (package
3589 (name "sbcl-md5")
3590 (version "2.0.4")
3591 (source
3592 (origin
fffe9a15
EF
3593 (method git-fetch)
3594 (uri (git-reference
3595 (url "https://github.com/pmai/md5")
3596 (commit (string-append "release-" version))))
3597 (file-name (git-file-name "md5" version))
88f06fd0 3598 (sha256
fffe9a15 3599 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
88f06fd0
PN
3600 (build-system asdf-build-system/sbcl)
3601 (home-page "https://github.com/pmai/md5")
3602 (synopsis
3603 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3604 (description
3605 "This package implements The MD5 Message-Digest Algorithm, as defined in
3606RFC 1321 by R. Rivest, published April 1992.")
3607 (license license:public-domain)))
3608
3609(define-public cl-md5
3610 (sbcl-package->cl-source-package sbcl-md5))
3611
588a4492
PN
3612(define-public ecl-md5
3613 (package
3614 (inherit (sbcl-package->ecl-package sbcl-md5))
3615 (inputs
3616 `(("flexi-streams" ,ecl-flexi-streams)))))
3617
88f06fd0 3618(define-public sbcl-cl+ssl
14620ce7 3619 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
88f06fd0
PN
3620 (revision "1"))
3621 (package
3622 (name "sbcl-cl+ssl")
3623 (version (git-version "0.0.0" revision commit))
3624 (source
3625 (origin
3626 (method git-fetch)
3627 (uri (git-reference
b0e7b699 3628 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
88f06fd0
PN
3629 (commit commit)))
3630 (file-name (git-file-name "cl+ssl" version))
3631 (sha256
14620ce7 3632 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
88f06fd0
PN
3633 (build-system asdf-build-system/sbcl)
3634 (arguments
3635 '(#:phases
3636 (modify-phases %standard-phases
3637 (add-after 'unpack 'fix-paths
3638 (lambda* (#:key inputs #:allow-other-keys)
3639 (substitute* "src/reload.lisp"
3640 (("libssl.so" all)
3641 (string-append
3642 (assoc-ref inputs "openssl") "/lib/" all))))))))
3643 (inputs
3644 `(("openssl" ,openssl)
3645 ("sbcl-cffi" ,sbcl-cffi)
3646 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3647 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3648 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3649 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3650 ("sbcl-alexandria" ,sbcl-alexandria)
3651 ("sbcl-trivial-features" ,sbcl-trivial-features)))
113c9b97 3652 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
88f06fd0
PN
3653 (synopsis "Common Lisp bindings to OpenSSL")
3654 (description
3655 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3656code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3657Development into CL+SSL was done by David Lichteblau.")
3658 (license license:expat))))
3659
3660(define-public cl-cl+ssl
3661 (sbcl-package->cl-source-package sbcl-cl+ssl))
3662
3663(define-public sbcl-kmrcl
3664 (let ((version "1.109.0")
3665 (commit "5260068b2eb735af6796740c2db4955afac21636")
3666 (revision "1"))
3667 (package
3668 (name "sbcl-kmrcl")
3669 (version (git-version version revision commit))
3670 (source
3671 (origin
3672 (method git-fetch)
3673 (uri (git-reference
3674 (url "http://git.kpe.io/kmrcl.git/")
3675 (commit commit)))
3676 (file-name (git-file-name name version))
3677 (sha256
3678 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3679 (build-system asdf-build-system/sbcl)
3680 (arguments
3681 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3682 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3683 '(#:tests? #f))
3684 (inputs
3685 `(("sbcl-rt" ,sbcl-rt)))
3686 (home-page "http://files.kpe.io/kmrcl/")
3687 (synopsis "General utilities for Common Lisp programs")
3688 (description
3689 "KMRCL is a collection of utilities used by a number of Kevin
3690Rosenberg's CL packages.")
3691 (license license:llgpl))))
3692
3693(define-public cl-kmrcl
3694 (sbcl-package->cl-source-package sbcl-kmrcl))
3695
3696(define-public sbcl-cl-base64
d7043fd9
PN
3697 (package
3698 (name "sbcl-cl-base64")
3699 (version "3.3.4")
3700 (source
3701 (origin
3702 (method url-fetch)
3703 (uri (string-append "http://files.kpe.io/cl-base64/cl-base64-"
3704 version ".tar.gz"))
3705 (sha256
3706 (base32 "0pl4zwn5bf18dm8fh1kn1yshaa6kpmfrjyb33z9mq4raqmj3xpv2"))))
3707 (build-system asdf-build-system/sbcl)
3708 (arguments
3709 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3710 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3711 ;; to toplevel
3712 '(#:tests? #f))
3713 (inputs
3714 `(("sbcl-ptester" ,sbcl-ptester)
3715 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3716 (home-page "http://files.kpe.io/cl-base64/")
3717 (synopsis
3718 "Common Lisp package to encode and decode base64 with URI support")
3719 (description
3720 "This package provides highly optimized base64 encoding and decoding.
88f06fd0
PN
3721Besides conversion to and from strings, integer conversions are supported.
3722Encoding with Uniform Resource Identifiers is supported by using a modified
3723encoding table that uses only URI-compatible characters.")
d7043fd9 3724 (license license:bsd-3)))
88f06fd0
PN
3725
3726(define-public cl-base64
3727 (sbcl-package->cl-source-package sbcl-cl-base64))
3728
3729(define-public sbcl-chunga
3730 (package
3731 (name "sbcl-chunga")
3732 (version "1.1.7")
3733 (source
3734 (origin
3735 (method git-fetch)
3736 (uri (git-reference
b0e7b699 3737 (url "https://github.com/edicl/chunga")
88f06fd0
PN
3738 (commit (string-append "v" version))))
3739 (file-name (git-file-name name version))
3740 (sha256
3741 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3742 (build-system asdf-build-system/sbcl)
3743 (inputs
3744 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3745 (home-page "https://edicl.github.io/chunga/")
3746 (synopsis "Portable chunked streams for Common Lisp")
3747 (description
3748 "Chunga implements streams capable of chunked encoding on demand as
3749defined in RFC 2616.")
3750 (license license:bsd-2)))
3751
3752(define-public cl-chunga
3753 (sbcl-package->cl-source-package sbcl-chunga))
3754
3755(define-public sbcl-cl-who
3756 (let ((version "1.1.4")
3757 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3758 (revision "1"))
3759 (package
3760 (name "sbcl-cl-who")
3761 (version (git-version version revision commit))
3762 (source
3763 (origin
3764 (method git-fetch)
3765 (uri (git-reference
b0e7b699 3766 (url "https://github.com/edicl/cl-who")
88f06fd0
PN
3767 (commit commit)))
3768 (file-name (git-file-name name version))
3769 (sha256
3770 (base32
3771 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3772 (build-system asdf-build-system/sbcl)
3773 (native-inputs
3774 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3775 (home-page "https://edicl.github.io/cl-who/")
3776 (synopsis "Yet another Lisp markup language")
3777 (description
3778 "There are plenty of Lisp Markup Languages out there - every Lisp
3779programmer seems to write at least one during his career - and CL-WHO (where
3780WHO means \"with-html-output\" for want of a better acronym) is probably just
3781as good or bad as the next one.")
3782 (license license:bsd-2))))
3783
3784(define-public cl-cl-who
3785 (sbcl-package->cl-source-package sbcl-cl-who))
3786
3787(define-public sbcl-chipz
3788 (let ((version "0.8")
3789 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3790 (revision "1"))
3791 (package
3792 (name "sbcl-chipz")
3793 (version (git-version version revision commit))
3794 (source
3795 (origin
3796 (method git-fetch)
3797 (uri (git-reference
b0e7b699 3798 (url "https://github.com/froydnj/chipz")
88f06fd0
PN
3799 (commit commit)))
3800 (file-name (git-file-name name version))
3801 (sha256
3802 (base32
3803 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3804 (build-system asdf-build-system/sbcl)
3805 (native-inputs
3806 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3807 (home-page "http://method-combination.net/lisp/chipz/")
3808 (synopsis
3809 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3810data")
3811 (description
3812 "DEFLATE data, defined in RFC1951, forms the core of popular
3813compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3814Chipz also provides for decompressing data in those formats as well. BZIP2 is
3815the format used by the popular compression tool bzip2.")
3816 ;; The author describes it as "MIT-like"
3817 (license license:expat))))
3818
3819(define-public cl-chipz
3820 (sbcl-package->cl-source-package sbcl-chipz))
3821
3822(define-public sbcl-drakma
a2b6b973
GLV
3823 (package
3824 (name "sbcl-drakma")
3825 (version "2.0.7")
3826 (source
3827 (origin
3828 (method git-fetch)
3829 (uri (git-reference
b0e7b699 3830 (url "https://github.com/edicl/drakma")
a2b6b973
GLV
3831 (commit (string-append "v" version))))
3832 (file-name (git-file-name name version))
3833 (sha256
3834 (base32
3835 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3836 (build-system asdf-build-system/sbcl)
3837 (inputs
3838 `(("sbcl-puri" ,sbcl-puri)
3839 ("sbcl-cl-base64" ,sbcl-cl-base64)
3840 ("sbcl-chunga" ,sbcl-chunga)
3841 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3842 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3843 ("sbcl-chipz" ,sbcl-chipz)
3844 ("sbcl-usocket" ,sbcl-usocket)
3845 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3846 (native-inputs
3847 `(("sbcl-fiveam" ,sbcl-fiveam)))
3848 (home-page "https://edicl.github.io/drakma/")
3849 (synopsis "HTTP client written in Common Lisp")
3850 (description
3851 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
88f06fd0
PN
3852knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3853sockets, SSL, continuable uploads, file uploads, cookies, and more.")
a2b6b973 3854 (license license:bsd-2)))
88f06fd0
PN
3855
3856(define-public cl-drakma
3857 (sbcl-package->cl-source-package sbcl-drakma))
3858
10ac723b
GLV
3859(define-public ecl-drakma
3860 (sbcl-package->ecl-package sbcl-drakma))
3861
88f06fd0
PN
3862(define-public sbcl-hunchentoot
3863 (package
3864 (name "sbcl-hunchentoot")
3865 (version "1.2.38")
3866 (source
3867 (origin
3868 (method git-fetch)
3869 (uri (git-reference
b0e7b699 3870 (url "https://github.com/edicl/hunchentoot")
88f06fd0
PN
3871 (commit (string-append "v" version))))
3872 (file-name (git-file-name "hunchentoot" version))
3873 (sha256
3874 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3875 (build-system asdf-build-system/sbcl)
3876 (native-inputs
3877 `(("sbcl-cl-who" ,sbcl-cl-who)
3878 ("sbcl-drakma" ,sbcl-drakma)))
3879 (inputs
3880 `(("sbcl-chunga" ,sbcl-chunga)
3881 ("sbcl-cl-base64" ,sbcl-cl-base64)
3882 ("sbcl-cl-fad" ,sbcl-cl-fad)
3883 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3884 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3885 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3886 ("sbcl-md5" ,sbcl-md5)
3887 ("sbcl-rfc2388" ,sbcl-rfc2388)
3888 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3889 ("sbcl-usocket" ,sbcl-usocket)))
3890 (home-page "https://edicl.github.io/hunchentoot/")
3891 (synopsis "Web server written in Common Lisp")
3892 (description
3893 "Hunchentoot is a web server written in Common Lisp and at the same
3894time a toolkit for building dynamic websites. As a stand-alone web server,
3895Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3896connections (keep-alive), and SSL.")
3897 (license license:bsd-2)))
3898
3899(define-public cl-hunchentoot
3900 (sbcl-package->cl-source-package sbcl-hunchentoot))
3901
3902(define-public sbcl-trivial-types
3903 (package
3904 (name "sbcl-trivial-types")
3905 (version "0.0.1")
3906 (source
3907 (origin
3908 (method git-fetch)
3909 (uri (git-reference
b0e7b699 3910 (url "https://github.com/m2ym/trivial-types")
88f06fd0
PN
3911 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3912 (file-name (git-file-name name version))
3913 (sha256
3914 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3915 (build-system asdf-build-system/sbcl)
3916 (home-page "https://github.com/m2ym/trivial-types")
3917 (synopsis "Trivial type definitions for Common Lisp")
3918 (description
3919 "TRIVIAL-TYPES provides missing but important type definitions such as
3920PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3921 (license license:llgpl)))
3922
3923(define-public cl-trivial-types
3924 (sbcl-package->cl-source-package sbcl-trivial-types))
3925
3926(define-public sbcl-cl-syntax
3927 (package
3928 (name "sbcl-cl-syntax")
3929 (version "0.0.3")
3930 (source
3931 (origin
3932 (method git-fetch)
3933 (uri (git-reference
b0e7b699 3934 (url "https://github.com/m2ym/cl-syntax")
88f06fd0
PN
3935 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3936 (file-name (git-file-name "cl-syntax" version))
3937 (sha256
3938 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3939 (build-system asdf-build-system/sbcl)
3940 (arguments
3941 '(#:asd-file "cl-syntax.asd"
3942 #:asd-system-name "cl-syntax"))
3943 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3944 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3945 (home-page "https://github.com/m2ym/cl-syntax")
3946 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3947 (description
3948 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3949 (license license:llgpl)))
3950
3951(define-public cl-syntax
3952 (sbcl-package->cl-source-package sbcl-cl-syntax))
3953
3954(define-public sbcl-cl-annot
3955 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3956 (revision "1"))
3957 (package
3958 (name "sbcl-cl-annot")
3959 (version (git-version "0.0.0" revision commit))
3960 (source
3961 (origin
3962 (method git-fetch)
3963 (uri (git-reference
b0e7b699 3964 (url "https://github.com/m2ym/cl-annot")
88f06fd0
PN
3965 (commit commit)))
3966 (file-name (git-file-name name version))
3967 (sha256
3968 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3969 (build-system asdf-build-system/sbcl)
3970 (arguments
3971 '(#:asd-file "cl-annot.asd"
3972 #:asd-system-name "cl-annot"))
3973 (inputs
3974 `(("sbcl-alexandria" ,sbcl-alexandria)))
3975 (home-page "https://github.com/m2ym/cl-annot")
3976 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3977 (description
3978 "@code{cl-annot} is an general annotation library for Common Lisp.")
3979 (license license:llgpl))))
3980
3981(define-public cl-annot
3982 (sbcl-package->cl-source-package sbcl-cl-annot))
3983
3984(define-public sbcl-cl-syntax-annot
3985 (package
0627ad30 3986 (inherit sbcl-cl-syntax)
88f06fd0 3987 (name "sbcl-cl-syntax-annot")
88f06fd0
PN
3988 (arguments
3989 '(#:asd-file "cl-syntax-annot.asd"
3990 #:asd-system-name "cl-syntax-annot"))
3991 (inputs
3992 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3993 ("sbcl-cl-annot" ,sbcl-cl-annot)))
0627ad30 3994 (synopsis "Common Lisp reader Syntax for cl-annot")
88f06fd0 3995 (description
0627ad30
PN
3996 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
3997@code{cl-annot}.")))
88f06fd0
PN
3998
3999(define-public cl-syntax-annot
4000 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
4001
5b22df94
PN
4002(define-public sbcl-cl-syntax-interpol
4003 (package
4004 (inherit sbcl-cl-syntax)
4005 (name "sbcl-cl-syntax-interpol")
4006 (arguments
4007 '(#:asd-file "cl-syntax-interpol.asd"
4008 #:asd-system-name "cl-syntax-interpol"))
4009 (inputs
4010 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4011 ("sbcl-cl-interpol" ,sbcl-cl-interpol)))
4012 (synopsis "Common Lisp reader Syntax for cl-interpol")
4013 (description
4014 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
4015@code{cl-interpol}.")))
4016
4017(define-public cl-syntax-interpol
4018 (sbcl-package->cl-source-package sbcl-cl-syntax-interpol))
4019
88f06fd0
PN
4020(define-public sbcl-cl-utilities
4021 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4022 (revision "1"))
4023 (package
4024 (name "sbcl-cl-utilities")
4025 (version (git-version "0.0.0" revision commit))
4026 (source
4027 (origin
4028 (method url-fetch)
4029 (uri
4030 (string-append
4031 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4032 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4033 (sha256
4034 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4035 (build-system asdf-build-system/sbcl)
4036 (arguments
4037 '(#:asd-file "cl-utilities.asd"
4038 #:asd-system-name "cl-utilities"
4039 #:phases
4040 (modify-phases %standard-phases
4041 (add-after 'unpack 'fix-paths
4042 (lambda* (#:key inputs #:allow-other-keys)
4043 (substitute* "rotate-byte.lisp"
4044 (("in-package :cl-utilities)" all)
4045 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4046 (home-page "http://common-lisp.net/project/cl-utilities")
4047 (synopsis "A collection of semi-standard utilities")
4048 (description
4049 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4050is a collection of Common Lisp Utilities, things that everybody writes since
4051they're not part of the official standard. There are some very useful things
4052there; the only problems are that they aren't implemented as well as you'd
4053like (some aren't implemented at all) and they aren't conveniently packaged
4054and maintained. It takes quite a bit of work to carefully implement utilities
4055for common use, commented and documented, with error checking placed
4056everywhere some dumb user might make a mistake.")
4057 (license license:public-domain))))
4058
4059(define-public cl-utilities
4060 (sbcl-package->cl-source-package sbcl-cl-utilities))
4061
4062(define-public sbcl-map-set
4063 (let ((commit "7b4b545b68b8")
4064 (revision "1"))
4065 (package
4066 (name "sbcl-map-set")
4067 (version (git-version "0.0.0" revision commit))
4068 (source
4069 (origin
4070 (method url-fetch)
4071 (uri (string-append
4072 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4073 commit ".tar.gz"))
4074 (sha256
4075 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4076 (build-system asdf-build-system/sbcl)
4077 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4078 (synopsis "Set-like data structure")
4079 (description
4080 "Implementation of a set-like data structure with constant time
4081addition, removal, and random selection.")
4082 (license license:bsd-3))))
4083
4084(define-public cl-map-set
4085 (sbcl-package->cl-source-package sbcl-map-set))
4086
4087(define-public sbcl-quri
27c7df29
PN
4088 (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a")
4089 (revision "2"))
88f06fd0
PN
4090 (package
4091 (name "sbcl-quri")
4092 (version (git-version "0.1.0" revision commit))
4093 (source
4094 (origin
4095 (method git-fetch)
4096 (uri (git-reference
b0e7b699 4097 (url "https://github.com/fukamachi/quri")
88f06fd0
PN
4098 (commit commit)))
4099 (file-name (git-file-name name version))
4100 (sha256
27c7df29 4101 (base32 "0cansr63m690ymvhway419178mq2sqnmxm4rdxclbsrnjwwbi36m"))))
88f06fd0
PN
4102 (build-system asdf-build-system/sbcl)
4103 (arguments
4104 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
4105 ;; required by #<SYSTEM "quri">. Why?
4106 '(#:tests? #f))
4107 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4108 ("sbcl-prove" ,sbcl-prove)))
4109 (inputs `(("sbcl-babel" ,sbcl-babel)
4110 ("sbcl-split-sequence" ,sbcl-split-sequence)
4111 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4112 ("sbcl-alexandria" ,sbcl-alexandria)))
4113 (home-page "https://github.com/fukamachi/quri")
4114 (synopsis "Yet another URI library for Common Lisp")
4115 (description
4116 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4117Lisp. It is intended to be a replacement of PURI.")
4118 (license license:bsd-3))))
4119
4120(define-public cl-quri
4121 (sbcl-package->cl-source-package sbcl-quri))
4122
4123(define-public sbcl-myway
4124 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4125 (revision "1"))
4126 (package
4127 (name "sbcl-myway")
4128 (version (git-version "0.1.0" revision commit))
4129 (source
4130 (origin
4131 (method git-fetch)
4132 (uri (git-reference
b0e7b699 4133 (url "https://github.com/fukamachi/myway")
88f06fd0
PN
4134 (commit commit)))
4135 (file-name (git-file-name "myway" version))
4136 (sha256
4137 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4138 (build-system asdf-build-system/sbcl)
4139 (arguments
4140 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4141 ;; by #<SYSTEM "myway">. Why?
4142 '(#:tests? #f))
4143 (native-inputs
4144 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4145 ("sbcl-prove" ,sbcl-prove)))
4146 (inputs
4147 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4148 ("sbcl-quri" ,sbcl-quri)
4149 ("sbcl-map-set" ,sbcl-map-set)))
4150 (home-page "https://github.com/fukamachi/myway")
4151 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4152 (description "My Way is a Sinatra-compatible URL routing library.")
4153 (license license:llgpl))))
4154
4155(define-public cl-myway
4156 (sbcl-package->cl-source-package sbcl-myway))
4157
4158(define-public sbcl-xsubseq
4159 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4160 (revision "1"))
4161 (package
4162 (name "sbcl-xsubseq")
4163 (version (git-version "0.0.1" revision commit))
4164 (source
4165 (origin
4166 (method git-fetch)
4167 (uri (git-reference
4168 (url "https://github.com/fukamachi/xsubseq")
4169 (commit commit)))
4170 (file-name (git-file-name name version))
4171 (sha256
4172 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4173 (build-system asdf-build-system/sbcl)
4174 (arguments
4175 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4176 ;; required by #<SYSTEM "xsubseq">. Why?
4177 '(#:tests? #f))
4178 (native-inputs
4179 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4180 ("sbcl-prove" ,sbcl-prove)))
4181 (home-page "https://github.com/fukamachi/xsubseq")
4182 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4183 (description
4184 "XSubseq provides functions to be able to handle \"subseq\"s more
4185effieiently.")
4186 (license license:bsd-2))))
4187
4188(define-public cl-xsubseq
4189 (sbcl-package->cl-source-package sbcl-xsubseq))
4190
4191(define-public sbcl-smart-buffer
4192 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4193 (revision "1"))
4194 (package
4195 (name "sbcl-smart-buffer")
4196 (version (git-version "0.0.1" revision commit))
4197 (source
4198 (origin
4199 (method git-fetch)
4200 (uri (git-reference
4201 (url "https://github.com/fukamachi/smart-buffer")
4202 (commit commit)))
4203 (file-name (git-file-name name version))
4204 (sha256
4205 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4206 (build-system asdf-build-system/sbcl)
4207 (arguments
4208 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4209 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4210 `(#:tests? #f))
4211 (native-inputs
4212 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4213 ("sbcl-prove" ,sbcl-prove)))
4214 (inputs
4215 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4216 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4217 (home-page "https://github.com/fukamachi/smart-buffer")
4218 (synopsis "Smart octets buffer")
4219 (description
4220 "Smart-buffer provides an output buffer which changes the destination
4221depending on content size.")
4222 (license license:bsd-3))))
4223
4224(define-public cl-smart-buffer
4225 (sbcl-package->cl-source-package sbcl-smart-buffer))
4226
4227(define-public sbcl-fast-http
47e73008
PN
4228 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4229 (revision "2"))
88f06fd0
PN
4230 (package
4231 (name "sbcl-fast-http")
4232 (version (git-version "0.2.0" revision commit))
4233 (source
4234 (origin
4235 (method git-fetch)
4236 (uri (git-reference
4237 (url "https://github.com/fukamachi/fast-http")
4238 (commit commit)))
4239 (file-name (git-file-name name version))
4240 (sha256
47e73008 4241 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
88f06fd0
PN
4242 (build-system asdf-build-system/sbcl)
4243 (arguments
4244 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4245 ;; required by #<SYSTEM "fast-http">. Why?
4246 `(#:tests? #f))
4247 (native-inputs
4248 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
47e73008
PN
4249 ("sbcl-prove" ,sbcl-prove)
4250 ("cl-syntax-interpol" ,sbcl-cl-syntax-interpol)))
88f06fd0
PN
4251 (inputs
4252 `(("sbcl-alexandria" ,sbcl-alexandria)
4253 ("sbcl-proc-parse" ,sbcl-proc-parse)
4254 ("sbcl-xsubseq" ,sbcl-xsubseq)
4255 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4256 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4257 (home-page "https://github.com/fukamachi/fast-http")
4258 (synopsis "HTTP request/response parser for Common Lisp")
4259 (description
4260 "@code{fast-http} is a HTTP request/response protocol parser for Common
4261Lisp.")
4262 ;; Author specified the MIT license
4263 (license license:expat))))
4264
4265(define-public cl-fast-http
4266 (sbcl-package->cl-source-package sbcl-fast-http))
4267
4268(define-public sbcl-static-vectors
ba55cbda
GLV
4269 (package
4270 (name "sbcl-static-vectors")
4271 (version "1.8.4")
4272 (source
4273 (origin
88f06fd0
PN
4274 (method git-fetch)
4275 (uri (git-reference
b0e7b699 4276 (url "https://github.com/sionescu/static-vectors")
ba55cbda 4277 (commit (string-append "v" version))))
88f06fd0
PN
4278 (file-name (git-file-name name version))
4279 (sha256
ba55cbda
GLV
4280 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4281 (native-inputs
4282 `(("sbcl-fiveam" ,sbcl-fiveam)))
4283 (inputs
4284 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4285 ("sbcl-cffi" ,sbcl-cffi)))
4286 (build-system asdf-build-system/sbcl)
6b40dbff 4287 (home-page "https://github.com/sionescu/static-vectors")
ba55cbda
GLV
4288 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4289 (description
4290 "With @code{static-vectors}, you can create vectors allocated in static
88f06fd0 4291memory.")
ba55cbda 4292 (license license:expat)))
88f06fd0
PN
4293
4294(define-public cl-static-vectors
4295 (sbcl-package->cl-source-package sbcl-static-vectors))
4296
f6a6f085
GLV
4297(define-public ecl-static-vectors
4298 (sbcl-package->ecl-package sbcl-static-vectors))
4299
88f06fd0
PN
4300(define-public sbcl-marshal
4301 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4302 (revision "1"))
4303 (package
4304 (name "sbcl-marshal")
4305 (version (git-version "1.3.0" revision commit))
4306 (source
4307 (origin
4308 (method git-fetch)
4309 (uri (git-reference
b0e7b699 4310 (url "https://github.com/wlbr/cl-marshal")
88f06fd0
PN
4311 (commit commit)))
4312 (file-name (git-file-name name version))
4313 (sha256
4314 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4315 (build-system asdf-build-system/sbcl)
4316 (home-page "https://github.com/wlbr/cl-marshal")
4317 (synopsis "Simple (de)serialization of Lisp datastructures")
4318 (description
4319 "Simple and fast marshalling of Lisp datastructures. Convert any object
4320into a string representation, put it on a stream an revive it from there.
4321Only minimal changes required to make your CLOS objects serializable.")
4322 (license license:expat))))
4323
4324(define-public cl-marshal
4325 (sbcl-package->cl-source-package sbcl-marshal))
4326
4327(define-public sbcl-checkl
4328 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4329 (revision "1"))
4330 (package
4331 (name "sbcl-checkl")
4332 (version (git-version "0.0.0" revision commit))
4333 (source
4334 (origin
4335 (method git-fetch)
4336 (uri (git-reference
b0e7b699 4337 (url "https://github.com/rpav/CheckL")
88f06fd0
PN
4338 (commit commit)))
4339 (file-name (git-file-name name version))
4340 (sha256
4341 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4342 (build-system asdf-build-system/sbcl)
4343 (arguments
4344 ;; Error while trying to load definition for system checkl-test from
4345 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4346 ;; is undefined.
4347 '(#:tests? #f))
4348 (native-inputs
4349 `(("sbcl-fiveam" ,sbcl-fiveam)))
4350 (inputs
4351 `(("sbcl-marshal" ,sbcl-marshal)))
4352 (home-page "https://github.com/rpav/CheckL/")
4353 (synopsis "Dynamic testing for Common Lisp")
4354 (description
4355 "CheckL lets you write tests dynamically, it checks resulting values
4356against the last run.")
4357 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4358 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4359 ;; stronger of the two and so I think only listing this should suffice.
4360 (license license:llgpl))))
4361
4362(define-public cl-checkl
4363 (sbcl-package->cl-source-package sbcl-checkl))
4364
4365(define-public sbcl-fast-io
481f41e3
PN
4366 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4367 (revision "2"))
88f06fd0
PN
4368 (package
4369 (name "sbcl-fast-io")
4370 (version (git-version "1.0.0" revision commit))
4371 (source
4372 (origin
4373 (method git-fetch)
4374 (uri (git-reference
b0e7b699 4375 (url "https://github.com/rpav/fast-io")
88f06fd0
PN
4376 (commit commit)))
4377 (file-name (git-file-name name version))
4378 (sha256
481f41e3 4379 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
88f06fd0
PN
4380 (build-system asdf-build-system/sbcl)
4381 (arguments
4382 ;; Error while trying to load definition for system fast-io-test from
4383 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4384 ;; is undefined.
4385 '(#:tests? #f))
4386 (native-inputs
4387 `(("sbcl-fiveam" ,sbcl-fiveam)
4388 ("sbcl-checkl" ,sbcl-checkl)))
4389 (inputs
4390 `(("sbcl-alexandria" ,sbcl-alexandria)
4391 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4392 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4393 (home-page "https://github.com/rpav/fast-io")
4394 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4395 (description
4396 "Fast-io is about improving performance to octet-vectors and octet
4397streams (though primarily the former, while wrapping the latter).")
4398 ;; Author specifies this as NewBSD which is an alias
4399 (license license:bsd-3))))
4400
4401(define-public cl-fast-io
4402 (sbcl-package->cl-source-package sbcl-fast-io))
4403
4404(define-public sbcl-jonathan
4405 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4406 (revision "1"))
4407 (package
4408 (name "sbcl-jonathan")
4409 (version (git-version "0.1.0" revision commit))
4410 (source
4411 (origin
4412 (method git-fetch)
4413 (uri (git-reference
b0e7b699 4414 (url "https://github.com/Rudolph-Miller/jonathan")
88f06fd0
PN
4415 (commit commit)))
4416 (file-name (git-file-name name version))
4417 (sha256
4418 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4419 (build-system asdf-build-system/sbcl)
4420 (arguments
4421 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4422 ;; required by #<SYSTEM "jonathan">. Why?
4423 `(#:tests? #f))
4424 (native-inputs
4425 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4426 ("sbcl-prove" ,sbcl-prove)))
4427 (inputs
4428 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4429 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4430 ("sbcl-fast-io" ,sbcl-fast-io)
4431 ("sbcl-proc-parse" ,sbcl-proc-parse)
4432 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
46a5d07e 4433 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
88f06fd0
PN
4434 (synopsis "JSON encoder and decoder")
4435 (description
4436 "High performance JSON encoder and decoder. Currently support: SBCL,
4437CCL.")
4438 ;; Author specifies the MIT license
4439 (license license:expat))))
4440
4441(define-public cl-jonathan
4442 (sbcl-package->cl-source-package sbcl-jonathan))
4443
4444(define-public sbcl-http-body
4445 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4446 (revision "1"))
4447 (package
4448 (name "sbcl-http-body")
4449 (version (git-version "0.1.0" revision commit))
4450 (source
4451 (origin
4452 (method git-fetch)
4453 (uri (git-reference
4454 (url "https://github.com/fukamachi/http-body")
4455 (commit commit)))
4456 (file-name (git-file-name name version))
4457 (sha256
4458 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4459 (build-system asdf-build-system/sbcl)
4460 (arguments
4461 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4462 ;; found, required by #<SYSTEM "http-body">. Why?
4463 `(#:tests? #f))
4464 (native-inputs
4465 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4466 ("sbcl-prove" ,sbcl-prove)))
4467 (inputs
4468 `(("sbcl-fast-http" ,sbcl-fast-http)
4469 ("sbcl-jonathan" ,sbcl-jonathan)
4470 ("sbcl-quri" ,sbcl-quri)))
4471 (home-page "https://github.com/fukamachi/http-body")
4472 (synopsis "HTTP POST data parser")
4473 (description
4474 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4475supports application/x-www-form-urlencoded, application/json, and
4476multipart/form-data.")
4477 (license license:bsd-2))))
4478
4479(define-public cl-http-body
4480 (sbcl-package->cl-source-package sbcl-http-body))
4481
4482(define-public sbcl-circular-streams
4483 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4484 (revision "1"))
4485 (package
4486 (name "sbcl-circular-streams")
4487 (version (git-version "0.1.0" revision commit))
4488 (source
4489 (origin
4490 (method git-fetch)
4491 (uri (git-reference
4492 (url "https://github.com/fukamachi/circular-streams")
4493 (commit commit)))
4494 (file-name (git-file-name name version))
4495 (sha256
4496 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4497 (build-system asdf-build-system/sbcl)
4498 (arguments
4499 ;; The tests depend on cl-test-more which is now prove. Prove
4500 ;; tests aren't working for some reason.
4501 `(#:tests? #f))
4502 (inputs
4503 `(("sbcl-fast-io" ,sbcl-fast-io)
4504 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4505 (home-page "https://github.com/fukamachi/circular-streams")
4506 (synopsis "Circularly readable streams for Common Lisp")
4507 (description
4508 "Circular-Streams allows you to read streams circularly by wrapping real
4509streams. Once you reach end-of-file of a stream, it's file position will be
4510reset to 0 and you're able to read it again.")
4511 (license license:llgpl))))
4512
4513(define-public cl-circular-streams
4514 (sbcl-package->cl-source-package sbcl-circular-streams))
4515
4516(define-public sbcl-lack-request
4517 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4518 (revision "1"))
4519 (package
4520 (name "sbcl-lack-request")
4521 (version (git-version "0.1.0" revision commit))
4522 (source
4523 (origin
4524 (method git-fetch)
4525 (uri (git-reference
b0e7b699 4526 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4527 (commit commit)))
4528 (file-name (git-file-name "lack-request" version))
4529 (sha256
4530 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4531 (build-system asdf-build-system/sbcl)
4532 (arguments
4533 '(#:asd-file "lack-request.asd"
4534 #:asd-system-name "lack-request"
4535 #:test-asd-file "t-lack-request.asd"
4536 ;; XXX: Component :CLACK-TEST not found
4537 #:tests? #f))
4538 (native-inputs
4539 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4540 ("sbcl-prove" ,sbcl-prove)))
4541 (inputs
4542 `(("sbcl-quri" ,sbcl-quri)
4543 ("sbcl-http-body" ,sbcl-http-body)
4544 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4545 (home-page "https://github.com/fukamachi/lack")
4546 (synopsis "Lack, the core of Clack")
4547 (description
4548 "Lack is a Common Lisp library which allows web applications to be
4549constructed of modular components. It was originally a part of Clack, however
4550it's going to be rewritten as an individual project since Clack v2 with
4551performance and simplicity in mind.")
4552 (license license:llgpl))))
4553
4554(define-public cl-lack-request
4555 (sbcl-package->cl-source-package sbcl-lack-request))
4556
4557(define-public sbcl-local-time
c9d9795f 4558 (let ((commit "62792705245168d3fc2e04164b9a143477284142")
88f06fd0
PN
4559 (revision "1"))
4560 (package
4561 (name "sbcl-local-time")
4562 (version (git-version "1.0.6" revision commit))
4563 (source
4564 (origin
4565 (method git-fetch)
4566 (uri (git-reference
b0e7b699 4567 (url "https://github.com/dlowe-net/local-time")
88f06fd0
PN
4568 (commit commit)))
4569 (file-name (git-file-name name version))
4570 (sha256
c9d9795f 4571 (base32 "1r5zq4l1lrgprdr2pw7wwry194yknnllyjf6lx7snypb3k4r3yir"))))
88f06fd0
PN
4572 (build-system asdf-build-system/sbcl)
4573 (arguments
4574 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4575 ;; "local-time/test">
4576 '(#:tests? #f))
4577 (native-inputs
4578 `(("stefil" ,sbcl-hu.dwim.stefil)))
4579 (inputs
4580 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4581 (home-page "https://common-lisp.net/project/local-time/")
4582 (synopsis "Time manipulation library for Common Lisp")
4583 (description
4584 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4585dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4586Long Painful History of Time\".")
4587 (license license:expat))))
4588
4589(define-public cl-local-time
4590 (sbcl-package->cl-source-package sbcl-local-time))
4591
4592(define-public sbcl-lack-response
4593 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4594 (revision "1"))
4595 (package
4596 (name "sbcl-lack-response")
4597 (version (git-version "0.1.0" revision commit))
4598 (source
4599 (origin
4600 (method git-fetch)
4601 (uri (git-reference
b0e7b699 4602 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4603 (commit commit)))
4604 (file-name (git-file-name name version))
4605 (sha256
4606 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4607 (build-system asdf-build-system/sbcl)
4608 (arguments
4609 '(#:asd-file "lack-response.asd"
4610 #:asd-system-name "lack-response"
4611 ;; XXX: no tests for lack-response.
4612 #:tests? #f))
4613 (native-inputs
4614 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4615 ("sbcl-prove" ,sbcl-prove)))
4616 (inputs
4617 `(("sbcl-quri" ,sbcl-quri)
4618 ("sbcl-http-body" ,sbcl-http-body)
4619 ("sbcl-circular-streams" ,sbcl-circular-streams)
4620 ("sbcl-local-time" ,sbcl-local-time)))
4621 (home-page "https://github.com/fukamachi/lack")
4622 (synopsis "Lack, the core of Clack")
4623 (description
4624 "Lack is a Common Lisp library which allows web applications to be
4625constructed of modular components. It was originally a part of Clack, however
4626it's going to be rewritten as an individual project since Clack v2 with
4627performance and simplicity in mind.")
4628 (license license:llgpl))))
4629
4630(define-public cl-lack-response
4631 (sbcl-package->cl-source-package sbcl-lack-response))
4632
4633(define-public sbcl-lack-component
4634 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4635 (revision "1"))
4636 (package
4637 (name "sbcl-lack-component")
4638 (version (git-version "0.0.0" revision commit))
4639 (source
4640 (origin
4641 (method git-fetch)
4642 (uri (git-reference
b0e7b699 4643 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4644 (commit commit)))
4645 (file-name (git-file-name "lack-component" version))
4646 (sha256
4647 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4648 (build-system asdf-build-system/sbcl)
4649 (arguments
4650 '(#:asd-file "lack-component.asd"
4651 #:asd-system-name "lack-component"
4652 #:test-asd-file "t-lack-component.asd"
4653 ;; XXX: Component :LACK-TEST not found
4654 #:tests? #f))
4655 (native-inputs
4656 `(("prove-asdf" ,sbcl-prove-asdf)))
4657 (home-page "https://github.com/fukamachi/lack")
4658 (synopsis "Lack, the core of Clack")
4659 (description
4660 "Lack is a Common Lisp library which allows web applications to be
4661constructed of modular components. It was originally a part of Clack, however
4662it's going to be rewritten as an individual project since Clack v2 with
4663performance and simplicity in mind.")
4664 (license license:llgpl))))
4665
4666(define-public cl-lack-component
4667 (sbcl-package->cl-source-package sbcl-lack-component))
4668
4669(define-public sbcl-lack-util
4670 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4671 (revision "1"))
4672 (package
4673 (name "sbcl-lack-util")
4674 (version (git-version "0.1.0" revision commit))
4675 (source
4676 (origin
4677 (method git-fetch)
4678 (uri (git-reference
b0e7b699 4679 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4680 (commit commit)))
4681 (file-name (git-file-name "lack-util" version))
4682 (sha256
4683 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4684 (build-system asdf-build-system/sbcl)
4685 (arguments
4686 '(#:asd-file "lack-util.asd"
4687 #:asd-system-name "lack-util"
4688 #:test-asd-file "t-lack-util.asd"
4689 ;; XXX: Component :LACK-TEST not found
4690 #:tests? #f))
4691 (native-inputs
4692 `(("prove-asdf" ,sbcl-prove-asdf)))
4693 (inputs
4694 `(("sbcl-ironclad" ,sbcl-ironclad)))
4695 (home-page "https://github.com/fukamachi/lack")
4696 (synopsis "Lack, the core of Clack")
4697 (description
4698 "Lack is a Common Lisp library which allows web applications to be
4699constructed of modular components. It was originally a part of Clack, however
4700it's going to be rewritten as an individual project since Clack v2 with
4701performance and simplicity in mind.")
4702 (license license:llgpl))))
4703
4704(define-public cl-lack-util
4705 (sbcl-package->cl-source-package sbcl-lack-util))
4706
4707(define-public sbcl-lack-middleware-backtrace
4708 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4709 (revision "1"))
4710 (package
4711 (name "sbcl-lack-middleware-backtrace")
4712 (version (git-version "0.1.0" revision commit))
4713 (source
4714 (origin
4715 (method git-fetch)
4716 (uri (git-reference
b0e7b699 4717 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4718 (commit commit)))
4719 (file-name (git-file-name "lack-middleware-backtrace" version))
4720 (sha256
4721 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4722 (build-system asdf-build-system/sbcl)
4723 (arguments
4724 '(#:asd-file "lack-middleware-backtrace.asd"
4725 #:asd-system-name "lack-middleware-backtrace"
4726 #:test-asd-file "t-lack-middleware-backtrace.asd"
4727 ;; XXX: Component :LACK not found
4728 #:tests? #f))
4729 (native-inputs
4730 `(("prove-asdf" ,sbcl-prove-asdf)))
4731 (home-page "https://github.com/fukamachi/lack")
4732 (synopsis "Lack, the core of Clack")
4733 (description
4734 "Lack is a Common Lisp library which allows web applications to be
4735constructed of modular components. It was originally a part of Clack, however
4736it's going to be rewritten as an individual project since Clack v2 with
4737performance and simplicity in mind.")
4738 (license license:llgpl))))
4739
4740(define-public cl-lack-middleware-backtrace
4741 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4742
4743(define-public sbcl-trivial-mimes
4744 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4745 (revision "1"))
4746 (package
4747 (name "sbcl-trivial-mimes")
4748 (version (git-version "1.1.0" revision commit))
4749 (source
4750 (origin
4751 (method git-fetch)
4752 (uri (git-reference
b0e7b699 4753 (url "https://github.com/Shinmera/trivial-mimes")
88f06fd0
PN
4754 (commit commit)))
4755 (file-name (git-file-name name version))
4756 (sha256
4757 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4758 (build-system asdf-build-system/sbcl)
4759 (arguments
4760 '(#:phases
4761 (modify-phases %standard-phases
4762 (add-after
4763 'unpack 'fix-paths
4764 (lambda* (#:key inputs #:allow-other-keys)
4765 (let ((anchor "#p\"/etc/mime.types\""))
4766 (substitute* "mime-types.lisp"
4767 ((anchor all)
4768 (string-append
4769 anchor "\n"
4770 "(asdf:system-relative-pathname :trivial-mimes "
4771 "\"../../share/common-lisp/" (%lisp-type)
4772 "-source/trivial-mimes/mime.types\")")))))))))
4773 (native-inputs
4774 `(("stefil" ,sbcl-hu.dwim.stefil)))
4775 (inputs
4776 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
917c28d2 4777 (home-page "https://shinmera.github.io/trivial-mimes/")
88f06fd0
PN
4778 (synopsis "Tiny Common Lisp library to detect mime types in files")
4779 (description
4780 "This is a teensy library that provides some functions to determine the
4781mime-type of a file.")
4782 (license license:artistic2.0))))
4783
4784(define-public cl-trivial-mimes
4785 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4786
4787(define-public ecl-trivial-mimes
4788 (sbcl-package->ecl-package sbcl-trivial-mimes))
4789
4790(define-public sbcl-lack-middleware-static
4791 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4792 (revision "1"))
4793 (package
4794 (name "sbcl-lack-middleware-static")
4795 (version (git-version "0.1.0" revision commit))
4796 (source
4797 (origin
4798 (method git-fetch)
4799 (uri (git-reference
b0e7b699 4800 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4801 (commit commit)))
4802 (file-name (git-file-name "lack-middleware-static" version))
4803 (sha256
4804 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4805 (build-system asdf-build-system/sbcl)
4806 (arguments
4807 '(#:asd-file "lack-middleware-static.asd"
4808 #:asd-system-name "lack-middleware-static"
4809 #:test-asd-file "t-lack-middleware-static.asd"
4810 ;; XXX: Component :LACK not found
4811 #:tests? #f))
4812 (native-inputs
4813 `(("prove-asdf" ,sbcl-prove-asdf)))
4814 (inputs
4815 `(("sbcl-ironclad" ,sbcl-ironclad)
4816 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4817 ("sbcl-local-time" ,sbcl-local-time)))
4818 (home-page "https://github.com/fukamachi/lack")
4819 (synopsis "Lack, the core of Clack")
4820 (description
4821 "Lack is a Common Lisp library which allows web applications to be
4822constructed of modular components. It was originally a part of Clack, however
4823it's going to be rewritten as an individual project since Clack v2 with
4824performance and simplicity in mind.")
4825 (license license:llgpl))))
4826
4827(define-public cl-lack-middleware-static
4828 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4829
4830(define-public sbcl-lack
4831 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4832 (revision "1"))
4833 (package
4834 (name "sbcl-lack")
4835 (version (git-version "0.1.0" revision commit))
4836 (source
4837 (origin
4838 (method git-fetch)
4839 (uri (git-reference
b0e7b699 4840 (url "https://github.com/fukamachi/lack")
88f06fd0
PN
4841 (commit commit)))
4842 (file-name (git-file-name "lack" version))
4843 (sha256
4844 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4845 (build-system asdf-build-system/sbcl)
4846 (arguments
4847 '(#:test-asd-file "t-lack.asd"
4848 ;; XXX: Component :CLACK not found
4849 #:tests? #f))
4850 (native-inputs
4851 `(("prove-asdf" ,sbcl-prove-asdf)))
4852 (inputs
4853 `(("sbcl-lack-component" ,sbcl-lack-component)
4854 ("sbcl-lack-util" ,sbcl-lack-util)))
4855 (home-page "https://github.com/fukamachi/lack")
4856 (synopsis "Lack, the core of Clack")
4857 (description
4858 "Lack is a Common Lisp library which allows web applications to be
4859constructed of modular components. It was originally a part of Clack, however
4860it's going to be rewritten as an individual project since Clack v2 with
4861performance and simplicity in mind.")
4862 (license license:llgpl))))
4863
4864(define-public cl-lack
4865 (sbcl-package->cl-source-package sbcl-lack))
4866
4867(define-public sbcl-ningle
4868 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4869 (revision "1"))
4870 (package
4871 (name "sbcl-ningle")
4872 (version (git-version "0.3.0" revision commit))
4873 (source
4874 (origin
4875 (method git-fetch)
4876 (uri (git-reference
b0e7b699 4877 (url "https://github.com/fukamachi/ningle")
88f06fd0
PN
4878 (commit commit)))
4879 (file-name (git-file-name name version))
4880 (sha256
4881 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4882 (build-system asdf-build-system/sbcl)
4883 (arguments
4884 ;; TODO: pull in clack-test
4885 '(#:tests? #f
4886 #:phases
4887 (modify-phases %standard-phases
4888 (delete 'cleanup-files)
4889 (delete 'cleanup)
4890 (add-before 'cleanup 'combine-fasls
4891 (lambda* (#:key outputs #:allow-other-keys)
4892 (let* ((out (assoc-ref outputs "out"))
4893 (lib (string-append out "/lib/sbcl"))
4894 (ningle-path (string-append lib "/ningle"))
4895 (fasl-files (find-files out "\\.fasl$")))
4896 (mkdir-p ningle-path)
4897 (let ((fasl-path (lambda (name)
4898 (string-append ningle-path
4899 "/"
4900 (basename name)
4901 "--system.fasl"))))
4902 (for-each (lambda (file)
4903 (rename-file file
4904 (fasl-path
4905 (basename file ".fasl"))))
4906 fasl-files))
4907 fasl-files)
4908 #t)))))
4909 (native-inputs
4910 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4911 ("sbcl-prove" ,sbcl-prove)))
4912 (inputs
4913 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4914 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4915 ("sbcl-myway" ,sbcl-myway)
4916 ("sbcl-lack-request" ,sbcl-lack-request)
4917 ("sbcl-lack-response" ,sbcl-lack-response)
4918 ("sbcl-lack-component" ,sbcl-lack-component)
4919 ("sbcl-alexandria" ,sbcl-alexandria)
4920 ("sbcl-babel" ,sbcl-babel)))
f13695ec 4921 (home-page "https://8arrow.org/ningle/")
88f06fd0
PN
4922 (synopsis "Super micro framework for Common Lisp")
4923 (description
4924 "Ningle is a lightweight web application framework for Common Lisp.")
4925 (license license:llgpl))))
4926
4927(define-public cl-ningle
4928 (sbcl-package->cl-source-package sbcl-ningle))
4929
4930(define-public sbcl-clack
4931 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4932 (revision "1"))
4933 (package
4934 (name "sbcl-clack")
4935 (version (git-version "2.0.0" revision commit))
4936 (source
4937 (origin
4938 (method git-fetch)
4939 (uri (git-reference
b0e7b699 4940 (url "https://github.com/fukamachi/clack")
88f06fd0
PN
4941 (commit commit)))
4942 (file-name (git-file-name name version))
4943 (sha256
4944 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4945 (build-system asdf-build-system/sbcl)
4946 (inputs
4947 `(("sbcl-lack" ,sbcl-lack)
4948 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4949 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4950 (home-page "https://github.com/fukamachi/clack")
4951 (synopsis "Web Application Environment for Common Lisp")
4952 (description
4953 "Clack is a web application environment for Common Lisp inspired by
4954Python's WSGI and Ruby's Rack.")
4955 (license license:llgpl))))
4956
4957(define-public cl-clack
4958 (sbcl-package->cl-source-package sbcl-clack))
4959
4960(define-public sbcl-log4cl
4961 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4962 (revision "1"))
4963 (package
4964 (name "sbcl-log4cl")
4965 (build-system asdf-build-system/sbcl)
4966 (version "1.1.2")
4967 (source
4968 (origin
4969 (method git-fetch)
4970 (uri (git-reference
4971 (url "https://github.com/sharplispers/log4cl")
4972 (commit commit)))
4973 (file-name (git-file-name name version))
4974 (sha256
4975 (base32
4976 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4977 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4978 (arguments
4979 `(#:tests? #f))
4980 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4981 (synopsis "Common Lisp logging framework, modeled after Log4J")
4982 (home-page "https://github.com/7max/log4cl")
4983 (description "This is a Common Lisp logging framework that can log at
4984various levels and mix text with expressions.")
4985 (license license:asl2.0))))
4986
4987(define-public cl-log4cl
4988 (sbcl-package->cl-source-package sbcl-log4cl))
4989
4990(define-public ecl-log4cl
4991 (sbcl-package->ecl-package sbcl-log4cl))
4992
4993(define-public sbcl-find-port
4994 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4995 (revision "1"))
4996 (package
4997 (name "sbcl-find-port")
4998 (build-system asdf-build-system/sbcl)
4999 (version "0.1")
5000 (home-page "https://github.com/eudoxia0/find-port")
5001 (source
5002 (origin
5003 (method git-fetch)
5004 (uri (git-reference
5005 (url home-page)
5006 (commit commit)))
5007 (file-name (git-file-name name version))
5008 (sha256
5009 (base32
5010 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5011 (native-inputs
5012 `(("fiveam" ,sbcl-fiveam)))
5013 (inputs
5014 `(("sbcl-usocket" ,sbcl-usocket)))
5015 (synopsis "Find open ports programmatically in Common Lisp")
5016 (description "This is a small Common Lisp library that finds an open
5017port within a range.")
5018 (license license:expat))))
5019
5020(define-public cl-find-port
5021 (sbcl-package->cl-source-package sbcl-find-port))
5022
5023(define-public ecl-find-port
5024 (sbcl-package->ecl-package sbcl-find-port))
5025
5026(define-public sbcl-clunit
5027 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5028 (revision "1"))
5029 (package
5030 (name "sbcl-clunit")
5031 (version (git-version "0.2.3" revision commit))
5032 (source
5033 (origin
5034 (method git-fetch)
5035 (uri (git-reference
b0e7b699 5036 (url "https://github.com/tgutu/clunit")
88f06fd0
PN
5037 (commit commit)))
5038 (file-name (git-file-name name version))
5039 (sha256
5040 (base32
5041 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5042 (build-system asdf-build-system/sbcl)
5043 (synopsis "CLUnit is a Common Lisp unit testing framework")
5044 (description
5045 "CLUnit is a Common Lisp unit testing framework. It is designed
5046to be easy to use so that you can quickly start testing. CLUnit
5047provides a rich set of features aimed at improving your unit testing
5048experience.")
b4034d1b 5049 (home-page "https://tgutu.github.io/clunit/")
88f06fd0
PN
5050 ;; MIT License
5051 (license license:expat))))
5052
5053(define-public cl-clunit
5054 (sbcl-package->cl-source-package sbcl-clunit))
5055
5056(define-public ecl-clunit
5057 (sbcl-package->ecl-package sbcl-clunit))
5058
5059(define-public sbcl-py4cl
5060 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5061 (revision "1"))
5062 (package
5063 (name "sbcl-py4cl")
5064 (version (git-version "0.0.0" revision commit))
5065 (source
5066 (origin
5067 (method git-fetch)
5068 (uri (git-reference
b0e7b699 5069 (url "https://github.com/bendudson/py4cl")
88f06fd0
PN
5070 (commit commit)))
5071 (file-name (git-file-name name version))
5072 (sha256
5073 (base32
5074 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5075 (modules '((guix build utils)))))
5076 (build-system asdf-build-system/sbcl)
5077 (native-inputs
5078 `(("sbcl-clunit" ,sbcl-clunit)))
5079 (inputs
5080 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5081 (propagated-inputs
5082 ;; This package doesn't do anything without python available
5083 `(("python" ,python)
5084 ;; For multi-dimensional array support
5085 ("python-numpy" ,python-numpy)))
5086 (arguments
5087 '(#:phases
5088 (modify-phases %standard-phases
5089 (add-after 'unpack 'replace-*base-directory*-var
5090 (lambda* (#:key outputs #:allow-other-keys)
5091 ;; In the ASD, the author makes an attempt to
5092 ;; programatically determine the location of the
5093 ;; source-code so lisp can call into "py4cl.py". We can
5094 ;; hard-code this since we know where this file will
5095 ;; reside.
5096 (substitute* "src/callpython.lisp"
5097 (("py4cl/config:\\*base-directory\\*")
5098 (string-append
5099 "\""
5100 (assoc-ref outputs "out")
5101 "/share/common-lisp/sbcl-source/py4cl/"
5102 "\""))))))))
5103 (synopsis "Call python from Common Lisp")
5104 (description
5105 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5106Lisp to interact with Python code. It uses streams to communicate with a
5107separate python process, the approach taken by cl4py. This is different to
5108the CFFI approach used by burgled-batteries, but has the same goal.")
5109 (home-page "https://github.com/bendudson/py4cl")
5110 ;; MIT License
5111 (license license:expat))))
5112
5113(define-public cl-py4cl
5114 (sbcl-package->cl-source-package sbcl-py4cl))
5115
5116(define-public ecl-py4cl
5117 (sbcl-package->ecl-package sbcl-py4cl))
5118
5119(define-public sbcl-parse-declarations
1fce78c4
GLV
5120 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5121 (revision "1"))
5122 (package
5123 (name "sbcl-parse-declarations")
5124 (version (git-version "1.0.0" revision commit))
5125 (source
5126 (origin
5127 (method git-fetch)
5128 (uri (git-reference
5129 (url (string-append
5130 "https://gitlab.common-lisp.net/parse-declarations/"
5131 "parse-declarations.git"))
5132 (commit commit)))
5133 (file-name (git-file-name name version))
5134 (sha256
5135 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5136 (build-system asdf-build-system/sbcl)
5137 (arguments
5138 `(#:asd-file "parse-declarations-1.0.asd"
5139 #:asd-system-name "parse-declarations-1.0"))
5140 (home-page "https://common-lisp.net/project/parse-declarations/")
5141 (synopsis "Parse, filter, and build declarations")
5142 (description
5143 "Parse-Declarations is a Common Lisp library to help writing
88f06fd0
PN
5144macros which establish bindings. To be semantically correct, such
5145macros must take user declarations into account, as these may affect
5146the bindings they establish. Yet the ANSI standard of Common Lisp does
5147not provide any operators to work with declarations in a convenient,
5148high-level way. This library provides such operators.")
1fce78c4
GLV
5149 ;; MIT License
5150 (license license:expat))))
88f06fd0
PN
5151
5152(define-public cl-parse-declarations
5153 (sbcl-package->cl-source-package sbcl-parse-declarations))
5154
5155(define-public ecl-parse-declarations
5156 (sbcl-package->ecl-package sbcl-parse-declarations))
5157
5158(define-public sbcl-cl-quickcheck
5159 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5160 (revision "1"))
5161 (package
5162 (name "sbcl-cl-quickcheck")
5163 (version (git-version "0.0.4" revision commit))
5164 (source
5165 (origin
5166 (method git-fetch)
5167 (uri (git-reference
b0e7b699 5168 (url "https://github.com/mcandre/cl-quickcheck")
88f06fd0
PN
5169 (commit commit)))
5170 (file-name (git-file-name name version))
5171 (sha256
5172 (base32
5173 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5174 (build-system asdf-build-system/sbcl)
5175 (synopsis
5176 "Common Lisp port of the QuickCheck unit test framework")
5177 (description
5178 "Common Lisp port of the QuickCheck unit test framework")
5179 (home-page "https://github.com/mcandre/cl-quickcheck")
5180 ;; MIT
5181 (license license:expat))))
5182
5183(define-public cl-cl-quickcheck
5184 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5185
5186(define-public ecl-cl-quickcheck
5187 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5188
5189(define-public sbcl-burgled-batteries3
839fa4cd
MB
5190 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5191 (revision "2"))
88f06fd0
PN
5192 (package
5193 (name "sbcl-burgled-batteries3")
5194 (version (git-version "0.0.0" revision commit))
5195 (source
5196 (origin
5197 (method git-fetch)
5198 (uri (git-reference
b0e7b699 5199 (url "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
5200 (commit commit)))
5201 (file-name (git-file-name name version))
5202 (sha256
5203 (base32
839fa4cd 5204 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
88f06fd0
PN
5205 (build-system asdf-build-system/sbcl)
5206 (arguments
839fa4cd
MB
5207 `(#:tests? #f
5208 #:modules (((guix build python-build-system) #:select (python-version))
5209 ,@%asdf-build-system-modules)
5210 #:imported-modules ((guix build python-build-system)
5211 ,@%asdf-build-system-modules)
88f06fd0 5212 #:phases
839fa4cd 5213 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
88f06fd0
PN
5214 (add-after 'unpack 'set-*cpython-include-dir*-var
5215 (lambda* (#:key inputs #:allow-other-keys)
839fa4cd
MB
5216 (let ((python (assoc-ref inputs "python")))
5217 (setenv "BB_PYTHON3_INCLUDE_DIR"
5218 (string-append python "/include/python"
8c83069b 5219 (python-version python)))
839fa4cd
MB
5220 (setenv "BB_PYTHON3_DYLIB"
5221 (string-append python "/lib/libpython3.so"))
8c83069b
MB
5222 #t)))
5223 (add-after 'unpack 'adjust-for-python-3.8
5224 (lambda _
5225 ;; This method is no longer part of the public API.
5226 (substitute* "ffi-interface.lisp"
5227 ((".*PyEval_ReInitThreads.*")
5228 ""))
5229 #t)))))
88f06fd0 5230 (native-inputs
3d280dae 5231 `(("sbcl-cl-fad" ,sbcl-cl-fad)
88f06fd0
PN
5232 ("sbcl-lift" ,sbcl-lift)
5233 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5234 (inputs
3d280dae
MB
5235 `(("python" ,python)
5236 ("sbcl-cffi" ,sbcl-cffi)
88f06fd0
PN
5237 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5238 ("sbcl-alexandria" , sbcl-alexandria)
5239 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5240 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5241 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5242 (description
5243 "This package provides a shim between Python3 (specifically, the
5244CPython implementation of Python) and Common Lisp.")
5245 (home-page "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
5246 (license license:expat))))
5247
5248(define-public cl-burgled-batteries3
5249 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5250
5251(define-public ecl-burgled-batteries3
5252 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5253
5254(define-public sbcl-metabang-bind
5255 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5256 (revision "1"))
5257 (package
5258 (name "sbcl-metabang-bind")
5259 (version (git-version "0.8.0" revision commit))
5260 (source
5261 (origin
5262 (method git-fetch)
5263 (uri (git-reference
b0e7b699 5264 (url "https://github.com/gwkkwg/metabang-bind")
88f06fd0
PN
5265 (commit commit)))
5266 (file-name (git-file-name name version))
5267 (sha256
5268 (base32
5269 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5270 (build-system asdf-build-system/sbcl)
5271 (native-inputs
5272 `(("sbcl-lift" ,sbcl-lift)))
5273 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5274 (description
5275 "Bind extends the idea of of let and destructing to provide a uniform
5276syntax for all your accessor needs. It combines @code{let},
5277@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5278editing, property or association-lists, and @code{multiple-value-bind} and a
5279whole lot more into a single form.")
5280 (home-page "https://common-lisp.net/project/metabang-bind/")
5281 ;; MIT License
5282 (license license:expat))))
5283
5284(define-public cl-metabang-bind
5285 (sbcl-package->cl-source-package sbcl-metabang-bind))
5286
5287(define-public ecl-metabang-bind
5288 (sbcl-package->ecl-package sbcl-metabang-bind))
5289
5290(define-public sbcl-fare-utils
5291 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5292 (revision "1"))
5293 (package
5294 (name "sbcl-fare-utils")
5295 (version (git-version "1.0.0.5" revision commit))
5296 (source
5297 (origin
5298 (method git-fetch)
5299 (uri
5300 (git-reference
5301 (url
5302 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5303 (commit commit)))
5304 (file-name (git-file-name name version))
5305 (sha256
5306 (base32
5307 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5308 (build-system asdf-build-system/sbcl)
5309 (arguments
5310 `(#:test-asd-file "test/fare-utils-test.asd"))
5311 (native-inputs
5312 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5313 (synopsis "Collection of utilities and data structures")
5314 (description
5315 "fare-utils is a small collection of utilities. It contains a lot of
5316basic everyday functions and macros.")
5317 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5318 ;; MIT License
5319 (license license:expat))))
5320
5321(define-public cl-fare-utils
5322 (sbcl-package->cl-source-package sbcl-fare-utils))
5323
5324(define-public ecl-fare-utils
5325 (sbcl-package->ecl-package sbcl-fare-utils))
5326
5327(define-public sbcl-trivial-utf-8
5328 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5329 (revision "1"))
5330 (package
5331 (name "sbcl-trivial-utf-8")
5332 (version (git-version "0.0.0" revision commit))
5333 (source
5334 (origin
5335 (method git-fetch)
5336 (uri
5337 (git-reference
5338 (url (string-append "https://gitlab.common-lisp.net/"
5339 "trivial-utf-8/trivial-utf-8.git"))
5340 (commit commit)))
5341 (file-name (git-file-name name version))
5342 (sha256
5343 (base32
5344 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5345 (arguments
5346 ;; Guix incorrectly assumes the "8" is part of the version
5347 ;; number and lobs it off.
5348 `(#:asd-file "trivial-utf-8.asd"
5349 #:asd-system-name "trivial-utf-8"))
5350 (build-system asdf-build-system/sbcl)
5351 (synopsis "UTF-8 input/output library")
5352 (description
5353 "The Babel library solves a similar problem while understanding more
5354encodings. Trivial UTF-8 was written before Babel existed, but for new
5355projects you might be better off going with Babel. The one plus that Trivial
5356UTF-8 has is that it doesn't depend on any other libraries.")
5357 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5358 (license license:bsd-3))))
5359
5360(define-public cl-trivial-utf-8
5361 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5362
5363(define-public ecl-trivial-utf-8
5364 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5365
5366(define-public sbcl-idna
5367 (package
5368 (name "sbcl-idna")
5369 (build-system asdf-build-system/sbcl)
5370 (version "0.2.2")
5371 (home-page "https://github.com/antifuchs/idna")
5372 (source
5373 (origin
5374 (method git-fetch)
5375 (uri (git-reference
5376 (url home-page)
5377 (commit version)))
5378 (file-name (git-file-name name version))
5379 (sha256
5380 (base32
5381 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5382 (inputs
5383 `(("split-sequence" ,sbcl-split-sequence)))
5384 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5385 (description "This Common Lisp library provides string encoding and
5386decoding routines for IDNA, the International Domain Names in Applications.")
5387 (license license:expat)))
5388
5389(define-public cl-idna
5390 (sbcl-package->cl-source-package sbcl-idna))
5391
5392(define-public ecl-idna
5393 (sbcl-package->ecl-package sbcl-idna))
5394
5395(define-public sbcl-swap-bytes
5396 (package
5397 (name "sbcl-swap-bytes")
5398 (build-system asdf-build-system/sbcl)
dbf6de58 5399 (version "1.2")
88f06fd0
PN
5400 (home-page "https://github.com/sionescu/swap-bytes")
5401 (source
5402 (origin
5403 (method git-fetch)
5404 (uri (git-reference
5405 (url home-page)
5406 (commit (string-append "v" version))))
5407 (file-name (git-file-name name version))
5408 (sha256
5409 (base32
dbf6de58 5410 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5411 (inputs
5412 `(("trivial-features" ,sbcl-trivial-features)))
5413 (native-inputs
5414 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5415 (synopsis "Efficient endianness conversion for Common Lisp")
5416 (description "This Common Lisp library provides optimized byte-swapping
5417primitives. The library can change endianness of unsigned integers of length
54181/2/4/8. Very useful in implementing various network protocols and file
5419formats.")
5420 (license license:expat)))
5421
5422(define-public cl-swap-bytes
5423 (sbcl-package->cl-source-package sbcl-swap-bytes))
5424
5425(define-public ecl-swap-bytes
5426 (sbcl-package->ecl-package sbcl-swap-bytes))
5427
5428(define-public sbcl-iolib.asdf
5429 ;; Latest release is from June 2017.
53c4a0da
PN
5430 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5431 (revision "2"))
88f06fd0
PN
5432 (package
5433 (name "sbcl-iolib.asdf")
5434 (build-system asdf-build-system/sbcl)
53c4a0da 5435 (version (git-version "0.8.3" revision commit))
88f06fd0
PN
5436 (home-page "https://github.com/sionescu/iolib")
5437 (source
5438 (origin
5439 (method git-fetch)
5440 (uri (git-reference
5441 (url home-page)
5442 (commit commit)))
5443 (file-name (git-file-name name version))
5444 (sha256
5445 (base32
53c4a0da 5446 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
88f06fd0
PN
5447 (inputs
5448 `(("alexandria" ,sbcl-alexandria)))
5449 (arguments
5450 '(#:asd-file "iolib.asdf.asd"))
5451 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5452 (description "IOlib is to be a better and more modern I/O library than
5453the standard Common Lisp library. It contains a socket library, a DNS
5454resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5455and @code{kqueue(2)}), a pathname library and file-system utilities.")
5456 (license license:expat))))
5457
5458(define-public sbcl-iolib.conf
5459 (package
5460 (inherit sbcl-iolib.asdf)
5461 (name "sbcl-iolib.conf")
5462 (inputs
5463 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5464 (arguments
5465 '(#:asd-file "iolib.conf.asd"))
5466 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5467
5468(define-public sbcl-iolib.common-lisp
5469 (package
5470 (inherit sbcl-iolib.asdf)
5471 (name "sbcl-iolib.common-lisp")
5472 (inputs
5473 `(("iolib.asdf" ,sbcl-iolib.asdf)
5474 ("iolib.conf" ,sbcl-iolib.conf)))
5475 (arguments
5476 '(#:asd-file "iolib.common-lisp.asd"))
5477 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5478
5479(define-public sbcl-iolib.base
5480 (package
5481 (inherit sbcl-iolib.asdf)
5482 (name "sbcl-iolib.base")
5483 (inputs
5484 `(("iolib.asdf" ,sbcl-iolib.asdf)
5485 ("iolib.conf" ,sbcl-iolib.conf)
5486 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5487 ("split-sequence" ,sbcl-split-sequence)))
5488 (arguments
5489 '(#:asd-file "iolib.base.asd"))
5490 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5491
5492(define-public sbcl-iolib.grovel
3078c05e 5493 (deprecated-package "sbcl-iolib.grovel" sbcl-cffi-grovel))
88f06fd0 5494
af5c4eff 5495(define sbcl-iolib+syscalls
88f06fd0
PN
5496 (package
5497 (inherit sbcl-iolib.asdf)
af5c4eff 5498 (name "sbcl-iolib+syscalls")
88f06fd0
PN
5499 (inputs
5500 `(("iolib.asdf" ,sbcl-iolib.asdf)
5501 ("iolib.conf" ,sbcl-iolib.conf)
53c4a0da 5502 ("cffi-grovel" ,sbcl-cffi-grovel)
88f06fd0
PN
5503 ("iolib.base" ,sbcl-iolib.base)
5504 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5505 ("idna" ,sbcl-idna)
5506 ("swap-bytes" ,sbcl-swap-bytes)
5507 ("libfixposix" ,libfixposix)
5508 ("cffi" ,sbcl-cffi)))
5509 (native-inputs
5510 `(("fiveam" ,sbcl-fiveam)))
5511 (arguments
5512 '(#:asd-file "iolib.asd"
af5c4eff 5513 #:asd-system-name "iolib/syscalls"
88f06fd0
PN
5514 #:phases
5515 (modify-phases %standard-phases
5516 (add-after 'unpack 'fix-paths
5517 (lambda* (#:key inputs #:allow-other-keys)
5518 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5519 (("\\(:default \"libfixposix\"\\)")
5520 (string-append
5521 "(:default \""
5522 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5523 ;; Socket tests need Internet access, disable them.
53c4a0da 5524 (substitute* "iolib.asd"
88f06fd0
PN
5525 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5526 "")))))))
5527 (synopsis "Common Lisp I/O library")))
5528
88f06fd0
PN
5529(define sbcl-iolib+multiplex
5530 (package
af5c4eff 5531 (inherit sbcl-iolib+syscalls)
88f06fd0 5532 (name "sbcl-iolib+multiplex")
af5c4eff
PN
5533 (inputs
5534 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5535 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5536 (arguments
af5c4eff 5537 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5538 ((#:asd-system-name _) "iolib/multiplex")))))
5539
88f06fd0
PN
5540(define sbcl-iolib+streams
5541 (package
af5c4eff 5542 (inherit sbcl-iolib+syscalls)
88f06fd0 5543 (name "sbcl-iolib+streams")
af5c4eff
PN
5544 (inputs
5545 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5546 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5547 (arguments
af5c4eff 5548 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5549 ((#:asd-system-name _) "iolib/streams")))))
5550
5551(define sbcl-iolib+sockets
5552 (package
af5c4eff 5553 (inherit sbcl-iolib+syscalls)
88f06fd0 5554 (name "sbcl-iolib+sockets")
af5c4eff
PN
5555 (inputs
5556 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5557 ("iolib+streams" ,sbcl-iolib+streams)
5558 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5559 (arguments
af5c4eff 5560 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5561 ((#:asd-system-name _) "iolib/sockets")))))
5562
af5c4eff
PN
5563(define-public sbcl-iolib
5564 (package
5565 (inherit sbcl-iolib+syscalls)
5566 (name "sbcl-iolib")
5567 (inputs
5568 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5569 ("iolib+streams" ,sbcl-iolib+streams)
5570 ("iolib+sockets" ,sbcl-iolib+sockets)
5571 ,@(package-inputs sbcl-iolib+syscalls)))
5572 (arguments
5573 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5574 ((#:asd-system-name _) "iolib")))))
5575
5576(define-public cl-iolib
c6201ab9
PN
5577 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5578 (package
5579 (inherit parent)
5580 (propagated-inputs
5581 ;; Need header to compile.
5582 `(("libfixposix" ,libfixposix)
5583 ,@(package-propagated-inputs parent))))))
af5c4eff 5584
88f06fd0
PN
5585(define-public sbcl-ieee-floats
5586 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5587 (revision "1"))
5588 (package
5589 (name "sbcl-ieee-floats")
5590 (build-system asdf-build-system/sbcl)
5591 (version (git-version "20170924" revision commit))
5592 (home-page "https://github.com/marijnh/ieee-floats/")
5593 (source
5594 (origin
5595 (method git-fetch)
5596 (uri (git-reference
5597 (url home-page)
5598 (commit commit)))
5599 (file-name (git-file-name name version))
5600 (sha256
5601 (base32
5602 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5603 (native-inputs
5604 `(("fiveam" ,sbcl-fiveam)))
5605 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
c05181a3 5606 (description "This is a Common Lisp library that converts
88f06fd0
PN
5607floating point values to IEEE 754 binary representation.")
5608 (license license:bsd-3))))
5609
5610(define-public cl-ieee-floats
5611 (sbcl-package->cl-source-package sbcl-ieee-floats))
5612
5613(define sbcl-closure-common
5614 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5615 (revision "1"))
5616 (package
5617 (name "sbcl-closure-common")
5618 (build-system asdf-build-system/sbcl)
5619 (version (git-version "20101006" revision commit))
5620 (home-page "https://common-lisp.net/project/cxml/")
5621 (source
5622 (origin
5623 (method git-fetch)
5624 (uri (git-reference
5625 (url "https://github.com/sharplispers/closure-common")
5626 (commit commit)))
5627 (file-name (git-file-name name version))
5628 (sha256
5629 (base32
5630 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5631 (inputs
5632 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5633 ("babel" ,sbcl-babel)))
5634 (synopsis "Support Common Lisp library for CXML")
5635 (description "Closure-common is an internal helper library. The name
5636Closure is a reference to the web browser it was originally written for.")
5637 ;; TODO: License?
5638 (license #f))))
5639
5640(define-public sbcl-cxml+xml
5641 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5642 (revision "1"))
5643 (package
5644 (name "sbcl-cxml+xml")
5645 (build-system asdf-build-system/sbcl)
5646 (version (git-version "0.0.0" revision commit))
5647 (home-page "https://common-lisp.net/project/cxml/")
5648 (source
5649 (origin
5650 (method git-fetch)
5651 (uri (git-reference
5652 (url "https://github.com/sharplispers/cxml")
5653 (commit commit)))
5654 (file-name (git-file-name name version))
5655 (sha256
5656 (base32
5657 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5658 (inputs
5659 `(("closure-common" ,sbcl-closure-common)
5660 ("puri" ,sbcl-puri)
5661 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5662 (arguments
5663 `(#:asd-file "cxml.asd"
5664 #:asd-system-name "cxml/xml"))
5665 (synopsis "Common Lisp XML parser")
5666 (description "CXML implements a namespace-aware, validating XML 1.0
5667parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5668offered, one SAX-like, the other similar to StAX.")
5669 (license license:llgpl))))
5670
5671(define sbcl-cxml+dom
5672 (package
5673 (inherit sbcl-cxml+xml)
5674 (name "sbcl-cxml+dom")
5675 (inputs
5676 `(("closure-common" ,sbcl-closure-common)
5677 ("puri" ,sbcl-puri)
5678 ("cxml+xml" ,sbcl-cxml+xml)))
5679 (arguments
5680 `(#:asd-file "cxml.asd"
5681 #:asd-system-name "cxml/dom"))))
5682
5683(define sbcl-cxml+klacks
5684 (package
5685 (inherit sbcl-cxml+xml)
5686 (name "sbcl-cxml+klacks")
5687 (inputs
5688 `(("closure-common" ,sbcl-closure-common)
5689 ("puri" ,sbcl-puri)
5690 ("cxml+xml" ,sbcl-cxml+xml)))
5691 (arguments
5692 `(#:asd-file "cxml.asd"
5693 #:asd-system-name "cxml/klacks"))))
5694
5695(define sbcl-cxml+test
5696 (package
5697 (inherit sbcl-cxml+xml)
5698 (name "sbcl-cxml+test")
5699 (inputs
5700 `(("closure-common" ,sbcl-closure-common)
5701 ("puri" ,sbcl-puri)
5702 ("cxml+xml" ,sbcl-cxml+xml)))
5703 (arguments
5704 `(#:asd-file "cxml.asd"
5705 #:asd-system-name "cxml/test"))))
5706
5707(define-public sbcl-cxml
5708 (package
5709 (inherit sbcl-cxml+xml)
5710 (name "sbcl-cxml")
5711 (inputs
5712 `(("closure-common" ,sbcl-closure-common)
5713 ("puri" ,sbcl-puri)
5714 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5715 ("cxml+dom" ,sbcl-cxml+dom)
5716 ("cxml+klacks" ,sbcl-cxml+klacks)
5717 ("cxml+test" ,sbcl-cxml+test)))
5718 (arguments
5719 `(#:asd-file "cxml.asd"
5720 #:asd-system-name "cxml"
5721 #:phases
5722 (modify-phases %standard-phases
5723 (add-after 'build 'install-dtd
5724 (lambda* (#:key outputs #:allow-other-keys)
5725 (install-file "catalog.dtd"
5726 (string-append
5727 (assoc-ref outputs "out")
74fb7f90 5728 "/lib/" (%lisp-type))))))))))
88f06fd0
PN
5729
5730(define-public cl-cxml
5731 (sbcl-package->cl-source-package sbcl-cxml))
5732
5733(define-public sbcl-cl-reexport
5734 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5735 (revision "1"))
5736 (package
5737 (name "sbcl-cl-reexport")
5738 (build-system asdf-build-system/sbcl)
5739 (version (git-version "0.1" revision commit))
5740 (home-page "https://github.com/takagi/cl-reexport")
5741 (source
5742 (origin
5743 (method git-fetch)
5744 (uri (git-reference
5745 (url home-page)
5746 (commit commit)))
5747 (file-name (git-file-name name version))
5748 (sha256
5749 (base32
5750 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5751 (inputs
5752 `(("alexandria" ,sbcl-alexandria)))
5753 (arguments
5754 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5755 `(#:tests? #f))
5756 (synopsis "HTTP cookie manager for Common Lisp")
5757 (description "cl-cookie is a Common Lisp library featuring parsing of
5758cookie headers, cookie creation, cookie jar creation and more.")
5759 (license license:llgpl))))
5760
5761(define-public cl-reexport
5762 (sbcl-package->cl-source-package sbcl-cl-reexport))
5763
5764(define-public sbcl-cl-cookie
5765 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5766 (revision "1"))
5767 (package
5768 (name "sbcl-cl-cookie")
5769 (build-system asdf-build-system/sbcl)
5770 (version (git-version "0.9.10" revision commit))
5771 (home-page "https://github.com/fukamachi/cl-cookie")
5772 (source
5773 (origin
5774 (method git-fetch)
5775 (uri (git-reference
5776 (url home-page)
5777 (commit commit)))
5778 (file-name (git-file-name name version))
5779 (sha256
5780 (base32
5781 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5782 (inputs
5783 `(("proc-parse" ,sbcl-proc-parse)
5784 ("alexandria" ,sbcl-alexandria)
5785 ("quri" ,sbcl-quri)
5786 ("cl-ppcre" ,sbcl-cl-ppcre)
5787 ("local-time" ,sbcl-local-time)))
5788 (native-inputs
5789 `(("prove-asdf" ,sbcl-prove-asdf)
5790 ("prove" ,sbcl-prove)))
5791 (arguments
5792 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5793 `(#:tests? #f))
5794 (synopsis "HTTP cookie manager for Common Lisp")
5795 (description "cl-cookie is a Common Lisp library featuring parsing of
5796cookie headers, cookie creation, cookie jar creation and more.")
5797 (license license:bsd-2))))
5798
5799(define-public cl-cookie
5800 (sbcl-package->cl-source-package sbcl-cl-cookie))
5801
5802(define-public sbcl-dexador
e067ef95 5803 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
88f06fd0
PN
5804 (revision "1"))
5805 (package
5806 (name "sbcl-dexador")
5807 (build-system asdf-build-system/sbcl)
e067ef95 5808 (version "0.9.14" )
88f06fd0
PN
5809 (home-page "https://github.com/fukamachi/dexador")
5810 (source
5811 (origin
5812 (method git-fetch)
5813 (uri (git-reference
5814 (url home-page)
5815 (commit commit)))
5816 (file-name (git-file-name name version))
5817 (sha256
5818 (base32
e067ef95 5819 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
88f06fd0
PN
5820 (inputs
5821 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5822 ("babel" ,sbcl-babel)
5823 ("usocket" ,sbcl-usocket)
5824 ("fast-http" ,sbcl-fast-http)
5825 ("quri" ,sbcl-quri)
5826 ("fast-io" ,sbcl-fast-io)
5827 ("chunga" ,sbcl-chunga)
5828 ("cl-ppcre" ,sbcl-cl-ppcre)
5829 ("cl-cookie" ,sbcl-cl-cookie)
5830 ("trivial-mimes" ,sbcl-trivial-mimes)
5831 ("chipz" ,sbcl-chipz)
5832 ("cl-base64" ,sbcl-cl-base64)
5833 ("cl-reexport" ,sbcl-cl-reexport)
5834 ("cl+ssl" ,sbcl-cl+ssl)
5835 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5836 ("alexandria" ,sbcl-alexandria)))
5837 (native-inputs
5838 `(("prove" ,sbcl-prove)
5839 ("prove-asdf" ,sbcl-prove-asdf)
5840 ("lack-request" ,sbcl-lack-request)
5841 ("clack" ,sbcl-clack)
5842 ("babel" ,sbcl-babel)
5843 ("alexandria" ,sbcl-alexandria)
5844 ("cl-ppcre" ,sbcl-cl-ppcre)
e067ef95
PN
5845 ("local-time" ,sbcl-local-time)
5846 ("trivial-features" ,sbcl-trivial-features)))
88f06fd0
PN
5847 (arguments
5848 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5849 `(#:tests? #f
5850 #:phases
5851 (modify-phases %standard-phases
5852 (add-after 'unpack 'fix-permissions
5853 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5854 (synopsis "Yet another HTTP client for Common Lisp")
5855 (description "Dexador is yet another HTTP client for Common Lisp with
5856neat APIs and connection-pooling. It is meant to supersede Drakma.")
5857 (license license:expat))))
5858
5859(define-public cl-dexador
5860 (package
5861 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5862 (arguments
5863 `(#:phases
5864 ;; asdf-build-system/source has its own phases and does not inherit
5865 ;; from asdf-build-system/sbcl phases.
5866 (modify-phases %standard-phases/source
09db7f39
PN
5867 ;; Already done in SBCL package.
5868 (delete 'reset-gzip-timestamps))))))
88f06fd0
PN
5869
5870(define-public ecl-dexador
5871 (sbcl-package->ecl-package sbcl-dexador))
5872
5873(define-public sbcl-lisp-namespace
5874 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5875 (revision "1"))
5876 (package
5877 (name "sbcl-lisp-namespace")
5878 (build-system asdf-build-system/sbcl)
5879 (version (git-version "0.1" revision commit))
5880 (home-page "https://github.com/guicho271828/lisp-namespace")
5881 (source
5882 (origin
5883 (method git-fetch)
5884 (uri (git-reference
5885 (url home-page)
5886 (commit commit)))
5887 (file-name (git-file-name name version))
5888 (sha256
5889 (base32
5890 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5891 (inputs
5892 `(("alexandria" ,sbcl-alexandria)))
5893 (native-inputs
5894 `(("fiveam" ,sbcl-fiveam)))
5895 (arguments
5896 `(#:test-asd-file "lisp-namespace.test.asd"
5897 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5898 #:tests? #f))
5899 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5900 (description "Common Lisp already has major 2 namespaces, function
5901namespace and value namespace (or variable namespace), but there are actually
5902more — e.g., class namespace.
5903This library offers macros to deal with symbols from any namespace.")
5904 (license license:llgpl))))
5905
5906(define-public cl-lisp-namespace
5907 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5908
5909(define-public sbcl-trivial-cltl2
36ceab7d
PN
5910 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5911 (revision "2"))
88f06fd0
PN
5912 (package
5913 (name "sbcl-trivial-cltl2")
5914 (build-system asdf-build-system/sbcl)
5915 (version (git-version "0.1.1" revision commit))
5916 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5917 (source
5918 (origin
5919 (method git-fetch)
5920 (uri (git-reference
5921 (url home-page)
5922 (commit commit)))
5923 (file-name (git-file-name name version))
5924 (sha256
5925 (base32
36ceab7d 5926 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
88f06fd0
PN
5927 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5928 (description "This library is a portable compatibility layer around
5929\"Common Lisp the Language, 2nd
5930Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5931and it exports symbols from implementation-specific packages.")
5932 (license license:llgpl))))
5933
5934(define-public cl-trivial-cltl2
5935 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5936
5937(define-public sbcl-introspect-environment
5938 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5939 (revision "1"))
5940 (package
5941 (name "sbcl-introspect-environment")
5942 (build-system asdf-build-system/sbcl)
5943 (version (git-version "0.1" revision commit))
5944 (home-page "https://github.com/Bike/introspect-environment")
5945 (source
5946 (origin
5947 (method git-fetch)
5948 (uri (git-reference
5949 (url home-page)
5950 (commit commit)))
5951 (file-name (git-file-name name version))
5952 (sha256
5953 (base32
5954 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5955 (native-inputs
5956 `(("fiveam" ,sbcl-fiveam)))
5957 (synopsis "Common Lisp environment introspection portability layer")
5958 (description "This library is a small interface to portable but
5959nonstandard introspection of Common Lisp environments. It is intended to
5960allow a bit more compile-time introspection of environments in Common Lisp.
5961
5962Quite a bit of information is available at the time a macro or compiler-macro
5963runs; inlining info, type declarations, that sort of thing. This information
5964is all standard - any Common Lisp program can @code{(declare (integer x))} and
5965such.
5966
5967This info ought to be accessible through the standard @code{&environment}
5968parameters, but it is not. Several implementations keep the information for
5969their own purposes but do not make it available to user programs, because
5970there is no standard mechanism to do so.
5971
5972This library uses implementation-specific hooks to make information available
5973to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5974implementations have implementations of the functions that do as much as they
5975can and/or provide reasonable defaults.")
5976 (license license:wtfpl2))))
5977
5978(define-public cl-introspect-environment
5979 (sbcl-package->cl-source-package sbcl-introspect-environment))
5980
5981(define-public sbcl-type-i
758f32af
PN
5982 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5983 (revision "2"))
88f06fd0
PN
5984 (package
5985 (name "sbcl-type-i")
5986 (build-system asdf-build-system/sbcl)
5987 (version (git-version "0.1" revision commit))
5988 (home-page "https://github.com/guicho271828/type-i")
5989 (source
5990 (origin
5991 (method git-fetch)
5992 (uri (git-reference
5993 (url home-page)
5994 (commit commit)))
5995 (file-name (git-file-name name version))
5996 (sha256
5997 (base32
758f32af 5998 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
88f06fd0
PN
5999 (inputs
6000 `(("alexandria" ,sbcl-alexandria)
6001 ("introspect-environment" ,sbcl-introspect-environment)
6002 ("trivia.trivial" ,sbcl-trivia.trivial)))
6003 (native-inputs
6004 `(("fiveam" ,sbcl-fiveam)))
6005 (arguments
6006 `(#:test-asd-file "type-i.test.asd"))
6007 (synopsis "Type inference utility on unary predicates for Common Lisp")
6008 (description "This library tries to provide a way to detect what kind of
6009type the given predicate is trying to check. This is different from inferring
6010the return type of a function.")
6011 (license license:llgpl))))
6012
6013(define-public cl-type-i
6014 (sbcl-package->cl-source-package sbcl-type-i))
6015
6016(define-public sbcl-optima
6017 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6018 (revision "1"))
6019 (package
6020 (name "sbcl-optima")
6021 (build-system asdf-build-system/sbcl)
6022 (version (git-version "1.0" revision commit))
6023 (home-page "https://github.com/m2ym/optima")
6024 (source
6025 (origin
6026 (method git-fetch)
6027 (uri (git-reference
6028 (url home-page)
6029 (commit commit)))
6030 (file-name (git-file-name name version))
6031 (sha256
6032 (base32
6033 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6034 (inputs
6035 `(("alexandria" ,sbcl-alexandria)
6036 ("closer-mop" ,sbcl-closer-mop)))
6037 (native-inputs
6038 `(("eos" ,sbcl-eos)))
6039 (arguments
6040 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6041 `(#:tests? #f
6042 #:test-asd-file "optima.test.asd"))
6043 (synopsis "Optimized pattern matching library for Common Lisp")
6044 (description "Optima is a fast pattern matching library which uses
6045optimizing techniques widely used in the functional programming world.")
6046 (license license:expat))))
6047
6048(define-public cl-optima
6049 (sbcl-package->cl-source-package sbcl-optima))
6050
6051(define-public sbcl-fare-quasiquote
639b47e6
GLV
6052 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6053 (revision "1"))
6054 (package
6055 (name "sbcl-fare-quasiquote")
6056 (build-system asdf-build-system/sbcl)
6057 (version (git-version "1.0.1" revision commit))
6058 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6059 (source
6060 (origin
6061 (method git-fetch)
6062 (uri (git-reference
6063 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6064 "fare-quasiquote.git"))
6065 (commit commit)))
6066 (file-name (git-file-name name version))
6067 (sha256
6068 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6069 (inputs
6070 `(("fare-utils" ,sbcl-fare-utils)))
6071 (arguments
6072 ;; XXX: Circular dependencies: Tests depend on subsystems,
6073 ;; which depend on the main systems.
6074 `(#:tests? #f
6075 #:phases
6076 (modify-phases %standard-phases
6077 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6078 ;; commits after 1.0.0.5, but ASDF fails to read the
6079 ;; "-REVISION-COMMIT" part generated by Guix.
6080 (add-after 'unpack 'patch-requirement
6081 (lambda _
6082 (substitute* "fare-quasiquote.asd"
6083 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6084 "\"fare-utils\"")))))))
6085 (synopsis "Pattern-matching friendly implementation of quasiquote")
6086 (description "The main purpose of this n+2nd reimplementation of
88f06fd0
PN
6087quasiquote is enable matching of quasiquoted patterns, using Optima or
6088Trivia.")
639b47e6 6089 (license license:expat))))
88f06fd0
PN
6090
6091(define-public cl-fare-quasiquote
6092 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6093
6094(define-public sbcl-fare-quasiquote-optima
6095 (package
6096 (inherit sbcl-fare-quasiquote)
6097 (name "sbcl-fare-quasiquote-optima")
6098 (inputs
6099 `(("optima" ,sbcl-optima)
6100 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
6101 (arguments
6102 '(#:phases
6103 (modify-phases %standard-phases
6104 (add-after 'unpack 'patch-requirement
6105 (lambda _
6106 (substitute* "fare-quasiquote-optima.asd"
6107 (("\\(:version \"optima\" \"1\\.0\"\\)")
6108 "\"optima\""))
6109 #t)))))))
6110
6111(define-public cl-fare-quasiquote-optima
6112 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
6113
6114(define-public sbcl-fare-quasiquote-readtable
6115 (package
6116 (inherit sbcl-fare-quasiquote)
6117 (name "sbcl-fare-quasiquote-readtable")
6118 (inputs
6119 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
6120 ("named-readtables" ,sbcl-named-readtables)))
6121 (description "The main purpose of this n+2nd reimplementation of
6122quasiquote is enable matching of quasiquoted patterns, using Optima or
6123Trivia.
6124
6125This package uses fare-quasiquote with named-readtable.")))
6126
6127(define-public cl-fare-quasiquote-readtable
6128 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
6129
a5263200
GLV
6130(define-public sbcl-fare-quasiquote-extras
6131 (package
6132 (inherit sbcl-fare-quasiquote)
6133 (name "sbcl-fare-quasiquote-extras")
6134 (build-system asdf-build-system/sbcl)
6135 (inputs
6136 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
6137 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6138 (arguments
6139 `(#:phases
6140 (modify-phases %standard-phases
6141 (replace 'build
6142 (lambda* (#:key outputs #:allow-other-keys)
6143 (let* ((out (assoc-ref outputs "out"))
6144 (lib (string-append out "/lib/" (%lisp-type))))
6145 (mkdir-p lib)
6146 (install-file "fare-quasiquote-extras.asd" lib)
0f46c5f5
GLV
6147 (make-file-writable
6148 (string-append lib "/fare-quasiquote-extras.asd"))
7432a419 6149 #t))))))
a5263200
GLV
6150 (description "This library combines @code{fare-quasiquote-readtable} and
6151@code{fare-quasiquote-optima}.")))
6152
88f06fd0
PN
6153(define-public cl-fare-quasiquote-extras
6154 (package
6155 (inherit cl-fare-quasiquote)
6156 (name "cl-fare-quasiquote-extras")
6157 (build-system asdf-build-system/source)
6158 (propagated-inputs
6159 `(("fare-quasiquote" ,cl-fare-quasiquote)
6160 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6161 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6162 (description "This library combines @code{fare-quasiquote-readtable} and
6163@code{fare-quasiquote-optima}.")))
6164
6165(define-public sbcl-trivia.level0
ba69e6e6
PN
6166 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
6167 (revision "2"))
88f06fd0
PN
6168 (package
6169 (name "sbcl-trivia.level0")
6170 (build-system asdf-build-system/sbcl)
6171 (version (git-version "0.0.0" revision commit))
6172 (home-page "https://github.com/guicho271828/trivia")
6173 (source
6174 (origin
6175 (method git-fetch)
6176 (uri (git-reference
6177 (url home-page)
6178 (commit commit)))
6179 (file-name (git-file-name name version))
6180 (sha256
6181 (base32
ba69e6e6 6182 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
88f06fd0
PN
6183 (inputs
6184 `(("alexandria" ,sbcl-alexandria)))
6185 (synopsis "Pattern matching in Common Lisp")
6186 (description "Trivia is a pattern matching compiler that is compatible
6187with Optima, another pattern matching library for Common Lisp. It is meant to
6188be faster and more extensible than Optima.")
6189 (license license:llgpl))))
6190
6191(define-public sbcl-trivia.level1
6192 (package
6193 (inherit sbcl-trivia.level0)
6194 (name "sbcl-trivia.level1")
6195 (inputs
6196 `(("trivia.level0" ,sbcl-trivia.level0)))
6197 (description "Trivia is a pattern matching compiler that is compatible
6198with Optima, another pattern matching library for Common Lisp. It is meant to
6199be faster and more extensible than Optima.
6200
6201This system contains the core patterns of Trivia.")))
6202
6203(define-public sbcl-trivia.level2
6204 (package
6205 (inherit sbcl-trivia.level0)
6206 (name "sbcl-trivia.level2")
6207 (inputs
6208 `(("trivia.level1" ,sbcl-trivia.level1)
6209 ("lisp-namespace" ,sbcl-lisp-namespace)
6210 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6211 ("closer-mop" ,sbcl-closer-mop)))
6212 (description "Trivia is a pattern matching compiler that is compatible
6213with Optima, another pattern matching library for Common Lisp. It is meant to
6214be faster and more extensible than Optima.
6215
6216This system contains a non-optimized pattern matcher compatible with Optima,
6217with extensible optimizer interface.")))
6218
6219(define-public sbcl-trivia.trivial
6220 (package
6221 (inherit sbcl-trivia.level0)
6222 (name "sbcl-trivia.trivial")
6223 (inputs
6224 `(("trivia.level2" ,sbcl-trivia.level2)))
88f06fd0
PN
6225 (description "Trivia is a pattern matching compiler that is compatible
6226with Optima, another pattern matching library for Common Lisp. It is meant to
6227be faster and more extensible than Optima.
6228
6229This system contains the base level system of Trivia with a trivial optimizer.")))
6230
6231(define-public sbcl-trivia.balland2006
6232 (package
6233 (inherit sbcl-trivia.level0)
6234 (name "sbcl-trivia.balland2006")
6235 (inputs
6236 `(("trivia.trivial" ,sbcl-trivia.trivial)
6237 ("iterate" ,sbcl-iterate)
6238 ("type-i" ,sbcl-type-i)
6239 ("alexandria" ,sbcl-alexandria)))
6240 (arguments
6241 ;; Tests are done in trivia itself.
6242 `(#:tests? #f))
6243 (description "Trivia is a pattern matching compiler that is compatible
6244with Optima, another pattern matching library for Common Lisp. It is meant to
6245be faster and more extensible than Optima.
6246
6247This system contains the base level system of Trivia with a trivial optimizer.")))
6248
6249(define-public sbcl-trivia.ppcre
6250 (package
6251 (inherit sbcl-trivia.level0)
6252 (name "sbcl-trivia.ppcre")
6253 (inputs
6254 `(("trivia.trivial" ,sbcl-trivia.trivial)
6255 ("cl-ppcre" ,sbcl-cl-ppcre)))
6256 (description "Trivia is a pattern matching compiler that is compatible
6257with Optima, another pattern matching library for Common Lisp. It is meant to
6258be faster and more extensible than Optima.
6259
6260This system contains the PPCRE extension.")))
6261
6262(define-public sbcl-trivia.quasiquote
6263 (package
6264 (inherit sbcl-trivia.level0)
6265 (name "sbcl-trivia.quasiquote")
6266 (inputs
6267 `(("trivia.trivial" ,sbcl-trivia.trivial)
6268 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6269 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6270 (description "Trivia is a pattern matching compiler that is compatible
6271with Optima, another pattern matching library for Common Lisp. It is meant to
6272be faster and more extensible than Optima.
6273
6274This system contains the fare-quasiquote extension.")))
6275
6276(define-public sbcl-trivia.cffi
6277 (package
6278 (inherit sbcl-trivia.level0)
6279 (name "sbcl-trivia.cffi")
6280 (inputs
6281 `(("cffi" ,sbcl-cffi)
6282 ("trivia.trivial" ,sbcl-trivia.trivial)))
6283 (description "Trivia is a pattern matching compiler that is compatible
6284with Optima, another pattern matching library for Common Lisp. It is meant to
6285be faster and more extensible than Optima.
6286
6287This system contains the CFFI foreign slot access extension.")))
6288
6289(define-public sbcl-trivia
6290 (package
6291 (inherit sbcl-trivia.level0)
6292 (name "sbcl-trivia")
6293 (inputs
6294 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6295 (native-inputs
6296 `(("fiveam" ,sbcl-fiveam)
6297 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6298 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6299 ("trivia.cffi" ,sbcl-trivia.cffi)
6300 ("optima" ,sbcl-optima)))
6301 (arguments
797f43af 6302 `(#:test-asd-file "trivia.test.asd"))
88f06fd0
PN
6303 (description "Trivia is a pattern matching compiler that is compatible
6304with Optima, another pattern matching library for Common Lisp. It is meant to
6305be faster and more extensible than Optima.")))
6306
6307(define-public cl-trivia
6308 (sbcl-package->cl-source-package sbcl-trivia))
6309
6310(define-public sbcl-mk-string-metrics
6311 (package
6312 (name "sbcl-mk-string-metrics")
6313 (version "0.1.2")
6314 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6315 (source (origin
6316 (method git-fetch)
6317 (uri (git-reference
6318 (url home-page)
6319 (commit version)))
6320 (sha256
6321 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6322 (file-name (git-file-name name version))))
6323 (build-system asdf-build-system/sbcl)
6324 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6325 (description "This library implements efficient algorithms that calculate
6326various string metrics in Common Lisp:
6327
6328@itemize
6329@item Damerau-Levenshtein distance
6330@item Hamming distance
6331@item Jaccard similarity coefficient
6332@item Jaro distance
6333@item Jaro-Winkler distance
6334@item Levenshtein distance
6335@item Normalized Damerau-Levenshtein distance
6336@item Normalized Levenshtein distance
6337@item Overlap coefficient
6338@end itemize\n")
6339 (license license:x11)))
6340
6341(define-public cl-mk-string-metrics
6342 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6343
6344(define-public sbcl-cl-str
7cb4c521 6345 (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a"))
88f06fd0
PN
6346 (package
6347 (name "sbcl-cl-str")
7cb4c521 6348 (version (git-version "0.17" "1" commit))
88f06fd0
PN
6349 (home-page "https://github.com/vindarel/cl-str")
6350 (source (origin
6351 (method git-fetch)
6352 (uri (git-reference
6353 (url home-page)
6354 (commit commit)))
6355 (sha256
7cb4c521 6356 (base32 "1hpq5m8zjjnzns370zy27z2vcm1p8n2ka5ij2x67gyc9amz9vla0"))
88f06fd0
PN
6357 (file-name (git-file-name name version))))
6358 (build-system asdf-build-system/sbcl)
6359 (inputs
6360 `(("cl-ppcre" ,sbcl-cl-ppcre)
7cb4c521
PN
6361 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6362 ("cl-change-case" ,sbcl-cl-change-case)))
88f06fd0
PN
6363 (native-inputs
6364 `(("prove" ,sbcl-prove)
6365 ("prove-asdf" ,sbcl-prove-asdf)))
6366 (arguments
6367 `(#:asd-file "str.asd"
6368 #:asd-system-name "str"
6369 #:test-asd-file "str.test.asd"))
6370 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6371 (description "A modern and consistent Common Lisp string manipulation
6372library that focuses on modernity, simplicity and discoverability:
6373@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6374@code{str:concat strings} instead of an unusual format construct; one
6375discoverable library instead of many; consistency and composability, where
6376@code{s} is always the last argument, which makes it easier to feed pipes and
6377arrows.")
6378 (license license:expat))))
6379
6380(define-public cl-str
6381 (sbcl-package->cl-source-package sbcl-cl-str))
6382
6383(define-public sbcl-cl-xmlspam
6384 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6385 (package
6386 (name "sbcl-cl-xmlspam")
6387 (build-system asdf-build-system/sbcl)
6388 (version (git-version "0.0.0" "1" commit))
6389 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6390 (source
6391 (origin
6392 (method git-fetch)
6393 (uri (git-reference
6394 (url home-page)
6395 (commit commit)))
6396 (file-name (string-append name "-" version))
6397 (sha256
6398 (base32
6399 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6400 (inputs
6401 `(("cxml" ,sbcl-cxml)
6402 ("cl-ppcre" ,sbcl-cl-ppcre)))
6403 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6404 (description "CXML does an excellent job at parsing XML elements, but what
6405do you do when you have a XML file that's larger than you want to fit in
6406memory, and you want to extract some information from it? Writing code to deal
6407with SAX events, or even using Klacks, quickly becomes tedious.
6408@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6409to write code that mirrors the structure of the XML that it's parsing. It
6410also makes it easy to shift paradigms when necessary - the usual Lisp control
6411constructs can be used interchangeably with pattern matching, and the full
6412power of CXML is available when necessary.")
6413 (license license:bsd-3))))
6414
6415;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6416;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6417;; asdf-build-system/sbcl.
6418(define-public cl-dbus
6419 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6420 (revision "1"))
6421 (package
6422 (name "cl-dbus")
6423 (build-system asdf-build-system/source)
6424 (version (git-version "20190408" revision commit))
6425 (home-page "https://github.com/death/dbus")
6426 (source
6427 (origin
6428 (method git-fetch)
6429 (uri (git-reference
6430 (url home-page)
6431 (commit commit)))
6432 (file-name (git-file-name name version))
6433 (sha256
6434 (base32
6435 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
0bc557fd
PN
6436 ;; Inputs must be propagated or else packages depending on this won't
6437 ;; have the necessary packages.
88f06fd0
PN
6438 (propagated-inputs
6439 `(("alexandria" ,sbcl-alexandria)
6440 ("trivial-garbage" ,sbcl-trivial-garbage)
6441 ("babel" ,sbcl-babel)
6442 ("iolib" ,sbcl-iolib)
88f06fd0
PN
6443 ("ieee-floats" ,sbcl-ieee-floats)
6444 ("flexi-streams" ,sbcl-flexi-streams)
6445 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6446 ("ironclad" ,sbcl-ironclad)))
6447 (synopsis "D-Bus client library for Common Lisp")
104b1bde 6448 (description "This is a Common Lisp library that publishes D-Bus
88f06fd0
PN
6449objects as well as send and notify other objects connected to a bus.")
6450 (license license:bsd-2))))
6451
6452(define-public sbcl-cl-hooks
6453 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6454 (revision "1"))
6455 (package
6456 (name "sbcl-cl-hooks")
6457 (build-system asdf-build-system/sbcl)
6458 (version (git-version "0.2.1" revision commit))
6459 (home-page "https://github.com/scymtym/architecture.hooks")
6460 (source
6461 (origin
6462 (method git-fetch)
6463 (uri (git-reference
6464 (url home-page)
6465 (commit commit)))
6466 (file-name (git-file-name name version))
6467 (sha256
6468 (base32
6469 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6470 (inputs
6471 `(("alexandria" ,sbcl-alexandria)
6472 ("let-plus" ,sbcl-let-plus)
6473 ("trivial-garbage" ,sbcl-trivial-garbage)
6474 ("closer-mop" ,sbcl-closer-mop)))
6475 (native-inputs
6476 `(("fiveam" ,sbcl-fiveam)))
6477 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6478 (description "A hook, in the present context, is a certain kind of
6479extension point in a program that allows interleaving the execution of
6480arbitrary code with the execution of a the program without introducing any
6481coupling between the two. Hooks are used extensively in the extensible editor
6482Emacs.
6483
6484In the Common LISP Object System (CLOS), a similar kind of extensibility is
6485possible using the flexible multi-method dispatch mechanism. It may even seem
6486that the concept of hooks does not provide any benefits over the possibilities
6487of CLOS. However, there are some differences:
6488
6489@itemize
6490
6491@item There can be only one method for each combination of specializers and
6492qualifiers. As a result this kind of extension point cannot be used by
6493multiple extensions independently.
6494@item Removing code previously attached via a @code{:before}, @code{:after} or
6495@code{:around} method can be cumbersome.
6496@item There could be other or even multiple extension points besides @code{:before}
6497and @code{:after} in a single method.
6498@item Attaching codes to individual objects using eql specializers can be
6499cumbersome.
6500@item Introspection of code attached a particular extension point is
6501cumbersome since this requires enumerating and inspecting the methods of a
6502generic function.
6503@end itemize
6504
6505This library tries to complement some of these weaknesses of method-based
6506extension-points via the concept of hooks.")
6507 (license license:llgpl))))
6508
6509(define-public cl-hooks
6510 (sbcl-package->cl-source-package sbcl-cl-hooks))
6511
6512(define-public ecl-cl-hooks
6513 (sbcl-package->ecl-package sbcl-cl-hooks))
6514
6515(define-public sbcl-s-sysdeps
bdfd1d18
PN
6516 ;; No release since 2013.
6517 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6518 (revision "2"))
88f06fd0
PN
6519 (package
6520 (name "sbcl-s-sysdeps")
6521 (build-system asdf-build-system/sbcl)
6522 (version (git-version "1" revision commit))
6523 (home-page "https://github.com/svenvc/s-sysdeps")
6524 (source
6525 (origin
6526 (method git-fetch)
6527 (uri (git-reference
6528 (url home-page)
6529 (commit commit)))
6530 (file-name (git-file-name name version))
6531 (sha256
6532 (base32
bdfd1d18
PN
6533 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6534 (inputs
6535 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6536 ("usocket" ,sbcl-usocket)
6537 ("usocket-server" ,sbcl-usocket-server)))
88f06fd0
PN
6538 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6539 (description "@code{s-sysdeps} is an abstraction layer over platform
6540dependent functionality. This simple package is used as a building block in a
6541number of other open source projects.
6542
6543@code{s-sysdeps} abstracts:
6544
6545@itemize
6546@item managing processes,
6547@item implementing a standard TCP/IP server,
6548@item opening a client TCP/IP socket stream,
6549@item working with process locks.
6550@end itemize\n")
6551 (license license:llgpl))))
6552
6553(define-public cl-s-sysdeps
6554 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6555
6556(define-public ecl-s-sysdeps
6557 (sbcl-package->ecl-package sbcl-s-sysdeps))
6558
6559(define-public sbcl-cl-prevalence
419db900
PN
6560 (let ((commit "1e5f030d94237b33d20947a2f6c194abedb10727")
6561 (revision "3"))
88f06fd0
PN
6562 (package
6563 (name "sbcl-cl-prevalence")
6564 (build-system asdf-build-system/sbcl)
6565 (version (git-version "5" revision commit))
6566 (home-page "https://github.com/40ants/cl-prevalence")
6567 (source
6568 (origin
6569 (method git-fetch)
6570 (uri (git-reference
6571 (url home-page)
6572 (commit commit)))
6573 (file-name (git-file-name name version))
6574 (sha256
6575 (base32
419db900 6576 "13yb8lv2aap5wvqa6hw7ms31xnax58f4m2nxifkssrzkb2w2qf29"))))
88f06fd0
PN
6577 (inputs
6578 `(("s-sysdeps" ,sbcl-s-sysdeps)
6579 ("s-xml" ,sbcl-s-xml)))
419db900
PN
6580 (native-inputs
6581 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
6582 (synopsis "Implementation of object prevalence for Common Lisp")
6583 (description "This Common Lisp library implements object prevalence (see
6584@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6585for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6586classes and cyclic data structures are supported.")
6587 (license license:llgpl))))
6588
6589(define-public cl-prevalence
6590 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6591
6592(define-public ecl-cl-prevalence
6593 (sbcl-package->ecl-package sbcl-cl-prevalence))
6594
6595(define-public sbcl-series
6596 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6597 (revision "1"))
6598 (package
6599 (name "sbcl-series")
6600 (version (git-version "2.2.11" revision commit))
6601 (source
6602 (origin
6603 (method git-fetch)
6604 (uri (git-reference
6605 (url "git://git.code.sf.net/p/series/series")
6606 (commit commit)))
6607 (file-name (git-file-name name version))
6608 (sha256
6609 (base32
6610 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6611 (build-system asdf-build-system/sbcl)
6612 (arguments
6613 ;; Disable the tests, they are apparently buggy and I didn't find
6614 ;; a simple way to make them run and pass.
6615 '(#:tests? #f))
6616 (synopsis "Series data structure for Common Lisp")
6617 (description
6618 "This Common Lisp library provides a series data structure much like
6619a sequence, with similar kinds of operations. The difference is that in many
6620situations, operations on series may be composed functionally and yet execute
6621iteratively, without the need to construct intermediate series values
6622explicitly. In this manner, series provide both the clarity of a functional
6623programming style and the efficiency of an iterative programming style.")
6624 (home-page "http://series.sourceforge.net/")
6625 (license license:expat))))
6626
6627(define-public cl-series
6628 (sbcl-package->cl-source-package sbcl-series))
6629
6630(define-public ecl-series
6631 (sbcl-package->ecl-package sbcl-series))
6632
6633(define-public sbcl-periods
6634 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6635 (revision "1"))
6636 (package
6637 (name "sbcl-periods")
6638 (version (git-version "0.0.2" revision commit))
6639 (source
6640 (origin
6641 (method git-fetch)
6642 (uri (git-reference
b0e7b699 6643 (url "https://github.com/jwiegley/periods")
88f06fd0
PN
6644 (commit commit)))
6645 (file-name (git-file-name name version))
6646 (sha256
6647 (base32
6648 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6649 (build-system asdf-build-system/sbcl)
6650 (inputs
6651 `(("local-time" ,sbcl-local-time)))
6652 (synopsis "Common Lisp library for manipulating date/time objects")
6653 (description
6654 "Periods is a Common Lisp library providing a set of utilities for
6655manipulating times, distances between times, and both contiguous and
6656discontiguous ranges of time.")
6657 (home-page "https://github.com/jwiegley/periods")
6658 (license license:bsd-3))))
6659
6660(define-public cl-periods
6661 (sbcl-package->cl-source-package sbcl-periods))
6662
6663(define-public ecl-periods
6664 (sbcl-package->ecl-package sbcl-periods))
6665
6666(define-public sbcl-periods-series
6667 (package
6668 (inherit sbcl-periods)
6669 (name "sbcl-periods-series")
6670 (inputs
6671 `(("periods" ,sbcl-periods)
6672 ("series" ,sbcl-series)))
6673 (arguments
6674 '(#:asd-file "periods-series.asd"
6675 #:asd-system-name "periods-series"))
6676 (description
6677 "Periods-series is an extension of the periods Common Lisp library
6678providing functions compatible with the series Common Lisp library.")))
6679
6680(define-public cl-periods-series
6681 (sbcl-package->cl-source-package sbcl-periods-series))
6682
6683(define-public ecl-periods-series
6684 (sbcl-package->ecl-package sbcl-periods-series))
6685
6686(define-public sbcl-metatilities-base
6687 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6688 (revision "1"))
6689 (package
6690 (name "sbcl-metatilities-base")
6691 (version (git-version "0.6.6" revision commit))
6692 (source
6693 (origin
6694 (method git-fetch)
6695 (uri (git-reference
b0e7b699 6696 (url "https://github.com/gwkkwg/metatilities-base")
88f06fd0
PN
6697 (commit commit)))
6698 (file-name (git-file-name name version))
6699 (sha256
6700 (base32
6701 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6702 (build-system asdf-build-system/sbcl)
6703 (native-inputs
6704 `(("lift" ,sbcl-lift)))
6705 (synopsis "Core of the metatilities Common Lisp library")
6706 (description
6707 "Metatilities-base is the core of the metatilities Common Lisp library
6708which implements a set of utilities.")
6709 (home-page "https://common-lisp.net/project/metatilities-base/")
6710 (license license:expat))))
6711
6712(define-public cl-metatilities-base
6713 (sbcl-package->cl-source-package sbcl-metatilities-base))
6714
6715(define-public ecl-metatilities-base
6716 (sbcl-package->ecl-package sbcl-metatilities-base))
6717
6718(define-public sbcl-cl-containers
0ad6ecb8
PN
6719 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6720 (revision "3"))
88f06fd0
PN
6721 (package
6722 (name "sbcl-cl-containers")
6723 (version (git-version "0.12.1" revision commit))
6724 (source
6725 (origin
6726 (method git-fetch)
6727 (uri (git-reference
b0e7b699 6728 (url "https://github.com/gwkkwg/cl-containers")
88f06fd0
PN
6729 (commit commit)))
6730 (file-name (git-file-name name version))
6731 (sha256
6732 (base32
0ad6ecb8 6733 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
88f06fd0
PN
6734 (build-system asdf-build-system/sbcl)
6735 (native-inputs
6736 `(("lift" ,sbcl-lift)))
6737 (inputs
6738 `(("metatilities-base" ,sbcl-metatilities-base)))
6739 (arguments
6740 '(#:phases
6741 (modify-phases %standard-phases
6742 (add-after 'unpack 'relax-version-checks
6743 (lambda _
6744 (substitute* "cl-containers.asd"
6745 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6746 "\"metatilities-base\""))
6747 (substitute* "cl-containers-test.asd"
6748 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6749 "\"lift\""))
6750 #t)))))
6751 (synopsis "Container library for Common Lisp")
6752 (description
6753 "Common Lisp ships with a set of powerful built in data structures
6754including the venerable list, full featured arrays, and hash-tables.
6755CL-containers enhances and builds on these structures by adding containers
6756that are not available in native Lisp (for example: binary search trees,
6757red-black trees, sparse arrays and so on), and by providing a standard
6758interface so that they are simpler to use and so that changing design
6759decisions becomes significantly easier.")
6760 (home-page "https://common-lisp.net/project/cl-containers/")
6761 (license license:expat))))
6762
6763(define-public cl-containers
6764 (sbcl-package->cl-source-package sbcl-cl-containers))
6765
6766(define-public ecl-cl-containers
6767 (sbcl-package->ecl-package sbcl-cl-containers))
6768
6769(define-public sbcl-xlunit
6770 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6771 (revision "1"))
6772 (package
6773 (name "sbcl-xlunit")
6774 (version (git-version "0.6.3" revision commit))
6775 (source
6776 (origin
6777 (method git-fetch)
6778 (uri (git-reference
6779 (url "http://git.kpe.io/xlunit.git")
6780 (commit commit)))
6781 (file-name (git-file-name name version))
6782 (sha256
6783 (base32
6784 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6785 (build-system asdf-build-system/sbcl)
6786 (arguments
6787 '(#:phases
6788 (modify-phases %standard-phases
6789 (add-after 'unpack 'fix-tests
6790 (lambda _
6791 (substitute* "xlunit.asd"
6792 ((" :force t") ""))
6793 #t)))))
6794 (synopsis "Unit testing package for Common Lisp")
6795 (description
6796 "The XLUnit package is a toolkit for building test suites. It is based
6797on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6798 (home-page "http://quickdocs.org/xlunit/")
6799 (license license:bsd-3))))
6800
6801(define-public cl-xlunit
6802 (sbcl-package->cl-source-package sbcl-xlunit))
6803
6804(define-public ecl-xlunit
6805 (sbcl-package->ecl-package sbcl-xlunit))
6806
6807(define-public sbcl-fprog
6808 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6809 (revision "1"))
6810 (package
6811 (name "sbcl-fprog")
6812 (version (git-version "1.0.0" revision commit))
6813 (source
6814 (origin
6815 (method git-fetch)
6816 (uri (git-reference
b0e7b699 6817 (url "https://github.com/jwiegley/cambl")
88f06fd0
PN
6818 (commit commit)))
6819 (file-name (git-file-name name version))
6820 (sha256
6821 (base32
6822 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6823 (build-system asdf-build-system/sbcl)
6824 (synopsis "Functional programming utilities for Common Lisp")
6825 (description
6826 "@code{fprog} is a Common Lisp library allowing iteration over
6827immutable lists sharing identical sublists.")
6828 (home-page "https://github.com/jwiegley/cambl")
6829 (license license:bsd-3))))
6830
6831(define-public cl-fprog
6832 (sbcl-package->cl-source-package sbcl-fprog))
6833
6834(define-public ecl-fprog
6835 (sbcl-package->ecl-package sbcl-fprog))
6836
6837(define-public sbcl-cambl
6838 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6839 (revision "1"))
6840 (package
6841 (inherit sbcl-fprog)
6842 (name "sbcl-cambl")
6843 (version (git-version "4.0.0" revision commit))
6844 (native-inputs
6845 `(("xlunit" ,sbcl-xlunit)))
6846 (inputs
6847 `(("alexandria" ,sbcl-alexandria)
6848 ("cl-containers" ,sbcl-cl-containers)
6849 ("local-time" ,sbcl-local-time)
6850 ("periods" ,sbcl-periods)
6851 ("fprog" ,sbcl-fprog)))
6852 (synopsis "Commoditized amounts and balances for Common Lisp")
6853 (description
6854 "CAMBL is a Common Lisp library providing a convenient facility for
6855working with commoditized values. It does not allow compound units (and so is
6856not suited for scientific operations) but does work rather nicely for the
6857purpose of financial calculations."))))
6858
6859(define-public cl-cambl
6860 (sbcl-package->cl-source-package sbcl-cambl))
6861
6862(define-public ecl-cambl
6863 (sbcl-package->ecl-package sbcl-cambl))
6864
6865(define-public sbcl-cl-ledger
6866 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6867 (revision "1"))
6868 (package
6869 (name "sbcl-cl-ledger")
6870 (version (git-version "4.0.0" revision commit))
6871 (source
6872 (origin
6873 (method git-fetch)
6874 (uri (git-reference
b0e7b699 6875 (url "https://github.com/ledger/cl-ledger")
88f06fd0
PN
6876 (commit commit)))
6877 (file-name (git-file-name name version))
6878 (sha256
6879 (base32
6880 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6881 (build-system asdf-build-system/sbcl)
6882 (inputs
6883 `(("cambl" ,sbcl-cambl)
6884 ("cl-ppcre" ,sbcl-cl-ppcre)
6885 ("local-time" ,sbcl-local-time)
6886 ("periods-series" ,sbcl-periods-series)))
6887 (arguments
6888 '(#:phases
6889 (modify-phases %standard-phases
6890 (add-after 'unpack 'fix-system-definition
6891 (lambda _
6892 (substitute* "cl-ledger.asd"
6893 ((" :build-operation program-op") "")
6894 ((" :build-pathname \"cl-ledger\"") "")
6895 ((" :entry-point \"ledger::main\"") ""))
6896 #t)))))
6897 (synopsis "Common Lisp port of the Ledger accounting system")
6898 (description
6899 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6900system.")
6901 (home-page "https://github.com/ledger/cl-ledger")
6902 (license license:bsd-3))))
6903
6904(define-public cl-ledger
6905 (sbcl-package->cl-source-package sbcl-cl-ledger))
6906
6907(define-public ecl-cl-ledger
6908 (sbcl-package->ecl-package sbcl-cl-ledger))
6909
6910(define-public sbcl-bst
6911 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6912 (revision "1"))
6913 (package
6914 (name "sbcl-bst")
6915 (version (git-version "1.1" revision commit))
6916 (source
6917 (origin
6918 (method git-fetch)
6919 (uri (git-reference
b0e7b699 6920 (url "https://github.com/glv2/bst")
88f06fd0
PN
6921 (commit commit)))
6922 (file-name (git-file-name name version))
6923 (sha256
6924 (base32
6925 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6926 (build-system asdf-build-system/sbcl)
6927 (native-inputs
6928 `(("alexandria" ,sbcl-alexandria)
6929 ("fiveam" ,sbcl-fiveam)))
6930 (synopsis "Binary search tree for Common Lisp")
6931 (description
6932 "BST is a Common Lisp library for working with binary search trees that
6933can contain any kind of values.")
6934 (home-page "https://github.com/glv2/bst")
6935 (license license:gpl3))))
6936
6937(define-public cl-bst
6938 (sbcl-package->cl-source-package sbcl-bst))
6939
6940(define-public ecl-bst
6941 (sbcl-package->ecl-package sbcl-bst))
6942
6943(define-public sbcl-cl-octet-streams
6944 (package
6945 (name "sbcl-cl-octet-streams")
6946 (version "1.0")
6947 (source
6948 (origin
6949 (method git-fetch)
6950 (uri (git-reference
b0e7b699 6951 (url "https://github.com/glv2/cl-octet-streams")
88f06fd0
PN
6952 (commit (string-append "v" version))))
6953 (file-name (git-file-name name version))
6954 (sha256
6955 (base32
6956 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6957 (build-system asdf-build-system/sbcl)
6958 (native-inputs
6959 `(("fiveam" ,sbcl-fiveam)))
6960 (inputs
6961 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6962 (synopsis "In-memory octet streams for Common Lisp")
6963 (description
6964 "CL-octet-streams is a library implementing in-memory octet
6965streams for Common Lisp. It was inspired by the trivial-octet-streams and
6966cl-plumbing libraries.")
6967 (home-page "https://github.com/glv2/cl-octet-streams")
6968 (license license:gpl3+)))
6969
6970(define-public cl-octet-streams
6971 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6972
6973(define-public ecl-cl-octet-streams
6974 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6975
6976(define-public sbcl-lzlib
6977 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6978 (revision "1"))
6979 (package
6980 (name "sbcl-lzlib")
6981 (version (git-version "1.0" revision commit))
6982 (source
6983 (origin
6984 (method git-fetch)
6985 (uri (git-reference
b0e7b699 6986 (url "https://github.com/glv2/cl-lzlib")
88f06fd0
PN
6987 (commit commit)))
6988 (file-name (git-file-name name version))
6989 (sha256
6990 (base32
6991 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6992 (build-system asdf-build-system/sbcl)
6993 (native-inputs
6994 `(("fiveam" ,sbcl-fiveam)))
6995 (inputs
6996 `(("cffi" ,sbcl-cffi)
6997 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6998 ("lzlib" ,lzlib)))
6999 (arguments
7000 '(#:phases
7001 (modify-phases %standard-phases
7002 (add-after 'unpack 'fix-paths
7003 (lambda* (#:key inputs #:allow-other-keys)
7004 (substitute* "src/lzlib.lisp"
7005 (("liblz\\.so")
7006 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7007 #t)))))
7008 (synopsis "Common Lisp library for lzip (de)compression")
7009 (description
7010 "This Common Lisp library provides functions for lzip (LZMA)
7011compression/decompression using bindings to the lzlib C library.")
7012 (home-page "https://github.com/glv2/cl-lzlib")
7013 (license license:gpl3+))))
7014
7015(define-public cl-lzlib
7016 (sbcl-package->cl-source-package sbcl-lzlib))
7017
7018(define-public ecl-lzlib
7019 (sbcl-package->ecl-package sbcl-lzlib))
7020
7021(define-public sbcl-chanl
00a9a936
GLV
7022 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7023 (revision "1"))
88f06fd0
PN
7024 (package
7025 (name "sbcl-chanl")
7026 (version (git-version "0.4.1" revision commit))
7027 (source
7028 (origin
7029 (method git-fetch)
7030 (uri (git-reference
b0e7b699 7031 (url "https://github.com/zkat/chanl")
88f06fd0
PN
7032 (commit commit)))
7033 (file-name (git-file-name name version))
7034 (sha256
7035 (base32
00a9a936 7036 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
7037 (build-system asdf-build-system/sbcl)
7038 (native-inputs
7039 `(("fiveam" ,sbcl-fiveam)))
7040 (inputs
7041 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7042 (synopsis "Portable channel-based concurrency for Common Lisp")
7043 (description "Common Lisp library for channel-based concurrency. In
7044a nutshell, you create various threads sequentially executing tasks you need
7045done, and use channel objects to communicate and synchronize the state of these
7046threads.")
7047 (home-page "https://github.com/zkat/chanl")
7048 (license (list license:expat license:bsd-3)))))
7049
7050(define-public cl-chanl
7051 (sbcl-package->cl-source-package sbcl-chanl))
7052
7053(define-public ecl-chanl
00a9a936 7054 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
7055
7056(define-public sbcl-cl-store
1896256d
BG
7057 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7058 (revision "1"))
88f06fd0
PN
7059 (package
7060 (name "sbcl-cl-store")
7061 (version (git-version "0.8.11" revision commit))
7062 (source
7063 (origin
7064 (method git-fetch)
7065 (uri (git-reference
b0e7b699 7066 (url "https://github.com/skypher/cl-store")
88f06fd0
PN
7067 (commit commit)))
7068 (file-name (git-file-name name version))
7069 (sha256
7070 (base32
1896256d 7071 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
7072 (build-system asdf-build-system/sbcl)
7073 (native-inputs
7074 `(("rt" ,sbcl-rt)))
7075 (synopsis "Common Lisp library to serialize data")
7076 (description
7077 "CL-STORE is a portable serialization package which should give you the
7078ability to store all Common Lisp data types into streams.")
630a4b77 7079 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
7080 (license license:expat))))
7081
7082(define-public cl-store
7083 (sbcl-package->cl-source-package sbcl-cl-store))
7084
7085(define-public ecl-cl-store
7086 (sbcl-package->ecl-package sbcl-cl-store))
7087
7088(define-public sbcl-cl-gobject-introspection
7089 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7090 (revision "0"))
7091 (package
7092 (name "sbcl-cl-gobject-introspection")
7093 (version (git-version "0.3" revision commit))
7094 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7095 (source
7096 (origin
7097 (method git-fetch)
7098 (uri (git-reference
7099 (url home-page)
7100 (commit commit)))
7101 (file-name (git-file-name name version))
7102 (sha256
7103 (base32
7104 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7105 (build-system asdf-build-system/sbcl)
7106 (inputs
7107 `(("alexandria" ,sbcl-alexandria)
7108 ("cffi" ,sbcl-cffi)
7109 ("iterate" ,sbcl-iterate)
7110 ("trivial-garbage" ,sbcl-trivial-garbage)
7111 ("glib" ,glib)
7112 ("gobject-introspection" ,gobject-introspection)))
7113 (native-inputs
7114 `(("fiveam" ,sbcl-fiveam)))
7115 (arguments
7116 ;; TODO: Tests fail, see
7117 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7118 '(#:tests? #f
7119 #:phases
7120 (modify-phases %standard-phases
7121 (add-after (quote unpack) (quote fix-paths)
7122 (lambda* (#:key inputs #:allow-other-keys)
7123 (substitute* "src/init.lisp"
7124 (("libgobject-2\\.0\\.so")
7125 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7126 (("libgirepository-1\\.0\\.so")
7127 (string-append (assoc-ref inputs "gobject-introspection")
7128 "/lib/libgirepository-1.0.so")))
7129 #t)))))
7130 (synopsis "Common Lisp bindings to GObject Introspection")
7131 (description
7132 "This library is a bridge between Common Lisp and GObject
7133Introspection, which enables Common Lisp programs to access the full interface
7134of C+GObject libraries without the need of writing dedicated bindings.")
7135 (license (list license:bsd-3
7136 ;; Tests are under a different license.
7137 license:llgpl)))))
7138
7139(define-public cl-gobject-introspection
7140 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7141
7142(define-public sbcl-string-case
7143 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7144 (revision "0"))
7145 (package
7146 (name "sbcl-string-case")
7147 (version (git-version "0.0.2" revision commit))
7148 (home-page "https://github.com/pkhuong/string-case")
7149 (source
7150 (origin
7151 (method git-fetch)
7152 (uri (git-reference
7153 (url home-page)
7154 (commit commit)))
7155 (file-name (git-file-name name version))
7156 (sha256
7157 (base32
7158 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7159 (build-system asdf-build-system/sbcl)
7160 (synopsis "Efficient string= case in Common Lisp")
7161 (description
7162 "@code{string-case} is a Common Lisp macro that generates specialised decision
7163trees to dispatch on string equality.")
7164 (license license:bsd-3))))
7165
7166(define-public cl-string-case
7167 (sbcl-package->cl-source-package sbcl-string-case))
7168
7169(define-public ecl-string-case
7170 (sbcl-package->ecl-package sbcl-string-case))
7171
7172(define-public sbcl-global-vars
7173 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7174 (revision "0"))
7175 (package
7176 (name "sbcl-global-vars")
7177 (version (git-version "1.0.0" revision commit))
7178 (home-page "https://github.com/lmj/global-vars")
7179 (source
7180 (origin
7181 (method git-fetch)
7182 (uri (git-reference
7183 (url home-page)
7184 (commit commit)))
7185 (file-name (git-file-name name version))
7186 (sha256
7187 (base32
7188 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7189 (build-system asdf-build-system/sbcl)
7190 (synopsis "Efficient global variables in Common Lisp")
7191 (description
7192 "In Common Lisp, a special variable that is never dynamically bound
7193typically serves as a stand-in for a global variable. The @code{global-vars}
7194library provides true global variables that are implemented by some compilers.
7195An attempt to rebind a global variable properly results in a compiler error.
7196That is, a global variable cannot be dynamically bound.
7197
7198Global variables therefore allow us to communicate an intended usage that
7199differs from special variables. Global variables are also more efficient than
7200special variables, especially in the presence of threads.")
7201 (license license:expat))))
7202
7203(define-public cl-global-vars
7204 (sbcl-package->cl-source-package sbcl-global-vars))
7205
7206(define-public ecl-global-vars
7207 (sbcl-package->ecl-package sbcl-global-vars))
7208
7209(define-public sbcl-trivial-file-size
7210 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7211 (revision "0"))
7212 (package
7213 (name "sbcl-trivial-file-size")
7214 (version (git-version "0.0.0" revision commit))
7215 (home-page "https://github.com/ruricolist/trivial-file-size")
7216 (source
7217 (origin
7218 (method git-fetch)
7219 (uri (git-reference
7220 (url home-page)
7221 (commit commit)))
7222 (file-name (git-file-name name version))
7223 (sha256
7224 (base32
7225 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7226 (build-system asdf-build-system/sbcl)
7227 (native-inputs
7228 `(("fiveam" ,sbcl-fiveam)))
7229 (synopsis "Size of a file in bytes in Common Lisp")
7230 (description
7231 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7232is to open the file with an element type of (unsigned-byte 8) and then
7233calculate the length of the stream. This is less than ideal. In most cases
7234it is better to get the size of the file from its metadata, using a system
7235call.
7236
7237This library exports a single function, file-size-in-octets. It returns the
7238size of a file in bytes, using system calls when possible.")
7239 (license license:expat))))
7240
7241(define-public cl-trivial-file-size
7242 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7243
7244(define-public ecl-trivial-file-size
7245 (sbcl-package->ecl-package sbcl-trivial-file-size))
7246
7247(define-public sbcl-trivial-macroexpand-all
7248 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7249 (revision "0"))
7250 (package
7251 (name "sbcl-trivial-macroexpand-all")
7252 (version (git-version "0.0.0" revision commit))
7253 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7254 (source
7255 (origin
7256 (method git-fetch)
7257 (uri (git-reference
7258 (url home-page)
7259 (commit commit)))
7260 (file-name (git-file-name name version))
7261 (sha256
7262 (base32
7263 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7264 (build-system asdf-build-system/sbcl)
7265 (native-inputs
7266 `(("fiveam" ,sbcl-fiveam)))
7267 (synopsis "Portable macroexpand-all for Common Lisp")
7268 (description
7269 "This library provides a macroexpand-all function that calls the
7270implementation specific equivalent.")
7271 (license license:unlicense))))
7272
7273(define-public cl-trivial-macroexpand-all
7274 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7275
7276(define-public ecl-trivial-macroexpand-all
7277 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7278
7279(define-public sbcl-serapeum
14546abb
PN
7280 (let ((commit "a2ca90cbdcb9f76c2822286110c7abe9ba5b76c2")
7281 (revision "2"))
88f06fd0
PN
7282 (package
7283 (name "sbcl-serapeum")
7284 (version (git-version "0.0.0" revision commit))
7285 (home-page "https://github.com/ruricolist/serapeum")
7286 (source
7287 (origin
7288 (method git-fetch)
7289 (uri (git-reference
7290 (url home-page)
7291 (commit commit)))
7292 (file-name (git-file-name name version))
7293 (sha256
7294 (base32
14546abb 7295 "1lrk2kf7qh5g6f8xvyg8wf89frzb5mw6m1jzgy46jy744f459i8q"))))
88f06fd0
PN
7296 (build-system asdf-build-system/sbcl)
7297 (inputs
7298 `(("alexandria" ,sbcl-alexandria)
7299 ("trivia" ,sbcl-trivia)
7300 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7301 ("split-sequence" ,sbcl-split-sequence)
7302 ("string-case" ,sbcl-string-case)
7303 ("parse-number" ,sbcl-parse-number)
7304 ("trivial-garbage" ,sbcl-trivial-garbage)
7305 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7306 ("named-readtables" ,sbcl-named-readtables)
8137983a 7307 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
88f06fd0
PN
7308 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7309 ("global-vars" ,sbcl-global-vars)
7310 ("trivial-file-size" ,sbcl-trivial-file-size)
7311 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7312 (native-inputs
7313 `(("fiveam" ,sbcl-fiveam)
7314 ("local-time" ,sbcl-local-time)))
7315 (arguments
7316 '(#:phases
7317 (modify-phases %standard-phases
7318 (add-after 'unpack 'disable-failing-tests
7319 (lambda* (#:key inputs #:allow-other-keys)
7320 (substitute* "serapeum.asd"
7321 ;; Guix does not have Quicklisp, and probably never will.
7322 (("\\(:file \"quicklisp\"\\)") ""))
7323 #t)))))
7324 (synopsis "Common Lisp utility library beyond Alexandria")
7325 (description
7326 "Serapeum is a conservative library of Common Lisp utilities. It is a
7327supplement, not a competitor, to Alexandria.")
7328 (license license:expat))))
7329
7330(define-public cl-serapeum
7331 (sbcl-package->cl-source-package sbcl-serapeum))
7332
7333(define-public sbcl-arrows
7334 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7335 (revision "0"))
7336 (package
7337 (name "sbcl-arrows")
7338 (version (git-version "0.2.0" revision commit))
7339 (source
7340 (origin
7341 (method git-fetch)
7342 (uri (git-reference
7343 (url "https://gitlab.com/Harleqin/arrows.git")
7344 (commit commit)))
7345 (file-name (git-file-name name version))
7346 (sha256
7347 (base32
7348 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7349 (build-system asdf-build-system/sbcl)
7350 (native-inputs
7351 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7352 (synopsis "Clojure-like arrow macros for Common Lisp")
7353 (description
7354 "This library implements the @code{->} and @code{->>} macros from
7355Clojure, as well as several expansions on the idea.")
7356 (home-page "https://gitlab.com/Harleqin/arrows")
7357 (license license:public-domain))))
7358
7359(define-public cl-arrows
7360 (sbcl-package->cl-source-package sbcl-arrows))
7361
7362(define-public ecl-arrows
7363 (sbcl-package->ecl-package sbcl-arrows))
7364
7365(define-public sbcl-simple-parallel-tasks
7366 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7367 (revision "0"))
7368 (package
7369 (name "sbcl-simple-parallel-tasks")
7370 (version (git-version "1.0" revision commit))
7371 (source
7372 (origin
7373 (method git-fetch)
7374 (uri (git-reference
b0e7b699 7375 (url "https://github.com/glv2/simple-parallel-tasks")
88f06fd0
PN
7376 (commit commit)))
7377 (file-name (git-file-name name version))
7378 (sha256
7379 (base32
7380 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7381 (build-system asdf-build-system/sbcl)
7382 (native-inputs
7383 `(("fiveam" ,sbcl-fiveam)))
7384 (inputs
7385 `(("chanl" ,sbcl-chanl)))
7386 (synopsis "Common Lisp library to evaluate some forms in parallel")
7387 (description "This is a simple Common Lisp library to evaluate some
7388forms in parallel.")
7389 (home-page "https://github.com/glv2/simple-parallel-tasks")
7390 (license license:gpl3))))
7391
7392(define-public cl-simple-parallel-tasks
7393 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7394
7395(define-public ecl-simple-parallel-tasks
7396 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7397
7398(define-public sbcl-cl-heap
7399 (package
7400 (name "sbcl-cl-heap")
7401 (version "0.1.6")
7402 (source
7403 (origin
7404 (method url-fetch)
7405 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7406 "cl-heap_" version ".tar.gz"))
7407 (sha256
7408 (base32
7409 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7410 (build-system asdf-build-system/sbcl)
7411 (native-inputs
7412 `(("xlunit" ,sbcl-xlunit)))
7413 (arguments
7414 `(#:test-asd-file "cl-heap-tests.asd"))
7415 (synopsis "Heap and priority queue data structures for Common Lisp")
7416 (description
7417 "CL-HEAP provides various implementations of heap data structures (a
7418binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7419 (home-page "https://common-lisp.net/project/cl-heap/")
7420 (license license:gpl3+)))
7421
7422(define-public cl-heap
7423 (sbcl-package->cl-source-package sbcl-cl-heap))
7424
7425(define-public ecl-cl-heap
7426 (sbcl-package->ecl-package sbcl-cl-heap))
7427
7428(define-public sbcl-curry-compose-reader-macros
7429 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7430 (revision "0"))
7431 (package
7432 (name "sbcl-curry-compose-reader-macros")
7433 (version (git-version "1.0.0" revision commit))
7434 (source
7435 (origin
7436 (method git-fetch)
7437 (uri
7438 (git-reference
b0e7b699 7439 (url "https://github.com/eschulte/curry-compose-reader-macros")
88f06fd0
PN
7440 (commit commit)))
7441 (file-name (git-file-name name version))
7442 (sha256
7443 (base32
7444 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7445 (build-system asdf-build-system/sbcl)
7446 (inputs
7447 `(("alexandria" ,sbcl-alexandria)
7448 ("named-readtables" ,sbcl-named-readtables)))
7449 (synopsis "Reader macros for partial application and composition")
7450 (description
7451 "This Common Lisp library provides reader macros for concise expression
7452of function partial application and composition.")
7453 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7454 (license license:public-domain))))
7455
7456(define-public cl-curry-compose-reader-macros
7457 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7458
7459(define-public ecl-curry-compose-reader-macros
7460 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7461
7462(define-public sbcl-yason
7463 (package
7464 (name "sbcl-yason")
7465 (version "0.7.7")
7466 (source
7467 (origin
7468 (method git-fetch)
7469 (uri (git-reference
b0e7b699 7470 (url "https://github.com/phmarek/yason")
88f06fd0
PN
7471 (commit (string-append "v" version))))
7472 (file-name (git-file-name name version))
7473 (sha256
7474 (base32
7475 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7476 (build-system asdf-build-system/sbcl)
7477 (inputs
7478 `(("alexandria" ,sbcl-alexandria)
7479 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7480 (synopsis "Common Lisp JSON parser/encoder")
7481 (description
7482 "YASON is a Common Lisp library for encoding and decoding data in the
7483JSON interchange format.")
7484 (home-page "https://github.com/phmarek/yason")
7485 (license license:bsd-3)))
7486
7487(define-public cl-yason
7488 (sbcl-package->cl-source-package sbcl-yason))
7489
7490(define-public ecl-yason
7491 (sbcl-package->ecl-package sbcl-yason))
7492
7493(define-public sbcl-stefil
7494 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7495 (revision "0"))
7496 (package
7497 (name "sbcl-stefil")
7498 (version (git-version "0.1" revision commit))
7499 (source
7500 (origin
7501 (method git-fetch)
7502 (uri (git-reference
7503 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7504 (commit commit)))
7505 (file-name (git-file-name name version))
7506 (sha256
7507 (base32
7508 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7509 (build-system asdf-build-system/sbcl)
7510 (inputs
7511 `(("alexandria" ,sbcl-alexandria)
7512 ("iterate" ,sbcl-iterate)
7513 ("metabang-bind" ,sbcl-metabang-bind)))
7514 (propagated-inputs
7515 ;; Swank doesn't have a pre-compiled package, therefore we must
7516 ;; propagate its sources.
7517 `(("swank" ,cl-slime-swank)))
7518 (arguments
7519 '(#:phases
7520 (modify-phases %standard-phases
7521 (add-after 'unpack 'drop-unnecessary-dependency
7522 (lambda _
7523 (substitute* "package.lisp"
7524 ((":stefil-system") ""))
7525 #t)))))
7526 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7527 (synopsis "Simple test framework")
7528 (description
7529 "Stefil is a simple test framework for Common Lisp, with a focus on
7530interactive development.")
7531 (license license:public-domain))))
7532
7533(define-public cl-stefil
7534 (sbcl-package->cl-source-package sbcl-stefil))
7535
7536(define-public sbcl-graph
7537 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7538 (revision "0"))
7539 (package
7540 (name "sbcl-graph")
7541 (version (git-version "0.0.0" revision commit))
7542 (source
7543 (origin
7544 (method git-fetch)
7545 (uri
7546 (git-reference
b0e7b699 7547 (url "https://github.com/eschulte/graph")
88f06fd0
PN
7548 (commit commit)))
7549 (file-name (git-file-name name version))
7550 (sha256
7551 (base32
7552 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7553 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7554 (build-system asdf-build-system/sbcl)
7555 (native-inputs
7556 `(("stefil" ,sbcl-stefil)))
7557 (inputs
7558 `(("alexandria" ,sbcl-alexandria)
7559 ("cl-heap" ,sbcl-cl-heap)
7560 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7561 ("metabang-bind" ,sbcl-metabang-bind)
7562 ("named-readtables" ,sbcl-named-readtables)))
7563 (arguments
17c015c9 7564 '(#:test-asd-file "graph-test.asd"))
88f06fd0
PN
7565 (synopsis "Graph data structure and algorithms for Common Lisp")
7566 (description
7567 "The GRAPH Common Lisp library provides a data structures to represent
7568graphs, as well as some graph manipulation and analysis algorithms (shortest
7569path, maximum flow, minimum spanning tree, etc.).")
7570 (home-page "https://eschulte.github.io/graph/")
7571 (license license:gpl3+))))
7572
7573(define-public cl-graph
7574 (sbcl-package->cl-source-package sbcl-graph))
7575
7576(define-public sbcl-graph-dot
7577 (package
7578 (inherit sbcl-graph)
7579 (name "sbcl-graph-dot")
7580 (inputs
7581 `(("alexandria" ,sbcl-alexandria)
7582 ("cl-ppcre" ,sbcl-cl-ppcre)
7583 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7584 ("graph" ,sbcl-graph)
7585 ("metabang-bind" ,sbcl-metabang-bind)
7586 ("named-readtables" ,sbcl-named-readtables)))
7587 (arguments
7588 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7589 ((#:asd-file _ "") "graph-dot.asd")
88f06fd0
PN
7590 ((#:asd-system-name _ #f) "graph-dot")))
7591 (synopsis "Serialize graphs to and from DOT format")))
7592
7593(define-public sbcl-graph-json
7594 (package
7595 (inherit sbcl-graph)
7596 (name "sbcl-graph-json")
7597 (inputs
7598 `(("alexandria" ,sbcl-alexandria)
7599 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7600 ("graph" ,sbcl-graph)
7601 ("metabang-bind" ,sbcl-metabang-bind)
7602 ("named-readtables" ,sbcl-named-readtables)
7603 ("yason" ,sbcl-yason)))
7604 (arguments
7605 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7606 ((#:asd-file _ "") "graph-json.asd")
88f06fd0
PN
7607 ((#:asd-system-name _ #f) "graph-json")))
7608 (synopsis "Serialize graphs to and from JSON format")))
3029b585
PN
7609
7610(define-public sbcl-trivial-indent
7611 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7612 (revision "0"))
7613 (package
7614 (name "sbcl-trivial-indent")
7615 (version (git-version "1.0.0" revision commit))
7616 (source
7617 (origin
7618 (method git-fetch)
7619 (uri
7620 (git-reference
7621 (url "https://github.com/Shinmera/trivial-indent")
7622 (commit commit)))
7623 (file-name (git-file-name name version))
7624 (sha256
7625 (base32
7626 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7627 (build-system asdf-build-system/sbcl)
7628 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7629 (description
7630 "This library allows you to define custom indentation hints for your
7631macros if the one recognised by SLIME automatically produces unwanted
7632results.")
7633 (home-page "https://shinmera.github.io/trivial-indent/")
7634 (license license:zlib))))
7635
7636(define-public cl-trivial-indent
7637 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f
PN
7638
7639(define-public sbcl-documentation-utils
7640 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7641 (revision "0"))
7642 (package
7643 (name "sbcl-documentation-utils")
7644 (version (git-version "1.2.0" revision commit))
7645 (source
7646 (origin
7647 (method git-fetch)
7648 (uri
7649 (git-reference
b0e7b699 7650 (url "https://github.com/Shinmera/documentation-utils")
8dc5ff8f
PN
7651 (commit commit)))
7652 (file-name (git-file-name name version))
7653 (sha256
7654 (base32
7655 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7656 (build-system asdf-build-system/sbcl)
7657 (inputs
7658 `(("trivial-indent" ,sbcl-trivial-indent)))
7659 (synopsis "Few simple tools to document Common Lisp libraries")
7660 (description
7661 "This is a small library to help you with managing the Common Lisp
7662docstrings for your library.")
7663 (home-page "https://shinmera.github.io/documentation-utils/")
7664 (license license:zlib))))
7665
7666(define-public cl-documentation-utils
7667 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7668
281537f4
GLV
7669(define-public ecl-documentation-utils
7670 (sbcl-package->ecl-package sbcl-documentation-utils))
7671
aa47c9e7
PN
7672(define-public sbcl-form-fiddle
7673 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7674 (revision "0"))
7675 (package
7676 (name "sbcl-form-fiddle")
7677 (version (git-version "1.1.0" revision commit))
7678 (source
7679 (origin
7680 (method git-fetch)
7681 (uri
7682 (git-reference
7683 (url "https://github.com/Shinmera/form-fiddle")
7684 (commit commit)))
7685 (file-name (git-file-name name version))
7686 (sha256
7687 (base32
7688 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7689 (build-system asdf-build-system/sbcl)
7690 (inputs
7691 `(("documentation-utils" ,sbcl-documentation-utils)))
7692 (synopsis "Utilities to destructure Common Lisp lambda forms")
7693 (description
7694 "Often times we need to destructure a form definition in a Common Lisp
7695macro. This library provides a set of simple utilities to help with that.")
7696 (home-page "https://shinmera.github.io/form-fiddle/")
7697 (license license:zlib))))
7698
7699(define-public cl-form-fiddle
7700 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13
PN
7701
7702(define-public sbcl-parachute
7703 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7704 (revision "0"))
7705 (package
7706 (name "sbcl-parachute")
7707 (version (git-version "1.1.1" revision commit))
7708 (source
7709 (origin
7710 (method git-fetch)
7711 (uri
7712 (git-reference
7713 (url "https://github.com/Shinmera/parachute")
7714 (commit commit)))
7715 (file-name (git-file-name name version))
7716 (sha256
7717 (base32
7718 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7719 (build-system asdf-build-system/sbcl)
7720 (inputs
7721 `(("documentation-utils" ,sbcl-documentation-utils)
7722 ("form-fiddle" ,sbcl-form-fiddle)))
7723 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7724 (description
7725 "Parachute is a simple-to-use and extensible testing framework.
7726In Parachute, things are organised as a bunch of named tests within a package.
7727Each test can contain a bunch of test forms that make up its body.")
7728 (home-page "https://shinmera.github.io/parachute/")
7729 (license license:zlib))))
7730
7731(define-public cl-parachute
7732 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68
PN
7733
7734(define-public sbcl-array-utils
7735 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7736 (revision "0"))
7737 (package
7738 (name "sbcl-array-utils")
7739 (version (git-version "1.1.1" revision commit))
7740 (source
7741 (origin
7742 (method git-fetch)
7743 (uri
7744 (git-reference
7745 (url "https://github.com/Shinmera/array-utils")
7746 (commit commit)))
7747 (file-name (git-file-name name version))
7748 (sha256
7749 (base32
7750 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7751 (build-system asdf-build-system/sbcl)
7752 (native-inputs
7753 `(("parachute" ,sbcl-parachute)))
7754 (inputs
7755 `(("documentation-utils" ,sbcl-documentation-utils)))
7756 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7757 (description
7758 "A miniature toolkit that contains some useful shifting/popping/pushing
7759functions for arrays and vectors. Originally from Plump.")
7760 (home-page "https://shinmera.github.io/array-utils/")
7761 (license license:zlib))))
7762
7763(define-public cl-array-utils
7764 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4
PN
7765
7766(define-public sbcl-plump
ef4a5a85
PN
7767 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7768 (revision "1"))
cbda07d4
PN
7769 (package
7770 (name "sbcl-plump")
7771 (version (git-version "2.0.0" revision commit))
7772 (source
7773 (origin
7774 (method git-fetch)
7775 (uri
7776 (git-reference
7777 (url "https://github.com/Shinmera/plump")
7778 (commit commit)))
7779 (file-name (git-file-name name version))
7780 (sha256
7781 (base32
ef4a5a85 7782 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
cbda07d4
PN
7783 (build-system asdf-build-system/sbcl)
7784 (inputs
7785 `(("array-utils" ,sbcl-array-utils)
7786 ("documentation-utils" ,sbcl-documentation-utils)))
7787 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7788 (description
7789 "Plump is a parser for HTML/XML-like documents, focusing on being
7790lenient towards invalid markup. It can handle things like invalid attributes,
7791bad closing tag order, unencoded entities, inexistent tag types, self-closing
7792tags and so on. It parses documents to a class representation and offers a
7793small set of DOM functions to manipulate it. It can be extended to parse to
7794your own classes.")
7795 (home-page "https://shinmera.github.io/plump/")
7796 (license license:zlib))))
7797
7798(define-public cl-plump
7799 (sbcl-package->cl-source-package sbcl-plump))
20972e4e
KCB
7800
7801(define-public sbcl-antik-base
7802 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7803 (revision "1"))
7804 (package
7805 (name "sbcl-antik-base")
7806 (version (git-version "0.0.0" revision commit))
7807 (source
7808 (origin
7809 (method git-fetch)
7810 (uri (git-reference
7811 (url "https://gitlab.common-lisp.net/antik/antik.git")
7812 (commit commit)))
7813 (file-name (git-file-name name version))
7814 (sha256
7815 (base32
7816 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7817 (build-system asdf-build-system/sbcl)
7818 (inputs
7819 `(("alexandria" ,sbcl-alexandria)
7820 ("cl-ppcre" ,sbcl-cl-ppcre)
7821 ("iterate" ,sbcl-iterate)
7822 ("metabang-bind" ,sbcl-metabang-bind)
7823 ("named-readtables" ,sbcl-named-readtables)
7824 ("split-sequence" ,sbcl-split-sequence)))
7825 (native-inputs
7826 `(("lisp-unit" ,sbcl-lisp-unit)))
7827 (synopsis "Scientific and engineering computation in Common Lisp")
7828 (description
7829 "Antik provides a foundation for scientific and engineering
7830computation in Common Lisp. It is designed not only to facilitate
7831numerical computations, but to permit the use of numerical computation
7832libraries and the interchange of data and procedures, whether
7833foreign (non-Lisp) or Lisp libraries. It is named after the
7834Antikythera mechanism, one of the oldest examples of a scientific
7835computer known.")
7836 (home-page "https://common-lisp.net/project/antik/")
7837 (license license:gpl3))))
7838
7839(define-public cl-antik-base
7840 (sbcl-package->cl-source-package sbcl-antik-base))
7841
7842(define-public ecl-antik-base
7843 (sbcl-package->ecl-package sbcl-antik-base))
29411ae4
KCB
7844
7845(define-public sbcl-foreign-array
7846 (package
7847 (inherit sbcl-antik-base)
7848 (name "sbcl-foreign-array")
7849 (arguments
7850 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7851 ((#:asd-file _ "") "foreign-array.asd")
7852 ((#:asd-system-name _ #f) "foreign-array")))
7853 (inputs
7854 `(("antik-base" ,sbcl-antik-base)
7855 ("cffi" ,sbcl-cffi)
7856 ("trivial-garbage" ,sbcl-trivial-garbage)
7857 ("static-vectors" ,sbcl-static-vectors)))
7858 (synopsis "Common Lisp library providing access to foreign arrays")))
7859
7860(define-public cl-foreign-array
7861 (sbcl-package->cl-source-package sbcl-foreign-array))
7862
7863(define-public ecl-foreign-array
7864 (sbcl-package->ecl-package sbcl-foreign-array))
f67e34db
KCB
7865
7866(define-public sbcl-physical-dimension
7867 (package
7868 (inherit sbcl-antik-base)
7869 (name "sbcl-physical-dimension")
7870 (inputs
7871 `(("fare-utils" ,sbcl-fare-utils)
7872 ("foreign-array" ,sbcl-foreign-array)
7873 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7874 (arguments
7875 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7876 ((#:asd-file _ "") "physical-dimension.asd")
7877 ((#:asd-system-name _ #f) "physical-dimension")))
7878 (synopsis
7879 "Common Lisp library providing computations with physical units")))
7880
7881(define-public cl-physical-dimension
7882 (sbcl-package->cl-source-package sbcl-physical-dimension))
812d0618
KCB
7883
7884(define-public sbcl-science-data
7885 (package
7886 (inherit sbcl-antik-base)
7887 (name "sbcl-science-data")
7888 (inputs
7889 `(("physical-dimension" ,sbcl-physical-dimension)
7890 ("drakma" ,sbcl-drakma)))
7891 (arguments
7892 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7893 ((#:asd-file _ "") "science-data.asd")
7894 ((#:asd-system-name _ #f) "science-data")))
7895 (synopsis
7896 "Common Lisp library for scientific and engineering numerical data")))
7897
7898(define-public cl-science-data
7899 (sbcl-package->cl-source-package sbcl-science-data))
064dbb71
KCB
7900
7901(define-public sbcl-gsll
7902 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7903 (revision "1"))
7904 (package
7905 (name "sbcl-gsll")
7906 (version (git-version "0.0.0" revision commit))
7907 (source
7908 (origin
7909 (method git-fetch)
7910 (uri (git-reference
7911 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7912 (commit commit)))
7913 (file-name (git-file-name name version))
7914 (sha256
7915 (base32
7916 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7917 (build-system asdf-build-system/sbcl)
7918 (native-inputs
7919 `(("lisp-unit" ,sbcl-lisp-unit)))
7920 (inputs
7921 `(("alexandria" ,sbcl-alexandria)
7922 ("cffi-grovel" ,sbcl-cffi-grovel)
7923 ("cffi-libffi" ,sbcl-cffi-libffi)
7924 ("foreign-array" ,sbcl-foreign-array)
7925 ("gsl" ,gsl)
7926 ("metabang-bind" ,sbcl-metabang-bind)
7927 ("trivial-features" ,sbcl-trivial-features)
7928 ("trivial-garbage" ,sbcl-trivial-garbage)))
7929 (arguments
7930 `(#:tests? #f
7931 #:phases
7932 (modify-phases %standard-phases
7933 (add-after 'unpack 'fix-cffi-paths
7934 (lambda* (#:key inputs #:allow-other-keys)
7935 (substitute* "gsll.asd"
7936 ((":depends-on \\(#:foreign-array")
7937 ":depends-on (#:foreign-array #:cffi-libffi"))
7938 (substitute* "init/init.lisp"
7939 (("libgslcblas.so" all)
7940 (string-append
7941 (assoc-ref inputs "gsl") "/lib/" all)))
7942 (substitute* "init/init.lisp"
7943 (("libgsl.so" all)
7944 (string-append
7945 (assoc-ref inputs "gsl") "/lib/" all))))))))
7946 (synopsis "GNU Scientific Library for Lisp")
7947 (description
7948 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7949GNU Scientific Library (GSL) from Common Lisp. This library provides a
7950full range of common mathematical operations useful to scientific and
7951engineering applications. The design of the GSLL interface is such
7952that access to most of the GSL library is possible in a Lisp-natural
7953way; the intent is that the user not be hampered by the restrictions
7954of the C language in which GSL has been written. GSLL thus provides
7955interactive use of GSL for getting quick answers, even for someone not
7956intending to program in Lisp.")
7957 (home-page "https://common-lisp.net/project/gsll/")
7958 (license license:gpl3))))
7959
7960(define-public cl-gsll
7961 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca
KCB
7962
7963(define-public sbcl-antik
7964 (package
7965 (inherit sbcl-antik-base)
7966 (name "sbcl-antik")
7967 (inputs
7968 `(("gsll" ,sbcl-gsll)
7969 ("physical-dimension" ,sbcl-physical-dimension)))
7970 (arguments
7971 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7972 ((#:asd-file _ "") "antik.asd")
7973 ((#:asd-system-name _ #f) "antik")))))
7974
7975(define-public cl-antik
7976 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
7977
7978(define-public sbcl-cl-interpol
7979 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7980 (revision "1"))
7981 (package
7982 (name "sbcl-cl-interpol")
7983 (version (git-version "0.2.6" revision commit))
7984 (source
7985 (origin
7986 (method git-fetch)
7987 (uri (git-reference
b0e7b699 7988 (url "https://github.com/edicl/cl-interpol")
7b0bb0d1
KCB
7989 (commit commit)))
7990 (file-name (git-file-name name version))
7991 (sha256
7992 (base32
7993 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7994 (build-system asdf-build-system/sbcl)
7995 (inputs
7996 `(("cl-unicode" ,sbcl-cl-unicode)
7997 ("named-readtables" ,sbcl-named-readtables)))
7998 (native-inputs
7999 `(("flexi-streams" ,sbcl-flexi-streams)))
8000 (synopsis "String interpolation for Common Lisp")
8001 (description
8002 "CL-INTERPOL is a library for Common Lisp which modifies the
8003reader so that you can have interpolation within strings similar to
8004Perl or Unix Shell scripts. It also provides various ways to insert
8005arbitrary characters into literal strings even if your editor/IDE
8006doesn't support them.")
8007 (home-page "https://edicl.github.io/cl-interpol/")
8008 (license license:bsd-3))))
8009
8010(define-public cl-interpol
8011 (sbcl-package->cl-source-package sbcl-cl-interpol))
8012
8013(define-public ecl-cl-interpol
8014 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92
KCB
8015
8016(define sbcl-symbol-munger-boot0
8017 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8018 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8019 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
8020 (revision "1"))
8021 (package
8022 (name "sbcl-symbol-munger-boot0")
8023 (version (git-version "0.0.1" revision commit))
8024 (source
8025 (origin
8026 (method git-fetch)
8027 (uri (git-reference
b0e7b699 8028 (url "https://github.com/AccelerationNet/symbol-munger")
14ef7a92
KCB
8029 (commit commit)))
8030 (file-name (git-file-name name version))
8031 (sha256
8032 (base32
8033 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
8034 (build-system asdf-build-system/sbcl)
8035 (arguments
8036 `(#:asd-file "symbol-munger.asd"
8037 #:asd-system-name "symbol-munger"))
8038 (inputs
8039 `(("iterate" ,sbcl-iterate)
8040 ("alexandria" ,sbcl-alexandria)))
8041 (native-inputs
8042 `(("lisp-unit" ,sbcl-lisp-unit)))
8043 (synopsis
8044 "Capitalization and spacing conversion functions for Common Lisp")
8045 (description
8046 "This is a Common Lisp library to change the capitalization and spacing
8047of a string or a symbol. It can convert to and from Lisp, english, underscore
8048and camel-case rules.")
8049 (home-page "https://github.com/AccelerationNet/symbol-munger")
8050 ;; The package declares a BSD license, but all of the license
8051 ;; text is MIT.
8052 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8053 (license license:expat))))
8054
8055(define sbcl-lisp-unit2-boot0
8056 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8057 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8058 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8059 (revision "1"))
8060 (package
8061 (name "sbcl-lisp-unit2-boot0")
8062 (version (git-version "0.2.0" revision commit))
8063 (source
8064 (origin
8065 (method git-fetch)
8066 (uri (git-reference
b0e7b699 8067 (url "https://github.com/AccelerationNet/lisp-unit2")
14ef7a92
KCB
8068 (commit commit)))
8069 (file-name (git-file-name name version))
8070 (sha256
8071 (base32
8072 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8073 (build-system asdf-build-system/sbcl)
8074 (arguments
8075 `(#:asd-file "lisp-unit2.asd"
8076 #:asd-system-name "lisp-unit2"))
8077 (inputs
8078 `(("alexandria" ,sbcl-alexandria)
8079 ("cl-interpol" ,sbcl-cl-interpol)
8080 ("iterate" ,sbcl-iterate)
8081 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8082 (synopsis "Test Framework for Common Lisp")
8083 (description
8084 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8085style of JUnit for Java. It is a new version of the lisp-unit library written
8086by Chris Riesbeck.")
8087 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8088 (license license:expat))))
edfa2261
KCB
8089
8090(define-public sbcl-symbol-munger
8091 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8092 (revision "1"))
8093 (package
8094 (name "sbcl-symbol-munger")
8095 (version (git-version "0.0.1" revision commit))
8096 (source
8097 (origin
8098 (method git-fetch)
8099 (uri (git-reference
b0e7b699 8100 (url "https://github.com/AccelerationNet/symbol-munger")
edfa2261
KCB
8101 (commit commit)))
8102 (file-name (git-file-name name version))
8103 (sha256
8104 (base32
8105 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8106 (build-system asdf-build-system/sbcl)
8107 (inputs
8108 `(("alexandria" ,sbcl-alexandria)
8109 ("iterate" ,sbcl-iterate)))
8110 (native-inputs
8111 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8112 (synopsis
8113 "Capitalization and spacing conversion functions for Common Lisp")
8114 (description
8115 "This is a Common Lisp library to change the capitalization and spacing
8116of a string or a symbol. It can convert to and from Lisp, english, underscore
8117and camel-case rules.")
8118 (home-page "https://github.com/AccelerationNet/symbol-munger")
8119 ;; The package declares a BSD license, but all of the license
8120 ;; text is MIT.
8121 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8122 (license license:expat))))
8123
8124(define-public cl-symbol-munger
8125 (sbcl-package->cl-source-package sbcl-symbol-munger))
8126
8127(define-public ecl-symbol-munger
8128 (sbcl-package->ecl-package sbcl-symbol-munger))
b97dbb64
KCB
8129
8130(define-public sbcl-lisp-unit2
8131 (package
8132 (inherit sbcl-lisp-unit2-boot0)
8133 (name "sbcl-lisp-unit2")
8134 (inputs
8135 `(("alexandria" ,sbcl-alexandria)
8136 ("cl-interpol" ,sbcl-cl-interpol)
8137 ("iterate" ,sbcl-iterate)
8138 ("symbol-munger" ,sbcl-symbol-munger)))))
8139
8140(define-public cl-lisp-unit2
8141 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8142
8143(define-public ecl-lisp-unit2
8144 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8145
8146(define-public sbcl-cl-csv
8147 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8148 (revision "1"))
8149 (package
8150 (name "sbcl-cl-csv")
8151 (version (git-version "1.0.6" revision commit))
8152 (source
8153 (origin
8154 (method git-fetch)
8155 (uri (git-reference
b0e7b699 8156 (url "https://github.com/AccelerationNet/cl-csv")
f4448e43
KCB
8157 (commit commit)))
8158 (file-name (git-file-name name version))
8159 (sha256
8160 (base32
8161 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8162 (build-system asdf-build-system/sbcl)
8163 (arguments
8164 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8165 `(#:tests? #f))
8166 (inputs
8167 `(("alexandria" ,sbcl-alexandria)
8168 ("cl-interpol" ,sbcl-cl-interpol)
8169 ("iterate" ,sbcl-iterate)))
8170 (native-inputs
8171 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8172 (synopsis "Common lisp library for comma-separated values")
8173 (description
8174 "This is a Common Lisp library providing functions to read/write CSV
8175from/to strings, streams and files.")
8176 (home-page "https://github.com/AccelerationNet/cl-csv")
8177 (license license:bsd-3))))
8178
8179(define-public cl-csv
8180 (sbcl-package->cl-source-package sbcl-cl-csv))
8181
8182(define-public ecl-cl-csv
8183 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8184
8185(define-public sbcl-external-program
8186 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8187 (revision "1"))
8188 (package
8189 (name "sbcl-external-program")
8190 (version (git-version "0.0.6" revision commit))
8191 (source
8192 (origin
8193 (method git-fetch)
8194 (uri (git-reference
b0e7b699 8195 (url "https://github.com/sellout/external-program")
6f0c2c95
KCB
8196 (commit commit)))
8197 (file-name (git-file-name name version))
8198 (sha256
8199 (base32
8200 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8201 (build-system asdf-build-system/sbcl)
8202 (inputs
8203 `(("trivial-features" ,sbcl-trivial-features)))
8204 (native-inputs
8205 `(("fiveam" ,sbcl-fiveam)))
8206 (synopsis "Common Lisp library for running external programs")
8207 (description
8208 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8209process. It is an attempt to make the RUN-PROGRAM functionality in
8210implementations like SBCL and CCL as portable as possible without
8211sacrificing much in the way of power.")
8212 (home-page "https://github.com/sellout/external-program")
8213 (license license:llgpl))))
8214
8215(define-public cl-external-program
8216 (sbcl-package->cl-source-package sbcl-external-program))
8217
8218(define-public ecl-external-program
8219 (sbcl-package->ecl-package sbcl-external-program))
710a2815
KCB
8220
8221(define sbcl-cl-ana-boot0
8222 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8223 (revision "1"))
8224 (package
8225 (name "sbcl-cl-ana-boot0")
8226 (version (git-version "0.0.0" revision commit))
8227 (source
8228 (origin
8229 (method git-fetch)
8230 (uri (git-reference
b0e7b699 8231 (url "https://github.com/ghollisjr/cl-ana")
710a2815
KCB
8232 (commit commit)))
8233 (file-name (git-file-name name version))
8234 (sha256
8235 (base32
8236 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8237 (build-system asdf-build-system/sbcl)
8238 (synopsis "Common Lisp data analysis library")
8239 (description
8240 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8241binned data analysis along with nonlinear least squares fitting and
8242visualization.")
8243 (home-page "https://github.com/ghollisjr/cl-ana")
8244 (license license:gpl3))))
8245
8246(define-public sbcl-cl-ana.pathname-utils
8247 (package
8248 (inherit sbcl-cl-ana-boot0)
8249 (name "sbcl-cl-ana.pathname-utils")
8250 (arguments
8251 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8252 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8253 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8254
8255(define-public cl-ana.pathname-utils
8256 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8257
8258(define-public ecl-cl-ana.pathname-utils
8259 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
dc60235b
KCB
8260
8261(define-public sbcl-cl-ana.package-utils
8262 (package
8263 (inherit sbcl-cl-ana-boot0)
8264 (name "sbcl-cl-ana.package-utils")
8265 (inputs
8266 `(("alexandria" ,sbcl-alexandria)))
8267 (arguments
8268 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8269 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8270 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8271
8272(define-public cl-ana.package-utils
8273 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8274
8275(define-public ecl-cl-ana.package-utils
8276 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
d9d3a1a8
KCB
8277
8278(define-public sbcl-cl-ana.string-utils
8279 (package
8280 (inherit sbcl-cl-ana-boot0)
8281 (name "sbcl-cl-ana.string-utils")
8282 (inputs
8283 `(("split-sequence" ,sbcl-split-sequence)))
8284 (arguments
8285 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8286 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8287 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8288
8289(define-public cl-ana.string-utils
8290 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8291
8292(define-public ecl-cl-ana.string-utils
8293 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
927895d7
KCB
8294
8295(define-public sbcl-cl-ana.functional-utils
8296 (package
8297 (inherit sbcl-cl-ana-boot0)
8298 (name "sbcl-cl-ana.functional-utils")
8299 (arguments
8300 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8301 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8302 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8303
8304(define-public cl-ana.functional-utils
8305 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8306
8307(define-public ecl-cl-ana.functional-utils
8308 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
ea988c3b
KCB
8309
8310(define-public sbcl-cl-ana.list-utils
8311 (package
8312 (inherit sbcl-cl-ana-boot0)
8313 (name "sbcl-cl-ana.list-utils")
8314 (inputs
8315 `(("alexandria" ,sbcl-alexandria)
8316 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8317 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8318 (arguments
8319 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8320 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8321 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8322
8323(define-public cl-ana.list-utils
8324 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8325
8326(define-public ecl-cl-ana.list-utils
8327 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
35b5ca24
KCB
8328
8329(define-public sbcl-cl-ana.generic-math
8330 (package
8331 (inherit sbcl-cl-ana-boot0)
8332 (name "sbcl-cl-ana.generic-math")
8333 (inputs
8334 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8335 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8336 (arguments
8337 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8338 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8339 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8340
8341(define-public cl-ana.generic-math
8342 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8343
8344(define-public ecl-cl-ana.generic-math
8345 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
6d69c5b4
KCB
8346
8347(define-public sbcl-cl-ana.math-functions
8348 (package
8349 (inherit sbcl-cl-ana-boot0)
8350 (name "sbcl-cl-ana.math-functions")
8351 (inputs
8352 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8353 ("gsll" ,sbcl-gsll)))
8354 (arguments
8355 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8356 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8357 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8358
8359(define-public cl-ana.math-functions
8360 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
39ba698b
KCB
8361
8362(define-public sbcl-cl-ana.calculus
8363 (package
8364 (inherit sbcl-cl-ana-boot0)
8365 (name "sbcl-cl-ana.calculus")
8366 (inputs
8367 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8368 (arguments
8369 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8370 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8371 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8372
8373(define-public cl-ana.calculus
8374 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8375
8376(define-public ecl-cl-ana.calculus
8377 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
ad09a96a
KCB
8378
8379(define-public sbcl-cl-ana.symbol-utils
8380 (package
8381 (inherit sbcl-cl-ana-boot0)
8382 (name "sbcl-cl-ana.symbol-utils")
8383 (inputs
8384 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8385 (arguments
8386 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8387 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8388 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8389
8390(define-public cl-ana.symbol-utils
8391 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8392
8393(define-public ecl-cl-ana.symbol-utils
8394 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
141d96e1
KCB
8395
8396(define-public sbcl-cl-ana.macro-utils
8397 (package
8398 (inherit sbcl-cl-ana-boot0)
8399 (name "sbcl-cl-ana.macro-utils")
8400 (inputs
8401 `(("alexandria" ,sbcl-alexandria)
8402 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8403 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8404 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8405 ("split-sequence" ,sbcl-split-sequence)))
8406 (arguments
8407 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8408 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8409 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8410
8411(define-public cl-ana.macro-utils
8412 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8413
8414(define-public ecl-cl-ana.macro-utils
8415 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
7468ca3c
KCB
8416
8417(define-public sbcl-cl-ana.binary-tree
8418 (package
8419 (inherit sbcl-cl-ana-boot0)
8420 (name "sbcl-cl-ana.binary-tree")
8421 (inputs
8422 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8423 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8424 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8425 (arguments
8426 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8427 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8428 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8429
8430(define-public cl-ana.binary-tree
8431 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8432
8433(define-public ecl-cl-ana.binary-tree
8434 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
f69f0235
KCB
8435
8436(define-public sbcl-cl-ana.tensor
8437 (package
8438 (inherit sbcl-cl-ana-boot0)
8439 (name "sbcl-cl-ana.tensor")
8440 (inputs
8441 `(("alexandria" ,sbcl-alexandria)
8442 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8443 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8444 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8445 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8446 (arguments
8447 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8448 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8449 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8450
8451(define-public cl-ana.tensor
8452 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8453
8454(define-public ecl-cl-ana.tensor
8455 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
87e58e2b
KCB
8456
8457(define-public sbcl-cl-ana.error-propogation
8458 (package
8459 (inherit sbcl-cl-ana-boot0)
8460 (name "sbcl-cl-ana.error-propogation")
8461 (inputs
8462 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8463 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8464 (arguments
8465 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8466 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8467 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8468
8469(define-public cl-ana.error-propogation
8470 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
a2aeef61
KCB
8471
8472(define-public sbcl-cl-ana.quantity
8473 (package
8474 (inherit sbcl-cl-ana-boot0)
8475 (name "sbcl-cl-ana.quantity")
8476 (inputs
8477 `(("alexandria" ,sbcl-alexandria)
8478 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8479 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8480 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8481 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8482 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8483 (arguments
8484 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8485 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8486 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8487
8488(define-public cl-ana.quantity
8489 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
fc029fe3
KCB
8490
8491(define-public sbcl-cl-ana.table
8492 (package
8493 (inherit sbcl-cl-ana-boot0)
8494 (name "sbcl-cl-ana.table")
8495 (inputs
8496 `(("alexandria" ,sbcl-alexandria)
8497 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8498 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8499 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8500 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8501 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8502 (arguments
8503 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8504 ((#:asd-file _ "") "table/cl-ana.table.asd")
8505 ((#:asd-system-name _ #f) "cl-ana.table")))))
8506
8507(define-public cl-ana.table
8508 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8509
8510(define-public ecl-cl-ana.table
8511 (sbcl-package->ecl-package sbcl-cl-ana.table))
eac5d1dd
KCB
8512
8513(define-public sbcl-cl-ana.table-utils
8514 (package
8515 (inherit sbcl-cl-ana-boot0)
8516 (name "sbcl-cl-ana.table-utils")
8517 (inputs
8518 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8519 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8520 ("cl-ana.table" ,sbcl-cl-ana.table)))
8521 (arguments
8522 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8523 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8524 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8525
8526(define-public cl-ana.table-utils
8527 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8528
8529(define-public ecl-cl-ana.table-utils
8530 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
769015b9
KCB
8531
8532(define-public sbcl-cl-ana.hdf-cffi
8533 (package
8534 (inherit sbcl-cl-ana-boot0)
8535 (name "sbcl-cl-ana.hdf-cffi")
8536 (inputs
8537 `(("cffi" ,sbcl-cffi)
8538 ("hdf5" ,hdf5-parallel-openmpi)))
8539 (arguments
8540 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8541 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8542 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8543 ((#:phases phases '%standard-phases)
8544 `(modify-phases ,phases
8545 (add-after 'unpack 'fix-paths
8546 (lambda* (#:key inputs #:allow-other-keys)
8547 (substitute* "hdf-cffi/hdf-cffi.lisp"
8548 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8549 (string-append
8550 (assoc-ref inputs "hdf5")
8551 "/lib/libhdf5.so")))))))))))
8552
8553(define-public cl-ana.hdf-cffi
8554 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8555
8556(define-public ecl-cl-ana.hdf-cffi
8557 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
e073d695
KCB
8558
8559(define-public sbcl-cl-ana.int-char
8560 (package
8561 (inherit sbcl-cl-ana-boot0)
8562 (name "sbcl-cl-ana.int-char")
8563 (arguments
8564 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8565 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8566 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8567
8568(define-public cl-ana.int-char
8569 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8570
8571(define-public ecl-cl-ana.int-char
8572 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
011cf6f5
KCB
8573
8574(define-public sbcl-cl-ana.memoization
8575 (package
8576 (inherit sbcl-cl-ana-boot0)
8577 (name "sbcl-cl-ana.memoization")
8578 (inputs
8579 `(("alexandria" ,sbcl-alexandria)))
8580 (arguments
8581 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8582 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8583 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8584
8585(define-public cl-ana.memoization
8586 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8587
8588(define-public ecl-cl-ana.memoization
8589 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
bc9e1dd2
KCB
8590
8591(define-public sbcl-cl-ana.typespec
8592 (package
8593 (inherit sbcl-cl-ana-boot0)
8594 (name "sbcl-cl-ana.typespec")
8595 (inputs
8596 `(("alexandria" ,sbcl-alexandria)
8597 ("cffi" ,sbcl-cffi)
8598 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8599 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8600 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8601 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8602 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8603 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8604 (arguments
8605 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8606 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8607 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8608
8609(define-public cl-ana.typespec
8610 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8611
8612(define-public ecl-cl-ana.typespec
8613 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
46519981
KCB
8614
8615(define-public sbcl-cl-ana.hdf-typespec
8616 (package
8617 (inherit sbcl-cl-ana-boot0)
8618 (name "sbcl-cl-ana.hdf-typespec")
8619 (inputs
8620 `(("alexandria" ,sbcl-alexandria)
8621 ("cffi" ,sbcl-cffi)
8622 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8623 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8624 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8625 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8626 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8627 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8628 (arguments
8629 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8630 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8631 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8632
8633(define-public cl-ana.hdf-typespec
8634 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8635
8636(define-public ecl-cl-ana.hdf-typespec
8637 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
05216cf7
KCB
8638
8639(define-public sbcl-cl-ana.hdf-utils
8640 (package
8641 (inherit sbcl-cl-ana-boot0)
8642 (name "sbcl-cl-ana.hdf-utils")
8643 (inputs
8644 `(("alexandria" ,sbcl-alexandria)
8645 ("cffi" ,sbcl-cffi)
8646 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8647 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8648 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8649 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8650 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8651 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8652 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8653 (arguments
8654 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8655 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8656 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8657
8658(define-public cl-ana.hdf-utils
8659 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8660
8661(define-public ecl-cl-ana.hdf-utils
8662 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
82900285
KCB
8663
8664(define-public sbcl-cl-ana.typed-table
8665 (package
8666 (inherit sbcl-cl-ana-boot0)
8667 (name "sbcl-cl-ana.typed-table")
8668 (inputs
8669 `(("alexandria" ,sbcl-alexandria)
8670 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8671 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8672 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8673 ("cl-ana.table" ,sbcl-cl-ana.table)
8674 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8675 (arguments
8676 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8677 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8678 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8679
8680(define-public cl-ana.typed-table
8681 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8682
8683(define-public ecl-cl-ana.typed-table
8684 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8e2c140c
KCB
8685
8686(define-public sbcl-cl-ana.hdf-table
8687 (package
8688 (inherit sbcl-cl-ana-boot0)
8689 (name "sbcl-cl-ana.hdf-table")
8690 (inputs
8691 `(("alexandria" ,sbcl-alexandria)
8692 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8693 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8694 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8695 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8696 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8697 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8698 ("cl-ana.table" ,sbcl-cl-ana.table)
8699 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8700 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8701 (arguments
8702 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8703 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8704 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8705
8706(define-public cl-ana.hdf-table
8707 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8708
8709(define-public ecl-cl-ana.hdf-table
8710 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
cd874248
KCB
8711
8712(define-public sbcl-cl-ana.gsl-cffi
8713 (package
8714 (inherit sbcl-cl-ana-boot0)
8715 (name "sbcl-cl-ana.gsl-cffi")
8716 (inputs
8717 `(("cffi" ,sbcl-cffi)
8718 ("gsl" ,gsl)))
8719 (arguments
8720 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8721 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8722 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8723 ((#:phases phases '%standard-phases)
8724 `(modify-phases ,phases
8725 (add-after 'unpack 'fix-paths
8726 (lambda* (#:key inputs #:allow-other-keys)
8727 (substitute* "gsl-cffi/gsl-cffi.lisp"
8728 (("define-foreign-library gsl-cffi" all)
8729 (string-append all " (:unix "
8730 (assoc-ref inputs "gsl")
8731 "/lib/libgsl.so)")))))))))))
8732
8733(define-public cl-ana.gsl-cffi
8734 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8735
8736(define-public ecl-cl-ana.gsl-cffi
8737 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
14b1a215
KCB
8738
8739(define-public sbcl-cl-ana.ntuple-table
8740 (package
8741 (inherit sbcl-cl-ana-boot0)
8742 (name "sbcl-cl-ana.ntuple-table")
8743 (inputs
8744 `(("alexandria" ,sbcl-alexandria)
8745 ("cffi" ,sbcl-cffi)
8746 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8747 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8748 ("cl-ana.table" ,sbcl-cl-ana.table)
8749 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8750 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8751 ("gsll" ,sbcl-gsll)))
8752 (arguments
8753 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8754 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8755 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8756
8757(define-public cl-ana.ntuple-table
8758 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
89f01125
KCB
8759
8760(define-public sbcl-cl-ana.csv-table
8761 (package
8762 (inherit sbcl-cl-ana-boot0)
8763 (name "sbcl-cl-ana.csv-table")
8764 (inputs
8765 `(("alexandria" ,sbcl-alexandria)
8766 ("antik" ,sbcl-antik)
8767 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8768 ("cl-ana.table" ,sbcl-cl-ana.table)
8769 ("cl-csv" ,sbcl-cl-csv)
8770 ("iterate" ,sbcl-iterate)))
8771 (arguments
8772 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8773 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8774 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8775
8776(define-public cl-ana.csv-table
8777 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
7d500ae4
KCB
8778
8779(define-public sbcl-cl-ana.reusable-table
8780 (package
8781 (inherit sbcl-cl-ana-boot0)
8782 (name "sbcl-cl-ana.reusable-table")
8783 (inputs
8784 `(("alexandria" ,sbcl-alexandria)
8785 ("cl-ana.table" ,sbcl-cl-ana.table)))
8786 (arguments
8787 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8788 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8789 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8790
8791(define-public cl-ana.reusable-table
8792 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8793
8794(define-public ecl-cl-ana.reusable-table
8795 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
01d659f5
KCB
8796
8797(define-public sbcl-cl-ana.linear-algebra
8798 (package
8799 (inherit sbcl-cl-ana-boot0)
8800 (name "sbcl-cl-ana.linear-algebra")
8801 (inputs
8802 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8803 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8804 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8805 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8806 ("gsll" ,sbcl-gsll)))
8807 (arguments
8808 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8809 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8810 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8811
8812(define-public cl-ana.linear-algebra
8813 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
05ec2879
KCB
8814
8815(define-public sbcl-cl-ana.lorentz
8816 (package
8817 (inherit sbcl-cl-ana-boot0)
8818 (name "sbcl-cl-ana.lorentz")
8819 (inputs
8820 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8821 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8822 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8823 ("iterate" ,sbcl-iterate)))
8824 (arguments
8825 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8826 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8827 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8828
8829(define-public cl-ana.lorentz
8830 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
28ffe462
KCB
8831
8832(define-public sbcl-cl-ana.clos-utils
8833 (package
8834 (inherit sbcl-cl-ana-boot0)
8835 (name "sbcl-cl-ana.clos-utils")
8836 (inputs
8837 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8838 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8839 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8840 ("closer-mop" ,sbcl-closer-mop)))
8841 (arguments
8842 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8843 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8844 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8845
8846(define-public cl-ana.clos-utils
8847 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8848
8849(define-public ecl-cl-ana.clos-utils
8850 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
71b76a9b
KCB
8851
8852(define-public sbcl-cl-ana.hash-table-utils
8853 (package
8854 (inherit sbcl-cl-ana-boot0)
8855 (name "sbcl-cl-ana.hash-table-utils")
8856 (arguments
8857 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8858 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8859 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8860
8861(define-public cl-ana.hash-table-utils
8862 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8863
8864(define-public ecl-cl-ana.hash-table-utils
8865 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
c20b30cb
KCB
8866
8867(define-public sbcl-cl-ana.map
8868 (package
8869 (inherit sbcl-cl-ana-boot0)
8870 (name "sbcl-cl-ana.map")
8871 (inputs
8872 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8873 (arguments
8874 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8875 ((#:asd-file _ "") "map/cl-ana.map.asd")
8876 ((#:asd-system-name _ #f) "cl-ana.map")))))
8877
8878(define-public cl-ana.map
8879 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8880
8881(define-public ecl-cl-ana.map
8882 (sbcl-package->ecl-package sbcl-cl-ana.map))
2f7d1dc5
KCB
8883
8884(define-public sbcl-cl-ana.fitting
8885 (package
8886 (inherit sbcl-cl-ana-boot0)
8887 (name "sbcl-cl-ana.fitting")
8888 (inputs
8889 `(("alexandria" ,sbcl-alexandria)
8890 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8891 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8892 ("cl-ana.map" ,sbcl-cl-ana.map)
8893 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8894 ("gsll" ,sbcl-gsll)))
8895 (arguments
8896 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8897 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8898 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8899
8900(define-public cl-ana.fitting
8901 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
dffb0c0e
KCB
8902
8903(define-public sbcl-cl-ana.histogram
8904 (package
8905 (inherit sbcl-cl-ana-boot0)
8906 (name "sbcl-cl-ana.histogram")
8907 (inputs
8908 `(("alexandria" ,sbcl-alexandria)
8909 ("iterate" ,sbcl-iterate)
8910 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8911 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8912 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8913 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8914 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8915 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8916 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8917 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8918 ("cl-ana.map" ,sbcl-cl-ana.map)
8919 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8920 (arguments
8921 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8922 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8923 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8924
8925(define-public cl-ana.histogram
8926 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
d6c13a8e
KCB
8927
8928(define-public sbcl-cl-ana.file-utils
8929 (package
8930 (inherit sbcl-cl-ana-boot0)
8931 (name "sbcl-cl-ana.file-utils")
8932 (inputs
8933 `(("external-program" ,sbcl-external-program)
8934 ("split-sequence" ,sbcl-split-sequence)))
8935 (arguments
8936 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8937 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8938 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8939
8940(define-public cl-ana.file-utils
8941 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8942
8943(define-public ecl-cl-ana.file-utils
8944 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
a47ce94c
KCB
8945
8946(define-public sbcl-cl-ana.statistics
8947 (package
8948 (inherit sbcl-cl-ana-boot0)
8949 (name "sbcl-cl-ana.statistics")
8950 (inputs
8951 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8952 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8953 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8954 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8955 ("cl-ana.map" ,sbcl-cl-ana.map)))
8956 (arguments
8957 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8958 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8959 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8960
8961(define-public cl-ana.statistics
8962 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
81e6c659
KCB
8963
8964(define-public sbcl-cl-ana.gnuplot-interface
8965 (package
8966 (inherit sbcl-cl-ana-boot0)
8967 (name "sbcl-cl-ana.gnuplot-interface")
8968 (inputs
8969 `(("external-program" ,sbcl-external-program)))
8970 (arguments
8971 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8972 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8973 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8974
8975(define-public cl-ana.gnuplot-interface
8976 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8977
8978(define-public ecl-cl-ana.gnuplot-interface
8979 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
0f5350c1
KCB
8980
8981(define-public sbcl-cl-ana.plotting
8982 (package
8983 (inherit sbcl-cl-ana-boot0)
8984 (name "sbcl-cl-ana.plotting")
8985 (inputs
8986 `(("alexandria" ,sbcl-alexandria)
8987 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8988 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8989 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8990 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8991 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8992 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8993 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8994 ("cl-ana.map" ,sbcl-cl-ana.map)
8995 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8996 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8997 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8998 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8999 ("external-program" ,sbcl-external-program)
9000 ("split-sequence" ,sbcl-split-sequence)))
9001 (arguments
9002 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9003 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
9004 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
9005
9006(define-public cl-ana.plotting
9007 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
d521d67a
KCB
9008
9009(define-public sbcl-cl-ana.table-viewing
9010 (package
9011 (inherit sbcl-cl-ana-boot0)
9012 (name "sbcl-cl-ana.table-viewing")
9013 (inputs
9014 `(("alexandria" ,sbcl-alexandria)
9015 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9016 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9017 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9018 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9019 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9020 ("cl-ana.table" ,sbcl-cl-ana.table)))
9021 (arguments
9022 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9023 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
9024 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
9025
9026(define-public cl-ana.table-viewing
9027 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
f97cc359
KCB
9028
9029(define-public sbcl-cl-ana.serialization
9030 (package
9031 (inherit sbcl-cl-ana-boot0)
9032 (name "sbcl-cl-ana.serialization")
9033 (inputs
9034 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9035 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9036 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9037 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9038 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9039 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9040 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
9041 (arguments
9042 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9043 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
9044 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
9045
9046(define-public cl-ana.serialization
9047 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
26b875f6
KCB
9048
9049(define-public sbcl-cl-ana.makeres
9050 (package
9051 (inherit sbcl-cl-ana-boot0)
9052 (name "sbcl-cl-ana.makeres")
9053 (inputs
9054 `(("alexandria" ,sbcl-alexandria)
9055 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9056 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9057 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9058 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9059 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9060 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9061 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9062 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9063 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9064 ("cl-ana.map" ,sbcl-cl-ana.map)
9065 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9066 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9067 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9068 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9069 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9070 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9071 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9072 ("cl-ana.table" ,sbcl-cl-ana.table)
9073 ("external-program" ,sbcl-external-program)))
9074 (native-inputs
9075 `(("cl-fad" ,sbcl-cl-fad)))
9076 (arguments
9077 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9078 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9079 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9080
9081(define-public cl-ana.makeres
9082 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
ad9e007e
KCB
9083
9084(define-public sbcl-cl-ana.makeres-macro
9085 (package
9086 (inherit sbcl-cl-ana-boot0)
9087 (name "sbcl-cl-ana.makeres-macro")
9088 (inputs
9089 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9090 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9091 (arguments
9092 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9093 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9094 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9095
9096(define-public cl-ana.makeres-macro
9097 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
98e5f45e
KCB
9098
9099(define-public sbcl-cl-ana.makeres-block
9100 (package
9101 (inherit sbcl-cl-ana-boot0)
9102 (name "sbcl-cl-ana.makeres-block")
9103 (inputs
9104 `(("alexandria" ,sbcl-alexandria)
9105 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9106 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9107 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9108 (arguments
9109 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9110 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9111 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9112
9113(define-public cl-ana.makeres-block
9114 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
5ae0b25e
KCB
9115
9116(define-public sbcl-cl-ana.makeres-progress
9117 (package
9118 (inherit sbcl-cl-ana-boot0)
9119 (name "sbcl-cl-ana.makeres-progress")
9120 (inputs
9121 `(("alexandria" ,sbcl-alexandria)
9122 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9123 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9124 (arguments
9125 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9126 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9127 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9128
9129(define-public cl-ana.makeres-progress
9130 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
a9810e70
KCB
9131
9132(define-public sbcl-cl-ana.makeres-table
9133 (package
9134 (inherit sbcl-cl-ana-boot0)
9135 (name "sbcl-cl-ana.makeres-table")
9136 (inputs
9137 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9138 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9139 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9140 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9141 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9142 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9143 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9144 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9145 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9146 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9147 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9148 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9149 ("cl-ana.table" ,sbcl-cl-ana.table)))
9150 (native-inputs
9151 `(("cl-fad" ,sbcl-cl-fad)))
9152 (arguments
9153 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9154 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9155 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9156
9157(define-public cl-ana.makeres-table
9158 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
2e43d80d
KCB
9159
9160(define-public sbcl-cl-ana.makeres-graphviz
9161 (package
9162 (inherit sbcl-cl-ana-boot0)
9163 (name "sbcl-cl-ana.makeres-graphviz")
9164 (inputs
9165 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9166 ("external-program" ,sbcl-external-program)))
9167 (arguments
9168 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9169 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9170 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9171
9172(define-public cl-ana.makeres-graphviz
9173 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
d154dd5a
KCB
9174
9175(define-public sbcl-cl-ana.makeres-branch
9176 (package
9177 (inherit sbcl-cl-ana-boot0)
9178 (name "sbcl-cl-ana.makeres-branch")
9179 (inputs
9180 `(("alexandria" ,sbcl-alexandria)
9181 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9182 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9183 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9184 ("cl-ana.map" ,sbcl-cl-ana.map)
9185 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9186 (arguments
9187 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9188 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9189 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9190
9191(define-public cl-ana.makeres-branch
9192 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
5f413815
KCB
9193
9194(define-public sbcl-cl-ana.makeres-utils
9195 (package
9196 (inherit sbcl-cl-ana-boot0)
9197 (name "sbcl-cl-ana.makeres-utils")
9198 (inputs
9199 `(("alexandria" ,sbcl-alexandria)
9200 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9201 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9202 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9203 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9204 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9205 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9206 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9207 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9208 ("cl-ana.map" ,sbcl-cl-ana.map)
9209 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9210 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9211 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9212 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9213 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9214 ("cl-ana.table" ,sbcl-cl-ana.table)))
9215 (native-inputs
9216 `(("cl-fad" ,sbcl-cl-fad)))
9217 (arguments
9218 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9219 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9220 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9221
9222(define-public cl-ana.makeres-utils
9223 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
c16e3dfb
KCB
9224
9225(define-public sbcl-cl-ana.statistical-learning
9226 (package
9227 (inherit sbcl-cl-ana-boot0)
9228 (name "sbcl-cl-ana.statistical-learning")
9229 (inputs
9230 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9231 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9232 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9233 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9234 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9235 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9236 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9237 ("cl-ana.map" ,sbcl-cl-ana.map)
9238 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9239 (native-inputs
9240 `(("cl-fad" ,sbcl-cl-fad)))
9241 (arguments
9242 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9243 ((#:asd-file _ "")
9244 "statistical-learning/cl-ana.statistical-learning.asd")
9245 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9246
9247(define-public cl-ana.statistical-learning
9248 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
13e3bc1c
KCB
9249
9250(define-public sbcl-cl-ana
9251 (package
9252 (inherit sbcl-cl-ana-boot0)
9253 (name "sbcl-cl-ana")
9254 (inputs
9255 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9256 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9257 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9258 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9259 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9260 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9261 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9262 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9263 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9264 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9265 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9266 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9267 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9268 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9269 ("cl-ana.map" ,sbcl-cl-ana.map)
9270 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9271 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9272 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9273 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9274 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9275 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9276 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9277 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9278 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9279 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9280 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9281 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9282 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9283 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9284 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9285 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9286 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9287 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9288 ("cl-ana.table" ,sbcl-cl-ana.table)
9289 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9290 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9291 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9292 ("libffi" ,libffi)))
9293 (native-inputs
9294 `(("cl-fad" ,sbcl-cl-fad)))
9295 (arguments
9296 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9297 ((#:asd-file _ "") "cl-ana.asd")
9298 ((#:asd-system-name _ #f) "cl-ana")))))
9299
9300(define-public cl-ana
9301 (sbcl-package->cl-source-package sbcl-cl-ana))
f35b596e
GLV
9302
9303(define-public sbcl-archive
9304 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9305 (revision "1"))
9306 (package
9307 (name "sbcl-archive")
9308 (version (git-version "0.9" revision commit))
9309 (source (origin
9310 (method git-fetch)
9311 (uri (git-reference
b0e7b699 9312 (url "https://github.com/sharplispers/archive")
f35b596e
GLV
9313 (commit commit)))
9314 (file-name (git-file-name name version))
9315 (sha256
9316 (base32
9317 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9318 (build-system asdf-build-system/sbcl)
9319 (inputs
9320 `(("cl-fad" ,sbcl-cl-fad)
9321 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9322 (synopsis "Common Lisp library for tar and cpio archives")
9323 (description
9324 "This is a Common Lisp library to read and write disk-based file
9325archives such as those generated by the tar and cpio programs on Unix.")
9326 (home-page "https://github.com/sharplispers/archive")
9327 (license license:bsd-3))))
9328
9329(define-public cl-archive
9330 (sbcl-package->cl-source-package sbcl-archive))
9331
9332(define-public ecl-archive
9333 (sbcl-package->ecl-package sbcl-archive))
33865d32
GLV
9334
9335(define-public sbcl-misc-extensions
9336 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9337 (revision "1"))
9338 (package
9339 (name "sbcl-misc-extensions")
9340 (version (git-version "3.3" revision commit))
9341 (source
9342 (origin
9343 (method git-fetch)
9344 (uri (git-reference
9345 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9346 (commit commit)))
9347 (file-name (git-file-name name version))
9348 (sha256
9349 (base32
9350 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9351 (build-system asdf-build-system/sbcl)
9352 (synopsis "Collection of small macros and extensions for Common Lisp")
9353 (description
9354 "This project is intended as a catchall for small, general-purpose
9355extensions to Common Lisp. It contains:
9356
9357@itemize
9358@item @code{new-let}, a macro that combines and generalizes @code{let},
9359@code{let*} and @code{multiple-value-bind},
9360@item @code{gmap}, an iteration macro that generalizes @code{map}.
9361@end itemize\n")
9362 (home-page "https://common-lisp.net/project/misc-extensions/")
9363 (license license:public-domain))))
9364
9365(define-public cl-misc-extensions
9366 (sbcl-package->cl-source-package sbcl-misc-extensions))
9367
9368(define-public ecl-misc-extensions
9369 (sbcl-package->ecl-package sbcl-misc-extensions))
7765f4a4
GLV
9370
9371(define-public sbcl-mt19937
9372 (package
9373 (name "sbcl-mt19937")
9374 (version "1.1")
9375 (source
9376 (origin
9377 (method url-fetch)
9378 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9379 "mt19937-latest.tar.gz"))
9380 (sha256
9381 (base32
9382 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9383 (build-system asdf-build-system/sbcl)
9384 (synopsis "Mersenne Twister pseudo-random number generator")
9385 (description
9386 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9387for Common Lisp.")
9388 (home-page "https://www.cliki.net/mt19937")
9389 (license license:public-domain)))
9390
9391(define-public cl-mt19937
9392 (sbcl-package->cl-source-package sbcl-mt19937))
9393
9394(define-public ecl-mt19937
9395 (sbcl-package->ecl-package sbcl-mt19937))
7ca8925f
GLV
9396
9397(define-public sbcl-fset
9398 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9399 (revision "1"))
9400 (package
9401 (name "sbcl-fset")
9402 (version (git-version "1.3.2" revision commit))
9403 (source
9404 (origin
9405 (method git-fetch)
9406 (uri (git-reference
9407 (url "https://github.com/slburson/fset")
9408 (commit commit)))
9409 (file-name (git-file-name name version))
9410 (sha256
9411 (base32
9412 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9413 (snippet '(begin
9414 ;; Remove obsolete copy of system definition.
9415 (delete-file "Code/fset.asd")
9416 #t))))
9417 (build-system asdf-build-system/sbcl)
9418 (inputs
9419 `(("misc-extensions" ,sbcl-misc-extensions)
9420 ("mt19937" ,sbcl-mt19937)
9421 ("named-readtables" ,sbcl-named-readtables)))
9422 (synopsis "Functional set-theoretic collections library")
9423 (description
9424 "FSet is a functional set-theoretic collections library for Common Lisp.
9425Functional means that all update operations return a new collection rather than
9426modifying an existing one in place. Set-theoretic means that collections may
9427be nested arbitrarily with no additional programmer effort; for instance, sets
9428may contain sets, maps may be keyed by sets, etc.")
9429 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9430 (license license:llgpl))))
9431
9432(define-public cl-fset
9433 (sbcl-package->cl-source-package sbcl-fset))
f7ce86ed
GLV
9434
9435(define-public sbcl-cl-cont
9436 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9437 (revision "1"))
9438 (package
9439 (name "sbcl-cl-cont")
9440 (version (git-version "0.3.8" revision commit))
9441 (source
9442 (origin
9443 (method git-fetch)
9444 (uri (git-reference
9445 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9446 (commit commit)))
9447 (file-name (git-file-name name version))
9448 (sha256
9449 (base32
9450 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9451 (build-system asdf-build-system/sbcl)
9452 (inputs
9453 `(("alexandria" ,sbcl-alexandria)
9454 ("closer-mop" ,sbcl-closer-mop)))
9455 (native-inputs
9456 `(("rt" ,sbcl-rt)))
9457 (synopsis "Delimited continuations for Common Lisp")
9458 (description
9459 "This is a library that implements delimited continuations by
9460transforming Common Lisp code to continuation passing style.")
9461 (home-page "https://common-lisp.net/project/cl-cont/")
9462 (license license:llgpl))))
9463
9464(define-public cl-cont
9465 (sbcl-package->cl-source-package sbcl-cl-cont))
9466
9467(define-public ecl-cl-cont
9468 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
9469
9470(define-public sbcl-cl-coroutine
9471 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9472 (revision "1"))
9473 (package
9474 (name "sbcl-cl-coroutine")
9475 (version (git-version "0.1" revision commit))
9476 (source
9477 (origin
9478 (method git-fetch)
9479 (uri (git-reference
b0e7b699 9480 (url "https://github.com/takagi/cl-coroutine")
4101c714
GLV
9481 (commit commit)))
9482 (file-name (git-file-name name version))
9483 (sha256
9484 (base32
9485 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9486 (build-system asdf-build-system/sbcl)
9487 (inputs
9488 `(("alexandria" ,sbcl-alexandria)
9489 ("cl-cont" ,sbcl-cl-cont)))
9490 (native-inputs
9491 `(("prove" ,sbcl-prove)))
9492 (arguments
9493 `(;; TODO: Fix the tests. They fail with:
9494 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9495 #:tests? #f
9496 #:phases
9497 (modify-phases %standard-phases
9498 (add-after 'unpack 'fix-tests
9499 (lambda _
9500 (substitute* "cl-coroutine-test.asd"
9501 (("cl-test-more")
9502 "prove"))
9503 #t)))))
9504 (synopsis "Coroutine library for Common Lisp")
9505 (description
9506 "This is a coroutine library for Common Lisp implemented using the
9507continuations of the @code{cl-cont} library.")
9508 (home-page "https://github.com/takagi/cl-coroutine")
9509 (license license:llgpl))))
9510
9511(define-public cl-coroutine
9512 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9513
9514(define-public ecl-cl-coroutine
9515 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
9516
9517(define-public sbcl-vom
9518 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9519 (revision "1"))
9520 (package
9521 (name "sbcl-vom")
9522 (version (git-version "0.1.4" revision commit))
9523 (source
9524 (origin
9525 (method git-fetch)
9526 (uri (git-reference
b0e7b699 9527 (url "https://github.com/orthecreedence/vom")
5b8bc813
GLV
9528 (commit commit)))
9529 (file-name (git-file-name name version))
9530 (sha256
9531 (base32
9532 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9533 (build-system asdf-build-system/sbcl)
9534 (synopsis "Tiny logging utility for Common Lisp")
9535 (description
9536 "Vom is a logging library for Common Lisp. It's goal is to be useful
9537and small. It does not provide a lot of features as other loggers do, but
9538has a small codebase that's easy to understand and use.")
9539 (home-page "https://github.com/orthecreedence/vom")
9540 (license license:expat))))
9541
9542(define-public cl-vom
9543 (sbcl-package->cl-source-package sbcl-vom))
9544
9545(define-public ecl-vom
9546 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
9547
9548(define-public sbcl-cl-libuv
9549 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9550 (revision "1"))
9551 (package
9552 (name "sbcl-cl-libuv")
9553 (version (git-version "0.1.6" revision commit))
9554 (source
9555 (origin
9556 (method git-fetch)
9557 (uri (git-reference
b0e7b699 9558 (url "https://github.com/orthecreedence/cl-libuv")
37b48dc1
GLV
9559 (commit commit)))
9560 (file-name (git-file-name name version))
9561 (sha256
9562 (base32
9563 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9564 (build-system asdf-build-system/sbcl)
9565 (inputs
9566 `(("alexandria" ,sbcl-alexandria)
9567 ("cffi" ,sbcl-cffi)
9568 ("cffi-grovel" ,sbcl-cffi-grovel)
9569 ("libuv" ,libuv)))
9570 (arguments
9571 `(#:phases
9572 (modify-phases %standard-phases
9573 (add-after 'unpack 'fix-paths
9574 (lambda* (#:key inputs #:allow-other-keys)
9575 (substitute* "lib.lisp"
9576 (("/usr/lib/libuv.so")
9577 (string-append (assoc-ref inputs "libuv")
9578 "/lib/libuv.so")))
9579 #t))
9580 (add-after 'fix-paths 'fix-system-definition
9581 (lambda _
9582 (substitute* "cl-libuv.asd"
9583 (("#:cffi #:alexandria")
9584 "#:cffi #:cffi-grovel #:alexandria"))
9585 #t)))))
9586 (synopsis "Common Lisp bindings to libuv")
9587 (description
9588 "This library provides low-level libuv bindings for Common Lisp.")
9589 (home-page "https://github.com/orthecreedence/cl-libuv")
9590 (license license:expat))))
9591
9592(define-public cl-libuv
9593 (sbcl-package->cl-source-package sbcl-cl-libuv))
9594
9595(define-public ecl-cl-libuv
9596 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb
GLV
9597
9598(define-public sbcl-cl-async-base
9599 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9600 (revision "1"))
9601 (package
9602 (name "sbcl-cl-async-base")
9603 (version (git-version "0.6.1" revision commit))
9604 (source
9605 (origin
9606 (method git-fetch)
9607 (uri (git-reference
b0e7b699 9608 (url "https://github.com/orthecreedence/cl-async")
1cc1dfbb
GLV
9609 (commit commit)))
9610 (file-name (git-file-name name version))
9611 (sha256
9612 (base32
9613 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9614 (build-system asdf-build-system/sbcl)
9615 (inputs
9616 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9617 ("cffi" ,sbcl-cffi)
9618 ("cl-libuv" ,sbcl-cl-libuv)))
9619 (arguments
9620 `(#:asd-file "cl-async.asd"))
9621 (synopsis "Base system for cl-async")
9622 (description
9623 "Cl-async is a library for general purpose, non-blocking programming in
9624Common Lisp. It uses the libuv library as backend.")
9625 (home-page "https://orthecreedence.github.io/cl-async/")
9626 (license license:expat))))
9627
9628(define-public cl-async-base
9629 (sbcl-package->cl-source-package sbcl-cl-async-base))
9630
9631(define-public ecl-cl-async-base
9632 (sbcl-package->ecl-package sbcl-cl-async-base))
370cf7f1
GLV
9633
9634(define-public sbcl-cl-async-util
9635 (package
9636 (inherit sbcl-cl-async-base)
9637 (name "sbcl-cl-async-util")
9638 (inputs
24de1f5a
GLV
9639 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9640 ("cffi" ,sbcl-cffi)
370cf7f1
GLV
9641 ("cl-async-base" ,sbcl-cl-async-base)
9642 ("cl-libuv" ,sbcl-cl-libuv)
9643 ("cl-ppcre" ,sbcl-cl-ppcre)
9644 ("fast-io" ,sbcl-fast-io)
9645 ("vom" ,sbcl-vom)))
9646 (synopsis "Internal utilities for cl-async")))
9647
9648(define-public cl-async-util
9649 (sbcl-package->cl-source-package sbcl-cl-async-util))
9650
9651(define-public ecl-cl-async-util
9652 (sbcl-package->ecl-package sbcl-cl-async-util))
8a0178dd
GLV
9653
9654(define-public sbcl-cl-async
9655 (package
9656 (inherit sbcl-cl-async-base)
9657 (name "sbcl-cl-async")
9658 (inputs
9659 `(("babel" ,sbcl-babel)
9660 ("cffi" ,sbcl-cffi)
9661 ("cl-async-base" ,sbcl-cl-async-base)
9662 ("cl-async-util" ,sbcl-cl-async-util)
9663 ("cl-libuv" ,sbcl-cl-libuv)
9664 ("cl-ppcre" ,sbcl-cl-ppcre)
9665 ("static-vectors" ,sbcl-static-vectors)
9666 ("trivial-features" ,sbcl-trivial-features)
9667 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9668 (synopsis "Asynchronous operations for Common Lisp")))
9669
9670(define-public cl-async
9671 (sbcl-package->cl-source-package sbcl-cl-async))
9672
9673(define-public ecl-cl-async
9674 (sbcl-package->ecl-package sbcl-cl-async))
19f36366
GLV
9675
9676(define-public sbcl-cl-async-repl
9677 (package
9678 (inherit sbcl-cl-async-base)
9679 (name "sbcl-cl-async-repl")
9680 (inputs
9681 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9682 ("cl-async" ,sbcl-cl-async)))
9683 (arguments
9684 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9685 ((#:asd-file _ "") "cl-async-repl.asd")))
9686 (synopsis "REPL integration for cl-async")))
9687
9688(define-public cl-async-repl
9689 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9690
9691(define-public ecl-cl-async-repl
9692 (sbcl-package->ecl-package sbcl-cl-async-repl))
ae51aa91
GLV
9693
9694(define-public sbcl-cl-async-ssl
9695 (package
9696 (inherit sbcl-cl-async-base)
9697 (name "sbcl-cl-async-ssl")
9698 (inputs
9699 `(("cffi" ,sbcl-cffi)
9700 ("cl-async" ,sbcl-cl-async)
9701 ("openssl" ,openssl)
9702 ("vom" ,sbcl-vom)))
9703 (arguments
9704 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9705 ((#:asd-file _ "") "cl-async-ssl.asd")
9706 ((#:phases phases '%standard-phases)
9707 `(modify-phases ,phases
9708 (add-after 'unpack 'fix-paths
9709 (lambda* (#:key inputs #:allow-other-keys)
9710 (substitute* "src/ssl/package.lisp"
9711 (("libcrypto\\.so")
9712 (string-append (assoc-ref inputs "openssl")
9713 "/lib/libcrypto.so"))
9714 (("libssl\\.so")
9715 (string-append (assoc-ref inputs "openssl")
9716 "/lib/libssl.so")))
9717 #t))))))
9718 (synopsis "SSL wrapper around cl-async socket implementation")))
9719
9720(define-public cl-async-ssl
9721 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9722
9723(define-public ecl-cl-async-ssl
9724 (sbcl-package->ecl-package sbcl-cl-async-ssl))
34f9b581
GLV
9725
9726(define-public sbcl-blackbird
9727 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9728 (revision "1"))
9729 (package
9730 (name "sbcl-blackbird")
9731 (version (git-version "0.5.2" revision commit))
9732 (source
9733 (origin
9734 (method git-fetch)
9735 (uri (git-reference
b0e7b699 9736 (url "https://github.com/orthecreedence/blackbird")
34f9b581
GLV
9737 (commit commit)))
9738 (file-name (git-file-name name version))
9739 (sha256
9740 (base32
9741 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9742 (build-system asdf-build-system/sbcl)
9743 (inputs
9744 `(("vom" ,sbcl-vom)))
9745 (native-inputs
9746 `(("cl-async" ,sbcl-cl-async)
9747 ("fiveam" ,sbcl-fiveam)))
9748 (synopsis "Promise implementation for Common Lisp")
9749 (description
9750 "This is a standalone promise implementation for Common Lisp. It is
9751the successor to the now-deprecated cl-async-future project.")
e0318062 9752 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
9753 (license license:expat))))
9754
9755(define-public cl-blackbird
9756 (sbcl-package->cl-source-package sbcl-blackbird))
9757
9758(define-public ecl-blackbird
9759 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9760
9761(define-public sbcl-cl-async-future
9762 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9763 (revision "1"))
9764 (package
9765 (name "sbcl-cl-async-future")
9766 (version (git-version "0.4.4.1" revision commit))
9767 (source
9768 (origin
9769 (method git-fetch)
9770 (uri (git-reference
b0e7b699 9771 (url "https://github.com/orthecreedence/cl-async-future")
c5eedf80
GLV
9772 (commit commit)))
9773 (file-name (git-file-name name version))
9774 (sha256
9775 (base32
9776 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9777 (build-system asdf-build-system/sbcl)
9778 (inputs
9779 `(("blackbird" ,sbcl-blackbird)))
9780 (native-inputs
9781 `(("cl-async" ,sbcl-cl-async)
9782 ("eos" ,sbcl-eos)))
9783 (synopsis "Futures implementation for Common Lisp")
9784 (description
9785 "This is futures implementation for Common Lisp. It plugs in nicely
9786to cl-async.")
e0318062 9787 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
9788 (license license:expat))))
9789
9790(define-public cl-async-future
9791 (sbcl-package->cl-source-package sbcl-cl-async-future))
9792
9793(define-public ecl-cl-async-future
9794 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9795
9796(define-public sbcl-green-threads
9797 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9798 (revision "1"))
9799 (package
9800 (name "sbcl-green-threads")
9801 (version (git-version "0.3" revision commit))
9802 (source
9803 (origin
9804 (method git-fetch)
9805 (uri (git-reference
b0e7b699 9806 (url "https://github.com/thezerobit/green-threads")
8ea00edf
GLV
9807 (commit commit)))
9808 (file-name (git-file-name name version))
9809 (sha256
9810 (base32
9811 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9812 (build-system asdf-build-system/sbcl)
9813 (inputs
9814 `(("cl-async-future" ,sbcl-cl-async-future)
9815 ("cl-cont" ,sbcl-cl-cont)))
9816 (native-inputs
9817 `(("prove" ,sbcl-prove)))
9818 (arguments
9819 `(;; TODO: Fix the tests. They fail with:
9820 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9821 #:tests? #f
9822 #:phases
9823 (modify-phases %standard-phases
9824 (add-after 'unpack 'fix-tests
9825 (lambda _
9826 (substitute* "green-threads-test.asd"
9827 (("cl-test-more")
9828 "prove"))
9829 #t)))))
9830 (synopsis "Cooperative multitasking library for Common Lisp")
9831 (description
9832 "This library allows for cooperative multitasking with help of cl-cont
9833for continuations. It tries to mimic the API of bordeaux-threads as much as
9834possible.")
9835 (home-page "https://github.com/thezerobit/green-threads")
9836 (license license:bsd-3))))
9837
9838(define-public cl-green-threads
9839 (sbcl-package->cl-source-package sbcl-green-threads))
9840
9841(define-public ecl-green-threads
9842 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9843
9844(define-public sbcl-cl-base32
9845 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9846 (revision "1"))
9847 (package
9848 (name "sbcl-cl-base32")
9849 (version (git-version "0.1" revision commit))
9850 (source
9851 (origin
9852 (method git-fetch)
9853 (uri (git-reference
b0e7b699 9854 (url "https://github.com/hargettp/cl-base32")
3ac0e64d
GLV
9855 (commit commit)))
9856 (file-name (git-file-name name version))
9857 (sha256
9858 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9859 (build-system asdf-build-system/sbcl)
9860 (native-inputs
9861 `(("lisp-unit" ,sbcl-lisp-unit)))
9862 (synopsis "Common Lisp library for base32 encoding and decoding")
9863 (description
9864 "This package provides functions for base32 encoding and decoding as
9865defined in RFC4648.")
9866 (home-page "https://github.com/hargettp/cl-base32")
9867 (license license:expat))))
9868
9869(define-public cl-base32
9870 (sbcl-package->cl-source-package sbcl-cl-base32))
9871
9872(define-public ecl-cl-base32
9873 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9874
9875(define-public sbcl-cl-z85
9876 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9877 (revision "1"))
9878 (package
9879 (name "sbcl-cl-z85")
9880 (version (git-version "1.0" revision commit))
9881 (source
9882 (origin
9883 (method git-fetch)
9884 (uri (git-reference
b0e7b699 9885 (url "https://github.com/glv2/cl-z85")
c5bbcb82
GLV
9886 (commit commit)))
9887 (file-name (git-file-name name version))
9888 (sha256
9889 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9890 (build-system asdf-build-system/sbcl)
9891 (native-inputs
9892 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9893 ("fiveam" ,sbcl-fiveam)))
9894 (synopsis "Common Lisp library for Z85 encoding and decoding")
9895 (description
9896 "This package provides functions to encode or decode byte vectors or
9897byte streams using the Z85 format, which is a base-85 encoding used by
9898ZeroMQ.")
9899 (home-page "https://github.com/glv2/cl-z85")
9900 (license license:gpl3+))))
9901
9902(define-public cl-z85
9903 (sbcl-package->cl-source-package sbcl-cl-z85))
9904
9905(define-public ecl-cl-z85
9906 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9907
9908(define-public sbcl-ltk
9909 (package
9910 (name "sbcl-ltk")
9911 (version "0.992")
9912 (source
9913 (origin
9914 (method git-fetch)
9915 (uri (git-reference
b0e7b699 9916 (url "https://github.com/herth/ltk")
d3a2df68
GLV
9917 (commit version)))
9918 (file-name (git-file-name name version))
9919 (sha256
9920 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9921 (build-system asdf-build-system/sbcl)
9922 (inputs
9923 `(("imagemagick" ,imagemagick)
9924 ("tk" ,tk)))
9925 (arguments
9926 `(#:asd-file "ltk/ltk.asd"
9927 #:tests? #f
9928 #:phases (modify-phases %standard-phases
9929 (add-after 'unpack 'fix-paths
9930 (lambda* (#:key inputs #:allow-other-keys)
9931 (substitute* "ltk/ltk.lisp"
9932 (("#-freebsd \"wish\"")
9933 (string-append "#-freebsd \""
9934 (assoc-ref inputs "tk")
9935 "/bin/wish\""))
9936 (("do-execute \"convert\"")
9937 (string-append "do-execute \""
9938 (assoc-ref inputs "imagemagick")
9939 "/bin/convert\"")))
9940 #t)))))
9941 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9942 (description
9943 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9944in pure Common Lisp and does not require any Tk knowledge for its usage.")
9945 (home-page "http://www.peter-herth.de/ltk/")
9946 (license license:llgpl)))
9947
9948(define-public cl-ltk
9949 (sbcl-package->cl-source-package sbcl-ltk))
9950
9951(define-public ecl-ltk
9952 (sbcl-package->ecl-package sbcl-ltk))
811747f9
GLV
9953
9954(define-public sbcl-ltk-mw
9955 (package
9956 (inherit sbcl-ltk)
9957 (name "sbcl-ltk-mw")
9958 (inputs
9959 `(("ltk" ,sbcl-ltk)))
9960 (arguments
9961 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9962 ((#:asd-file _) "ltk/ltk-mw.asd")
9963 ((#:phases _) '%standard-phases)))
9964 (synopsis "Extra widgets for LTK")
9965 (description
9966 "This is a collection of higher-level widgets built on top of LTK.")))
9967
9968(define-public cl-ltk-mw
9969 (sbcl-package->cl-source-package sbcl-ltk-mw))
9970
9971(define-public ecl-ltk-mw
9972 (sbcl-package->ecl-package sbcl-ltk-mw))
b72629eb
GLV
9973
9974(define-public sbcl-ltk-remote
9975 (package
9976 (inherit sbcl-ltk)
9977 (name "sbcl-ltk-remote")
9978 (inputs
9979 `(("ltk" ,sbcl-ltk)))
9980 (arguments
9981 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9982 ((#:asd-file _) "ltk/ltk-remote.asd")
9983 ((#:phases _) '%standard-phases)))
9984 (synopsis "Remote GUI support for LTK")
9985 (description
9986 "This LTK extension allows the GUI to be displayed on a computer different
9987from the one running the Lisp program by using a TCP connection.")))
9988
9989(define-public cl-ltk-remote
9990 (sbcl-package->cl-source-package sbcl-ltk-remote))
95abaafb
GLV
9991
9992(define-public sbcl-cl-lex
9993 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9994 (revision "1"))
9995 (package
9996 (name "sbcl-cl-lex")
9997 (version (git-version "1.1.3" revision commit))
9998 (source
9999 (origin
10000 (method git-fetch)
10001 (uri (git-reference
b0e7b699 10002 (url "https://github.com/djr7C4/cl-lex")
95abaafb
GLV
10003 (commit commit)))
10004 (file-name (git-file-name name version))
10005 (sha256
10006 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
10007 (build-system asdf-build-system/sbcl)
10008 (inputs
10009 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10010 (synopsis "Common Lisp macros for generating lexical analyzers")
10011 (description
10012 "This is a Common Lisp library providing a set of macros for generating
10013lexical analyzers automatically. The lexers generated using @code{cl-lex} can
10014be used with @code{cl-yacc}.")
10015 (home-page "https://github.com/djr7C4/cl-lex")
10016 (license license:gpl3))))
10017
10018(define-public cl-lex
10019 (sbcl-package->cl-source-package sbcl-cl-lex))
10020
10021(define-public ecl-cl-lex
10022 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
10023
10024(define-public sbcl-clunit2
10025 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
10026 (revision "1"))
10027 (package
10028 (name "sbcl-clunit2")
10029 (version (git-version "0.2.4" revision commit))
10030 (source
10031 (origin
10032 (method git-fetch)
10033 (uri (git-reference
10034 (url "https://notabug.org/cage/clunit2.git")
10035 (commit commit)))
10036 (file-name (git-file-name name version))
10037 (sha256
10038 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
10039 (build-system asdf-build-system/sbcl)
10040 (synopsis "Unit testing framework for Common Lisp")
10041 (description
10042 "CLUnit is a Common Lisp unit testing framework. It is designed to be
10043easy to use so that you can quickly start testing.")
10044 (home-page "https://notabug.org/cage/clunit2")
10045 (license license:expat))))
10046
10047(define-public cl-clunit2
10048 (sbcl-package->cl-source-package sbcl-clunit2))
10049
10050(define-public ecl-clunit2
10051 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
10052
10053(define-public sbcl-cl-colors2
10054 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
10055 (revision "1"))
10056 (package
10057 (name "sbcl-cl-colors2")
10058 (version (git-version "0.2.1" revision commit))
10059 (source
10060 (origin
10061 (method git-fetch)
10062 (uri (git-reference
10063 (url "https://notabug.org/cage/cl-colors2.git")
10064 (commit commit)))
10065 (file-name (git-file-name name version))
10066 (sha256
10067 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
10068 (build-system asdf-build-system/sbcl)
10069 (native-inputs
10070 `(("clunit2" ,sbcl-clunit2)))
10071 (inputs
10072 `(("alexandria" ,sbcl-alexandria)
10073 ("cl-ppcre" ,sbcl-cl-ppcre)))
10074 (synopsis "Color library for Common Lisp")
10075 (description
10076 "This is a very simple color library for Common Lisp, providing:
10077
10078@itemize
10079@item Types for representing colors in HSV and RGB spaces.
10080@item Simple conversion functions between the above types (and also
10081hexadecimal representation for RGB).
10082@item Some predefined colors (currently X11 color names -- of course
10083the library does not depend on X11).
10084@end itemize\n")
10085 (home-page "https://notabug.org/cage/cl-colors2")
10086 (license license:boost1.0))))
10087
10088(define-public cl-colors2
10089 (sbcl-package->cl-source-package sbcl-cl-colors2))
10090
10091(define-public ecl-cl-colors2
10092 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
10093
10094(define-public sbcl-cl-jpeg
10095 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10096 (revision "1"))
10097 (package
10098 (name "sbcl-cl-jpeg")
10099 (version (git-version "2.8" revision commit))
10100 (source
10101 (origin
10102 (method git-fetch)
10103 (uri (git-reference
b0e7b699 10104 (url "https://github.com/sharplispers/cl-jpeg")
d5f63a73
GLV
10105 (commit commit)))
10106 (file-name (git-file-name name version))
10107 (sha256
10108 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10109 (build-system asdf-build-system/sbcl)
10110 (synopsis "JPEG image library for Common Lisp")
10111 (description
10112 "This is a baseline JPEG codec written in Common Lisp. It can be used
10113for reading and writing JPEG image files.")
10114 (home-page "https://github.com/sharplispers/cl-jpeg")
10115 (license license:bsd-3))))
10116
10117(define-public cl-jpeg
10118 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10119
10120(define-public ecl-cl-jpeg
10121 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
10122
10123(define-public sbcl-nodgui
10124 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10125 (revision "1"))
10126 (package
10127 (name "sbcl-nodgui")
10128 (version (git-version "0.0.5" revision commit))
10129 (source
10130 (origin
10131 (method git-fetch)
10132 (uri (git-reference
10133 (url "https://notabug.org/cage/nodgui.git")
10134 (commit commit)))
10135 (file-name (git-file-name name version))
10136 (sha256
10137 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10138 (build-system asdf-build-system/sbcl)
10139 (inputs
10140 `(("alexandria" ,sbcl-alexandria)
10141 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10142 ("cl-colors2" ,sbcl-cl-colors2)
10143 ("cl-jpeg" ,sbcl-cl-jpeg)
10144 ("cl-lex" ,sbcl-cl-lex)
10145 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10146 ("cl-unicode" ,sbcl-cl-unicode)
10147 ("cl-yacc" ,sbcl-cl-yacc)
10148 ("clunit2" ,sbcl-clunit2)
10149 ("named-readtables" ,sbcl-named-readtables)
10150 ("parse-number" ,sbcl-parse-number)
10151 ("tk" ,tk)))
10152 (arguments
10153 `(#:phases (modify-phases %standard-phases
10154 (add-after 'unpack 'fix-paths
10155 (lambda* (#:key inputs #:allow-other-keys)
10156 (substitute* "src/wish-communication.lisp"
10157 (("#-freebsd \"wish\"")
10158 (string-append "#-freebsd \""
10159 (assoc-ref inputs "tk")
10160 "/bin/wish\"")))
10161 #t)))))
10162 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10163 (description
10164 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10165toolkit. It also provides a few additional widgets more than the standard Tk
10166ones.")
10167 (home-page "https://www.autistici.org/interzona/nodgui.html")
10168 (license license:llgpl))))
10169
10170(define-public cl-nodgui
10171 (sbcl-package->cl-source-package sbcl-nodgui))
10172
10173(define-public ecl-nodgui
10174 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
10175
10176(define-public sbcl-salza2
10177 (package
10178 (name "sbcl-salza2")
10179 (version "2.0.9")
10180 (source
10181 (origin
10182 (method git-fetch)
10183 (uri (git-reference
b0e7b699 10184 (url "https://github.com/xach/salza2")
46cc2a38
GLV
10185 (commit (string-append "release-" version))))
10186 (file-name (git-file-name name version))
10187 (sha256
10188 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10189 (build-system asdf-build-system/sbcl)
10190 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10191 (description
10192 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10193deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10194respectively.")
10195 (home-page "https://www.xach.com/lisp/salza2/")
10196 (license license:bsd-2)))
10197
10198(define-public cl-salza2
10199 (sbcl-package->cl-source-package sbcl-salza2))
10200
10201(define-public ecl-salza2
10202 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
10203
10204(define-public sbcl-png-read
10205 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10206 (revision "1"))
10207 (package
10208 (name "sbcl-png-read")
10209 (version (git-version "0.3.1" revision commit))
10210 (source
10211 (origin
10212 (method git-fetch)
10213 (uri (git-reference
b0e7b699 10214 (url "https://github.com/Ramarren/png-read")
d165821e
GLV
10215 (commit commit)))
10216 (file-name (git-file-name name version))
10217 (sha256
10218 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10219 (build-system asdf-build-system/sbcl)
10220 (inputs
10221 `(("babel" ,sbcl-babel)
10222 ("chipz" ,sbcl-chipz)
10223 ("iterate" ,sbcl-iterate)))
10224 (synopsis "PNG decoder for Common Lisp")
10225 (description "This is a Common Lisp library for reading PNG images.")
10226 (home-page "https://github.com/Ramarren/png-read")
10227 (license license:bsd-3))))
10228
10229(define-public cl-png-read
10230 (sbcl-package->cl-source-package sbcl-png-read))
10231
10232(define-public ecl-png-read
10233 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
10234
10235(define-public sbcl-zpng
10236 (package
10237 (name "sbcl-zpng")
10238 (version "1.2.2")
10239 (source
10240 (origin
10241 (method git-fetch)
10242 (uri (git-reference
b0e7b699 10243 (url "https://github.com/xach/zpng")
7b875e4e
GLV
10244 (commit (string-append "release-" version))))
10245 (file-name (git-file-name name version))
10246 (sha256
10247 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10248 (build-system asdf-build-system/sbcl)
10249 (inputs
10250 `(("salza2" ,sbcl-salza2)))
10251 (synopsis "PNG encoder for Common Lisp")
10252 (description "This is a Common Lisp library for creating PNG images.")
10253 (home-page "https://www.xach.com/lisp/zpng/")
10254 (license license:bsd-2)))
10255
10256(define-public cl-zpng
10257 (sbcl-package->cl-source-package sbcl-zpng))
10258
10259(define-public ecl-zpng
10260 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
10261
10262(define-public sbcl-cl-qrencode
10263 (package
10264 (name "sbcl-cl-qrencode")
10265 (version "0.1.2")
10266 (source
10267 (origin
10268 (method git-fetch)
10269 (uri (git-reference
b0e7b699 10270 (url "https://github.com/jnjcc/cl-qrencode")
5d4d4c01
GLV
10271 (commit (string-append "v" version))))
10272 (file-name (git-file-name name version))
10273 (sha256
10274 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10275 (build-system asdf-build-system/sbcl)
10276 (native-inputs
10277 `(("lisp-unit" ,sbcl-lisp-unit)))
10278 (inputs
10279 `(("zpng" ,sbcl-zpng)))
10280 (synopsis "QR code encoder for Common Lisp")
10281 (description
10282 "This Common Lisp library provides function to make QR codes and to save
10283them as PNG files.")
10284 (home-page "https://github.com/jnjcc/cl-qrencode")
10285 (license license:gpl2+)))
10286
10287(define-public cl-qrencode
10288 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10289
10290(define-public ecl-cl-qrencode
10291 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
10292
10293(define-public sbcl-hdf5-cffi
10294 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10295 (revision "1"))
10296 (package
10297 (name "sbcl-hdf5-cffi")
10298 (version (git-version "1.8.18" revision commit))
10299 (source
10300 (origin
10301 (method git-fetch)
10302 (uri (git-reference
b0e7b699 10303 (url "https://github.com/hdfgroup/hdf5-cffi")
c6397e3e
KH
10304 (commit commit)))
10305 (file-name (git-file-name name version))
10306 (sha256
10307 (base32
10308 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10309 (build-system asdf-build-system/sbcl)
10310 (synopsis "Common Lisp bindings for the HDF5 library")
10311 (description
10312 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10313 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10314 (license (license:non-copyleft
10315 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10316 commit
10317 "/LICENSE")))
10318 (inputs
10319 `(("cffi" ,sbcl-cffi)
10320 ("cffi-grovel" ,sbcl-cffi-grovel)
10321 ("hdf5" ,hdf5-1.10)))
10322 (native-inputs
10323 `(("fiveam" ,sbcl-fiveam)))
10324 (arguments
10325 `(#:asd-system-name "hdf5-cffi"
10326 #:asd-file "hdf5-cffi.asd"
10327 #:test-asd-file "hdf5-cffi.test.asd"
10328 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10329 ;; I don't know if there is a way to tell asdf-build-system to load
10330 ;; an additional system first, so tests are disabled.
10331 #:tests? #f
10332 #:phases
10333 (modify-phases %standard-phases
10334 (add-after 'unpack 'fix-paths
10335 (lambda* (#:key inputs #:allow-other-keys)
10336 (substitute* "src/library.lisp"
10337 (("libhdf5.so")
10338 (string-append
10339 (assoc-ref inputs "hdf5")
10340 "/lib/libhdf5.so")))))
10341 (add-after 'unpack 'fix-dependencies
10342 (lambda* (#:key inputs #:allow-other-keys)
10343 (substitute* "hdf5-cffi.asd"
10344 ((":depends-on \\(:cffi\\)")
10345 ":depends-on (:cffi :cffi-grovel)"))
10346 (substitute* "hdf5-cffi.test.asd"
10347 ((":depends-on \\(:cffi :hdf5-cffi")
10348 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10349
10350(define-public cl-hdf5-cffi
10351 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10352
10353(define-public ecl-hdf5-cffi
10354 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
10355
10356(define-public sbcl-cl-randist
10357 (package
10358 (name "sbcl-cl-randist")
10359 (version "0.4.2")
10360 (source
10361 (origin
10362 (method git-fetch)
10363 (uri (git-reference
b0e7b699 10364 (url "https://github.com/lvaruzza/cl-randist")
c6e6254a
KH
10365 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10366 (file-name (git-file-name name version))
10367 (sha256
10368 (base32
10369 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10370 (build-system asdf-build-system/sbcl)
10371 (synopsis "Random distributions for Common Lisp")
10372 (description
10373 "Manual translation from C to Common Lisp of some random number
10374generation functions from the GSL library.")
10375 (home-page "https://github.com/lvaruzza/cl-randist")
10376 (license license:bsd-2)
10377 (arguments
10378 `(#:asd-system-name "cl-randist"
10379 #:asd-file "cl-randist.asd"
10380 #:tests? #f))))
10381
10382(define-public cl-randist
10383 (sbcl-package->cl-source-package sbcl-cl-randist))
10384
10385(define-public ecl-cl-randist
10386 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
10387
10388(define-public sbcl-float-features
10389 (package
10390 (name "sbcl-float-features")
10391 (version "1.0.0")
10392 (source
10393 (origin
10394 (method git-fetch)
10395 (uri (git-reference
b0e7b699 10396 (url "https://github.com/Shinmera/float-features")
41884bfa
KH
10397 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10398 (file-name (git-file-name name version))
10399 (sha256
10400 (base32
10401 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10402 (build-system asdf-build-system/sbcl)
10403 (synopsis "Common Lisp IEEE float portability library")
10404 (description
10405 "Portability library for IEEE float features that are not
10406covered by the Common Lisp standard.")
10407 (home-page "https://github.com/Shinmera/float-features")
10408 (license license:zlib)
10409 (inputs
10410 `(("documentation-utils" ,sbcl-documentation-utils)))
10411 (arguments
10412 `(#:asd-system-name "float-features"
10413 #:asd-file "float-features.asd"
10414 #:tests? #f))))
10415
10416(define-public cl-float-features
10417 (sbcl-package->cl-source-package sbcl-float-features))
10418
10419(define-public ecl-float-features
10420 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
10421
10422(define-public sbcl-function-cache
10423 (package
10424 (name "sbcl-function-cache")
10425 (version "1.0.3")
10426 (source
10427 (origin
10428 (method git-fetch)
10429 (uri (git-reference
b0e7b699 10430 (url "https://github.com/AccelerationNet/function-cache")
06327c30
KH
10431 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10432 (file-name (git-file-name name version))
10433 (sha256
10434 (base32
10435 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10436 (build-system asdf-build-system/sbcl)
10437 (synopsis "Function caching / memoization library for Common Lisp")
10438 (description
10439 "A common lisp library that provides extensible function result
10440caching based on arguments (an expanded form of memoization).")
10441 (home-page "https://github.com/AccelerationNet/function-cache")
10442 (license
10443 (license:non-copyleft
10444 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10445 (inputs
10446 `(("alexandria" ,sbcl-alexandria)
10447 ("cl-interpol" ,sbcl-cl-interpol)
10448 ("iterate" ,sbcl-iterate)
10449 ("symbol-munger" ,sbcl-symbol-munger)
10450 ("closer-mop" ,sbcl-closer-mop)))
10451 (arguments
10452 `(#:asd-system-name "function-cache"
10453 #:asd-file "function-cache.asd"
10454 #:tests? #f))))
10455
10456(define-public cl-function-cache
10457 (sbcl-package->cl-source-package sbcl-function-cache))
10458
10459(define-public ecl-function-cache
10460 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87
KH
10461
10462(define-public sbcl-type-r
10463 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10464 (revision "1"))
10465 (package
10466 (name "sbcl-type-r")
10467 (version (git-version "0.0.0" revision commit))
10468 (source
10469 (origin
10470 (method git-fetch)
10471 (uri (git-reference
b0e7b699 10472 (url "https://github.com/guicho271828/type-r")
e4f7ef87
KH
10473 (commit commit)))
10474 (file-name (git-file-name name version))
10475 (sha256
10476 (base32
10477 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10478 (build-system asdf-build-system/sbcl)
10479 (synopsis "Parser interface for Common Lisp built-in compound types")
10480 (description
10481 "Collections of accessor functions and patterns to access
10482the elements in compound type specifier, e.g. @code{dimensions} in
10483@code{(array element-type dimensions)}")
10484 (home-page "https://github.com/guicho271828/type-r")
10485 (license license:lgpl3+)
10486 (inputs
10487 `(("trivia" ,sbcl-trivia)
10488 ("alexandria" ,sbcl-alexandria)))
10489 (native-inputs
10490 `(("fiveam" ,sbcl-fiveam)))
10491 (arguments
10492 `(#:asd-system-name "type-r"
10493 #:asd-file "type-r.asd"
10494 #:test-asd-file "type-r.test.asd")))))
10495
10496(define-public cl-type-r
10497 (sbcl-package->cl-source-package sbcl-type-r))
8926866e
KH
10498
10499(define-public sbcl-trivialib-type-unify
10500 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10501 (revision "1"))
10502 (package
10503 (name "sbcl-trivialib-type-unify")
10504 (version (git-version "0.1" revision commit))
10505 (source
10506 (origin
10507 (method git-fetch)
10508 (uri (git-reference
b0e7b699 10509 (url "https://github.com/guicho271828/trivialib.type-unify")
8926866e
KH
10510 (commit commit)))
10511 (file-name (git-file-name name version))
10512 (sha256
10513 (base32
10514 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10515 (build-system asdf-build-system/sbcl)
10516 (synopsis "Common Lisp type unification")
10517 (description
10518 "Unifies a parametrized type specifier against an actual type specifier.
10519Importantly, it handles complicated array-subtypes and number-related types
10520correctly.")
10521 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10522 (license license:lgpl3+)
10523 (inputs
10524 `(("alexandria" ,sbcl-alexandria)
10525 ("trivia" ,sbcl-trivia)
10526 ("introspect-environment" ,sbcl-introspect-environment)
10527 ("type-r" ,sbcl-type-r)))
10528 (native-inputs
10529 `(("fiveam" ,sbcl-fiveam)))
10530 (arguments
10531 `(#:asd-system-name "trivialib.type-unify"
10532 #:asd-file "trivialib.type-unify.asd"
10533 #:test-asd-file "trivialib.type-unify.test.asd")))))
10534
10535(define-public cl-trivialib-type-unify
10536 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f
KH
10537
10538(define-public sbcl-specialized-function
10539 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10540 (revision "1"))
10541 (package
10542 (name "sbcl-specialized-function")
10543 (version (git-version "0.0.0" revision commit))
10544 (source
10545 (origin
10546 (method git-fetch)
10547 (uri (git-reference
b0e7b699 10548 (url "https://github.com/numcl/specialized-function")
ca6c5c7f
KH
10549 (commit commit)))
10550 (file-name (git-file-name name version))
10551 (sha256
10552 (base32
10553 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10554 (build-system asdf-build-system/sbcl)
10555 (synopsis "Julia-like dispatch for Common Lisp")
10556 (description
10557 "This library is part of NUMCL. It provides a macro
10558@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10559lazily compiling a type-specific version of the function from the same
10560code. The main target of this macro is speed.")
10561 (home-page "https://github.com/numcl/specialized-function")
10562 (license license:lgpl3+)
10563 (inputs
10564 `(("trivia" ,sbcl-trivia)
10565 ("alexandria" ,sbcl-alexandria)
10566 ("iterate" ,sbcl-iterate)
10567 ("lisp-namespace" ,sbcl-lisp-namespace)
10568 ("type-r" ,sbcl-type-r)
10569 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10570 (native-inputs
10571 `(("fiveam" ,sbcl-fiveam)))
10572 (arguments
10573 `(#:asd-system-name "specialized-function"
10574 #:asd-file "specialized-function.asd"
10575 #:test-asd-file "specialized-function.test.asd")))))
10576
10577(define-public cl-specialized-function
10578 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95
KH
10579
10580(define-public sbcl-constantfold
10581 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10582 (revision "1"))
10583 (package
10584 (name "sbcl-constantfold")
10585 (version (git-version "0.1" revision commit))
10586 (source
10587 (origin
10588 (method git-fetch)
10589 (uri (git-reference
b0e7b699 10590 (url "https://github.com/numcl/constantfold")
6e0f2b95
KH
10591 (commit commit)))
10592 (file-name (git-file-name name version))
10593 (sha256
10594 (base32
10595 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10596 (build-system asdf-build-system/sbcl)
10597 (synopsis "Support library for numcl")
10598 (description
10599 "Support library for numcl. Registers a function as an
10600additional form that is considered as a candidate for a constant.")
10601 (home-page "https://github.com/numcl/constantfold")
10602 (license license:lgpl3+)
10603 (inputs
10604 `(("trivia" ,sbcl-trivia)
10605 ("alexandria" ,sbcl-alexandria)
10606 ("iterate" ,sbcl-iterate)
10607 ("lisp-namespace" ,sbcl-lisp-namespace)))
10608 (native-inputs
10609 `(("fiveam" ,sbcl-fiveam)))
10610 (arguments
10611 `(#:asd-system-name "constantfold"
10612 #:asd-file "constantfold.asd"
10613 #:test-asd-file "constantfold.test.asd")))))
10614
10615(define-public cl-constantfold
10616 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186
KH
10617
10618(define-public sbcl-gtype
10619 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10620 (revision "1"))
10621 (package
10622 (name "sbcl-gtype")
10623 (version (git-version "0.1" revision commit))
10624 (source
10625 (origin
10626 (method git-fetch)
10627 (uri (git-reference
b0e7b699 10628 (url "https://github.com/numcl/gtype")
5ce7d186
KH
10629 (commit commit)))
10630 (file-name (git-file-name name version))
10631 (sha256
10632 (base32
10633 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10634 (build-system asdf-build-system/sbcl)
10635 (synopsis "C++/Julia-like parametric types in Common Lisp")
10636 (description
10637 "Support library for numcl that provides Julia-like runtime parametric
10638type correctness in Common Lisp. It is based on CLtL2 extensions.")
10639 (home-page "https://github.com/numcl/gtype")
10640 (license license:lgpl3+)
10641 (inputs
10642 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10643 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10644 ("trivia" ,sbcl-trivia)
10645 ("alexandria" ,sbcl-alexandria)
10646 ("iterate" ,sbcl-iterate)
10647 ("type-r" ,sbcl-type-r)))
10648 (native-inputs
10649 `(("fiveam" ,sbcl-fiveam)))
10650 (arguments
10651 `(#:asd-system-name "gtype"
10652 #:asd-file "gtype.asd"
10653 #:test-asd-file "gtype.test.asd")))))
10654
10655(define-public cl-gtype
10656 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200
KH
10657
10658(define-public sbcl-numcl
10659 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10660 (revision "1"))
10661 (package
10662 (name "sbcl-numcl")
10663 (version (git-version "0.1.0" revision commit))
10664 (source
10665 (origin
10666 (method git-fetch)
10667 (uri (git-reference
b0e7b699 10668 (url "https://github.com/numcl/numcl")
7ad12200
KH
10669 (commit commit)))
10670 (file-name (git-file-name name version))
10671 (sha256
10672 (base32
10673 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10674 (build-system asdf-build-system/sbcl)
10675 (synopsis "Numpy clone in Common Lisp")
10676 (description
10677 "This is a Numpy clone in Common Lisp. At the moment the
10678library is written in pure Common Lisp, focusing more on correctness
10679and usefulness, not speed. Track the progress at
10680@url{https://github.com/numcl/numcl/projects/1}.")
10681 (home-page "https://github.com/numcl/numcl")
10682 (license license:lgpl3+)
10683 (inputs
10684 `(("trivia" ,sbcl-trivia)
10685 ("alexandria" ,sbcl-alexandria)
10686 ("iterate" ,sbcl-iterate)
10687 ("lisp-namespace" ,sbcl-lisp-namespace)
10688 ("type-r" ,sbcl-type-r)
10689 ("constantfold" ,sbcl-constantfold)
10690 ("cl-randist" ,sbcl-cl-randist)
10691 ("float-features" ,sbcl-float-features)
10692 ("function-cache" ,sbcl-function-cache)
10693 ("specialized-function" ,sbcl-specialized-function)
10694 ("gtype" ,sbcl-gtype)))
10695 (native-inputs
10696 `(("fiveam" ,sbcl-fiveam)))
10697 (arguments
10698 `(#:asd-system-name "numcl"
10699 #:asd-file "numcl.asd"
10700 #:test-asd-file "numcl.test.asd")))))
10701
10702(define-public cl-numcl
10703 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410
GLV
10704
10705(define-public sbcl-pzmq
10706 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10707 (revision "1"))
10708 (package
10709 (name "sbcl-pzmq")
10710 (version (git-version "0.0.0" revision commit))
10711 (source
10712 (origin
10713 (method git-fetch)
10714 (uri (git-reference
b0e7b699 10715 (url "https://github.com/orivej/pzmq")
a3f6c410
GLV
10716 (commit commit)))
10717 (file-name (git-file-name name version))
10718 (sha256
10719 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10720 (build-system asdf-build-system/sbcl)
10721 (native-inputs
10722 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10723 ("fiveam" ,sbcl-fiveam)
10724 ("let-plus" ,sbcl-let-plus)))
10725 (inputs
10726 `(("cffi" ,sbcl-cffi)
10727 ("cffi-grovel" ,sbcl-cffi-grovel)
10728 ("zeromq" ,zeromq)))
10729 (arguments
10730 `(#:phases (modify-phases %standard-phases
10731 (add-after 'unpack 'fix-paths
10732 (lambda* (#:key inputs #:allow-other-keys)
10733 (substitute* "c-api.lisp"
10734 (("\"libzmq")
10735 (string-append "\""
10736 (assoc-ref inputs "zeromq")
10737 "/lib/libzmq")))
10738 #t)))))
10739 (synopsis "Common Lisp bindings for the ZeroMQ library")
10740 (description "This Common Lisp library provides bindings for the ZeroMQ
10741lightweight messaging kernel.")
10742 (home-page "https://github.com/orivej/pzmq")
10743 (license license:unlicense))))
10744
10745(define-public cl-pzmq
10746 (sbcl-package->cl-source-package sbcl-pzmq))
10747
10748(define-public ecl-pzmq
10749 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10750
10751(define-public sbcl-clss
10752 (let ((revision "1")
10753 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10754 (package
10755 (name "sbcl-clss")
10756 (version (git-version "0.3.1" revision commit))
10757 (source
10758 (origin
10759 (method git-fetch)
10760 (uri
10761 (git-reference
b0e7b699 10762 (url "https://github.com/Shinmera/clss")
cfc9004e
DD
10763 (commit commit)))
10764 (sha256
10765 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10766 (file-name (git-file-name name version))))
10767 (inputs
10768 `(("array-utils" ,sbcl-array-utils)
10769 ("plump" ,sbcl-plump)))
10770 (build-system asdf-build-system/sbcl)
10771 (synopsis "DOM tree searching engine based on CSS selectors")
10772 (description "CLSS is a DOM traversal engine based on CSS
10773selectors. It makes use of the Plump-DOM and is used by lQuery.")
10774 (home-page "https://github.com/Shinmera/clss")
10775 (license license:zlib))))
10776
10777(define-public cl-clss
10778 (sbcl-package->cl-source-package sbcl-clss))
10779
10780(define-public ecl-clss
10781 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10782
10783(define-public sbcl-lquery
10784 (let ((revision "1")
10785 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10786 (package
10787 (name "sbcl-lquery")
10788 (version (git-version "3.2.1" revision commit))
10789 (source
10790 (origin
10791 (method git-fetch)
10792 (uri
10793 (git-reference
b0e7b699 10794 (url "https://github.com/Shinmera/lquery")
eb859957
DD
10795 (commit commit)))
10796 (sha256
10797 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10798 (file-name (git-file-name name version))))
10799 (native-inputs
10800 `(("fiveam" ,sbcl-fiveam)))
10801 (inputs
10802 `(("array-utils" ,sbcl-array-utils)
10803 ("form-fiddle" ,sbcl-form-fiddle)
10804 ("plump" ,sbcl-plump)
10805 ("clss" ,sbcl-clss)))
10806 (build-system asdf-build-system/sbcl)
10807 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10808 (description "@code{lQuery} is a DOM manipulation library written in
10809Common Lisp, inspired by and based on the jQuery syntax and
10810functions. It uses Plump and CLSS as DOM and selector engines. The
10811main idea behind lQuery is to provide a simple interface for crawling
10812and modifying HTML sites, as well as to allow for an alternative
10813approach to templating.")
10814 (home-page "https://github.com/Shinmera/lquery")
10815 (license license:zlib))))
10816
10817(define-public cl-lquery
10818 (sbcl-package->cl-source-package sbcl-lquery))
10819
10820(define-public ecl-lquery
10821 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10822
10823(define-public sbcl-cl-mysql
10824 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10825 (revision "1"))
10826 (package
10827 (name "sbcl-cl-mysql")
10828 (version (git-version "0.1" revision commit))
10829 (source
10830 (origin
10831 (method git-fetch)
10832 (uri (git-reference
b0e7b699 10833 (url "https://github.com/hackinghat/cl-mysql")
8a6c0f55
GLV
10834 (commit commit)))
10835 (file-name (git-file-name name version))
10836 (sha256
10837 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10838 (build-system asdf-build-system/sbcl)
10839 (native-inputs
10840 `(("stefil" ,sbcl-stefil)))
10841 (inputs
10842 `(("cffi" ,sbcl-cffi)
10843 ("mariadb-lib" ,mariadb "lib")))
10844 (arguments
10845 `(#:tests? #f ; TODO: Tests require a running server
10846 #:phases
10847 (modify-phases %standard-phases
10848 (add-after 'unpack 'fix-paths
10849 (lambda* (#:key inputs #:allow-other-keys)
10850 (substitute* "system.lisp"
10851 (("libmysqlclient_r" all)
10852 (string-append (assoc-ref inputs "mariadb-lib")
10853 "/lib/"
10854 all)))
10855 #t)))))
10856 (synopsis "Common Lisp wrapper for MySQL")
10857 (description
10858 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10859 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10860 (license license:expat))))
10861
10862(define-public cl-mysql
10863 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2
GLV
10864
10865(define-public sbcl-simple-date
10866 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10867 (revision "1"))
10868 (package
10869 (name "sbcl-simple-date")
10870 (version (git-version "1.19" revision commit))
10871 (source
10872 (origin
10873 (method git-fetch)
10874 (uri (git-reference
b0e7b699 10875 (url "https://github.com/marijnh/Postmodern")
c79ea1a2
GLV
10876 (commit commit)))
10877 (file-name (git-file-name name version))
10878 (sha256
10879 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10880 (build-system asdf-build-system/sbcl)
10881 (native-inputs
10882 `(("fiveam" ,sbcl-fiveam)))
10883 (synopsis "Basic date and time objects for Common Lisp")
10884 (description
10885 "@code{simple-date} is a very basic implementation of date and time
10886objects, used to support storing and retrieving time-related SQL types.")
10887 (home-page "https://marijnhaverbeke.nl/postmodern/")
10888 (license license:zlib))))
10889
10890(define-public cl-simple-date
10891 (sbcl-package->cl-source-package sbcl-simple-date))
10892
10893(define-public ecl-simple-date
10894 (sbcl-package->ecl-package sbcl-simple-date))
f5203d25
GLV
10895
10896(define-public sbcl-cl-postgres
10897 (package
10898 (inherit sbcl-simple-date)
10899 (name "sbcl-cl-postgres")
10900 (native-inputs
10901 `(("fiveam" ,sbcl-fiveam)
10902 ("simple-date" ,sbcl-simple-date)))
10903 (inputs
10904 `(("md5" ,sbcl-md5)
10905 ("split-sequence" ,sbcl-split-sequence)
10906 ("usocket" ,sbcl-usocket)))
10907 (arguments
10908 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10909 (synopsis "Common Lisp interface for PostgreSQL")
10910 (description
10911 "@code{cl-postgres} is a low-level library used for interfacing with
10912a PostgreSQL server over a socket.")))
10913
10914(define-public cl-postgres
10915 (sbcl-package->cl-source-package sbcl-cl-postgres))
acba62d9 10916
257cf3e7
PN
10917(define-public ecl-cl-postgres
10918 (package
10919 (inherit (sbcl-package->ecl-package sbcl-cl-postgres))
10920 (arguments
10921 `(#:phases
10922 (modify-phases %standard-phases
10923 (add-after 'unpack 'fix-ecl
10924 (lambda _
10925 (substitute* "cl-postgres.asd"
10926 (("\\) \"usocket\"") " :ecl) \"usocket\""))
10927 #t)))
10928 #:tests? #f))))
10929
acba62d9
GLV
10930(define-public sbcl-simple-date-postgres-glue
10931 (package
10932 (inherit sbcl-simple-date)
10933 (name "sbcl-simple-date-postgres-glue")
10934 (inputs
10935 `(("cl-postgres" ,sbcl-cl-postgres)
10936 ("simple-date" ,sbcl-simple-date)))
10937 (arguments
10938 `(#:asd-file "simple-date.asd"
10939 #:asd-system-name "simple-date/postgres-glue"))))
10940
10941(define-public cl-simple-date-postgres-glue
10942 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
88dbe39b
GLV
10943
10944(define-public sbcl-s-sql
10945 (package
10946 (inherit sbcl-simple-date)
10947 (name "sbcl-s-sql")
10948 (inputs
10949 `(("alexandria" ,sbcl-alexandria)
10950 ("cl-postgres" ,sbcl-cl-postgres)))
10951 (arguments
10952 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
10953 (synopsis "Lispy DSL for SQL")
10954 (description
10955 "@code{s-sql} is a Common Lisp library that can be used to compile
10956s-expressions to strings of SQL code, escaping any Lisp values inside, and
10957doing as much as possible of the work at compile time.")))
10958
10959(define-public cl-s-sql
10960 (sbcl-package->cl-source-package sbcl-s-sql))
add1a356
GLV
10961
10962(define-public sbcl-postmodern
10963 (package
10964 (inherit sbcl-simple-date)
10965 (name "sbcl-postmodern")
10966 (native-inputs
10967 `(("fiveam" ,sbcl-fiveam)
10968 ("simple-date" ,sbcl-simple-date)
10969 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
10970 (inputs
10971 `(("alexandria" ,sbcl-alexandria)
10972 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10973 ("cl-postgres" ,sbcl-cl-postgres)
10974 ("closer-mop" ,sbcl-closer-mop)
10975 ("global-vars" ,sbcl-global-vars)
10976 ("s-sql" ,sbcl-s-sql)
10977 ("split-sequence" ,sbcl-split-sequence)))
10978 (arguments
10979 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
10980 ;; cl-postgres/tests and s-sql/tests.
10981 `(#:tests? #f))
10982 (synopsis "Common Lisp library for interacting with PostgreSQL")
10983 (description
10984 "@code{postmodern} is a Common Lisp library for interacting with
10985PostgreSQL databases. It provides the following features:
10986
10987@itemize
10988@item Efficient communication with the database server without need for
10989foreign libraries.
10990@item Support for UTF-8 on Unicode-aware Lisp implementations.
10991@item A syntax for mixing SQL and Lisp code.
10992@item Convenient support for prepared statements and stored procedures.
10993@item A metaclass for simple database-access objects.
10994@end itemize\n")))
10995
10996(define-public cl-postmodern
10997 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0
GLV
10998
10999(define-public sbcl-dbi
11000 (package
11001 (name "sbcl-dbi")
11002 (version "0.9.4")
11003 (source
11004 (origin
11005 (method git-fetch)
11006 (uri (git-reference
b0e7b699 11007 (url "https://github.com/fukamachi/cl-dbi")
47a6cde0
GLV
11008 (commit version)))
11009 (file-name (git-file-name name version))
11010 (sha256
11011 (base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs"))))
11012 (build-system asdf-build-system/sbcl)
11013 (inputs
11014 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11015 ("closer-mop" ,sbcl-closer-mop)
11016 ("split-sequence" ,sbcl-split-sequence)))
11017 (arguments
11018 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
11019 (synopsis "Database independent interface for Common Lisp")
11020 (description
11021 "@code{dbi} is a Common Lisp library providing a database independent
11022interface for MySQL, PostgreSQL and SQLite.")
11023 (home-page "https://github.com/fukamachi/cl-dbi")
11024 (license license:llgpl)))
11025
11026(define-public cl-dbi
11027 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81
GLV
11028
11029(define-public sbcl-dbd-mysql
11030 (package
11031 (inherit sbcl-dbi)
11032 (name "sbcl-dbd-mysql")
11033 (inputs
11034 `(("cl-mysql" ,sbcl-cl-mysql)
11035 ("dbi" ,sbcl-dbi)))
11036 (synopsis "Database driver for MySQL")))
11037
11038(define-public cl-dbd-mysql
11039 (sbcl-package->cl-source-package sbcl-dbd-mysql))
af469826
GLV
11040
11041(define-public sbcl-dbd-postgres
11042 (package
11043 (inherit sbcl-dbi)
11044 (name "sbcl-dbd-postgres")
11045 (inputs
11046 `(("cl-postgres" ,sbcl-cl-postgres)
11047 ("dbi" ,sbcl-dbi)
11048 ("trivial-garbage" ,sbcl-trivial-garbage)))
11049 (synopsis "Database driver for PostgreSQL")))
11050
11051(define-public cl-dbd-postgres
11052 (sbcl-package->cl-source-package sbcl-dbd-postgres))
0e9fc3d6
GLV
11053
11054(define-public sbcl-dbd-sqlite3
11055 (package
11056 (inherit sbcl-dbi)
11057 (name "sbcl-dbd-sqlite3")
11058 (inputs
11059 `(("cl-sqlite" ,sbcl-cl-sqlite)
11060 ("dbi" ,sbcl-dbi)
11061 ("trivial-garbage" ,sbcl-trivial-garbage)))
11062 (synopsis "Database driver for SQLite3")))
11063
11064(define-public cl-dbd-sqlite3
11065 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
1aa7ad1f
GLV
11066
11067(define-public sbcl-uffi
11068 (package
11069 (name "sbcl-uffi")
11070 (version "2.1.2")
11071 (source
11072 (origin
11073 (method git-fetch)
11074 (uri (git-reference
11075 (url "http://git.kpe.io/uffi.git")
11076 (commit (string-append "v" version))))
11077 (file-name (git-file-name name version))
11078 (sha256
11079 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
11080 (build-system asdf-build-system/sbcl)
11081 (arguments
11082 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
11083 #:phases
11084 (modify-phases %standard-phases
11085 (add-after 'unpack 'fix-permissions
11086 (lambda _
11087 (make-file-writable "doc/html.tar.gz")
11088 #t)))))
11089 (synopsis "Universal foreign function library for Common Lisp")
11090 (description
11091 "UFFI provides a universal foreign function interface (FFI)
11092 for Common Lisp.")
11093 (home-page "http://quickdocs.org/uffi/")
11094 (license license:llgpl)))
11095
11096(define-public cl-uffi
11097 (package
11098 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11099 (arguments
11100 `(#:phases
11101 ;; asdf-build-system/source has its own phases and does not inherit
11102 ;; from asdf-build-system/sbcl phases.
11103 (modify-phases %standard-phases/source
11104 (add-after 'unpack 'fix-permissions
11105 (lambda _
11106 (make-file-writable "doc/html.tar.gz")
11107 #t)))))))
5ae56f68
GLV
11108
11109(define-public sbcl-clsql
11110 (package
11111 (name "sbcl-clsql")
11112 (version "6.7.0")
11113 (source
11114 (origin
11115 (method git-fetch)
11116 (uri (git-reference
11117 (url "http://git.kpe.io/clsql.git")
11118 (commit (string-append "v" version))))
11119 (file-name (git-file-name name version))
11120 (sha256
11121 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11122 (snippet
11123 '(begin
11124 ;; Remove precompiled libraries.
11125 (delete-file "db-mysql/clsql_mysql.dll")
11126 (delete-file "uffi/clsql_uffi.dll")
11127 (delete-file "uffi/clsql_uffi.lib")
11128 #t))))
11129 (build-system asdf-build-system/sbcl)
11130 (native-inputs
11131 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11132 ("rt" ,sbcl-rt)
11133 ("uffi" ,sbcl-uffi)))
11134 (arguments
11135 `(#:phases
11136 (modify-phases %standard-phases
11137 (add-after 'unpack 'fix-permissions
11138 (lambda _
11139 (make-file-writable "doc/html.tar.gz")
11140 #t))
11141 (add-after 'unpack 'fix-tests
11142 (lambda _
11143 (substitute* "clsql.asd"
11144 (("clsql-tests :force t")
11145 "clsql-tests"))
11146 #t)))))
11147 (synopsis "Common Lisp SQL Interface library")
11148 (description
11149 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11150Xanalys CommonSQL interface for Lispworks. It provides low-level database
11151interfaces as well as a functional and an object oriented interface.")
11152 (home-page "http://clsql.kpe.io/")
11153 (license license:llgpl)))
11154
11155(define-public cl-clsql
11156 (package
11157 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11158 (native-inputs
11159 `(("rt" ,cl-rt)))
11160 (inputs
11161 `(("mysql" ,mysql)
11162 ("postgresql" ,postgresql)
11163 ("sqlite" ,sqlite)
11164 ("zlib" ,zlib)))
11165 (propagated-inputs
11166 `(("cl-postgres" ,cl-postgres)
11167 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11168 ("md5" ,cl-md5)
11169 ("uffi" ,cl-uffi)))
11170 (arguments
11171 `(#:phases
11172 ;; asdf-build-system/source has its own phases and does not inherit
11173 ;; from asdf-build-system/sbcl phases.
11174 (modify-phases %standard-phases/source
11175 (add-after 'unpack 'fix-permissions
11176 (lambda _
11177 (make-file-writable "doc/html.tar.gz")
11178 #t)))))))
a5f44287
GLV
11179
11180(define-public sbcl-clsql-uffi
11181 (package
11182 (inherit sbcl-clsql)
11183 (name "sbcl-clsql-uffi")
11184 (inputs
11185 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11186 ("clsql" ,sbcl-clsql)
11187 ("uffi" ,sbcl-uffi)))
11188 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
5ad8d7aa
GLV
11189
11190(define-public sbcl-clsql-sqlite3
11191 (package
11192 (inherit sbcl-clsql)
11193 (name "sbcl-clsql-sqlite3")
11194 (inputs
11195 `(("clsql" ,sbcl-clsql)
11196 ("clsql-uffi" ,sbcl-clsql-uffi)
11197 ("sqlite" ,sqlite)))
11198 (arguments
11199 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11200 ((#:phases phases '%standard-phases)
11201 `(modify-phases ,phases
11202 (add-after 'unpack 'fix-paths
11203 (lambda* (#:key inputs #:allow-other-keys)
11204 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11205 (("libsqlite3")
11206 (string-append (assoc-ref inputs "sqlite")
11207 "/lib/libsqlite3")))
11208 #t))))))
11209 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
cd53df62
GLV
11210
11211(define-public sbcl-clsql-postgresql
11212 (package
11213 (inherit sbcl-clsql)
11214 (name "sbcl-clsql-postgresql")
11215 (inputs
11216 `(("clsql" ,sbcl-clsql)
11217 ("clsql-uffi" ,sbcl-clsql-uffi)
11218 ("postgresql" ,postgresql)))
11219 (arguments
11220 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11221 ((#:phases phases '%standard-phases)
11222 `(modify-phases ,phases
11223 (add-after 'unpack 'fix-paths
11224 (lambda* (#:key inputs #:allow-other-keys)
11225 (substitute* "db-postgresql/postgresql-loader.lisp"
11226 (("libpq")
11227 (string-append (assoc-ref inputs "postgresql")
11228 "/lib/libpq")))
11229 #t))))))
11230 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
f9680d52
GLV
11231
11232(define-public sbcl-clsql-postgresql-socket3
11233 (package
11234 (inherit sbcl-clsql)
11235 (name "sbcl-clsql-postgresql-socket3")
11236 (inputs
11237 `(("cl-postgres" ,sbcl-cl-postgres)
11238 ("clsql" ,sbcl-clsql)
11239 ("md5" ,sbcl-md5)))
11240 (arguments
11241 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11242 ((#:phases phases '%standard-phases)
11243 `(modify-phases ,phases
11244 (add-after 'create-asd-file 'fix-asd-file
11245 (lambda* (#:key outputs #:allow-other-keys)
11246 (let* ((out (assoc-ref outputs "out"))
11247 (lib (string-append out "/lib/" (%lisp-type)))
11248 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11249 (substitute* asd
11250 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11251 "")))
11252 #t))))))
11253 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
079ee3b5
GLV
11254
11255(define-public sbcl-clsql-mysql
11256 (package
11257 (inherit sbcl-clsql)
11258 (name "sbcl-clsql-mysql")
11259 (inputs
11260 `(("mysql" ,mysql)
11261 ("sbcl-clsql" ,sbcl-clsql)
11262 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11263 ("zlib" ,zlib)))
11264 (arguments
11265 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11266 ((#:phases phases '%standard-phases)
11267 `(modify-phases ,phases
11268 (add-after 'unpack 'fix-paths
11269 (lambda* (#:key inputs outputs #:allow-other-keys)
11270 (let ((lib (string-append "#p\""
11271 (assoc-ref outputs "out")
11272 "/lib/\"")))
11273 (substitute* "clsql-mysql.asd"
11274 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11275 lib))
11276 (substitute* "db-mysql/mysql-loader.lisp"
11277 (("libmysqlclient" all)
11278 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11279 (("clsql-mysql-system::\\*library-file-dir\\*")
11280 lib)))
11281 #t))
11282 (add-before 'build 'build-helper-library
11283 (lambda* (#:key inputs outputs #:allow-other-keys)
11284 (let* ((mysql (assoc-ref inputs "mysql"))
11285 (inc-dir (string-append mysql "/include/mysql"))
11286 (lib-dir (string-append mysql "/lib"))
11287 (shared-lib-dir (string-append (assoc-ref outputs "out")
11288 "/lib"))
11289 (shared-lib (string-append shared-lib-dir
11290 "/clsql_mysql.so")))
11291 (mkdir-p shared-lib-dir)
11292 (invoke "gcc" "-fPIC" "-shared"
11293 "-I" inc-dir
11294 "db-mysql/clsql_mysql.c"
11295 "-Wl,-soname=clsql_mysql"
11296 "-L" lib-dir "-lmysqlclient" "-lz"
11297 "-o" shared-lib)
11298 #t)))))))
11299 (synopsis "MySQL driver for Common Lisp SQL interface library")))
6dfc981a
PN
11300
11301(define-public sbcl-sycamore
11302 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
11303 (package
11304 (name "sbcl-sycamore")
11305 (version "0.0.20120604")
11306 (source
11307 (origin
11308 (method git-fetch)
11309 (uri (git-reference
11310 (url "https://github.com/ndantam/sycamore/")
11311 (commit commit)))
11312 (file-name (git-file-name name version))
11313 (sha256
11314 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
11315 (build-system asdf-build-system/sbcl)
11316 (arguments
11317 `(#:asd-file "src/sycamore.asd"))
11318 (inputs
11319 `(("alexandria" ,sbcl-alexandria)
11320 ("cl-ppcre" ,sbcl-cl-ppcre)))
11321 (synopsis "Purely functional data structure library in Common Lisp")
11322 (description
11323 "Sycamore is a fast, purely functional data structure library in Common Lisp.
11324If features:
11325
11326@itemize
11327@item Fast, purely functional weight-balanced binary trees.
11328@item Leaf nodes are simple-vectors, greatly reducing tree height.
11329@item Interfaces for tree Sets and Maps (dictionaries).
11330@item Ropes.
11331@item Purely functional pairing heaps.
11332@item Purely functional amortized queue.
11333@end itemize\n")
11334 (home-page "http://ndantam.github.io/sycamore/")
11335 (license license:bsd-3))))
11336
11337(define-public cl-sycamore
11338 (sbcl-package->cl-source-package sbcl-sycamore))
eb5341c2
PN
11339
11340(define-public sbcl-trivial-package-local-nicknames
11341 (package
11342 (name "sbcl-trivial-package-local-nicknames")
11343 (version "0.2")
11344 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11345 (source
11346 (origin
11347 (method git-fetch)
11348 (uri (git-reference
11349 (url home-page)
11350 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11351 (file-name (git-file-name name version))
11352 (sha256
11353 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11354 (build-system asdf-build-system/sbcl)
11355 (synopsis "Common Lisp compatibility library for package local nicknames")
11356 (description
11357 "This library is a portable compatibility layer around package local nicknames (PLN).
11358This was done so there is a portability library for the PLN API not included
11359in DEFPACKAGE.")
11360 (license license:unlicense)))
11361
11362(define-public cl-trivial-package-local-nicknames
11363 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
2fa04968
PN
11364
11365(define-public sbcl-enchant
11366 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
11367 (package
11368 (name "sbcl-enchant")
11369 (version (git-version "0.0.0" "1" commit))
11370 (home-page "https://github.com/tlikonen/cl-enchant")
11371 (source
11372 (origin
11373 (method git-fetch)
11374 (uri (git-reference
11375 (url home-page)
11376 (commit commit)))
11377 (file-name (git-file-name name version))
11378 (sha256
11379 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
11380 (build-system asdf-build-system/sbcl)
11381 (inputs
11382 `(("enchant" ,enchant)
11383 ("cffi" ,sbcl-cffi)))
11384 (arguments
11385 `(#:phases
11386 (modify-phases %standard-phases
11387 (add-after 'unpack 'fix-paths
11388 (lambda* (#:key inputs #:allow-other-keys)
11389 (substitute* "load-enchant.lisp"
11390 (("libenchant")
11391 (string-append
11392 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
11393 (synopsis "Common Lisp interface for the Enchant spell-checker library")
11394 (description
11395 "Enchant is a Common Lisp interface for the Enchant spell-checker
11396library. The Enchant library is a generic spell-checker library which uses
11397other spell-checkers transparently as back-end. The library supports the
11398multiple checkers, including Aspell and Hunspell.")
11399 (license license:public-domain))))
11400
11401(define-public cl-enchant
11402 (sbcl-package->cl-source-package sbcl-enchant))
df95189d
PN
11403
11404(define-public sbcl-cl-change-case
11405 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
11406 (package
11407 (name "sbcl-cl-change-case")
11408 (version (git-version "0.1.0" "1" commit))
11409 (home-page "https://github.com/rudolfochrist/cl-change-case")
11410 (source
11411 (origin
11412 (method git-fetch)
11413 (uri (git-reference
11414 (url home-page)
11415 (commit commit)))
11416 (file-name (git-file-name name version))
11417 (sha256
11418 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
11419 (build-system asdf-build-system/sbcl)
11420 (inputs
11421 `(("cl-ppcre" ,sbcl-cl-ppcre)
11422 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
11423 (native-inputs
11424 `(("fiveam" ,sbcl-fiveam)))
11425 (arguments
11426 '(;; FIXME: Test pass but phase fails with 'Component
11427 ;; "cl-change-case-test" not found, required by'.
11428 #:tests? #f
11429 #:test-asd-file "cl-change-case-test.asd"))
11430 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
11431 (description
11432 "@code{cl-change-case} is library to convert strings between camelCase,
11433PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
11434 (license license:llgpl))))
11435
11436(define-public cl-change-case
11437 (sbcl-package->cl-source-package sbcl-cl-change-case))
53c05faf
PN
11438
11439(define-public sbcl-moptilities
11440 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
11441 (package
11442 (name "sbcl-moptilities")
11443 (version (git-version "0.3.13" "1" commit))
11444 (home-page "https://github.com/gwkkwg/moptilities/")
11445 (source
11446 (origin
11447 (method git-fetch)
11448 (uri (git-reference
11449 (url home-page)
11450 (commit commit)))
11451 (file-name (git-file-name name version))
11452 (sha256
11453 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
11454 (build-system asdf-build-system/sbcl)
11455 (inputs
11456 `(("closer-mop" ,sbcl-closer-mop)))
11457 (native-inputs
11458 `(("lift" ,sbcl-lift)))
11459 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
11460 (description
11461 "MOP utilities provide a common interface between Lisps and make the
11462MOP easier to use.")
11463 (license license:expat))))
11464
11465(define-public cl-moptilities
11466 (sbcl-package->cl-source-package sbcl-moptilities))
8cf6d150
PN
11467
11468(define-public sbcl-osicat
11469 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
11470 (package
11471 (name "sbcl-osicat")
11472 (version (git-version "0.7.0" "1" commit))
11473 (home-page "http://www.common-lisp.net/project/osicat/")
11474 (source
11475 (origin
11476 (method git-fetch)
11477 (uri (git-reference
11478 (url "https://github.com/osicat/osicat")
11479 (commit commit)))
11480 (file-name (git-file-name name version))
11481 (sha256
11482 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
11483 (build-system asdf-build-system/sbcl)
11484 (arguments
11485 `(#:phases
11486 (modify-phases %standard-phases
192177b0
PN
11487 ;; The cleanup phase moves files around but we need to keep the
11488 ;; directory structure for the grovel-generated library.
11489 (replace 'cleanup
8cf6d150
PN
11490 (lambda* (#:key outputs #:allow-other-keys)
11491 (let* ((out (assoc-ref outputs "out"))
192177b0
PN
11492 (lib (string-append out "/lib/sbcl/")))
11493 (delete-file-recursively (string-append lib "src"))
11494 (delete-file-recursively (string-append lib "tests"))
11495 (for-each delete-file
11496 (filter (lambda (file)
11497 (not (member (basename file) '("libosicat.so"))))
11498 (find-files (string-append lib "posix") ".*"))))
11499 #t)))))
8cf6d150
PN
11500 (inputs
11501 `(("alexandria" ,sbcl-alexandria)
11502 ("cffi" ,sbcl-cffi)
11503 ("trivial-features" ,sbcl-trivial-features)))
11504 (native-inputs
11505 `(("cffi-grovel" ,sbcl-cffi-grovel)
11506 ("rt" ,sbcl-rt)))
11507 (synopsis "Operating system interface for Common Lisp")
11508 (description
11509 "Osicat is a lightweight operating system interface for Common Lisp on
11510Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
11511accompaniment to the standard ANSI facilities.")
11512 (license license:expat))))
11513
11514(define-public cl-osicat
11515 (sbcl-package->cl-source-package sbcl-osicat))
b2eae0e1 11516
152d50d9
KCB
11517(define-public sbcl-clx-xembed
11518 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
11519 (revision "1"))
11520 (package
11521 (name "sbcl-clx-xembed")
11522 (version (git-version "0.1" revision commit))
11523 (home-page "https://github.com/laynor/clx-xembed")
11524 (source
11525 (origin
11526 (method git-fetch)
11527 (uri (git-reference
b0e7b699 11528 (url "https://github.com/laynor/clx-xembed")
152d50d9
KCB
11529 (commit commit)))
11530 (file-name (git-file-name name version))
11531 (sha256
11532 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
11533 (build-system asdf-build-system/sbcl)
11534 (arguments
11535 `(#:asd-system-name "xembed"))
11536 (inputs
11537 `(("sbcl-clx" ,sbcl-clx)))
11538 (synopsis "CL(x) xembed protocol implementation ")
11539 (description "CL(x) xembed protocol implementation")
11540 ;; MIT License
11541 (license license:expat))))
11542
11543(define-public cl-clx-xembed
11544 (sbcl-package->cl-source-package sbcl-clx-xembed))
11545
11546(define-public ecl-clx-xembed
11547 (sbcl-package->ecl-package sbcl-clx-xembed))
11548
b2eae0e1
KCB
11549(define-public sbcl-quantile-estimator
11550 (package
11551 (name "sbcl-quantile-estimator")
11552 (version "0.0.1")
11553 (source
11554 (origin
11555 (method git-fetch)
11556 (uri (git-reference
11557 (url "https://github.com/deadtrickster/quantile-estimator.cl")
11558 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
11559 (file-name (git-file-name name version))
11560 (sha256
11561 (base32
11562 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
11563 (build-system asdf-build-system/sbcl)
11564 (arguments
11565 '(#:asd-system-name "quantile-estimator"))
11566 (inputs
11567 `(("alexandria" ,sbcl-alexandria)))
11568 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
11569 (synopsis
11570 "Effective computation of biased quantiles over data streams")
11571 (description
11572 "Common Lisp implementation of Graham Cormode and S.
11573Muthukrishnan's Effective Computation of Biased Quantiles over Data
11574Streams in ICDE’05.")
11575 (license license:expat)))
11576
11577(define-public cl-quantile-estimator
11578 (sbcl-package->cl-source-package sbcl-quantile-estimator))
11579
11580(define-public ecl-quantile-estimator
11581 (sbcl-package->ecl-package sbcl-quantile-estimator))
4c7c3077
KCB
11582
11583(define-public sbcl-prometheus
11584 (package
11585 (name "sbcl-prometheus")
11586 (version "0.4.1")
11587 (source
11588 (origin
11589 (method git-fetch)
11590 (uri (git-reference
b0e7b699 11591 (url "https://github.com/deadtrickster/prometheus.cl")
4c7c3077
KCB
11592 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
11593 (file-name (git-file-name name version))
11594 (sha256
11595 (base32
11596 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
11597 (build-system asdf-build-system/sbcl)
11598 (inputs
11599 `(("alexandria" ,sbcl-alexandria)
11600 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11601 ("cl-ppcre" ,sbcl-cl-ppcre)
11602 ("local-time" ,sbcl-local-time)
11603 ("quantile-estimator" ,sbcl-quantile-estimator)))
11604 (home-page "https://github.com/deadtrickster/prometheus.cl")
11605 (synopsis "Prometheus.io Common Lisp client")
11606 (description "Prometheus.io Common Lisp client.")
11607 (license license:expat)))
11608
11609(define-public cl-prometheus
11610 (sbcl-package->cl-source-package sbcl-prometheus))
11611
11612(define-public ecl-prometheus
11613 (sbcl-package->ecl-package sbcl-prometheus))
4e21f5bc
KCB
11614
11615(define-public sbcl-prometheus.collectors.sbcl
11616 (package
11617 (inherit sbcl-prometheus)
11618 (name "sbcl-prometheus.collectors.sbcl")
11619 (inputs `(("prometheus" ,sbcl-prometheus)))
11620 (synopsis "Prometheus collector for SBCL metrics")
11621 (description "Prometheus collector for SBCL metrics.")))
11622
11623(define-public cl-prometheus.collectors.sbcl
11624 (sbcl-package->cl-source-package sbcl-prometheus.collectors.sbcl))
b4ece1a2
KCB
11625
11626(define-public sbcl-prometheus.collectors.process
11627 (package
11628 (inherit sbcl-prometheus)
11629 (name "sbcl-prometheus.collectors.process")
11630 (inputs
11631 `(("cffi" ,sbcl-cffi)
11632 ("cffi-grovel" ,sbcl-cffi-grovel)
11633 ("cl-fad" ,sbcl-cl-fad)
11634 ("prometheus" ,sbcl-prometheus)
11635 ("split-sequence" ,sbcl-split-sequence)))
11636 (synopsis "Prometheus collector for process metrics")
11637 (description "Prometheus collector for process metrics.")))
11638
11639(define-public cl-prometheus.collectors.process
11640 (sbcl-package->cl-source-package sbcl-prometheus.collectors.process))
11641
11642(define-public ecl-prometheus.collectors.process
11643 (sbcl-package->ecl-package sbcl-prometheus.collectors.process))
78d1aa9e
KCB
11644
11645(define-public sbcl-prometheus.formats.text
11646 (package
11647 (inherit sbcl-prometheus)
11648 (name "sbcl-prometheus.formats.text")
11649 (inputs
11650 `(("alexandria" ,sbcl-alexandria)
11651 ("prometheus" ,sbcl-prometheus)))
11652 (synopsis "Prometheus client text format")
11653 (description "Prometheus client text format.")))
11654
11655(define-public cl-prometheus.formats.text
11656 (sbcl-package->cl-source-package sbcl-prometheus.formats.text))
11657
11658(define-public ecl-prometheus.formats.text
11659 (sbcl-package->ecl-package sbcl-prometheus.formats.text))
019ff3c3
KCB
11660
11661(define-public sbcl-prometheus.exposers.hunchentoot
11662 (package
11663 (inherit sbcl-prometheus)
11664 (name "sbcl-prometheus.exposers.hunchentoot")
11665 (inputs
11666 `(("hunchentoot" ,sbcl-hunchentoot)
11667 ("prometheus" ,sbcl-prometheus)
11668 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)
11669 ("salza2" ,sbcl-salza2)
11670 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11671 (synopsis "Prometheus collector for Hunchentoot metrics")
11672 (description "Prometheus collector for Hunchentoot metrics")))
11673
11674(define-public cl-prometheus.exposers.hunchentoot
11675 (sbcl-package->cl-source-package sbcl-prometheus.exposers.hunchentoot))
9e20646b
KCB
11676
11677(define-public sbcl-prometheus.pushgateway
11678 (package
11679 (inherit sbcl-prometheus)
11680 (name "sbcl-prometheus.pushgateway")
11681 (inputs
11682 `(("drakma" ,sbcl-drakma)
11683 ("prometheus" ,sbcl-prometheus)
11684 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)))
11685 (synopsis "Prometheus Pushgateway client")
11686 (description "Prometheus Pushgateway client.")))
11687
11688(define-public cl-prometheus.pushgateway
11689 (sbcl-package->cl-source-package sbcl-prometheus.pushgateway))
11690
11691(define-public ecl-prometheus.pushgateway
11692 (sbcl-package->ecl-package sbcl-prometheus.pushgateway))
59dda970
KCB
11693
11694(define-public sbcl-uuid
11695 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11696 (package
11697 (name "sbcl-uuid")
11698 (version (git-version "2012.12.26" "1" commit))
11699 (source
11700 (origin
11701 (method git-fetch)
11702 (uri (git-reference
b0e7b699 11703 (url "https://github.com/dardoria/uuid")
59dda970
KCB
11704 (commit commit)))
11705 (file-name (git-file-name name version))
11706 (sha256
11707 (base32
11708 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11709 (build-system asdf-build-system/sbcl)
11710 (inputs
11711 `(("ironclad" ,sbcl-ironclad)
11712 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11713 (home-page "https://github.com/dardoria/uuid")
11714 (synopsis
11715 "Common Lisp implementation of UUIDs according to RFC4122")
11716 (description
11717 "Common Lisp implementation of UUIDs according to RFC4122.")
11718 (license license:llgpl))))
11719
11720(define-public cl-uuid
11721 (sbcl-package->cl-source-package sbcl-uuid))
11722
11723(define-public ecl-uuid
11724 (sbcl-package->ecl-package sbcl-uuid))
adf70454
KCB
11725
11726(define-public sbcl-dissect
11727 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11728 (package
11729 (name "sbcl-dissect")
11730 (version (git-version "1.0.0" "1" commit))
11731 (source
11732 (origin
11733 (method git-fetch)
11734 (uri (git-reference
b0e7b699 11735 (url "https://github.com/Shinmera/dissect")
adf70454
KCB
11736 (commit commit)))
11737 (file-name (git-file-name name version))
11738 (sha256
11739 (base32
11740 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11741 (build-system asdf-build-system/sbcl)
11742 (inputs
11743 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11744 (home-page "https://shinmera.github.io/dissect/")
11745 (synopsis
11746 "Introspection library for the call stack and restarts")
11747 (description
11748 "Dissect is a small Common Lisp library for introspecting the call stack
11749and active restarts.")
11750 (license license:zlib))))
11751
11752(define-public cl-dissect
11753 (sbcl-package->cl-source-package sbcl-dissect))
11754
11755(define-public ecl-dissect
11756 (sbcl-package->ecl-package sbcl-dissect))
38d738e9
KCB
11757
11758;; TODO: Uses ASDF's package-inferred-system which is not supported by
11759;; asdf-build-system/sbcl as of 2020-05-21. We should fix
11760;; asdf-build-system/sbcl.
11761(define-public sbcl-rove
11762 (package
11763 (name "sbcl-rove")
11764 (version "0.9.6")
11765 (source
11766 (origin
11767 (method git-fetch)
11768 (uri (git-reference
b0e7b699 11769 (url "https://github.com/fukamachi/rove")
38d738e9
KCB
11770 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11771 (file-name (git-file-name name version))
11772 (sha256
11773 (base32
11774 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11775 (build-system asdf-build-system/sbcl)
11776 (inputs
11777 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11778 ("dissect" ,sbcl-dissect)
11779 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11780 (home-page "https://github.com/fukamachi/rove")
11781 (synopsis
11782 "Yet another common lisp testing library")
11783 (description
11784 "Rove is a unit testing framework for Common Lisp applications.
11785This is intended to be a successor of Prove.")
11786 (license license:bsd-3)))
11787
11788(define-public cl-rove
11789 (sbcl-package->cl-source-package sbcl-rove))
11790
11791(define-public ecl-rove
11792 (sbcl-package->ecl-package sbcl-rove))
aae3df18
KCB
11793
11794(define-public sbcl-exponential-backoff
11795 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11796 (package
11797 (name "sbcl-exponential-backoff")
11798 (version (git-version "0" "1" commit))
11799 (source
11800 (origin
11801 (method git-fetch)
11802 (uri (git-reference
b0e7b699 11803 (url "https://github.com/death/exponential-backoff")
aae3df18
KCB
11804 (commit commit)))
11805 (file-name (git-file-name name version))
11806 (sha256
11807 (base32
11808 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11809 (build-system asdf-build-system/sbcl)
11810 (home-page "https://github.com/death/exponential-backoff")
11811 (synopsis "Exponential backoff algorithm in Common Lisp")
11812 (description
11813 "An implementation of the exponential backoff algorithm in Common Lisp.
11814Inspired by the implementation found in Chromium. Read the header file to
11815learn about each of the parameters.")
11816 (license license:expat))))
11817
11818(define-public cl-exponential-backoff
11819 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11820
11821(define-public ecl-exponential-backoff
11822 (sbcl-package->ecl-package sbcl-exponential-backoff))
3e736218
KCB
11823
11824(define-public sbcl-sxql
11825 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
11826 (package
11827 (name "sbcl-sxql")
11828 (version (git-version "0.1.0" "1" commit))
11829 (source
11830 (origin
11831 (method git-fetch)
11832 (uri (git-reference
b0e7b699 11833 (url "https://github.com/fukamachi/sxql")
3e736218
KCB
11834 (commit commit)))
11835 (file-name (git-file-name name version))
11836 (sha256
11837 (base32
11838 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
11839 (build-system asdf-build-system/sbcl)
11840 (arguments
11841 `(#:test-asd-file "sxql-test.asd"))
11842 (inputs
11843 `(("alexandria" ,sbcl-alexandria)
11844 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
11845 ("iterate" ,sbcl-iterate)
11846 ("optima" ,sbcl-optima)
11847 ("split-sequence" ,sbcl-split-sequence)
11848 ("trivial-types" ,sbcl-trivial-types)))
11849 (native-inputs
11850 `(("prove" ,sbcl-prove)
11851 ("prove-asdf" ,sbcl-prove-asdf)))
11852 (home-page "https://github.com/fukamachi/sxql")
11853 (synopsis "SQL generator for Common Lisp")
11854 (description "SQL generator for Common Lisp.")
11855 (license license:bsd-3))))
11856
11857(define-public cl-sxql
11858 (sbcl-package->cl-source-package sbcl-sxql))
11859
11860(define-public ecl-sxql
11861 (sbcl-package->ecl-package sbcl-sxql))
1f9999df
KCB
11862
11863(define-public sbcl-1am
11864 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11865 (package
11866 (name "sbcl-1am")
11867 (version (git-version "0.0" "1" commit))
11868 (source
11869 (origin
11870 (method git-fetch)
11871 (uri (git-reference
b0e7b699 11872 (url "https://github.com/lmj/1am")
1f9999df
KCB
11873 (commit commit)))
11874 (file-name (git-file-name name version))
11875 (sha256
11876 (base32
11877 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11878 (build-system asdf-build-system/sbcl)
11879 (arguments
11880 `(#:asd-system-name "1am"))
11881 (home-page "https://github.com/lmj/1am")
11882 (synopsis "Minimal testing framework for Common Lisp")
11883 (description "A minimal testing framework for Common Lisp.")
11884 (license license:expat))))
11885
11886(define-public cl-1am
11887 (sbcl-package->cl-source-package sbcl-1am))
11888
11889(define-public ecl-1am
11890 (sbcl-package->ecl-package sbcl-1am))
d7c60681
GLV
11891
11892(define-public sbcl-cl-ascii-table
11893 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11894 (revision "1"))
11895 (package
11896 (name "sbcl-cl-ascii-table")
11897 (version (git-version "0.0.0" revision commit))
11898 (source
11899 (origin
11900 (method git-fetch)
11901 (uri (git-reference
b0e7b699 11902 (url "https://github.com/telephil/cl-ascii-table")
d7c60681
GLV
11903 (commit commit)))
11904 (file-name (git-file-name name version))
11905 (sha256
11906 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11907 (build-system asdf-build-system/sbcl)
11908 (synopsis "Library to make ascii-art tables")
11909 (description
11910 "This is a Common Lisp library to present tabular data in ascii-art
11911tables.")
11912 (home-page "https://github.com/telephil/cl-ascii-table")
11913 (license license:expat))))
11914
11915(define-public cl-ascii-table
11916 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11917
11918(define-public ecl-cl-ascii-table
11919 (sbcl-package->ecl-package sbcl-cl-ascii-table))
64174aff
KCB
11920
11921(define-public sbcl-cl-rdkafka
11922 (package
11923 (name "sbcl-cl-rdkafka")
11924 (version "1.0.2")
11925 (source
11926 (origin
11927 (method git-fetch)
11928 (uri (git-reference
b0e7b699 11929 (url "https://github.com/SahilKang/cl-rdkafka")
64174aff
KCB
11930 (commit (string-append "v" version))))
11931 (file-name (git-file-name name version))
11932 (sha256
11933 (base32
11934 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
11935 (build-system asdf-build-system/sbcl)
11936 (arguments
11937 `(#:tests? #f ; Attempts to connect to locally running Kafka
11938 #:phases
11939 (modify-phases %standard-phases
11940 (add-after 'unpack 'fix-paths
11941 (lambda* (#:key inputs #:allow-other-keys)
11942 (substitute* "src/low-level/librdkafka-bindings.lisp"
11943 (("librdkafka" all)
11944 (string-append (assoc-ref inputs "librdkafka") "/lib/"
11945 all)))))
11946 (add-before 'cleanup 'move-bundle
11947 (lambda* (#:key outputs #:allow-other-keys)
11948 (let* ((out (assoc-ref outputs "out"))
11949 (actual (string-append out "/lib/sbcl/src/cl-rdkafka.fasl"))
11950 (expected (string-append
11951 out "/lib/sbcl/cl-rdkafka--system.fasl")))
11952 (copy-file actual expected)
11953 #t))))))
11954 (inputs
11955 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11956 ("cffi" ,sbcl-cffi)
11957 ("cffi-grovel" ,sbcl-cffi-grovel)
11958 ("librdkafka" ,librdkafka)
11959 ("lparallel" ,sbcl-lparallel)
11960 ("trivial-garbage" ,sbcl-trivial-garbage)))
11961 (home-page "https://github.com/SahilKang/cl-rdkafka")
11962 (synopsis "Common Lisp client library for Apache Kafka")
11963 (description "A Common Lisp client library for Apache Kafka.")
11964 (license license:gpl3)))
11965
11966(define-public cl-rdkafka
11967 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
04dd8018
PN
11968
11969(define-public sbcl-acclimation
11970 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11971 (package
11972 (name "sbcl-acclimation")
11973 (version (git-version "0.0.0" "1" commit))
11974 (source
11975 (origin
11976 (method git-fetch)
11977 (uri (git-reference
11978 (url "https://github.com/robert-strandh/Acclimation")
11979 (commit commit)))
11980 (file-name (git-file-name name version))
11981 (sha256
11982 (base32
11983 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11984 (build-system asdf-build-system/sbcl)
11985 (home-page "https://github.com/robert-strandh/Acclimation")
11986 (synopsis "Internationalization library for Common Lisp")
11987 (description "This project is meant to provide tools for
11988internationalizing Common Lisp programs.
11989
11990One important aspect of internationalization is of course the language used in
11991error messages, documentation strings, etc. But with this project we provide
11992tools for all other aspects of internationalization as well, including dates,
11993weight, temperature, names of physical quantitites, etc.")
11994 (license license:bsd-2))))
11995
11996(define-public cl-acclimation
11997 (sbcl-package->cl-source-package sbcl-acclimation))
ba1727b0
PN
11998
11999(define-public sbcl-clump-2-3-tree
12000 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
12001 (package
12002 (name "sbcl-clump-2-3-tree")
12003 (version (git-version "0.0.0" "1" commit))
12004 (source
12005 (origin
12006 (method git-fetch)
12007 (uri (git-reference
12008 (url "https://github.com/robert-strandh/Clump")
12009 (commit commit)))
12010 (file-name (git-file-name name version))
12011 (sha256
12012 (base32
12013 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
12014 (arguments
12015 '(#:asd-file "2-3-tree/clump-2-3-tree.asd"
12016 #:asd-system-name "clump-2-3-tree"))
12017 (inputs
12018 `(("acclimation" ,sbcl-acclimation)))
12019 (build-system asdf-build-system/sbcl)
12020 (home-page "https://github.com/robert-strandh/Clump")
12021 (synopsis "Implementation of 2-3 trees for Common Lisp")
12022 (description "The purpose of this library is to provide a collection of
12023implementations of trees.
12024
12025In contrast to existing libraries such as cl-containers, it does not impose a
12026particular use for the trees. Instead, it aims for a stratified design,
12027allowing client code to choose between different levels of abstraction.
12028
12029As a consequence of this policy, low-level interfaces are provided where
12030the concrete representation is exposed, but also high level interfaces
12031where the trees can be used as search trees or as trees that represent
12032sequences of objects.")
12033 (license license:bsd-2))))
106354ea
PN
12034
12035(define-public sbcl-clump-binary-tree
12036 (package
12037 (inherit sbcl-clump-2-3-tree)
12038 (name "sbcl-clump-binary-tree")
12039 (arguments
12040 '(#:asd-file "Binary-tree/clump-binary-tree.asd"
12041 #:asd-system-name "clump-binary-tree"))
12042 (synopsis "Implementation of binary trees for Common Lisp")))
409fcee9
PN
12043
12044(define-public sbcl-clump
12045 (package
12046 (inherit sbcl-clump-2-3-tree)
12047 (name "sbcl-clump")
12048 (arguments
12049 '(#:asd-file "clump.asd"
12050 #:asd-system-name "clump"))
12051 (inputs
12052 `(("clump-2-3-tree" ,sbcl-clump-2-3-tree)
12053 ("clump-binary-tree" ,sbcl-clump-binary-tree)))
12054 (synopsis "Collection of tree implementations for Common Lisp")))
12055
12056(define-public cl-clump
12057 (sbcl-package->cl-source-package sbcl-clump))
19a1a98f
PN
12058
12059(define-public sbcl-cluffer-base
12060 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
12061 (package
12062 (name "sbcl-cluffer-base")
12063 (version (git-version "0.0.0" "1" commit))
12064 (source
12065 (origin
12066 (method git-fetch)
12067 (uri (git-reference
12068 (url "https://github.com/robert-strandh/cluffer")
12069 (commit commit)))
12070 (file-name (git-file-name name version))
12071 (sha256
12072 (base32
12073 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
12074 (arguments
12075 '(#:asd-file "Base/cluffer-base.asd"
12076 #:asd-system-name "cluffer-base"))
12077 (inputs
12078 `(("acclimation" ,sbcl-acclimation)))
12079 (build-system asdf-build-system/sbcl)
12080 (home-page "https://github.com/robert-strandh/cluffer")
12081 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
12082 (description "Cluffer is a library for representing the buffer of a text
12083editor. As such, it defines a set of CLOS protocols for client code to
12084interact with the buffer contents in various ways, and it supplies different
12085implementations of those protocols for different purposes.")
12086 (license license:bsd-2))))
a4a24f66
PN
12087
12088(define-public sbcl-cluffer-standard-line
12089 (package
12090 (inherit sbcl-cluffer-base)
12091 (name "sbcl-cluffer-standard-line")
12092 (arguments
12093 '(#:asd-file "Standard-line/cluffer-standard-line.asd"
12094 #:asd-system-name "cluffer-standard-line"))
12095 (inputs
12096 `(("cluffer-base" ,sbcl-cluffer-base)))))
37f2d583
PN
12097
12098(define-public sbcl-cluffer-standard-buffer
12099 (package
12100 (inherit sbcl-cluffer-base)
12101 (name "sbcl-cluffer-standard-buffer")
12102 (arguments
12103 '(#:asd-file "Standard-buffer/cluffer-standard-buffer.asd"
12104 #:asd-system-name "cluffer-standard-buffer"))
12105 (inputs
12106 `(("cluffer-base" ,sbcl-cluffer-base)
12107 ("clump" ,sbcl-clump)))))
5e3fcdf8
PN
12108
12109(define-public sbcl-cluffer-simple-line
12110 (package
12111 (inherit sbcl-cluffer-base)
12112 (name "sbcl-cluffer-simple-line")
12113 (arguments
12114 '(#:asd-file "Simple-line/cluffer-simple-line.asd"
12115 #:asd-system-name "cluffer-simple-line"))
12116 (inputs
12117 `(("cluffer-base" ,sbcl-cluffer-base)))))
d6ad0b72
PN
12118
12119(define-public sbcl-cluffer-simple-buffer
12120 (package
12121 (inherit sbcl-cluffer-base)
12122 (name "sbcl-cluffer-simple-buffer")
12123 (arguments
12124 '(#:asd-file "Simple-buffer/cluffer-simple-buffer.asd"
12125 #:asd-system-name "cluffer-simple-buffer"))
12126 (inputs
12127 `(("cluffer-base" ,sbcl-cluffer-base)))))
89c98c06
PN
12128
12129(define-public sbcl-cluffer
12130 (package
12131 (inherit sbcl-cluffer-base)
12132 (name "sbcl-cluffer")
12133 (arguments
12134 '(#:asd-file "cluffer.asd"
12135 #:asd-system-name "cluffer"))
12136 (inputs
12137 `(("cluffer-base" ,sbcl-cluffer-base)
12138 ("cluffer-standard-line" ,sbcl-cluffer-standard-line)
12139 ("cluffer-standard-buffer" ,sbcl-cluffer-standard-buffer)
12140 ("cluffer-simple-line" ,sbcl-cluffer-simple-line)
12141 ("cluffer-simple-buffer" ,sbcl-cluffer-simple-buffer)))))
12142
12143(define-public cl-cluffer
12144 (sbcl-package->cl-source-package sbcl-cluffer))
8f1ab4fb
GLV
12145
12146(define-public sbcl-cl-libsvm-format
12147 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
12148 (revision "0"))
12149 (package
12150 (name "sbcl-cl-libsvm-format")
12151 (version (git-version "0.1.0" revision commit))
12152 (source
12153 (origin
12154 (method git-fetch)
12155 (uri (git-reference
b0e7b699 12156 (url "https://github.com/masatoi/cl-libsvm-format")
8f1ab4fb
GLV
12157 (commit commit)))
12158 (file-name (git-file-name name version))
12159 (sha256
12160 (base32
12161 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
12162 (build-system asdf-build-system/sbcl)
12163 (native-inputs
12164 `(("prove" ,sbcl-prove)
12165 ("prove-asdf" ,sbcl-prove-asdf)))
12166 (inputs
12167 `(("alexandria" ,sbcl-alexandria)))
12168 (synopsis "LibSVM data format reader for Common Lisp")
12169 (description
12170 "This Common Lisp library provides a fast reader for data in LibSVM
12171format.")
12172 (home-page "https://github.com/masatoi/cl-libsvm-format")
12173 (license license:expat))))
12174
12175(define-public cl-libsvm-format
12176 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
12177
12178(define-public ecl-cl-libsvm-format
12179 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
12180
12181(define-public sbcl-cl-online-learning
12182 (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423")
12183 (revision "0"))
12184 (package
12185 (name "sbcl-cl-online-learning")
12186 (version (git-version "0.5" revision commit))
12187 (source
12188 (origin
12189 (method git-fetch)
12190 (uri (git-reference
b0e7b699 12191 (url "https://github.com/masatoi/cl-online-learning")
8f1ab4fb
GLV
12192 (commit commit)))
12193 (file-name (git-file-name name version))
12194 (sha256
12195 (base32
12196 "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq"))))
12197 (build-system asdf-build-system/sbcl)
12198 (native-inputs
12199 `(("prove" ,sbcl-prove)
12200 ("prove-asdf" ,sbcl-prove-asdf)))
12201 (inputs
12202 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12203 ("cl-store" ,sbcl-cl-store)))
12204 (arguments
12205 `(;; FIXME: Tests pass but then the check phase crashes
12206 #:tests? #f))
12207 (synopsis "Online Machine Learning for Common Lisp")
12208 (description
12209 "This library contains a collection of machine learning algorithms for
12210online linear classification written in Common Lisp.")
12211 (home-page "https://github.com/masatoi/cl-online-learning")
12212 (license license:expat))))
12213
12214(define-public cl-online-learning
12215 (sbcl-package->cl-source-package sbcl-cl-online-learning))
12216
12217(define-public ecl-cl-online-learning
12218 (sbcl-package->ecl-package sbcl-cl-online-learning))
12219
12220(define-public sbcl-cl-random-forest
4e7d5e32
GLV
12221 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
12222 (revision "1"))
8f1ab4fb
GLV
12223 (package
12224 (name "sbcl-cl-random-forest")
12225 (version (git-version "0.1" revision commit))
12226 (source
12227 (origin
12228 (method git-fetch)
12229 (uri (git-reference
b0e7b699 12230 (url "https://github.com/masatoi/cl-random-forest")
8f1ab4fb
GLV
12231 (commit commit)))
12232 (file-name (git-file-name name version))
12233 (sha256
12234 (base32
4e7d5e32 12235 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
8f1ab4fb
GLV
12236 (build-system asdf-build-system/sbcl)
12237 (native-inputs
12238 `(("prove" ,sbcl-prove)
12239 ("prove-asdf" ,sbcl-prove-asdf)
12240 ("trivial-garbage" ,sbcl-trivial-garbage)))
12241 (inputs
12242 `(("alexandria" ,sbcl-alexandria)
12243 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12244 ("cl-online-learning" ,sbcl-cl-online-learning)
12245 ("lparallel" ,sbcl-lparallel)))
12246 (arguments
12247 `(#:tests? #f)) ; The tests download data from the Internet
12248 (synopsis "Random Forest and Global Refinement for Common Lisp")
12249 (description
12250 "CL-random-forest is an implementation of Random Forest for multiclass
12251classification and univariate regression written in Common Lisp. It also
12252includes an implementation of Global Refinement of Random Forest.")
12253 (home-page "https://github.com/masatoi/cl-random-forest")
12254 (license license:expat))))
12255
12256(define-public cl-random-forest
12257 (sbcl-package->cl-source-package sbcl-cl-random-forest))
12258
12259(define-public ecl-cl-random-forest
12260 (sbcl-package->ecl-package sbcl-cl-random-forest))
5a2997e5
GLV
12261
12262(define-public sbcl-bordeaux-fft
12263 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
12264 (revision "0"))
12265 (package
12266 (name "sbcl-bordeaux-fft")
12267 (version (git-version "1.0.1" revision commit))
12268 (source
12269 (origin
12270 (method git-fetch)
12271 (uri (git-reference
b0e7b699 12272 (url "https://github.com/ahefner/bordeaux-fft")
5a2997e5
GLV
12273 (commit commit)))
12274 (file-name (git-file-name name version))
12275 (sha256
12276 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
12277 (build-system asdf-build-system/sbcl)
12278 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
12279 (synopsis "Fast Fourier Transform for Common Lisp")
12280 (description
12281 "The Bordeaux-FFT library provides a reasonably efficient implementation
12282of the Fast Fourier Transform and its inverse for complex-valued inputs, in
12283portable Common Lisp.")
12284 (license license:gpl2+))))
12285
12286(define-public cl-bordeaux-fft
12287 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
12288
12289(define-public ecl-bordeaux-fft
12290 (sbcl-package->ecl-package sbcl-bordeaux-fft))
c7ce30cd
GLV
12291
12292(define-public sbcl-napa-fft3
12293 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
12294 (revision "0"))
12295 (package
12296 (name "sbcl-napa-fft3")
12297 (version (git-version "0.0.1" revision commit))
12298 (source
12299 (origin
12300 (method git-fetch)
12301 (uri (git-reference
b0e7b699 12302 (url "https://github.com/pkhuong/Napa-FFT3")
c7ce30cd
GLV
12303 (commit commit)))
12304 (file-name (git-file-name name version))
12305 (sha256
12306 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
12307 (build-system asdf-build-system/sbcl)
12308 (home-page "https://github.com/pkhuong/Napa-FFT3")
12309 (synopsis "Fast Fourier Transform routines in Common Lisp")
12310 (description
12311 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
12312buildings blocks to express common operations that involve DFTs: filtering,
12313convolutions, etc.")
12314 (license license:bsd-3))))
12315
12316(define-public cl-napa-fft3
12317 (sbcl-package->cl-source-package sbcl-napa-fft3))
2020a056
GLV
12318
12319(define-public sbcl-cl-tga
12320 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
12321 (revision "0"))
12322 (package
12323 (name "sbcl-cl-tga")
12324 (version (git-version "0.0.0" revision commit))
12325 (source
12326 (origin
12327 (method git-fetch)
12328 (uri (git-reference
12329 (url "https://github.com/fisxoj/cl-tga")
12330 (commit commit)))
12331 (file-name (git-file-name name version))
12332 (sha256
12333 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
12334 (build-system asdf-build-system/sbcl)
12335 (home-page "https://github.com/fisxoj/cl-tga")
12336 (synopsis "TGA file loader for Common Lisp")
12337 (description
12338 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
12339programs. It's a very simple library, and, at the moment, only supports
12340non-RLE encoded forms of the files.")
12341 (license license:expat))))
12342
12343(define-public cl-tga
12344 (sbcl-package->cl-source-package sbcl-cl-tga))
12345
12346(define-public ecl-cl-tga
12347 (sbcl-package->ecl-package sbcl-cl-tga))
31c67a85
GLV
12348
12349(define-public sbcl-com.gigamonkeys.binary-data
12350 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
12351 (revision "0"))
12352 (package
12353 (name "sbcl-com.gigamonkeys.binary-data")
12354 (version (git-version "0.0.0" revision commit))
12355 (source
12356 (origin
12357 (method git-fetch)
12358 (uri (git-reference
12359 (url "https://github.com/gigamonkey/monkeylib-binary-data")
12360 (commit commit)))
12361 (file-name (git-file-name name version))
12362 (sha256
12363 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
12364 (build-system asdf-build-system/sbcl)
12365 (inputs
12366 `(("alexandria" ,sbcl-alexandria)))
12367 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
12368 (synopsis "Common Lisp library for reading and writing binary data")
12369 (description
12370 "This a Common Lisp library for reading and writing binary data. It is
12371based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
12372 (license license:bsd-3))))
12373
12374(define-public cl-com.gigamonkeys.binary-data
12375 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
12376
12377(define-public ecl-com.gigamonkeys.binary-data
12378 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
556daf64
GLV
12379
12380(define-public sbcl-deflate
12381 (package
12382 (name "sbcl-deflate")
12383 (version "1.0.3")
12384 (source
12385 (origin
12386 (method git-fetch)
12387 (uri (git-reference
12388 (url "https://github.com/pmai/Deflate")
12389 (commit (string-append "release-" version))))
12390 (file-name (git-file-name name version))
12391 (sha256
12392 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
12393 (build-system asdf-build-system/sbcl)
12394 (home-page "https://github.com/pmai/Deflate")
12395 (synopsis "Native deflate decompression for Common Lisp")
12396 (description
12397 "This library is an implementation of Deflate (RFC 1951) decompression,
12398with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
12399wrappers of deflate streams. It currently does not handle compression.")
12400 (license license:expat)))
12401
12402(define-public cl-deflate
12403 (sbcl-package->cl-source-package sbcl-deflate))
12404
12405(define-public ecl-deflate
12406 (sbcl-package->ecl-package sbcl-deflate))
7387c090
GLV
12407
12408(define-public sbcl-skippy
12409 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
12410 (revision "0"))
12411 (package
12412 (name "sbcl-skippy")
12413 (version (git-version "1.3.12" revision commit))
12414 (source
12415 (origin
12416 (method git-fetch)
12417 (uri (git-reference
12418 (url "https://github.com/xach/skippy")
12419 (commit commit)))
12420 (file-name (git-file-name name version))
12421 (sha256
12422 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
12423 (build-system asdf-build-system/sbcl)
12424 (home-page "https://xach.com/lisp/skippy/")
12425 (synopsis "Common Lisp library for GIF images")
12426 (description
12427 "Skippy is a Common Lisp library to read and write GIF image files.")
12428 (license license:bsd-2))))
12429
12430(define-public cl-skippy
12431 (sbcl-package->cl-source-package sbcl-skippy))
12432
12433(define-public ecl-skippy
12434 (sbcl-package->ecl-package sbcl-skippy))
ec2c73b8
GLV
12435
12436(define-public sbcl-cl-freetype2
12437 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
12438 (revision "0"))
12439 (package
12440 (name "sbcl-cl-freetype2")
12441 (version (git-version "1.1" revision commit))
12442 (source
12443 (origin
12444 (method git-fetch)
12445 (uri (git-reference
12446 (url "https://github.com/rpav/cl-freetype2")
12447 (commit commit)))
12448 (file-name (git-file-name name version))
12449 (sha256
12450 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
12451 (build-system asdf-build-system/sbcl)
12452 (native-inputs
12453 `(("fiveam" ,sbcl-fiveam)))
12454 (inputs
12455 `(("alexandria" ,sbcl-alexandria)
12456 ("cffi" ,sbcl-cffi)
12457 ("cffi-grovel" ,sbcl-cffi-grovel)
12458 ("freetype" ,freetype)
12459 ("trivial-garbage" ,sbcl-trivial-garbage)))
12460 (arguments
12461 `(#:phases
12462 (modify-phases %standard-phases
12463 (add-after 'unpack 'fix-paths
12464 (lambda* (#:key inputs #:allow-other-keys)
12465 (substitute* "src/ffi/ft2-lib.lisp"
12466 (("\"libfreetype\"")
12467 (string-append "\"" (assoc-ref inputs "freetype")
12468 "/lib/libfreetype\"")))
12469 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
12470 (("-I/usr/include/freetype")
12471 (string-append "-I" (assoc-ref inputs "freetype")
12472 "/include/freetype")))
12473 #t)))))
12474 (home-page "https://github.com/rpav/cl-freetype2")
12475 (synopsis "Common Lisp bindings for Freetype 2")
12476 (description
12477 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
12478geared toward both using Freetype directly by providing a simplified API, as
12479well as providing access to the underlying C structures and functions for use
12480with other libraries which may also use Freetype.")
12481 (license license:bsd-3))))
12482
12483(define-public cl-freetype2
12484 (sbcl-package->cl-source-package sbcl-cl-freetype2))
12485
12486(define-public ecl-cl-freetype2
12487 (sbcl-package->ecl-package sbcl-cl-freetype2))
fc748ff0
GLV
12488
12489(define-public sbcl-opticl-core
12490 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
12491 (revision "0"))
12492 (package
12493 (name "sbcl-opticl-core")
12494 (version (git-version "0.0.0" revision commit))
12495 (source
12496 (origin
12497 (method git-fetch)
12498 (uri (git-reference
12499 (url "https://github.com/slyrus/opticl-core")
12500 (commit commit)))
12501 (file-name (git-file-name name version))
12502 (sha256
12503 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
12504 (build-system asdf-build-system/sbcl)
12505 (inputs
12506 `(("alexandria" ,sbcl-alexandria)))
12507 (home-page "https://github.com/slyrus/opticl-core")
12508 (synopsis "Core classes and pixel access macros for Opticl")
12509 (description
12510 "This Common Lisp library contains the core classes and pixel access
12511macros for the Opticl image processing library.")
12512 (license license:bsd-2))))
12513
12514(define-public cl-opticl-core
12515 (sbcl-package->cl-source-package sbcl-opticl-core))
12516
12517(define-public ecl-opticl-core
12518 (sbcl-package->ecl-package sbcl-opticl-core))
1c1b0532
GLV
12519
12520(define-public sbcl-retrospectiff
12521 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
12522 (revision "0"))
12523 (package
12524 (name "sbcl-retrospectiff")
12525 (version (git-version "0.2" revision commit))
12526 (source
12527 (origin
12528 (method git-fetch)
12529 (uri (git-reference
12530 (url "https://github.com/slyrus/retrospectiff")
12531 (commit commit)))
12532 (file-name (git-file-name name version))
12533 (sha256
12534 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
12535 (build-system asdf-build-system/sbcl)
12536 (native-inputs
12537 `(("fiveam" ,sbcl-fiveam)))
12538 (inputs
12539 `(("cl-jpeg" ,sbcl-cl-jpeg)
12540 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
12541 ("deflate" ,sbcl-deflate)
12542 ("flexi-streams" ,sbcl-flexi-streams)
12543 ("ieee-floats" ,sbcl-ieee-floats)
12544 ("opticl-core" ,sbcl-opticl-core)))
12545 (home-page "https://github.com/slyrus/retrospectiff")
12546 (synopsis "Common Lisp library for TIFF images")
12547 (description
12548 "Retrospectiff is a common lisp library for reading and writing images
12549in the TIFF (Tagged Image File Format) format.")
12550 (license license:bsd-2))))
12551
12552(define-public cl-retrospectif
12553 (sbcl-package->cl-source-package sbcl-retrospectiff))
12554
12555(define-public ecl-retrospectiff
12556 (sbcl-package->ecl-package sbcl-retrospectiff))
0f44f63c
GLV
12557
12558(define-public sbcl-mmap
12559 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
12560 (revision "0"))
12561 (package
12562 (name "sbcl-mmap")
12563 (version (git-version "1.0.0" revision commit))
12564 (source
12565 (origin
12566 (method git-fetch)
12567 (uri (git-reference
12568 (url "https://github.com/Shinmera/mmap")
12569 (commit commit)))
12570 (file-name (git-file-name name version))
12571 (sha256
12572 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
12573 (build-system asdf-build-system/sbcl)
12574 (native-inputs
12575 `(("alexandria" ,sbcl-alexandria)
12576 ("cffi" ,sbcl-cffi)
12577 ("parachute" ,sbcl-parachute)
12578 ("trivial-features" ,sbcl-trivial-features)))
12579 (inputs
12580 `(("cffi" ,sbcl-cffi)
12581 ("documentation-utils" ,sbcl-documentation-utils)))
12582 (home-page "https://shinmera.github.io/mmap/")
12583 (synopsis "File memory mapping for Common Lisp")
12584 (description
12585 "This is a utility library providing access to the @emph{mmap} family of
12586functions in a portable way. It allows you to directly map a file into the
12587address space of your process without having to manually read it into memory
12588sequentially. Typically this is much more efficient for files that are larger
12589than a few Kb.")
12590 (license license:zlib))))
12591
12592(define-public cl-mmap
12593 (sbcl-package->cl-source-package sbcl-mmap))
12594
12595(define-public ecl-mmap
12596 (sbcl-package->ecl-package sbcl-mmap))
242bd807
GLV
12597
12598(define-public sbcl-3bz
12599 (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed")
12600 (revision "0"))
12601 (package
12602 (name "sbcl-3bz")
12603 (version (git-version "0.0.0" revision commit))
12604 (source
12605 (origin
12606 (method git-fetch)
12607 (uri (git-reference
12608 (url "https://github.com/3b/3bz")
12609 (commit commit)))
12610 (file-name (git-file-name name version))
12611 (sha256
12612 (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj"))))
12613 (build-system asdf-build-system/sbcl)
12614 (inputs
12615 `(("alexandria" ,sbcl-alexandria)
12616 ("babel" ,sbcl-babel)
12617 ("cffi" ,sbcl-cffi)
12618 ("mmap" ,sbcl-mmap)
12619 ("nibbles" ,sbcl-nibbles)
12620 ("trivial-features" ,sbcl-trivial-features)))
12621 (arguments
12622 ;; FIXME: Without the following line, the build fails (see issue 41437).
12623 `(#:asd-system-name "3bz"))
12624 (home-page "https://github.com/3b/3bz")
12625 (synopsis "Deflate decompression for Common Lisp")
12626 (description
12627 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
12628with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
12629foreign pointers (for use with mmap and similar, etc), and from CL octet
12630vectors and streams.")
12631 (license license:expat))))
12632
12633(define-public cl-3bz
12634 (sbcl-package->cl-source-package sbcl-3bz))
12635
12636(define-public ecl-3bz
12637 (sbcl-package->ecl-package sbcl-3bz))
5dff9687
GLV
12638
12639(define-public sbcl-zpb-exif
12640 (package
12641 (name "sbcl-zpb-exif")
12642 (version "1.2.4")
12643 (source
12644 (origin
12645 (method git-fetch)
12646 (uri (git-reference
12647 (url "https://github.com/xach/zpb-exif")
12648 (commit (string-append "release-" version))))
12649 (file-name (git-file-name name version))
12650 (sha256
12651 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
12652 (build-system asdf-build-system/sbcl)
12653 (home-page "https://xach.com/lisp/zpb-exif/")
12654 (synopsis "EXIF information extractor for Common Lisp")
12655 (description
12656 "This is a Common Lisp library to extract EXIF information from image
12657files.")
12658 (license license:bsd-2)))
12659
12660(define-public cl-zpb-exif
12661 (sbcl-package->cl-source-package sbcl-zpb-exif))
12662
12663(define-public ecl-zpb-exif
12664 (sbcl-package->ecl-package sbcl-zpb-exif))
b0e7bc35
GLV
12665
12666(define-public sbcl-pngload
12667 (package
12668 (name "sbcl-pngload")
12669 (version "2.0.0")
12670 (source
12671 (origin
12672 (method git-fetch)
12673 (uri (git-reference
12674 (url "https://github.com/bufferswap/pngload")
12675 (commit version)))
12676 (file-name (git-file-name name version))
12677 (sha256
12678 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
12679 (build-system asdf-build-system/sbcl)
12680 (inputs
12681 `(("3bz" ,sbcl-3bz)
12682 ("alexandria" ,sbcl-alexandria)
12683 ("cffi" ,sbcl-cffi)
12684 ("mmap" ,sbcl-mmap)
12685 ("parse-float" ,sbcl-parse-float)
12686 ("static-vectors" ,sbcl-static-vectors)
12687 ("swap-bytes" ,sbcl-swap-bytes)
12688 ("zpb-exif" ,sbcl-zpb-exif)))
12689 (arguments
12690 ;; Test suite disabled because of a dependency cycle.
12691 ;; pngload tests depend on opticl which depends on pngload.
12692 '(#:tests? #f))
12693 (home-page "https://github.com/bufferswap/pngload")
12694 (synopsis "PNG image decoder for Common Lisp")
12695 (description
12696 "This is a Common Lisp library to load images in the PNG image format,
12697both from files on disk, or streams in memory.")
12698 (license license:expat)))
12699
12700(define-public cl-pngload
12701 (sbcl-package->cl-source-package sbcl-pngload))
12702
12703(define-public ecl-pngload
12704 (sbcl-package->ecl-package sbcl-pngload))
b736e9ba
GLV
12705
12706(define-public sbcl-opticl
12707 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12708 (revision "0"))
12709 (package
12710 (name "sbcl-opticl")
12711 (version (git-version "0.0.0" revision commit))
12712 (source
12713 (origin
12714 (method git-fetch)
12715 (uri (git-reference
12716 (url "https://github.com/slyrus/opticl")
12717 (commit commit)))
12718 (file-name (git-file-name name version))
12719 (sha256
12720 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12721 (build-system asdf-build-system/sbcl)
12722 (native-inputs
12723 `(("fiveam" ,sbcl-fiveam)))
12724 (inputs
12725 `(("alexandria" ,sbcl-alexandria)
12726 ("cl-jpeg" ,sbcl-cl-jpeg)
12727 ("cl-tga" ,sbcl-cl-tga)
12728 ("png-read" ,sbcl-png-read)
12729 ("pngload" ,sbcl-pngload)
12730 ("retrospectiff" ,sbcl-retrospectiff)
12731 ("skippy" ,sbcl-skippy)
12732 ("zpng" ,sbcl-zpng)))
12733 (home-page "https://github.com/slyrus/opticl")
12734 (synopsis "Image processing library for Common Lisp")
12735 (description
12736 "Opticl is a Common Lisp library for representing, processing, loading,
12737and saving 2-dimensional pixel-based images.")
12738 (license license:bsd-2))))
12739
12740(define-public cl-opticl
12741 (sbcl-package->cl-source-package sbcl-opticl))
d0a6906d
GLV
12742
12743(define-public sbcl-clim-lisp
12744 (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7")
12745 (revision "0"))
12746 (package
12747 (name "sbcl-clim-lisp")
12748 (version (git-version "0.9.7" revision commit))
12749 (source
12750 (origin
12751 (method git-fetch)
12752 (uri (git-reference
12753 (url "https://github.com/mcclim/mcclim")
12754 (commit commit)))
12755 (file-name (git-file-name name version))
12756 (sha256
12757 (base32 "0jijfgkwas6xnpp5wiii6slcx9pgsalngacb8zm29x6pamx2193h"))))
12758 (build-system asdf-build-system/sbcl)
12759 (inputs
12760 `(("alexandria" ,sbcl-alexandria)
12761 ("closer-mop" ,sbcl-closer-mop)
12762 ("log4cl" ,sbcl-log4cl)
12763 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12764 (home-page "https://common-lisp.net/project/mcclim/")
12765 (synopsis "Common Lisp GUI toolkit")
12766 (description
12767 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12768specification}, a toolkit for writing GUIs in Common Lisp.")
12769 (license license:lgpl2.1+))))
9e7db6c8
GLV
12770
12771(define-public sbcl-clim-basic
12772 (package
12773 (inherit sbcl-clim-lisp)
12774 (name "sbcl-clim-basic")
12775 (inputs
12776 `(("alexandria" ,sbcl-alexandria)
12777 ("babel" ,sbcl-babel)
12778 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12779 ("clim-lisp" ,sbcl-clim-lisp)
12780 ("flexichain" ,sbcl-flexichain)
12781 ("spatial-trees" ,sbcl-spatial-trees)
12782 ("trivial-features" ,sbcl-trivial-features)
12783 ("trivial-garbage" ,sbcl-trivial-garbage)))
12784 (arguments
12785 '(#:asd-file "Core/clim-basic/clim-basic.asd"))))
5a691dc0
GLV
12786
12787(define-public sbcl-clim-core
12788 (package
12789 (inherit sbcl-clim-lisp)
12790 (name "sbcl-clim-core")
12791 (inputs
12792 `(("clim-basic" ,sbcl-clim-basic)))
12793 (arguments
12794 '(#:asd-file "Core/clim-core/clim-core.asd"))))
699650ed
GLV
12795
12796(define-public sbcl-esa-mcclim
12797 (package
12798 (inherit sbcl-clim-lisp)
12799 (name "sbcl-esa-mcclim")
12800 (inputs
12801 `(("alexandria" ,sbcl-alexandria)
12802 ("clim-core" ,sbcl-clim-core)))
12803 (arguments
12804 '(#:asd-file "Libraries/ESA/esa-mcclim.asd"))))
7cdfd92e
GLV
12805
12806(define-public sbcl-mcclim-fonts
12807 (package
12808 (inherit sbcl-clim-lisp)
12809 (name "sbcl-mcclim-fonts")
12810 (inputs
12811 `(("clim-basic" ,sbcl-clim-basic)))
12812 (arguments
12813 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"))))
49abb687
GLV
12814
12815(define-public sbcl-automaton
12816 (package
12817 (inherit sbcl-clim-lisp)
12818 (name "sbcl-automaton")
12819 (inputs
12820 `())
12821 (arguments
12822 '(#:asd-file "Libraries/Drei/cl-automaton/automaton.asd"))))
720c8387
GLV
12823
12824(define-public sbcl-persistent
12825 (package
12826 (inherit sbcl-clim-lisp)
12827 (name "sbcl-persistent")
12828 (inputs
12829 `())
12830 (arguments
12831 '(#:asd-file "Libraries/Drei/Persistent/persistent.asd"))))
b2f63ae6
GLV
12832
12833(define-public sbcl-drei-mcclim
12834 (package
12835 (inherit sbcl-clim-lisp)
12836 (name "sbcl-drei-mcclim")
12837 (native-inputs
12838 `(("fiveam" ,sbcl-fiveam)))
12839 (inputs
12840 `(("automaton" ,sbcl-automaton)
12841 ("clim-core" ,sbcl-clim-core)
12842 ("esa-mcclim" ,sbcl-esa-mcclim)
12843 ("flexichain" ,sbcl-flexichain)
12844 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12845 ("persistent" ,sbcl-persistent)
12846 ("swank" ,cl-slime-swank)))
12847 (arguments
12848 '(#:asd-file "Libraries/Drei/drei-mcclim.asd"))))
0ee4e6ef
GLV
12849
12850(define-public sbcl-clim
12851 (package
12852 (inherit sbcl-clim-lisp)
12853 (name "sbcl-clim")
12854 (inputs
12855 `(("clim-core" ,sbcl-clim-core)
12856 ("drei-mcclim" ,sbcl-drei-mcclim)
12857 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12858 (arguments
12859 '(#:asd-file "Core/clim/clim.asd"))))
875aadae
GLV
12860
12861(define-public sbcl-mcclim-backend-common
12862 (package
12863 (inherit sbcl-clim-lisp)
12864 (name "sbcl-mcclim-backend-common")
12865 (native-inputs
12866 `(("fiveam" ,sbcl-fiveam)))
12867 (inputs
12868 `(("clim" ,sbcl-clim)
12869 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12870 (arguments
12871 '(#:asd-file "Backends/common/mcclim-backend-common.asd"))))
9721909b
GLV
12872
12873(define-public sbcl-mcclim-clx
12874 (package
12875 (inherit sbcl-clim-lisp)
12876 (name "sbcl-mcclim-clx")
12877 (inputs
12878 `(("alexandria" ,sbcl-alexandria)
12879 ("cl-unicode" ,sbcl-cl-unicode)
12880 ("clx" ,sbcl-clx)
12881 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
12882 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12883 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12884 (arguments
12885 '(#:asd-file "Backends/CLX/mcclim-clx.asd"))))
c085e707
GLV
12886
12887(define-public sbcl-mcclim-fonts-truetype
12888 (package
12889 (inherit sbcl-clim-lisp)
12890 (name "sbcl-mcclim-fonts-truetype")
12891 (inputs
12892 `(("alexandria" ,sbcl-alexandria)
12893 ("cl-aa" ,sbcl-cl-aa)
12894 ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
12895 ("cl-vectors" ,sbcl-cl-vectors)
12896 ("clim-basic" ,sbcl-clim-basic)
1c5901ae 12897 ("font-dejavu" ,font-dejavu)
c085e707
GLV
12898 ("zpb-ttf" ,sbcl-zpb-ttf)))
12899 (arguments
1c5901ae 12900 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
c085e707 12901 #:asd-system-name "mcclim-fonts/truetype"
1c5901ae
GLV
12902 #:phases
12903 (modify-phases %standard-phases
12904 (add-after 'unpack 'fix-paths
12905 (lambda* (#:key inputs #:allow-other-keys)
12906 ;; mcclim-truetype uses DejaVu as default font and
12907 ;; sets the path at build time.
12908 (substitute* "Extensions/fonts/fontconfig.lisp"
12909 (("/usr/share/fonts/truetype/dejavu/")
12910 (string-append (assoc-ref inputs "font-dejavu")
12911 "/share/fonts/truetype/")))
12912 #t)))))))
fc77c141
GLV
12913
12914(define-public sbcl-mcclim-fonts-clx-truetype
12915 (package
12916 (inherit sbcl-clim-lisp)
12917 (name "sbcl-mcclim-fonts-clx-truetype")
12918 (inputs
12919 `(("mcclim-clx" ,sbcl-mcclim-clx)
12920 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
12921 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12922 (arguments
12923 '(#:asd-file "./Extensions/fonts/mcclim-fonts.asd"
12924 #:asd-system-name "mcclim-fonts/clx-truetype"
12925 #:phases
12926 (modify-phases %standard-phases
12927 (add-after 'unpack 'fix-asd-system-names
12928 (lambda _
12929 (substitute* "Extensions/fonts/mcclim-fonts.asd"
12930 ((":depends-on \\(#:mcclim-fonts/truetype")
12931 ":depends-on (#:mcclim-fonts-truetype"))
12932 #t)))))))
46fa001d
GLV
12933
12934(define-public sbcl-mcclim-clx-truetype
12935 (package
12936 (inherit sbcl-clim-lisp)
12937 (name "sbcl-mcclim-clx-truetype")
12938 (inputs
12939 `(("mcclim-clx" ,sbcl-mcclim-clx)
12940 ("mcclim-fonts-clx-truetype" ,sbcl-mcclim-fonts-clx-truetype)
12941 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12942 (arguments
12943 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
12944 #:asd-system-name "mcclim-clx/truetype"
12945 #:phases
12946 (modify-phases %standard-phases
12947 (add-after 'unpack 'fix-asd-system-names
12948 (lambda _
12949 (substitute* "Backends/CLX/mcclim-clx.asd"
12950 (("mcclim-fonts/clx-truetype")
12951 "mcclim-fonts-clx-truetype"))
12952 #t)))))))
db094018
GLV
12953
12954(define-public sbcl-mcclim-fontconfig
12955 (package
12956 (inherit sbcl-clim-lisp)
12957 (name "sbcl-mcclim-fontconfig")
12958 (native-inputs
12959 `(("pkg-config" ,pkg-config)))
12960 (inputs
12961 `(("alexandria" ,sbcl-alexandria)
12962 ("cffi" ,sbcl-cffi)
12963 ("cffi-grovel" ,sbcl-cffi-grovel)
12964 ("fontconfig" ,fontconfig)))
12965 (arguments
12966 '(#:asd-file "Extensions/fontconfig/mcclim-fontconfig.asd"
12967 #:phases
12968 (modify-phases %standard-phases
12969 (add-after 'unpack 'fix-paths
12970 (lambda* (#:key inputs #:allow-other-keys)
12971 (substitute* "Extensions/fontconfig/src/functions.lisp"
12972 (("libfontconfig\\.so")
12973 (string-append (assoc-ref inputs "fontconfig")
12974 "/lib/libfontconfig.so")))
12975 #t))
12976 (add-after 'unpack 'fix-build
12977 (lambda _
12978 ;; The cffi-grovel system does not get loaded automatically,
12979 ;; so we load it explicitly.
12980 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
12981 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
12982 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12983 #t)))))))
892f1ef0
GLV
12984
12985(define-public sbcl-mcclim-harfbuzz
12986 (package
12987 (inherit sbcl-clim-lisp)
12988 (name "sbcl-mcclim-harfbuzz")
12989 (native-inputs
12990 `(("pkg-config" ,pkg-config)))
12991 (inputs
12992 `(("alexandria" ,sbcl-alexandria)
12993 ("cffi" ,sbcl-cffi)
12994 ("cffi-grovel" ,sbcl-cffi-grovel)
12995 ("freetype" ,freetype)
12996 ("harfbuzz" ,harfbuzz)
12997 ("trivial-garbage" ,sbcl-trivial-garbage)))
12998 (arguments
12999 '(#:asd-file "Extensions/harfbuzz/mcclim-harfbuzz.asd"
13000 #:phases
13001 (modify-phases %standard-phases
13002 (add-after 'unpack 'fix-paths
13003 (lambda* (#:key inputs #:allow-other-keys)
13004 (substitute* "Extensions/harfbuzz/src/functions.lisp"
13005 (("libharfbuzz\\.so")
13006 (string-append (assoc-ref inputs "harfbuzz")
13007 "/lib/libharfbuzz.so")))
13008 #t))
13009 (add-after 'unpack 'fix-build
13010 (lambda _
13011 ;; The cffi-grovel system does not get loaded automatically,
13012 ;; so we load it explicitly.
13013 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
13014 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
13015 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
13016 #t)))))))
fab0adc7
GLV
13017
13018(define-public sbcl-mcclim-fonts-clx-freetype
13019 (package
13020 (inherit sbcl-clim-lisp)
13021 (name "sbcl-mcclim-fonts-clx-freetype")
13022 (inputs
13023 `(("cl-freetype2" ,sbcl-cl-freetype2)
13024 ("mcclim-clx" ,sbcl-mcclim-clx)
13025 ("mcclim-fontconfig" ,sbcl-mcclim-fontconfig)
13026 ("mcclim-fonts" ,sbcl-mcclim-fonts)
13027 ("mcclim-harfbuzz" ,sbcl-mcclim-harfbuzz)
13028 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13029 (arguments
13030 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
13031 #:asd-system-name "mcclim-fonts/clx-freetype"))))
942a8247
GLV
13032
13033(define-public sbcl-mcclim-clx-freetype
13034 (package
13035 (inherit sbcl-clim-lisp)
13036 (name "sbcl-mcclim-clx-freetype")
13037 (inputs
13038 `(("mcclim-clx" ,sbcl-mcclim-clx)
13039 ("mcclim-fonts-clx-freetype" ,sbcl-mcclim-fonts-clx-freetype)
13040 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13041 (arguments
13042 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
13043 #:asd-system-name "mcclim-clx/freetype"
13044 #:phases
13045 (modify-phases %standard-phases
13046 (add-after 'unpack 'fix-asd-system-names
13047 (lambda _
13048 (substitute* "Backends/CLX/mcclim-clx.asd"
13049 (("mcclim-fonts/clx-freetype")
13050 "mcclim-fonts-clx-freetype"))
13051 #t)))))))
6b40a9af
GLV
13052
13053(define-public sbcl-mcclim-render
13054 (package
13055 (inherit sbcl-clim-lisp)
13056 (name "sbcl-mcclim-render")
13057 (inputs
13058 `(("alexandria" ,sbcl-alexandria)
13059 ("cl-vectors" ,sbcl-cl-vectors)
13060 ("clim-basic" ,sbcl-clim-basic)
13061 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13062 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
13063 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13064 (arguments
13065 '(#:asd-file "Extensions/render/mcclim-render.asd"
13066 #:phases
13067 (modify-phases %standard-phases
13068 (add-after 'unpack 'fix-asd-system-names
13069 (lambda _
13070 (substitute* "Extensions/render/mcclim-render.asd"
13071 (("mcclim-fonts/truetype")
13072 "mcclim-fonts-truetype"))
13073 #t)))))))
1f1d0bac
GLV
13074
13075(define-public sbcl-mcclim-clx-fb
13076 (package
13077 (inherit sbcl-clim-lisp)
13078 (name "sbcl-mcclim-clx-fb")
13079 (inputs
13080 `(("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13081 ("mcclim-clx" ,sbcl-mcclim-clx)
13082 ("mcclim-render" ,sbcl-mcclim-render)
13083 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13084 (arguments
13085 '(#:asd-file "Backends/CLX-fb/mcclim-clx-fb.asd"))))
6be78cd9
GLV
13086
13087(define-public sbcl-mcclim-null
13088 (package
13089 (inherit sbcl-clim-lisp)
13090 (name "sbcl-mcclim-null")
13091 (inputs
13092 `(("clim" ,sbcl-clim)
13093 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13094 (arguments
13095 '(#:asd-file "Backends/Null/mcclim-null.asd"))))
48f2694d
GLV
13096
13097(define-public sbcl-clim-postscript-font
13098 (package
13099 (inherit sbcl-clim-lisp)
13100 (name "sbcl-clim-postscript-font")
13101 (inputs
13102 `(("clim-basic" ,sbcl-clim-basic)
13103 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13104 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13105 (arguments
13106 '(#:asd-file "Backends/PostScript/clim-postscript-font.asd"))))
b1ca56bf
GLV
13107
13108(define-public sbcl-clim-postscript
13109 (package
13110 (inherit sbcl-clim-lisp)
13111 (name "sbcl-clim-postscript")
13112 (native-inputs
13113 `(("fiveam" ,sbcl-fiveam)))
13114 (inputs
13115 `(("clim-basic" ,sbcl-clim-basic)
13116 ("clim-postscript-font" ,sbcl-clim-postscript-font)
13117 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13118 (arguments
13119 '(#:asd-file "Backends/PostScript/clim-postscript.asd"
13120 ;; Test suite disabled because of a dependency cycle.
13121 ;; The tests depend on mcclim/test-util, which depends on mcclim,
13122 ;; wich depends on mcclim/extensions, which depends on clim-postscript.
13123 #:tests? #f))))
1a1b584b
GLV
13124
13125(define-public sbcl-clim-pdf
13126 (package
13127 (inherit sbcl-clim-lisp)
13128 (name "sbcl-clim-pdf")
13129 (native-inputs
13130 `(("fiveam" ,sbcl-fiveam)))
13131 (inputs
13132 `(("cl-pdf" ,sbcl-cl-pdf)
13133 ("clim-basic" ,sbcl-clim-basic)
13134 ("clim-postscript-font" ,sbcl-clim-postscript-font)
13135 ("flexi-streams" ,sbcl-flexi-streams)
13136 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13137 (arguments
13138 '(#:asd-file "Backends/PDF/clim-pdf.asd"
13139 ;; Test suite disabled because of a dependency cycle.
13140 ;; The tests depend on mcclim/test-util, which depends on mcclim,
13141 ;; wich depends on mcclim/extensions, which depends on clim-pdf.
13142 #:tests? #f))))
efa88f90
GLV
13143
13144(define-public sbcl-mcclim-looks
13145 (package
13146 (inherit sbcl-clim-lisp)
13147 (name "sbcl-mcclim-looks")
13148 (inputs
13149 `(("clim" ,sbcl-clim)
13150 ("mcclim-clx" ,sbcl-mcclim-clx)
13151 ("mcclim-clx-fb" ,sbcl-mcclim-clx-fb)
13152 ("mcclim-clx-freetype" ,sbcl-mcclim-clx-freetype)
13153 ("mcclim-clx-truetype" ,sbcl-mcclim-clx-truetype)
13154 ("mcclim-null" ,sbcl-mcclim-null)
13155 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13156 (arguments
13157 '(#:asd-file "mcclim.asd"
13158 #:asd-system-name "mcclim/looks"
13159 #:phases
13160 (modify-phases %standard-phases
13161 (add-after 'unpack 'fix-asd-system-names
13162 (lambda _
13163 (substitute* "mcclim.asd"
13164 (("mcclim-clx/truetype")
13165 "mcclim-clx-truetype")
13166 (("mcclim-clx/freetype")
13167 "mcclim-clx-freetype"))
13168 #t)))))))
9757de5d
GLV
13169
13170(define-public sbcl-mcclim-franz
13171 (package
13172 (inherit sbcl-clim-lisp)
13173 (name "sbcl-mcclim-franz")
13174 (inputs
13175 `(("clim" ,sbcl-clim)
13176 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13177 (arguments
13178 '(#:asd-file "Extensions/Franz/mcclim-franz.asd"))))
000ee6e5
GLV
13179
13180(define-public sbcl-mcclim-bezier-core
13181 (package
13182 (inherit sbcl-clim-lisp)
13183 (name "sbcl-mcclim-bezier-core")
13184 (inputs
13185 `(("clim" ,sbcl-clim)
13186 ("clim-pdf" ,sbcl-clim-pdf)
13187 ("clim-postscript" ,sbcl-clim-postscript)
13188 ("mcclim-null" ,sbcl-mcclim-null)
13189 ("mcclim-render" ,sbcl-mcclim-render)
13190 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13191 (arguments
13192 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13193 #:asd-system-name "mcclim-bezier/core"))))
d92e2649
GLV
13194
13195(define-public sbcl-mcclim-bezier-clx
13196 (package
13197 (inherit sbcl-clim-lisp)
13198 (name "sbcl-mcclim-bezier-clx")
13199 (inputs
13200 `(("clim" ,sbcl-clim)
13201 ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
13202 ("mcclim-clx" ,sbcl-mcclim-clx)
13203 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13204 (arguments
13205 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13206 #:asd-system-name "mcclim-bezier/clx"
13207 #:phases
13208 (modify-phases %standard-phases
13209 (add-after 'unpack 'fix-asd-system-names
13210 (lambda _
13211 (substitute* "Extensions/bezier/mcclim-bezier.asd"
13212 (("mcclim-bezier/core\\)")
13213 "mcclim-bezier-core)"))
13214 #t)))))))
c93bd9f8
GLV
13215
13216(define-public sbcl-mcclim-bezier
13217 (package
13218 (inherit sbcl-clim-lisp)
13219 (name "sbcl-mcclim-bezier")
13220 (inputs
13221 `(("mcclim-bezier/clx" ,sbcl-mcclim-bezier-clx)
13222 ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
13223 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13224 (arguments
13225 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13226 #:phases
13227 (modify-phases %standard-phases
13228 (add-after 'unpack 'fix-asd-system-names
13229 (lambda _
13230 (substitute* "Extensions/bezier/mcclim-bezier.asd"
13231 (("\\(#:mcclim-bezier/core")
13232 "(#:mcclim-bezier-core")
13233 (("#:mcclim-bezier/clx\\)\\)")
13234 "#:mcclim-bezier-clx))"))
13235 #t)))))))
92da537c
GLV
13236
13237(define-public sbcl-mcclim-bitmaps
13238 (package
13239 (inherit sbcl-clim-lisp)
13240 (name "sbcl-mcclim-bitmaps")
13241 (inputs
13242 `(("clim-basic" ,sbcl-clim-basic)
13243 ("opticl" ,sbcl-opticl)))
13244 (arguments
13245 '(#:asd-file "Extensions/bitmap-formats/mcclim-bitmaps.asd"))))
5d2abf9f
GLV
13246
13247(define-public sbcl-conditional-commands
13248 (package
13249 (inherit sbcl-clim-lisp)
13250 (name "sbcl-conditional-commands")
13251 (inputs
13252 `(("clim-basic" ,sbcl-clim-basic)))
13253 (arguments
13254 '(#:asd-file "Extensions/conditional-commands/conditional-commands.asd"))))
e8875462
GLV
13255
13256(define-public sbcl-mcclim-layouts-tab
13257 (package
13258 (inherit sbcl-clim-lisp)
13259 (name "sbcl-mcclim-layouts-tab")
13260 (inputs
13261 `(("clim" ,sbcl-clim)
13262 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13263 (arguments
13264 '(#:asd-file "Extensions/layouts/mcclim-layouts.asd"
13265 #:asd-system-name "mcclim-layouts/tab"))))
8e0e7f35
GLV
13266
13267(define-public sbcl-mcclim-extensions
13268 (package
13269 (inherit sbcl-clim-lisp)
13270 (name "sbcl-mcclim-extensions")
13271 (inputs
13272 `(("clim-pdf" ,sbcl-clim-pdf)
13273 ("clim-postscript" ,sbcl-clim-postscript)
13274 ("conditional-commands" ,sbcl-conditional-commands)
13275 ("mcclim-bezier" ,sbcl-mcclim-bezier)
13276 ("mcclim-bitmaps" ,sbcl-mcclim-bitmaps)
13277 ("mcclim-franz" ,sbcl-mcclim-franz)
13278 ("mcclim-layouts-tab" ,sbcl-mcclim-layouts-tab)
13279 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13280 (arguments
13281 '(#:asd-file "mcclim.asd"
13282 #:asd-system-name "mcclim/extensions"
13283 #:phases
13284 (modify-phases %standard-phases
13285 (add-after 'unpack 'fix-asd-system-names
13286 (lambda _
13287 (substitute* "mcclim.asd"
13288 (("mcclim-layouts/tab")
13289 "mcclim-layouts-tab"))
13290 #t)))))))
8afd2d10
GLV
13291
13292(define-public sbcl-mcclim
13293 (package
13294 (inherit sbcl-clim-lisp)
13295 (name "sbcl-mcclim")
13296 (native-inputs
13297 `(("fiveam" ,sbcl-fiveam)))
13298 (inputs
13299 `(("mcclim-looks" ,sbcl-mcclim-looks)
13300 ("mcclim-extensions" ,sbcl-mcclim-extensions)
13301 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13302 (arguments
13303 '(#:phases
13304 (modify-phases %standard-phases
13305 (add-after 'unpack 'fix-asd-system-names
13306 (lambda _
13307 (substitute* "mcclim.asd"
13308 ((":depends-on \\(\"mcclim/looks\" \"mcclim/extensions\"\\)")
13309 ":depends-on (\"mcclim-looks\" \"mcclim-extensions\")"))
13310 #t)))
13311 ;; Test suite disabled because of a dependency cycle.
13312 ;; The tests depend on mcclim/test-util, which depends on mcclim.
13313 #:tests? #f))))
0f935e95
GLV
13314
13315(define-public cl-mcclim
13316 (let ((base (sbcl-package->cl-source-package sbcl-clim-lisp)))
13317 (package
13318 (inherit base)
13319 (name "cl-mcclim")
13320 (native-inputs
13321 `(("fiveam" ,cl-fiveam)
13322 ("pkg-config" ,pkg-config)))
13323 (inputs
13324 `(("alexandria" ,cl-alexandria)
13325 ("babel" ,cl-babel)
13326 ("bordeaux-threads" ,cl-bordeaux-threads)
13327 ("cffi" ,cl-cffi)
13328 ("cl-aa" ,cl-aa)
13329 ("cl-freetype2" ,cl-freetype2)
13330 ("cl-paths-ttf" ,cl-paths-ttf)
13331 ("cl-pdf" ,cl-pdf)
13332 ("cl-unicode" ,cl-unicode)
13333 ("cl-vectors" ,cl-vectors)
13334 ("closer-mop" ,cl-closer-mop)
13335 ("clx" ,cl-clx)
13336 ("flexi-streams" ,cl-flexi-streams)
13337 ("flexichain" ,cl-flexichain)
13338 ("fontconfig" ,fontconfig)
13339 ("freetype" ,freetype)
13340 ("harfbuzz" ,harfbuzz)
13341 ("log4cl" ,cl-log4cl)
13342 ("opticl" ,cl-opticl)
13343 ("spatial-trees" ,cl-spatial-trees)
13344 ("trivial-features" ,cl-trivial-features)
13345 ("trivial-garbage" ,cl-trivial-garbage)
13346 ("trivial-gray-streams" ,cl-trivial-gray-streams)
13347 ("swank" ,cl-slime-swank)
13348 ("zpb-ttf" ,cl-zpb-ttf))))))
de681bdb
AK
13349
13350(define-public sbcl-cl-inflector
13351 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
13352 (revision "1"))
13353 (package
13354 (name "sbcl-cl-inflector")
13355 (version (git-version "0.2" revision commit))
13356 (source
13357 (origin
13358 (method git-fetch)
13359 (uri (git-reference
13360 (url "https://github.com/AccelerationNet/cl-inflector")
13361 (commit commit)))
13362 (file-name (git-file-name name version))
13363 (sha256
13364 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
13365 (build-system asdf-build-system/sbcl)
13366 (native-inputs
13367 `(("lisp-unit2" ,sbcl-lisp-unit2)))
13368 (inputs
13369 `(("alexandria" ,sbcl-alexandria)
13370 ("cl-ppcre" ,sbcl-cl-ppcre)))
13371 (home-page "https://github.com/AccelerationNet/cl-inflector")
13372 (synopsis "Library to pluralize/singularize English and Portuguese words")
13373 (description
13374 "This is a common lisp library to easily pluralize and singularize
13375English and Portuguese words. This is a port of the ruby ActiveSupport
13376Inflector module.")
13377 (license license:expat))))
13378
13379(define-public cl-inflector
13380 (sbcl-package->cl-source-package sbcl-cl-inflector))
13381
13382(define-public ecl-cl-inflector
13383 (sbcl-package->ecl-package sbcl-cl-inflector))
a05edef2
AK
13384
13385(define-public sbcl-qbase64
13386 (package
13387 (name "sbcl-qbase64")
13388 (version "0.3.0")
13389 (source
13390 (origin
13391 (method git-fetch)
13392 (uri (git-reference
13393 (url "https://github.com/chaitanyagupta/qbase64")
13394 (commit version)))
13395 (file-name (git-file-name name version))
13396 (sha256
13397 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
13398 (build-system asdf-build-system/sbcl)
13399 (inputs
13400 `(("metabang-bind" ,sbcl-metabang-bind)
13401 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
13402 (native-inputs
13403 `(("fiveam" ,sbcl-fiveam)))
13404 (home-page "https://github.com/chaitanyagupta/qbase64")
13405 (synopsis "Base64 encoder and decoder for Common Lisp")
13406 (description "@code{qbase64} provides a fast and flexible base64 encoder
13407and decoder for Common Lisp.")
13408 (license license:bsd-3)))
13409
13410(define-public cl-qbase64
13411 (sbcl-package->cl-source-package sbcl-qbase64))
13412
13413(define-public ecl-qbase64
13414 (sbcl-package->ecl-package sbcl-qbase64))
635e8b07
PN
13415
13416(define-public sbcl-hu.dwim.common-lisp
13417 (package
13418 (name "sbcl-hu.dwim.common-lisp")
13419 (version "2015-07-09")
13420 (source
13421 (origin
13422 (method url-fetch)
13423 (uri (string-append
13424 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
13425 version "/hu.dwim.common-lisp-"
13426 (string-replace-substring version "-" "")
13427 "-darcs.tgz"))
13428 (sha256
13429 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
13430 (build-system asdf-build-system/sbcl)
13431 (native-inputs
13432 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13433 (home-page "http://dwim.hu/")
13434 (synopsis "Redefine some standard Common Lisp names")
13435 (description "This library is a redefinition of the standard Common Lisp
13436package that includes a number of renames and shadows. ")
13437 (license license:public-domain)))
13438
13439(define-public cl-hu.dwim.common-lisp
13440 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
13441
13442(define-public ecl-hu.dwim.common-lisp
13443 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
89a3fec5
PN
13444
13445(define-public sbcl-hu.dwim.common
13446 (package
13447 (name "sbcl-hu.dwim.common")
13448 (version "2015-07-09")
13449 (source
13450 (origin
13451 (method url-fetch)
13452 (uri (string-append
13453 "http://beta.quicklisp.org/archive/hu.dwim.common/"
13454 version "/hu.dwim.common-"
13455 (string-replace-substring version "-" "")
13456 "-darcs.tgz"))
13457 (sha256
13458 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
13459 (build-system asdf-build-system/sbcl)
13460 (native-inputs
13461 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13462 (inputs
13463 `(("alexandria" ,sbcl-alexandria)
13464 ("anaphora" ,sbcl-anaphora)
13465 ("closer-mop" ,sbcl-closer-mop)
13466 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
13467 ("iterate" ,sbcl-iterate)
13468 ("metabang-bind" ,sbcl-metabang-bind)))
13469 (home-page "http://dwim.hu/")
13470 (synopsis "Common Lisp library shared by other hu.dwim systems")
13471 (description "")
13472 (license license:public-domain)))
13473
13474(define-public cl-hu.dwim.common
13475 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
13476
13477(define-public ecl-hu.dwim.common
13478 (sbcl-package->ecl-package sbcl-hu.dwim.common))
ec3c3aa7
PN
13479
13480(define-public sbcl-hu.dwim.defclass-star
13481 (package
13482 (name "sbcl-hu.dwim.defclass-star")
13483 (version "2015-07-09")
13484 (source
13485 (origin
13486 (method url-fetch)
13487 (uri (string-append
13488 "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/"
13489 version "/hu.dwim.defclass-star-"
13490 (string-replace-substring version "-" "")
13491 "-darcs.tgz"))
13492 (sha256
13493 (base32 "032982lyp0hm0ssxlyh572whi2hr4j1nqkyqlllaj373v0dbs3vs"))))
13494 (build-system asdf-build-system/sbcl)
13495 (native-inputs
13496 `(;; These 2 inputs are only needed tests which are disabled, see below.
13497 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
13498 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
13499 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
13500 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13501 (arguments
13502 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
13503 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
13504 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
13505 #:tests? #f))
13506 (home-page "http://dwim.hu/?_x=dfxn&_f=mRIMfonK")
13507 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
13508 (description "@code{defclass-star} provides defclass* and defcondition* to
13509simplify class and condition declarations. Features include:
13510
13511@itemize
13512@item Automatically export all or select slots at compile time.
13513@item Define the @code{:initarg} and @code{:accesor} automatically.
13514@item Specify a name transformer for both the @code{:initarg} and
13515@code{:accessor}, etc.
13516@item Specify the @code{:initform} as second slot value.
13517@end itemize
13518
13519See
13520@url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
13521for an example.")
13522 (license license:public-domain)))
13523
13524(define-public cl-hu.dwim.defclass-star
13525 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
13526
13527(define-public ecl-hu.dwim.defclass-star
13528 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
ca7eada9
AK
13529
13530(define-public sbcl-livesupport
13531 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
13532 (revision "1"))
13533 (package
13534 (name "sbcl-livesupport")
13535 (version (git-version "0.0.0" revision commit))
13536 (source
13537 (origin
13538 (method git-fetch)
13539 (uri (git-reference
13540 (url "https://github.com/cbaggers/livesupport")
13541 (commit commit)))
13542 (file-name (git-file-name name version))
13543 (sha256
13544 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
13545 (build-system asdf-build-system/sbcl)
13546 (home-page "https://github.com/cbaggers/livesupport")
13547 (synopsis "Some helpers that make livecoding a little easier")
13548 (description "This package provides a macro commonly used in livecoding to
13549enable continuing when errors are raised. Simply wrap around a chunk of code
13550and it provides a restart called @code{continue} which ignores the error and
13551carrys on from the end of the body.")
13552 (license license:bsd-2))))
13553
13554(define-public cl-livesupport
13555 (sbcl-package->cl-source-package sbcl-livesupport))
13556
13557(define-public ecl-livesupport
13558 (sbcl-package->ecl-package sbcl-livesupport))
bfa78462
PN
13559
13560(define-public sbcl-envy
13561 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
13562 (revision "1"))
13563 (package
13564 (name "sbcl-envy")
13565 (version (git-version "0.1" revision commit))
13566 (home-page "https://github.com/fukamachi/envy")
13567 (source
13568 (origin
13569 (method git-fetch)
13570 (uri (git-reference
13571 (url home-page)
13572 (commit commit)))
13573 (file-name (git-file-name name version))
13574 (sha256
13575 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
13576 (build-system asdf-build-system/sbcl)
13577 ;; (native-inputs ; Only for tests.
13578 ;; `(("prove" ,sbcl-prove)
13579 ;; ("osicat" ,sbcl-osicat)))
13580 (arguments
13581 '(#:phases
13582 (modify-phases %standard-phases
13583 (add-after 'unpack 'fix-tests
13584 (lambda _
13585 (substitute* "envy-test.asd"
13586 (("cl-test-more") "prove"))
13587 #t)))
13588 ;; Tests fail with
13589 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
13590 ;; like xsubseq. Why?
13591 #:tests? #f))
13592 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
13593 (description "Envy is a configuration manager for various applications.
13594Envy uses an environment variable to determine a configuration to use. This
13595can separate configuration system from an implementation.")
13596 (license license:bsd-2))))
13597
13598(define-public cl-envy
13599 (sbcl-package->cl-source-package sbcl-envy))
13600
13601(define-public ecl-envy
13602 (sbcl-package->ecl-package sbcl-envy))
f5e31b1d
PN
13603
13604(define sbcl-mito-core
13605 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
13606 (revision "1"))
13607 (package
13608 (name "sbcl-mito-core")
13609 (version (git-version "0.1" revision commit))
13610 (home-page "https://github.com/fukamachi/mito")
13611 (source
13612 (origin
13613 (method git-fetch)
13614 (uri (git-reference
13615 (url home-page)
13616 (commit commit)))
13617 (file-name (git-file-name name version))
13618 (sha256
13619 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
13620 (build-system asdf-build-system/sbcl)
13621 (inputs
13622 `(("dbi" ,sbcl-dbi)
13623 ("sxql" ,sbcl-sxql)
13624 ("cl-ppcre" ,sbcl-cl-ppcre)
13625 ("closer-mop" ,sbcl-closer-mop)
13626 ("dissect" ,sbcl-dissect)
13627 ("optima" ,sbcl-optima)
13628 ("cl-reexport" ,sbcl-cl-reexport)
13629 ("local-time" ,sbcl-local-time)
13630 ("uuid" ,sbcl-uuid)
13631 ("alexandria" ,sbcl-alexandria)))
13632 (synopsis "ORM for Common Lisp with migrations and relationships support")
13633 (description "Mito is yet another object relational mapper, and it aims
13634to be a successor of Integral.
13635
13636@itemize
13637@item Support MySQL, PostgreSQL and SQLite3.
13638@item Add id (serial/uuid primary key), created_at and updated_at by default
13639like Ruby's ActiveRecord.
13640@item Migrations.
13641@item Database schema versioning.
13642@end itemize\n")
13643 (license license:llgpl))))
13644
13645(define sbcl-mito-migration
13646 (package
13647 (inherit sbcl-mito-core)
13648 (name "sbcl-mito-migration")
13649 (inputs
13650 `(("mito-core" ,sbcl-mito-core)
13651 ("dbi" ,sbcl-dbi)
13652 ("sxql" ,sbcl-sxql)
13653 ("closer-mop" ,sbcl-closer-mop)
13654 ("cl-reexport" ,sbcl-cl-reexport)
13655 ("uuid" ,sbcl-uuid)
13656 ("alexandria" ,sbcl-alexandria)
13657 ("esrap" ,sbcl-esrap)))))
13658
13659(define sbcl-lack-middleware-mito
13660 (package
13661 (inherit sbcl-mito-core)
13662 (name "sbcl-lack-middleware-mito")
13663 (inputs
13664 `(("mito-core" ,sbcl-mito-core)
13665 ("dbi" ,sbcl-dbi)))
13666 (arguments
13667 '(#:phases
13668 (modify-phases %standard-phases
13669 (add-after 'unpack 'fix-build
13670 (lambda _
13671 (substitute* "lack-middleware-mito.asd"
13672 (("cl-dbi") "dbi"))
13673 #t)))))))
13674
13675(define-public sbcl-mito
13676 (package
13677 (inherit sbcl-mito-core)
13678 (name "sbcl-mito")
13679 (inputs
13680 `(("mito-core" ,sbcl-mito-core)
13681 ("mito-migration" ,sbcl-mito-migration)
13682 ("lack-middleware-mito" ,sbcl-lack-middleware-mito)
13683 ("cl-reexport" ,sbcl-cl-reexport)))
13684 (native-inputs
13685 `(("prove" ,sbcl-prove)
13686 ("prove-asdf" ,sbcl-prove-asdf)
13687 ("dbd-mysql" ,sbcl-dbd-mysql)
13688 ("dbd-postgres" ,sbcl-dbd-postgres)
13689 ("dbd-sqlite3" ,sbcl-dbd-sqlite3)))
13690 (arguments
13691 '(#:phases
13692 (modify-phases %standard-phases
13693 (add-after 'unpack 'remove-non-functional-tests
13694 (lambda _
13695 (substitute* "mito-test.asd"
13696 ;; (("\\(:test-file \"migration/mysql\"\\)") "")
13697 (("\\(:test-file \"db/mysql\"\\)") "")
13698 (("\\(:test-file \"db/postgres\"\\)") "")
13699 (("\\(:test-file \"dao\"\\)") "")
13700 ;; TODO: migration/sqlite3 should work, re-enable once
13701 ;; upstream has fixed it:
13702 ;; https://github.com/fukamachi/mito/issues/70
13703 (("\\(:test-file \"migration/sqlite3\"\\)") "")
13704 (("\\(:test-file \"migration/mysql\"\\)") "")
13705 (("\\(:test-file \"migration/postgres\"\\)") "")
13706 (("\\(:test-file \"postgres-types\"\\)") "")
13707 (("\\(:test-file \"mixin\"\\)") ""))
13708 #t)))
13709 ;; TODO: While all enabled tests pass, the phase fails with:
13710 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
13711 #:tests? #f))))
13712
13713(define-public cl-mito
13714 (sbcl-package->cl-source-package sbcl-mito))
0bca68d9
PN
13715
13716(define-public sbcl-kebab
13717 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
13718 (revision "1"))
13719 (package
13720 (name "sbcl-kebab")
13721 (version (git-version "0.1" revision commit))
13722 (home-page "https://github.com/pocket7878/kebab")
13723 (source
13724 (origin
13725 (method git-fetch)
13726 (uri (git-reference
13727 (url home-page)
13728 (commit commit)))
13729 (file-name (git-file-name name version))
13730 (sha256
13731 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
13732 (build-system asdf-build-system/sbcl)
13733 (inputs
13734 `(("cl-ppcre" ,sbcl-cl-ppcre)
13735 ("alexandria" ,sbcl-alexandria)
13736 ("cl-interpol" ,sbcl-cl-interpol)
13737 ("split-sequence" ,sbcl-split-sequence)))
13738 (native-inputs
13739 `(("prove-asdf" ,sbcl-prove-asdf)
13740 ("prove" ,sbcl-prove)))
13741 (arguments
13742 ;; Tests passes but the phase fails with
13743 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
13744 `(#:tests? #f))
13745 (synopsis "Common Lisp case converter")
13746 (description "This Common Lisp library converts strings, symbols and
13747keywords between any of the following typographical cases: PascalCase,
13748camelCase, snake_case, kebab-case (lisp-case).")
13749 (license license:llgpl))))
13750
13751(define-public cl-kebab
13752 (sbcl-package->cl-source-package sbcl-kebab))
13753
13754(define-public ecl-kebab
13755 (sbcl-package->ecl-package sbcl-kebab))
69006b0c
PN
13756
13757(define-public sbcl-datafly
13758 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
13759 (revision "1"))
13760 (package
13761 (name "sbcl-datafly")
13762 (version (git-version "0.1" revision commit))
13763 (home-page "https://github.com/fukamachi/datafly")
13764 (source
13765 (origin
13766 (method git-fetch)
13767 (uri (git-reference
13768 (url home-page)
13769 (commit commit)))
13770 (file-name (git-file-name name version))
13771 (sha256
13772 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
13773 (build-system asdf-build-system/sbcl)
13774 (inputs
13775 `(("alexandria" ,sbcl-alexandria)
13776 ("iterate" ,sbcl-iterate)
13777 ("optima" ,sbcl-optima)
13778 ("trivial-types" ,sbcl-trivial-types)
13779 ("closer-mop" ,sbcl-closer-mop)
13780 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
13781 ("sxql" ,sbcl-sxql)
13782 ("dbi" ,sbcl-dbi)
13783 ("babel" ,sbcl-babel)
13784 ("local-time" ,sbcl-local-time)
13785 ("function-cache" ,sbcl-function-cache)
13786 ("jonathan" ,sbcl-jonathan)
13787 ("kebab" ,sbcl-kebab)
13788 ("log4cl" ,sbcl-log4cl)))
13789 (native-inputs
13790 `(("prove-asdf" ,sbcl-prove-asdf)
13791 ("prove" ,sbcl-prove)
13792 ("dbd-sqlite3" ,sbcl-dbd-sqlite3)))
13793 (arguments
13794 ;; TODO: Tests fail with
13795 ;; While evaluating the form starting at line 22, column 0
13796 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
13797 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
13798 ;; {10009F8083}>:
13799 ;; Error when binding parameter 1 to value NIL.
13800 ;; Code RANGE: column index out of range.
13801 `(#:tests? #f))
13802 (synopsis "Lightweight database library for Common Lisp")
13803 (description "Datafly is a lightweight database library for Common Lisp.")
13804 (license license:bsd-3))))
13805
13806(define-public cl-datafly
13807 (sbcl-package->cl-source-package sbcl-datafly))
13808
13809(define-public ecl-datafly
13810 (sbcl-package->ecl-package sbcl-datafly))
56aeb1a4
PN
13811
13812(define-public sbcl-do-urlencode
13813 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
13814 (revision "1"))
13815 (package
13816 (name "sbcl-do-urlencode")
13817 (version (git-version "0.0.0" revision commit))
13818 (home-page "https://github.com/drdo/do-urlencode")
13819 (source
13820 (origin
13821 (method git-fetch)
13822 (uri (git-reference
13823 (url home-page)
13824 (commit commit)))
13825 (file-name (git-file-name name version))
13826 (sha256
13827 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
13828 (build-system asdf-build-system/sbcl)
13829 (inputs
13830 `(("alexandria" ,sbcl-alexandria)
13831 ("babel" ,sbcl-babel)))
13832 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
13833 (description "This library provides trivial percent encoding and
13834decoding functions for URLs.")
13835 (license license:isc))))
13836
13837(define-public cl-do-urlencode
13838 (sbcl-package->cl-source-package sbcl-do-urlencode))
13839
13840(define-public ecl-do-urlencode
13841 (sbcl-package->ecl-package sbcl-do-urlencode))
d2c9f349
PN
13842
13843(define-public sbcl-cl-emb
13844 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
13845 (revision "1"))
13846 (package
13847 (name "sbcl-cl-emb")
13848 (version (git-version "0.4.3" revision commit))
13849 (home-page "https://common-lisp.net/project/cl-emb/")
13850 (source
13851 (origin
13852 (method git-fetch)
13853 (uri (git-reference
13854 (url "https://github.com/38a938c2/cl-emb")
13855 (commit commit)))
13856 (file-name (git-file-name name version))
13857 (sha256
13858 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
13859 (build-system asdf-build-system/sbcl)
13860 (inputs
13861 `(("cl-ppcre" ,sbcl-cl-ppcre)))
13862 (synopsis "Templating system for Common Lisp")
13863 (description "A mixture of features from eRuby and HTML::Template. You
13864could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
13865that and not limited to a certain server or text format.")
13866 (license license:llgpl))))
13867
13868(define-public cl-emb
13869 (sbcl-package->cl-source-package sbcl-cl-emb))
13870
13871(define-public ecl-cl-emb
13872 (sbcl-package->ecl-package sbcl-cl-emb))
bc1f552b
PN
13873
13874(define-public sbcl-cl-project
13875 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
13876 (revision "1"))
13877 (package
13878 (name "sbcl-cl-project")
13879 (version (git-version "0.3.1" revision commit))
13880 (home-page "https://github.com/fukamachi/cl-project")
13881 (source
13882 (origin
13883 (method git-fetch)
13884 (uri (git-reference
13885 (url home-page)
13886 (commit commit)))
13887 (file-name (git-file-name name version))
13888 (sha256
13889 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
13890 (build-system asdf-build-system/sbcl)
13891 (inputs
13892 `(("cl-emb" ,sbcl-cl-emb)
13893 ("cl-ppcre" ,sbcl-cl-ppcre)
13894 ("local-time" ,sbcl-local-time)
13895 ("prove" ,sbcl-prove)))
13896 (arguments
13897 ;; Tests depend on caveman, which in turns depends on cl-project.
13898 '(#:tests? #f))
13899 (synopsis "Generate a skeleton for modern Common Lisp projects")
13900 (description "This library provides a modern project skeleton generator.
13901In contract with other generators, CL-Project generates one package per file
13902and encourages unit testing by generating a system for unit testing, so you
13903can begin writing unit tests as soon as the project is generated.")
13904 (license license:llgpl))))
13905
13906(define-public cl-project
13907 (sbcl-package->cl-source-package sbcl-cl-project))
13908
13909(define-public ecl-cl-project
13910 (sbcl-package->ecl-package sbcl-cl-project))
f5ca844f
PN
13911
13912(define-public sbcl-caveman
13913 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
13914 (revision "1"))
13915 (package
13916 (name "sbcl-caveman")
13917 (version (git-version "2.4.0" revision commit))
13918 (home-page "http://8arrow.org/caveman/")
13919 (source
13920 (origin
13921 (method git-fetch)
13922 (uri (git-reference
13923 (url "https://github.com/fukamachi/caveman/")
13924 (commit commit)))
13925 (file-name (git-file-name name version))
13926 (sha256
13927 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
13928 (build-system asdf-build-system/sbcl)
13929 (inputs
13930 `(("ningle" ,cl-ningle)
13931 ("lack-request" ,sbcl-lack-request)
13932 ("lack-response" ,sbcl-lack-response)
13933 ("cl-project" ,sbcl-cl-project)
13934 ("dbi" ,sbcl-dbi)
13935 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
13936 ("myway" ,sbcl-myway)
13937 ("quri" ,sbcl-quri)))
13938 (native-inputs
13939 `(("usocket" ,sbcl-usocket)
13940 ("dexador" ,sbcl-dexador)))
13941 (arguments
13942 `(#:asd-file "caveman2.asd"
13943 #:asd-system-name "caveman2"
13944 #:phases
13945 (modify-phases %standard-phases
13946 (add-after 'unpack 'remove-v1
13947 (lambda _
13948 (delete-file-recursively "v1")
13949 (for-each delete-file
13950 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
13951 ;; TODO: Tests fail with:
13952 ;; writing /gnu/store/j4l1k28yq47qbg074b4yf1b7wnccg8j1-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
13953 ;; While evaluating the form starting at line 38, column 0
13954 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
13955 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
13956 ;; {10009F8083}>:
13957 ;; Component "myapp573" not found
13958 #:tests? #f))
13959 (synopsis "Lightweight web application framework in Common Lisp")
13960 (description "Caveman is intended to be a collection of common parts for
13961web applications. Caveman2 has three design goals:
13962
13963@itemize
13964@item Be extensible.
13965@item Be practical.
13966@item Don't force anything.
13967@end itemize\n")
13968 (license license:llgpl))))
13969
13970(define-public cl-caveman
13971 (package
13972 (inherit
13973 (sbcl-package->cl-source-package sbcl-caveman))
13974 (propagated-inputs
13975 `(("ningle" ,cl-ningle)))))
13976
13977(define-public ecl-caveman
13978 (sbcl-package->ecl-package sbcl-caveman))