gnu: Add cl-claw.
[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>
a13063d6 9;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
88f06fd0
PN
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>
caa22090 13;;; Copyright © 2018, 2020, 2021 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>
69c05267 17;;; Copyright © 2019, 2020, 2021 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>
b50a1442 22;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io>
288fe185 23;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
06ab8948 24;;; Copyright © 2021 Aurora <rind38@disroot.org>
88f06fd0
PN
25;;;
26;;; This file is part of GNU Guix.
27;;;
28;;; GNU Guix is free software; you can redistribute it and/or modify it
29;;; under the terms of the GNU General Public License as published by
30;;; the Free Software Foundation; either version 3 of the License, or (at
31;;; your option) any later version.
32;;;
33;;; GNU Guix is distributed in the hope that it will be useful, but
34;;; WITHOUT ANY WARRANTY; without even the implied warranty of
35;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36;;; GNU General Public License for more details.
37;;;
38;;; You should have received a copy of the GNU General Public License
39;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
40
41;;; This file only contains Common Lisp libraries.
42;;; Common Lisp compilers and tooling go to lisp.scm.
43;;; Common Lisp applications should go to the most appropriate file,
44;;; e.g. StumpWM is in wm.scm.
45
46(define-module (gnu packages lisp-xyz)
47 #:use-module (gnu packages)
48 #:use-module ((guix licenses) #:prefix license:)
49 #:use-module (guix packages)
50 #:use-module (guix download)
51 #:use-module (guix git-download)
52 #:use-module (guix hg-download)
53 #:use-module (guix utils)
54 #:use-module (guix build-system asdf)
55 #:use-module (guix build-system trivial)
56 #:use-module (gnu packages c)
57 #:use-module (gnu packages compression)
8a6c0f55 58 #:use-module (gnu packages databases)
2fa04968 59 #:use-module (gnu packages enchant)
3bd8d045 60 #:use-module (gnu packages file)
1c5901ae 61 #:use-module (gnu packages fonts)
ec2c73b8 62 #:use-module (gnu packages fontutils)
88f06fd0
PN
63 #:use-module (gnu packages glib)
64 #:use-module (gnu packages gtk)
d3a2df68 65 #:use-module (gnu packages imagemagick)
37b48dc1 66 #:use-module (gnu packages libevent)
88f06fd0
PN
67 #:use-module (gnu packages libffi)
68 #:use-module (gnu packages lisp)
064dbb71 69 #:use-module (gnu packages maths)
a3f6c410 70 #:use-module (gnu packages networking)
88f06fd0
PN
71 #:use-module (gnu packages pkg-config)
72 #:use-module (gnu packages python)
73 #:use-module (gnu packages python-xyz)
74 #:use-module (gnu packages sqlite)
d3a2df68 75 #:use-module (gnu packages tcl)
88f06fd0 76 #:use-module (gnu packages tls)
0d1c7c97 77 #:use-module (gnu packages web)
88f06fd0
PN
78 #:use-module (gnu packages webkit)
79 #:use-module (gnu packages xdisorg)
80 #:use-module (ice-9 match)
bdd3b1b2 81 #:use-module (srfi srfi-1)
88f06fd0
PN
82 #:use-module (srfi srfi-19))
83
84(define-public sbcl-alexandria
012bdf2e
GLV
85 (package
86 (name "sbcl-alexandria")
fcc9c5a5 87 (version "1.2")
012bdf2e
GLV
88 (source
89 (origin
90 (method git-fetch)
91 (uri (git-reference
92 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
93 (commit (string-append "v" version))))
94 (sha256
95 (base32
fcc9c5a5 96 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
012bdf2e
GLV
97 (file-name (git-file-name name version))))
98 (build-system asdf-build-system/sbcl)
99 (native-inputs
100 `(("rt" ,sbcl-rt)))
101 (synopsis "Collection of portable utilities for Common Lisp")
102 (description
103 "Alexandria is a collection of portable utilities. It does not contain
88f06fd0
PN
104conceptual extensions to Common Lisp. It is conservative in scope, and
105portable between implementations.")
012bdf2e
GLV
106 (home-page "https://common-lisp.net/project/alexandria/")
107 (license license:public-domain)))
88f06fd0
PN
108
109(define-public cl-alexandria
110 (sbcl-package->cl-source-package sbcl-alexandria))
111
112(define-public ecl-alexandria
113 (sbcl-package->ecl-package sbcl-alexandria))
114
14c00ab7
SH
115(define-public sbcl-asdf-finalizers
116 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
117 (revision "1"))
118 (package
119 (name "sbcl-asdf-finalizers")
120 (version (git-version "0.0.0" revision commit))
121 (source
122 (origin
123 (method git-fetch)
124 (uri (git-reference
125 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
126 (commit commit)))
127 (file-name (git-file-name name version))
128 (sha256
129 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
130 (build-system asdf-build-system/sbcl)
131 (native-inputs
132 `(("fare-utils" ,sbcl-fare-utils)
133 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
134 (arguments
135 `(#:asd-files '("asdf-finalizers.asd"
136 "list-of.asd"
137 "asdf-finalizers-test.asd")
138 #:asd-systems '("asdf-finalizers"
139 "list-of")))
140 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
141 (synopsis "Enforced calling of finalizers for Lisp code")
142 (description "This library allows you to implement and enforce proper
143finalization of compile-time constructs while building Lisp source files.
144
145It produces two systems: asdf-finalizers and list-of.")
146 (license license:expat))))
147
148(define-public ecl-asdf-finalizers
149 (sbcl-package->ecl-package sbcl-asdf-finalizers))
150
151(define-public cl-asdf-finalizers
152 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
153
88f06fd0
PN
154(define-public sbcl-net.didierverna.asdf-flv
155 (package
156 (name "sbcl-net.didierverna.asdf-flv")
157 (version "2.1")
158 (source
159 (origin
160 (method git-fetch)
161 (uri (git-reference
162 (url "https://github.com/didierverna/asdf-flv")
163 (commit (string-append "version-" version))))
164 (file-name (git-file-name "asdf-flv" version))
165 (sha256
166 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
167 (build-system asdf-build-system/sbcl)
168 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
169 (description "ASDF-FLV provides support for file-local variables through
170ASDF. A file-local variable behaves like @code{*PACKAGE*} and
171@code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
172dynamic binding is created before processing the file, so that any
173modification to the variable becomes essentially file-local.
174
175In order to make one or several variables file-local, use the macros
176@code{SET-FILE-LOCAL-VARIABLE(S)}.")
177 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
178 (license (license:non-copyleft
179 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
180 "GNU All-Permissive License"))))
181
182(define-public cl-net.didierverna.asdf-flv
183 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
184
185(define-public ecl-net.didierverna.asdf-flv
186 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
187
f42e54df
SH
188(define-public sbcl-command-line-arguments
189 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
190 (revision "1"))
191 (package
192 (name "sbcl-command-line-arguments")
193 (version (git-version "2.0.0" revision commit))
194 (source
195 (origin
196 (method git-fetch)
197 (uri (git-reference
198 (url "https://github.com/fare/command-line-arguments")
199 (commit commit)))
200 (file-name (git-file-name name version))
201 (sha256
202 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
203 (build-system asdf-build-system/sbcl)
204 (home-page "https://github.com/fare/command-line-arguments")
205 (synopsis "Trivial command-line argument parsing library for Common Lisp")
206 (description "This is a library to abstract away the parsing of
207Unix-style command-line arguments. Use it in conjunction with asdf:program-op
208or cl-launch for portable processing of command-line arguments.")
209 (license license:expat))))
210
211(define-public ecl-command-line-arguments
212 (sbcl-package->ecl-package sbcl-command-line-arguments))
213
214(define-public cl-command-line-arguments
215 (sbcl-package->cl-source-package sbcl-command-line-arguments))
216
88f06fd0
PN
217(define-public sbcl-fiveam
218 (package
219 (name "sbcl-fiveam")
220 (version "1.4.1")
221 (source
222 (origin
223 (method git-fetch)
224 (uri (git-reference
b0e7b699 225 (url "https://github.com/sionescu/fiveam")
88f06fd0
PN
226 (commit (string-append "v" version))))
227 (file-name (git-file-name "fiveam" version))
228 (sha256
229 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
230 (inputs
231 `(("alexandria" ,sbcl-alexandria)
232 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
233 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
234 (build-system asdf-build-system/sbcl)
235 (synopsis "Common Lisp testing framework")
236 (description "FiveAM is a simple (as far as writing and running tests
237goes) regression testing framework. It has been designed with Common Lisp's
238interactive development model in mind.")
239 (home-page "https://common-lisp.net/project/fiveam/")
240 (license license:bsd-3)))
241
242(define-public cl-fiveam
243 (sbcl-package->cl-source-package sbcl-fiveam))
244
245(define-public ecl-fiveam
246 (sbcl-package->ecl-package sbcl-fiveam))
247
248(define-public sbcl-bordeaux-threads
5a647850
GLV
249 (package
250 (name "sbcl-bordeaux-threads")
d2a34eba 251 (version "0.8.8")
5a647850
GLV
252 (source (origin
253 (method git-fetch)
254 (uri (git-reference
b0e7b699 255 (url "https://github.com/sionescu/bordeaux-threads")
5a647850
GLV
256 (commit (string-append "v" version))))
257 (sha256
d2a34eba 258 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
5a647850
GLV
259 (file-name
260 (git-file-name "bordeaux-threads" version))))
261 (inputs `(("alexandria" ,sbcl-alexandria)))
262 (native-inputs `(("fiveam" ,sbcl-fiveam)))
263 (build-system asdf-build-system/sbcl)
264 (synopsis "Portable shared-state concurrency library for Common Lisp")
265 (description "BORDEAUX-THREADS is a proposed standard for a minimal
88f06fd0
PN
266MP/Threading interface. It is similar to the CLIM-SYS threading and lock
267support.")
5a647850
GLV
268 (home-page "https://common-lisp.net/project/bordeaux-threads/")
269 (license license:x11)))
88f06fd0
PN
270
271(define-public cl-bordeaux-threads
272 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
273
274(define-public ecl-bordeaux-threads
275 (sbcl-package->ecl-package sbcl-bordeaux-threads))
276
277(define-public sbcl-trivial-gray-streams
278 (let ((revision "1")
f15cc738 279 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
88f06fd0
PN
280 (package
281 (name "sbcl-trivial-gray-streams")
282 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
283 (source
284 (origin
285 (method git-fetch)
286 (uri
287 (git-reference
b0e7b699 288 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
88f06fd0
PN
289 (commit commit)))
290 (sha256
f15cc738 291 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
88f06fd0
PN
292 (file-name
293 (string-append "trivial-gray-streams-" version "-checkout"))))
294 (build-system asdf-build-system/sbcl)
295 (synopsis "Compatibility layer for Gray streams implementations")
296 (description "Gray streams is an interface proposed for inclusion with
297ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
298popular CL implementations implement it. This package provides an extremely
299thin compatibility layer for gray streams.")
0eecc9eb 300 (home-page "https://www.cliki.net/trivial-gray-streams")
88f06fd0
PN
301 (license license:x11))))
302
303(define-public cl-trivial-gray-streams
304 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
305
306(define-public ecl-trivial-gray-streams
307 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
308
309(define-public sbcl-fiasco
310 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
311 (revision "1"))
312 (package
313 (name "sbcl-fiasco")
314 (version (git-version "0.0.1" revision commit))
315 (source
316 (origin
317 (method git-fetch)
318 (uri (git-reference
b0e7b699 319 (url "https://github.com/joaotavora/fiasco")
88f06fd0
PN
320 (commit commit)))
321 (file-name (git-file-name "fiasco" version))
322 (sha256
323 (base32
324 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
325 (build-system asdf-build-system/sbcl)
326 (inputs
327 `(("alexandria" ,sbcl-alexandria)
328 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
329 (synopsis "Simple and powerful test framework for Common Lisp")
330 (description "A Common Lisp test framework that treasures your failures,
331logical continuation of Stefil. It focuses on interactive debugging.")
332 (home-page "https://github.com/joaotavora/fiasco")
333 ;; LICENCE specifies this is public-domain unless the legislation
334 ;; doesn't allow or recognize it. In that case it falls back to a
335 ;; permissive licence.
336 (license (list license:public-domain
337 (license:x11-style "file://LICENCE"))))))
338
339(define-public cl-fiasco
340 (sbcl-package->cl-source-package sbcl-fiasco))
341
342(define-public ecl-fiasco
343 (sbcl-package->ecl-package sbcl-fiasco))
344
345(define-public sbcl-flexi-streams
346 (package
347 (name "sbcl-flexi-streams")
6b0604fd 348 (version "1.0.18")
88f06fd0
PN
349 (source
350 (origin
351 (method git-fetch)
352 (uri (git-reference
b0e7b699 353 (url "https://github.com/edicl/flexi-streams")
88f06fd0
PN
354 (commit (string-append "v" version))))
355 (file-name (git-file-name "flexi-streams" version))
356 (sha256
6b0604fd 357 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
88f06fd0
PN
358 (build-system asdf-build-system/sbcl)
359 (arguments
360 `(#:phases
361 (modify-phases %standard-phases
362 (add-after 'unpack 'make-git-checkout-writable
363 (lambda _
364 (for-each make-file-writable (find-files "."))
365 #t)))))
366 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
367 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
368 (description "Flexi-streams is an implementation of \"virtual\" bivalent
369streams that can be layered atop real binary or bivalent streams and that can
370be used to read and write character data in various single- or multi-octet
371encodings which can be changed on the fly. It also supplies in-memory binary
372streams which are similar to string streams.")
373 (home-page "http://weitz.de/flexi-streams/")
374 (license license:bsd-3)))
375
376(define-public cl-flexi-streams
377 (sbcl-package->cl-source-package sbcl-flexi-streams))
378
379(define-public ecl-flexi-streams
380 (sbcl-package->ecl-package sbcl-flexi-streams))
381
2ae30334
SH
382(define-public sbcl-cl-abnf
383 ;; There are no releases
384 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
385 (revision "1"))
386 (package
387 (name "sbcl-cl-abnf")
388 (version (git-version "0.0.0" revision commit))
389 (source
390 (origin
391 (method git-fetch)
392 (uri (git-reference
393 (url "https://github.com/dimitri/cl-abnf")
394 (commit commit)))
395 (file-name (git-file-name "cl-abnf" version))
396 (sha256
397 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
398 (build-system asdf-build-system/sbcl)
399 (inputs
400 `(("cl-ppcre" ,sbcl-cl-ppcre)
401 ("esrap" ,sbcl-esrap)))
402 (arguments
403 `(#:asd-systems '("abnf")))
404 (home-page "https://github.com/dimitri/cl-abnf")
405 (synopsis "ABNF parser generator for Common Lisp")
406 (description "This Common Lisp library implements a parser generator for
407the ABNF grammar format as described in RFC2234. The generated parser is a
408regular expression scanner provided by the cl-ppcre lib, which means that we
409can't parse recursive grammar definition. One such definition is the ABNF
410definition as given by the RFC. Fortunately, as you have this lib, you most
411probably don't need to generate another parser to handle that particular ABNF
412grammar.")
413 (license license:expat))))
414
415(define-public cl-abnf
416 (sbcl-package->cl-source-package sbcl-cl-abnf))
417
418(define-public ecl-cl-abnf
419 (sbcl-package->ecl-package sbcl-cl-abnf))
420
88f06fd0
PN
421(define-public sbcl-cl-ppcre
422 (package
423 (name "sbcl-cl-ppcre")
6c874425 424 (version "2.1.1")
88f06fd0
PN
425 (source
426 (origin
427 (method git-fetch)
428 (uri (git-reference
b0e7b699 429 (url "https://github.com/edicl/cl-ppcre")
88f06fd0
PN
430 (commit (string-append "v" version))))
431 (file-name (git-file-name "cl-ppcre" version))
432 (sha256
6c874425 433 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
88f06fd0 434 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
435 (native-inputs
436 `(("flexi-streams" ,sbcl-flexi-streams)))
437 (arguments
438 `(#:phases
439 (modify-phases %standard-phases
440 (add-after 'unpack 'disable-ppcre-unicode
441 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
442 ;; to work around the circular dependency between edicl/cl-ppcre
443 ;; and edicl/cl-unicode.
444 (lambda _
445 (delete-file "cl-ppcre-unicode.asd")
446 #t)))))
88f06fd0
PN
447 (synopsis "Portable regular expression library for Common Lisp")
448 (description "CL-PPCRE is a portable regular expression library for Common
449Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
450compatible with ANSI-compliant Common Lisp implementations.")
451 (home-page "http://weitz.de/cl-ppcre/")
452 (license license:bsd-2)))
453
454(define-public cl-ppcre
455 (sbcl-package->cl-source-package sbcl-cl-ppcre))
456
457(define-public ecl-cl-ppcre
458 (sbcl-package->ecl-package sbcl-cl-ppcre))
459
14efb2f8
SH
460(define-public sbcl-uax-15
461 (let ((commit "e7439a91b72f533fcf736643e3ff0677b56c2e7d")
462 (revision "1"))
463 (package
464 (name "sbcl-uax-15")
465 (version (git-version "0.1" revision commit))
466 (source
467 (origin
468 (method git-fetch)
469 (uri (git-reference
470 (url "https://github.com/sabracrolleton/uax-15")
471 (commit commit)))
472 (file-name (git-file-name "uax-15" version))
473 (sha256
474 (base32 "1vf8a2aikgx0l5bsq0z9s0dw3sgx1887xhagdlf66fwffa5jskg6"))))
475 (build-system asdf-build-system/sbcl)
476 (native-inputs
477 `(("fiveam" ,sbcl-fiveam)))
478 (inputs
479 `(("cl-ppcre" ,sbcl-cl-ppcre)
480 ("split-sequence" ,sbcl-split-sequence)))
481 (arguments
482 `(#:asd-systems '("uax-15")))
483 (home-page "https://github.com/sabracrolleton/uax-15")
484 (synopsis "Common Lisp implementation of unicode normalization functions")
485 (description "This package provides supports for unicode normalization,
486RFC8264 and RFC7564.")
487 (license license:expat))))
488
489(define-public cl-uax-15
490 (sbcl-package->cl-source-package sbcl-uax-15))
491
492(define-public ecl-uax-15
493 (sbcl-package->ecl-package sbcl-uax-15))
494
2ff8b5ba 495(define-public sbcl-cl-unicode
6fdfef66 496 (package
2ff8b5ba 497 (name "sbcl-cl-unicode")
6fdfef66
GLV
498 (version "0.1.6")
499 (source (origin
500 (method git-fetch)
501 (uri (git-reference
b0e7b699 502 (url "https://github.com/edicl/cl-unicode")
6fdfef66
GLV
503 (commit (string-append "v" version))))
504 (file-name (git-file-name name version))
505 (sha256
506 (base32
507 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
508 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
509 (native-inputs
510 `(("flexi-streams" ,sbcl-flexi-streams)))
6fdfef66
GLV
511 (inputs
512 `(("cl-ppcre" ,sbcl-cl-ppcre)))
513 (home-page "http://weitz.de/cl-unicode/")
514 (synopsis "Portable Unicode library for Common Lisp")
515 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
88f06fd0
PN
516is compatible with perl. It is pretty fast, thread-safe, and compatible with
517ANSI-compliant Common Lisp implementations.")
6fdfef66 518 (license license:bsd-2)))
88f06fd0 519
88f06fd0
PN
520(define-public ecl-cl-unicode
521 (sbcl-package->ecl-package sbcl-cl-unicode))
522
523(define-public cl-unicode
524 (sbcl-package->cl-source-package sbcl-cl-unicode))
525
2ff8b5ba
GLV
526(define-public sbcl-cl-ppcre-unicode
527 (package (inherit sbcl-cl-ppcre)
528 (name "sbcl-cl-ppcre-unicode")
529 (inputs
530 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
531 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
532 (arguments
533 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
534 #:phases
535 (modify-phases %standard-phases
536 (add-after 'unpack 'disable-ppcre
537 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
538 ;; to work around the circular dependency between edicl/cl-ppcre
539 ;; and edicl/cl-unicode.
540 (lambda _
541 (delete-file "cl-ppcre.asd")
542 #t)))))))
543
3d8c8d15
GLV
544(define-public cl-ppcre-unicode
545 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
546
2ff8b5ba
GLV
547(define-public ecl-cl-ppcre-unicode
548 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
549
92afa57b
RW
550(define-public sbcl-zpb-ttf
551 (package
552 (name "sbcl-zpb-ttf")
553 (version "1.0.3")
554 (source
555 (origin
556 (method git-fetch)
557 (uri (git-reference
b0e7b699 558 (url "https://github.com/xach/zpb-ttf")
92afa57b
RW
559 (commit (string-append "release-" version))))
560 (file-name (git-file-name name version))
561 (sha256
562 (base32
563 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
564 (build-system asdf-build-system/sbcl)
565 (home-page "https://github.com/xach/zpb-ttf")
566 (synopsis "TrueType font file access for Common Lisp")
567 (description
568 "ZPB-TTF is a TrueType font file parser that provides an interface for
569reading typographic metrics, glyph outlines, and other information from the
570file.")
571 (license license:bsd-2)))
572
573(define-public ecl-zpb-ttf
574 (sbcl-package->ecl-package sbcl-zpb-ttf))
575
576(define-public cl-zpb-ttf
577 (sbcl-package->cl-source-package sbcl-zpb-ttf))
578
2ff8b5ba 579(define-public sbcl-cl-vectors
64997728 580 (package
2ff8b5ba 581 (name "sbcl-cl-vectors")
64997728
RW
582 (version "0.1.5")
583 (source
584 (origin
585 (method url-fetch)
586 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
587 "files/cl-vectors-" version ".tar.gz"))
588 (sha256
589 (base32
590 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
591 (build-system asdf-build-system/sbcl)
0dbd7c3c 592 (inputs
2ff8b5ba
GLV
593 `(("zpb-ttf" ,sbcl-zpb-ttf)))
594 (arguments
3f8bbf7c 595 '(#:asd-systems '("cl-vectors"
2ff8b5ba
GLV
596 "cl-paths-ttf")))
597 (home-page "http://projects.tuxee.net/cl-vectors/")
94c621bd
RW
598 (synopsis "Create, transform and render anti-aliased vectorial paths")
599 (description
600 "This is a pure Common Lisp library to create, transform and render
2ff8b5ba
GLV
601anti-aliased vectorial paths.")
602 (license license:expat)))
94c621bd
RW
603
604(define-public ecl-cl-vectors
605 (sbcl-package->ecl-package sbcl-cl-vectors))
606
607(define-public cl-vectors
608 (sbcl-package->cl-source-package sbcl-cl-vectors))
609
7c62d384
RW
610(define-public sbcl-spatial-trees
611 ;; There have been no releases.
612 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
613 (revision "1"))
614 (package
615 (name "sbcl-spatial-trees")
616 (version (git-version "0" revision commit))
617 (source
618 (origin
619 (method git-fetch)
620 (uri (git-reference
b0e7b699 621 (url "https://github.com/rpav/spatial-trees")
7c62d384
RW
622 (commit commit)))
623 (file-name (git-file-name name version))
624 (sha256
625 (base32
626 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
627 (build-system asdf-build-system/sbcl)
628 (arguments
629 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
7c62d384
RW
630 #:test-asd-file "spatial-trees.test.asd"))
631 (native-inputs
632 `(("fiveam" ,sbcl-fiveam)))
633 (home-page "https://github.com/rpav/spatial-trees")
634 (synopsis "Dynamic index data structures for spatially-extended data")
635 (description
636 "Spatial-trees is a set of dynamic index data structures for
637spatially-extended data.")
638 (license license:bsd-3))))
639
640(define-public ecl-spatial-trees
641 (sbcl-package->ecl-package sbcl-spatial-trees))
642
643(define-public cl-spatial-trees
644 (sbcl-package->cl-source-package sbcl-spatial-trees))
645
5dfde3f5
RW
646(define-public sbcl-flexichain
647 ;; There are no releases.
648 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
649 (revision "1"))
650 (package
651 (name "sbcl-flexichain")
652 (version "1.5.1")
653 (source
654 (origin
655 (method git-fetch)
656 (uri (git-reference
b0e7b699 657 (url "https://github.com/robert-strandh/Flexichain")
5dfde3f5
RW
658 (commit commit)))
659 (file-name (git-file-name name version))
660 (sha256
661 (base32
662 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
663 (build-system asdf-build-system/sbcl)
664 (home-page "https://github.com/robert-strandh/Flexichain.git")
665 (synopsis "Dynamically add elements to or remove them from sequences")
666 (description
667 "This package provides an implementation of the flexichain protocol,
668allowing client code to dynamically add elements to, and delete elements from
669a sequence (or chain) of such elements.")
670 (license license:lgpl2.1+))))
671
672(define-public ecl-flexichain
673 (sbcl-package->ecl-package sbcl-flexichain))
674
675(define-public cl-flexichain
676 (sbcl-package->cl-source-package sbcl-flexichain))
677
e088a010
RW
678(define-public sbcl-cl-pdf
679 ;; There are no releases
680 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
681 (revision "1"))
682 (package
683 (name "sbcl-cl-pdf")
684 (version (git-version "0" revision commit))
685 (source
686 (origin
687 (method git-fetch)
688 (uri (git-reference
b0e7b699 689 (url "https://github.com/mbattyani/cl-pdf")
e088a010
RW
690 (commit commit)))
691 (file-name (git-file-name name version))
692 (sha256
693 (base32
694 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
695 (build-system asdf-build-system/sbcl)
696 (inputs
697 `(("iterate" ,sbcl-iterate)
698 ("zpb-ttf" ,sbcl-zpb-ttf)))
699 (home-page "https://github.com/mbattyani/cl-pdf")
700 (synopsis "Common Lisp library for generating PDF files")
701 (description
702 "CL-PDF is a cross-platform Common Lisp library for generating PDF
703files.")
704 (license license:bsd-2))))
705
706(define-public ecl-cl-pdf
707 (sbcl-package->ecl-package sbcl-cl-pdf))
708
709(define-public cl-pdf
710 (sbcl-package->cl-source-package sbcl-cl-pdf))
711
88f06fd0
PN
712(define-public sbcl-clx
713 (package
714 (name "sbcl-clx")
715 (version "0.7.5")
716 (source
717 (origin
718 (method git-fetch)
719 (uri
720 (git-reference
b0e7b699 721 (url "https://github.com/sharplispers/clx")
88f06fd0
PN
722 (commit version)))
723 (sha256
724 (base32
725 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
726 (file-name (string-append "clx-" version))))
727 (build-system asdf-build-system/sbcl)
728 (native-inputs
729 `(("fiasco" ,sbcl-fiasco)))
f0db7779 730 (home-page "https://www.cliki.net/portable-clx")
88f06fd0
PN
731 (synopsis "X11 client library for Common Lisp")
732 (description "CLX is an X11 client library for Common Lisp. The code was
733originally taken from a CMUCL distribution, was modified somewhat in order to
734make it compile and run under SBCL, then a selection of patches were added
735from other CLXes around the net.")
736 (license license:x11)))
737
738(define-public cl-clx
739 (sbcl-package->cl-source-package sbcl-clx))
740
741(define-public ecl-clx
742 (sbcl-package->ecl-package sbcl-clx))
743
1fbd1b4c
OP
744(define-public sbcl-clx-truetype
745 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
746 (revision "1"))
747 (package
748 (name "sbcl-clx-truetype")
749 (version (git-version "0.0.1" revision commit))
750 (source
751 (origin
752 (method git-fetch)
753 (uri (git-reference
754 (url "https://github.com/l04m33/clx-truetype")
755 (commit commit)))
756 (file-name (git-file-name name version))
757 (sha256
758 (base32
759 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
760 (modules '((guix build utils)))
761 (snippet
762 '(begin
763 (substitute* "package.lisp"
764 ((":export") ":export\n :+font-cache-filename+"))
765 #t))))
766 (build-system asdf-build-system/sbcl)
767 (inputs
768 `(("clx" ,sbcl-clx)
769 ("zpb-ttf" ,sbcl-zpb-ttf)
770 ("cl-vectors" ,sbcl-cl-vectors)
1fbd1b4c
OP
771 ("cl-fad" ,sbcl-cl-fad)
772 ("cl-store" ,sbcl-cl-store)
773 ("trivial-features" ,sbcl-trivial-features)))
774 (home-page "https://github.com/l04m33/clx-truetype")
775 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
776 (description "CLX-TrueType is pure common lisp solution for
777antialiased TrueType font rendering using CLX and XRender extension.")
778 (license license:expat))))
779
d9bdde74
GLV
780(define-public cl-clx-truetype
781 (sbcl-package->cl-source-package sbcl-clx-truetype))
782
e7cbcf5a
GLV
783(define-public ecl-clx-truetype
784 (sbcl-package->ecl-package sbcl-clx-truetype))
785
2ff8b5ba 786(define-public sbcl-slynk
e53dcaef
PN
787 (let ((commit "dffdf3caa12e964127d6eb45ba92ac0442cc5a48"))
788 (package
789 (name "sbcl-slynk")
790 (version (git-version "1.0.43" "1" commit))
791 (source
792 (origin
793 (method git-fetch)
794 (uri
795 (git-reference
796 (url "https://github.com/joaotavora/sly")
797 (commit commit)))
798 (sha256
799 (base32 "0vv185gz3rkfng5y79dijfnc11p92qdz2kdza05avjbpqfs6l0zn"))
800 (file-name (git-file-name "slynk" version))
801 (modules '((guix build utils)
802 (ice-9 ftw)))
803 (snippet
804 '(begin
805 ;; Move the contribs into the main source directory for easier
806 ;; access
807 (substitute* "slynk/slynk.asd"
808 (("\\.\\./contrib")
809 "contrib"))
810 (rename-file "contrib" "slynk/contrib")
811 ;; Move slynk's contents into the base directory for easier
812 ;; access
813 (for-each (lambda (file)
814 (unless (string-prefix? "." file)
815 (rename-file (string-append "slynk/" file)
816 (string-append "./" (basename file)))))
817 (scandir "slynk"))
818 #t))))
819 (build-system asdf-build-system/sbcl)
820 (outputs '("out" "image"))
821 (arguments
822 `(#:tests? #f ; No test suite
823 #:asd-systems '("slynk"
824 "slynk/arglists"
825 "slynk/fancy-inspector"
826 "slynk/package-fu"
827 "slynk/mrepl"
828 "slynk/trace-dialog"
829 "slynk/profiler"
830 "slynk/stickers"
831 "slynk/indentation"
832 "slynk/retro")
833 #:phases
834 (modify-phases %standard-phases
835 (add-after 'create-asdf-configuration 'build-image
836 (lambda* (#:key outputs #:allow-other-keys)
837 (build-image (string-append
838 (assoc-ref %outputs "image")
839 "/bin/slynk")
840 %outputs
841 #:dependencies '("slynk"
842 "slynk/arglists"
843 "slynk/fancy-inspector"
844 "slynk/package-fu"
845 "slynk/mrepl"
846 "slynk/trace-dialog"
847 "slynk/profiler"
848 "slynk/stickers"
849 "slynk/indentation"
850 "slynk/retro"))
851 #t)))))
852 (synopsis "Common Lisp IDE for Emacs")
853 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
88f06fd0 854It also features a completely redesigned REPL based on Emacs's own
c3c63352 855full-featured @code{comint-mode}, live code annotations, and a consistent interactive
88f06fd0
PN
856button interface. Everything can be copied to the REPL. One can create
857multiple inspectors with independent history.")
e53dcaef
PN
858 (home-page "https://github.com/joaotavora/sly")
859 (license license:public-domain)
860 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
88f06fd0
PN
861
862(define-public cl-slynk
b6c55a72 863 (sbcl-package->cl-source-package sbcl-slynk))
88f06fd0 864
88f06fd0 865(define-public ecl-slynk
b6c55a72
GLV
866 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
867 (package
868 (inherit pkg)
869 (outputs '("out"))
870 (arguments
871 (substitute-keyword-arguments (package-arguments pkg)
872 ((#:phases phases)
873 `(modify-phases ,phases
874 (delete 'build-image))))))))
88f06fd0
PN
875
876(define-public sbcl-parse-js
877 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
878 (revision "1"))
879 (package
880 (name "sbcl-parse-js")
881 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
882 (source
883 (origin
884 (method git-fetch)
885 (uri (git-reference
886 (url "http://marijn.haverbeke.nl/git/parse-js")
887 (commit commit)))
888 (file-name (string-append name "-" commit "-checkout"))
889 (sha256
890 (base32
891 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
892 (build-system asdf-build-system/sbcl)
9ca4c654 893 (home-page "https://marijnhaverbeke.nl/parse-js/")
88f06fd0
PN
894 (synopsis "Parse JavaScript")
895 (description "Parse-js is a Common Lisp package for parsing
896JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
897 (license license:zlib))))
898
899(define-public cl-parse-js
900 (sbcl-package->cl-source-package sbcl-parse-js))
901
e7cbcf5a
GLV
902(define-public ecl-parse-js
903 (sbcl-package->ecl-package sbcl-parse-js))
904
88f06fd0
PN
905(define-public sbcl-parse-number
906 (package
907 (name "sbcl-parse-number")
908 (version "1.7")
909 (source
910 (origin
911 (method git-fetch)
912 (uri (git-reference
913 (url "https://github.com/sharplispers/parse-number/")
914 (commit (string-append "v" version))))
915 (file-name (git-file-name name version))
916 (sha256
917 (base32
918 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
919 (build-system asdf-build-system/sbcl)
fed4ff33 920 (home-page "https://www.cliki.net/PARSE-NUMBER")
88f06fd0
PN
921 (synopsis "Parse numbers")
922 (description "@code{parse-number} is a library of functions for parsing
923strings into one of the standard Common Lisp number types without using the
924reader. @code{parse-number} accepts an arbitrary string and attempts to parse
925the string into one of the standard Common Lisp number types, if possible, or
926else @code{parse-number} signals an error of type @code{invalid-number}.")
927 (license license:bsd-3)))
928
929(define-public cl-parse-number
930 (sbcl-package->cl-source-package sbcl-parse-number))
931
e7cbcf5a
GLV
932(define-public ecl-parse-number
933 (sbcl-package->ecl-package sbcl-parse-number))
934
88f06fd0
PN
935(define-public sbcl-iterate
936 (package
937 (name "sbcl-iterate")
f36ec871 938 (version "1.5")
88f06fd0
PN
939 (source
940 (origin
941 (method url-fetch)
f36ec871
GLV
942 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
943 "iterate-" version ".tar.gz"))
88f06fd0
PN
944 (sha256
945 (base32
f36ec871 946 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
88f06fd0
PN
947 (build-system asdf-build-system/sbcl)
948 (native-inputs
949 `(("rt" ,sbcl-rt)))
950 (home-page "https://common-lisp.net/project/iterate/")
951 (synopsis "Iteration construct for Common Lisp")
952 (description "@code{iterate} is an iteration construct for Common Lisp.
953It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
954
955@itemize
956@item it is extensible,
957@item it helps editors like Emacs indent iterate forms by having a more
958 lisp-like syntax, and
959@item it isn't part of the ANSI standard for Common Lisp.
960@end itemize\n")
961 (license license:expat)))
962
963(define-public cl-iterate
964 (sbcl-package->cl-source-package sbcl-iterate))
965
966(define-public ecl-iterate
967 (sbcl-package->ecl-package sbcl-iterate))
968
969(define-public sbcl-cl-uglify-js
970 ;; There have been many bug fixes since the 2010 release.
971 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
972 (revision "1"))
973 (package
974 (name "sbcl-cl-uglify-js")
975 (version (string-append "0.1-" revision "." (string-take commit 9)))
976 (source
977 (origin
978 (method git-fetch)
979 (uri (git-reference
b0e7b699 980 (url "https://github.com/mishoo/cl-uglify-js")
88f06fd0
PN
981 (commit commit)))
982 (file-name (git-file-name name version))
983 (sha256
984 (base32
985 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
986 (build-system asdf-build-system/sbcl)
987 (inputs
988 `(("sbcl-parse-js" ,sbcl-parse-js)
989 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
990 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
991 ("sbcl-parse-number" ,sbcl-parse-number)
992 ("sbcl-iterate" ,sbcl-iterate)))
993 (home-page "https://github.com/mishoo/cl-uglify-js")
994 (synopsis "JavaScript compressor library for Common Lisp")
995 (description "This is a Common Lisp version of UglifyJS, a JavaScript
996compressor. It works on data produced by @code{parse-js} to generate a
997@dfn{minified} version of the code. Currently it can:
998
999@itemize
1000@item reduce variable names (usually to single letters)
1001@item join consecutive @code{var} statements
1002@item resolve simple binary expressions
1003@item group most consecutive statements using the @code{sequence} operator (comma)
1004@item remove unnecessary blocks
1005@item convert @code{IF} expressions in various ways that result in smaller code
1006@item remove some unreachable code
1007@end itemize\n")
1008 (license license:zlib))))
1009
1010(define-public cl-uglify-js
1011 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1012
12df8b7b
GLV
1013(define-public ecl-cl-uglify-js
1014 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1015
ba42da24
PN
1016(define-public uglify-js
1017 (package
1018 (inherit sbcl-cl-uglify-js)
1019 (name "uglify-js")
1020 (build-system trivial-build-system)
1021 (arguments
1022 `(#:modules ((guix build utils))
1023 #:builder
1024 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1025 (script (string-append bin "uglify-js")))
1026 (use-modules (guix build utils))
1027 (mkdir-p bin)
1028 (with-output-to-file script
1029 (lambda _
1030 (format #t "#!~a/bin/sbcl --script
2ff8b5ba 1031
ba42da24 1032 (require :asdf)
2ff8b5ba
GLV
1033 (asdf:initialize-source-registry
1034 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1035 (asdf:initialize-output-translations
1036 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
ba42da24 1037 (assoc-ref %build-inputs "sbcl")
2ff8b5ba 1038 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
ba42da24
PN
1039 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1040 ;; FIXME: cannot use progn here because otherwise it fails to
1041 ;; find cl-uglify-js.
1042 (for-each
1043 write
1044 '(;; Quiet, please!
1045 (let ((*standard-output* (make-broadcast-stream))
1046 (*error-output* (make-broadcast-stream)))
1047 (asdf:load-system :cl-uglify-js))
1048 (let ((file (cadr *posix-argv*)))
1049 (if file
1050 (format t "~a"
1051 (cl-uglify-js:ast-gen-code
1052 (cl-uglify-js:ast-mangle
1053 (cl-uglify-js:ast-squeeze
1054 (with-open-file (in file)
1055 (parse-js:parse-js in))))
1056 :beautify nil))
1057 (progn
1058 (format *error-output*
1059 "Please provide a JavaScript file.~%")
1060 (sb-ext:exit :code 1))))))))
1061 (chmod script #o755)
1062 #t)))
1063 (inputs
1064 `(("sbcl" ,sbcl)
1065 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1066 (synopsis "JavaScript compressor")))
1067
88f06fd0
PN
1068(define-public sbcl-cl-strings
1069 (let ((revision "1")
1070 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1071 (package
1072 (name "sbcl-cl-strings")
1073 (version (git-version "0.0.0" revision commit))
1074 (source
1075 (origin
1076 (method git-fetch)
1077 (uri (git-reference
1078 (url "https://github.com/diogoalexandrefranco/cl-strings")
1079 (commit commit)))
1080 (sha256
1081 (base32
1082 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1083 (file-name (string-append "cl-strings-" version "-checkout"))))
1084 (build-system asdf-build-system/sbcl)
1085 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1086 (description
1087 "@command{cl-strings} is a small, portable, dependency-free set of
1088utilities that make it even easier to manipulate text in Common Lisp. It has
1089100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1090 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1091 (license license:expat))))
1092
1093(define-public cl-strings
1094 (sbcl-package->cl-source-package sbcl-cl-strings))
1095
1096(define-public ecl-cl-strings
1097 (sbcl-package->ecl-package sbcl-cl-strings))
1098
1099(define-public sbcl-trivial-features
c75e3494
PN
1100 ;; No release since 2014.
1101 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1102 (package
1103 (name "sbcl-trivial-features")
1104 (version (git-version "0.8" "1" commit))
1105 (source
1106 (origin
1107 (method git-fetch)
1108 (uri (git-reference
b0e7b699 1109 (url "https://github.com/trivial-features/trivial-features")
c75e3494
PN
1110 (commit commit)))
1111 (file-name (git-file-name "trivial-features" version))
1112 (sha256
1113 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1114 (build-system asdf-build-system/sbcl)
3f8bbf7c
GLV
1115 (arguments
1116 '(#:asd-files '("trivial-features.asd")
1117 #:tests? #f))
c75e3494
PN
1118 (home-page "https://cliki.net/trivial-features")
1119 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1120 (description "Trivial-features ensures that @code{*FEATURES*} is
88f06fd0 1121consistent across multiple Common Lisp implementations.")
c75e3494 1122 (license license:expat))))
88f06fd0
PN
1123
1124(define-public cl-trivial-features
1125 (sbcl-package->cl-source-package sbcl-trivial-features))
1126
1127(define-public ecl-trivial-features
1128 (sbcl-package->ecl-package sbcl-trivial-features))
1129
1130(define-public sbcl-hu.dwim.asdf
1131 (package
1132 (name "sbcl-hu.dwim.asdf")
1133 (version "20190521")
1134 (source
1135 (origin
1136 (method url-fetch)
1137 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1138 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1139 (sha256
1140 (base32
1141 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1142 (build-system asdf-build-system/sbcl)
1143 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1144 (synopsis "Extensions to ASDF")
1145 (description "Various ASDF extensions such as attached test and
1146documentation system, explicit development support, etc.")
1147 (license license:public-domain)))
1148
1149(define-public cl-hu.dwim.asdf
1150 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1151
1152(define-public ecl-hu.dwim.asdf
1153 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1154
1155(define-public sbcl-hu.dwim.stefil
1156 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1157 (package
1158 (name "sbcl-hu.dwim.stefil")
1159 (version (git-version "0.0.0" "1" commit))
1160 (source
1161 (origin
1162 (method git-fetch)
1163 (uri
1164 (git-reference
1165 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1166 (commit commit)))
1167 (sha256
1168 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1169 (file-name (git-file-name "hu.dwim.stefil" version))))
1170 (build-system asdf-build-system/sbcl)
1171 (native-inputs
1172 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1173 (inputs
1174 `(("sbcl-alexandria" ,sbcl-alexandria)))
1175 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1176 (synopsis "Simple test framework")
1177 (description "Stefil is a simple test framework for Common Lisp,
1178with a focus on interactive development.")
1179 (license license:public-domain))))
1180
1181(define-public cl-hu.dwim.stefil
1182 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1183
1184(define-public ecl-hu.dwim.stefil
1185 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1186
1187(define-public sbcl-babel
8e596809
PN
1188 ;; No release since 2014.
1189 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1190 (package
1191 (name "sbcl-babel")
1192 (version (git-version "0.5.0" "1" commit))
1193 (source
1194 (origin
1195 (method git-fetch)
1196 (uri (git-reference
b0e7b699 1197 (url "https://github.com/cl-babel/babel")
8e596809
PN
1198 (commit commit)))
1199 (file-name (git-file-name "babel" version))
1200 (sha256
1201 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1202 (build-system asdf-build-system/sbcl)
1203 (native-inputs
1204 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1205 (inputs
1206 `(("sbcl-alexandria" ,sbcl-alexandria)
1207 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1208 (home-page "https://common-lisp.net/project/babel/")
1209 (synopsis "Charset encoding and decoding library")
1210 (description "Babel is a charset encoding and decoding library, not unlike
88f06fd0 1211GNU libiconv, but completely written in Common Lisp.")
8e596809 1212 (license license:expat))))
88f06fd0
PN
1213
1214(define-public cl-babel
1215 (sbcl-package->cl-source-package sbcl-babel))
1216
1217(define-public ecl-babel
1218 (sbcl-package->ecl-package sbcl-babel))
1219
1220(define-public sbcl-cl-yacc
1221 (package
1222 (name "sbcl-cl-yacc")
1223 (version "0.3")
1224 (source
1225 (origin
1226 (method git-fetch)
1227 (uri (git-reference
1228 (url "https://github.com/jech/cl-yacc")
1229 (commit (string-append "cl-yacc-" version))))
1230 (sha256
1231 (base32
1232 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1233 (file-name (string-append "cl-yacc-" version "-checkout"))))
1234 (build-system asdf-build-system/sbcl)
1235 (arguments
3f8bbf7c 1236 `(#:asd-systems '("yacc")))
88f06fd0
PN
1237 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1238 (description
1239 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1240to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1241
1242CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1243by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1244to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1245 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1246 (license license:expat)))
1247
1248(define-public cl-yacc
1249 (sbcl-package->cl-source-package sbcl-cl-yacc))
1250
1251(define-public ecl-cl-yacc
1252 (sbcl-package->ecl-package sbcl-cl-yacc))
1253
974b94ae
PN
1254(define-public sbcl-eager-future2
1255 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1256 (package
1257 (name "sbcl-eager-future2")
1258 (version (git-version "0.0.0" "1" commit))
1259 (source
1260 (origin
1261 (method git-fetch)
1262 (uri (git-reference
1263 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1264 (commit commit)))
1265 (file-name (git-file-name name version))
1266 (sha256
1267 (base32
1268 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1269 (build-system asdf-build-system/sbcl)
1270 (inputs
1271 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1272 ("trivial-garbage" ,sbcl-trivial-garbage)))
1273 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1274 (description
1275 "Eager Future2 is a Common Lisp library that provides composable
1276concurrency primitives that unify parallel and lazy evaluation, are integrated
1277with the Common Lisp condition system, and have automatic resource
1278management.")
1279 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1280 (license license:lgpl3+))))
1281
1282(define-public cl-eager-future2
1283 (sbcl-package->cl-source-package sbcl-eager-future2))
1284
1285(define-public ecl-eager-future2
1286 (sbcl-package->ecl-package sbcl-eager-future2))
1287
88f06fd0
PN
1288(define-public sbcl-jpl-util
1289 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1290 (package
1291 (name "sbcl-jpl-util")
1292 (version "20151005")
1293 (source
1294 (origin
1295 (method git-fetch)
1296 (uri (git-reference
1297 ;; Quicklisp uses this fork.
1298 (url "https://github.com/hawkir/cl-jpl-util")
1299 (commit commit)))
1300 (file-name
1301 (git-file-name "jpl-util" version))
1302 (sha256
1303 (base32
1304 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1305 (build-system asdf-build-system/sbcl)
1306 (synopsis "Collection of Common Lisp utility functions and macros")
1307 (description
1308 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1309and macros, primarily for software projects written in CL by the author.")
1310 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1311 (license license:isc))))
1312
1313(define-public cl-jpl-util
1314 (sbcl-package->cl-source-package sbcl-jpl-util))
1315
1316(define-public ecl-jpl-util
1317 (sbcl-package->ecl-package sbcl-jpl-util))
1318
1319(define-public sbcl-jpl-queues
1320 (package
1321 (name "sbcl-jpl-queues")
1322 (version "0.1")
1323 (source
1324 (origin
1325 (method url-fetch)
1326 (uri (string-append
1327 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1328 version
1329 ".tar.gz"))
1330 (sha256
1331 (base32
1332 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1333 (build-system asdf-build-system/sbcl)
1334 (inputs
1335 `(("jpl-util" ,sbcl-jpl-util)
1336 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1337 (arguments
1338 ;; Tests seem to be broken.
1339 `(#:tests? #f))
1340 (synopsis "Common Lisp library implementing a few different kinds of queues")
1341 (description
1342 "A Common Lisp library implementing a few different kinds of queues:
1343
1344@itemize
1345@item Bounded and unbounded FIFO queues.
1346@item Lossy bounded FIFO queues that drop elements when full.
1347@item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1348@end itemize
1349
1350Additionally, a synchronization wrapper is provided to make any queue
1351conforming to the @command{jpl-queues} API thread-safe for lightweight
1352multithreading applications. (See Calispel for a more sophisticated CL
1353multithreaded message-passing library with timeouts and alternation among
1354several blockable channels.)")
1355 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1356 (license license:isc)))
1357
1358(define-public cl-jpl-queues
1359 (sbcl-package->cl-source-package sbcl-jpl-queues))
1360
1361(define-public ecl-jpl-queues
1362 (sbcl-package->ecl-package sbcl-jpl-queues))
1363
5ff25d15
PN
1364(define-public sbcl-calispel
1365 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1366 (package
1367 (name "sbcl-calispel")
1368 (version (git-version "0.1" "1" commit))
1369 (source
1370 (origin
1371 (method git-fetch)
1372 (uri (git-reference
1373 ;; This fork replaces the dependency on the obsolete
1374 ;; eager-future with eager-future2.
1375 (url "https://github.com/hawkir/calispel")
1376 (commit commit)))
1377 (file-name (git-file-name name version))
1378 (sha256
1379 (base32
1380 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1381 (build-system asdf-build-system/sbcl)
1382 (inputs
1383 `(("jpl-queues" ,sbcl-jpl-queues)
1384 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1385 (native-inputs
1386 `(("eager-future2" ,sbcl-eager-future2)))
1387 (synopsis "Thread-safe message-passing channels in Common Lisp")
1388 (description
1389 "Calispel is a Common Lisp library for thread-safe message-passing
1390channels, in the style of the occam programming language, also known as
1391communicating sequential processes (CSP). See
1392@url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1393
1394Calispel channels let one thread communicate with another, facilitating
1395unidirectional communication of any Lisp object. Channels may be unbuffered,
1396where a sender waits for a receiver (or vice versa) before either operation can
1397continue, or channels may be buffered with flexible policy options.
1398
1399Because sending and receiving on a channel may block, either operation can time
1400out after a specified amount of time.
1401
1402A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1403@code{select()}): given a sequence of operations, any or all of which may
1404block, alternation selects the first operation that doesn't block and executes
1405associated code. Alternation can also time out, executing an \"otherwise\"
1406clause if no operation becomes available within a set amount of time.
1407
1408Calispel is a message-passing library, and as such leaves the role of
1409threading abstractions and utilities left to be filled by complementary
1410libraries such as Bordeaux-Threads and Eager Future.")
1411 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1412 (license license:isc))))
1413
1414(define-public cl-calispel
1415 (sbcl-package->cl-source-package sbcl-calispel))
1416
1417(define-public ecl-calispel
1418 (sbcl-package->ecl-package sbcl-calispel))
1419
88f06fd0 1420(define-public sbcl-eos
c203be27
GLV
1421 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1422 (revision "2"))
88f06fd0
PN
1423 (package
1424 (name "sbcl-eos")
c203be27 1425 (version (git-version "0.0.0" revision commit))
88f06fd0
PN
1426 (source
1427 (origin
1428 (method git-fetch)
1429 (uri (git-reference
1430 (url "https://github.com/adlai/Eos")
1431 (commit commit)))
1432 (sha256
c203be27 1433 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
88f06fd0
PN
1434 (file-name (git-file-name "eos" version))))
1435 (build-system asdf-build-system/sbcl)
1436 (synopsis "Unit Testing for Common Lisp")
1437 (description
1438 "Eos was a unit testing library for Common Lisp.
1439It began as a fork of FiveAM; however, FiveAM development has continued, while
1440that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1441 (home-page "https://github.com/adlai/Eos")
1442 (license license:expat))))
1443
1444(define-public cl-eos
1445 (sbcl-package->cl-source-package sbcl-eos))
1446
1447(define-public ecl-eos
1448 (sbcl-package->ecl-package sbcl-eos))
1449
1450(define-public sbcl-esrap
1451 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1452 (package
1453 (name "sbcl-esrap")
1454 (version (git-version "0.0.0" "1" commit))
1455 (source
1456 (origin
1457 (method git-fetch)
1458 (uri (git-reference
1459 (url "https://github.com/nikodemus/esrap")
1460 (commit commit)))
1461 (sha256
1462 (base32
1463 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1464 (file-name (git-file-name "esrap" version))))
1465 (build-system asdf-build-system/sbcl)
1466 (native-inputs
1467 `(("eos" ,sbcl-eos))) ;For testing only.
1468 (inputs
1469 `(("alexandria" ,sbcl-alexandria)))
1470 (synopsis "Common Lisp packrat parser")
1471 (description
1472 "A packrat parser for Common Lisp.
1473In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1474
1475@itemize
1476@item dynamic redefinition of nonterminals
1477@item inline grammars
1478@item semantic predicates
1479@item introspective facilities (describing grammars, tracing, setting breaks)
1480@end itemize\n")
1481 (home-page "https://nikodemus.github.io/esrap/")
1482 (license license:expat))))
1483
1484(define-public cl-esrap
1485 (sbcl-package->cl-source-package sbcl-esrap))
1486
1487(define-public ecl-esrap
1488 (sbcl-package->ecl-package sbcl-esrap))
1489
1490(define-public sbcl-split-sequence
1491 (package
1492 (name "sbcl-split-sequence")
92da0588 1493 (version "2.0.0")
88f06fd0
PN
1494 (source
1495 (origin
1496 (method git-fetch)
1497 (uri (git-reference
1498 (url "https://github.com/sharplispers/split-sequence")
1499 (commit (string-append "v" version))))
1500 (sha256
1501 (base32
92da0588 1502 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
88f06fd0
PN
1503 (file-name (git-file-name "split-sequence" version))))
1504 (build-system asdf-build-system/sbcl)
92da0588
GLV
1505 (native-inputs
1506 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
1507 (synopsis "Member of the Common Lisp Utilities family of programs")
1508 (description
1509 "Splits sequence into a list of subsequences delimited by objects
1510satisfying the test.")
1511 (home-page "https://cliki.net/split-sequence")
1512 (license license:expat)))
1513
1514(define-public cl-split-sequence
1515 (sbcl-package->cl-source-package sbcl-split-sequence))
1516
1517(define-public ecl-split-sequence
1518 (sbcl-package->ecl-package sbcl-split-sequence))
1519
1520(define-public sbcl-html-encode
1521 (package
1522 (name "sbcl-html-encode")
1523 (version "1.2")
1524 (source
1525 (origin
1526 (method url-fetch)
1527 (uri (string-append
1528 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1529 version ".tgz"))
1530 (sha256
1531 (base32
1532 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1533 (file-name (string-append "colorize" version "-checkout"))))
1534 (build-system asdf-build-system/sbcl)
1535 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1536 (description
1537 "A library for encoding text in various web-savvy encodings.")
1538 (home-page "http://quickdocs.org/html-encode/")
1539 (license license:expat)))
1540
1541(define-public cl-html-encode
1542 (sbcl-package->cl-source-package sbcl-html-encode))
1543
1544(define-public ecl-html-encode
1545 (sbcl-package->ecl-package sbcl-html-encode))
1546
1547(define-public sbcl-colorize
1548 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1549 (package
1550 (name "sbcl-colorize")
1551 (version (git-version "0.0.0" "1" commit))
1552 (source
1553 (origin
1554 (method git-fetch)
1555 (uri (git-reference
1556 (url "https://github.com/kingcons/colorize")
1557 (commit commit)))
1558 (sha256
1559 (base32
1560 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1561 (file-name (git-file-name "colorize" version))))
1562 (build-system asdf-build-system/sbcl)
1563 (inputs
1564 `(("alexandria" ,sbcl-alexandria)
1565 ("split-sequence" ,sbcl-split-sequence)
1566 ("html-encode" ,sbcl-html-encode)))
1567 (synopsis "Common Lisp for syntax highlighting")
1568 (description
1569 "@command{colorize} is a Lisp library for syntax highlighting
1570supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1571C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1572 (home-page "https://github.com/kingcons/colorize")
1573 ;; TODO: Missing license?
1574 (license license:expat))))
1575
1576(define-public cl-colorize
1577 (sbcl-package->cl-source-package sbcl-colorize))
1578
1579(define-public ecl-colorize
1580 (sbcl-package->ecl-package sbcl-colorize))
1581
1582(define-public sbcl-3bmd
1583 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1584 (package
1585 (name "sbcl-3bmd")
1586 (version (git-version "0.0.0" "1" commit))
1587 (source
1588 (origin
1589 (method git-fetch)
1590 (uri (git-reference
1591 (url "https://github.com/3b/3bmd")
1592 (commit commit)))
1593 (sha256
1594 (base32
1595 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1596 (file-name (git-file-name "3bmd" version))))
1597 (build-system asdf-build-system/sbcl)
1598 (arguments
1599 ;; FIXME: We need to specify the name because the build-system thinks
1600 ;; "3" is a version marker.
3f8bbf7c 1601 `(#:asd-systems '("3bmd"
2ff8b5ba 1602 "3bmd-ext-code-blocks")))
88f06fd0 1603 (inputs
2ff8b5ba
GLV
1604 `(("colorize" ,sbcl-colorize)
1605 ("esrap" ,sbcl-esrap)
88f06fd0
PN
1606 ("split-sequence" ,sbcl-split-sequence)))
1607 (synopsis "Markdown processor in Command Lisp using esrap parser")
1608 (description
1609 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1610parsing, and grammar based on @command{peg-markdown}.")
1611 (home-page "https://github.com/3b/3bmd")
1612 (license license:expat))))
1613
1614(define-public cl-3bmd
1615 (sbcl-package->cl-source-package sbcl-3bmd))
1616
1617(define-public ecl-3bmd
1618 (sbcl-package->ecl-package sbcl-3bmd))
1619
88f06fd0
PN
1620(define-public sbcl-cl-fad
1621 (package
1622 (name "sbcl-cl-fad")
f0d9eaca 1623 (version "0.7.6")
88f06fd0
PN
1624 (source
1625 (origin
1626 (method git-fetch)
1627 (uri (git-reference
1628 (url "https://github.com/edicl/cl-fad/")
1629 (commit (string-append "v" version))))
1630 (sha256
1631 (base32
f0d9eaca 1632 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
88f06fd0
PN
1633 (file-name (string-append "cl-fad" version "-checkout"))))
1634 (build-system asdf-build-system/sbcl)
1635 (inputs
1636 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1637 (synopsis "Portable pathname library for Common Lisp")
1638 (description
1639 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1640Lisp's standard pathname functions. It is intended to provide some
1641unification between current CL implementations on Windows, OS X, Linux, and
1642Unix. Most of the code was written by Peter Seibel for his book Practical
1643Common Lisp.")
1644 (home-page "https://edicl.github.io/cl-fad/")
1645 (license license:bsd-2)))
1646
1647(define-public cl-fad
1648 (sbcl-package->cl-source-package sbcl-cl-fad))
1649
1650(define-public ecl-cl-fad
1651 (sbcl-package->ecl-package sbcl-cl-fad))
1652
1653(define-public sbcl-rt
e81b0719
GLV
1654 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1655 (revision "1"))
1656 (package
1657 (name "sbcl-rt")
1658 (version (git-version "1990.12.19" revision commit))
1659 (source
1660 (origin
1661 (method git-fetch)
1662 (uri (git-reference
1663 (url "http://git.kpe.io/rt.git")
1664 (commit commit)))
1665 (file-name (git-file-name name version))
1666 (sha256
1667 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1668 (build-system asdf-build-system/sbcl)
1669 (synopsis "MIT Regression Tester")
1670 (description
1671 "RT provides a framework for writing regression test suites.")
1672 (home-page "https://www.cliki.net/rt")
1673 (license license:expat))))
88f06fd0
PN
1674
1675(define-public cl-rt
1676 (sbcl-package->cl-source-package sbcl-rt))
1677
1678(define-public ecl-rt
1679 (sbcl-package->ecl-package sbcl-rt))
1680
1681(define-public sbcl-nibbles
b8d4568b
GLV
1682 ;; No tagged release since 2018.
1683 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1684 (revision "1"))
1685 (package
1686 (name "sbcl-nibbles")
1687 (version (git-version "0.14" revision commit))
1688 (source
1689 (origin
1690 (method git-fetch)
1691 (uri (git-reference
1692 (url "https://github.com/sharplispers/nibbles/")
1693 (commit commit)))
1694 (sha256
1695 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1696 (file-name (git-file-name "nibbles" version))))
1697 (build-system asdf-build-system/sbcl)
1698 (native-inputs
1699 ;; Tests only.
1700 `(("rt" ,sbcl-rt)))
1701 (synopsis
1702 "Common Lisp library for accessing octet-addressed blocks of data")
1703 (description
1704 "When dealing with network protocols and file formats, it's common to
88f06fd0
PN
1705have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1706flavors. Common Lisp sort of supports this by specifying :element-type for
1707streams, but that facility is underspecified and there's nothing similar for
1708read/write from octet vectors. What most people wind up doing is rolling their
1709own small facility for their particular needs and calling it a day.
1710
1711This library attempts to be comprehensive and centralize such
1712facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1713vectors in signed or unsigned flavors are provided; these functions are also
1714SETFable. Since it's sometimes desirable to read/write directly from streams,
1715functions for doing so are also provided. On some implementations,
1716reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1717also be supported.")
b8d4568b
GLV
1718 (home-page "https://github.com/sharplispers/nibbles")
1719 (license license:bsd-3))))
88f06fd0
PN
1720
1721(define-public cl-nibbles
1722 (sbcl-package->cl-source-package sbcl-nibbles))
1723
1724(define-public ecl-nibbles
1725 (sbcl-package->ecl-package sbcl-nibbles))
1726
1727(define-public sbcl-ironclad
1728 (package
1729 (name "sbcl-ironclad")
61ec6dc6 1730 (version "0.54")
88f06fd0
PN
1731 (source
1732 (origin
1733 (method git-fetch)
1734 (uri (git-reference
1735 (url "https://github.com/sharplispers/ironclad/")
1736 (commit (string-append "v" version))))
1737 (sha256
61ec6dc6 1738 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
88f06fd0
PN
1739 (file-name (git-file-name name version))))
1740 (build-system asdf-build-system/sbcl)
1741 (native-inputs
1742 ;; Tests only.
1743 `(("rt" ,sbcl-rt)))
1744 (inputs
1745 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
d2a9a39c 1746 ("flexi-streams" ,sbcl-flexi-streams)))
88f06fd0
PN
1747 (synopsis "Cryptographic toolkit written in Common Lisp")
1748 (description
1749 "Ironclad is a cryptography library written entirely in Common Lisp.
1750It includes support for several popular ciphers, digests, MACs and public key
1751cryptography algorithms. For several implementations that support Gray
1752streams, support is included for convenient stream wrappers.")
1753 (home-page "https://github.com/sharplispers/ironclad")
1754 (license license:bsd-3)))
1755
1756(define-public cl-ironclad
1757 (sbcl-package->cl-source-package sbcl-ironclad))
1758
1759(define-public ecl-ironclad
1760 (sbcl-package->ecl-package sbcl-ironclad))
1761
1762(define-public sbcl-named-readtables
438d8113
PN
1763 (let ((commit "64bd53f37a1694cfde48fc38b8f03901f6f0c05b")
1764 (revision "2"))
88f06fd0
PN
1765 (package
1766 (name "sbcl-named-readtables")
438d8113 1767 (version (git-version "0.9" revision commit))
88f06fd0
PN
1768 (source
1769 (origin
1770 (method git-fetch)
1771 (uri (git-reference
b0e7b699 1772 (url "https://github.com/melisgl/named-readtables")
88f06fd0
PN
1773 (commit commit)))
1774 (sha256
438d8113 1775 (base32 "01l4831m7k84qvhzyx0qgdl50isr4zmp40qf6dfq2iqcaj8y4h3n"))
88f06fd0
PN
1776 (file-name (git-file-name "named-readtables" version))))
1777 (build-system asdf-build-system/sbcl)
1778 (arguments
1779 ;; Tests seem to be broken.
1780 `(#:tests? #f))
1781 (home-page "https://github.com/melisgl/named-readtables/")
1782 (synopsis "Library that creates a namespace for named readtables")
1783 (description "Named readtables is a library that creates a namespace for
1784named readtables, which is akin to package namespacing in Common Lisp.")
1785 (license license:bsd-3))))
1786
1787(define-public cl-named-readtables
1788 (sbcl-package->cl-source-package sbcl-named-readtables))
1789
1790(define-public ecl-named-readtables
1791 (sbcl-package->ecl-package sbcl-named-readtables))
1792
288fe185
SH
1793(define-public sbcl-py-configparser
1794 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
1795 ;; time 8y ago, it looks like abandoned. VCS of the project:
1796 ;; https://svn.common-lisp.net/py-configparser/trunk
1797 (package
1798 (name "sbcl-py-configparser")
1799 (version "1.0.3")
1800 (source
1801 (origin
1802 (method url-fetch)
1803 (uri (string-append
1804 "https://common-lisp.net/project/py-configparser/releases/"
1805 "py-configparser-" version ".tar.gz"))
1806 (sha256
1807 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
1808 (build-system asdf-build-system/sbcl)
1809 (inputs
1810 `(("parse-number" ,sbcl-parse-number)))
1811 (home-page "http://common-lisp.net/project/py-configparser/")
1812 (synopsis "ConfigParser Python module functionality for Common Lisp")
1813 (description "The py-configparser package implements the ConfigParser
1814Python module functionality in Common Lisp. In short, it implements reading
1815and writing of .INI-file style configuration files with sections containing
1816key/value pairs of configuration options. In line with the functionalities in
1817the python module, does this package implement basic interpolation of option
1818values in other options.")
1819 (license license:expat)))
1820
1821(define-public cl-py-configparser
1822 (sbcl-package->cl-source-package sbcl-py-configparser))
1823
1824(define-public ecl-py-configparser
1825 (sbcl-package->ecl-package sbcl-py-configparser))
1826
88f06fd0
PN
1827(define-public sbcl-pythonic-string-reader
1828 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1829 (package
1830 (name "sbcl-pythonic-string-reader")
1831 (version (git-version "0.0.0" "1" commit))
1832 (source
1833 (origin
1834 (method git-fetch)
1835 (uri (git-reference
1836 (url "https://github.com/smithzvk/pythonic-string-reader/")
1837 (commit commit)))
1838 (sha256
1839 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1840 (file-name (git-file-name "pythonic-string-reader" version))))
1841 (build-system asdf-build-system/sbcl)
1842 (inputs
1843 `(("named-readtables" ,sbcl-named-readtables)))
1844 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1845 (synopsis "Read table modification inspired by Python's three quote strings")
1846 (description "This piece of code sets up some reader macros that make it
1847simpler to input string literals which contain backslashes and double quotes
1848This is very useful for writing complicated docstrings and, as it turns out,
1849writing code that contains string literals that contain code themselves.")
1850 (license license:bsd-3))))
1851
1852(define-public cl-pythonic-string-reader
1853 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1854
1855(define-public ecl-pythonic-string-reader
1856 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1857
2ff8b5ba 1858(define-public sbcl-slime-swank
88f06fd0 1859 (package
2ff8b5ba 1860 (name "sbcl-slime-swank")
c35403cc 1861 (version "2.26")
88f06fd0
PN
1862 (source
1863 (origin
2ff8b5ba 1864 (file-name (git-file-name "slime-swank" version))
88f06fd0
PN
1865 (method git-fetch)
1866 (uri (git-reference
1867 (url "https://github.com/slime/slime/")
1868 (commit (string-append "v" version))))
1869 (sha256
1870 (base32
c35403cc 1871 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2ff8b5ba
GLV
1872 (build-system asdf-build-system/sbcl)
1873 (arguments
3f8bbf7c 1874 '(#:asd-systems '("swank")))
88f06fd0
PN
1875 (home-page "https://github.com/slime/slime")
1876 (synopsis "Common Lisp Swank server")
1877 (description
1878 "This is only useful if you want to start a Swank server in a Lisp
1879processes that doesn't run under Emacs. Lisp processes created by
1880@command{M-x slime} automatically start the server.")
1881 (license (list license:gpl2+ license:public-domain))))
1882
2ff8b5ba
GLV
1883(define-public cl-slime-swank
1884 (sbcl-package->cl-source-package sbcl-slime-swank))
1885
1886(define-public ecl-slime-swank
1887 (sbcl-package->ecl-package sbcl-slime-swank))
88f06fd0
PN
1888
1889(define-public sbcl-mgl-pax
1890 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1891 (package
1892 (name "sbcl-mgl-pax")
1893 (version (git-version "0.0.0" "1" commit))
1894 (source
1895 (origin
1896 (method git-fetch)
1897 (uri (git-reference
1898 (url "https://github.com/melisgl/mgl-pax")
1899 (commit commit)))
1900 (sha256
1901 (base32
1902 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1903 (file-name (git-file-name "mgl-pax" version))))
1904 (build-system asdf-build-system/sbcl)
1905 (inputs
1906 `(("3bmd" ,sbcl-3bmd)
88f06fd0
PN
1907 ("babel" ,sbcl-babel)
1908 ("cl-fad" ,sbcl-cl-fad)
1909 ("ironclad" ,sbcl-ironclad)
1910 ("named-readtables" ,sbcl-named-readtables)
2ff8b5ba
GLV
1911 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
1912 ("swank" ,sbcl-slime-swank)))
88f06fd0
PN
1913 (synopsis "Exploratory programming environment and documentation generator")
1914 (description
1915 "PAX provides an extremely poor man's Explorable Programming
1916environment. Narrative primarily lives in so called sections that mix markdown
1917docstrings with references to functions, variables, etc, all of which should
1918probably have their own docstrings.
1919
1920The primary focus is on making code easily explorable by using SLIME's
1921@command{M-.} (@command{slime-edit-definition}). See how to enable some
1922fanciness in Emacs Integration. Generating documentation from sections and all
1923the referenced items in Markdown or HTML format is also implemented.
1924
1925With the simplistic tools provided, one may accomplish similar effects as with
1926Literate Programming, but documentation is generated from code, not vice versa
1927and there is no support for chunking yet. Code is first, code must look
1928pretty, documentation is code.")
1929 (home-page "http://quotenil.com/")
1930 (license license:expat))))
1931
1932(define-public cl-mgl-pax
1933 (sbcl-package->cl-source-package sbcl-mgl-pax))
1934
1935(define-public ecl-mgl-pax
851abcf6
GLV
1936 (let ((pkg (sbcl-package->ecl-package sbcl-mgl-pax)))
1937 (package
1938 (inherit pkg)
1939 (arguments
1940 (substitute-keyword-arguments (package-arguments pkg)
1941 ;; TODO: Find why the tests fail on ECL.
1942 ((#:tests? _ #f) #f))))))
88f06fd0 1943
88eb5370
SH
1944(define-public sbcl-mssql
1945 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
1946 (revision "1"))
1947 (package
1948 (name "sbcl-mssql")
1949 (version (git-version "0.0.3" revision commit))
1950 (source
1951 (origin
1952 (method git-fetch)
1953 (uri (git-reference
1954 (url "https://github.com/archimag/cl-mssql")
1955 (commit commit)))
1956 (file-name (git-file-name "cl-mssql" version))
1957 (sha256
1958 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
1959 (build-system asdf-build-system/sbcl)
1960 (inputs
1961 `(("cffi" ,sbcl-cffi)
1962 ("freetds" ,freetds)
1963 ("garbage-pools" ,sbcl-garbage-pools)
1964 ("iterate" ,sbcl-iterate)
1965 ("parse-number" ,sbcl-parse-number)))
1966 (arguments
1967 `(#:phases
1968 (modify-phases %standard-phases
1969 (add-after 'unpack 'fix-paths
1970 (lambda* (#:key inputs #:allow-other-keys)
1971 (substitute* "src/mssql.lisp"
1972 (("libsybdb" all)
1973 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
1974 #t)))))
1975 (home-page "https://github.com/archimag/cl-mssql")
1976 (synopsis "Common Lisp library to interact with MS SQL Server databases")
1977 (description
1978 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
1979server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
1980project.")
1981 (license license:llgpl))))
1982
1983(define-public ecl-mssql
1984 (sbcl-package->ecl-package sbcl-mssql))
1985
1986(define-public cl-mssql
1987 (sbcl-package->cl-source-package sbcl-mssql))
1988
88f06fd0
PN
1989(define-public sbcl-lisp-unit
1990 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1991 (package
1992 (name "sbcl-lisp-unit")
1993 (version (git-version "0.0.0" "1" commit))
1994 (source
1995 (origin
1996 (method git-fetch)
1997 (uri (git-reference
1998 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1999 (commit commit)))
2000 (sha256
2001 (base32
2002 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2003 (file-name (git-file-name "lisp-unit" version))))
2004 (build-system asdf-build-system/sbcl)
2005 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2006 (description
2007 "@command{lisp-unit} is a Common Lisp library that supports unit
2008testing. It is an extension of the library written by Chris Riesbeck.")
2009 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2010 (license license:expat))))
2011
2012(define-public cl-lisp-unit
2013 (sbcl-package->cl-source-package sbcl-lisp-unit))
2014
2015(define-public ecl-lisp-unit
2016 (sbcl-package->ecl-package sbcl-lisp-unit))
2017
2018(define-public sbcl-anaphora
2019 (package
2020 (name "sbcl-anaphora")
2021 (version "0.9.6")
2022 (source
2023 (origin
2024 (method git-fetch)
2025 (uri (git-reference
2026 (url "https://github.com/tokenrove/anaphora")
2027 (commit version)))
2028 (sha256
2029 (base32
2030 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2031 (file-name (git-file-name "anaphora" version))))
2032 (build-system asdf-build-system/sbcl)
2033 (native-inputs
2034 `(("rt" ,sbcl-rt)))
2035 (synopsis "The anaphoric macro collection from Hell")
2036 (description
2037 "Anaphora is the anaphoric macro collection from Hell: it includes many
2038new fiends in addition to old friends like @command{aif} and
2039@command{awhen}.")
2040 (home-page "https://github.com/tokenrove/anaphora")
2041 (license license:public-domain)))
2042
2043(define-public cl-anaphora
2044 (sbcl-package->cl-source-package sbcl-anaphora))
2045
2046(define-public ecl-anaphora
2047 (sbcl-package->ecl-package sbcl-anaphora))
2048
2049(define-public sbcl-lift
2050 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
2051 (package
2052 (name "sbcl-lift")
2053 (version (git-version "1.7.1" "1" commit))
2054 (source
2055 (origin
2056 (method git-fetch)
2057 (uri (git-reference
2058 (url "https://github.com/gwkkwg/lift")
2059 (commit commit)))
2060 (sha256
2061 (base32
2062 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
2063 (file-name (git-file-name "lift" version))
2064 (modules '((guix build utils)))
2065 (snippet
2066 ;; Don't keep the bundled website
2067 `(begin
2068 (delete-file-recursively "website")
2069 #t))))
2070 (build-system asdf-build-system/sbcl)
2071 (arguments
2072 ;; The tests require a debugger, but we run with the debugger disabled.
2073 '(#:tests? #f))
2074 (synopsis "LIsp Framework for Testing")
2075 (description
2076 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2077Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2078testcases are organized into hierarchical testsuites each of which can have
2079its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2080supports randomized testing, benchmarking, profiling, and reporting.")
2081 (home-page "https://github.com/gwkkwg/lift")
2082 (license license:expat))))
2083
2084(define-public cl-lift
2085 (sbcl-package->cl-source-package sbcl-lift))
2086
2087(define-public ecl-lift
2088 (sbcl-package->ecl-package sbcl-lift))
2089
2090(define-public sbcl-let-plus
2091 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2092 (package
2093 (name "sbcl-let-plus")
2094 (version (git-version "0.0.0" "1" commit))
2095 (source
2096 (origin
2097 (method git-fetch)
2098 (uri (git-reference
2099 (url "https://github.com/sharplispers/let-plus")
2100 (commit commit)))
2101 (sha256
2102 (base32
2103 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2104 (file-name (git-file-name "let-plus" version))))
2105 (build-system asdf-build-system/sbcl)
2106 (inputs
2107 `(("alexandria" ,sbcl-alexandria)
2108 ("anaphora" ,sbcl-anaphora)))
2109 (native-inputs
2110 `(("lift" ,sbcl-lift)))
2111 (synopsis "Destructuring extension of let*")
2112 (description
2113 "This library implements the let+ macro, which is a dectructuring
2114extension of let*. It features:
2115
2116@itemize
2117@item Clean, consistent syntax and small implementation (less than 300 LOC,
2118not counting tests)
2119@item Placeholder macros allow editor hints and syntax highlighting
2120@item @command{&ign} for ignored values (in forms where that makes sense)
2121@item Very easy to extend
2122@end itemize\n")
2123 (home-page "https://github.com/sharplispers/let-plus")
2124 (license license:boost1.0))))
2125
2126(define-public cl-let-plus
2127 (sbcl-package->cl-source-package sbcl-let-plus))
2128
2129(define-public ecl-let-plus
2130 (sbcl-package->ecl-package sbcl-let-plus))
2131
2132(define-public sbcl-cl-colors
2133 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2134 (package
2135 (name "sbcl-cl-colors")
2136 (version (git-version "0.0.0" "1" commit))
2137 (source
2138 (origin
2139 (method git-fetch)
2140 (uri (git-reference
2141 (url "https://github.com/tpapp/cl-colors")
2142 (commit commit)))
2143 (sha256
2144 (base32
2145 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2146 (file-name (git-file-name "cl-colors" version))))
2147 (build-system asdf-build-system/sbcl)
2148 (inputs
2149 `(("alexandria" ,sbcl-alexandria)
2150 ("let-plus" ,sbcl-let-plus)))
2151 (synopsis "Simple color library for Common Lisp")
2152 (description
2153 "This is a very simple color library for Common Lisp, providing
2154
2155@itemize
2156@item Types for representing colors in HSV and RGB spaces.
2157@item Simple conversion functions between the above types (and also
2158hexadecimal representation for RGB).
2159@item Some predefined colors (currently X11 color names – of course the
2160library does not depend on X11).Because color in your terminal is nice.
2161@end itemize
2162
2163This library is no longer supported by its author.")
2164 (home-page "https://github.com/tpapp/cl-colors")
2165 (license license:boost1.0))))
2166
2167(define-public cl-colors
2168 (sbcl-package->cl-source-package sbcl-cl-colors))
2169
2170(define-public ecl-cl-colors
2171 (sbcl-package->ecl-package sbcl-cl-colors))
2172
2173(define-public sbcl-cl-ansi-text
2174 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2175 (package
2176 (name "sbcl-cl-ansi-text")
2177 (version (git-version "1.0.0" "1" commit))
2178 (source
2179 (origin
2180 (method git-fetch)
2181 (uri (git-reference
2182 (url "https://github.com/pnathan/cl-ansi-text")
2183 (commit commit)))
2184 (sha256
2185 (base32
2186 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2187 (file-name (git-file-name "cl-ansi-text" version))))
2188 (build-system asdf-build-system/sbcl)
2189 (inputs
2190 `(("alexandria" ,sbcl-alexandria)
2191 ("cl-colors" ,sbcl-cl-colors)))
2192 (native-inputs
2193 `(("fiveam" ,sbcl-fiveam)))
2194 (synopsis "ANSI terminal color implementation for Common Lisp")
2195 (description
2196 "@command{cl-ansi-text} provides utilities which enable printing to an
2197ANSI terminal with colored text. It provides the macro @command{with-color}
2198which causes everything printed in the body to be displayed with the provided
2199color. It further provides functions which will print the argument with the
2200named color.")
2201 (home-page "https://github.com/pnathan/cl-ansi-text")
2202 (license license:llgpl))))
2203
2204(define-public cl-ansi-text
2205 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2206
2207(define-public ecl-cl-ansi-text
2208 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2209
2ff8b5ba 2210(define-public sbcl-prove
88f06fd0
PN
2211 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2212 (package
2ff8b5ba 2213 (name "sbcl-prove")
88f06fd0
PN
2214 (version (git-version "1.0.0" "1" commit))
2215 (source
2216 (origin
2217 (method git-fetch)
2218 (uri (git-reference
2219 (url "https://github.com/fukamachi/prove")
2220 (commit commit)))
2221 (sha256
2222 (base32
2223 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2224 (file-name (git-file-name "prove" version))))
2225 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
2226 (inputs
2227 `(("alexandria" ,sbcl-alexandria)
2228 ("cl-ppcre" ,sbcl-cl-ppcre)
2229 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2ff8b5ba 2230 (synopsis "Yet another unit testing framework for Common Lisp")
88f06fd0 2231 (description
2ff8b5ba 2232 "This project was originally called @command{cl-test-more}.
88f06fd0
PN
2233@command{prove} is yet another unit testing framework for Common Lisp. The
2234advantages of @command{prove} are:
2235
2236@itemize
2237@item Various simple functions for testing and informative error messages
2238@item ASDF integration
2239@item Extensible test reporters
2240@item Colorizes the report if it's available (note for SLIME)
2241@item Reports test durations
2ff8b5ba
GLV
2242@end itemize\n")
2243 (home-page "https://github.com/fukamachi/prove")
2244 (license license:expat))))
88f06fd0
PN
2245
2246(define-public cl-prove
2247 (sbcl-package->cl-source-package sbcl-prove))
2248
2249(define-public ecl-prove
2250 (sbcl-package->ecl-package sbcl-prove))
2251
2252(define-public sbcl-proc-parse
2253 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2254 (package
2255 (name "sbcl-proc-parse")
2256 (version (git-version "0.0.0" "1" commit))
2257 (source
2258 (origin
2259 (method git-fetch)
2260 (uri (git-reference
2261 (url "https://github.com/fukamachi/proc-parse")
2262 (commit commit)))
2263 (sha256
2264 (base32
2265 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2266 (file-name (git-file-name "proc-parse" version))))
2267 (build-system asdf-build-system/sbcl)
2268 (inputs
2269 `(("alexandria" ,sbcl-alexandria)
2270 ("babel" ,sbcl-babel)))
2271 (native-inputs
2ff8b5ba 2272 `(("prove" ,sbcl-prove)))
88f06fd0
PN
2273 (arguments
2274 ;; TODO: Tests don't find "proc-parse-test", why?
2275 `(#:tests? #f))
2276 (synopsis "Procedural vector parser")
2277 (description
2278 "This is a string/octets parser library for Common Lisp with speed and
2279readability in mind. Unlike other libraries, the code is not a
2280pattern-matching-like, but a char-by-char procedural parser.")
2281 (home-page "https://github.com/fukamachi/proc-parse")
2282 (license license:bsd-2))))
2283
2284(define-public cl-proc-parse
2285 (sbcl-package->cl-source-package sbcl-proc-parse))
2286
2287(define-public ecl-proc-parse
2288 (sbcl-package->ecl-package sbcl-proc-parse))
2289
2290(define-public sbcl-parse-float
2291 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2292 (package
2293 (name "sbcl-parse-float")
2294 (version (git-version "0.0.0" "1" commit))
2295 (source
2296 (origin
2297 (method git-fetch)
2298 (uri (git-reference
2299 (url "https://github.com/soemraws/parse-float")
2300 (commit commit)))
2301 (sha256
2302 (base32
2303 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2304 (file-name (git-file-name "proc-parse" version))))
2305 (build-system asdf-build-system/sbcl)
2306 (inputs
2307 `(("alexandria" ,sbcl-alexandria)
2308 ("babel" ,sbcl-babel)))
2309 (native-inputs
2ff8b5ba 2310 `(("prove" ,sbcl-prove)))
88f06fd0
PN
2311 (arguments
2312 ;; TODO: Tests don't find "proc-parse-test", why?
2313 `(#:tests? #f))
2314 (synopsis "Parse a floating point value from a string in Common Lisp")
2315 (description
2316 "This package exports the following function to parse floating-point
2317values from a string in Common Lisp.")
2318 (home-page "https://github.com/soemraws/parse-float")
2319 (license license:public-domain))))
2320
2321(define-public cl-parse-float
2322 (sbcl-package->cl-source-package sbcl-parse-float))
2323
2324(define-public ecl-parse-float
2325 (sbcl-package->ecl-package sbcl-parse-float))
2326
2ff8b5ba 2327(define-public sbcl-cl-string-match
88f06fd0
PN
2328 (let ((revision "1")
2329 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2330 (package
2ff8b5ba
GLV
2331 (name "sbcl-cl-string-match")
2332 (version (git-version "0" revision changeset))
88f06fd0
PN
2333 (source
2334 (origin
2335 (method hg-fetch)
2336 (uri (hg-reference
2337 (url "https://bitbucket.org/vityok/cl-string-match/")
2338 (changeset changeset)))
2339 (sha256
2340 (base32
2341 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2342 (file-name (git-file-name "cl-string-match" version))))
2343 (build-system asdf-build-system/sbcl)
2344 (inputs
2345 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba
GLV
2346 ("babel" ,sbcl-babel)
2347 ("iterate" ,sbcl-iterate)
2348 ("jpl-queues" ,sbcl-jpl-queues)
2349 ("jpl-util" ,sbcl-jpl-util)
2350 ("mgl-pax" ,sbcl-mgl-pax)
2351 ("parse-float" ,sbcl-parse-float)
2352 ("proc-parse" ,sbcl-proc-parse)
2353 ("yacc" ,sbcl-cl-yacc)))
2354 ;; TODO: Tests are not evaluated properly.
2355 (native-inputs
2356 ;; For testing:
2357 `(("lisp-unit" ,sbcl-lisp-unit)))
88f06fd0 2358 (arguments
3f8bbf7c 2359 `(#:tests? #f))
2ff8b5ba 2360 (synopsis "Set of utilities to manipulate strings in Common Lisp")
88f06fd0 2361 (description
2ff8b5ba
GLV
2362 "@command{cl-strings} is a small, portable, dependency-free set of
2363utilities that make it even easier to manipulate text in Common Lisp. It has
2364100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
88f06fd0
PN
2365 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2366 (license license:bsd-3))))
2367
88f06fd0
PN
2368(define-public cl-string-match
2369 (sbcl-package->cl-source-package sbcl-cl-string-match))
2370
2371(define-public ecl-cl-string-match
2372 (sbcl-package->ecl-package sbcl-cl-string-match))
2373
2374(define-public sbcl-ptester
d9d8e3c2
GLV
2375 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2376 (revision "1"))
2377 (package
2378 (name "sbcl-ptester")
2379 (version (git-version "2.1.3" revision commit))
2380 (source
2381 (origin
2382 (method git-fetch)
2383 (uri (git-reference
2384 (url "http://git.kpe.io/ptester.git")
2385 (commit commit)))
2386 (file-name (git-file-name name version))
2387 (sha256
2388 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2389 (build-system asdf-build-system/sbcl)
2390 (home-page "http://quickdocs.org/ptester/")
2391 (synopsis "Portable test harness package")
2392 (description
2393 "@command{ptester} is a portable testing framework based on Franz's
88f06fd0 2394tester module.")
d9d8e3c2 2395 (license license:llgpl))))
88f06fd0
PN
2396
2397(define-public cl-ptester
2398 (sbcl-package->cl-source-package sbcl-ptester))
2399
2400(define-public ecl-ptester
2401 (sbcl-package->ecl-package sbcl-ptester))
2402
2403(define-public sbcl-puri
ff6cf9fa
GLV
2404 (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
2405 (revision "1"))
2406 (package
2407 (name "sbcl-puri")
2408 (version (git-version "1.5.7" revision commit))
2409 (source
2410 (origin
2411 (method git-fetch)
2412 (uri (git-reference
2413 (url "http://git.kpe.io/puri.git")
2414 (commit commit)))
2415 (file-name (git-file-name name version))
2416 (sha256
2417 (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
2418 (build-system asdf-build-system/sbcl)
2419 (native-inputs
2420 `(("ptester" ,sbcl-ptester)))
2421 (home-page "http://quickdocs.org/puri/")
2422 (synopsis "Portable URI Library")
2423 (description
2424 "This is a portable Universal Resource Identifier library for Common
2425Lisp programs. It parses URI according to the RFC 2396 specification.")
2426 (license license:llgpl))))
88f06fd0
PN
2427
2428(define-public cl-puri
2429 (sbcl-package->cl-source-package sbcl-puri))
2430
2431(define-public ecl-puri
2432 (sbcl-package->ecl-package sbcl-puri))
2433
10c06966
SH
2434(define-public sbcl-qmynd
2435 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2436 (revision "1"))
2437 (package
2438 (name "sbcl-qmynd")
2439 (version (git-version "1.0.0" revision commit))
2440 (source
2441 (origin
2442 (method git-fetch)
2443 (uri (git-reference
2444 (url "https://github.com/qitab/qmynd")
2445 (commit commit)))
2446 (file-name (git-file-name name version))
2447 (sha256
2448 (base32
2449 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2450 (build-system asdf-build-system/sbcl)
2451 (inputs
2452 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2453 ("babel" ,sbcl-babel)
2454 ("chipz" ,sbcl-chipz)
2455 ("cl+ssl" ,sbcl-cl+ssl)
2456 ("flexi-streams" ,sbcl-flexi-streams)
2457 ("ironclad" ,sbcl-ironclad)
2458 ("salza2" ,sbcl-salza2)
2459 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2460 ("usocket" ,sbcl-usocket)))
2461 (home-page "https://github.com/qitab/qmynd")
2462 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2463 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2464library that directly talks to a MySQL server in its native network protocol.
2465
2466It's a part of QITAB umbrella project.")
2467 (license license:expat))))
2468
2469(define-public ecl-qmynd
2470 (sbcl-package->ecl-package sbcl-qmynd))
2471
2472(define-public cl-qmynd
2473 (sbcl-package->cl-source-package sbcl-qmynd))
2474
88f06fd0
PN
2475(define-public sbcl-queues
2476 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2477 (package
2478 (name "sbcl-queues")
2479 (version (git-version "0.0.0" "1" commit))
2480 (source
2481 (origin
2482 (method git-fetch)
2483 (uri (git-reference
2484 (url "https://github.com/oconnore/queues")
2485 (commit commit)))
2486 (file-name (git-file-name "queues" version))
2487 (sha256
2488 (base32
2489 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2490 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
2491 (inputs
2492 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2493 (arguments
3f8bbf7c 2494 '(#:asd-systems '("queues"
2ff8b5ba
GLV
2495 "queues.simple-queue"
2496 "queues.simple-cqueue"
2497 "queues.priority-queue"
2498 "queues.priority-cqueue")))
88f06fd0
PN
2499 (home-page "https://github.com/oconnore/queues")
2500 (synopsis "Common Lisp queue library")
2501 (description
2502 "This is a simple queue library for Common Lisp with features such as
2503non-consing thread safe queues and fibonacci priority queues.")
2504 (license license:expat))))
2505
2506(define-public cl-queues
2507 (sbcl-package->cl-source-package sbcl-queues))
2508
2509(define-public ecl-queues
2510 (sbcl-package->ecl-package sbcl-queues))
2511
2ff8b5ba 2512(define-public sbcl-cffi
88f06fd0 2513 (package
2ff8b5ba 2514 (name "sbcl-cffi")
06ab8948 2515 (version "0.23.0")
88f06fd0
PN
2516 (source
2517 (origin
2518 (method git-fetch)
2519 (uri (git-reference
b0e7b699 2520 (url "https://github.com/cffi/cffi")
88f06fd0
PN
2521 (commit (string-append "v" version))))
2522 (file-name (git-file-name "cffi-bootstrap" version))
2523 (sha256
06ab8948 2524 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
88f06fd0
PN
2525 (build-system asdf-build-system/sbcl)
2526 (inputs
2ff8b5ba 2527 `(("alexandria" ,sbcl-alexandria)
88f06fd0 2528 ("babel" ,sbcl-babel)
2ff8b5ba 2529 ("libffi" ,libffi)
88f06fd0
PN
2530 ("trivial-features" ,sbcl-trivial-features)))
2531 (native-inputs
2ff8b5ba
GLV
2532 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2533 ("pkg-config" ,pkg-config)
2534 ("rt" ,sbcl-rt)))
88f06fd0
PN
2535 (arguments
2536 '(#:phases
2537 (modify-phases %standard-phases
a13063d6
EF
2538 (add-after 'unpack 'fix-arm-support
2539 (lambda _
2540 ;; This is apparently deprecated since libffi-3.3.
2541 (substitute* "libffi/libffi-types.lisp"
2542 (("\\\(\\\(:unix64.*") ")\n"))
2543 #t))
88f06fd0
PN
2544 (add-after 'unpack 'fix-paths
2545 (lambda* (#:key inputs #:allow-other-keys)
2546 (substitute* "libffi/libffi.lisp"
25a2f2ef 2547 (("libffi.so.7" all) (string-append
88f06fd0
PN
2548 (assoc-ref inputs "libffi")
2549 "/lib/" all)))
2550 (substitute* "toolchain/c-toolchain.lisp"
2ff8b5ba
GLV
2551 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2552 (add-after 'build 'install-headers
2553 (lambda* (#:key outputs #:allow-other-keys)
2554 (install-file "grovel/common.h"
2555 (string-append
2556 (assoc-ref outputs "out")
2557 "/include/grovel")))))
2558 #:asd-files '("cffi.asd"
2559 "cffi-toolchain.asd"
2560 "cffi-grovel.asd"
2561 "cffi-libffi.asd"
2562 "cffi-uffi-compat.asd")
2563 #:asd-systems '("cffi"
2564 "cffi-libffi"
2565 "cffi-uffi-compat")))
88f06fd0
PN
2566 (home-page "https://common-lisp.net/project/cffi/")
2567 (synopsis "Common Foreign Function Interface for Common Lisp")
2568 (description "The Common Foreign Function Interface (CFFI)
2569purports to be a portable foreign function interface for Common Lisp.
2570The CFFI library is composed of a Lisp-implementation-specific backend
2571in the CFFI-SYS package, and a portable frontend in the CFFI
2572package.")
2573 (license license:expat)))
2574
2ff8b5ba
GLV
2575(define-public cl-cffi
2576 (sbcl-package->cl-source-package sbcl-cffi))
88f06fd0 2577
2ff8b5ba
GLV
2578(define-public ecl-cffi
2579 (sbcl-package->ecl-package sbcl-cffi))
88f06fd0 2580
2ff8b5ba 2581(define-public sbcl-cl-sqlite
b7d974b3
PN
2582 (package
2583 (name "sbcl-cl-sqlite")
2584 (version "0.2.1")
2585 (source
2586 (origin
2587 (method git-fetch)
2588 (uri (git-reference
2589 (url "https://github.com/dmitryvk/cl-sqlite")
2590 (commit version)))
2591 (file-name (git-file-name "cl-sqlite" version))
2592 (sha256
2593 (base32
2594 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2595 (build-system asdf-build-system/sbcl)
2596 (inputs
2597 `(("iterate" ,sbcl-iterate)
2598 ("cffi" ,sbcl-cffi)
2599 ("sqlite" ,sqlite)))
2600 (native-inputs
2601 `(("fiveam" ,sbcl-fiveam)
2602 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2603 (arguments
3f8bbf7c 2604 `(#:asd-systems '("sqlite")
b7d974b3
PN
2605 #:phases
2606 (modify-phases %standard-phases
2607 (add-after 'unpack 'fix-paths
2608 (lambda* (#:key inputs #:allow-other-keys)
2609 (substitute* "sqlite-ffi.lisp"
2610 (("libsqlite3" all) (string-append
2611 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2612 (home-page "https://common-lisp.net/project/cl-sqlite/")
2613 (synopsis "Common Lisp binding for SQLite")
2614 (description
2615 "The @command{cl-sqlite} package is an interface to the SQLite embedded
88f06fd0 2616relational database engine.")
b7d974b3 2617 (license license:public-domain)))
88f06fd0
PN
2618
2619(define-public cl-sqlite
2620 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2621
12df8b7b
GLV
2622(define-public ecl-cl-sqlite
2623 (sbcl-package->ecl-package sbcl-cl-sqlite))
2624
88f06fd0 2625(define-public sbcl-parenscript
a84b7a4a
PN
2626 ;; Source archives are overwritten on every release, we use the Git repo instead.
2627 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
88f06fd0
PN
2628 (package
2629 (name "sbcl-parenscript")
a84b7a4a 2630 (version (git-version "2.7.1" "1" commit))
88f06fd0
PN
2631 (source
2632 (origin
2633 (method git-fetch)
2634 (uri (git-reference
2635 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2636 (commit commit)))
2637 (file-name (git-file-name "parenscript" version))
2638 (sha256
2639 (base32
a84b7a4a 2640 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
88f06fd0
PN
2641 (build-system asdf-build-system/sbcl)
2642 (inputs
2643 `(("cl-ppcre" ,sbcl-cl-ppcre)
2644 ("anaphora" ,sbcl-anaphora)
2645 ("named-readtables" ,sbcl-named-readtables)))
2646 (home-page "https://common-lisp.net/project/parenscript/")
2647 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2648 (description
2649 "Parenscript is a translator from an extended subset of Common Lisp to
2650JavaScript. Parenscript code can run almost identically on both the
2651browser (as JavaScript) and server (as Common Lisp).
2652
2653Parenscript code is treated the same way as Common Lisp code, making the full
2654power of Lisp macros available for JavaScript. This provides a web
2655development environment that is unmatched in its ability to reduce code
2656duplication and provide advanced meta-programming facilities to web
2657developers.
2658
2659At the same time, Parenscript is different from almost all other \"language
2660X\" to JavaScript translators in that it imposes almost no overhead:
2661
2662@itemize
2663@item No run-time dependencies: Any piece of Parenscript code is runnable
2664as-is. There are no JavaScript files to include.
2665@item Native types: Parenscript works entirely with native JavaScript data
2666types. There are no new types introduced, and object prototypes are not
2667touched.
2668@item Native calling convention: Any JavaScript code can be called without the
2669need for bindings. Likewise, Parenscript can be used to make efficient,
2670self-contained JavaScript libraries.
2671@item Readable code: Parenscript generates concise, formatted, idiomatic
2672JavaScript code. Identifier names are preserved. This enables seamless
2673debugging in tools like Firebug.
2674@item Efficiency: Parenscript introduces minimal overhead for advanced Common
2675Lisp features. The generated code is almost as fast as hand-written
2676JavaScript.
2677@end itemize\n")
2678 (license license:bsd-3))))
2679
2680(define-public cl-parenscript
2681 (sbcl-package->cl-source-package sbcl-parenscript))
2682
2683(define-public ecl-parenscript
2684 (sbcl-package->ecl-package sbcl-parenscript))
2685
2686(define-public sbcl-cl-json
2687 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2688 (package
2689 (name "sbcl-cl-json")
2690 (version (git-version "0.5" "1" commit))
2691 (source
2692 (origin
2693 (method git-fetch)
2694 (uri (git-reference
2695 (url "https://github.com/hankhero/cl-json")
2696 (commit commit)))
2697 (file-name (git-file-name "cl-json" version))
2698 (sha256
2699 (base32
2700 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2701 (build-system asdf-build-system/sbcl)
2702 (native-inputs
2703 `(("fiveam" ,sbcl-fiveam)))
2704 (home-page "https://github.com/hankhero/cl-json")
2705 (synopsis "JSON encoder and decoder for Common-Lisp")
2706 (description
2707 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2708and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2709and the decoder are highly customizable; at the same time, the default
2710settings ensure a very simple mode of operation, similar to that provided by
2711@command{yason} or @command{st-json}.")
2712 (license license:expat))))
2713
2714(define-public cl-json
2715 (sbcl-package->cl-source-package sbcl-cl-json))
2716
2717(define-public ecl-cl-json
2718 (sbcl-package->ecl-package sbcl-cl-json))
2719
2720(define-public sbcl-unix-opts
2721 (package
2722 (name "sbcl-unix-opts")
2723 (version "0.1.7")
2724 (source
2725 (origin
2726 (method git-fetch)
2727 (uri (git-reference
2728 (url "https://github.com/libre-man/unix-opts")
2729 (commit version)))
2730 (file-name (git-file-name "unix-opts" version))
2731 (sha256
2732 (base32
2733 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2734 (build-system asdf-build-system/sbcl)
2735 (home-page "https://github.com/hankhero/cl-json")
2736 (synopsis "Unix-style command line options parser")
2737 (description
2738 "This is a minimalistic parser of command line options. The main
2739advantage of the library is the ability to concisely define command line
2740options once and then use this definition for parsing and extraction of
2741command line arguments, as well as printing description of command line
2742options (you get --help for free). This way you don't need to repeat
102fc7bc
VC
2743yourself. Also, @command{unix-opts} doesn't depend on anything and
2744precisely controls the behavior of the parser via Common Lisp restarts.")
88f06fd0
PN
2745 (license license:expat)))
2746
2747(define-public cl-unix-opts
2748 (sbcl-package->cl-source-package sbcl-unix-opts))
2749
2750(define-public ecl-unix-opts
2751 (sbcl-package->ecl-package sbcl-unix-opts))
2752
2753(define-public sbcl-trivial-garbage
2754 (package
2755 (name "sbcl-trivial-garbage")
2756 (version "0.21")
2757 (source
2758 (origin
2759 (method git-fetch)
2760 (uri (git-reference
b0e7b699 2761 (url "https://github.com/trivial-garbage/trivial-garbage")
88f06fd0
PN
2762 (commit (string-append "v" version))))
2763 (file-name (git-file-name "trivial-garbage" version))
2764 (sha256
2765 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2766 (build-system asdf-build-system/sbcl)
2767 (native-inputs
2768 `(("rt" ,sbcl-rt)))
2769 (home-page "https://common-lisp.net/project/trivial-garbage/")
2770 (synopsis "Portable GC-related APIs for Common Lisp")
2771 (description "@command{trivial-garbage} provides a portable API to
2772finalizers, weak hash-tables and weak pointers on all major implementations of
2773the Common Lisp programming language.")
2774 (license license:public-domain)))
2775
2776(define-public cl-trivial-garbage
2777 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2778
2779(define-public ecl-trivial-garbage
2780 (sbcl-package->ecl-package sbcl-trivial-garbage))
2781
2782(define-public sbcl-closer-mop
d4c04565 2783 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
88f06fd0
PN
2784 (package
2785 (name "sbcl-closer-mop")
d4c04565 2786 (version (git-version "1.0.0" "2" commit))
88f06fd0
PN
2787 (source
2788 (origin
2789 (method git-fetch)
2790 (uri (git-reference
2791 (url "https://github.com/pcostanza/closer-mop")
2792 (commit commit)))
2793 (sha256
d4c04565 2794 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
88f06fd0
PN
2795 (file-name (git-file-name "closer-mop" version ))))
2796 (build-system asdf-build-system/sbcl)
2797 (home-page "https://github.com/pcostanza/closer-mop")
2798 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2799 (description "Closer to MOP is a compatibility layer that rectifies many
2800of the absent or incorrect CLOS MOP features across a broad range of Common
2801Lisp implementations.")
2802 (license license:expat))))
2803
2804(define-public cl-closer-mop
2805 (sbcl-package->cl-source-package sbcl-closer-mop))
2806
2807(define-public ecl-closer-mop
2808 (sbcl-package->ecl-package sbcl-closer-mop))
2809
2ff8b5ba 2810(define-public sbcl-cl-cffi-gtk
fd689a83 2811 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
88f06fd0 2812 (package
2ff8b5ba 2813 (name "sbcl-cl-cffi-gtk")
fd689a83 2814 (version (git-version "0.11.2" "2" commit))
88f06fd0
PN
2815 (source
2816 (origin
2817 (method git-fetch)
2818 (uri (git-reference
2819 (url "https://github.com/Ferada/cl-cffi-gtk/")
2820 (commit commit)))
2821 (file-name (git-file-name "cl-cffi-gtk" version))
2822 (sha256
2823 (base32
fd689a83 2824 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
88f06fd0 2825 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
2826 (native-inputs
2827 `(("fiveam" ,sbcl-fiveam)))
88f06fd0 2828 (inputs
2ff8b5ba
GLV
2829 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2830 ("cairo" ,cairo)
88f06fd0 2831 ("cffi" ,sbcl-cffi)
2ff8b5ba
GLV
2832 ("closer-mop" ,sbcl-closer-mop)
2833 ("gdk-pixbuf" ,gdk-pixbuf)
0fadc00a 2834 ("glib" ,glib)
2ff8b5ba
GLV
2835 ("gtk" ,gtk+)
2836 ("iterate" ,sbcl-iterate)
0fadc00a 2837 ("pango" ,pango)
2ff8b5ba
GLV
2838 ("trivial-features" ,sbcl-trivial-features)
2839 ("trivial-garbage" ,sbcl-trivial-garbage)))
0fadc00a 2840 (arguments
2ff8b5ba
GLV
2841 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
2842 "glib/cl-cffi-gtk-glib.asd"
2843 "gobject/cl-cffi-gtk-gobject.asd"
2844 "gio/cl-cffi-gtk-gio.asd"
2845 "cairo/cl-cffi-gtk-cairo.asd"
2846 "pango/cl-cffi-gtk-pango.asd"
2847 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2848 "gdk/cl-cffi-gtk-gdk.asd")
2ff8b5ba
GLV
2849 #:test-asd-file "test/cl-cffi-gtk-test.asd"
2850 ;; TODO: Tests fail with memory fault.
2851 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
2852 #:tests? #f
2853 #:phases
0fadc00a
PN
2854 (modify-phases %standard-phases
2855 (add-after 'unpack 'fix-paths
2856 (lambda* (#:key inputs #:allow-other-keys)
2857 (substitute* "glib/glib.init.lisp"
2858 (("libglib|libgthread" all)
2859 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2860 (substitute* "gobject/gobject.init.lisp"
2861 (("libgobject" all)
2862 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2863 (substitute* "gio/gio.init.lisp"
2864 (("libgio" all)
2865 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2866 (substitute* "cairo/cairo.init.lisp"
2867 (("libcairo" all)
2868 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
2869 (substitute* "pango/pango.init.lisp"
2870 (("libpango" all)
2871 (string-append (assoc-ref inputs "pango") "/lib/" all)))
2872 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2873 (("libgdk_pixbuf" all)
2874 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
2875 (substitute* "gdk/gdk.init.lisp"
2876 (("libgdk" all)
2877 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
2878 (substitute* "gdk/gdk.package.lisp"
2879 (("libgtk" all)
2880 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
88f06fd0
PN
2881 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2882 (synopsis "Common Lisp binding for GTK+3")
2883 (description
2884 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2885is a library for creating graphical user interfaces.")
2886 (license license:lgpl3))))
2887
88f06fd0
PN
2888(define-public cl-cffi-gtk
2889 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
2890
e7cbcf5a
GLV
2891(define-public ecl-cl-cffi-gtk
2892 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
2893
88f06fd0 2894(define-public sbcl-cl-webkit
2dff3ad6 2895 (let ((commit "5ce3ea1fbf2b21e7ccb98402a818508ca9b79395"))
88f06fd0
PN
2896 (package
2897 (name "sbcl-cl-webkit")
2dff3ad6 2898 (version (git-version "2.4" "10" commit))
88f06fd0
PN
2899 (source
2900 (origin
2901 (method git-fetch)
2902 (uri (git-reference
94aab844 2903 (url "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
2904 (commit commit)))
2905 (file-name (git-file-name "cl-webkit" version))
2906 (sha256
2907 (base32
1d035433 2908 "0zgd8hp2nalh0v4xgjvqxd6rf95f7mci181xbg3gmqxxwxd4mkpk"))))
88f06fd0
PN
2909 (build-system asdf-build-system/sbcl)
2910 (inputs
2911 `(("cffi" ,sbcl-cffi)
2912 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
2913 ("webkitgtk" ,webkitgtk)))
2914 (arguments
3f8bbf7c 2915 `(#:asd-systems '("cl-webkit2")
88f06fd0
PN
2916 #:phases
2917 (modify-phases %standard-phases
2918 (add-after 'unpack 'fix-paths
2919 (lambda* (#:key inputs #:allow-other-keys)
2920 (substitute* "webkit2/webkit2.init.lisp"
2921 (("libwebkit2gtk" all)
2922 (string-append
2923 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
94aab844 2924 (home-page "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
2925 (synopsis "Binding to WebKitGTK+ for Common Lisp")
2926 (description
2927 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
2928currently targeting WebKit version 2. The WebKitGTK+ library adds web
2929browsing capabilities to an application, leveraging the full power of the
2930WebKit browsing engine.")
2931 (license license:expat))))
2932
2933(define-public cl-webkit
2934 (sbcl-package->cl-source-package sbcl-cl-webkit))
2935
12df8b7b
GLV
2936(define-public ecl-cl-webkit
2937 (sbcl-package->ecl-package sbcl-cl-webkit))
2938
88f06fd0
PN
2939(define-public sbcl-lparallel
2940 (package
2941 (name "sbcl-lparallel")
2942 (version "2.8.4")
2943 (source
2944 (origin
2945 (method git-fetch)
2946 (uri (git-reference
2947 (url "https://github.com/lmj/lparallel/")
2948 (commit (string-append "lparallel-" version))))
2949 (file-name (git-file-name "lparallel" version))
2950 (sha256
2951 (base32
2952 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
2953 (build-system asdf-build-system/sbcl)
2954 (inputs
2955 `(("alexandria" ,sbcl-alexandria)
2956 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2957 ("trivial-garbage" ,sbcl-trivial-garbage)))
388a8975
KCB
2958 (arguments
2959 `(#:phases
2960 (modify-phases %standard-phases
2961 (add-after 'unpack 'fix-dependency
2962 ;; lparallel loads a SBCL specific system in its asd file. This is
2963 ;; not carried over into the fasl which is generated. In order for
2964 ;; it to be carried over, it needs to be listed as a dependency.
2965 (lambda _
2966 (substitute* "lparallel.asd"
2967 ((":depends-on \\(:alexandria" all)
2968 (string-append all " #+sbcl :sb-cltl2"))))))))
88f06fd0
PN
2969 (home-page "https://lparallel.org/")
2970 (synopsis "Parallelism for Common Lisp")
2971 (description
2972 "@command{lparallel} is a library for parallel programming in Common
2973Lisp, featuring:
2974
2975@itemize
2976@item a simple model of task submission with receiving queue,
2977@item constructs for expressing fine-grained parallelism,
2978@item asynchronous condition handling across thread boundaries,
2979@item parallel versions of map, reduce, sort, remove, and many others,
2980@item promises, futures, and delayed evaluation constructs,
2981@item computation trees for parallelizing interconnected tasks,
2982@item bounded and unbounded FIFO queues,
2983@item high and low priority tasks,
2984@item task killing by category,
2985@item integrated timeouts.
2986@end itemize\n")
2987 (license license:expat)))
2988
2989(define-public cl-lparallel
2990 (sbcl-package->cl-source-package sbcl-lparallel))
2991
2992(define-public ecl-lparallel
6ca66f64
GLV
2993 (package
2994 (inherit (sbcl-package->ecl-package sbcl-lparallel))
2995 (arguments
2996 ;; TODO: Find why the tests get stuck forever; disable them for now.
2997 `(#:tests? #f))))
88f06fd0
PN
2998
2999(define-public sbcl-cl-markup
3000 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3001 (package
3002 (name "sbcl-cl-markup")
3003 (version (git-version "0.1" "1" commit))
3004 (source
3005 (origin
3006 (method git-fetch)
3007 (uri (git-reference
3008 (url "https://github.com/arielnetworks/cl-markup/")
3009 (commit commit)))
3010 (file-name (git-file-name "cl-markup" version))
3011 (sha256
3012 (base32
3013 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3014 (build-system asdf-build-system/sbcl)
3015 (home-page "https://github.com/arielnetworks/cl-markup/")
3016 (synopsis "Markup generation library for Common Lisp")
3017 (description
3018 "A modern markup generation library for Common Lisp that features:
3019
3020@itemize
3021@item Fast (even faster through compiling the code)
3022@item Safety
3023@item Support for multiple document types (markup, xml, html, html5, xhtml)
3024@item Output with doctype
3025@item Direct output to stream
3026@end itemize\n")
3027 (license license:lgpl3+))))
3028
3029(define-public cl-markup
3030 (sbcl-package->cl-source-package sbcl-cl-markup))
3031
3032(define-public ecl-cl-markup
3033 (sbcl-package->ecl-package sbcl-cl-markup))
3034
c072887b
SH
3035(define-public sbcl-cl-mustache
3036 (package
3037 (name "sbcl-cl-mustache")
3038 (version "0.12.1")
3039 (source
3040 (origin
3041 (method git-fetch)
3042 (uri (git-reference
3043 (url "https://github.com/kanru/cl-mustache")
3044 (commit (string-append "v" version))))
3045 (file-name (git-file-name "cl-mustache" version))
3046 (sha256
3047 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3048 (build-system asdf-build-system/sbcl)
3049 (home-page "https://github.com/kanru/cl-mustache")
3050 (synopsis "Common Lisp Mustache template renderer")
3051 (description "This is a Common Lisp implementation for the Mustache
3052template system. More details on the standard are available at
3053@url{https://mustache.github.io}.")
3054 (license license:expat)))
3055
3056(define-public cl-mustache
3057 (sbcl-package->cl-source-package sbcl-cl-mustache))
3058
3059(define-public ecl-cl-mustache
3060 (sbcl-package->ecl-package sbcl-cl-mustache))
3061
88f06fd0
PN
3062(define-public sbcl-cl-css
3063 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3064 (package
3065 (name "sbcl-cl-css")
3066 (version (git-version "0.1" "1" commit))
3067 (source
3068 (origin
3069 (method git-fetch)
3070 (uri (git-reference
3071 (url "https://github.com/inaimathi/cl-css/")
3072 (commit commit)))
3073 (file-name (git-file-name "cl-css" version))
3074 (sha256
3075 (base32
3076 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3077 (build-system asdf-build-system/sbcl)
3078 (home-page "https://github.com/inaimathi/cl-css/")
3079 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3080 (description
3081 "This is a dead-simple, non validating, inline CSS generator for Common
3082Lisp. Its goals are axiomatic syntax, simple implementation to support
3083portability, and boilerplate reduction in CSS.")
3084 (license license:expat))))
3085
3086(define-public cl-css
3087 (sbcl-package->cl-source-package sbcl-cl-css))
3088
3089(define-public ecl-cl-css
3090 (sbcl-package->ecl-package sbcl-cl-css))
3091
3092(define-public sbcl-portable-threads
cb92693e 3093 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
88f06fd0
PN
3094 (package
3095 (name "sbcl-portable-threads")
cb92693e 3096 (version (git-version "2.3" "2" commit))
88f06fd0
PN
3097 (source
3098 (origin
3099 (method git-fetch)
3100 (uri (git-reference
3101 (url "https://github.com/binghe/portable-threads/")
3102 (commit commit)))
3103 (file-name (git-file-name "portable-threads" version))
3104 (sha256
cb92693e 3105 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
88f06fd0
PN
3106 (build-system asdf-build-system/sbcl)
3107 (arguments
3108 `(;; Tests seem broken.
3109 #:tests? #f))
3110 (home-page "https://github.com/binghe/portable-threads")
cb92693e 3111 (synopsis "Portable threads API for Common Lisp")
88f06fd0
PN
3112 (description
3113 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3114Lisp (from GBBopen project).")
3115 (license license:asl2.0))))
3116
3117(define-public cl-portable-threads
3118 (sbcl-package->cl-source-package sbcl-portable-threads))
3119
2ff8b5ba 3120(define-public ecl-portable-threads
88f06fd0
PN
3121 (sbcl-package->ecl-package sbcl-portable-threads))
3122
2ff8b5ba 3123(define-public sbcl-usocket
b23e6f5d 3124 (package
2ff8b5ba 3125 (name "sbcl-usocket")
b23e6f5d
GLV
3126 (version "0.8.3")
3127 (source
3128 (origin
3129 (method git-fetch)
3130 (uri (git-reference
3131 (url "https://github.com/usocket/usocket/")
3132 (commit (string-append "v" version))))
3133 (file-name (git-file-name "usocket" version))
3134 (sha256
3135 (base32
3136 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3137 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
3138 (native-inputs
3139 `(("rt" ,sbcl-rt)))
b23e6f5d 3140 (inputs
2ff8b5ba
GLV
3141 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3142 ("split-sequence" ,sbcl-split-sequence)))
b23e6f5d 3143 (arguments
2ff8b5ba 3144 `(#:tests? #f ; FIXME: Tests need network access?
2ff8b5ba
GLV
3145 #:asd-systems '("usocket"
3146 "usocket-server")))
b23e6f5d 3147 (home-page "https://common-lisp.net/project/usocket/")
2ff8b5ba 3148 (synopsis "Universal socket library for Common Lisp")
b23e6f5d
GLV
3149 (description
3150 "This library strives to provide a portable TCP/IP and UDP/IP socket
88f06fd0
PN
3151interface for as many Common Lisp implementations as possible, while keeping
3152the abstraction and portability layer as thin as possible.")
b23e6f5d 3153 (license license:expat)))
88f06fd0 3154
88f06fd0
PN
3155(define-public cl-usocket
3156 (sbcl-package->cl-source-package sbcl-usocket))
3157
b23e6f5d 3158(define-public ecl-usocket
88f06fd0
PN
3159 (sbcl-package->ecl-package sbcl-usocket))
3160
3161(define-public sbcl-s-xml
3162 (package
3163 (name "sbcl-s-xml")
3164 (version "3")
3165 (source
3166 (origin
3167 (method url-fetch)
3168 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3169 (sha256
3170 (base32
3171 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3172 (build-system asdf-build-system/sbcl)
3173 (home-page "https://common-lisp.net/project/s-xml/")
3174 (synopsis "Simple XML parser implemented in Common Lisp")
3175 (description
3176 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3177parser implementation has the following features:
3178
3179@itemize
3180@item It works (handling many common XML usages).
3181@item It is very small (the core is about 700 lines of code, including
3182comments and whitespace).
3183@item It has a core API that is simple, efficient and pure functional, much
3184like that from SSAX (see also http://ssax.sourceforge.net).
3185@item It supports different DOM models: an XSML-based one, an LXML-based one
3186and a classic xml-element struct based one.
3187@item It is reasonably time and space efficient (internally avoiding garbage
3188generatation as much as possible).
3189@item It does support CDATA.
3190@item It should support the same character sets as your Common Lisp
3191implementation.
3192@item It does support XML name spaces.
3193@end itemize
3194
3195This XML parser implementation has the following limitations:
3196
3197@itemize
3198@item It does not support any special tags (like processing instructions).
3199@item It is not validating, even skips DTD's all together.
3200@end itemize\n")
3201 (license license:lgpl3+)))
3202
3203(define-public cl-s-xml
3204 (sbcl-package->cl-source-package sbcl-s-xml))
3205
3206(define-public ecl-s-xml
3207 (sbcl-package->ecl-package sbcl-s-xml))
3208
3209(define-public sbcl-s-xml-rpc
3210 (package
3211 (name "sbcl-s-xml-rpc")
3212 (version "7")
3213 (source
3214 (origin
3215 (method url-fetch)
3216 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3217 (sha256
3218 (base32
3219 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3220 (build-system asdf-build-system/sbcl)
3221 (inputs
3222 `(("s-xml" ,sbcl-s-xml)))
3223 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3224 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3225 (description
3226 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3227client and server.")
3228 (license license:lgpl3+)))
3229
3230(define-public cl-s-xml-rpc
3231 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3232
3233(define-public ecl-s-xml-rpc
3234 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3235
3236(define-public sbcl-trivial-clipboard
6e05adbb 3237 (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
88f06fd0
PN
3238 (package
3239 (name "sbcl-trivial-clipboard")
6e05adbb 3240 (version (git-version "0.0.0.0" "3" commit))
88f06fd0
PN
3241 (source
3242 (origin
3243 (method git-fetch)
3244 (uri (git-reference
3245 (url "https://github.com/snmsts/trivial-clipboard")
3246 (commit commit)))
3247 (file-name (git-file-name "trivial-clipboard" version))
3248 (sha256
3249 (base32
6e05adbb 3250 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
88f06fd0
PN
3251 (build-system asdf-build-system/sbcl)
3252 (inputs
3253 `(("xclip" ,xclip)))
3254 (native-inputs
3255 `(("fiveam" ,sbcl-fiveam)))
3256 (arguments
3257 `(#:phases
3258 (modify-phases %standard-phases
3259 (add-after 'unpack 'fix-paths
3260 (lambda* (#:key inputs #:allow-other-keys)
3261 (substitute* "src/text.lisp"
3262 (("\\(executable-find \"xclip\"\\)")
3263 (string-append "(executable-find \""
3264 (assoc-ref inputs "xclip")
3265 "/bin/xclip\")"))))))))
3266 (home-page "https://github.com/snmsts/trivial-clipboard")
3267 (synopsis "Access system clipboard in Common Lisp")
3268 (description
3269 "@command{trivial-clipboard} gives access to the system clipboard.")
3270 (license license:expat))))
3271
3272(define-public cl-trivial-clipboard
3273 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3274
3275(define-public ecl-trivial-clipboard
3276 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3277
3278(define-public sbcl-trivial-backtrace
3279 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3280 (revision "1"))
3281 (package
3282 (name "sbcl-trivial-backtrace")
3283 (version (git-version "0.0.0" revision commit))
3284 (source
3285 (origin
3286 (method git-fetch)
3287 (uri (git-reference
b0e7b699 3288 (url "https://github.com/gwkkwg/trivial-backtrace")
88f06fd0
PN
3289 (commit commit)))
3290 (file-name (git-file-name "trivial-backtrace" version))
3291 (sha256
3292 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3293 (build-system asdf-build-system/sbcl)
3294 (inputs
3295 `(("sbcl-lift" ,sbcl-lift)))
8dc2af3b
GLV
3296 (arguments
3297 `(#:phases
3298 (modify-phases %standard-phases
3299 (add-after 'check 'delete-test-results
3300 (lambda* (#:key outputs #:allow-other-keys)
3301 (let ((test-results (string-append (assoc-ref outputs "out")
3302 "/share/common-lisp/"
3136fda7 3303 (%lisp-type)
8dc2af3b
GLV
3304 "/trivial-backtrace"
3305 "/test-results")))
3306 (when (file-exists? test-results)
3307 (delete-file-recursively test-results)))
3308 #t)))))
88f06fd0
PN
3309 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3310 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3311 (description
d35a0f14 3312 "One of the many things that didn't quite get into the Common Lisp
88f06fd0
PN
3313standard was how to get a Lisp to output its call stack when something has
3314gone wrong. As such, each Lisp has developed its own notion of what to
3315display, how to display it, and what sort of arguments can be used to
3316customize it. @code{trivial-backtrace} is a simple solution to generating a
3317backtrace portably.")
3318 (license license:expat))))
3319
3320(define-public cl-trivial-backtrace
3321 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3322
12df8b7b
GLV
3323(define-public ecl-trivial-backtrace
3324 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3325
88f06fd0
PN
3326(define-public sbcl-rfc2388
3327 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3328 (revision "1"))
3329 (package
3330 (name "sbcl-rfc2388")
3331 (version (git-version "0.0.0" revision commit))
3332 (source
3333 (origin
3334 (method git-fetch)
3335 (uri (git-reference
b0e7b699 3336 (url "https://github.com/jdz/rfc2388")
88f06fd0
PN
3337 (commit commit)))
3338 (file-name (git-file-name "rfc2388" version))
3339 (sha256
3340 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3341 (build-system asdf-build-system/sbcl)
3342 (home-page "https://github.com/jdz/rfc2388/")
3343 (synopsis "An implementation of RFC 2388 in Common Lisp")
3344 (description
3345 "This package contains an implementation of RFC 2388, which is used to
3346process form data posted with HTTP POST method using enctype
3347\"multipart/form-data\".")
3348 (license license:bsd-2))))
3349
3350(define-public cl-rfc2388
3351 (sbcl-package->cl-source-package sbcl-rfc2388))
3352
12df8b7b
GLV
3353(define-public ecl-rfc2388
3354 (sbcl-package->ecl-package sbcl-rfc2388))
3355
88f06fd0
PN
3356(define-public sbcl-md5
3357 (package
3358 (name "sbcl-md5")
3359 (version "2.0.4")
3360 (source
3361 (origin
fffe9a15
EF
3362 (method git-fetch)
3363 (uri (git-reference
3364 (url "https://github.com/pmai/md5")
3365 (commit (string-append "release-" version))))
3366 (file-name (git-file-name "md5" version))
88f06fd0 3367 (sha256
fffe9a15 3368 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
88f06fd0
PN
3369 (build-system asdf-build-system/sbcl)
3370 (home-page "https://github.com/pmai/md5")
3371 (synopsis
3372 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3373 (description
3374 "This package implements The MD5 Message-Digest Algorithm, as defined in
3375RFC 1321 by R. Rivest, published April 1992.")
3376 (license license:public-domain)))
3377
3378(define-public cl-md5
3379 (sbcl-package->cl-source-package sbcl-md5))
3380
588a4492
PN
3381(define-public ecl-md5
3382 (package
3383 (inherit (sbcl-package->ecl-package sbcl-md5))
3384 (inputs
3385 `(("flexi-streams" ,ecl-flexi-streams)))))
3386
88f06fd0 3387(define-public sbcl-cl+ssl
14620ce7 3388 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
88f06fd0
PN
3389 (revision "1"))
3390 (package
3391 (name "sbcl-cl+ssl")
3392 (version (git-version "0.0.0" revision commit))
3393 (source
3394 (origin
3395 (method git-fetch)
3396 (uri (git-reference
b0e7b699 3397 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
88f06fd0
PN
3398 (commit commit)))
3399 (file-name (git-file-name "cl+ssl" version))
3400 (sha256
14620ce7 3401 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
88f06fd0
PN
3402 (build-system asdf-build-system/sbcl)
3403 (arguments
3404 '(#:phases
3405 (modify-phases %standard-phases
3406 (add-after 'unpack 'fix-paths
3407 (lambda* (#:key inputs #:allow-other-keys)
3408 (substitute* "src/reload.lisp"
3409 (("libssl.so" all)
3410 (string-append
3411 (assoc-ref inputs "openssl") "/lib/" all))))))))
3412 (inputs
3413 `(("openssl" ,openssl)
3414 ("sbcl-cffi" ,sbcl-cffi)
3415 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3416 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3417 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3418 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3419 ("sbcl-alexandria" ,sbcl-alexandria)
3420 ("sbcl-trivial-features" ,sbcl-trivial-features)))
113c9b97 3421 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
88f06fd0
PN
3422 (synopsis "Common Lisp bindings to OpenSSL")
3423 (description
3424 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3425code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3426Development into CL+SSL was done by David Lichteblau.")
3427 (license license:expat))))
3428
3429(define-public cl-cl+ssl
3430 (sbcl-package->cl-source-package sbcl-cl+ssl))
3431
e7cbcf5a
GLV
3432(define-public ecl-cl+ssl
3433 (sbcl-package->ecl-package sbcl-cl+ssl))
3434
88f06fd0 3435(define-public sbcl-kmrcl
23611680
PN
3436 (let ((version "1.111")
3437 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
88f06fd0
PN
3438 (revision "1"))
3439 (package
3440 (name "sbcl-kmrcl")
3441 (version (git-version version revision commit))
3442 (source
3443 (origin
3444 (method git-fetch)
3445 (uri (git-reference
3446 (url "http://git.kpe.io/kmrcl.git/")
3447 (commit commit)))
3448 (file-name (git-file-name name version))
3449 (sha256
23611680 3450 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
88f06fd0 3451 (build-system asdf-build-system/sbcl)
88f06fd0
PN
3452 (inputs
3453 `(("sbcl-rt" ,sbcl-rt)))
3454 (home-page "http://files.kpe.io/kmrcl/")
3455 (synopsis "General utilities for Common Lisp programs")
3456 (description
3457 "KMRCL is a collection of utilities used by a number of Kevin
23611680 3458Rosenberg's Common Lisp packages.")
88f06fd0
PN
3459 (license license:llgpl))))
3460
3461(define-public cl-kmrcl
3462 (sbcl-package->cl-source-package sbcl-kmrcl))
3463
e7cbcf5a
GLV
3464(define-public ecl-kmrcl
3465 (sbcl-package->ecl-package sbcl-kmrcl))
3466
88f06fd0 3467(define-public sbcl-cl-base64
7cb44409
PN
3468 ;; 3.3.4 tests are broken, upstream fixes them.
3469 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3470 (package
3471 (name "sbcl-cl-base64")
3472 (version (git-version "3.3.4" "1" commit))
3473 (source
3474 (origin
3475 (method git-fetch)
3476 (uri (git-reference
3477 (url "http://git.kpe.io/cl-base64.git/")
3478 (commit commit)))
49ae5f79 3479 (file-name (git-file-name name version))
7cb44409
PN
3480 (sha256
3481 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3482 (build-system asdf-build-system/sbcl)
3483 (native-inputs ; For tests.
3484 `(("sbcl-ptester" ,sbcl-ptester)
3485 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3486 (home-page "http://files.kpe.io/cl-base64/")
3487 (synopsis
3488 "Common Lisp package to encode and decode base64 with URI support")
3489 (description
3490 "This package provides highly optimized base64 encoding and decoding.
88f06fd0
PN
3491Besides conversion to and from strings, integer conversions are supported.
3492Encoding with Uniform Resource Identifiers is supported by using a modified
3493encoding table that uses only URI-compatible characters.")
7cb44409 3494 (license license:bsd-3))))
88f06fd0
PN
3495
3496(define-public cl-base64
3497 (sbcl-package->cl-source-package sbcl-cl-base64))
3498
e7cbcf5a
GLV
3499(define-public ecl-cl-base64
3500 (sbcl-package->ecl-package sbcl-cl-base64))
3501
88f06fd0
PN
3502(define-public sbcl-chunga
3503 (package
3504 (name "sbcl-chunga")
3505 (version "1.1.7")
3506 (source
3507 (origin
3508 (method git-fetch)
3509 (uri (git-reference
b0e7b699 3510 (url "https://github.com/edicl/chunga")
88f06fd0
PN
3511 (commit (string-append "v" version))))
3512 (file-name (git-file-name name version))
3513 (sha256
3514 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3515 (build-system asdf-build-system/sbcl)
3516 (inputs
3517 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3518 (home-page "https://edicl.github.io/chunga/")
3519 (synopsis "Portable chunked streams for Common Lisp")
3520 (description
3521 "Chunga implements streams capable of chunked encoding on demand as
3522defined in RFC 2616.")
3523 (license license:bsd-2)))
3524
3525(define-public cl-chunga
3526 (sbcl-package->cl-source-package sbcl-chunga))
3527
e7cbcf5a
GLV
3528(define-public ecl-chunga
3529 (sbcl-package->ecl-package sbcl-chunga))
3530
88f06fd0
PN
3531(define-public sbcl-cl-who
3532 (let ((version "1.1.4")
3533 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3534 (revision "1"))
3535 (package
3536 (name "sbcl-cl-who")
3537 (version (git-version version revision commit))
3538 (source
3539 (origin
3540 (method git-fetch)
3541 (uri (git-reference
b0e7b699 3542 (url "https://github.com/edicl/cl-who")
88f06fd0
PN
3543 (commit commit)))
3544 (file-name (git-file-name name version))
3545 (sha256
3546 (base32
3547 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3548 (build-system asdf-build-system/sbcl)
3549 (native-inputs
3550 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3551 (home-page "https://edicl.github.io/cl-who/")
3552 (synopsis "Yet another Lisp markup language")
3553 (description
3554 "There are plenty of Lisp Markup Languages out there - every Lisp
3555programmer seems to write at least one during his career - and CL-WHO (where
3556WHO means \"with-html-output\" for want of a better acronym) is probably just
3557as good or bad as the next one.")
3558 (license license:bsd-2))))
3559
12df8b7b 3560(define-public cl-who
88f06fd0
PN
3561 (sbcl-package->cl-source-package sbcl-cl-who))
3562
12df8b7b
GLV
3563(define-public ecl-cl-who
3564 (sbcl-package->ecl-package sbcl-cl-who))
3565
88f06fd0
PN
3566(define-public sbcl-chipz
3567 (let ((version "0.8")
3568 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3569 (revision "1"))
3570 (package
3571 (name "sbcl-chipz")
3572 (version (git-version version revision commit))
3573 (source
3574 (origin
3575 (method git-fetch)
3576 (uri (git-reference
b0e7b699 3577 (url "https://github.com/froydnj/chipz")
88f06fd0
PN
3578 (commit commit)))
3579 (file-name (git-file-name name version))
3580 (sha256
3581 (base32
3582 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3583 (build-system asdf-build-system/sbcl)
3584 (native-inputs
3585 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3586 (home-page "http://method-combination.net/lisp/chipz/")
3587 (synopsis
3588 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3589data")
3590 (description
3591 "DEFLATE data, defined in RFC1951, forms the core of popular
3592compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3593Chipz also provides for decompressing data in those formats as well. BZIP2 is
3594the format used by the popular compression tool bzip2.")
3595 ;; The author describes it as "MIT-like"
3596 (license license:expat))))
3597
3598(define-public cl-chipz
3599 (sbcl-package->cl-source-package sbcl-chipz))
3600
e7cbcf5a
GLV
3601(define-public ecl-chipz
3602 (sbcl-package->ecl-package sbcl-chipz))
3603
88f06fd0 3604(define-public sbcl-drakma
a2b6b973
GLV
3605 (package
3606 (name "sbcl-drakma")
3607 (version "2.0.7")
3608 (source
3609 (origin
3610 (method git-fetch)
3611 (uri (git-reference
b0e7b699 3612 (url "https://github.com/edicl/drakma")
a2b6b973
GLV
3613 (commit (string-append "v" version))))
3614 (file-name (git-file-name name version))
3615 (sha256
3616 (base32
3617 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3618 (build-system asdf-build-system/sbcl)
3619 (inputs
3620 `(("sbcl-puri" ,sbcl-puri)
3621 ("sbcl-cl-base64" ,sbcl-cl-base64)
3622 ("sbcl-chunga" ,sbcl-chunga)
3623 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3624 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3625 ("sbcl-chipz" ,sbcl-chipz)
3626 ("sbcl-usocket" ,sbcl-usocket)
3627 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3628 (native-inputs
3629 `(("sbcl-fiveam" ,sbcl-fiveam)))
3630 (home-page "https://edicl.github.io/drakma/")
3631 (synopsis "HTTP client written in Common Lisp")
3632 (description
3633 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
88f06fd0
PN
3634knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3635sockets, SSL, continuable uploads, file uploads, cookies, and more.")
a2b6b973 3636 (license license:bsd-2)))
88f06fd0
PN
3637
3638(define-public cl-drakma
3639 (sbcl-package->cl-source-package sbcl-drakma))
3640
10ac723b
GLV
3641(define-public ecl-drakma
3642 (sbcl-package->ecl-package sbcl-drakma))
3643
88f06fd0
PN
3644(define-public sbcl-hunchentoot
3645 (package
3646 (name "sbcl-hunchentoot")
3647 (version "1.2.38")
3648 (source
3649 (origin
3650 (method git-fetch)
3651 (uri (git-reference
b0e7b699 3652 (url "https://github.com/edicl/hunchentoot")
88f06fd0
PN
3653 (commit (string-append "v" version))))
3654 (file-name (git-file-name "hunchentoot" version))
3655 (sha256
3656 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3657 (build-system asdf-build-system/sbcl)
3658 (native-inputs
3659 `(("sbcl-cl-who" ,sbcl-cl-who)
3660 ("sbcl-drakma" ,sbcl-drakma)))
3661 (inputs
3662 `(("sbcl-chunga" ,sbcl-chunga)
3663 ("sbcl-cl-base64" ,sbcl-cl-base64)
3664 ("sbcl-cl-fad" ,sbcl-cl-fad)
3665 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3666 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3667 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3668 ("sbcl-md5" ,sbcl-md5)
3669 ("sbcl-rfc2388" ,sbcl-rfc2388)
3670 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3671 ("sbcl-usocket" ,sbcl-usocket)))
3672 (home-page "https://edicl.github.io/hunchentoot/")
3673 (synopsis "Web server written in Common Lisp")
3674 (description
3675 "Hunchentoot is a web server written in Common Lisp and at the same
3676time a toolkit for building dynamic websites. As a stand-alone web server,
3677Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3678connections (keep-alive), and SSL.")
3679 (license license:bsd-2)))
3680
3681(define-public cl-hunchentoot
3682 (sbcl-package->cl-source-package sbcl-hunchentoot))
3683
bdd3b1b2
GLV
3684(define-public ecl-hunchentoot
3685 (package
3686 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
3687 (arguments
3688 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
3689 '(#:tests? #f))))
3690
88f06fd0
PN
3691(define-public sbcl-trivial-types
3692 (package
3693 (name "sbcl-trivial-types")
3694 (version "0.0.1")
3695 (source
3696 (origin
3697 (method git-fetch)
3698 (uri (git-reference
b0e7b699 3699 (url "https://github.com/m2ym/trivial-types")
88f06fd0
PN
3700 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3701 (file-name (git-file-name name version))
3702 (sha256
3703 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3704 (build-system asdf-build-system/sbcl)
3705 (home-page "https://github.com/m2ym/trivial-types")
3706 (synopsis "Trivial type definitions for Common Lisp")
3707 (description
3708 "TRIVIAL-TYPES provides missing but important type definitions such as
3709PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3710 (license license:llgpl)))
3711
3712(define-public cl-trivial-types
3713 (sbcl-package->cl-source-package sbcl-trivial-types))
3714
12df8b7b
GLV
3715(define-public ecl-trivial-types
3716 (sbcl-package->ecl-package sbcl-trivial-types))
3717
88f06fd0
PN
3718(define-public sbcl-cl-annot
3719 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3720 (revision "1"))
3721 (package
3722 (name "sbcl-cl-annot")
3723 (version (git-version "0.0.0" revision commit))
3724 (source
3725 (origin
3726 (method git-fetch)
3727 (uri (git-reference
b0e7b699 3728 (url "https://github.com/m2ym/cl-annot")
88f06fd0
PN
3729 (commit commit)))
3730 (file-name (git-file-name name version))
3731 (sha256
3732 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3733 (build-system asdf-build-system/sbcl)
88f06fd0
PN
3734 (inputs
3735 `(("sbcl-alexandria" ,sbcl-alexandria)))
3736 (home-page "https://github.com/m2ym/cl-annot")
3737 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3738 (description
3739 "@code{cl-annot} is an general annotation library for Common Lisp.")
3740 (license license:llgpl))))
3741
3742(define-public cl-annot
3743 (sbcl-package->cl-source-package sbcl-cl-annot))
3744
e7cbcf5a
GLV
3745(define-public ecl-cl-annot
3746 (sbcl-package->ecl-package sbcl-cl-annot))
3747
2ff8b5ba 3748(define-public sbcl-cl-syntax
5b22df94 3749 (package
2ff8b5ba
GLV
3750 (name "sbcl-cl-syntax")
3751 (version "0.0.3")
3752 (source
3753 (origin
3754 (method git-fetch)
3755 (uri (git-reference
3756 (url "https://github.com/m2ym/cl-syntax")
3757 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3758 (file-name (git-file-name "cl-syntax" version))
3759 (sha256
3760 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3761 (build-system asdf-build-system/sbcl)
5b22df94 3762 (inputs
2ff8b5ba
GLV
3763 `(("cl-annot" ,sbcl-cl-annot)
3764 ("cl-interpol" ,sbcl-cl-interpol)
3765 ("named-readtables" ,sbcl-named-readtables)
3766 ("trivial-types" ,sbcl-trivial-types)))
3767 (arguments
3f8bbf7c 3768 '(#:asd-systems '("cl-syntax"
2ff8b5ba
GLV
3769 "cl-syntax-annot"
3770 "cl-syntax-interpol")))
3771 (home-page "https://github.com/m2ym/cl-syntax")
3772 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
5b22df94 3773 (description
2ff8b5ba
GLV
3774 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3775 (license license:llgpl)))
5b22df94 3776
2ff8b5ba
GLV
3777(define-public cl-syntax
3778 (sbcl-package->cl-source-package sbcl-cl-syntax))
5b22df94 3779
12df8b7b
GLV
3780(define-public ecl-cl-syntax
3781 (sbcl-package->ecl-package sbcl-cl-syntax))
3782
88f06fd0
PN
3783(define-public sbcl-cl-utilities
3784 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3785 (revision "1"))
3786 (package
3787 (name "sbcl-cl-utilities")
3788 (version (git-version "0.0.0" revision commit))
3789 (source
3790 (origin
3791 (method url-fetch)
3792 (uri
3793 (string-append
3794 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3795 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3796 (sha256
3797 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3798 (build-system asdf-build-system/sbcl)
3799 (arguments
e765d9c9 3800 '(#:phases
88f06fd0
PN
3801 (modify-phases %standard-phases
3802 (add-after 'unpack 'fix-paths
3803 (lambda* (#:key inputs #:allow-other-keys)
3804 (substitute* "rotate-byte.lisp"
3805 (("in-package :cl-utilities)" all)
3806 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3807 (home-page "http://common-lisp.net/project/cl-utilities")
3808 (synopsis "A collection of semi-standard utilities")
3809 (description
3810 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3811is a collection of Common Lisp Utilities, things that everybody writes since
3812they're not part of the official standard. There are some very useful things
3813there; the only problems are that they aren't implemented as well as you'd
3814like (some aren't implemented at all) and they aren't conveniently packaged
3815and maintained. It takes quite a bit of work to carefully implement utilities
3816for common use, commented and documented, with error checking placed
3817everywhere some dumb user might make a mistake.")
3818 (license license:public-domain))))
3819
3820(define-public cl-utilities
3821 (sbcl-package->cl-source-package sbcl-cl-utilities))
3822
12df8b7b
GLV
3823(define-public ecl-cl-utilities
3824 (sbcl-package->ecl-package sbcl-cl-utilities))
3825
88f06fd0
PN
3826(define-public sbcl-map-set
3827 (let ((commit "7b4b545b68b8")
3828 (revision "1"))
3829 (package
3830 (name "sbcl-map-set")
3831 (version (git-version "0.0.0" revision commit))
3832 (source
3833 (origin
3834 (method url-fetch)
3835 (uri (string-append
3836 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3837 commit ".tar.gz"))
3838 (sha256
3839 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3840 (build-system asdf-build-system/sbcl)
3841 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3842 (synopsis "Set-like data structure")
3843 (description
3844 "Implementation of a set-like data structure with constant time
3845addition, removal, and random selection.")
3846 (license license:bsd-3))))
3847
3848(define-public cl-map-set
3849 (sbcl-package->cl-source-package sbcl-map-set))
3850
e7cbcf5a
GLV
3851(define-public ecl-map-set
3852 (sbcl-package->ecl-package sbcl-map-set))
3853
88f06fd0 3854(define-public sbcl-quri
27c7df29
PN
3855 (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a")
3856 (revision "2"))
88f06fd0
PN
3857 (package
3858 (name "sbcl-quri")
3859 (version (git-version "0.1.0" revision commit))
3860 (source
3861 (origin
3862 (method git-fetch)
3863 (uri (git-reference
b0e7b699 3864 (url "https://github.com/fukamachi/quri")
88f06fd0
PN
3865 (commit commit)))
3866 (file-name (git-file-name name version))
3867 (sha256
27c7df29 3868 (base32 "0cansr63m690ymvhway419178mq2sqnmxm4rdxclbsrnjwwbi36m"))))
88f06fd0
PN
3869 (build-system asdf-build-system/sbcl)
3870 (arguments
3871 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
3872 ;; required by #<SYSTEM "quri">. Why?
3873 '(#:tests? #f))
2ff8b5ba 3874 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
3875 (inputs `(("sbcl-babel" ,sbcl-babel)
3876 ("sbcl-split-sequence" ,sbcl-split-sequence)
3877 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
3878 ("sbcl-alexandria" ,sbcl-alexandria)))
3879 (home-page "https://github.com/fukamachi/quri")
3880 (synopsis "Yet another URI library for Common Lisp")
3881 (description
3882 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
3883Lisp. It is intended to be a replacement of PURI.")
3884 (license license:bsd-3))))
3885
3886(define-public cl-quri
3887 (sbcl-package->cl-source-package sbcl-quri))
3888
e7cbcf5a
GLV
3889(define-public ecl-quri
3890 (sbcl-package->ecl-package sbcl-quri))
3891
88f06fd0
PN
3892(define-public sbcl-myway
3893 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
3894 (revision "1"))
3895 (package
3896 (name "sbcl-myway")
3897 (version (git-version "0.1.0" revision commit))
3898 (source
3899 (origin
3900 (method git-fetch)
3901 (uri (git-reference
b0e7b699 3902 (url "https://github.com/fukamachi/myway")
88f06fd0
PN
3903 (commit commit)))
3904 (file-name (git-file-name "myway" version))
3905 (sha256
3906 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
3907 (build-system asdf-build-system/sbcl)
3908 (arguments
3909 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
3910 ;; by #<SYSTEM "myway">. Why?
3911 '(#:tests? #f))
3912 (native-inputs
2ff8b5ba 3913 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
3914 (inputs
3915 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3916 ("sbcl-quri" ,sbcl-quri)
3917 ("sbcl-map-set" ,sbcl-map-set)))
3918 (home-page "https://github.com/fukamachi/myway")
3919 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
3920 (description "My Way is a Sinatra-compatible URL routing library.")
3921 (license license:llgpl))))
3922
3923(define-public cl-myway
3924 (sbcl-package->cl-source-package sbcl-myway))
3925
e7cbcf5a
GLV
3926(define-public ecl-myway
3927 (sbcl-package->ecl-package sbcl-myway))
3928
88f06fd0
PN
3929(define-public sbcl-xsubseq
3930 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
3931 (revision "1"))
3932 (package
3933 (name "sbcl-xsubseq")
3934 (version (git-version "0.0.1" revision commit))
3935 (source
3936 (origin
3937 (method git-fetch)
3938 (uri (git-reference
3939 (url "https://github.com/fukamachi/xsubseq")
3940 (commit commit)))
3941 (file-name (git-file-name name version))
3942 (sha256
3943 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
3944 (build-system asdf-build-system/sbcl)
3945 (arguments
3946 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
3947 ;; required by #<SYSTEM "xsubseq">. Why?
3948 '(#:tests? #f))
3949 (native-inputs
2ff8b5ba 3950 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
3951 (home-page "https://github.com/fukamachi/xsubseq")
3952 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
3953 (description
3954 "XSubseq provides functions to be able to handle \"subseq\"s more
3955effieiently.")
3956 (license license:bsd-2))))
3957
3958(define-public cl-xsubseq
3959 (sbcl-package->cl-source-package sbcl-xsubseq))
3960
12df8b7b
GLV
3961(define-public ecl-xsubseq
3962 (sbcl-package->ecl-package sbcl-xsubseq))
3963
88f06fd0
PN
3964(define-public sbcl-smart-buffer
3965 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
3966 (revision "1"))
3967 (package
3968 (name "sbcl-smart-buffer")
3969 (version (git-version "0.0.1" revision commit))
3970 (source
3971 (origin
3972 (method git-fetch)
3973 (uri (git-reference
3974 (url "https://github.com/fukamachi/smart-buffer")
3975 (commit commit)))
3976 (file-name (git-file-name name version))
3977 (sha256
3978 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
3979 (build-system asdf-build-system/sbcl)
3980 (arguments
3981 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
3982 ;; found, required by #<SYSTEM "smart-buffer">. Why?
3983 `(#:tests? #f))
3984 (native-inputs
2ff8b5ba 3985 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
3986 (inputs
3987 `(("sbcl-xsubseq" ,sbcl-xsubseq)
3988 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3989 (home-page "https://github.com/fukamachi/smart-buffer")
3990 (synopsis "Smart octets buffer")
3991 (description
3992 "Smart-buffer provides an output buffer which changes the destination
3993depending on content size.")
3994 (license license:bsd-3))))
3995
3996(define-public cl-smart-buffer
3997 (sbcl-package->cl-source-package sbcl-smart-buffer))
3998
12df8b7b
GLV
3999(define-public ecl-smart-buffer
4000 (sbcl-package->ecl-package sbcl-smart-buffer))
4001
88f06fd0 4002(define-public sbcl-fast-http
47e73008
PN
4003 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4004 (revision "2"))
88f06fd0
PN
4005 (package
4006 (name "sbcl-fast-http")
4007 (version (git-version "0.2.0" revision commit))
4008 (source
4009 (origin
4010 (method git-fetch)
4011 (uri (git-reference
4012 (url "https://github.com/fukamachi/fast-http")
4013 (commit commit)))
4014 (file-name (git-file-name name version))
4015 (sha256
47e73008 4016 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
88f06fd0
PN
4017 (build-system asdf-build-system/sbcl)
4018 (arguments
4019 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4020 ;; required by #<SYSTEM "fast-http">. Why?
4021 `(#:tests? #f))
4022 (native-inputs
2ff8b5ba
GLV
4023 `(("sbcl-prove" ,sbcl-prove)
4024 ("cl-syntax" ,sbcl-cl-syntax)))
88f06fd0
PN
4025 (inputs
4026 `(("sbcl-alexandria" ,sbcl-alexandria)
4027 ("sbcl-proc-parse" ,sbcl-proc-parse)
4028 ("sbcl-xsubseq" ,sbcl-xsubseq)
4029 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4030 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4031 (home-page "https://github.com/fukamachi/fast-http")
4032 (synopsis "HTTP request/response parser for Common Lisp")
4033 (description
4034 "@code{fast-http} is a HTTP request/response protocol parser for Common
4035Lisp.")
4036 ;; Author specified the MIT license
4037 (license license:expat))))
4038
4039(define-public cl-fast-http
4040 (sbcl-package->cl-source-package sbcl-fast-http))
4041
e7cbcf5a
GLV
4042(define-public ecl-fast-http
4043 (sbcl-package->ecl-package sbcl-fast-http))
4044
88f06fd0 4045(define-public sbcl-static-vectors
ba55cbda
GLV
4046 (package
4047 (name "sbcl-static-vectors")
4048 (version "1.8.4")
4049 (source
4050 (origin
88f06fd0
PN
4051 (method git-fetch)
4052 (uri (git-reference
b0e7b699 4053 (url "https://github.com/sionescu/static-vectors")
ba55cbda 4054 (commit (string-append "v" version))))
88f06fd0
PN
4055 (file-name (git-file-name name version))
4056 (sha256
ba55cbda
GLV
4057 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4058 (native-inputs
4059 `(("sbcl-fiveam" ,sbcl-fiveam)))
4060 (inputs
2ff8b5ba 4061 `(("sbcl-cffi" ,sbcl-cffi)))
ba55cbda 4062 (build-system asdf-build-system/sbcl)
6b40dbff 4063 (home-page "https://github.com/sionescu/static-vectors")
ba55cbda
GLV
4064 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4065 (description
4066 "With @code{static-vectors}, you can create vectors allocated in static
88f06fd0 4067memory.")
ba55cbda 4068 (license license:expat)))
88f06fd0
PN
4069
4070(define-public cl-static-vectors
4071 (sbcl-package->cl-source-package sbcl-static-vectors))
4072
f6a6f085
GLV
4073(define-public ecl-static-vectors
4074 (sbcl-package->ecl-package sbcl-static-vectors))
4075
88f06fd0
PN
4076(define-public sbcl-marshal
4077 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4078 (revision "1"))
4079 (package
4080 (name "sbcl-marshal")
4081 (version (git-version "1.3.0" revision commit))
4082 (source
4083 (origin
4084 (method git-fetch)
4085 (uri (git-reference
b0e7b699 4086 (url "https://github.com/wlbr/cl-marshal")
88f06fd0
PN
4087 (commit commit)))
4088 (file-name (git-file-name name version))
4089 (sha256
4090 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4091 (build-system asdf-build-system/sbcl)
4092 (home-page "https://github.com/wlbr/cl-marshal")
4093 (synopsis "Simple (de)serialization of Lisp datastructures")
4094 (description
4095 "Simple and fast marshalling of Lisp datastructures. Convert any object
4096into a string representation, put it on a stream an revive it from there.
4097Only minimal changes required to make your CLOS objects serializable.")
4098 (license license:expat))))
4099
4100(define-public cl-marshal
4101 (sbcl-package->cl-source-package sbcl-marshal))
4102
e7cbcf5a
GLV
4103(define-public ecl-marshal
4104 (sbcl-package->ecl-package sbcl-marshal))
4105
88f06fd0
PN
4106(define-public sbcl-checkl
4107 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4108 (revision "1"))
4109 (package
4110 (name "sbcl-checkl")
4111 (version (git-version "0.0.0" revision commit))
4112 (source
4113 (origin
4114 (method git-fetch)
4115 (uri (git-reference
b0e7b699 4116 (url "https://github.com/rpav/CheckL")
88f06fd0
PN
4117 (commit commit)))
4118 (file-name (git-file-name name version))
4119 (sha256
4120 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4121 (build-system asdf-build-system/sbcl)
4122 (arguments
4123 ;; Error while trying to load definition for system checkl-test from
4124 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4125 ;; is undefined.
3f8bbf7c
GLV
4126 '(#:asd-files '("checkl.asd")
4127 #:tests? #f))
88f06fd0
PN
4128 (native-inputs
4129 `(("sbcl-fiveam" ,sbcl-fiveam)))
4130 (inputs
4131 `(("sbcl-marshal" ,sbcl-marshal)))
4132 (home-page "https://github.com/rpav/CheckL/")
4133 (synopsis "Dynamic testing for Common Lisp")
4134 (description
4135 "CheckL lets you write tests dynamically, it checks resulting values
4136against the last run.")
4137 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4138 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4139 ;; stronger of the two and so I think only listing this should suffice.
4140 (license license:llgpl))))
4141
4142(define-public cl-checkl
4143 (sbcl-package->cl-source-package sbcl-checkl))
4144
e7cbcf5a
GLV
4145(define-public ecl-checkl
4146 (sbcl-package->ecl-package sbcl-checkl))
4147
88f06fd0 4148(define-public sbcl-fast-io
481f41e3
PN
4149 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4150 (revision "2"))
88f06fd0
PN
4151 (package
4152 (name "sbcl-fast-io")
4153 (version (git-version "1.0.0" revision commit))
4154 (source
4155 (origin
4156 (method git-fetch)
4157 (uri (git-reference
b0e7b699 4158 (url "https://github.com/rpav/fast-io")
88f06fd0
PN
4159 (commit commit)))
4160 (file-name (git-file-name name version))
4161 (sha256
481f41e3 4162 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
88f06fd0
PN
4163 (build-system asdf-build-system/sbcl)
4164 (arguments
4165 ;; Error while trying to load definition for system fast-io-test from
4166 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4167 ;; is undefined.
3f8bbf7c
GLV
4168 '(#:tests? #f
4169 #:asd-files '("fast-io.asd")))
88f06fd0
PN
4170 (native-inputs
4171 `(("sbcl-fiveam" ,sbcl-fiveam)
4172 ("sbcl-checkl" ,sbcl-checkl)))
4173 (inputs
4174 `(("sbcl-alexandria" ,sbcl-alexandria)
4175 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4176 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4177 (home-page "https://github.com/rpav/fast-io")
4178 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4179 (description
4180 "Fast-io is about improving performance to octet-vectors and octet
4181streams (though primarily the former, while wrapping the latter).")
4182 ;; Author specifies this as NewBSD which is an alias
4183 (license license:bsd-3))))
4184
4185(define-public cl-fast-io
4186 (sbcl-package->cl-source-package sbcl-fast-io))
4187
e7cbcf5a
GLV
4188(define-public ecl-fast-io
4189 (sbcl-package->ecl-package sbcl-fast-io))
4190
88f06fd0
PN
4191(define-public sbcl-jonathan
4192 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4193 (revision "1"))
4194 (package
4195 (name "sbcl-jonathan")
4196 (version (git-version "0.1.0" revision commit))
4197 (source
4198 (origin
4199 (method git-fetch)
4200 (uri (git-reference
b0e7b699 4201 (url "https://github.com/Rudolph-Miller/jonathan")
88f06fd0
PN
4202 (commit commit)))
4203 (file-name (git-file-name name version))
4204 (sha256
4205 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4206 (build-system asdf-build-system/sbcl)
4207 (arguments
4208 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4209 ;; required by #<SYSTEM "jonathan">. Why?
4210 `(#:tests? #f))
4211 (native-inputs
2ff8b5ba 4212 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
4213 (inputs
4214 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
88f06fd0
PN
4215 ("sbcl-fast-io" ,sbcl-fast-io)
4216 ("sbcl-proc-parse" ,sbcl-proc-parse)
4217 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
46a5d07e 4218 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
88f06fd0
PN
4219 (synopsis "JSON encoder and decoder")
4220 (description
4221 "High performance JSON encoder and decoder. Currently support: SBCL,
4222CCL.")
4223 ;; Author specifies the MIT license
4224 (license license:expat))))
4225
4226(define-public cl-jonathan
4227 (sbcl-package->cl-source-package sbcl-jonathan))
4228
e7cbcf5a
GLV
4229(define-public ecl-jonathan
4230 (sbcl-package->ecl-package sbcl-jonathan))
4231
88f06fd0
PN
4232(define-public sbcl-http-body
4233 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4234 (revision "1"))
4235 (package
4236 (name "sbcl-http-body")
4237 (version (git-version "0.1.0" revision commit))
4238 (source
4239 (origin
4240 (method git-fetch)
4241 (uri (git-reference
4242 (url "https://github.com/fukamachi/http-body")
4243 (commit commit)))
4244 (file-name (git-file-name name version))
4245 (sha256
4246 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4247 (build-system asdf-build-system/sbcl)
4248 (arguments
4249 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4250 ;; found, required by #<SYSTEM "http-body">. Why?
4251 `(#:tests? #f))
4252 (native-inputs
2ff8b5ba 4253 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
4254 (inputs
4255 `(("sbcl-fast-http" ,sbcl-fast-http)
4256 ("sbcl-jonathan" ,sbcl-jonathan)
4257 ("sbcl-quri" ,sbcl-quri)))
4258 (home-page "https://github.com/fukamachi/http-body")
4259 (synopsis "HTTP POST data parser")
4260 (description
4261 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4262supports application/x-www-form-urlencoded, application/json, and
4263multipart/form-data.")
4264 (license license:bsd-2))))
4265
4266(define-public cl-http-body
4267 (sbcl-package->cl-source-package sbcl-http-body))
4268
e7cbcf5a
GLV
4269(define-public ecl-http-body
4270 (sbcl-package->ecl-package sbcl-http-body))
4271
88f06fd0
PN
4272(define-public sbcl-circular-streams
4273 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4274 (revision "1"))
4275 (package
4276 (name "sbcl-circular-streams")
4277 (version (git-version "0.1.0" revision commit))
4278 (source
4279 (origin
4280 (method git-fetch)
4281 (uri (git-reference
4282 (url "https://github.com/fukamachi/circular-streams")
4283 (commit commit)))
4284 (file-name (git-file-name name version))
4285 (sha256
4286 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4287 (build-system asdf-build-system/sbcl)
4288 (arguments
4289 ;; The tests depend on cl-test-more which is now prove. Prove
4290 ;; tests aren't working for some reason.
4291 `(#:tests? #f))
4292 (inputs
4293 `(("sbcl-fast-io" ,sbcl-fast-io)
4294 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4295 (home-page "https://github.com/fukamachi/circular-streams")
4296 (synopsis "Circularly readable streams for Common Lisp")
4297 (description
4298 "Circular-Streams allows you to read streams circularly by wrapping real
4299streams. Once you reach end-of-file of a stream, it's file position will be
4300reset to 0 and you're able to read it again.")
4301 (license license:llgpl))))
4302
4303(define-public cl-circular-streams
4304 (sbcl-package->cl-source-package sbcl-circular-streams))
4305
e7cbcf5a
GLV
4306(define-public ecl-circular-streams
4307 (sbcl-package->ecl-package sbcl-circular-streams))
4308
2ff8b5ba 4309(define-public sbcl-lack
88f06fd0
PN
4310 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4311 (revision "1"))
4312 (package
2ff8b5ba
GLV
4313 (name "sbcl-lack")
4314 (version (git-version "0.1.0" revision commit))
4315 (source
4316 (origin
4317 (method git-fetch)
4318 (uri (git-reference
4319 (url "https://github.com/fukamachi/lack")
4320 (commit commit)))
4321 (file-name (git-file-name "lack" version))
4322 (sha256
4323 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4324 (build-system asdf-build-system/sbcl)
4325 (native-inputs
4326 `(("prove" ,sbcl-prove)))
4327 (inputs
4328 `(("circular-streams" ,sbcl-circular-streams)
4329 ("http-body" ,sbcl-http-body)
4330 ("ironclad" ,sbcl-ironclad)
4331 ("local-time" ,sbcl-local-time)
4332 ("quri" ,sbcl-quri)
4333 ("trivial-mimes" ,sbcl-trivial-mimes)))
4334 (arguments
3f8bbf7c 4335 '(#:asd-systems '("lack"
2ff8b5ba
GLV
4336 "lack-request"
4337 "lack-response"
4338 "lack-component"
4339 "lack-util"
4340 "lack-middleware-backtrace"
4341 "lack-middleware-static")
4342 #:test-asd-file "t-lack.asd"
4343 ;; XXX: Component :CLACK not found
4344 #:tests? #f))
4345 (home-page "https://github.com/fukamachi/lack")
4346 (synopsis "Lack, the core of Clack")
4347 (description
4348 "Lack is a Common Lisp library which allows web applications to be
88f06fd0
PN
4349constructed of modular components. It was originally a part of Clack, however
4350it's going to be rewritten as an individual project since Clack v2 with
4351performance and simplicity in mind.")
2ff8b5ba 4352 (license license:llgpl))))
88f06fd0 4353
2ff8b5ba
GLV
4354(define-public cl-lack
4355 (sbcl-package->cl-source-package sbcl-lack))
88f06fd0 4356
e7cbcf5a
GLV
4357(define-public ecl-lack
4358 (sbcl-package->ecl-package sbcl-lack))
4359
88f06fd0 4360(define-public sbcl-local-time
6c1982d4
SH
4361 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4362 (revision "2"))
88f06fd0
PN
4363 (package
4364 (name "sbcl-local-time")
4365 (version (git-version "1.0.6" revision commit))
4366 (source
4367 (origin
4368 (method git-fetch)
4369 (uri (git-reference
b0e7b699 4370 (url "https://github.com/dlowe-net/local-time")
88f06fd0
PN
4371 (commit commit)))
4372 (file-name (git-file-name name version))
4373 (sha256
6c1982d4 4374 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
88f06fd0 4375 (build-system asdf-build-system/sbcl)
88f06fd0 4376 (native-inputs
6c1982d4 4377 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
88f06fd0
PN
4378 (home-page "https://common-lisp.net/project/local-time/")
4379 (synopsis "Time manipulation library for Common Lisp")
4380 (description
4381 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4382dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4383Long Painful History of Time\".")
4384 (license license:expat))))
4385
4386(define-public cl-local-time
4387 (sbcl-package->cl-source-package sbcl-local-time))
4388
e7cbcf5a
GLV
4389(define-public ecl-local-time
4390 (sbcl-package->ecl-package sbcl-local-time))
4391
2ff8b5ba
GLV
4392(define-public sbcl-trivial-mimes
4393 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
88f06fd0
PN
4394 (revision "1"))
4395 (package
2ff8b5ba
GLV
4396 (name "sbcl-trivial-mimes")
4397 (version (git-version "1.1.0" revision commit))
4398 (source
4399 (origin
4400 (method git-fetch)
4401 (uri (git-reference
4402 (url "https://github.com/Shinmera/trivial-mimes")
4403 (commit commit)))
4404 (file-name (git-file-name name version))
4405 (sha256
4406 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4407 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
4408 (native-inputs
4409 `(("stefil" ,sbcl-hu.dwim.stefil)))
4410 (inputs
4411 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4412 (home-page "https://shinmera.github.io/trivial-mimes/")
4413 (synopsis "Tiny Common Lisp library to detect mime types in files")
4414 (description
4415 "This is a teensy library that provides some functions to determine the
4416mime-type of a file.")
4417 (license license:artistic2.0))))
88f06fd0 4418
2ff8b5ba
GLV
4419(define-public cl-trivial-mimes
4420 (sbcl-package->cl-source-package sbcl-trivial-mimes))
88f06fd0 4421
2ff8b5ba
GLV
4422(define-public ecl-trivial-mimes
4423 (sbcl-package->ecl-package sbcl-trivial-mimes))
4424
4425(define-public sbcl-ningle
4426 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
88f06fd0
PN
4427 (revision "1"))
4428 (package
4429 (name "sbcl-ningle")
4430 (version (git-version "0.3.0" revision commit))
4431 (source
4432 (origin
4433 (method git-fetch)
4434 (uri (git-reference
b0e7b699 4435 (url "https://github.com/fukamachi/ningle")
88f06fd0
PN
4436 (commit commit)))
4437 (file-name (git-file-name name version))
4438 (sha256
4439 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4440 (build-system asdf-build-system/sbcl)
4441 (arguments
4442 ;; TODO: pull in clack-test
4443 '(#:tests? #f
4444 #:phases
4445 (modify-phases %standard-phases
4446 (delete 'cleanup-files)
4447 (delete 'cleanup)
4448 (add-before 'cleanup 'combine-fasls
4449 (lambda* (#:key outputs #:allow-other-keys)
4450 (let* ((out (assoc-ref outputs "out"))
4451 (lib (string-append out "/lib/sbcl"))
4452 (ningle-path (string-append lib "/ningle"))
4453 (fasl-files (find-files out "\\.fasl$")))
4454 (mkdir-p ningle-path)
4455 (let ((fasl-path (lambda (name)
4456 (string-append ningle-path
4457 "/"
4458 (basename name)
4459 "--system.fasl"))))
4460 (for-each (lambda (file)
4461 (rename-file file
4462 (fasl-path
4463 (basename file ".fasl"))))
4464 fasl-files))
4465 fasl-files)
4466 #t)))))
4467 (native-inputs
2ff8b5ba 4468 `(("sbcl-prove" ,sbcl-prove)))
88f06fd0
PN
4469 (inputs
4470 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
88f06fd0 4471 ("sbcl-myway" ,sbcl-myway)
2ff8b5ba 4472 ("sbcl-lack" ,sbcl-lack)
88f06fd0
PN
4473 ("sbcl-alexandria" ,sbcl-alexandria)
4474 ("sbcl-babel" ,sbcl-babel)))
f13695ec 4475 (home-page "https://8arrow.org/ningle/")
88f06fd0
PN
4476 (synopsis "Super micro framework for Common Lisp")
4477 (description
4478 "Ningle is a lightweight web application framework for Common Lisp.")
4479 (license license:llgpl))))
4480
4481(define-public cl-ningle
4482 (sbcl-package->cl-source-package sbcl-ningle))
4483
e7cbcf5a
GLV
4484(define-public ecl-ningle
4485 (sbcl-package->ecl-package sbcl-ningle))
4486
0d1c7c97 4487(define-public sbcl-cl-fastcgi
d9010a35
PN
4488 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4489 (revision "2"))
0d1c7c97
PN
4490 (package
4491 (name "sbcl-cl-fastcgi")
4492 (version (git-version "0.2" revision commit))
4493 (source
4494 (origin
4495 (method git-fetch)
4496 (uri (git-reference
4497 (url "https://github.com/KDr2/cl-fastcgi/")
4498 (commit commit)))
4499 (file-name (git-file-name name version))
4500 (sha256
d9010a35 4501 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
0d1c7c97
PN
4502 (build-system asdf-build-system/sbcl)
4503 (inputs
4504 `(("usocket" ,sbcl-usocket)
4505 ("cffi" ,sbcl-cffi)
4506 ("fcgi" ,fcgi)))
4507 (arguments
4508 `(#:phases
4509 (modify-phases %standard-phases
4510 (add-after 'unpack 'fix-paths
4511 (lambda* (#:key inputs #:allow-other-keys)
4512 (substitute* "cl-fastcgi.lisp"
4513 (("\"libfcgi.so\"")
4514 (string-append
4515 "\""
4516 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4517 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4518 (synopsis "FastCGI wrapper for Common Lisp")
4519 (description
4520 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4521mostly Common Lisp implementation.")
0d1c7c97
PN
4522 (license license:bsd-2))))
4523
4524(define-public cl-fastcgi
4525 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4526
4527(define-public ecl-cl-fastcgi
4528 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4529
88f06fd0 4530(define-public sbcl-clack
2ff8b5ba
GLV
4531 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4532 (revision "1"))
4533 (package
4534 (name "sbcl-clack")
4535 (version (git-version "2.0.0" revision commit))
4536 (source
4537 (origin
4538 (method git-fetch)
4539 (uri (git-reference
4540 (url "https://github.com/fukamachi/clack")
4541 (commit commit)))
4542 (file-name (git-file-name name version))
4543 (sha256
4544 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4545 (build-system asdf-build-system/sbcl)
4546 (inputs
4547 `(("alexandria" ,sbcl-alexandria)
4548 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4549 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4550 ("flexi-streams" ,sbcl-flexi-streams)
4551 ("hunchentoot" ,sbcl-hunchentoot)
4552 ("lack" ,sbcl-lack)
4553 ("split-sequence" ,sbcl-split-sequence)
4554 ("usocket" ,sbcl-usocket)
4555 ("quri" ,sbcl-quri)))
4556 (arguments
3f8bbf7c 4557 '(#:asd-systems '("clack"
2ff8b5ba
GLV
4558 "clack-handler-fcgi"
4559 "clack-socket"
4560 "clack-handler-hunchentoot")))
4561 (home-page "https://github.com/fukamachi/clack")
4562 (synopsis "Web Application Environment for Common Lisp")
4563 (description
4564 "Clack is a web application environment for Common Lisp inspired by
88f06fd0 4565Python's WSGI and Ruby's Rack.")
2ff8b5ba 4566 (license license:llgpl))))
88f06fd0
PN
4567
4568(define-public cl-clack
4569 (sbcl-package->cl-source-package sbcl-clack))
4570
bdd3b1b2
GLV
4571(define-public ecl-clack
4572 (sbcl-package->ecl-package sbcl-clack))
4573
65d3fab5
SH
4574(define-public sbcl-cl-log
4575 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4576 (revision "1"))
4577 (package
4578 (name "sbcl-cl-log")
4579 (version "1.0.1")
4580 (source
4581 (origin
4582 (method git-fetch)
4583 (uri (git-reference
4584 (url "https://github.com/nicklevine/cl-log")
4585 (commit commit)))
4586 (sha256
4587 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4588 (file-name (git-file-name "cl-log" version))))
4589 (build-system asdf-build-system/sbcl)
4590 (synopsis "Common Lisp general purpose logging utility")
4591 (description "CL-LOG is a general purpose logging utility, loosely modelled
4592in some respects after Gary King's Log5. Its features include: logging to
4593several destinations at once, via \"messengers\", each messenger is tailored to
4594accept some log messages and reject others, and this tailoring can be changed
4595on-the-fly, very rapid processing of messages which are rejected by all
4596messengers, fully independent use of the utility by several different
4597sub-systems in an application, support for messengers which cl:format text to a
4598stream, support for messengers which do not invoke cl:format, timestamps in
4599theory accurate to internal-time-units-per-second.")
4600 (home-page "https://github.com/nicklevine/cl-log")
4601 (license license:expat))))
4602
4603(define-public cl-log
4604 (sbcl-package->cl-source-package sbcl-cl-log))
4605
4606(define-public ecl-cl-log
4607 (sbcl-package->ecl-package sbcl-cl-log))
4608
88f06fd0
PN
4609(define-public sbcl-log4cl
4610 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4611 (revision "1"))
4612 (package
4613 (name "sbcl-log4cl")
4614 (build-system asdf-build-system/sbcl)
4615 (version "1.1.2")
4616 (source
4617 (origin
4618 (method git-fetch)
4619 (uri (git-reference
4620 (url "https://github.com/sharplispers/log4cl")
4621 (commit commit)))
4622 (file-name (git-file-name name version))
4623 (sha256
4624 (base32
4625 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4626 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4627 (arguments
4628 `(#:tests? #f))
4629 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4630 (synopsis "Common Lisp logging framework, modeled after Log4J")
4631 (home-page "https://github.com/7max/log4cl")
4632 (description "This is a Common Lisp logging framework that can log at
4633various levels and mix text with expressions.")
4634 (license license:asl2.0))))
4635
4636(define-public cl-log4cl
4637 (sbcl-package->cl-source-package sbcl-log4cl))
4638
4639(define-public ecl-log4cl
4640 (sbcl-package->ecl-package sbcl-log4cl))
4641
4642(define-public sbcl-find-port
4643 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4644 (revision "1"))
4645 (package
4646 (name "sbcl-find-port")
4647 (build-system asdf-build-system/sbcl)
4648 (version "0.1")
4649 (home-page "https://github.com/eudoxia0/find-port")
4650 (source
4651 (origin
4652 (method git-fetch)
4653 (uri (git-reference
4654 (url home-page)
4655 (commit commit)))
4656 (file-name (git-file-name name version))
4657 (sha256
4658 (base32
4659 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4660 (native-inputs
4661 `(("fiveam" ,sbcl-fiveam)))
4662 (inputs
4663 `(("sbcl-usocket" ,sbcl-usocket)))
4664 (synopsis "Find open ports programmatically in Common Lisp")
4665 (description "This is a small Common Lisp library that finds an open
4666port within a range.")
4667 (license license:expat))))
4668
4669(define-public cl-find-port
4670 (sbcl-package->cl-source-package sbcl-find-port))
4671
4672(define-public ecl-find-port
4673 (sbcl-package->ecl-package sbcl-find-port))
4674
4675(define-public sbcl-clunit
4676 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4677 (revision "1"))
4678 (package
4679 (name "sbcl-clunit")
4680 (version (git-version "0.2.3" revision commit))
4681 (source
4682 (origin
4683 (method git-fetch)
4684 (uri (git-reference
b0e7b699 4685 (url "https://github.com/tgutu/clunit")
88f06fd0
PN
4686 (commit commit)))
4687 (file-name (git-file-name name version))
4688 (sha256
4689 (base32
4690 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4691 (build-system asdf-build-system/sbcl)
4692 (synopsis "CLUnit is a Common Lisp unit testing framework")
4693 (description
4694 "CLUnit is a Common Lisp unit testing framework. It is designed
4695to be easy to use so that you can quickly start testing. CLUnit
4696provides a rich set of features aimed at improving your unit testing
4697experience.")
b4034d1b 4698 (home-page "https://tgutu.github.io/clunit/")
88f06fd0
PN
4699 ;; MIT License
4700 (license license:expat))))
4701
4702(define-public cl-clunit
4703 (sbcl-package->cl-source-package sbcl-clunit))
4704
4705(define-public ecl-clunit
4706 (sbcl-package->ecl-package sbcl-clunit))
4707
4708(define-public sbcl-py4cl
4709 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4710 (revision "1"))
4711 (package
4712 (name "sbcl-py4cl")
4713 (version (git-version "0.0.0" revision commit))
4714 (source
4715 (origin
4716 (method git-fetch)
4717 (uri (git-reference
b0e7b699 4718 (url "https://github.com/bendudson/py4cl")
88f06fd0
PN
4719 (commit commit)))
4720 (file-name (git-file-name name version))
4721 (sha256
4722 (base32
4723 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4724 (modules '((guix build utils)))))
4725 (build-system asdf-build-system/sbcl)
4726 (native-inputs
4727 `(("sbcl-clunit" ,sbcl-clunit)))
4728 (inputs
4729 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4730 (propagated-inputs
4731 ;; This package doesn't do anything without python available
4732 `(("python" ,python)
4733 ;; For multi-dimensional array support
4734 ("python-numpy" ,python-numpy)))
4735 (arguments
4736 '(#:phases
4737 (modify-phases %standard-phases
4738 (add-after 'unpack 'replace-*base-directory*-var
4739 (lambda* (#:key outputs #:allow-other-keys)
4740 ;; In the ASD, the author makes an attempt to
4741 ;; programatically determine the location of the
4742 ;; source-code so lisp can call into "py4cl.py". We can
4743 ;; hard-code this since we know where this file will
4744 ;; reside.
4745 (substitute* "src/callpython.lisp"
4746 (("py4cl/config:\\*base-directory\\*")
4747 (string-append
4748 "\""
4749 (assoc-ref outputs "out")
4750 "/share/common-lisp/sbcl-source/py4cl/"
4751 "\""))))))))
4752 (synopsis "Call python from Common Lisp")
4753 (description
4754 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4755Lisp to interact with Python code. It uses streams to communicate with a
4756separate python process, the approach taken by cl4py. This is different to
4757the CFFI approach used by burgled-batteries, but has the same goal.")
4758 (home-page "https://github.com/bendudson/py4cl")
4759 ;; MIT License
4760 (license license:expat))))
4761
4762(define-public cl-py4cl
4763 (sbcl-package->cl-source-package sbcl-py4cl))
4764
4765(define-public ecl-py4cl
4766 (sbcl-package->ecl-package sbcl-py4cl))
4767
4768(define-public sbcl-parse-declarations
1fce78c4
GLV
4769 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
4770 (revision "1"))
4771 (package
4772 (name "sbcl-parse-declarations")
4773 (version (git-version "1.0.0" revision commit))
4774 (source
4775 (origin
4776 (method git-fetch)
4777 (uri (git-reference
4778 (url (string-append
4779 "https://gitlab.common-lisp.net/parse-declarations/"
4780 "parse-declarations.git"))
4781 (commit commit)))
4782 (file-name (git-file-name name version))
4783 (sha256
4784 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
4785 (build-system asdf-build-system/sbcl)
4786 (arguments
3f8bbf7c 4787 `(#:asd-systems '("parse-declarations-1.0")))
1fce78c4
GLV
4788 (home-page "https://common-lisp.net/project/parse-declarations/")
4789 (synopsis "Parse, filter, and build declarations")
4790 (description
4791 "Parse-Declarations is a Common Lisp library to help writing
88f06fd0
PN
4792macros which establish bindings. To be semantically correct, such
4793macros must take user declarations into account, as these may affect
4794the bindings they establish. Yet the ANSI standard of Common Lisp does
4795not provide any operators to work with declarations in a convenient,
4796high-level way. This library provides such operators.")
1fce78c4
GLV
4797 ;; MIT License
4798 (license license:expat))))
88f06fd0
PN
4799
4800(define-public cl-parse-declarations
4801 (sbcl-package->cl-source-package sbcl-parse-declarations))
4802
4803(define-public ecl-parse-declarations
4804 (sbcl-package->ecl-package sbcl-parse-declarations))
4805
4806(define-public sbcl-cl-quickcheck
4807 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
4808 (revision "1"))
4809 (package
4810 (name "sbcl-cl-quickcheck")
4811 (version (git-version "0.0.4" revision commit))
4812 (source
4813 (origin
4814 (method git-fetch)
4815 (uri (git-reference
b0e7b699 4816 (url "https://github.com/mcandre/cl-quickcheck")
88f06fd0
PN
4817 (commit commit)))
4818 (file-name (git-file-name name version))
4819 (sha256
4820 (base32
4821 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
4822 (build-system asdf-build-system/sbcl)
4823 (synopsis
4824 "Common Lisp port of the QuickCheck unit test framework")
4825 (description
4826 "Common Lisp port of the QuickCheck unit test framework")
4827 (home-page "https://github.com/mcandre/cl-quickcheck")
4828 ;; MIT
4829 (license license:expat))))
4830
2ff8b5ba 4831(define-public cl-quickcheck
88f06fd0
PN
4832 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
4833
4834(define-public ecl-cl-quickcheck
4835 (sbcl-package->ecl-package sbcl-cl-quickcheck))
4836
4837(define-public sbcl-burgled-batteries3
839fa4cd
MB
4838 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
4839 (revision "2"))
88f06fd0
PN
4840 (package
4841 (name "sbcl-burgled-batteries3")
4842 (version (git-version "0.0.0" revision commit))
4843 (source
4844 (origin
4845 (method git-fetch)
4846 (uri (git-reference
b0e7b699 4847 (url "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
4848 (commit commit)))
4849 (file-name (git-file-name name version))
4850 (sha256
4851 (base32
839fa4cd 4852 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
88f06fd0
PN
4853 (build-system asdf-build-system/sbcl)
4854 (arguments
839fa4cd
MB
4855 `(#:tests? #f
4856 #:modules (((guix build python-build-system) #:select (python-version))
4857 ,@%asdf-build-system-modules)
4858 #:imported-modules ((guix build python-build-system)
4859 ,@%asdf-build-system-modules)
88f06fd0 4860 #:phases
839fa4cd 4861 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
88f06fd0
PN
4862 (add-after 'unpack 'set-*cpython-include-dir*-var
4863 (lambda* (#:key inputs #:allow-other-keys)
839fa4cd
MB
4864 (let ((python (assoc-ref inputs "python")))
4865 (setenv "BB_PYTHON3_INCLUDE_DIR"
4866 (string-append python "/include/python"
8c83069b 4867 (python-version python)))
839fa4cd
MB
4868 (setenv "BB_PYTHON3_DYLIB"
4869 (string-append python "/lib/libpython3.so"))
8c83069b
MB
4870 #t)))
4871 (add-after 'unpack 'adjust-for-python-3.8
4872 (lambda _
4873 ;; This method is no longer part of the public API.
4874 (substitute* "ffi-interface.lisp"
4875 ((".*PyEval_ReInitThreads.*")
4876 ""))
4877 #t)))))
88f06fd0 4878 (native-inputs
3d280dae 4879 `(("sbcl-cl-fad" ,sbcl-cl-fad)
88f06fd0
PN
4880 ("sbcl-lift" ,sbcl-lift)
4881 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
4882 (inputs
3d280dae
MB
4883 `(("python" ,python)
4884 ("sbcl-cffi" ,sbcl-cffi)
88f06fd0
PN
4885 ("sbcl-alexandria" , sbcl-alexandria)
4886 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
4887 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4888 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
4889 (description
4890 "This package provides a shim between Python3 (specifically, the
4891CPython implementation of Python) and Common Lisp.")
4892 (home-page "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
4893 (license license:expat))))
4894
4895(define-public cl-burgled-batteries3
4896 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
4897
4898(define-public ecl-burgled-batteries3
4899 (sbcl-package->ecl-package sbcl-burgled-batteries3))
4900
4901(define-public sbcl-metabang-bind
4902 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
4903 (revision "1"))
4904 (package
4905 (name "sbcl-metabang-bind")
4906 (version (git-version "0.8.0" revision commit))
4907 (source
4908 (origin
4909 (method git-fetch)
4910 (uri (git-reference
b0e7b699 4911 (url "https://github.com/gwkkwg/metabang-bind")
88f06fd0
PN
4912 (commit commit)))
4913 (file-name (git-file-name name version))
4914 (sha256
4915 (base32
4916 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
4917 (build-system asdf-build-system/sbcl)
4918 (native-inputs
4919 `(("sbcl-lift" ,sbcl-lift)))
4920 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
4921 (description
4922 "Bind extends the idea of of let and destructing to provide a uniform
4923syntax for all your accessor needs. It combines @code{let},
4924@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
4925editing, property or association-lists, and @code{multiple-value-bind} and a
4926whole lot more into a single form.")
4927 (home-page "https://common-lisp.net/project/metabang-bind/")
4928 ;; MIT License
4929 (license license:expat))))
4930
4931(define-public cl-metabang-bind
4932 (sbcl-package->cl-source-package sbcl-metabang-bind))
4933
4934(define-public ecl-metabang-bind
4935 (sbcl-package->ecl-package sbcl-metabang-bind))
4936
4937(define-public sbcl-fare-utils
4938 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
4939 (revision "1"))
4940 (package
4941 (name "sbcl-fare-utils")
4942 (version (git-version "1.0.0.5" revision commit))
4943 (source
4944 (origin
4945 (method git-fetch)
4946 (uri
4947 (git-reference
4948 (url
4949 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
4950 (commit commit)))
4951 (file-name (git-file-name name version))
4952 (sha256
4953 (base32
4954 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
4955 (build-system asdf-build-system/sbcl)
4956 (arguments
4957 `(#:test-asd-file "test/fare-utils-test.asd"))
4958 (native-inputs
4959 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4960 (synopsis "Collection of utilities and data structures")
4961 (description
4962 "fare-utils is a small collection of utilities. It contains a lot of
4963basic everyday functions and macros.")
4964 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
4965 ;; MIT License
4966 (license license:expat))))
4967
4968(define-public cl-fare-utils
4969 (sbcl-package->cl-source-package sbcl-fare-utils))
4970
4971(define-public ecl-fare-utils
4972 (sbcl-package->ecl-package sbcl-fare-utils))
4973
4974(define-public sbcl-trivial-utf-8
4975 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
4976 (revision "1"))
4977 (package
4978 (name "sbcl-trivial-utf-8")
4979 (version (git-version "0.0.0" revision commit))
4980 (source
4981 (origin
4982 (method git-fetch)
4983 (uri
4984 (git-reference
4985 (url (string-append "https://gitlab.common-lisp.net/"
4986 "trivial-utf-8/trivial-utf-8.git"))
4987 (commit commit)))
4988 (file-name (git-file-name name version))
4989 (sha256
4990 (base32
4991 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
4992 (arguments
4993 ;; Guix incorrectly assumes the "8" is part of the version
4994 ;; number and lobs it off.
3f8bbf7c 4995 `(#:asd-systems '("trivial-utf-8")))
88f06fd0
PN
4996 (build-system asdf-build-system/sbcl)
4997 (synopsis "UTF-8 input/output library")
4998 (description
4999 "The Babel library solves a similar problem while understanding more
5000encodings. Trivial UTF-8 was written before Babel existed, but for new
5001projects you might be better off going with Babel. The one plus that Trivial
5002UTF-8 has is that it doesn't depend on any other libraries.")
5003 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5004 (license license:bsd-3))))
5005
5006(define-public cl-trivial-utf-8
5007 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5008
5009(define-public ecl-trivial-utf-8
5010 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5011
5012(define-public sbcl-idna
5013 (package
5014 (name "sbcl-idna")
5015 (build-system asdf-build-system/sbcl)
5016 (version "0.2.2")
5017 (home-page "https://github.com/antifuchs/idna")
5018 (source
5019 (origin
5020 (method git-fetch)
5021 (uri (git-reference
5022 (url home-page)
5023 (commit version)))
5024 (file-name (git-file-name name version))
5025 (sha256
5026 (base32
5027 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5028 (inputs
5029 `(("split-sequence" ,sbcl-split-sequence)))
5030 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5031 (description "This Common Lisp library provides string encoding and
5032decoding routines for IDNA, the International Domain Names in Applications.")
5033 (license license:expat)))
5034
5035(define-public cl-idna
5036 (sbcl-package->cl-source-package sbcl-idna))
5037
5038(define-public ecl-idna
5039 (sbcl-package->ecl-package sbcl-idna))
5040
5041(define-public sbcl-swap-bytes
5042 (package
5043 (name "sbcl-swap-bytes")
5044 (build-system asdf-build-system/sbcl)
dbf6de58 5045 (version "1.2")
88f06fd0
PN
5046 (home-page "https://github.com/sionescu/swap-bytes")
5047 (source
5048 (origin
5049 (method git-fetch)
5050 (uri (git-reference
5051 (url home-page)
5052 (commit (string-append "v" version))))
5053 (file-name (git-file-name name version))
5054 (sha256
5055 (base32
dbf6de58 5056 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5057 (inputs
5058 `(("trivial-features" ,sbcl-trivial-features)))
5059 (native-inputs
5060 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5061 (synopsis "Efficient endianness conversion for Common Lisp")
5062 (description "This Common Lisp library provides optimized byte-swapping
5063primitives. The library can change endianness of unsigned integers of length
50641/2/4/8. Very useful in implementing various network protocols and file
5065formats.")
5066 (license license:expat)))
5067
5068(define-public cl-swap-bytes
5069 (sbcl-package->cl-source-package sbcl-swap-bytes))
5070
5071(define-public ecl-swap-bytes
5072 (sbcl-package->ecl-package sbcl-swap-bytes))
5073
2ff8b5ba 5074(define-public sbcl-iolib
88f06fd0 5075 ;; Latest release is from June 2017.
53c4a0da
PN
5076 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5077 (revision "2"))
88f06fd0 5078 (package
2ff8b5ba 5079 (name "sbcl-iolib")
53c4a0da 5080 (version (git-version "0.8.3" revision commit))
88f06fd0
PN
5081 (home-page "https://github.com/sionescu/iolib")
5082 (source
5083 (origin
5084 (method git-fetch)
5085 (uri (git-reference
5086 (url home-page)
5087 (commit commit)))
5088 (file-name (git-file-name name version))
5089 (sha256
5090 (base32
53c4a0da 5091 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
2ff8b5ba 5092 (build-system asdf-build-system/sbcl)
88f06fd0 5093 (inputs
2ff8b5ba
GLV
5094 `(("alexandria" ,sbcl-alexandria)
5095 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5096 ("cffi" ,sbcl-cffi)
5097 ("idna" ,sbcl-idna)
5098 ("libfixposix" ,libfixposix)
5099 ("split-sequence" ,sbcl-split-sequence)
5100 ("swap-bytes" ,sbcl-swap-bytes)))
88f06fd0 5101 (arguments
2ff8b5ba
GLV
5102 '(#:asd-files '("iolib.asdf.asd"
5103 "iolib.conf.asd"
5104 "iolib.common-lisp.asd"
5105 "iolib.base.asd"
5106 "iolib.asd")
2ff8b5ba
GLV
5107 #:phases
5108 (modify-phases %standard-phases
5109 (add-after 'unpack 'fix-paths
5110 (lambda* (#:key inputs #:allow-other-keys)
5111 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5112 (("\\(:default \"libfixposix\"\\)")
5113 (string-append
5114 "(:default \""
5115 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5116 ;; Socket tests need Internet access, disable them.
5117 (substitute* "iolib.asd"
5118 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5119 "")))))))
5120 (synopsis "Common Lisp I/O library")
88f06fd0
PN
5121 (description "IOlib is to be a better and more modern I/O library than
5122the standard Common Lisp library. It contains a socket library, a DNS
5123resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5124and @code{kqueue(2)}), a pathname library and file-system utilities.")
5125 (license license:expat))))
5126
af5c4eff 5127(define-public cl-iolib
c6201ab9
PN
5128 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5129 (package
5130 (inherit parent)
5131 (propagated-inputs
5132 ;; Need header to compile.
5133 `(("libfixposix" ,libfixposix)
5134 ,@(package-propagated-inputs parent))))))
af5c4eff 5135
e7cbcf5a
GLV
5136(define-public ecl-iolib
5137 (sbcl-package->ecl-package sbcl-iolib))
5138
88f06fd0
PN
5139(define-public sbcl-ieee-floats
5140 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5141 (revision "1"))
5142 (package
5143 (name "sbcl-ieee-floats")
5144 (build-system asdf-build-system/sbcl)
5145 (version (git-version "20170924" revision commit))
5146 (home-page "https://github.com/marijnh/ieee-floats/")
5147 (source
5148 (origin
5149 (method git-fetch)
5150 (uri (git-reference
5151 (url home-page)
5152 (commit commit)))
5153 (file-name (git-file-name name version))
5154 (sha256
5155 (base32
5156 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5157 (native-inputs
5158 `(("fiveam" ,sbcl-fiveam)))
5159 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
c05181a3 5160 (description "This is a Common Lisp library that converts
88f06fd0
PN
5161floating point values to IEEE 754 binary representation.")
5162 (license license:bsd-3))))
5163
5164(define-public cl-ieee-floats
5165 (sbcl-package->cl-source-package sbcl-ieee-floats))
5166
e7cbcf5a
GLV
5167(define-public ecl-ieee-floats
5168 (sbcl-package->ecl-package sbcl-ieee-floats))
5169
88f06fd0
PN
5170(define sbcl-closure-common
5171 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5172 (revision "1"))
5173 (package
5174 (name "sbcl-closure-common")
5175 (build-system asdf-build-system/sbcl)
5176 (version (git-version "20101006" revision commit))
5177 (home-page "https://common-lisp.net/project/cxml/")
5178 (source
5179 (origin
5180 (method git-fetch)
5181 (uri (git-reference
5182 (url "https://github.com/sharplispers/closure-common")
5183 (commit commit)))
5184 (file-name (git-file-name name version))
5185 (sha256
5186 (base32
5187 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5188 (inputs
5189 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5190 ("babel" ,sbcl-babel)))
5191 (synopsis "Support Common Lisp library for CXML")
5192 (description "Closure-common is an internal helper library. The name
5193Closure is a reference to the web browser it was originally written for.")
5194 ;; TODO: License?
5195 (license #f))))
5196
2ff8b5ba 5197(define-public sbcl-cxml
88f06fd0
PN
5198 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5199 (revision "1"))
5200 (package
2ff8b5ba 5201 (name "sbcl-cxml")
88f06fd0 5202 (version (git-version "0.0.0" revision commit))
88f06fd0
PN
5203 (source
5204 (origin
5205 (method git-fetch)
5206 (uri (git-reference
5207 (url "https://github.com/sharplispers/cxml")
5208 (commit commit)))
5209 (file-name (git-file-name name version))
5210 (sha256
5211 (base32
5212 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
2ff8b5ba 5213 (build-system asdf-build-system/sbcl)
88f06fd0
PN
5214 (inputs
5215 `(("closure-common" ,sbcl-closure-common)
5216 ("puri" ,sbcl-puri)
2ff8b5ba 5217 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
2ff8b5ba
GLV
5218 (synopsis "Common Lisp XML parser")
5219 (description "CXML implements a namespace-aware, validating XML 1.0
5220parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5221offered, one SAX-like, the other similar to StAX.")
5222 (home-page "https://common-lisp.net/project/cxml/")
5223 (license license:llgpl))))
88f06fd0
PN
5224
5225(define-public cl-cxml
5226 (sbcl-package->cl-source-package sbcl-cxml))
5227
e7cbcf5a
GLV
5228(define-public ecl-cxml
5229 (sbcl-package->ecl-package sbcl-cxml))
5230
88f06fd0
PN
5231(define-public sbcl-cl-reexport
5232 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5233 (revision "1"))
5234 (package
5235 (name "sbcl-cl-reexport")
5236 (build-system asdf-build-system/sbcl)
5237 (version (git-version "0.1" revision commit))
5238 (home-page "https://github.com/takagi/cl-reexport")
5239 (source
5240 (origin
5241 (method git-fetch)
5242 (uri (git-reference
5243 (url home-page)
5244 (commit commit)))
5245 (file-name (git-file-name name version))
5246 (sha256
5247 (base32
5248 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5249 (inputs
5250 `(("alexandria" ,sbcl-alexandria)))
5251 (arguments
5252 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5253 `(#:tests? #f))
5254 (synopsis "HTTP cookie manager for Common Lisp")
5255 (description "cl-cookie is a Common Lisp library featuring parsing of
5256cookie headers, cookie creation, cookie jar creation and more.")
5257 (license license:llgpl))))
5258
5259(define-public cl-reexport
5260 (sbcl-package->cl-source-package sbcl-cl-reexport))
5261
e7cbcf5a
GLV
5262(define-public ecl-cl-reexport
5263 (sbcl-package->ecl-package sbcl-cl-reexport))
5264
88f06fd0
PN
5265(define-public sbcl-cl-cookie
5266 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5267 (revision "1"))
5268 (package
5269 (name "sbcl-cl-cookie")
5270 (build-system asdf-build-system/sbcl)
5271 (version (git-version "0.9.10" revision commit))
5272 (home-page "https://github.com/fukamachi/cl-cookie")
5273 (source
5274 (origin
5275 (method git-fetch)
5276 (uri (git-reference
5277 (url home-page)
5278 (commit commit)))
5279 (file-name (git-file-name name version))
5280 (sha256
5281 (base32
5282 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5283 (inputs
5284 `(("proc-parse" ,sbcl-proc-parse)
5285 ("alexandria" ,sbcl-alexandria)
5286 ("quri" ,sbcl-quri)
5287 ("cl-ppcre" ,sbcl-cl-ppcre)
5288 ("local-time" ,sbcl-local-time)))
5289 (native-inputs
2ff8b5ba 5290 `(("prove" ,sbcl-prove)))
88f06fd0
PN
5291 (arguments
5292 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5293 `(#:tests? #f))
5294 (synopsis "HTTP cookie manager for Common Lisp")
5295 (description "cl-cookie is a Common Lisp library featuring parsing of
5296cookie headers, cookie creation, cookie jar creation and more.")
5297 (license license:bsd-2))))
5298
5299(define-public cl-cookie
5300 (sbcl-package->cl-source-package sbcl-cl-cookie))
5301
e7cbcf5a
GLV
5302(define-public ecl-cl-cookie
5303 (sbcl-package->ecl-package sbcl-cl-cookie))
5304
88f06fd0 5305(define-public sbcl-dexador
e067ef95 5306 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
88f06fd0
PN
5307 (revision "1"))
5308 (package
5309 (name "sbcl-dexador")
5310 (build-system asdf-build-system/sbcl)
e067ef95 5311 (version "0.9.14" )
88f06fd0
PN
5312 (home-page "https://github.com/fukamachi/dexador")
5313 (source
5314 (origin
5315 (method git-fetch)
5316 (uri (git-reference
5317 (url home-page)
5318 (commit commit)))
5319 (file-name (git-file-name name version))
5320 (sha256
5321 (base32
e067ef95 5322 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
88f06fd0
PN
5323 (inputs
5324 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5325 ("babel" ,sbcl-babel)
5326 ("usocket" ,sbcl-usocket)
5327 ("fast-http" ,sbcl-fast-http)
5328 ("quri" ,sbcl-quri)
5329 ("fast-io" ,sbcl-fast-io)
5330 ("chunga" ,sbcl-chunga)
5331 ("cl-ppcre" ,sbcl-cl-ppcre)
5332 ("cl-cookie" ,sbcl-cl-cookie)
5333 ("trivial-mimes" ,sbcl-trivial-mimes)
5334 ("chipz" ,sbcl-chipz)
5335 ("cl-base64" ,sbcl-cl-base64)
5336 ("cl-reexport" ,sbcl-cl-reexport)
5337 ("cl+ssl" ,sbcl-cl+ssl)
5338 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5339 ("alexandria" ,sbcl-alexandria)))
5340 (native-inputs
5341 `(("prove" ,sbcl-prove)
2ff8b5ba 5342 ("lack" ,sbcl-lack)
88f06fd0
PN
5343 ("clack" ,sbcl-clack)
5344 ("babel" ,sbcl-babel)
5345 ("alexandria" ,sbcl-alexandria)
5346 ("cl-ppcre" ,sbcl-cl-ppcre)
e067ef95
PN
5347 ("local-time" ,sbcl-local-time)
5348 ("trivial-features" ,sbcl-trivial-features)))
88f06fd0
PN
5349 (arguments
5350 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5351 `(#:tests? #f
5352 #:phases
5353 (modify-phases %standard-phases
5354 (add-after 'unpack 'fix-permissions
5355 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5356 (synopsis "Yet another HTTP client for Common Lisp")
5357 (description "Dexador is yet another HTTP client for Common Lisp with
5358neat APIs and connection-pooling. It is meant to supersede Drakma.")
5359 (license license:expat))))
5360
5361(define-public cl-dexador
5362 (package
5363 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5364 (arguments
5365 `(#:phases
5366 ;; asdf-build-system/source has its own phases and does not inherit
5367 ;; from asdf-build-system/sbcl phases.
5368 (modify-phases %standard-phases/source
09db7f39
PN
5369 ;; Already done in SBCL package.
5370 (delete 'reset-gzip-timestamps))))))
88f06fd0
PN
5371
5372(define-public ecl-dexador
5373 (sbcl-package->ecl-package sbcl-dexador))
5374
5375(define-public sbcl-lisp-namespace
5376 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5377 (revision "1"))
5378 (package
5379 (name "sbcl-lisp-namespace")
5380 (build-system asdf-build-system/sbcl)
5381 (version (git-version "0.1" revision commit))
5382 (home-page "https://github.com/guicho271828/lisp-namespace")
5383 (source
5384 (origin
5385 (method git-fetch)
5386 (uri (git-reference
5387 (url home-page)
5388 (commit commit)))
5389 (file-name (git-file-name name version))
5390 (sha256
5391 (base32
5392 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5393 (inputs
5394 `(("alexandria" ,sbcl-alexandria)))
5395 (native-inputs
5396 `(("fiveam" ,sbcl-fiveam)))
5397 (arguments
5398 `(#:test-asd-file "lisp-namespace.test.asd"
5399 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5400 #:tests? #f))
5401 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5402 (description "Common Lisp already has major 2 namespaces, function
5403namespace and value namespace (or variable namespace), but there are actually
5404more — e.g., class namespace.
5405This library offers macros to deal with symbols from any namespace.")
5406 (license license:llgpl))))
5407
5408(define-public cl-lisp-namespace
5409 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5410
e7cbcf5a
GLV
5411(define-public ecl-lisp-namespace
5412 (sbcl-package->ecl-package sbcl-lisp-namespace))
5413
88f06fd0 5414(define-public sbcl-trivial-cltl2
36ceab7d
PN
5415 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5416 (revision "2"))
88f06fd0
PN
5417 (package
5418 (name "sbcl-trivial-cltl2")
5419 (build-system asdf-build-system/sbcl)
5420 (version (git-version "0.1.1" revision commit))
5421 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5422 (source
5423 (origin
5424 (method git-fetch)
5425 (uri (git-reference
5426 (url home-page)
5427 (commit commit)))
5428 (file-name (git-file-name name version))
5429 (sha256
5430 (base32
36ceab7d 5431 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
88f06fd0
PN
5432 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5433 (description "This library is a portable compatibility layer around
5434\"Common Lisp the Language, 2nd
5435Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5436and it exports symbols from implementation-specific packages.")
5437 (license license:llgpl))))
5438
5439(define-public cl-trivial-cltl2
5440 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5441
12df8b7b
GLV
5442(define-public ecl-trivial-cltl2
5443 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5444
88f06fd0
PN
5445(define-public sbcl-introspect-environment
5446 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5447 (revision "1"))
5448 (package
5449 (name "sbcl-introspect-environment")
5450 (build-system asdf-build-system/sbcl)
5451 (version (git-version "0.1" revision commit))
5452 (home-page "https://github.com/Bike/introspect-environment")
5453 (source
5454 (origin
5455 (method git-fetch)
5456 (uri (git-reference
5457 (url home-page)
5458 (commit commit)))
5459 (file-name (git-file-name name version))
5460 (sha256
5461 (base32
5462 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5463 (native-inputs
5464 `(("fiveam" ,sbcl-fiveam)))
5465 (synopsis "Common Lisp environment introspection portability layer")
5466 (description "This library is a small interface to portable but
5467nonstandard introspection of Common Lisp environments. It is intended to
5468allow a bit more compile-time introspection of environments in Common Lisp.
5469
5470Quite a bit of information is available at the time a macro or compiler-macro
5471runs; inlining info, type declarations, that sort of thing. This information
5472is all standard - any Common Lisp program can @code{(declare (integer x))} and
5473such.
5474
5475This info ought to be accessible through the standard @code{&environment}
5476parameters, but it is not. Several implementations keep the information for
5477their own purposes but do not make it available to user programs, because
5478there is no standard mechanism to do so.
5479
5480This library uses implementation-specific hooks to make information available
5481to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5482implementations have implementations of the functions that do as much as they
5483can and/or provide reasonable defaults.")
5484 (license license:wtfpl2))))
5485
5486(define-public cl-introspect-environment
5487 (sbcl-package->cl-source-package sbcl-introspect-environment))
5488
e7cbcf5a
GLV
5489(define-public ecl-introspect-environment
5490 (sbcl-package->ecl-package sbcl-introspect-environment))
5491
88f06fd0 5492(define-public sbcl-type-i
758f32af
PN
5493 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5494 (revision "2"))
88f06fd0
PN
5495 (package
5496 (name "sbcl-type-i")
5497 (build-system asdf-build-system/sbcl)
5498 (version (git-version "0.1" revision commit))
5499 (home-page "https://github.com/guicho271828/type-i")
5500 (source
5501 (origin
5502 (method git-fetch)
5503 (uri (git-reference
5504 (url home-page)
5505 (commit commit)))
5506 (file-name (git-file-name name version))
5507 (sha256
5508 (base32
758f32af 5509 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
88f06fd0
PN
5510 (inputs
5511 `(("alexandria" ,sbcl-alexandria)
5512 ("introspect-environment" ,sbcl-introspect-environment)
5513 ("trivia.trivial" ,sbcl-trivia.trivial)))
5514 (native-inputs
5515 `(("fiveam" ,sbcl-fiveam)))
5516 (arguments
5517 `(#:test-asd-file "type-i.test.asd"))
5518 (synopsis "Type inference utility on unary predicates for Common Lisp")
5519 (description "This library tries to provide a way to detect what kind of
5520type the given predicate is trying to check. This is different from inferring
5521the return type of a function.")
5522 (license license:llgpl))))
5523
5524(define-public cl-type-i
5525 (sbcl-package->cl-source-package sbcl-type-i))
5526
12df8b7b
GLV
5527(define-public ecl-type-i
5528 (package
5529 (inherit (sbcl-package->ecl-package sbcl-type-i))
5530 (arguments
5531 ;; The tests get stuck indefinitly
5532 '(#:tests? #f))))
5533
88f06fd0
PN
5534(define-public sbcl-optima
5535 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5536 (revision "1"))
5537 (package
5538 (name "sbcl-optima")
5539 (build-system asdf-build-system/sbcl)
5540 (version (git-version "1.0" revision commit))
5541 (home-page "https://github.com/m2ym/optima")
5542 (source
5543 (origin
5544 (method git-fetch)
5545 (uri (git-reference
5546 (url home-page)
5547 (commit commit)))
5548 (file-name (git-file-name name version))
5549 (sha256
5550 (base32
5551 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5552 (inputs
5553 `(("alexandria" ,sbcl-alexandria)
5554 ("closer-mop" ,sbcl-closer-mop)))
5555 (native-inputs
5556 `(("eos" ,sbcl-eos)))
5557 (arguments
5558 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5559 `(#:tests? #f
5560 #:test-asd-file "optima.test.asd"))
5561 (synopsis "Optimized pattern matching library for Common Lisp")
5562 (description "Optima is a fast pattern matching library which uses
5563optimizing techniques widely used in the functional programming world.")
5564 (license license:expat))))
5565
5566(define-public cl-optima
5567 (sbcl-package->cl-source-package sbcl-optima))
5568
e7cbcf5a
GLV
5569(define-public ecl-optima
5570 (sbcl-package->ecl-package sbcl-optima))
5571
88f06fd0 5572(define-public sbcl-fare-quasiquote
639b47e6
GLV
5573 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5574 (revision "1"))
5575 (package
5576 (name "sbcl-fare-quasiquote")
5577 (build-system asdf-build-system/sbcl)
5578 (version (git-version "1.0.1" revision commit))
5579 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5580 (source
5581 (origin
5582 (method git-fetch)
5583 (uri (git-reference
5584 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5585 "fare-quasiquote.git"))
5586 (commit commit)))
5587 (file-name (git-file-name name version))
5588 (sha256
5589 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5590 (inputs
2ff8b5ba
GLV
5591 `(("fare-utils" ,sbcl-fare-utils)
5592 ("named-readtables" ,sbcl-named-readtables)
5593 ("optima" ,sbcl-optima)))
639b47e6
GLV
5594 (arguments
5595 ;; XXX: Circular dependencies: Tests depend on subsystems,
5596 ;; which depend on the main systems.
5597 `(#:tests? #f
2ff8b5ba
GLV
5598 #:asd-systems '("fare-quasiquote"
5599 "fare-quasiquote-extras")
639b47e6
GLV
5600 #:phases
5601 (modify-phases %standard-phases
5602 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5603 ;; commits after 1.0.0.5, but ASDF fails to read the
5604 ;; "-REVISION-COMMIT" part generated by Guix.
5605 (add-after 'unpack 'patch-requirement
5606 (lambda _
5607 (substitute* "fare-quasiquote.asd"
5608 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
2ff8b5ba
GLV
5609 "\"fare-utils\""))
5610 (substitute* "fare-quasiquote-optima.asd"
5611 (("\\(:version \"optima\" \"1\\.0\"\\)")
5612 "\"optima\""))
5613 #t)))))
639b47e6
GLV
5614 (synopsis "Pattern-matching friendly implementation of quasiquote")
5615 (description "The main purpose of this n+2nd reimplementation of
88f06fd0
PN
5616quasiquote is enable matching of quasiquoted patterns, using Optima or
5617Trivia.")
639b47e6 5618 (license license:expat))))
88f06fd0
PN
5619
5620(define-public cl-fare-quasiquote
5621 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5622
e7cbcf5a
GLV
5623(define-public ecl-fare-quasiquote
5624 (sbcl-package->ecl-package sbcl-fare-quasiquote))
5625
2ff8b5ba
GLV
5626;;; Split the trivia package in two to work around the circular dependency
5627;;; between guicho271828/trivia and guicho271828/type-i.
5628(define-public sbcl-trivia.trivial
ba69e6e6
PN
5629 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
5630 (revision "2"))
88f06fd0 5631 (package
2ff8b5ba 5632 (name "sbcl-trivia.trivial")
88f06fd0 5633 (version (git-version "0.0.0" revision commit))
88f06fd0
PN
5634 (source
5635 (origin
5636 (method git-fetch)
5637 (uri (git-reference
2ff8b5ba 5638 (url "https://github.com/guicho271828/trivia")
88f06fd0 5639 (commit commit)))
2ff8b5ba 5640 (file-name (git-file-name "trivia" version))
88f06fd0
PN
5641 (sha256
5642 (base32
ba69e6e6 5643 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
2ff8b5ba 5644 (build-system asdf-build-system/sbcl)
88f06fd0 5645 (inputs
2ff8b5ba
GLV
5646 `(("alexandria" ,sbcl-alexandria)
5647 ("closer-mop" ,sbcl-closer-mop)
5648 ("lisp-namespace" ,sbcl-lisp-namespace)
5649 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
5650 (arguments
e765d9c9 5651 '(#:phases
2ff8b5ba
GLV
5652 (modify-phases %standard-phases
5653 (add-after 'unpack 'fix-build
5654 (lambda _
5655 (for-each delete-file
5656 '("trivia.balland2006.asd"
5657 "trivia.ppcre.asd"
5658 "trivia.quasiquote.asd"
5659 "trivia.cffi.asd"
5660 "trivia.asd"
5661 "trivia.test.asd"))
5662 #t)))))
88f06fd0
PN
5663 (synopsis "Pattern matching in Common Lisp")
5664 (description "Trivia is a pattern matching compiler that is compatible
5665with Optima, another pattern matching library for Common Lisp. It is meant to
5666be faster and more extensible than Optima.")
2ff8b5ba 5667 (home-page "https://github.com/guicho271828/trivia")
88f06fd0
PN
5668 (license license:llgpl))))
5669
d9bdde74
GLV
5670(define-public cl-trivia.trivial
5671 (sbcl-package->cl-source-package sbcl-trivia.trivial))
5672
12df8b7b
GLV
5673(define-public ecl-trivia.trivial
5674 (sbcl-package->ecl-package sbcl-trivia.trivial))
5675
88f06fd0
PN
5676(define-public sbcl-trivia
5677 (package
2ff8b5ba 5678 (inherit sbcl-trivia.trivial)
88f06fd0 5679 (name "sbcl-trivia")
88f06fd0
PN
5680 (native-inputs
5681 `(("fiveam" ,sbcl-fiveam)
88f06fd0 5682 ("optima" ,sbcl-optima)))
2ff8b5ba
GLV
5683 (inputs
5684 `(("alexandria" ,sbcl-alexandria)
5685 ("cffi" ,sbcl-cffi)
5686 ("cl-ppcre" ,sbcl-cl-ppcre)
5687 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5688 ("iterate" ,sbcl-iterate)
5689 ("trivia.trivial" ,sbcl-trivia.trivial)
5690 ("type-i" ,sbcl-type-i)))
5691 (arguments
3f8bbf7c 5692 '(#:asd-systems '("trivia"
2ff8b5ba
GLV
5693 "trivia.ppcre"
5694 "trivia.quasiquote"
5695 "trivia.cffi")
5696 #:test-asd-file "trivia.test.asd"
5697 #:phases
5698 (modify-phases %standard-phases
5699 (add-after 'unpack 'fix-build
5700 (lambda _
5701 (for-each delete-file
5702 '("trivia.level0.asd"
5703 "trivia.level1.asd"
5704 "trivia.level2.asd"
5705 "trivia.trivial.asd"))
5706 #t)))))))
88f06fd0
PN
5707
5708(define-public cl-trivia
5709 (sbcl-package->cl-source-package sbcl-trivia))
5710
12df8b7b
GLV
5711(define-public ecl-trivia
5712 (sbcl-package->ecl-package sbcl-trivia))
5713
88f06fd0
PN
5714(define-public sbcl-mk-string-metrics
5715 (package
5716 (name "sbcl-mk-string-metrics")
5717 (version "0.1.2")
5718 (home-page "https://github.com/cbaggers/mk-string-metrics/")
5719 (source (origin
5720 (method git-fetch)
5721 (uri (git-reference
5722 (url home-page)
5723 (commit version)))
5724 (sha256
5725 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
5726 (file-name (git-file-name name version))))
5727 (build-system asdf-build-system/sbcl)
5728 (synopsis "Calculate various string metrics efficiently in Common Lisp")
5729 (description "This library implements efficient algorithms that calculate
5730various string metrics in Common Lisp:
5731
5732@itemize
5733@item Damerau-Levenshtein distance
5734@item Hamming distance
5735@item Jaccard similarity coefficient
5736@item Jaro distance
5737@item Jaro-Winkler distance
5738@item Levenshtein distance
5739@item Normalized Damerau-Levenshtein distance
5740@item Normalized Levenshtein distance
5741@item Overlap coefficient
5742@end itemize\n")
5743 (license license:x11)))
5744
5745(define-public cl-mk-string-metrics
5746 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
5747
e7cbcf5a
GLV
5748(define-public ecl-mk-string-metrics
5749 (sbcl-package->ecl-package sbcl-mk-string-metrics))
5750
88f06fd0 5751(define-public sbcl-cl-str
cc978955
PN
5752 (package
5753 (name "sbcl-cl-str")
5754 (version "0.19")
5755 (home-page "https://github.com/vindarel/cl-str")
5756 (source (origin
5757 (method git-fetch)
5758 (uri (git-reference
5759 (url home-page)
5760 (commit version)))
5761 (sha256
5762 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
5763 (file-name (git-file-name name version))))
5764 (build-system asdf-build-system/sbcl)
5765 (inputs
5766 `(("cl-ppcre" ,sbcl-cl-ppcre)
5767 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
5768 ("cl-change-case" ,sbcl-cl-change-case)))
5769 (native-inputs
32787d65 5770 `(("prove" ,sbcl-prove)))
cc978955 5771 (arguments
32787d65 5772 `(#:asd-systems '("str")
cc978955
PN
5773 #:test-asd-file "str.test.asd"))
5774 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
5775 (description "A modern and consistent Common Lisp string manipulation
88f06fd0
PN
5776library that focuses on modernity, simplicity and discoverability:
5777@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
5778@code{str:concat strings} instead of an unusual format construct; one
5779discoverable library instead of many; consistency and composability, where
5780@code{s} is always the last argument, which makes it easier to feed pipes and
5781arrows.")
cc978955 5782 (license license:expat)))
88f06fd0
PN
5783
5784(define-public cl-str
5785 (sbcl-package->cl-source-package sbcl-cl-str))
5786
12df8b7b
GLV
5787(define-public ecl-cl-str
5788 (sbcl-package->ecl-package sbcl-cl-str))
5789
88f06fd0
PN
5790(define-public sbcl-cl-xmlspam
5791 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
5792 (package
5793 (name "sbcl-cl-xmlspam")
5794 (build-system asdf-build-system/sbcl)
5795 (version (git-version "0.0.0" "1" commit))
5796 (home-page "https://github.com/rogpeppe/cl-xmlspam")
5797 (source
5798 (origin
5799 (method git-fetch)
5800 (uri (git-reference
5801 (url home-page)
5802 (commit commit)))
5803 (file-name (string-append name "-" version))
5804 (sha256
5805 (base32
5806 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
5807 (inputs
5808 `(("cxml" ,sbcl-cxml)
5809 ("cl-ppcre" ,sbcl-cl-ppcre)))
5810 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
5811 (description "CXML does an excellent job at parsing XML elements, but what
5812do you do when you have a XML file that's larger than you want to fit in
5813memory, and you want to extract some information from it? Writing code to deal
5814with SAX events, or even using Klacks, quickly becomes tedious.
5815@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
5816to write code that mirrors the structure of the XML that it's parsing. It
5817also makes it easy to shift paradigms when necessary - the usual Lisp control
5818constructs can be used interchangeably with pattern matching, and the full
5819power of CXML is available when necessary.")
5820 (license license:bsd-3))))
5821
d9bdde74
GLV
5822(define-public cl-xmlspam
5823 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
5824
12df8b7b
GLV
5825(define-public ecl-cl-xmlspam
5826 (sbcl-package->ecl-package sbcl-cl-xmlspam))
5827
2ff8b5ba 5828(define-public sbcl-dbus
88f06fd0
PN
5829 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
5830 (revision "1"))
5831 (package
2ff8b5ba 5832 (name "sbcl-dbus")
88f06fd0
PN
5833 (version (git-version "20190408" revision commit))
5834 (home-page "https://github.com/death/dbus")
5835 (source
5836 (origin
5837 (method git-fetch)
5838 (uri (git-reference
5839 (url home-page)
5840 (commit commit)))
5841 (file-name (git-file-name name version))
5842 (sha256
5843 (base32
5844 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
2ff8b5ba
GLV
5845 (build-system asdf-build-system/sbcl)
5846 (inputs
88f06fd0
PN
5847 `(("alexandria" ,sbcl-alexandria)
5848 ("trivial-garbage" ,sbcl-trivial-garbage)
5849 ("babel" ,sbcl-babel)
5850 ("iolib" ,sbcl-iolib)
88f06fd0
PN
5851 ("ieee-floats" ,sbcl-ieee-floats)
5852 ("flexi-streams" ,sbcl-flexi-streams)
5853 ("cl-xmlspam" ,sbcl-cl-xmlspam)
5854 ("ironclad" ,sbcl-ironclad)))
5855 (synopsis "D-Bus client library for Common Lisp")
104b1bde 5856 (description "This is a Common Lisp library that publishes D-Bus
88f06fd0
PN
5857objects as well as send and notify other objects connected to a bus.")
5858 (license license:bsd-2))))
5859
2ff8b5ba
GLV
5860(define-public cl-dbus
5861 (sbcl-package->cl-source-package sbcl-dbus))
5862
e7cbcf5a
GLV
5863(define-public ecl-dbus
5864 (sbcl-package->ecl-package sbcl-dbus))
5865
88f06fd0
PN
5866(define-public sbcl-cl-hooks
5867 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
5868 (revision "1"))
5869 (package
5870 (name "sbcl-cl-hooks")
5871 (build-system asdf-build-system/sbcl)
5872 (version (git-version "0.2.1" revision commit))
5873 (home-page "https://github.com/scymtym/architecture.hooks")
5874 (source
5875 (origin
5876 (method git-fetch)
5877 (uri (git-reference
5878 (url home-page)
5879 (commit commit)))
5880 (file-name (git-file-name name version))
5881 (sha256
5882 (base32
5883 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
5884 (inputs
5885 `(("alexandria" ,sbcl-alexandria)
5886 ("let-plus" ,sbcl-let-plus)
5887 ("trivial-garbage" ,sbcl-trivial-garbage)
5888 ("closer-mop" ,sbcl-closer-mop)))
5889 (native-inputs
5890 `(("fiveam" ,sbcl-fiveam)))
5891 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
5892 (description "A hook, in the present context, is a certain kind of
5893extension point in a program that allows interleaving the execution of
5894arbitrary code with the execution of a the program without introducing any
5895coupling between the two. Hooks are used extensively in the extensible editor
5896Emacs.
5897
5898In the Common LISP Object System (CLOS), a similar kind of extensibility is
5899possible using the flexible multi-method dispatch mechanism. It may even seem
5900that the concept of hooks does not provide any benefits over the possibilities
5901of CLOS. However, there are some differences:
5902
5903@itemize
5904
5905@item There can be only one method for each combination of specializers and
5906qualifiers. As a result this kind of extension point cannot be used by
5907multiple extensions independently.
5908@item Removing code previously attached via a @code{:before}, @code{:after} or
5909@code{:around} method can be cumbersome.
5910@item There could be other or even multiple extension points besides @code{:before}
5911and @code{:after} in a single method.
5912@item Attaching codes to individual objects using eql specializers can be
5913cumbersome.
5914@item Introspection of code attached a particular extension point is
5915cumbersome since this requires enumerating and inspecting the methods of a
5916generic function.
5917@end itemize
5918
5919This library tries to complement some of these weaknesses of method-based
5920extension-points via the concept of hooks.")
5921 (license license:llgpl))))
5922
5923(define-public cl-hooks
5924 (sbcl-package->cl-source-package sbcl-cl-hooks))
5925
5926(define-public ecl-cl-hooks
5927 (sbcl-package->ecl-package sbcl-cl-hooks))
5928
703cdbbd
AK
5929(define-public sbcl-cl-autowrap
5930 (let ((revision "1")
5931 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
5932 ;; no taged branches
5933 (package
5934 (name "sbcl-cl-autowrap")
5935 (version (git-version "1.0" revision commit))
5936 (source
5937 (origin
5938 (method git-fetch)
5939 (uri (git-reference
5940 (url "https://github.com/rpav/cl-autowrap")
5941 (commit commit)))
5942 (file-name (git-file-name name version))
5943 (sha256
5944 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
5945 (build-system asdf-build-system/sbcl)
5946 (inputs
5947 `(("alexandria" ,sbcl-alexandria)
5948 ("cffi" ,sbcl-cffi)
5949 ("cl-json" ,sbcl-cl-json)
5950 ("cl-ppcre" ,sbcl-cl-ppcre)
5951 ("defpackage-plus" ,sbcl-defpackage-plus)
5952 ("trivial-features" ,sbcl-trivial-features)))
5953 (home-page "https://github.com/rpav/cl-autowrap")
5954 (synopsis "FFI wrapper generator for Common Lisp")
5955 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
5956 (license license:bsd-2))))
5957
5958(define-public cl-autowrap
5959 (sbcl-package->cl-source-package sbcl-cl-autowrap))
5960
5961(define-public ecl-cl-autowrap
5962 (sbcl-package->ecl-package sbcl-cl-autowrap))
5963
88f06fd0 5964(define-public sbcl-s-sysdeps
bdfd1d18
PN
5965 ;; No release since 2013.
5966 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
5967 (revision "2"))
88f06fd0
PN
5968 (package
5969 (name "sbcl-s-sysdeps")
5970 (build-system asdf-build-system/sbcl)
5971 (version (git-version "1" revision commit))
5972 (home-page "https://github.com/svenvc/s-sysdeps")
5973 (source
5974 (origin
5975 (method git-fetch)
5976 (uri (git-reference
5977 (url home-page)
5978 (commit commit)))
5979 (file-name (git-file-name name version))
5980 (sha256
5981 (base32
bdfd1d18
PN
5982 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
5983 (inputs
5984 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2ff8b5ba 5985 ("usocket" ,sbcl-usocket)))
88f06fd0
PN
5986 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
5987 (description "@code{s-sysdeps} is an abstraction layer over platform
5988dependent functionality. This simple package is used as a building block in a
5989number of other open source projects.
5990
5991@code{s-sysdeps} abstracts:
5992
5993@itemize
5994@item managing processes,
5995@item implementing a standard TCP/IP server,
5996@item opening a client TCP/IP socket stream,
5997@item working with process locks.
5998@end itemize\n")
5999 (license license:llgpl))))
6000
6001(define-public cl-s-sysdeps
6002 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6003
6004(define-public ecl-s-sysdeps
6005 (sbcl-package->ecl-package sbcl-s-sysdeps))
6006
6007(define-public sbcl-cl-prevalence
58de426e
PN
6008 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6009 (revision "4"))
88f06fd0
PN
6010 (package
6011 (name "sbcl-cl-prevalence")
6012 (build-system asdf-build-system/sbcl)
6013 (version (git-version "5" revision commit))
6014 (home-page "https://github.com/40ants/cl-prevalence")
6015 (source
6016 (origin
6017 (method git-fetch)
6018 (uri (git-reference
6019 (url home-page)
6020 (commit commit)))
6021 (file-name (git-file-name name version))
6022 (sha256
6023 (base32
58de426e 6024 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
88f06fd0
PN
6025 (inputs
6026 `(("s-sysdeps" ,sbcl-s-sysdeps)
6027 ("s-xml" ,sbcl-s-xml)))
419db900
PN
6028 (native-inputs
6029 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
6030 (synopsis "Implementation of object prevalence for Common Lisp")
6031 (description "This Common Lisp library implements object prevalence (see
6032@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6033for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6034classes and cyclic data structures are supported.")
6035 (license license:llgpl))))
6036
6037(define-public cl-prevalence
6038 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6039
6040(define-public ecl-cl-prevalence
6041 (sbcl-package->ecl-package sbcl-cl-prevalence))
6042
6043(define-public sbcl-series
6044 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6045 (revision "1"))
6046 (package
6047 (name "sbcl-series")
6048 (version (git-version "2.2.11" revision commit))
6049 (source
6050 (origin
6051 (method git-fetch)
6052 (uri (git-reference
6053 (url "git://git.code.sf.net/p/series/series")
6054 (commit commit)))
6055 (file-name (git-file-name name version))
6056 (sha256
6057 (base32
6058 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6059 (build-system asdf-build-system/sbcl)
6060 (arguments
6061 ;; Disable the tests, they are apparently buggy and I didn't find
6062 ;; a simple way to make them run and pass.
6063 '(#:tests? #f))
6064 (synopsis "Series data structure for Common Lisp")
6065 (description
6066 "This Common Lisp library provides a series data structure much like
6067a sequence, with similar kinds of operations. The difference is that in many
6068situations, operations on series may be composed functionally and yet execute
6069iteratively, without the need to construct intermediate series values
6070explicitly. In this manner, series provide both the clarity of a functional
6071programming style and the efficiency of an iterative programming style.")
6072 (home-page "http://series.sourceforge.net/")
6073 (license license:expat))))
6074
6075(define-public cl-series
6076 (sbcl-package->cl-source-package sbcl-series))
6077
6078(define-public ecl-series
6079 (sbcl-package->ecl-package sbcl-series))
6080
6081(define-public sbcl-periods
6082 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6083 (revision "1"))
6084 (package
6085 (name "sbcl-periods")
6086 (version (git-version "0.0.2" revision commit))
6087 (source
6088 (origin
6089 (method git-fetch)
6090 (uri (git-reference
b0e7b699 6091 (url "https://github.com/jwiegley/periods")
88f06fd0
PN
6092 (commit commit)))
6093 (file-name (git-file-name name version))
6094 (sha256
6095 (base32
6096 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6097 (build-system asdf-build-system/sbcl)
6098 (inputs
2ff8b5ba
GLV
6099 `(("local-time" ,sbcl-local-time)
6100 ("series" ,sbcl-series)))
6101 (arguments
3f8bbf7c 6102 '(#:asd-systems '("periods"
2ff8b5ba 6103 "periods-series")))
88f06fd0
PN
6104 (synopsis "Common Lisp library for manipulating date/time objects")
6105 (description
6106 "Periods is a Common Lisp library providing a set of utilities for
6107manipulating times, distances between times, and both contiguous and
6108discontiguous ranges of time.")
6109 (home-page "https://github.com/jwiegley/periods")
6110 (license license:bsd-3))))
6111
6112(define-public cl-periods
6113 (sbcl-package->cl-source-package sbcl-periods))
6114
6115(define-public ecl-periods
6116 (sbcl-package->ecl-package sbcl-periods))
6117
88f06fd0
PN
6118(define-public sbcl-metatilities-base
6119 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6120 (revision "1"))
6121 (package
6122 (name "sbcl-metatilities-base")
6123 (version (git-version "0.6.6" revision commit))
6124 (source
6125 (origin
6126 (method git-fetch)
6127 (uri (git-reference
b0e7b699 6128 (url "https://github.com/gwkkwg/metatilities-base")
88f06fd0
PN
6129 (commit commit)))
6130 (file-name (git-file-name name version))
6131 (sha256
6132 (base32
6133 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6134 (build-system asdf-build-system/sbcl)
6135 (native-inputs
6136 `(("lift" ,sbcl-lift)))
6137 (synopsis "Core of the metatilities Common Lisp library")
6138 (description
6139 "Metatilities-base is the core of the metatilities Common Lisp library
6140which implements a set of utilities.")
6141 (home-page "https://common-lisp.net/project/metatilities-base/")
6142 (license license:expat))))
6143
6144(define-public cl-metatilities-base
6145 (sbcl-package->cl-source-package sbcl-metatilities-base))
6146
6147(define-public ecl-metatilities-base
6148 (sbcl-package->ecl-package sbcl-metatilities-base))
6149
6150(define-public sbcl-cl-containers
0ad6ecb8
PN
6151 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6152 (revision "3"))
88f06fd0
PN
6153 (package
6154 (name "sbcl-cl-containers")
6155 (version (git-version "0.12.1" revision commit))
6156 (source
6157 (origin
6158 (method git-fetch)
6159 (uri (git-reference
b0e7b699 6160 (url "https://github.com/gwkkwg/cl-containers")
88f06fd0
PN
6161 (commit commit)))
6162 (file-name (git-file-name name version))
6163 (sha256
6164 (base32
0ad6ecb8 6165 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
88f06fd0
PN
6166 (build-system asdf-build-system/sbcl)
6167 (native-inputs
6168 `(("lift" ,sbcl-lift)))
6169 (inputs
6170 `(("metatilities-base" ,sbcl-metatilities-base)))
6171 (arguments
3f8bbf7c
GLV
6172 '(#:asd-files '("cl-containers.asd")
6173 #:phases
88f06fd0
PN
6174 (modify-phases %standard-phases
6175 (add-after 'unpack 'relax-version-checks
6176 (lambda _
6177 (substitute* "cl-containers.asd"
6178 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6179 "\"metatilities-base\""))
6180 (substitute* "cl-containers-test.asd"
6181 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6182 "\"lift\""))
6183 #t)))))
6184 (synopsis "Container library for Common Lisp")
6185 (description
6186 "Common Lisp ships with a set of powerful built in data structures
6187including the venerable list, full featured arrays, and hash-tables.
6188CL-containers enhances and builds on these structures by adding containers
6189that are not available in native Lisp (for example: binary search trees,
6190red-black trees, sparse arrays and so on), and by providing a standard
6191interface so that they are simpler to use and so that changing design
6192decisions becomes significantly easier.")
6193 (home-page "https://common-lisp.net/project/cl-containers/")
6194 (license license:expat))))
6195
6196(define-public cl-containers
6197 (sbcl-package->cl-source-package sbcl-cl-containers))
6198
6199(define-public ecl-cl-containers
6200 (sbcl-package->ecl-package sbcl-cl-containers))
6201
6202(define-public sbcl-xlunit
6203 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6204 (revision "1"))
6205 (package
6206 (name "sbcl-xlunit")
6207 (version (git-version "0.6.3" revision commit))
6208 (source
6209 (origin
6210 (method git-fetch)
6211 (uri (git-reference
6212 (url "http://git.kpe.io/xlunit.git")
6213 (commit commit)))
6214 (file-name (git-file-name name version))
6215 (sha256
6216 (base32
6217 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6218 (build-system asdf-build-system/sbcl)
6219 (arguments
6220 '(#:phases
6221 (modify-phases %standard-phases
6222 (add-after 'unpack 'fix-tests
6223 (lambda _
6224 (substitute* "xlunit.asd"
6225 ((" :force t") ""))
6226 #t)))))
6227 (synopsis "Unit testing package for Common Lisp")
6228 (description
6229 "The XLUnit package is a toolkit for building test suites. It is based
6230on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6231 (home-page "http://quickdocs.org/xlunit/")
6232 (license license:bsd-3))))
6233
6234(define-public cl-xlunit
6235 (sbcl-package->cl-source-package sbcl-xlunit))
6236
6237(define-public ecl-xlunit
6238 (sbcl-package->ecl-package sbcl-xlunit))
6239
2ff8b5ba 6240(define-public sbcl-cambl
88f06fd0
PN
6241 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6242 (revision "1"))
6243 (package
2ff8b5ba
GLV
6244 (name "sbcl-cambl")
6245 (version (git-version "4.0.0" revision commit))
88f06fd0
PN
6246 (source
6247 (origin
6248 (method git-fetch)
6249 (uri (git-reference
b0e7b699 6250 (url "https://github.com/jwiegley/cambl")
88f06fd0 6251 (commit commit)))
2ff8b5ba 6252 (file-name (git-file-name "cambl" version))
88f06fd0 6253 (sha256
2ff8b5ba 6254 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
88f06fd0 6255 (build-system asdf-build-system/sbcl)
88f06fd0
PN
6256 (native-inputs
6257 `(("xlunit" ,sbcl-xlunit)))
6258 (inputs
6259 `(("alexandria" ,sbcl-alexandria)
6260 ("cl-containers" ,sbcl-cl-containers)
6261 ("local-time" ,sbcl-local-time)
2ff8b5ba
GLV
6262 ("periods" ,sbcl-periods)))
6263 (arguments
6264 '(#:asd-files '("fprog.asd"
e765d9c9 6265 "cambl.asd")))
88f06fd0
PN
6266 (synopsis "Commoditized amounts and balances for Common Lisp")
6267 (description
6268 "CAMBL is a Common Lisp library providing a convenient facility for
6269working with commoditized values. It does not allow compound units (and so is
6270not suited for scientific operations) but does work rather nicely for the
2ff8b5ba
GLV
6271purpose of financial calculations.")
6272 (home-page "https://github.com/jwiegley/cambl")
6273 (license license:bsd-3))))
88f06fd0
PN
6274
6275(define-public cl-cambl
6276 (sbcl-package->cl-source-package sbcl-cambl))
6277
6278(define-public ecl-cambl
6279 (sbcl-package->ecl-package sbcl-cambl))
6280
6281(define-public sbcl-cl-ledger
6282 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6283 (revision "1"))
6284 (package
6285 (name "sbcl-cl-ledger")
6286 (version (git-version "4.0.0" revision commit))
6287 (source
6288 (origin
6289 (method git-fetch)
6290 (uri (git-reference
b0e7b699 6291 (url "https://github.com/ledger/cl-ledger")
88f06fd0
PN
6292 (commit commit)))
6293 (file-name (git-file-name name version))
6294 (sha256
6295 (base32
6296 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6297 (build-system asdf-build-system/sbcl)
6298 (inputs
6299 `(("cambl" ,sbcl-cambl)
6300 ("cl-ppcre" ,sbcl-cl-ppcre)
6301 ("local-time" ,sbcl-local-time)
2ff8b5ba 6302 ("periods" ,sbcl-periods)))
88f06fd0
PN
6303 (arguments
6304 '(#:phases
6305 (modify-phases %standard-phases
6306 (add-after 'unpack 'fix-system-definition
6307 (lambda _
6308 (substitute* "cl-ledger.asd"
6309 ((" :build-operation program-op") "")
6310 ((" :build-pathname \"cl-ledger\"") "")
6311 ((" :entry-point \"ledger::main\"") ""))
6312 #t)))))
6313 (synopsis "Common Lisp port of the Ledger accounting system")
6314 (description
6315 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6316system.")
6317 (home-page "https://github.com/ledger/cl-ledger")
6318 (license license:bsd-3))))
6319
6320(define-public cl-ledger
6321 (sbcl-package->cl-source-package sbcl-cl-ledger))
6322
6323(define-public ecl-cl-ledger
6324 (sbcl-package->ecl-package sbcl-cl-ledger))
6325
6326(define-public sbcl-bst
0ce02f67
GLV
6327 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6328 (revision "0"))
88f06fd0
PN
6329 (package
6330 (name "sbcl-bst")
0ce02f67 6331 (version (git-version "2.0" revision commit))
88f06fd0
PN
6332 (source
6333 (origin
6334 (method git-fetch)
6335 (uri (git-reference
b0e7b699 6336 (url "https://github.com/glv2/bst")
88f06fd0
PN
6337 (commit commit)))
6338 (file-name (git-file-name name version))
6339 (sha256
0ce02f67 6340 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
88f06fd0
PN
6341 (build-system asdf-build-system/sbcl)
6342 (native-inputs
6343 `(("alexandria" ,sbcl-alexandria)
6344 ("fiveam" ,sbcl-fiveam)))
6345 (synopsis "Binary search tree for Common Lisp")
6346 (description
6347 "BST is a Common Lisp library for working with binary search trees that
6348can contain any kind of values.")
6349 (home-page "https://github.com/glv2/bst")
6350 (license license:gpl3))))
6351
6352(define-public cl-bst
6353 (sbcl-package->cl-source-package sbcl-bst))
6354
6355(define-public ecl-bst
6356 (sbcl-package->ecl-package sbcl-bst))
6357
6358(define-public sbcl-cl-octet-streams
6359 (package
6360 (name "sbcl-cl-octet-streams")
dd4dff0c 6361 (version "1.2")
88f06fd0
PN
6362 (source
6363 (origin
6364 (method git-fetch)
6365 (uri (git-reference
b0e7b699 6366 (url "https://github.com/glv2/cl-octet-streams")
88f06fd0
PN
6367 (commit (string-append "v" version))))
6368 (file-name (git-file-name name version))
6369 (sha256
dd4dff0c 6370 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
88f06fd0
PN
6371 (build-system asdf-build-system/sbcl)
6372 (native-inputs
6373 `(("fiveam" ,sbcl-fiveam)))
6374 (inputs
6375 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6376 (synopsis "In-memory octet streams for Common Lisp")
6377 (description
6378 "CL-octet-streams is a library implementing in-memory octet
6379streams for Common Lisp. It was inspired by the trivial-octet-streams and
6380cl-plumbing libraries.")
6381 (home-page "https://github.com/glv2/cl-octet-streams")
6382 (license license:gpl3+)))
6383
6384(define-public cl-octet-streams
6385 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6386
6387(define-public ecl-cl-octet-streams
6388 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6389
6390(define-public sbcl-lzlib
bfe2f67e
GLV
6391 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6392 (revision "2"))
88f06fd0
PN
6393 (package
6394 (name "sbcl-lzlib")
8ecec73d 6395 (version (git-version "1.1" revision commit))
88f06fd0
PN
6396 (source
6397 (origin
6398 (method git-fetch)
6399 (uri (git-reference
b0e7b699 6400 (url "https://github.com/glv2/cl-lzlib")
88f06fd0
PN
6401 (commit commit)))
6402 (file-name (git-file-name name version))
6403 (sha256
bfe2f67e 6404 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
88f06fd0
PN
6405 (build-system asdf-build-system/sbcl)
6406 (native-inputs
6407 `(("fiveam" ,sbcl-fiveam)))
6408 (inputs
6409 `(("cffi" ,sbcl-cffi)
6410 ("cl-octet-streams" ,sbcl-cl-octet-streams)
8ecec73d 6411 ("lparallel" ,sbcl-lparallel)
88f06fd0
PN
6412 ("lzlib" ,lzlib)))
6413 (arguments
6414 '(#:phases
6415 (modify-phases %standard-phases
6416 (add-after 'unpack 'fix-paths
6417 (lambda* (#:key inputs #:allow-other-keys)
6418 (substitute* "src/lzlib.lisp"
6419 (("liblz\\.so")
6420 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6421 #t)))))
6422 (synopsis "Common Lisp library for lzip (de)compression")
6423 (description
6424 "This Common Lisp library provides functions for lzip (LZMA)
6425compression/decompression using bindings to the lzlib C library.")
6426 (home-page "https://github.com/glv2/cl-lzlib")
6427 (license license:gpl3+))))
6428
6429(define-public cl-lzlib
6430 (sbcl-package->cl-source-package sbcl-lzlib))
6431
6432(define-public ecl-lzlib
6433 (sbcl-package->ecl-package sbcl-lzlib))
6434
6435(define-public sbcl-chanl
00a9a936
GLV
6436 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6437 (revision "1"))
88f06fd0
PN
6438 (package
6439 (name "sbcl-chanl")
6440 (version (git-version "0.4.1" revision commit))
6441 (source
6442 (origin
6443 (method git-fetch)
6444 (uri (git-reference
b0e7b699 6445 (url "https://github.com/zkat/chanl")
88f06fd0
PN
6446 (commit commit)))
6447 (file-name (git-file-name name version))
6448 (sha256
6449 (base32
00a9a936 6450 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
6451 (build-system asdf-build-system/sbcl)
6452 (native-inputs
6453 `(("fiveam" ,sbcl-fiveam)))
6454 (inputs
6455 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6456 (synopsis "Portable channel-based concurrency for Common Lisp")
6457 (description "Common Lisp library for channel-based concurrency. In
6458a nutshell, you create various threads sequentially executing tasks you need
6459done, and use channel objects to communicate and synchronize the state of these
6460threads.")
6461 (home-page "https://github.com/zkat/chanl")
6462 (license (list license:expat license:bsd-3)))))
6463
6464(define-public cl-chanl
6465 (sbcl-package->cl-source-package sbcl-chanl))
6466
6467(define-public ecl-chanl
00a9a936 6468 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
6469
6470(define-public sbcl-cl-store
1896256d
BG
6471 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6472 (revision "1"))
88f06fd0
PN
6473 (package
6474 (name "sbcl-cl-store")
6475 (version (git-version "0.8.11" revision commit))
6476 (source
6477 (origin
6478 (method git-fetch)
6479 (uri (git-reference
b0e7b699 6480 (url "https://github.com/skypher/cl-store")
88f06fd0
PN
6481 (commit commit)))
6482 (file-name (git-file-name name version))
6483 (sha256
6484 (base32
1896256d 6485 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
6486 (build-system asdf-build-system/sbcl)
6487 (native-inputs
6488 `(("rt" ,sbcl-rt)))
6489 (synopsis "Common Lisp library to serialize data")
6490 (description
6491 "CL-STORE is a portable serialization package which should give you the
6492ability to store all Common Lisp data types into streams.")
630a4b77 6493 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
6494 (license license:expat))))
6495
6496(define-public cl-store
6497 (sbcl-package->cl-source-package sbcl-cl-store))
6498
6499(define-public ecl-cl-store
6500 (sbcl-package->ecl-package sbcl-cl-store))
6501
6502(define-public sbcl-cl-gobject-introspection
6503 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
6504 (revision "0"))
6505 (package
6506 (name "sbcl-cl-gobject-introspection")
6507 (version (git-version "0.3" revision commit))
6508 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6509 (source
6510 (origin
6511 (method git-fetch)
6512 (uri (git-reference
6513 (url home-page)
6514 (commit commit)))
6515 (file-name (git-file-name name version))
6516 (sha256
6517 (base32
6518 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
6519 (build-system asdf-build-system/sbcl)
6520 (inputs
6521 `(("alexandria" ,sbcl-alexandria)
6522 ("cffi" ,sbcl-cffi)
6523 ("iterate" ,sbcl-iterate)
6524 ("trivial-garbage" ,sbcl-trivial-garbage)
6525 ("glib" ,glib)
6526 ("gobject-introspection" ,gobject-introspection)))
6527 (native-inputs
6528 `(("fiveam" ,sbcl-fiveam)))
6529 (arguments
6530 ;; TODO: Tests fail, see
6531 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
6532 '(#:tests? #f
6533 #:phases
6534 (modify-phases %standard-phases
6535 (add-after (quote unpack) (quote fix-paths)
6536 (lambda* (#:key inputs #:allow-other-keys)
6537 (substitute* "src/init.lisp"
6538 (("libgobject-2\\.0\\.so")
6539 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6540 (("libgirepository-1\\.0\\.so")
6541 (string-append (assoc-ref inputs "gobject-introspection")
6542 "/lib/libgirepository-1.0.so")))
6543 #t)))))
6544 (synopsis "Common Lisp bindings to GObject Introspection")
6545 (description
6546 "This library is a bridge between Common Lisp and GObject
6547Introspection, which enables Common Lisp programs to access the full interface
6548of C+GObject libraries without the need of writing dedicated bindings.")
6549 (license (list license:bsd-3
6550 ;; Tests are under a different license.
6551 license:llgpl)))))
6552
6553(define-public cl-gobject-introspection
6554 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6555
e7cbcf5a
GLV
6556(define-public ecl-cl-gobject-introspection
6557 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6558
88f06fd0
PN
6559(define-public sbcl-string-case
6560 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
6561 (revision "0"))
6562 (package
6563 (name "sbcl-string-case")
6564 (version (git-version "0.0.2" revision commit))
6565 (home-page "https://github.com/pkhuong/string-case")
6566 (source
6567 (origin
6568 (method git-fetch)
6569 (uri (git-reference
6570 (url home-page)
6571 (commit commit)))
6572 (file-name (git-file-name name version))
6573 (sha256
6574 (base32
6575 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
6576 (build-system asdf-build-system/sbcl)
6577 (synopsis "Efficient string= case in Common Lisp")
6578 (description
6579 "@code{string-case} is a Common Lisp macro that generates specialised decision
6580trees to dispatch on string equality.")
6581 (license license:bsd-3))))
6582
6583(define-public cl-string-case
6584 (sbcl-package->cl-source-package sbcl-string-case))
6585
6586(define-public ecl-string-case
6587 (sbcl-package->ecl-package sbcl-string-case))
6588
df898f72
SH
6589(define-public sbcl-garbage-pools
6590 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
6591 (revision "1"))
6592 (package
6593 (name "sbcl-garbage-pools")
6594 (version (git-version "0.1.2" revision commit))
6595 (source
6596 (origin
6597 (method git-fetch)
6598 (uri (git-reference
6599 (url "https://github.com/archimag/garbage-pools")
6600 (commit commit)))
6601 (file-name (git-file-name name version))
6602 (sha256
6603 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
6604 (build-system asdf-build-system/sbcl)
6605 (home-page "https://github.com/archimag/garbage-pools")
6606 (synopsis "Resource management pools for Common Lisp")
6607 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
6608Pools for resource management.")
6609 (license license:expat))))
6610
6611(define-public ecl-garbage-pools
6612 (sbcl-package->ecl-package sbcl-garbage-pools))
6613
6614(define-public cl-garbage-pools
6615 (sbcl-package->cl-source-package sbcl-garbage-pools))
6616
88f06fd0
PN
6617(define-public sbcl-global-vars
6618 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
6619 (revision "0"))
6620 (package
6621 (name "sbcl-global-vars")
6622 (version (git-version "1.0.0" revision commit))
6623 (home-page "https://github.com/lmj/global-vars")
6624 (source
6625 (origin
6626 (method git-fetch)
6627 (uri (git-reference
6628 (url home-page)
6629 (commit commit)))
6630 (file-name (git-file-name name version))
6631 (sha256
6632 (base32
6633 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
6634 (build-system asdf-build-system/sbcl)
6635 (synopsis "Efficient global variables in Common Lisp")
6636 (description
6637 "In Common Lisp, a special variable that is never dynamically bound
6638typically serves as a stand-in for a global variable. The @code{global-vars}
6639library provides true global variables that are implemented by some compilers.
6640An attempt to rebind a global variable properly results in a compiler error.
6641That is, a global variable cannot be dynamically bound.
6642
6643Global variables therefore allow us to communicate an intended usage that
6644differs from special variables. Global variables are also more efficient than
6645special variables, especially in the presence of threads.")
6646 (license license:expat))))
6647
6648(define-public cl-global-vars
6649 (sbcl-package->cl-source-package sbcl-global-vars))
6650
6651(define-public ecl-global-vars
6652 (sbcl-package->ecl-package sbcl-global-vars))
6653
6654(define-public sbcl-trivial-file-size
6655 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
6656 (revision "0"))
6657 (package
6658 (name "sbcl-trivial-file-size")
6659 (version (git-version "0.0.0" revision commit))
6660 (home-page "https://github.com/ruricolist/trivial-file-size")
6661 (source
6662 (origin
6663 (method git-fetch)
6664 (uri (git-reference
6665 (url home-page)
6666 (commit commit)))
6667 (file-name (git-file-name name version))
6668 (sha256
6669 (base32
6670 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
6671 (build-system asdf-build-system/sbcl)
6672 (native-inputs
6673 `(("fiveam" ,sbcl-fiveam)))
6674 (synopsis "Size of a file in bytes in Common Lisp")
6675 (description
6676 "The canonical way to determine the size of a file in bytes, using Common Lisp,
6677is to open the file with an element type of (unsigned-byte 8) and then
6678calculate the length of the stream. This is less than ideal. In most cases
6679it is better to get the size of the file from its metadata, using a system
6680call.
6681
6682This library exports a single function, file-size-in-octets. It returns the
6683size of a file in bytes, using system calls when possible.")
6684 (license license:expat))))
6685
6686(define-public cl-trivial-file-size
6687 (sbcl-package->cl-source-package sbcl-trivial-file-size))
6688
6689(define-public ecl-trivial-file-size
6690 (sbcl-package->ecl-package sbcl-trivial-file-size))
6691
6692(define-public sbcl-trivial-macroexpand-all
6693 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
6694 (revision "0"))
6695 (package
6696 (name "sbcl-trivial-macroexpand-all")
6697 (version (git-version "0.0.0" revision commit))
6698 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
6699 (source
6700 (origin
6701 (method git-fetch)
6702 (uri (git-reference
6703 (url home-page)
6704 (commit commit)))
6705 (file-name (git-file-name name version))
6706 (sha256
6707 (base32
6708 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
6709 (build-system asdf-build-system/sbcl)
6710 (native-inputs
6711 `(("fiveam" ,sbcl-fiveam)))
6712 (synopsis "Portable macroexpand-all for Common Lisp")
6713 (description
6714 "This library provides a macroexpand-all function that calls the
6715implementation specific equivalent.")
6716 (license license:unlicense))))
6717
6718(define-public cl-trivial-macroexpand-all
6719 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
6720
6721(define-public ecl-trivial-macroexpand-all
6722 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
6723
6724(define-public sbcl-serapeum
32b51798
PN
6725 (let ((commit "c5e352a9f04a84a93742193c01734f4fb31d9f82")
6726 (revision "3"))
88f06fd0
PN
6727 (package
6728 (name "sbcl-serapeum")
6729 (version (git-version "0.0.0" revision commit))
6730 (home-page "https://github.com/ruricolist/serapeum")
6731 (source
6732 (origin
6733 (method git-fetch)
6734 (uri (git-reference
6735 (url home-page)
6736 (commit commit)))
6737 (file-name (git-file-name name version))
6738 (sha256
6739 (base32
32b51798 6740 "16767pxl766c15jznr4srcbp7cnxf8w9lkyaqpp5w5crqymw84nw"))))
88f06fd0
PN
6741 (build-system asdf-build-system/sbcl)
6742 (inputs
6743 `(("alexandria" ,sbcl-alexandria)
6744 ("trivia" ,sbcl-trivia)
88f06fd0
PN
6745 ("split-sequence" ,sbcl-split-sequence)
6746 ("string-case" ,sbcl-string-case)
6747 ("parse-number" ,sbcl-parse-number)
6748 ("trivial-garbage" ,sbcl-trivial-garbage)
6749 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6750 ("named-readtables" ,sbcl-named-readtables)
2ff8b5ba 6751 ("fare-quasiquote" ,sbcl-fare-quasiquote)
88f06fd0
PN
6752 ("parse-declarations-1.0" ,sbcl-parse-declarations)
6753 ("global-vars" ,sbcl-global-vars)
6754 ("trivial-file-size" ,sbcl-trivial-file-size)
6755 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
6756 (native-inputs
6757 `(("fiveam" ,sbcl-fiveam)
6758 ("local-time" ,sbcl-local-time)))
6759 (arguments
6760 '(#:phases
6761 (modify-phases %standard-phases
6762 (add-after 'unpack 'disable-failing-tests
6763 (lambda* (#:key inputs #:allow-other-keys)
6764 (substitute* "serapeum.asd"
6765 ;; Guix does not have Quicklisp, and probably never will.
6766 (("\\(:file \"quicklisp\"\\)") ""))
6767 #t)))))
6768 (synopsis "Common Lisp utility library beyond Alexandria")
6769 (description
6770 "Serapeum is a conservative library of Common Lisp utilities. It is a
6771supplement, not a competitor, to Alexandria.")
6772 (license license:expat))))
6773
6774(define-public cl-serapeum
6775 (sbcl-package->cl-source-package sbcl-serapeum))
6776
12df8b7b
GLV
6777(define-public ecl-serapeum
6778 (sbcl-package->ecl-package sbcl-serapeum))
6779
88f06fd0
PN
6780(define-public sbcl-arrows
6781 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
6782 (revision "0"))
6783 (package
6784 (name "sbcl-arrows")
6785 (version (git-version "0.2.0" revision commit))
6786 (source
6787 (origin
6788 (method git-fetch)
6789 (uri (git-reference
6790 (url "https://gitlab.com/Harleqin/arrows.git")
6791 (commit commit)))
6792 (file-name (git-file-name name version))
6793 (sha256
6794 (base32
6795 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
6796 (build-system asdf-build-system/sbcl)
6797 (native-inputs
6798 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
6799 (synopsis "Clojure-like arrow macros for Common Lisp")
6800 (description
6801 "This library implements the @code{->} and @code{->>} macros from
6802Clojure, as well as several expansions on the idea.")
6803 (home-page "https://gitlab.com/Harleqin/arrows")
6804 (license license:public-domain))))
6805
6806(define-public cl-arrows
6807 (sbcl-package->cl-source-package sbcl-arrows))
6808
6809(define-public ecl-arrows
6810 (sbcl-package->ecl-package sbcl-arrows))
6811
6812(define-public sbcl-simple-parallel-tasks
81108a98
GLV
6813 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
6814 (revision "1"))
88f06fd0
PN
6815 (package
6816 (name "sbcl-simple-parallel-tasks")
6817 (version (git-version "1.0" revision commit))
6818 (source
6819 (origin
6820 (method git-fetch)
6821 (uri (git-reference
b0e7b699 6822 (url "https://github.com/glv2/simple-parallel-tasks")
88f06fd0
PN
6823 (commit commit)))
6824 (file-name (git-file-name name version))
6825 (sha256
81108a98 6826 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
88f06fd0
PN
6827 (build-system asdf-build-system/sbcl)
6828 (native-inputs
6829 `(("fiveam" ,sbcl-fiveam)))
6830 (inputs
6831 `(("chanl" ,sbcl-chanl)))
6832 (synopsis "Common Lisp library to evaluate some forms in parallel")
6833 (description "This is a simple Common Lisp library to evaluate some
6834forms in parallel.")
6835 (home-page "https://github.com/glv2/simple-parallel-tasks")
6836 (license license:gpl3))))
6837
6838(define-public cl-simple-parallel-tasks
6839 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
6840
6841(define-public ecl-simple-parallel-tasks
6842 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
6843
6844(define-public sbcl-cl-heap
6845 (package
6846 (name "sbcl-cl-heap")
6847 (version "0.1.6")
6848 (source
6849 (origin
6850 (method url-fetch)
6851 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
6852 "cl-heap_" version ".tar.gz"))
6853 (sha256
6854 (base32
6855 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
6856 (build-system asdf-build-system/sbcl)
6857 (native-inputs
6858 `(("xlunit" ,sbcl-xlunit)))
6859 (arguments
6860 `(#:test-asd-file "cl-heap-tests.asd"))
6861 (synopsis "Heap and priority queue data structures for Common Lisp")
6862 (description
6863 "CL-HEAP provides various implementations of heap data structures (a
6864binary heap and a Fibonacci heap) as well as an efficient priority queue.")
6865 (home-page "https://common-lisp.net/project/cl-heap/")
6866 (license license:gpl3+)))
6867
6868(define-public cl-heap
6869 (sbcl-package->cl-source-package sbcl-cl-heap))
6870
6871(define-public ecl-cl-heap
6872 (sbcl-package->ecl-package sbcl-cl-heap))
6873
6874(define-public sbcl-curry-compose-reader-macros
6875 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
6876 (revision "0"))
6877 (package
6878 (name "sbcl-curry-compose-reader-macros")
6879 (version (git-version "1.0.0" revision commit))
6880 (source
6881 (origin
6882 (method git-fetch)
6883 (uri
6884 (git-reference
b0e7b699 6885 (url "https://github.com/eschulte/curry-compose-reader-macros")
88f06fd0
PN
6886 (commit commit)))
6887 (file-name (git-file-name name version))
6888 (sha256
6889 (base32
6890 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
6891 (build-system asdf-build-system/sbcl)
6892 (inputs
6893 `(("alexandria" ,sbcl-alexandria)
6894 ("named-readtables" ,sbcl-named-readtables)))
6895 (synopsis "Reader macros for partial application and composition")
6896 (description
6897 "This Common Lisp library provides reader macros for concise expression
6898of function partial application and composition.")
6899 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
6900 (license license:public-domain))))
6901
6902(define-public cl-curry-compose-reader-macros
6903 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
6904
6905(define-public ecl-curry-compose-reader-macros
6906 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
6907
6908(define-public sbcl-yason
6909 (package
6910 (name "sbcl-yason")
6911 (version "0.7.7")
6912 (source
6913 (origin
6914 (method git-fetch)
6915 (uri (git-reference
b0e7b699 6916 (url "https://github.com/phmarek/yason")
88f06fd0
PN
6917 (commit (string-append "v" version))))
6918 (file-name (git-file-name name version))
6919 (sha256
6920 (base32
6921 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
6922 (build-system asdf-build-system/sbcl)
6923 (inputs
6924 `(("alexandria" ,sbcl-alexandria)
6925 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6926 (synopsis "Common Lisp JSON parser/encoder")
6927 (description
6928 "YASON is a Common Lisp library for encoding and decoding data in the
6929JSON interchange format.")
6930 (home-page "https://github.com/phmarek/yason")
6931 (license license:bsd-3)))
6932
6933(define-public cl-yason
6934 (sbcl-package->cl-source-package sbcl-yason))
6935
6936(define-public ecl-yason
6937 (sbcl-package->ecl-package sbcl-yason))
6938
6939(define-public sbcl-stefil
6940 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
6941 (revision "0"))
6942 (package
6943 (name "sbcl-stefil")
6944 (version (git-version "0.1" revision commit))
6945 (source
6946 (origin
6947 (method git-fetch)
6948 (uri (git-reference
6949 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
6950 (commit commit)))
6951 (file-name (git-file-name name version))
6952 (sha256
6953 (base32
6954 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
6955 (build-system asdf-build-system/sbcl)
6956 (inputs
6957 `(("alexandria" ,sbcl-alexandria)
6958 ("iterate" ,sbcl-iterate)
2ff8b5ba
GLV
6959 ("metabang-bind" ,sbcl-metabang-bind)
6960 ("swank" ,sbcl-slime-swank)))
88f06fd0
PN
6961 (arguments
6962 '(#:phases
6963 (modify-phases %standard-phases
6964 (add-after 'unpack 'drop-unnecessary-dependency
6965 (lambda _
6966 (substitute* "package.lisp"
6967 ((":stefil-system") ""))
6968 #t)))))
6969 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
6970 (synopsis "Simple test framework")
6971 (description
6972 "Stefil is a simple test framework for Common Lisp, with a focus on
6973interactive development.")
6974 (license license:public-domain))))
6975
6976(define-public cl-stefil
6977 (sbcl-package->cl-source-package sbcl-stefil))
6978
12df8b7b
GLV
6979(define-public ecl-stefil
6980 (sbcl-package->ecl-package sbcl-stefil))
6981
88f06fd0
PN
6982(define-public sbcl-graph
6983 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
6984 (revision "0"))
6985 (package
6986 (name "sbcl-graph")
6987 (version (git-version "0.0.0" revision commit))
6988 (source
6989 (origin
6990 (method git-fetch)
6991 (uri
6992 (git-reference
b0e7b699 6993 (url "https://github.com/eschulte/graph")
88f06fd0
PN
6994 (commit commit)))
6995 (file-name (git-file-name name version))
6996 (sha256
6997 (base32
2ff8b5ba 6998 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
88f06fd0
PN
6999 (build-system asdf-build-system/sbcl)
7000 (native-inputs
7001 `(("stefil" ,sbcl-stefil)))
7002 (inputs
7003 `(("alexandria" ,sbcl-alexandria)
7004 ("cl-heap" ,sbcl-cl-heap)
2ff8b5ba 7005 ("cl-ppcre" ,sbcl-cl-ppcre)
88f06fd0
PN
7006 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7007 ("metabang-bind" ,sbcl-metabang-bind)
2ff8b5ba
GLV
7008 ("named-readtables" ,sbcl-named-readtables)
7009 ("yason" ,sbcl-yason)))
88f06fd0 7010 (arguments
3f8bbf7c 7011 '(#:asd-systems '("graph"
2ff8b5ba
GLV
7012 "graph/dot"
7013 "graph/json")))
88f06fd0
PN
7014 (synopsis "Graph data structure and algorithms for Common Lisp")
7015 (description
7016 "The GRAPH Common Lisp library provides a data structures to represent
7017graphs, as well as some graph manipulation and analysis algorithms (shortest
7018path, maximum flow, minimum spanning tree, etc.).")
7019 (home-page "https://eschulte.github.io/graph/")
7020 (license license:gpl3+))))
7021
7022(define-public cl-graph
7023 (sbcl-package->cl-source-package sbcl-graph))
7024
e7cbcf5a
GLV
7025(define-public ecl-graph
7026 (sbcl-package->ecl-package sbcl-graph))
7027
3029b585
PN
7028(define-public sbcl-trivial-indent
7029 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7030 (revision "0"))
7031 (package
7032 (name "sbcl-trivial-indent")
7033 (version (git-version "1.0.0" revision commit))
7034 (source
7035 (origin
7036 (method git-fetch)
7037 (uri
7038 (git-reference
7039 (url "https://github.com/Shinmera/trivial-indent")
7040 (commit commit)))
7041 (file-name (git-file-name name version))
7042 (sha256
7043 (base32
7044 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7045 (build-system asdf-build-system/sbcl)
7046 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7047 (description
7048 "This library allows you to define custom indentation hints for your
7049macros if the one recognised by SLIME automatically produces unwanted
7050results.")
7051 (home-page "https://shinmera.github.io/trivial-indent/")
7052 (license license:zlib))))
7053
7054(define-public cl-trivial-indent
7055 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f 7056
12df8b7b
GLV
7057(define-public ecl-trivial-indent
7058 (sbcl-package->ecl-package sbcl-trivial-indent))
7059
8dc5ff8f
PN
7060(define-public sbcl-documentation-utils
7061 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7062 (revision "0"))
7063 (package
7064 (name "sbcl-documentation-utils")
7065 (version (git-version "1.2.0" revision commit))
7066 (source
7067 (origin
7068 (method git-fetch)
7069 (uri
7070 (git-reference
b0e7b699 7071 (url "https://github.com/Shinmera/documentation-utils")
8dc5ff8f
PN
7072 (commit commit)))
7073 (file-name (git-file-name name version))
7074 (sha256
7075 (base32
7076 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7077 (build-system asdf-build-system/sbcl)
7078 (inputs
7079 `(("trivial-indent" ,sbcl-trivial-indent)))
7080 (synopsis "Few simple tools to document Common Lisp libraries")
7081 (description
7082 "This is a small library to help you with managing the Common Lisp
7083docstrings for your library.")
7084 (home-page "https://shinmera.github.io/documentation-utils/")
7085 (license license:zlib))))
7086
7087(define-public cl-documentation-utils
7088 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7089
281537f4
GLV
7090(define-public ecl-documentation-utils
7091 (sbcl-package->ecl-package sbcl-documentation-utils))
7092
0b1f5713
PN
7093(define-public sbcl-documentation-utils-extensions
7094 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7095 (package
7096 (name "sbcl-documentation-utils-extensions")
7097 (version (git-version "0.0.0" "1" commit))
7098 (source
7099 (origin
7100 (method git-fetch)
7101 (uri
7102 (git-reference
7103 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7104 (commit commit)))
7105 (file-name (git-file-name name version))
7106 (sha256
7107 (base32
7108 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7109 (build-system asdf-build-system/sbcl)
7110 (inputs
7111 `(("documentation-utils" ,sbcl-documentation-utils)))
7112 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7113 (synopsis "Set of extensions for documentation-utils")
7114 (description
7115 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7116@code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7117@code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7118@code{:see-also} and @code{:notes}. Gather unformatted input by using
7119@code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7120gathered documentation with find-documentation function. Execute code stored
7121in documentation with @code{execute-documentation}. See the examples in the
7122@code{src/documentation.lisp} file. See the @code{documentation-utils} system
7123for more information.")
7124 (license license:expat))))
7125
7126(define-public cl-documentation-utils-extensions
7127 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7128
7129(define-public ecl-documentation-utils-extensions
7130 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7131
aa47c9e7
PN
7132(define-public sbcl-form-fiddle
7133 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7134 (revision "0"))
7135 (package
7136 (name "sbcl-form-fiddle")
7137 (version (git-version "1.1.0" revision commit))
7138 (source
7139 (origin
7140 (method git-fetch)
7141 (uri
7142 (git-reference
7143 (url "https://github.com/Shinmera/form-fiddle")
7144 (commit commit)))
7145 (file-name (git-file-name name version))
7146 (sha256
7147 (base32
7148 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7149 (build-system asdf-build-system/sbcl)
7150 (inputs
7151 `(("documentation-utils" ,sbcl-documentation-utils)))
7152 (synopsis "Utilities to destructure Common Lisp lambda forms")
7153 (description
7154 "Often times we need to destructure a form definition in a Common Lisp
7155macro. This library provides a set of simple utilities to help with that.")
7156 (home-page "https://shinmera.github.io/form-fiddle/")
7157 (license license:zlib))))
7158
7159(define-public cl-form-fiddle
7160 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13 7161
e7cbcf5a
GLV
7162(define-public ecl-form-fiddle
7163 (sbcl-package->ecl-package sbcl-form-fiddle))
7164
e0786d13
PN
7165(define-public sbcl-parachute
7166 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7167 (revision "0"))
7168 (package
7169 (name "sbcl-parachute")
7170 (version (git-version "1.1.1" revision commit))
7171 (source
7172 (origin
7173 (method git-fetch)
7174 (uri
7175 (git-reference
7176 (url "https://github.com/Shinmera/parachute")
7177 (commit commit)))
7178 (file-name (git-file-name name version))
7179 (sha256
7180 (base32
7181 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7182 (build-system asdf-build-system/sbcl)
7183 (inputs
7184 `(("documentation-utils" ,sbcl-documentation-utils)
7185 ("form-fiddle" ,sbcl-form-fiddle)))
7186 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7187 (description
7188 "Parachute is a simple-to-use and extensible testing framework.
7189In Parachute, things are organised as a bunch of named tests within a package.
7190Each test can contain a bunch of test forms that make up its body.")
7191 (home-page "https://shinmera.github.io/parachute/")
7192 (license license:zlib))))
7193
7194(define-public cl-parachute
7195 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68 7196
e7cbcf5a
GLV
7197(define-public ecl-parachute
7198 (sbcl-package->ecl-package sbcl-parachute))
7199
f5b1da68
PN
7200(define-public sbcl-array-utils
7201 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7202 (revision "0"))
7203 (package
7204 (name "sbcl-array-utils")
7205 (version (git-version "1.1.1" revision commit))
7206 (source
7207 (origin
7208 (method git-fetch)
7209 (uri
7210 (git-reference
7211 (url "https://github.com/Shinmera/array-utils")
7212 (commit commit)))
7213 (file-name (git-file-name name version))
7214 (sha256
7215 (base32
7216 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7217 (build-system asdf-build-system/sbcl)
7218 (native-inputs
7219 `(("parachute" ,sbcl-parachute)))
7220 (inputs
7221 `(("documentation-utils" ,sbcl-documentation-utils)))
7222 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7223 (description
7224 "A miniature toolkit that contains some useful shifting/popping/pushing
7225functions for arrays and vectors. Originally from Plump.")
7226 (home-page "https://shinmera.github.io/array-utils/")
7227 (license license:zlib))))
7228
7229(define-public cl-array-utils
7230 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4 7231
e7cbcf5a
GLV
7232(define-public ecl-array-utils
7233 (sbcl-package->ecl-package sbcl-array-utils))
7234
cbda07d4 7235(define-public sbcl-plump
ef4a5a85
PN
7236 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7237 (revision "1"))
cbda07d4
PN
7238 (package
7239 (name "sbcl-plump")
7240 (version (git-version "2.0.0" revision commit))
7241 (source
7242 (origin
7243 (method git-fetch)
7244 (uri
7245 (git-reference
7246 (url "https://github.com/Shinmera/plump")
7247 (commit commit)))
7248 (file-name (git-file-name name version))
7249 (sha256
7250 (base32
ef4a5a85 7251 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
cbda07d4
PN
7252 (build-system asdf-build-system/sbcl)
7253 (inputs
7254 `(("array-utils" ,sbcl-array-utils)
7255 ("documentation-utils" ,sbcl-documentation-utils)))
7256 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7257 (description
7258 "Plump is a parser for HTML/XML-like documents, focusing on being
7259lenient towards invalid markup. It can handle things like invalid attributes,
7260bad closing tag order, unencoded entities, inexistent tag types, self-closing
7261tags and so on. It parses documents to a class representation and offers a
7262small set of DOM functions to manipulate it. It can be extended to parse to
7263your own classes.")
7264 (home-page "https://shinmera.github.io/plump/")
7265 (license license:zlib))))
7266
7267(define-public cl-plump
7268 (sbcl-package->cl-source-package sbcl-plump))
20972e4e 7269
e7cbcf5a
GLV
7270(define-public ecl-plump
7271 (sbcl-package->ecl-package sbcl-plump))
7272
2ff8b5ba
GLV
7273;;; Split the antik package in two to work around the circular dependency
7274;;; between antik/antik and antik/gsll.
20972e4e
KCB
7275(define-public sbcl-antik-base
7276 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7277 (revision "1"))
7278 (package
7279 (name "sbcl-antik-base")
7280 (version (git-version "0.0.0" revision commit))
7281 (source
7282 (origin
7283 (method git-fetch)
7284 (uri (git-reference
7285 (url "https://gitlab.common-lisp.net/antik/antik.git")
7286 (commit commit)))
7287 (file-name (git-file-name name version))
7288 (sha256
7289 (base32
7290 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7291 (build-system asdf-build-system/sbcl)
7292 (inputs
7293 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba 7294 ("cffi" ,sbcl-cffi)
20972e4e 7295 ("cl-ppcre" ,sbcl-cl-ppcre)
2ff8b5ba
GLV
7296 ("drakma" ,sbcl-drakma)
7297 ("fare-utils" ,sbcl-fare-utils)
20972e4e
KCB
7298 ("iterate" ,sbcl-iterate)
7299 ("metabang-bind" ,sbcl-metabang-bind)
7300 ("named-readtables" ,sbcl-named-readtables)
2ff8b5ba
GLV
7301 ("split-sequence" ,sbcl-split-sequence)
7302 ("static-vectors" ,sbcl-static-vectors)
7303 ("trivial-garbage" ,sbcl-trivial-garbage)
7304 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
20972e4e
KCB
7305 (native-inputs
7306 `(("lisp-unit" ,sbcl-lisp-unit)))
2ff8b5ba 7307 (arguments
3f8bbf7c 7308 '(#:asd-systems '("antik-base"
e1dda5dd 7309 "foreign-array")
2ff8b5ba
GLV
7310 #:phases
7311 (modify-phases %standard-phases
7312 (add-after 'unpack 'fix-build
7313 (lambda _
e1dda5dd
GLV
7314 (for-each delete-file
7315 '("antik.asd"
7316 "physical-dimension.asd"
7317 "science-data.asd"))
2ff8b5ba 7318 #t)))))
20972e4e
KCB
7319 (synopsis "Scientific and engineering computation in Common Lisp")
7320 (description
7321 "Antik provides a foundation for scientific and engineering
7322computation in Common Lisp. It is designed not only to facilitate
7323numerical computations, but to permit the use of numerical computation
7324libraries and the interchange of data and procedures, whether
7325foreign (non-Lisp) or Lisp libraries. It is named after the
7326Antikythera mechanism, one of the oldest examples of a scientific
7327computer known.")
7328 (home-page "https://common-lisp.net/project/antik/")
7329 (license license:gpl3))))
7330
d9bdde74
GLV
7331(define-public cl-antik-base
7332 (sbcl-package->cl-source-package sbcl-antik-base))
7333
e1dda5dd
GLV
7334(define-public ecl-antik-base
7335 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7336 (package
7337 (inherit pkg)
7338 (arguments
7339 (substitute-keyword-arguments (package-arguments pkg)
7340 ((#:phases phases)
7341 `(modify-phases ,phases
7342 (add-after 'unpack 'fix-readtable
7343 (lambda _
7344 (substitute* "input-output/readtable.lisp"
7345 (("#-ccl")
7346 "#-(or ccl ecl)"))
7347 #t)))))))))
7348
064dbb71
KCB
7349(define-public sbcl-gsll
7350 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7351 (revision "1"))
7352 (package
7353 (name "sbcl-gsll")
7354 (version (git-version "0.0.0" revision commit))
7355 (source
7356 (origin
7357 (method git-fetch)
7358 (uri (git-reference
7359 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7360 (commit commit)))
7361 (file-name (git-file-name name version))
7362 (sha256
7363 (base32
7364 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7365 (build-system asdf-build-system/sbcl)
7366 (native-inputs
7367 `(("lisp-unit" ,sbcl-lisp-unit)))
7368 (inputs
7369 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba
GLV
7370 ("antik-base" ,sbcl-antik-base)
7371 ("cffi" ,sbcl-cffi)
064dbb71
KCB
7372 ("gsl" ,gsl)
7373 ("metabang-bind" ,sbcl-metabang-bind)
7374 ("trivial-features" ,sbcl-trivial-features)
7375 ("trivial-garbage" ,sbcl-trivial-garbage)))
7376 (arguments
7377 `(#:tests? #f
7378 #:phases
7379 (modify-phases %standard-phases
7380 (add-after 'unpack 'fix-cffi-paths
7381 (lambda* (#:key inputs #:allow-other-keys)
7382 (substitute* "gsll.asd"
7383 ((":depends-on \\(#:foreign-array")
7384 ":depends-on (#:foreign-array #:cffi-libffi"))
7385 (substitute* "init/init.lisp"
7386 (("libgslcblas.so" all)
7387 (string-append
7388 (assoc-ref inputs "gsl") "/lib/" all)))
7389 (substitute* "init/init.lisp"
7390 (("libgsl.so" all)
7391 (string-append
7392 (assoc-ref inputs "gsl") "/lib/" all))))))))
7393 (synopsis "GNU Scientific Library for Lisp")
7394 (description
7395 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7396GNU Scientific Library (GSL) from Common Lisp. This library provides a
7397full range of common mathematical operations useful to scientific and
7398engineering applications. The design of the GSLL interface is such
7399that access to most of the GSL library is possible in a Lisp-natural
7400way; the intent is that the user not be hampered by the restrictions
7401of the C language in which GSL has been written. GSLL thus provides
7402interactive use of GSL for getting quick answers, even for someone not
7403intending to program in Lisp.")
7404 (home-page "https://common-lisp.net/project/gsll/")
7405 (license license:gpl3))))
7406
7407(define-public cl-gsll
7408 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca 7409
e1dda5dd
GLV
7410(define-public ecl-gsll
7411 (sbcl-package->ecl-package sbcl-gsll))
7412
f1faf1ca
KCB
7413(define-public sbcl-antik
7414 (package
7415 (inherit sbcl-antik-base)
7416 (name "sbcl-antik")
7417 (inputs
2ff8b5ba
GLV
7418 `(("antik-base" ,sbcl-antik-base)
7419 ("gsll" ,sbcl-gsll)))
f1faf1ca 7420 (arguments
e1dda5dd
GLV
7421 '(#:asd-systems '("antik"
7422 "science-data")
7423 #:phases
2ff8b5ba
GLV
7424 (modify-phases %standard-phases
7425 (add-after 'unpack 'fix-build
7426 (lambda _
7427 (for-each delete-file
7428 '("antik-base.asd"
e1dda5dd 7429 "foreign-array.asd"))
2ff8b5ba 7430 #t)))))))
f1faf1ca
KCB
7431
7432(define-public cl-antik
7433 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
7434
7435(define-public sbcl-cl-interpol
7436 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7437 (revision "1"))
7438 (package
7439 (name "sbcl-cl-interpol")
7440 (version (git-version "0.2.6" revision commit))
7441 (source
7442 (origin
7443 (method git-fetch)
7444 (uri (git-reference
b0e7b699 7445 (url "https://github.com/edicl/cl-interpol")
7b0bb0d1
KCB
7446 (commit commit)))
7447 (file-name (git-file-name name version))
7448 (sha256
7449 (base32
7450 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7451 (build-system asdf-build-system/sbcl)
7452 (inputs
7453 `(("cl-unicode" ,sbcl-cl-unicode)
7454 ("named-readtables" ,sbcl-named-readtables)))
7455 (native-inputs
7456 `(("flexi-streams" ,sbcl-flexi-streams)))
7457 (synopsis "String interpolation for Common Lisp")
7458 (description
7459 "CL-INTERPOL is a library for Common Lisp which modifies the
7460reader so that you can have interpolation within strings similar to
7461Perl or Unix Shell scripts. It also provides various ways to insert
7462arbitrary characters into literal strings even if your editor/IDE
7463doesn't support them.")
7464 (home-page "https://edicl.github.io/cl-interpol/")
7465 (license license:bsd-3))))
7466
7467(define-public cl-interpol
7468 (sbcl-package->cl-source-package sbcl-cl-interpol))
7469
7470(define-public ecl-cl-interpol
7471 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92 7472
2ff8b5ba
GLV
7473(define-public sbcl-symbol-munger
7474 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
14ef7a92
KCB
7475 (revision "1"))
7476 (package
2ff8b5ba 7477 (name "sbcl-symbol-munger")
14ef7a92
KCB
7478 (version (git-version "0.0.1" revision commit))
7479 (source
7480 (origin
7481 (method git-fetch)
7482 (uri (git-reference
b0e7b699 7483 (url "https://github.com/AccelerationNet/symbol-munger")
14ef7a92
KCB
7484 (commit commit)))
7485 (file-name (git-file-name name version))
7486 (sha256
7487 (base32
2ff8b5ba 7488 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
14ef7a92 7489 (build-system asdf-build-system/sbcl)
14ef7a92 7490 (inputs
2ff8b5ba
GLV
7491 `(("alexandria" ,sbcl-alexandria)
7492 ("iterate" ,sbcl-iterate)))
7493 (arguments
7494 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7495 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7496 '(#:tests? #f))
14ef7a92
KCB
7497 (synopsis
7498 "Capitalization and spacing conversion functions for Common Lisp")
7499 (description
7500 "This is a Common Lisp library to change the capitalization and spacing
7501of a string or a symbol. It can convert to and from Lisp, english, underscore
7502and camel-case rules.")
7503 (home-page "https://github.com/AccelerationNet/symbol-munger")
7504 ;; The package declares a BSD license, but all of the license
7505 ;; text is MIT.
7506 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7507 (license license:expat))))
7508
2ff8b5ba
GLV
7509(define-public cl-symbol-munger
7510 (sbcl-package->cl-source-package sbcl-symbol-munger))
7511
7512(define-public ecl-symbol-munger
7513 (sbcl-package->ecl-package sbcl-symbol-munger))
7514
7515(define-public sbcl-lisp-unit2
14ef7a92
KCB
7516 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7517 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7518 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7519 (revision "1"))
7520 (package
2ff8b5ba 7521 (name "sbcl-lisp-unit2")
14ef7a92
KCB
7522 (version (git-version "0.2.0" revision commit))
7523 (source
7524 (origin
7525 (method git-fetch)
7526 (uri (git-reference
b0e7b699 7527 (url "https://github.com/AccelerationNet/lisp-unit2")
14ef7a92
KCB
7528 (commit commit)))
7529 (file-name (git-file-name name version))
7530 (sha256
7531 (base32
7532 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7533 (build-system asdf-build-system/sbcl)
14ef7a92
KCB
7534 (inputs
7535 `(("alexandria" ,sbcl-alexandria)
7536 ("cl-interpol" ,sbcl-cl-interpol)
7537 ("iterate" ,sbcl-iterate)
2ff8b5ba 7538 ("symbol-munger" ,sbcl-symbol-munger)))
14ef7a92
KCB
7539 (synopsis "Test Framework for Common Lisp")
7540 (description
7541 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7542style of JUnit for Java. It is a new version of the lisp-unit library written
7543by Chris Riesbeck.")
7544 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7545 (license license:expat))))
edfa2261 7546
b97dbb64
KCB
7547(define-public cl-lisp-unit2
7548 (sbcl-package->cl-source-package sbcl-lisp-unit2))
7549
7550(define-public ecl-lisp-unit2
7551 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
7552
7553(define-public sbcl-cl-csv
be0ebf33
PN
7554 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
7555 (revision "2"))
f4448e43
KCB
7556 (package
7557 (name "sbcl-cl-csv")
7558 (version (git-version "1.0.6" revision commit))
7559 (source
7560 (origin
7561 (method git-fetch)
7562 (uri (git-reference
b0e7b699 7563 (url "https://github.com/AccelerationNet/cl-csv")
f4448e43
KCB
7564 (commit commit)))
7565 (file-name (git-file-name name version))
7566 (sha256
7567 (base32
be0ebf33 7568 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
f4448e43
KCB
7569 (build-system asdf-build-system/sbcl)
7570 (arguments
7571 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
7572 `(#:tests? #f))
7573 (inputs
7574 `(("alexandria" ,sbcl-alexandria)
7575 ("cl-interpol" ,sbcl-cl-interpol)
7576 ("iterate" ,sbcl-iterate)))
7577 (native-inputs
7578 `(("lisp-unit2" ,sbcl-lisp-unit2)))
7579 (synopsis "Common lisp library for comma-separated values")
7580 (description
7581 "This is a Common Lisp library providing functions to read/write CSV
7582from/to strings, streams and files.")
7583 (home-page "https://github.com/AccelerationNet/cl-csv")
7584 (license license:bsd-3))))
7585
7586(define-public cl-csv
7587 (sbcl-package->cl-source-package sbcl-cl-csv))
7588
7589(define-public ecl-cl-csv
7590 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
7591
7592(define-public sbcl-external-program
7593 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
7594 (revision "1"))
7595 (package
7596 (name "sbcl-external-program")
7597 (version (git-version "0.0.6" revision commit))
7598 (source
7599 (origin
7600 (method git-fetch)
7601 (uri (git-reference
b0e7b699 7602 (url "https://github.com/sellout/external-program")
6f0c2c95
KCB
7603 (commit commit)))
7604 (file-name (git-file-name name version))
7605 (sha256
7606 (base32
7607 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
7608 (build-system asdf-build-system/sbcl)
7609 (inputs
7610 `(("trivial-features" ,sbcl-trivial-features)))
7611 (native-inputs
7612 `(("fiveam" ,sbcl-fiveam)))
7613 (synopsis "Common Lisp library for running external programs")
7614 (description
7615 "EXTERNAL-PROGRAM enables running programs outside the Lisp
7616process. It is an attempt to make the RUN-PROGRAM functionality in
7617implementations like SBCL and CCL as portable as possible without
7618sacrificing much in the way of power.")
7619 (home-page "https://github.com/sellout/external-program")
7620 (license license:llgpl))))
7621
7622(define-public cl-external-program
7623 (sbcl-package->cl-source-package sbcl-external-program))
7624
7625(define-public ecl-external-program
7626 (sbcl-package->ecl-package sbcl-external-program))
710a2815 7627
2ff8b5ba 7628(define-public sbcl-cl-ana
710a2815
KCB
7629 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
7630 (revision "1"))
7631 (package
2ff8b5ba 7632 (name "sbcl-cl-ana")
710a2815
KCB
7633 (version (git-version "0.0.0" revision commit))
7634 (source
7635 (origin
7636 (method git-fetch)
7637 (uri (git-reference
b0e7b699 7638 (url "https://github.com/ghollisjr/cl-ana")
710a2815
KCB
7639 (commit commit)))
7640 (file-name (git-file-name name version))
7641 (sha256
2ff8b5ba 7642 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
710a2815 7643 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
7644 (native-inputs
7645 `(("cl-fad" ,sbcl-cl-fad)))
7646 (inputs
7647 `(("alexandria" ,sbcl-alexandria)
7648 ("antik" ,sbcl-antik)
7649 ("cffi" ,sbcl-cffi)
7650 ("cl-csv" ,sbcl-cl-csv)
7651 ("closer-mop" ,sbcl-closer-mop)
7652 ("external-program" ,sbcl-external-program)
7653 ("gsl" ,gsl)
7654 ("gsll" ,sbcl-gsll)
7655 ("hdf5" ,hdf5-parallel-openmpi)
7656 ("iterate" ,sbcl-iterate)
7657 ("libffi" ,libffi)
7658 ("split-sequence" ,sbcl-split-sequence)))
7659 (arguments
e765d9c9 7660 `(#:phases
2ff8b5ba
GLV
7661 (modify-phases %standard-phases
7662 (add-after 'unpack 'fix-paths
7663 (lambda* (#:key inputs #:allow-other-keys)
7664 (substitute* "hdf-cffi/hdf-cffi.lisp"
7665 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
7666 (string-append (assoc-ref inputs "hdf5")
7667 "/lib/libhdf5.so")))
7668 (substitute* "gsl-cffi/gsl-cffi.lisp"
7669 (("define-foreign-library gsl-cffi" all)
7670 (string-append all " (:unix "
7671 (assoc-ref inputs "gsl")
7672 "/lib/libgsl.so)")))
7673 #t)))))
710a2815
KCB
7674 (synopsis "Common Lisp data analysis library")
7675 (description
7676 "CL-ANA is a data analysis library in Common Lisp providing tabular and
7677binned data analysis along with nonlinear least squares fitting and
7678visualization.")
7679 (home-page "https://github.com/ghollisjr/cl-ana")
7680 (license license:gpl3))))
7681
2ff8b5ba
GLV
7682(define-public cl-ana
7683 (sbcl-package->cl-source-package sbcl-cl-ana))
6d69c5b4 7684
2ff8b5ba
GLV
7685(define-public sbcl-archive
7686 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
7687 (revision "1"))
7688 (package
7689 (name "sbcl-archive")
7690 (version (git-version "0.9" revision commit))
7691 (source (origin
7692 (method git-fetch)
7693 (uri (git-reference
7694 (url "https://github.com/sharplispers/archive")
7695 (commit commit)))
7696 (file-name (git-file-name name version))
7697 (sha256
7698 (base32
7699 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
7700 (build-system asdf-build-system/sbcl)
7701 (inputs
7702 `(("cl-fad" ,sbcl-cl-fad)
7703 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7704 (synopsis "Common Lisp library for tar and cpio archives")
7705 (description
7706 "This is a Common Lisp library to read and write disk-based file
7707archives such as those generated by the tar and cpio programs on Unix.")
7708 (home-page "https://github.com/sharplispers/archive")
7709 (license license:bsd-3))))
39ba698b 7710
2ff8b5ba
GLV
7711(define-public cl-archive
7712 (sbcl-package->cl-source-package sbcl-archive))
39ba698b 7713
2ff8b5ba
GLV
7714(define-public ecl-archive
7715 (sbcl-package->ecl-package sbcl-archive))
39ba698b 7716
2ff8b5ba
GLV
7717(define-public sbcl-misc-extensions
7718 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
7719 (revision "1"))
7720 (package
7721 (name "sbcl-misc-extensions")
7722 (version (git-version "3.3" revision commit))
7723 (source
7724 (origin
7725 (method git-fetch)
7726 (uri (git-reference
7727 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
7728 (commit commit)))
7729 (file-name (git-file-name name version))
7730 (sha256
7731 (base32
7732 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
7733 (build-system asdf-build-system/sbcl)
7734 (synopsis "Collection of small macros and extensions for Common Lisp")
7735 (description
7736 "This project is intended as a catchall for small, general-purpose
7737extensions to Common Lisp. It contains:
ad09a96a 7738
2ff8b5ba
GLV
7739@itemize
7740@item @code{new-let}, a macro that combines and generalizes @code{let},
7741@code{let*} and @code{multiple-value-bind},
7742@item @code{gmap}, an iteration macro that generalizes @code{map}.
7743@end itemize\n")
7744 (home-page "https://common-lisp.net/project/misc-extensions/")
7745 (license license:public-domain))))
ad09a96a 7746
2ff8b5ba
GLV
7747(define-public cl-misc-extensions
7748 (sbcl-package->cl-source-package sbcl-misc-extensions))
ad09a96a 7749
2ff8b5ba
GLV
7750(define-public ecl-misc-extensions
7751 (sbcl-package->ecl-package sbcl-misc-extensions))
141d96e1 7752
2ff8b5ba 7753(define-public sbcl-mt19937
141d96e1 7754 (package
2ff8b5ba
GLV
7755 (name "sbcl-mt19937")
7756 (version "1.1")
7757 (source
7758 (origin
7759 (method url-fetch)
7760 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
7761 "mt19937-latest.tar.gz"))
7762 (sha256
7763 (base32
7764 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
7765 (build-system asdf-build-system/sbcl)
7766 (synopsis "Mersenne Twister pseudo-random number generator")
7767 (description
7768 "MT19937 is a portable Mersenne Twister pseudo-random number generator
7769for Common Lisp.")
7770 (home-page "https://www.cliki.net/mt19937")
7771 (license license:public-domain)))
141d96e1 7772
2ff8b5ba
GLV
7773(define-public cl-mt19937
7774 (sbcl-package->cl-source-package sbcl-mt19937))
141d96e1 7775
2ff8b5ba
GLV
7776(define-public ecl-mt19937
7777 (sbcl-package->ecl-package sbcl-mt19937))
7468ca3c 7778
2ff8b5ba
GLV
7779(define-public sbcl-fset
7780 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
7781 (revision "1"))
7782 (package
7783 (name "sbcl-fset")
7784 (version (git-version "1.3.2" revision commit))
7785 (source
7786 (origin
7787 (method git-fetch)
7788 (uri (git-reference
7789 (url "https://github.com/slburson/fset")
7790 (commit commit)))
7791 (file-name (git-file-name name version))
7792 (sha256
7793 (base32
7794 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
7795 (snippet '(begin
7796 ;; Remove obsolete copy of system definition.
7797 (delete-file "Code/fset.asd")
7798 #t))))
7799 (build-system asdf-build-system/sbcl)
7800 (inputs
7801 `(("misc-extensions" ,sbcl-misc-extensions)
7802 ("mt19937" ,sbcl-mt19937)
7803 ("named-readtables" ,sbcl-named-readtables)))
7804 (synopsis "Functional set-theoretic collections library")
7805 (description
7806 "FSet is a functional set-theoretic collections library for Common Lisp.
7807Functional means that all update operations return a new collection rather than
7808modifying an existing one in place. Set-theoretic means that collections may
7809be nested arbitrarily with no additional programmer effort; for instance, sets
7810may contain sets, maps may be keyed by sets, etc.")
7811 (home-page "https://common-lisp.net/project/fset/Site/index.html")
7812 (license license:llgpl))))
7468ca3c 7813
2ff8b5ba
GLV
7814(define-public cl-fset
7815 (sbcl-package->cl-source-package sbcl-fset))
7468ca3c 7816
bdd3b1b2
GLV
7817(define-public ecl-fset
7818 (package
7819 (inherit (sbcl-package->ecl-package sbcl-fset))
7820 (arguments
7821 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
7822 '(#:tests? #f))))
7823
2ff8b5ba
GLV
7824(define-public sbcl-cl-cont
7825 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
7826 (revision "1"))
7827 (package
7828 (name "sbcl-cl-cont")
7829 (version (git-version "0.3.8" revision commit))
7830 (source
7831 (origin
7832 (method git-fetch)
7833 (uri (git-reference
7834 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
7835 (commit commit)))
7836 (file-name (git-file-name name version))
7837 (sha256
7838 (base32
7839 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
7840 (build-system asdf-build-system/sbcl)
7841 (inputs
7842 `(("alexandria" ,sbcl-alexandria)
7843 ("closer-mop" ,sbcl-closer-mop)))
7844 (native-inputs
7845 `(("rt" ,sbcl-rt)))
7846 (synopsis "Delimited continuations for Common Lisp")
7847 (description
7848 "This is a library that implements delimited continuations by
7849transforming Common Lisp code to continuation passing style.")
7850 (home-page "https://common-lisp.net/project/cl-cont/")
7851 (license license:llgpl))))
f69f0235 7852
2ff8b5ba
GLV
7853(define-public cl-cont
7854 (sbcl-package->cl-source-package sbcl-cl-cont))
f69f0235 7855
2ff8b5ba
GLV
7856(define-public ecl-cl-cont
7857 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
7858
7859(define-public sbcl-cl-coroutine
7860 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
7861 (revision "1"))
7862 (package
7863 (name "sbcl-cl-coroutine")
7864 (version (git-version "0.1" revision commit))
7865 (source
7866 (origin
7867 (method git-fetch)
7868 (uri (git-reference
b0e7b699 7869 (url "https://github.com/takagi/cl-coroutine")
4101c714
GLV
7870 (commit commit)))
7871 (file-name (git-file-name name version))
7872 (sha256
7873 (base32
7874 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
7875 (build-system asdf-build-system/sbcl)
7876 (inputs
7877 `(("alexandria" ,sbcl-alexandria)
7878 ("cl-cont" ,sbcl-cl-cont)))
7879 (native-inputs
7880 `(("prove" ,sbcl-prove)))
7881 (arguments
7882 `(;; TODO: Fix the tests. They fail with:
7883 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
7884 #:tests? #f
7885 #:phases
7886 (modify-phases %standard-phases
7887 (add-after 'unpack 'fix-tests
7888 (lambda _
7889 (substitute* "cl-coroutine-test.asd"
7890 (("cl-test-more")
7891 "prove"))
7892 #t)))))
7893 (synopsis "Coroutine library for Common Lisp")
7894 (description
7895 "This is a coroutine library for Common Lisp implemented using the
7896continuations of the @code{cl-cont} library.")
7897 (home-page "https://github.com/takagi/cl-coroutine")
7898 (license license:llgpl))))
7899
7900(define-public cl-coroutine
7901 (sbcl-package->cl-source-package sbcl-cl-coroutine))
7902
7903(define-public ecl-cl-coroutine
7904 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
7905
7906(define-public sbcl-vom
7907 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
7908 (revision "1"))
7909 (package
7910 (name "sbcl-vom")
7911 (version (git-version "0.1.4" revision commit))
7912 (source
7913 (origin
7914 (method git-fetch)
7915 (uri (git-reference
b0e7b699 7916 (url "https://github.com/orthecreedence/vom")
5b8bc813
GLV
7917 (commit commit)))
7918 (file-name (git-file-name name version))
7919 (sha256
7920 (base32
7921 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
7922 (build-system asdf-build-system/sbcl)
7923 (synopsis "Tiny logging utility for Common Lisp")
7924 (description
7925 "Vom is a logging library for Common Lisp. It's goal is to be useful
7926and small. It does not provide a lot of features as other loggers do, but
7927has a small codebase that's easy to understand and use.")
7928 (home-page "https://github.com/orthecreedence/vom")
7929 (license license:expat))))
7930
7931(define-public cl-vom
7932 (sbcl-package->cl-source-package sbcl-vom))
7933
7934(define-public ecl-vom
7935 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
7936
7937(define-public sbcl-cl-libuv
7938 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
7939 (revision "1"))
7940 (package
7941 (name "sbcl-cl-libuv")
7942 (version (git-version "0.1.6" revision commit))
7943 (source
7944 (origin
7945 (method git-fetch)
7946 (uri (git-reference
b0e7b699 7947 (url "https://github.com/orthecreedence/cl-libuv")
37b48dc1
GLV
7948 (commit commit)))
7949 (file-name (git-file-name name version))
7950 (sha256
7951 (base32
7952 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
7953 (build-system asdf-build-system/sbcl)
7954 (inputs
7955 `(("alexandria" ,sbcl-alexandria)
7956 ("cffi" ,sbcl-cffi)
37b48dc1
GLV
7957 ("libuv" ,libuv)))
7958 (arguments
7959 `(#:phases
7960 (modify-phases %standard-phases
7961 (add-after 'unpack 'fix-paths
7962 (lambda* (#:key inputs #:allow-other-keys)
7963 (substitute* "lib.lisp"
7964 (("/usr/lib/libuv.so")
7965 (string-append (assoc-ref inputs "libuv")
7966 "/lib/libuv.so")))
7967 #t))
7968 (add-after 'fix-paths 'fix-system-definition
7969 (lambda _
7970 (substitute* "cl-libuv.asd"
7971 (("#:cffi #:alexandria")
7972 "#:cffi #:cffi-grovel #:alexandria"))
7973 #t)))))
7974 (synopsis "Common Lisp bindings to libuv")
7975 (description
7976 "This library provides low-level libuv bindings for Common Lisp.")
7977 (home-page "https://github.com/orthecreedence/cl-libuv")
7978 (license license:expat))))
7979
7980(define-public cl-libuv
7981 (sbcl-package->cl-source-package sbcl-cl-libuv))
7982
7983(define-public ecl-cl-libuv
7984 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb 7985
2ff8b5ba 7986(define-public sbcl-cl-async
1cc1dfbb
GLV
7987 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
7988 (revision "1"))
7989 (package
2ff8b5ba 7990 (name "sbcl-cl-async")
1cc1dfbb
GLV
7991 (version (git-version "0.6.1" revision commit))
7992 (source
7993 (origin
7994 (method git-fetch)
7995 (uri (git-reference
b0e7b699 7996 (url "https://github.com/orthecreedence/cl-async")
1cc1dfbb
GLV
7997 (commit commit)))
7998 (file-name (git-file-name name version))
7999 (sha256
8000 (base32
8001 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8002 (build-system asdf-build-system/sbcl)
8003 (inputs
2ff8b5ba
GLV
8004 `(("babel" ,sbcl-babel)
8005 ("bordeaux-threads" ,sbcl-bordeaux-threads)
1cc1dfbb 8006 ("cffi" ,sbcl-cffi)
2ff8b5ba
GLV
8007 ("cl-libuv" ,sbcl-cl-libuv)
8008 ("cl-ppcre" ,sbcl-cl-ppcre)
8009 ("fast-io" ,sbcl-fast-io)
8010 ("openssl" ,openssl)
8011 ("static-vectors" ,sbcl-static-vectors)
8012 ("trivial-features" ,sbcl-trivial-features)
8013 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8014 ("vom" ,sbcl-vom)))
1cc1dfbb 8015 (arguments
3f8bbf7c 8016 `(#:asd-systems '("cl-async"
2ff8b5ba
GLV
8017 "cl-async-repl"
8018 "cl-async-ssl")
8019 #:phases
8020 (modify-phases %standard-phases
ae51aa91
GLV
8021 (add-after 'unpack 'fix-paths
8022 (lambda* (#:key inputs #:allow-other-keys)
8023 (substitute* "src/ssl/package.lisp"
8024 (("libcrypto\\.so")
8025 (string-append (assoc-ref inputs "openssl")
8026 "/lib/libcrypto.so"))
8027 (("libssl\\.so")
8028 (string-append (assoc-ref inputs "openssl")
8029 "/lib/libssl.so")))
2ff8b5ba
GLV
8030 #t)))))
8031 (synopsis "Asynchronous operations for Common Lisp")
8032 (description
8033 "Cl-async is a library for general purpose, non-blocking programming in
8034Common Lisp. It uses the libuv library as backend.")
8035 (home-page "https://orthecreedence.github.io/cl-async/")
8036 (license license:expat))))
ae51aa91 8037
2ff8b5ba
GLV
8038(define-public cl-async
8039 (sbcl-package->cl-source-package sbcl-cl-async))
ae51aa91 8040
2ff8b5ba
GLV
8041(define-public ecl-cl-async
8042 (sbcl-package->ecl-package sbcl-cl-async))
34f9b581
GLV
8043
8044(define-public sbcl-blackbird
8045 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8046 (revision "1"))
8047 (package
8048 (name "sbcl-blackbird")
8049 (version (git-version "0.5.2" revision commit))
8050 (source
8051 (origin
8052 (method git-fetch)
8053 (uri (git-reference
b0e7b699 8054 (url "https://github.com/orthecreedence/blackbird")
34f9b581
GLV
8055 (commit commit)))
8056 (file-name (git-file-name name version))
8057 (sha256
8058 (base32
8059 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8060 (build-system asdf-build-system/sbcl)
8061 (inputs
8062 `(("vom" ,sbcl-vom)))
8063 (native-inputs
8064 `(("cl-async" ,sbcl-cl-async)
8065 ("fiveam" ,sbcl-fiveam)))
8066 (synopsis "Promise implementation for Common Lisp")
8067 (description
8068 "This is a standalone promise implementation for Common Lisp. It is
8069the successor to the now-deprecated cl-async-future project.")
e0318062 8070 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
8071 (license license:expat))))
8072
8073(define-public cl-blackbird
8074 (sbcl-package->cl-source-package sbcl-blackbird))
8075
8076(define-public ecl-blackbird
8077 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
8078
8079(define-public sbcl-cl-async-future
8080 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8081 (revision "1"))
8082 (package
8083 (name "sbcl-cl-async-future")
8084 (version (git-version "0.4.4.1" revision commit))
8085 (source
8086 (origin
8087 (method git-fetch)
8088 (uri (git-reference
b0e7b699 8089 (url "https://github.com/orthecreedence/cl-async-future")
c5eedf80
GLV
8090 (commit commit)))
8091 (file-name (git-file-name name version))
8092 (sha256
8093 (base32
8094 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8095 (build-system asdf-build-system/sbcl)
8096 (inputs
8097 `(("blackbird" ,sbcl-blackbird)))
8098 (native-inputs
8099 `(("cl-async" ,sbcl-cl-async)
8100 ("eos" ,sbcl-eos)))
8101 (synopsis "Futures implementation for Common Lisp")
8102 (description
8103 "This is futures implementation for Common Lisp. It plugs in nicely
8104to cl-async.")
e0318062 8105 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
8106 (license license:expat))))
8107
8108(define-public cl-async-future
8109 (sbcl-package->cl-source-package sbcl-cl-async-future))
8110
8111(define-public ecl-cl-async-future
8112 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
8113
8114(define-public sbcl-green-threads
8115 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8116 (revision "1"))
8117 (package
8118 (name "sbcl-green-threads")
8119 (version (git-version "0.3" revision commit))
8120 (source
8121 (origin
8122 (method git-fetch)
8123 (uri (git-reference
b0e7b699 8124 (url "https://github.com/thezerobit/green-threads")
8ea00edf
GLV
8125 (commit commit)))
8126 (file-name (git-file-name name version))
8127 (sha256
8128 (base32
8129 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8130 (build-system asdf-build-system/sbcl)
8131 (inputs
8132 `(("cl-async-future" ,sbcl-cl-async-future)
8133 ("cl-cont" ,sbcl-cl-cont)))
8134 (native-inputs
8135 `(("prove" ,sbcl-prove)))
8136 (arguments
8137 `(;; TODO: Fix the tests. They fail with:
8138 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8139 #:tests? #f
8140 #:phases
8141 (modify-phases %standard-phases
8142 (add-after 'unpack 'fix-tests
8143 (lambda _
8144 (substitute* "green-threads-test.asd"
8145 (("cl-test-more")
8146 "prove"))
8147 #t)))))
8148 (synopsis "Cooperative multitasking library for Common Lisp")
8149 (description
8150 "This library allows for cooperative multitasking with help of cl-cont
8151for continuations. It tries to mimic the API of bordeaux-threads as much as
8152possible.")
8153 (home-page "https://github.com/thezerobit/green-threads")
8154 (license license:bsd-3))))
8155
8156(define-public cl-green-threads
8157 (sbcl-package->cl-source-package sbcl-green-threads))
8158
8159(define-public ecl-green-threads
8160 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
8161
8162(define-public sbcl-cl-base32
8163 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8164 (revision "1"))
8165 (package
8166 (name "sbcl-cl-base32")
8167 (version (git-version "0.1" revision commit))
8168 (source
8169 (origin
8170 (method git-fetch)
8171 (uri (git-reference
b0e7b699 8172 (url "https://github.com/hargettp/cl-base32")
3ac0e64d
GLV
8173 (commit commit)))
8174 (file-name (git-file-name name version))
8175 (sha256
8176 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8177 (build-system asdf-build-system/sbcl)
8178 (native-inputs
8179 `(("lisp-unit" ,sbcl-lisp-unit)))
8180 (synopsis "Common Lisp library for base32 encoding and decoding")
8181 (description
8182 "This package provides functions for base32 encoding and decoding as
8183defined in RFC4648.")
8184 (home-page "https://github.com/hargettp/cl-base32")
8185 (license license:expat))))
8186
8187(define-public cl-base32
8188 (sbcl-package->cl-source-package sbcl-cl-base32))
8189
8190(define-public ecl-cl-base32
8191 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
8192
8193(define-public sbcl-cl-z85
8194 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8195 (revision "1"))
8196 (package
8197 (name "sbcl-cl-z85")
8198 (version (git-version "1.0" revision commit))
8199 (source
8200 (origin
8201 (method git-fetch)
8202 (uri (git-reference
b0e7b699 8203 (url "https://github.com/glv2/cl-z85")
c5bbcb82
GLV
8204 (commit commit)))
8205 (file-name (git-file-name name version))
8206 (sha256
8207 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8208 (build-system asdf-build-system/sbcl)
8209 (native-inputs
8210 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8211 ("fiveam" ,sbcl-fiveam)))
8212 (synopsis "Common Lisp library for Z85 encoding and decoding")
8213 (description
8214 "This package provides functions to encode or decode byte vectors or
8215byte streams using the Z85 format, which is a base-85 encoding used by
8216ZeroMQ.")
8217 (home-page "https://github.com/glv2/cl-z85")
8218 (license license:gpl3+))))
8219
8220(define-public cl-z85
8221 (sbcl-package->cl-source-package sbcl-cl-z85))
8222
8223(define-public ecl-cl-z85
8224 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
8225
8226(define-public sbcl-ltk
8227 (package
8228 (name "sbcl-ltk")
8229 (version "0.992")
8230 (source
8231 (origin
8232 (method git-fetch)
8233 (uri (git-reference
b0e7b699 8234 (url "https://github.com/herth/ltk")
d3a2df68
GLV
8235 (commit version)))
8236 (file-name (git-file-name name version))
8237 (sha256
8238 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8239 (build-system asdf-build-system/sbcl)
8240 (inputs
8241 `(("imagemagick" ,imagemagick)
8242 ("tk" ,tk)))
8243 (arguments
3f8bbf7c 8244 `(#:asd-systems '("ltk"
2ff8b5ba
GLV
8245 "ltk-mw"
8246 "ltk-remote")
d3a2df68 8247 #:tests? #f
2ff8b5ba
GLV
8248 #:phases
8249 (modify-phases %standard-phases
8250 (add-after 'unpack 'fix-paths
8251 (lambda* (#:key inputs #:allow-other-keys)
8252 (substitute* "ltk/ltk.lisp"
8253 (("#-freebsd \"wish\"")
8254 (string-append "#-freebsd \""
8255 (assoc-ref inputs "tk")
8256 "/bin/wish\""))
8257 (("do-execute \"convert\"")
8258 (string-append "do-execute \""
8259 (assoc-ref inputs "imagemagick")
8260 "/bin/convert\"")))
8261 #t))
8262 (add-after 'unpack 'fix-build
8263 (lambda _
8264 (substitute* "ltk/ltk-remote.lisp"
8265 (("\\(:export")
8266 "(:shadow #:raise) (:export"))
8267 #t)))))
d3a2df68
GLV
8268 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8269 (description
8270 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8271in pure Common Lisp and does not require any Tk knowledge for its usage.")
8272 (home-page "http://www.peter-herth.de/ltk/")
8273 (license license:llgpl)))
8274
8275(define-public cl-ltk
8276 (sbcl-package->cl-source-package sbcl-ltk))
8277
8278(define-public ecl-ltk
8279 (sbcl-package->ecl-package sbcl-ltk))
811747f9 8280
95abaafb
GLV
8281(define-public sbcl-cl-lex
8282 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8283 (revision "1"))
8284 (package
8285 (name "sbcl-cl-lex")
8286 (version (git-version "1.1.3" revision commit))
8287 (source
8288 (origin
8289 (method git-fetch)
8290 (uri (git-reference
b0e7b699 8291 (url "https://github.com/djr7C4/cl-lex")
95abaafb
GLV
8292 (commit commit)))
8293 (file-name (git-file-name name version))
8294 (sha256
8295 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8296 (build-system asdf-build-system/sbcl)
8297 (inputs
8298 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8299 (synopsis "Common Lisp macros for generating lexical analyzers")
8300 (description
8301 "This is a Common Lisp library providing a set of macros for generating
8302lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8303be used with @code{cl-yacc}.")
8304 (home-page "https://github.com/djr7C4/cl-lex")
8305 (license license:gpl3))))
8306
8307(define-public cl-lex
8308 (sbcl-package->cl-source-package sbcl-cl-lex))
8309
8310(define-public ecl-cl-lex
8311 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
8312
8313(define-public sbcl-clunit2
8314 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8315 (revision "1"))
8316 (package
8317 (name "sbcl-clunit2")
8318 (version (git-version "0.2.4" revision commit))
8319 (source
8320 (origin
8321 (method git-fetch)
8322 (uri (git-reference
8323 (url "https://notabug.org/cage/clunit2.git")
8324 (commit commit)))
8325 (file-name (git-file-name name version))
8326 (sha256
8327 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8328 (build-system asdf-build-system/sbcl)
8329 (synopsis "Unit testing framework for Common Lisp")
8330 (description
8331 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8332easy to use so that you can quickly start testing.")
8333 (home-page "https://notabug.org/cage/clunit2")
8334 (license license:expat))))
8335
8336(define-public cl-clunit2
8337 (sbcl-package->cl-source-package sbcl-clunit2))
8338
8339(define-public ecl-clunit2
8340 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
8341
8342(define-public sbcl-cl-colors2
8343 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8344 (revision "1"))
8345 (package
8346 (name "sbcl-cl-colors2")
8347 (version (git-version "0.2.1" revision commit))
8348 (source
8349 (origin
8350 (method git-fetch)
8351 (uri (git-reference
8352 (url "https://notabug.org/cage/cl-colors2.git")
8353 (commit commit)))
8354 (file-name (git-file-name name version))
8355 (sha256
8356 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8357 (build-system asdf-build-system/sbcl)
8358 (native-inputs
8359 `(("clunit2" ,sbcl-clunit2)))
8360 (inputs
8361 `(("alexandria" ,sbcl-alexandria)
8362 ("cl-ppcre" ,sbcl-cl-ppcre)))
8363 (synopsis "Color library for Common Lisp")
8364 (description
8365 "This is a very simple color library for Common Lisp, providing:
8366
8367@itemize
8368@item Types for representing colors in HSV and RGB spaces.
8369@item Simple conversion functions between the above types (and also
8370hexadecimal representation for RGB).
8371@item Some predefined colors (currently X11 color names -- of course
8372the library does not depend on X11).
8373@end itemize\n")
8374 (home-page "https://notabug.org/cage/cl-colors2")
8375 (license license:boost1.0))))
8376
8377(define-public cl-colors2
8378 (sbcl-package->cl-source-package sbcl-cl-colors2))
8379
8380(define-public ecl-cl-colors2
8381 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
8382
8383(define-public sbcl-cl-jpeg
8384 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8385 (revision "1"))
8386 (package
8387 (name "sbcl-cl-jpeg")
8388 (version (git-version "2.8" revision commit))
8389 (source
8390 (origin
8391 (method git-fetch)
8392 (uri (git-reference
b0e7b699 8393 (url "https://github.com/sharplispers/cl-jpeg")
d5f63a73
GLV
8394 (commit commit)))
8395 (file-name (git-file-name name version))
8396 (sha256
8397 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8398 (build-system asdf-build-system/sbcl)
8399 (synopsis "JPEG image library for Common Lisp")
8400 (description
8401 "This is a baseline JPEG codec written in Common Lisp. It can be used
8402for reading and writing JPEG image files.")
8403 (home-page "https://github.com/sharplispers/cl-jpeg")
8404 (license license:bsd-3))))
8405
8406(define-public cl-jpeg
8407 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8408
8409(define-public ecl-cl-jpeg
8410 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
8411
8412(define-public sbcl-nodgui
8413 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8414 (revision "1"))
8415 (package
8416 (name "sbcl-nodgui")
8417 (version (git-version "0.0.5" revision commit))
8418 (source
8419 (origin
8420 (method git-fetch)
8421 (uri (git-reference
8422 (url "https://notabug.org/cage/nodgui.git")
8423 (commit commit)))
8424 (file-name (git-file-name name version))
8425 (sha256
8426 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8427 (build-system asdf-build-system/sbcl)
8428 (inputs
8429 `(("alexandria" ,sbcl-alexandria)
8430 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8431 ("cl-colors2" ,sbcl-cl-colors2)
8432 ("cl-jpeg" ,sbcl-cl-jpeg)
8433 ("cl-lex" ,sbcl-cl-lex)
8434 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8435 ("cl-unicode" ,sbcl-cl-unicode)
8436 ("cl-yacc" ,sbcl-cl-yacc)
8437 ("clunit2" ,sbcl-clunit2)
8438 ("named-readtables" ,sbcl-named-readtables)
8439 ("parse-number" ,sbcl-parse-number)
8440 ("tk" ,tk)))
8441 (arguments
8442 `(#:phases (modify-phases %standard-phases
8443 (add-after 'unpack 'fix-paths
8444 (lambda* (#:key inputs #:allow-other-keys)
8445 (substitute* "src/wish-communication.lisp"
8446 (("#-freebsd \"wish\"")
8447 (string-append "#-freebsd \""
8448 (assoc-ref inputs "tk")
8449 "/bin/wish\"")))
8450 #t)))))
8451 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8452 (description
8453 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8454toolkit. It also provides a few additional widgets more than the standard Tk
8455ones.")
8456 (home-page "https://www.autistici.org/interzona/nodgui.html")
8457 (license license:llgpl))))
8458
8459(define-public cl-nodgui
8460 (sbcl-package->cl-source-package sbcl-nodgui))
8461
8462(define-public ecl-nodgui
8463 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
8464
8465(define-public sbcl-salza2
8466 (package
8467 (name "sbcl-salza2")
8468 (version "2.0.9")
8469 (source
8470 (origin
8471 (method git-fetch)
8472 (uri (git-reference
b0e7b699 8473 (url "https://github.com/xach/salza2")
46cc2a38
GLV
8474 (commit (string-append "release-" version))))
8475 (file-name (git-file-name name version))
8476 (sha256
8477 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8478 (build-system asdf-build-system/sbcl)
8479 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8480 (description
8481 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8482deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8483respectively.")
8484 (home-page "https://www.xach.com/lisp/salza2/")
8485 (license license:bsd-2)))
8486
8487(define-public cl-salza2
8488 (sbcl-package->cl-source-package sbcl-salza2))
8489
8490(define-public ecl-salza2
8491 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
8492
8493(define-public sbcl-png-read
8494 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
8495 (revision "1"))
8496 (package
8497 (name "sbcl-png-read")
8498 (version (git-version "0.3.1" revision commit))
8499 (source
8500 (origin
8501 (method git-fetch)
8502 (uri (git-reference
b0e7b699 8503 (url "https://github.com/Ramarren/png-read")
d165821e
GLV
8504 (commit commit)))
8505 (file-name (git-file-name name version))
8506 (sha256
8507 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
8508 (build-system asdf-build-system/sbcl)
8509 (inputs
8510 `(("babel" ,sbcl-babel)
8511 ("chipz" ,sbcl-chipz)
8512 ("iterate" ,sbcl-iterate)))
8513 (synopsis "PNG decoder for Common Lisp")
8514 (description "This is a Common Lisp library for reading PNG images.")
8515 (home-page "https://github.com/Ramarren/png-read")
8516 (license license:bsd-3))))
8517
8518(define-public cl-png-read
8519 (sbcl-package->cl-source-package sbcl-png-read))
8520
8521(define-public ecl-png-read
8522 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
8523
8524(define-public sbcl-zpng
8525 (package
8526 (name "sbcl-zpng")
8527 (version "1.2.2")
8528 (source
8529 (origin
8530 (method git-fetch)
8531 (uri (git-reference
b0e7b699 8532 (url "https://github.com/xach/zpng")
7b875e4e
GLV
8533 (commit (string-append "release-" version))))
8534 (file-name (git-file-name name version))
8535 (sha256
8536 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
8537 (build-system asdf-build-system/sbcl)
8538 (inputs
8539 `(("salza2" ,sbcl-salza2)))
8540 (synopsis "PNG encoder for Common Lisp")
8541 (description "This is a Common Lisp library for creating PNG images.")
8542 (home-page "https://www.xach.com/lisp/zpng/")
8543 (license license:bsd-2)))
8544
8545(define-public cl-zpng
8546 (sbcl-package->cl-source-package sbcl-zpng))
8547
8548(define-public ecl-zpng
8549 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
8550
8551(define-public sbcl-cl-qrencode
8552 (package
8553 (name "sbcl-cl-qrencode")
8554 (version "0.1.2")
8555 (source
8556 (origin
8557 (method git-fetch)
8558 (uri (git-reference
b0e7b699 8559 (url "https://github.com/jnjcc/cl-qrencode")
5d4d4c01
GLV
8560 (commit (string-append "v" version))))
8561 (file-name (git-file-name name version))
8562 (sha256
8563 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
8564 (build-system asdf-build-system/sbcl)
8565 (native-inputs
8566 `(("lisp-unit" ,sbcl-lisp-unit)))
8567 (inputs
8568 `(("zpng" ,sbcl-zpng)))
8569 (synopsis "QR code encoder for Common Lisp")
8570 (description
8571 "This Common Lisp library provides function to make QR codes and to save
8572them as PNG files.")
8573 (home-page "https://github.com/jnjcc/cl-qrencode")
8574 (license license:gpl2+)))
8575
8576(define-public cl-qrencode
8577 (sbcl-package->cl-source-package sbcl-cl-qrencode))
8578
8579(define-public ecl-cl-qrencode
8580 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
8581
8582(define-public sbcl-hdf5-cffi
8583 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
8584 (revision "1"))
8585 (package
8586 (name "sbcl-hdf5-cffi")
8587 (version (git-version "1.8.18" revision commit))
8588 (source
8589 (origin
8590 (method git-fetch)
8591 (uri (git-reference
b0e7b699 8592 (url "https://github.com/hdfgroup/hdf5-cffi")
c6397e3e
KH
8593 (commit commit)))
8594 (file-name (git-file-name name version))
8595 (sha256
8596 (base32
8597 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
8598 (build-system asdf-build-system/sbcl)
8599 (synopsis "Common Lisp bindings for the HDF5 library")
8600 (description
8601 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
8602 (home-page "https://github.com/hdfgroup/hdf5-cffi")
8603 (license (license:non-copyleft
8604 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
8605 commit
8606 "/LICENSE")))
8607 (inputs
8608 `(("cffi" ,sbcl-cffi)
c6397e3e
KH
8609 ("hdf5" ,hdf5-1.10)))
8610 (native-inputs
8611 `(("fiveam" ,sbcl-fiveam)))
8612 (arguments
e765d9c9 8613 `(#:test-asd-file "hdf5-cffi.test.asd"
c6397e3e
KH
8614 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
8615 ;; I don't know if there is a way to tell asdf-build-system to load
8616 ;; an additional system first, so tests are disabled.
8617 #:tests? #f
8618 #:phases
8619 (modify-phases %standard-phases
8620 (add-after 'unpack 'fix-paths
8621 (lambda* (#:key inputs #:allow-other-keys)
8622 (substitute* "src/library.lisp"
8623 (("libhdf5.so")
8624 (string-append
8625 (assoc-ref inputs "hdf5")
8626 "/lib/libhdf5.so")))))
8627 (add-after 'unpack 'fix-dependencies
8628 (lambda* (#:key inputs #:allow-other-keys)
8629 (substitute* "hdf5-cffi.asd"
8630 ((":depends-on \\(:cffi\\)")
8631 ":depends-on (:cffi :cffi-grovel)"))
8632 (substitute* "hdf5-cffi.test.asd"
8633 ((":depends-on \\(:cffi :hdf5-cffi")
8634 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
8635
8636(define-public cl-hdf5-cffi
8637 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
8638
8639(define-public ecl-hdf5-cffi
8640 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
8641
8642(define-public sbcl-cl-randist
8643 (package
8644 (name "sbcl-cl-randist")
8645 (version "0.4.2")
8646 (source
8647 (origin
8648 (method git-fetch)
8649 (uri (git-reference
b0e7b699 8650 (url "https://github.com/lvaruzza/cl-randist")
c6e6254a
KH
8651 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
8652 (file-name (git-file-name name version))
8653 (sha256
8654 (base32
8655 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
8656 (build-system asdf-build-system/sbcl)
8657 (synopsis "Random distributions for Common Lisp")
8658 (description
8659 "Manual translation from C to Common Lisp of some random number
8660generation functions from the GSL library.")
8661 (home-page "https://github.com/lvaruzza/cl-randist")
8662 (license license:bsd-2)
8663 (arguments
e765d9c9 8664 `(#:tests? #f))))
c6e6254a
KH
8665
8666(define-public cl-randist
8667 (sbcl-package->cl-source-package sbcl-cl-randist))
8668
8669(define-public ecl-cl-randist
8670 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
8671
8672(define-public sbcl-float-features
8673 (package
8674 (name "sbcl-float-features")
8675 (version "1.0.0")
8676 (source
8677 (origin
8678 (method git-fetch)
8679 (uri (git-reference
b0e7b699 8680 (url "https://github.com/Shinmera/float-features")
41884bfa
KH
8681 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
8682 (file-name (git-file-name name version))
8683 (sha256
8684 (base32
8685 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
8686 (build-system asdf-build-system/sbcl)
8687 (synopsis "Common Lisp IEEE float portability library")
8688 (description
8689 "Portability library for IEEE float features that are not
8690covered by the Common Lisp standard.")
8691 (home-page "https://github.com/Shinmera/float-features")
8692 (license license:zlib)
8693 (inputs
8694 `(("documentation-utils" ,sbcl-documentation-utils)))
8695 (arguments
e765d9c9 8696 `(#:tests? #f))))
41884bfa
KH
8697
8698(define-public cl-float-features
8699 (sbcl-package->cl-source-package sbcl-float-features))
8700
8701(define-public ecl-float-features
8702 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
8703
8704(define-public sbcl-function-cache
8705 (package
8706 (name "sbcl-function-cache")
8707 (version "1.0.3")
8708 (source
8709 (origin
8710 (method git-fetch)
8711 (uri (git-reference
b0e7b699 8712 (url "https://github.com/AccelerationNet/function-cache")
06327c30
KH
8713 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
8714 (file-name (git-file-name name version))
8715 (sha256
8716 (base32
8717 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
8718 (build-system asdf-build-system/sbcl)
8719 (synopsis "Function caching / memoization library for Common Lisp")
8720 (description
8721 "A common lisp library that provides extensible function result
8722caching based on arguments (an expanded form of memoization).")
8723 (home-page "https://github.com/AccelerationNet/function-cache")
8724 (license
8725 (license:non-copyleft
8726 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
8727 (inputs
8728 `(("alexandria" ,sbcl-alexandria)
8729 ("cl-interpol" ,sbcl-cl-interpol)
8730 ("iterate" ,sbcl-iterate)
8731 ("symbol-munger" ,sbcl-symbol-munger)
8732 ("closer-mop" ,sbcl-closer-mop)))
8733 (arguments
e765d9c9 8734 `(#:tests? #f))))
06327c30
KH
8735
8736(define-public cl-function-cache
8737 (sbcl-package->cl-source-package sbcl-function-cache))
8738
8739(define-public ecl-function-cache
8740 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87
KH
8741
8742(define-public sbcl-type-r
8743 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
8744 (revision "1"))
8745 (package
8746 (name "sbcl-type-r")
8747 (version (git-version "0.0.0" revision commit))
8748 (source
8749 (origin
8750 (method git-fetch)
8751 (uri (git-reference
b0e7b699 8752 (url "https://github.com/guicho271828/type-r")
e4f7ef87
KH
8753 (commit commit)))
8754 (file-name (git-file-name name version))
8755 (sha256
8756 (base32
8757 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
8758 (build-system asdf-build-system/sbcl)
8759 (synopsis "Parser interface for Common Lisp built-in compound types")
8760 (description
8761 "Collections of accessor functions and patterns to access
8762the elements in compound type specifier, e.g. @code{dimensions} in
8763@code{(array element-type dimensions)}")
8764 (home-page "https://github.com/guicho271828/type-r")
8765 (license license:lgpl3+)
8766 (inputs
8767 `(("trivia" ,sbcl-trivia)
8768 ("alexandria" ,sbcl-alexandria)))
8769 (native-inputs
8770 `(("fiveam" ,sbcl-fiveam)))
8771 (arguments
e765d9c9 8772 `(#:test-asd-file "type-r.test.asd")))))
e4f7ef87
KH
8773
8774(define-public cl-type-r
8775 (sbcl-package->cl-source-package sbcl-type-r))
8926866e 8776
12df8b7b
GLV
8777(define-public ecl-type-r
8778 (sbcl-package->ecl-package sbcl-type-r))
8779
8926866e
KH
8780(define-public sbcl-trivialib-type-unify
8781 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
8782 (revision "1"))
8783 (package
8784 (name "sbcl-trivialib-type-unify")
8785 (version (git-version "0.1" revision commit))
8786 (source
8787 (origin
8788 (method git-fetch)
8789 (uri (git-reference
b0e7b699 8790 (url "https://github.com/guicho271828/trivialib.type-unify")
8926866e
KH
8791 (commit commit)))
8792 (file-name (git-file-name name version))
8793 (sha256
8794 (base32
8795 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
8796 (build-system asdf-build-system/sbcl)
8797 (synopsis "Common Lisp type unification")
8798 (description
8799 "Unifies a parametrized type specifier against an actual type specifier.
8800Importantly, it handles complicated array-subtypes and number-related types
8801correctly.")
8802 (home-page "https://github.com/guicho271828/trivialib.type-unify")
8803 (license license:lgpl3+)
8804 (inputs
8805 `(("alexandria" ,sbcl-alexandria)
8806 ("trivia" ,sbcl-trivia)
8807 ("introspect-environment" ,sbcl-introspect-environment)
8808 ("type-r" ,sbcl-type-r)))
8809 (native-inputs
8810 `(("fiveam" ,sbcl-fiveam)))
8811 (arguments
2ff8b5ba 8812 `(#:asd-systems '("trivialib.type-unify")
8926866e
KH
8813 #:test-asd-file "trivialib.type-unify.test.asd")))))
8814
8815(define-public cl-trivialib-type-unify
8816 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f 8817
12df8b7b
GLV
8818(define-public ecl-trivialib-type-unify
8819 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
8820
ca6c5c7f 8821(define-public sbcl-specialized-function
e95a6311
GLV
8822 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
8823 (revision "2"))
ca6c5c7f
KH
8824 (package
8825 (name "sbcl-specialized-function")
8826 (version (git-version "0.0.0" revision commit))
8827 (source
8828 (origin
8829 (method git-fetch)
8830 (uri (git-reference
b0e7b699 8831 (url "https://github.com/numcl/specialized-function")
ca6c5c7f
KH
8832 (commit commit)))
8833 (file-name (git-file-name name version))
8834 (sha256
e95a6311 8835 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
ca6c5c7f
KH
8836 (build-system asdf-build-system/sbcl)
8837 (synopsis "Julia-like dispatch for Common Lisp")
8838 (description
8839 "This library is part of NUMCL. It provides a macro
8840@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
8841lazily compiling a type-specific version of the function from the same
8842code. The main target of this macro is speed.")
8843 (home-page "https://github.com/numcl/specialized-function")
8844 (license license:lgpl3+)
8845 (inputs
8846 `(("trivia" ,sbcl-trivia)
8847 ("alexandria" ,sbcl-alexandria)
8848 ("iterate" ,sbcl-iterate)
8849 ("lisp-namespace" ,sbcl-lisp-namespace)
8850 ("type-r" ,sbcl-type-r)
8851 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
8852 (native-inputs
8853 `(("fiveam" ,sbcl-fiveam)))
8854 (arguments
e765d9c9 8855 `(#:asd-files '("specialized-function.asd")
26e92b7e
GLV
8856 #:test-asd-file "specialized-function.test.asd"
8857 ;; Tests fail because they try to use an internal symbol of SBCL
8858 ;; that does not exists in recent versions:
8859 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
8860 #:tests? #f)))))
ca6c5c7f
KH
8861
8862(define-public cl-specialized-function
8863 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95 8864
e95a6311
GLV
8865(define-public ecl-specialized-function
8866 (sbcl-package->ecl-package sbcl-specialized-function))
8867
6e0f2b95
KH
8868(define-public sbcl-constantfold
8869 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
8870 (revision "1"))
8871 (package
8872 (name "sbcl-constantfold")
8873 (version (git-version "0.1" revision commit))
8874 (source
8875 (origin
8876 (method git-fetch)
8877 (uri (git-reference
b0e7b699 8878 (url "https://github.com/numcl/constantfold")
6e0f2b95
KH
8879 (commit commit)))
8880 (file-name (git-file-name name version))
8881 (sha256
8882 (base32
8883 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
8884 (build-system asdf-build-system/sbcl)
8885 (synopsis "Support library for numcl")
8886 (description
8887 "Support library for numcl. Registers a function as an
8888additional form that is considered as a candidate for a constant.")
8889 (home-page "https://github.com/numcl/constantfold")
8890 (license license:lgpl3+)
8891 (inputs
8892 `(("trivia" ,sbcl-trivia)
8893 ("alexandria" ,sbcl-alexandria)
8894 ("iterate" ,sbcl-iterate)
8895 ("lisp-namespace" ,sbcl-lisp-namespace)))
8896 (native-inputs
8897 `(("fiveam" ,sbcl-fiveam)))
8898 (arguments
e765d9c9 8899 `(#:asd-files '("constantfold.asd")
6e0f2b95
KH
8900 #:test-asd-file "constantfold.test.asd")))))
8901
8902(define-public cl-constantfold
8903 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186 8904
12df8b7b
GLV
8905(define-public ecl-constantfold
8906 (sbcl-package->ecl-package sbcl-constantfold))
8907
5ce7d186 8908(define-public sbcl-gtype
e4c03dd5
GLV
8909 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
8910 (revision "2"))
5ce7d186
KH
8911 (package
8912 (name "sbcl-gtype")
8913 (version (git-version "0.1" revision commit))
8914 (source
8915 (origin
8916 (method git-fetch)
8917 (uri (git-reference
b0e7b699 8918 (url "https://github.com/numcl/gtype")
5ce7d186
KH
8919 (commit commit)))
8920 (file-name (git-file-name name version))
8921 (sha256
e4c03dd5 8922 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
5ce7d186
KH
8923 (build-system asdf-build-system/sbcl)
8924 (synopsis "C++/Julia-like parametric types in Common Lisp")
8925 (description
8926 "Support library for numcl that provides Julia-like runtime parametric
8927type correctness in Common Lisp. It is based on CLtL2 extensions.")
8928 (home-page "https://github.com/numcl/gtype")
8929 (license license:lgpl3+)
8930 (inputs
8931 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
8932 ("trivial-cltl2" ,sbcl-trivial-cltl2)
8933 ("trivia" ,sbcl-trivia)
8934 ("alexandria" ,sbcl-alexandria)
8935 ("iterate" ,sbcl-iterate)
8936 ("type-r" ,sbcl-type-r)))
8937 (native-inputs
8938 `(("fiveam" ,sbcl-fiveam)))
8939 (arguments
e765d9c9 8940 `(#:asd-files '("gtype.asd")
5ce7d186
KH
8941 #:test-asd-file "gtype.test.asd")))))
8942
8943(define-public cl-gtype
8944 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200 8945
e4c03dd5
GLV
8946(define-public ecl-gtype
8947 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
8948 (package
8949 (inherit pkg)
8950 (arguments
8951 (substitute-keyword-arguments (package-arguments pkg)
8952 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
8953 ((#:tests? _ #f) #f))))))
8954
7ad12200 8955(define-public sbcl-numcl
4287ee69
GLV
8956 (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a")
8957 (revision "2"))
7ad12200
KH
8958 (package
8959 (name "sbcl-numcl")
8960 (version (git-version "0.1.0" revision commit))
8961 (source
8962 (origin
8963 (method git-fetch)
8964 (uri (git-reference
b0e7b699 8965 (url "https://github.com/numcl/numcl")
7ad12200
KH
8966 (commit commit)))
8967 (file-name (git-file-name name version))
8968 (sha256
4287ee69 8969 (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4"))))
7ad12200
KH
8970 (build-system asdf-build-system/sbcl)
8971 (synopsis "Numpy clone in Common Lisp")
8972 (description
8973 "This is a Numpy clone in Common Lisp. At the moment the
8974library is written in pure Common Lisp, focusing more on correctness
8975and usefulness, not speed. Track the progress at
8976@url{https://github.com/numcl/numcl/projects/1}.")
8977 (home-page "https://github.com/numcl/numcl")
8978 (license license:lgpl3+)
8979 (inputs
8980 `(("trivia" ,sbcl-trivia)
8981 ("alexandria" ,sbcl-alexandria)
8982 ("iterate" ,sbcl-iterate)
8983 ("lisp-namespace" ,sbcl-lisp-namespace)
8984 ("type-r" ,sbcl-type-r)
8985 ("constantfold" ,sbcl-constantfold)
8986 ("cl-randist" ,sbcl-cl-randist)
8987 ("float-features" ,sbcl-float-features)
8988 ("function-cache" ,sbcl-function-cache)
8989 ("specialized-function" ,sbcl-specialized-function)
8990 ("gtype" ,sbcl-gtype)))
8991 (native-inputs
8992 `(("fiveam" ,sbcl-fiveam)))
8993 (arguments
e765d9c9 8994 `(#:asd-files '("numcl.asd")
4287ee69
GLV
8995 #:test-asd-file "numcl.test.asd"
8996 ;; Tests fail on SBCL with "Heap exhausted, game over",
8997 ;; but they pass on ECL.
8998 #:tests? #f)))))
7ad12200
KH
8999
9000(define-public cl-numcl
9001 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410 9002
4287ee69 9003(define-public ecl-numcl
3f3c1d67
GLV
9004 (let ((pkg (sbcl-package->ecl-package sbcl-numcl)))
9005 (package
9006 (inherit pkg)
9007 (arguments
9008 (substitute-keyword-arguments (package-arguments pkg)
9009 ((#:tests? _ #f) #t))))))
4287ee69 9010
a3f6c410
GLV
9011(define-public sbcl-pzmq
9012 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9013 (revision "1"))
9014 (package
9015 (name "sbcl-pzmq")
9016 (version (git-version "0.0.0" revision commit))
9017 (source
9018 (origin
9019 (method git-fetch)
9020 (uri (git-reference
b0e7b699 9021 (url "https://github.com/orivej/pzmq")
a3f6c410
GLV
9022 (commit commit)))
9023 (file-name (git-file-name name version))
9024 (sha256
9025 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9026 (build-system asdf-build-system/sbcl)
9027 (native-inputs
9028 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9029 ("fiveam" ,sbcl-fiveam)
9030 ("let-plus" ,sbcl-let-plus)))
9031 (inputs
9032 `(("cffi" ,sbcl-cffi)
a3f6c410
GLV
9033 ("zeromq" ,zeromq)))
9034 (arguments
9035 `(#:phases (modify-phases %standard-phases
9036 (add-after 'unpack 'fix-paths
9037 (lambda* (#:key inputs #:allow-other-keys)
9038 (substitute* "c-api.lisp"
9039 (("\"libzmq")
9040 (string-append "\""
9041 (assoc-ref inputs "zeromq")
9042 "/lib/libzmq")))
9043 #t)))))
9044 (synopsis "Common Lisp bindings for the ZeroMQ library")
9045 (description "This Common Lisp library provides bindings for the ZeroMQ
9046lightweight messaging kernel.")
9047 (home-page "https://github.com/orivej/pzmq")
9048 (license license:unlicense))))
9049
9050(define-public cl-pzmq
9051 (sbcl-package->cl-source-package sbcl-pzmq))
9052
9053(define-public ecl-pzmq
9054 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
9055
9056(define-public sbcl-clss
9057 (let ((revision "1")
9058 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9059 (package
9060 (name "sbcl-clss")
9061 (version (git-version "0.3.1" revision commit))
9062 (source
9063 (origin
9064 (method git-fetch)
9065 (uri
9066 (git-reference
b0e7b699 9067 (url "https://github.com/Shinmera/clss")
cfc9004e
DD
9068 (commit commit)))
9069 (sha256
9070 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9071 (file-name (git-file-name name version))))
9072 (inputs
9073 `(("array-utils" ,sbcl-array-utils)
9074 ("plump" ,sbcl-plump)))
9075 (build-system asdf-build-system/sbcl)
9076 (synopsis "DOM tree searching engine based on CSS selectors")
9077 (description "CLSS is a DOM traversal engine based on CSS
9078selectors. It makes use of the Plump-DOM and is used by lQuery.")
9079 (home-page "https://github.com/Shinmera/clss")
9080 (license license:zlib))))
9081
9082(define-public cl-clss
9083 (sbcl-package->cl-source-package sbcl-clss))
9084
9085(define-public ecl-clss
9086 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
9087
9088(define-public sbcl-lquery
9089 (let ((revision "1")
9090 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9091 (package
9092 (name "sbcl-lquery")
9093 (version (git-version "3.2.1" revision commit))
9094 (source
9095 (origin
9096 (method git-fetch)
9097 (uri
9098 (git-reference
b0e7b699 9099 (url "https://github.com/Shinmera/lquery")
eb859957
DD
9100 (commit commit)))
9101 (sha256
9102 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9103 (file-name (git-file-name name version))))
9104 (native-inputs
9105 `(("fiveam" ,sbcl-fiveam)))
9106 (inputs
9107 `(("array-utils" ,sbcl-array-utils)
9108 ("form-fiddle" ,sbcl-form-fiddle)
9109 ("plump" ,sbcl-plump)
9110 ("clss" ,sbcl-clss)))
9111 (build-system asdf-build-system/sbcl)
9112 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9113 (description "@code{lQuery} is a DOM manipulation library written in
9114Common Lisp, inspired by and based on the jQuery syntax and
9115functions. It uses Plump and CLSS as DOM and selector engines. The
9116main idea behind lQuery is to provide a simple interface for crawling
9117and modifying HTML sites, as well as to allow for an alternative
9118approach to templating.")
9119 (home-page "https://github.com/Shinmera/lquery")
9120 (license license:zlib))))
9121
9122(define-public cl-lquery
9123 (sbcl-package->cl-source-package sbcl-lquery))
9124
9125(define-public ecl-lquery
9126 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
9127
9128(define-public sbcl-cl-mysql
9129 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9130 (revision "1"))
9131 (package
9132 (name "sbcl-cl-mysql")
9133 (version (git-version "0.1" revision commit))
9134 (source
9135 (origin
9136 (method git-fetch)
9137 (uri (git-reference
b0e7b699 9138 (url "https://github.com/hackinghat/cl-mysql")
8a6c0f55
GLV
9139 (commit commit)))
9140 (file-name (git-file-name name version))
9141 (sha256
9142 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9143 (build-system asdf-build-system/sbcl)
9144 (native-inputs
9145 `(("stefil" ,sbcl-stefil)))
9146 (inputs
9147 `(("cffi" ,sbcl-cffi)
9148 ("mariadb-lib" ,mariadb "lib")))
9149 (arguments
9150 `(#:tests? #f ; TODO: Tests require a running server
9151 #:phases
9152 (modify-phases %standard-phases
9153 (add-after 'unpack 'fix-paths
9154 (lambda* (#:key inputs #:allow-other-keys)
9155 (substitute* "system.lisp"
9156 (("libmysqlclient_r" all)
9157 (string-append (assoc-ref inputs "mariadb-lib")
9158 "/lib/"
9159 all)))
9160 #t)))))
9161 (synopsis "Common Lisp wrapper for MySQL")
9162 (description
9163 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9164 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9165 (license license:expat))))
9166
9167(define-public cl-mysql
9168 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2 9169
e7cbcf5a
GLV
9170(define-public ecl-cl-mysql
9171 (sbcl-package->ecl-package sbcl-cl-mysql))
9172
2ff8b5ba 9173(define-public sbcl-postmodern
9717250d
SH
9174 (package
9175 (name "sbcl-postmodern")
9176 (version "1.32.6")
9177 (source
9178 (origin
9179 (method git-fetch)
9180 (uri (git-reference
9181 (url "https://github.com/marijnh/Postmodern")
9182 (commit (string-append "v" version))))
9183 (file-name (git-file-name name version))
9184 (sha256
9185 (base32 "0bfx0hcb9wv47qd334xs0fpmisl75dpvasq1zai210s5wqg0km6d"))))
9186 (build-system asdf-build-system/sbcl)
9187 (native-inputs
9188 `(("fiveam" ,sbcl-fiveam)))
9189 (inputs
9190 `(("alexandria" ,sbcl-alexandria)
9191 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9192 ("cl-base64" ,sbcl-cl-base64)
9193 ("cl-unicode" ,sbcl-cl-unicode)
9194 ("closer-mop" ,sbcl-closer-mop)
9195 ("global-vars" ,sbcl-global-vars)
9196 ("ironclad" ,sbcl-ironclad)
9197 ("local-time" ,sbcl-local-time)
9198 ("md5" ,sbcl-md5)
9199 ("split-sequence" ,sbcl-split-sequence)
9200 ("uax-15" ,sbcl-uax-15)
9201 ("usocket" ,sbcl-usocket)))
9202 (arguments
9203 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9204 ;; step, some functionality in `local-time' prevents passing tests.
9205 ;; Error:
9206 ;;
9207 ;; Can't create directory
9208 ;; /gnu/store
9209 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9210 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9211 ;;
9212 `(#:tests? #f
9213 #:asd-systems '("cl-postgres"
9214 "s-sql"
9215 "postmodern"
9216 "simple-date"
9217 "simple-date/postgres-glue")))
9218 (synopsis "Common Lisp library for interacting with PostgreSQL")
9219 (description
9220 "@code{postmodern} is a Common Lisp library for interacting with
add1a356
GLV
9221PostgreSQL databases. It provides the following features:
9222
9223@itemize
9224@item Efficient communication with the database server without need for
9225foreign libraries.
9226@item Support for UTF-8 on Unicode-aware Lisp implementations.
9227@item A syntax for mixing SQL and Lisp code.
9228@item Convenient support for prepared statements and stored procedures.
9229@item A metaclass for simple database-access objects.
9717250d
SH
9230@end itemize\n
9231
9232This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9233
9234@code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9235to support storing and retrieving time-related SQL types. It is not loaded by
9236default and you can use local-time (which has support for timezones) instead.
9237
9238@code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9239any Lisp values inside, and doing as much as possible of the work at compile
9240time.
9241
9242@code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9243server over a socket.
9244
9245@code{POSTMODERN} itself is a wrapper around these packages and provides higher
9246level functions, a very simple data access object that can be mapped directly to
9247database tables and some convient utilities. It then tries to put all these
9248things together into a convenient programming interface")
9249 (home-page "https://marijnhaverbeke.nl/postmodern/")
9250 (license license:zlib)))
add1a356
GLV
9251
9252(define-public cl-postmodern
9253 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0 9254
12df8b7b
GLV
9255(define-public ecl-postmodern
9256 (package
9257 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9258 (arguments
9259 `(#:tests? #f
9717250d
SH
9260 #:asd-systems '("cl-postgres"
9261 "s-sql"
9262 "postmodern"
9263 "simple-date"
12df8b7b
GLV
9264 "simple-date/postgres-glue")
9265 #:phases
9266 (modify-phases %standard-phases
9267 (add-after 'unpack 'fix-build
9268 (lambda _
9269 (substitute* "cl-postgres.asd"
9717250d
SH
9270 ((":or :sbcl :allegro :ccl :clisp" all)
9271 (string-append all " :ecl")))
12df8b7b
GLV
9272 #t)))))))
9273
d005f809
SH
9274(define-public sbcl-db3
9275 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9276 (revision "1"))
9277 (package
9278 (name "sbcl-db3")
9279 (version (git-version "0.0.0" revision commit))
9280 (source
9281 (origin
9282 (method git-fetch)
9283 (uri (git-reference
9284 (url "https://github.com/dimitri/cl-db3")
9285 (commit commit)))
9286 (file-name (git-file-name "cl-db3" version))
9287 (sha256
9288 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9289 (build-system asdf-build-system/sbcl)
9290 (home-page "https://github.com/dimitri/cl-db3")
9291 (synopsis "Common Lisp library to read dBase III database files")
9292 (description
9293 "This is a Common Lisp library for processing data found in dBase III
9294database files (dbf and db3 files).")
9295 (license license:public-domain))))
9296
9297(define-public ecl-db3
9298 (sbcl-package->ecl-package sbcl-db3))
9299
9300(define-public cl-db3
9301 (sbcl-package->cl-source-package sbcl-db3))
9302
47a6cde0 9303(define-public sbcl-dbi
dba8f523
PN
9304 ;; Master includes a breaking change which other packages depend on since
9305 ;; Quicklisp decided to follow it:
9306 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9307 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9308 (package
9309 (name "sbcl-dbi")
9310 (version (git-version "0.9.4" "1" commit))
9311 (source
9312 (origin
9313 (method git-fetch)
9314 (uri (git-reference
9315 (url "https://github.com/fukamachi/cl-dbi")
9316 (commit commit)))
9317 (file-name (git-file-name name version))
9318 (sha256
9319 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9320 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
9321 (native-inputs
9322 `(("rove" ,sbcl-rove)
9323 ("trivial-types" ,sbcl-trivial-types)))
dba8f523
PN
9324 (inputs
9325 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2ff8b5ba
GLV
9326 ("cl-mysql" ,sbcl-cl-mysql)
9327 ("cl-sqlite" ,sbcl-cl-sqlite)
dba8f523 9328 ("closer-mop" ,sbcl-closer-mop)
2ff8b5ba
GLV
9329 ("postmodern" ,sbcl-postmodern)
9330 ("split-sequence" ,sbcl-split-sequence)
9331 ("trivial-garbage" ,sbcl-trivial-garbage)))
dba8f523 9332 (arguments
3f8bbf7c 9333 `(#:asd-systems '("dbi"
2ff8b5ba
GLV
9334 "dbd-mysql"
9335 "dbd-postgres"
9336 "dbd-sqlite3")))
dba8f523
PN
9337 (synopsis "Database independent interface for Common Lisp")
9338 (description
9339 "@code{dbi} is a Common Lisp library providing a database independent
47a6cde0 9340interface for MySQL, PostgreSQL and SQLite.")
dba8f523
PN
9341 (home-page "https://github.com/fukamachi/cl-dbi")
9342 (license license:llgpl))))
47a6cde0
GLV
9343
9344(define-public cl-dbi
9345 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81 9346
e7cbcf5a
GLV
9347(define-public ecl-dbi
9348 (sbcl-package->ecl-package sbcl-dbi))
9349
1aa7ad1f
GLV
9350(define-public sbcl-uffi
9351 (package
9352 (name "sbcl-uffi")
9353 (version "2.1.2")
9354 (source
9355 (origin
9356 (method git-fetch)
9357 (uri (git-reference
9358 (url "http://git.kpe.io/uffi.git")
9359 (commit (string-append "v" version))))
9360 (file-name (git-file-name name version))
9361 (sha256
9362 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9363 (build-system asdf-build-system/sbcl)
9364 (arguments
9365 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
3f8bbf7c 9366 #:asd-files '("uffi.asd")
1aa7ad1f
GLV
9367 #:phases
9368 (modify-phases %standard-phases
9369 (add-after 'unpack 'fix-permissions
9370 (lambda _
9371 (make-file-writable "doc/html.tar.gz")
9372 #t)))))
9373 (synopsis "Universal foreign function library for Common Lisp")
9374 (description
9375 "UFFI provides a universal foreign function interface (FFI)
9376 for Common Lisp.")
9377 (home-page "http://quickdocs.org/uffi/")
9378 (license license:llgpl)))
9379
9380(define-public cl-uffi
9381 (package
9382 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9383 (arguments
9384 `(#:phases
9385 ;; asdf-build-system/source has its own phases and does not inherit
9386 ;; from asdf-build-system/sbcl phases.
9387 (modify-phases %standard-phases/source
3b392074
GLV
9388 ;; Already done in SBCL package.
9389 (delete 'reset-gzip-timestamps))))))
5ae56f68
GLV
9390
9391(define-public sbcl-clsql
9392 (package
9393 (name "sbcl-clsql")
9394 (version "6.7.0")
9395 (source
9396 (origin
9397 (method git-fetch)
9398 (uri (git-reference
9399 (url "http://git.kpe.io/clsql.git")
9400 (commit (string-append "v" version))))
9401 (file-name (git-file-name name version))
9402 (sha256
9403 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9404 (snippet
9405 '(begin
9406 ;; Remove precompiled libraries.
9407 (delete-file "db-mysql/clsql_mysql.dll")
9408 (delete-file "uffi/clsql_uffi.dll")
9409 (delete-file "uffi/clsql_uffi.lib")
9410 #t))))
9411 (build-system asdf-build-system/sbcl)
9412 (native-inputs
2ff8b5ba 9413 `(("rt" ,sbcl-rt)))
5ae56f68 9414 (inputs
2ff8b5ba
GLV
9415 `(("cffi" ,sbcl-cffi)
9416 ("md5" ,sbcl-md5)
9417 ("mysql" ,mysql)
5ae56f68 9418 ("postgresql" ,postgresql)
2ff8b5ba 9419 ("postmodern" ,sbcl-postmodern)
5ae56f68 9420 ("sqlite" ,sqlite)
2ff8b5ba 9421 ("uffi" ,sbcl-uffi)
5ae56f68 9422 ("zlib" ,zlib)))
5ae56f68 9423 (arguments
135bc7e3 9424 `(#:asd-files '("clsql.asd"
2ff8b5ba
GLV
9425 "clsql-uffi.asd"
9426 "clsql-sqlite3.asd"
9427 "clsql-postgresql.asd"
9428 "clsql-postgresql-socket3.asd"
9429 "clsql-mysql.asd")
9430 #:asd-systems '("clsql"
9431 "clsql-sqlite3"
135bc7e3 9432 "clsql-postgresql"
2ff8b5ba
GLV
9433 "clsql-postgresql-socket3"
9434 "clsql-mysql")
9435 #:phases
9436 (modify-phases %standard-phases
5ae56f68
GLV
9437 (add-after 'unpack 'fix-permissions
9438 (lambda _
9439 (make-file-writable "doc/html.tar.gz")
2ff8b5ba 9440 #t))
135bc7e3
GLV
9441 (add-after 'unpack 'fix-build
9442 (lambda _
9443 (substitute* "clsql-uffi.asd"
9444 (("\\(:version uffi \"2.0\"\\)")
9445 "uffi"))
9446 (substitute* "db-postgresql/postgresql-api.lisp"
9447 (("\\(data :cstring\\)")
9448 "(data :string)"))
9449 #t))
2ff8b5ba
GLV
9450 (add-after 'unpack 'fix-paths
9451 (lambda* (#:key inputs outputs #:allow-other-keys)
9452 (substitute* "db-sqlite3/sqlite3-loader.lisp"
9453 (("libsqlite3")
9454 (string-append (assoc-ref inputs "sqlite")
9455 "/lib/libsqlite3")))
9456 (substitute* "db-postgresql/postgresql-loader.lisp"
9457 (("libpq")
9458 (string-append (assoc-ref inputs "postgresql")
9459 "/lib/libpq")))
9460 (let ((lib (string-append "#p\""
9461 (assoc-ref outputs "out")
9462 "/lib/\"")))
9463 (substitute* "clsql-mysql.asd"
9464 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
9465 lib))
9466 (substitute* "db-mysql/mysql-loader.lisp"
9467 (("libmysqlclient" all)
9468 (string-append (assoc-ref inputs "mysql") "/lib/" all))
9469 (("clsql-mysql-system::\\*library-file-dir\\*")
9470 lib)))
9471 #t))
9472 (add-before 'build 'build-helper-library
9473 (lambda* (#:key inputs outputs #:allow-other-keys)
9474 (let* ((mysql (assoc-ref inputs "mysql"))
9475 (inc-dir (string-append mysql "/include/mysql"))
9476 (lib-dir (string-append mysql "/lib"))
9477 (shared-lib-dir (string-append (assoc-ref outputs "out")
9478 "/lib"))
9479 (shared-lib (string-append shared-lib-dir
9480 "/clsql_mysql.so")))
9481 (mkdir-p shared-lib-dir)
9482 (invoke "gcc" "-fPIC" "-shared"
9483 "-I" inc-dir
9484 "db-mysql/clsql_mysql.c"
9485 "-Wl,-soname=clsql_mysql"
9486 "-L" lib-dir "-lmysqlclient" "-lz"
9487 "-o" shared-lib)
9488 #t)))
9489 (add-after 'unpack 'fix-tests
9490 (lambda _
9491 (substitute* "clsql.asd"
9492 (("clsql-tests :force t")
9493 "clsql-tests"))
9494 #t)))))
9495 (synopsis "Common Lisp SQL Interface library")
9496 (description
9497 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
9498Xanalys CommonSQL interface for Lispworks. It provides low-level database
9499interfaces as well as a functional and an object oriented interface.")
9500 (home-page "http://clsql.kpe.io/")
9501 (license license:llgpl)))
079ee3b5 9502
2ff8b5ba 9503(define-public cl-clsql
079ee3b5 9504 (package
2ff8b5ba
GLV
9505 (inherit (sbcl-package->cl-source-package sbcl-clsql))
9506 (native-inputs
9507 `(("rt" ,cl-rt)))
079ee3b5
GLV
9508 (inputs
9509 `(("mysql" ,mysql)
2ff8b5ba
GLV
9510 ("postgresql" ,postgresql)
9511 ("sqlite" ,sqlite)
079ee3b5 9512 ("zlib" ,zlib)))
2ff8b5ba
GLV
9513 (propagated-inputs
9514 `(("cffi" ,cl-cffi)
9515 ("md5" ,cl-md5)
9516 ("postmodern" ,cl-postmodern)
9517 ("uffi" ,cl-uffi)))
079ee3b5 9518 (arguments
2ff8b5ba
GLV
9519 `(#:phases
9520 ;; asdf-build-system/source has its own phases and does not inherit
9521 ;; from asdf-build-system/sbcl phases.
9522 (modify-phases %standard-phases/source
9523 (add-after 'unpack 'fix-permissions
9524 (lambda _
9525 (make-file-writable "doc/html.tar.gz")
9526 #t)))))))
6dfc981a 9527
bdd3b1b2
GLV
9528(define-public ecl-clsql
9529 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
9530 (package
9531 (inherit pkg)
9532 (inputs
9533 (alist-delete "uffi" (package-inputs pkg)))
9534 (arguments
9535 (substitute-keyword-arguments (package-arguments pkg)
9536 ((#:asd-files asd-files '())
9537 `(cons "clsql-cffi.asd" ,asd-files)))))))
9538
6dfc981a
PN
9539(define-public sbcl-sycamore
9540 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
9541 (package
9542 (name "sbcl-sycamore")
9543 (version "0.0.20120604")
9544 (source
9545 (origin
9546 (method git-fetch)
9547 (uri (git-reference
9548 (url "https://github.com/ndantam/sycamore/")
9549 (commit commit)))
9550 (file-name (git-file-name name version))
9551 (sha256
9552 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
9553 (build-system asdf-build-system/sbcl)
6dfc981a
PN
9554 (inputs
9555 `(("alexandria" ,sbcl-alexandria)
9556 ("cl-ppcre" ,sbcl-cl-ppcre)))
9557 (synopsis "Purely functional data structure library in Common Lisp")
9558 (description
9559 "Sycamore is a fast, purely functional data structure library in Common Lisp.
9560If features:
9561
9562@itemize
9563@item Fast, purely functional weight-balanced binary trees.
9564@item Leaf nodes are simple-vectors, greatly reducing tree height.
9565@item Interfaces for tree Sets and Maps (dictionaries).
9566@item Ropes.
9567@item Purely functional pairing heaps.
9568@item Purely functional amortized queue.
9569@end itemize\n")
9570 (home-page "http://ndantam.github.io/sycamore/")
9571 (license license:bsd-3))))
9572
9573(define-public cl-sycamore
9574 (sbcl-package->cl-source-package sbcl-sycamore))
eb5341c2 9575
12df8b7b
GLV
9576(define-public ecl-sycamore
9577 (sbcl-package->ecl-package sbcl-sycamore))
9578
eb5341c2
PN
9579(define-public sbcl-trivial-package-local-nicknames
9580 (package
9581 (name "sbcl-trivial-package-local-nicknames")
9582 (version "0.2")
9583 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
9584 (source
9585 (origin
9586 (method git-fetch)
9587 (uri (git-reference
9588 (url home-page)
9589 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
9590 (file-name (git-file-name name version))
9591 (sha256
9592 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
9593 (build-system asdf-build-system/sbcl)
9594 (synopsis "Common Lisp compatibility library for package local nicknames")
9595 (description
9596 "This library is a portable compatibility layer around package local nicknames (PLN).
9597This was done so there is a portability library for the PLN API not included
9598in DEFPACKAGE.")
9599 (license license:unlicense)))
9600
9601(define-public cl-trivial-package-local-nicknames
9602 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
2fa04968 9603
12df8b7b
GLV
9604(define-public ecl-trivial-package-local-nicknames
9605 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
9606
2fa04968
PN
9607(define-public sbcl-enchant
9608 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
9609 (package
9610 (name "sbcl-enchant")
9611 (version (git-version "0.0.0" "1" commit))
9612 (home-page "https://github.com/tlikonen/cl-enchant")
9613 (source
9614 (origin
9615 (method git-fetch)
9616 (uri (git-reference
9617 (url home-page)
9618 (commit commit)))
9619 (file-name (git-file-name name version))
9620 (sha256
9621 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
9622 (build-system asdf-build-system/sbcl)
9623 (inputs
9624 `(("enchant" ,enchant)
9625 ("cffi" ,sbcl-cffi)))
9626 (arguments
9627 `(#:phases
9628 (modify-phases %standard-phases
9629 (add-after 'unpack 'fix-paths
9630 (lambda* (#:key inputs #:allow-other-keys)
9631 (substitute* "load-enchant.lisp"
9632 (("libenchant")
9633 (string-append
9634 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
9635 (synopsis "Common Lisp interface for the Enchant spell-checker library")
9636 (description
9637 "Enchant is a Common Lisp interface for the Enchant spell-checker
9638library. The Enchant library is a generic spell-checker library which uses
9639other spell-checkers transparently as back-end. The library supports the
9640multiple checkers, including Aspell and Hunspell.")
9641 (license license:public-domain))))
9642
9643(define-public cl-enchant
9644 (sbcl-package->cl-source-package sbcl-enchant))
df95189d 9645
e7cbcf5a
GLV
9646(define-public ecl-enchant
9647 (sbcl-package->ecl-package sbcl-enchant))
9648
df95189d
PN
9649(define-public sbcl-cl-change-case
9650 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
9651 (package
9652 (name "sbcl-cl-change-case")
9653 (version (git-version "0.1.0" "1" commit))
9654 (home-page "https://github.com/rudolfochrist/cl-change-case")
9655 (source
9656 (origin
9657 (method git-fetch)
9658 (uri (git-reference
9659 (url home-page)
9660 (commit commit)))
9661 (file-name (git-file-name name version))
9662 (sha256
9663 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
9664 (build-system asdf-build-system/sbcl)
9665 (inputs
9666 `(("cl-ppcre" ,sbcl-cl-ppcre)
9667 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
9668 (native-inputs
9669 `(("fiveam" ,sbcl-fiveam)))
9670 (arguments
9671 '(;; FIXME: Test pass but phase fails with 'Component
9672 ;; "cl-change-case-test" not found, required by'.
9673 #:tests? #f
9674 #:test-asd-file "cl-change-case-test.asd"))
9675 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
9676 (description
9677 "@code{cl-change-case} is library to convert strings between camelCase,
9678PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
9679 (license license:llgpl))))
9680
9681(define-public cl-change-case
9682 (sbcl-package->cl-source-package sbcl-cl-change-case))
53c05faf 9683
e7cbcf5a
GLV
9684(define-public ecl-cl-change-case
9685 (sbcl-package->ecl-package sbcl-cl-change-case))
9686
53c05faf
PN
9687(define-public sbcl-moptilities
9688 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
9689 (package
9690 (name "sbcl-moptilities")
9691 (version (git-version "0.3.13" "1" commit))
9692 (home-page "https://github.com/gwkkwg/moptilities/")
9693 (source
9694 (origin
9695 (method git-fetch)
9696 (uri (git-reference
9697 (url home-page)
9698 (commit commit)))
9699 (file-name (git-file-name name version))
9700 (sha256
9701 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
9702 (build-system asdf-build-system/sbcl)
9703 (inputs
9704 `(("closer-mop" ,sbcl-closer-mop)))
9705 (native-inputs
9706 `(("lift" ,sbcl-lift)))
466bf553
GLV
9707 (arguments
9708 `(#:phases
9709 (modify-phases %standard-phases
9710 (add-after 'unpack 'fix-tests
9711 (lambda _
9712 (substitute* "lift-standard.config"
9713 ((":relative-to lift-test")
9714 ":relative-to moptilities-test"))
9715 #t)))))
53c05faf
PN
9716 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
9717 (description
9718 "MOP utilities provide a common interface between Lisps and make the
9719MOP easier to use.")
9720 (license license:expat))))
9721
9722(define-public cl-moptilities
9723 (sbcl-package->cl-source-package sbcl-moptilities))
8cf6d150
PN
9724
9725(define-public sbcl-osicat
9726 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
9727 (package
9728 (name "sbcl-osicat")
9729 (version (git-version "0.7.0" "1" commit))
9730 (home-page "http://www.common-lisp.net/project/osicat/")
9731 (source
9732 (origin
9733 (method git-fetch)
9734 (uri (git-reference
9735 (url "https://github.com/osicat/osicat")
9736 (commit commit)))
9737 (file-name (git-file-name name version))
9738 (sha256
9739 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
9740 (build-system asdf-build-system/sbcl)
8cf6d150
PN
9741 (inputs
9742 `(("alexandria" ,sbcl-alexandria)
9743 ("cffi" ,sbcl-cffi)
9744 ("trivial-features" ,sbcl-trivial-features)))
9745 (native-inputs
2ff8b5ba 9746 `(("rt" ,sbcl-rt)))
8cf6d150
PN
9747 (synopsis "Operating system interface for Common Lisp")
9748 (description
9749 "Osicat is a lightweight operating system interface for Common Lisp on
9750Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
9751accompaniment to the standard ANSI facilities.")
9752 (license license:expat))))
9753
9754(define-public cl-osicat
9755 (sbcl-package->cl-source-package sbcl-osicat))
b2eae0e1 9756
e7cbcf5a
GLV
9757(define-public ecl-osicat
9758 (sbcl-package->ecl-package sbcl-osicat))
9759
152d50d9
KCB
9760(define-public sbcl-clx-xembed
9761 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
9762 (revision "1"))
9763 (package
9764 (name "sbcl-clx-xembed")
9765 (version (git-version "0.1" revision commit))
9766 (home-page "https://github.com/laynor/clx-xembed")
9767 (source
9768 (origin
9769 (method git-fetch)
9770 (uri (git-reference
b0e7b699 9771 (url "https://github.com/laynor/clx-xembed")
152d50d9
KCB
9772 (commit commit)))
9773 (file-name (git-file-name name version))
9774 (sha256
9775 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
9776 (build-system asdf-build-system/sbcl)
9777 (arguments
2ff8b5ba 9778 `(#:asd-systems '("xembed")))
152d50d9
KCB
9779 (inputs
9780 `(("sbcl-clx" ,sbcl-clx)))
9781 (synopsis "CL(x) xembed protocol implementation ")
9782 (description "CL(x) xembed protocol implementation")
9783 ;; MIT License
9784 (license license:expat))))
9785
9786(define-public cl-clx-xembed
9787 (sbcl-package->cl-source-package sbcl-clx-xembed))
9788
9789(define-public ecl-clx-xembed
9790 (sbcl-package->ecl-package sbcl-clx-xembed))
9791
b2eae0e1
KCB
9792(define-public sbcl-quantile-estimator
9793 (package
9794 (name "sbcl-quantile-estimator")
9795 (version "0.0.1")
9796 (source
9797 (origin
9798 (method git-fetch)
9799 (uri (git-reference
9800 (url "https://github.com/deadtrickster/quantile-estimator.cl")
9801 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
9802 (file-name (git-file-name name version))
9803 (sha256
9804 (base32
9805 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
9806 (build-system asdf-build-system/sbcl)
9807 (arguments
e765d9c9 9808 '(#:asd-files '("quantile-estimator.asd")))
b2eae0e1
KCB
9809 (inputs
9810 `(("alexandria" ,sbcl-alexandria)))
9811 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
9812 (synopsis
9813 "Effective computation of biased quantiles over data streams")
9814 (description
9815 "Common Lisp implementation of Graham Cormode and S.
9816Muthukrishnan's Effective Computation of Biased Quantiles over Data
9817Streams in ICDE’05.")
9818 (license license:expat)))
9819
9820(define-public cl-quantile-estimator
9821 (sbcl-package->cl-source-package sbcl-quantile-estimator))
9822
9823(define-public ecl-quantile-estimator
9824 (sbcl-package->ecl-package sbcl-quantile-estimator))
4c7c3077
KCB
9825
9826(define-public sbcl-prometheus
9827 (package
9828 (name "sbcl-prometheus")
9829 (version "0.4.1")
9830 (source
9831 (origin
9832 (method git-fetch)
9833 (uri (git-reference
b0e7b699 9834 (url "https://github.com/deadtrickster/prometheus.cl")
4c7c3077
KCB
9835 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
9836 (file-name (git-file-name name version))
9837 (sha256
9838 (base32
9839 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
9840 (build-system asdf-build-system/sbcl)
9841 (inputs
9842 `(("alexandria" ,sbcl-alexandria)
9843 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2ff8b5ba
GLV
9844 ("cffi" ,sbcl-cffi)
9845 ("cl-fad" ,sbcl-cl-fad)
4c7c3077 9846 ("cl-ppcre" ,sbcl-cl-ppcre)
2ff8b5ba
GLV
9847 ("drakma" ,sbcl-drakma)
9848 ("hunchentoot" ,sbcl-hunchentoot)
4c7c3077 9849 ("local-time" ,sbcl-local-time)
2ff8b5ba
GLV
9850 ("quantile-estimator" ,sbcl-quantile-estimator)
9851 ("salza2" ,sbcl-salza2)
9852 ("split-sequence" ,sbcl-split-sequence)
9853 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
9854 (arguments
9855 '(#:asd-files '("prometheus.asd"
9856 "prometheus.collectors.sbcl.asd"
9857 "prometheus.collectors.process.asd"
9858 "prometheus.formats.text.asd"
9859 "prometheus.exposers.hunchentoot.asd"
9860 "prometheus.pushgateway.asd")
9861 #:asd-systems '("prometheus"
9862 "prometheus.collectors.sbcl"
9863 "prometheus.collectors.process"
9864 "prometheus.formats.text"
9865 "prometheus.exposers.hunchentoot"
9866 "prometheus.pushgateway")))
4c7c3077
KCB
9867 (home-page "https://github.com/deadtrickster/prometheus.cl")
9868 (synopsis "Prometheus.io Common Lisp client")
9869 (description "Prometheus.io Common Lisp client.")
9870 (license license:expat)))
9871
9872(define-public cl-prometheus
9873 (sbcl-package->cl-source-package sbcl-prometheus))
9874
9875(define-public ecl-prometheus
9876 (sbcl-package->ecl-package sbcl-prometheus))
4e21f5bc 9877
59dda970
KCB
9878(define-public sbcl-uuid
9879 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
9880 (package
9881 (name "sbcl-uuid")
9882 (version (git-version "2012.12.26" "1" commit))
9883 (source
9884 (origin
9885 (method git-fetch)
9886 (uri (git-reference
b0e7b699 9887 (url "https://github.com/dardoria/uuid")
59dda970
KCB
9888 (commit commit)))
9889 (file-name (git-file-name name version))
9890 (sha256
9891 (base32
9892 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
9893 (build-system asdf-build-system/sbcl)
9894 (inputs
9895 `(("ironclad" ,sbcl-ironclad)
9896 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
9897 (home-page "https://github.com/dardoria/uuid")
9898 (synopsis
9899 "Common Lisp implementation of UUIDs according to RFC4122")
9900 (description
9901 "Common Lisp implementation of UUIDs according to RFC4122.")
9902 (license license:llgpl))))
9903
9904(define-public cl-uuid
9905 (sbcl-package->cl-source-package sbcl-uuid))
9906
9907(define-public ecl-uuid
9908 (sbcl-package->ecl-package sbcl-uuid))
adf70454
KCB
9909
9910(define-public sbcl-dissect
9911 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
9912 (package
9913 (name "sbcl-dissect")
9914 (version (git-version "1.0.0" "1" commit))
9915 (source
9916 (origin
9917 (method git-fetch)
9918 (uri (git-reference
b0e7b699 9919 (url "https://github.com/Shinmera/dissect")
adf70454
KCB
9920 (commit commit)))
9921 (file-name (git-file-name name version))
9922 (sha256
9923 (base32
9924 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
9925 (build-system asdf-build-system/sbcl)
9926 (inputs
9927 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9928 (home-page "https://shinmera.github.io/dissect/")
9929 (synopsis
9930 "Introspection library for the call stack and restarts")
9931 (description
9932 "Dissect is a small Common Lisp library for introspecting the call stack
9933and active restarts.")
9934 (license license:zlib))))
9935
9936(define-public cl-dissect
9937 (sbcl-package->cl-source-package sbcl-dissect))
9938
9939(define-public ecl-dissect
9940 (sbcl-package->ecl-package sbcl-dissect))
38d738e9 9941
38d738e9
KCB
9942(define-public sbcl-rove
9943 (package
9944 (name "sbcl-rove")
9945 (version "0.9.6")
9946 (source
9947 (origin
9948 (method git-fetch)
9949 (uri (git-reference
b0e7b699 9950 (url "https://github.com/fukamachi/rove")
38d738e9
KCB
9951 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
9952 (file-name (git-file-name name version))
9953 (sha256
9954 (base32
9955 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
9956 (build-system asdf-build-system/sbcl)
9957 (inputs
9958 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9959 ("dissect" ,sbcl-dissect)
9960 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9961 (home-page "https://github.com/fukamachi/rove")
9962 (synopsis
9963 "Yet another common lisp testing library")
9964 (description
9965 "Rove is a unit testing framework for Common Lisp applications.
9966This is intended to be a successor of Prove.")
9967 (license license:bsd-3)))
9968
9969(define-public cl-rove
9970 (sbcl-package->cl-source-package sbcl-rove))
9971
9972(define-public ecl-rove
9973 (sbcl-package->ecl-package sbcl-rove))
aae3df18
KCB
9974
9975(define-public sbcl-exponential-backoff
9976 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
9977 (package
9978 (name "sbcl-exponential-backoff")
9979 (version (git-version "0" "1" commit))
9980 (source
9981 (origin
9982 (method git-fetch)
9983 (uri (git-reference
b0e7b699 9984 (url "https://github.com/death/exponential-backoff")
aae3df18
KCB
9985 (commit commit)))
9986 (file-name (git-file-name name version))
9987 (sha256
9988 (base32
9989 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
9990 (build-system asdf-build-system/sbcl)
9991 (home-page "https://github.com/death/exponential-backoff")
9992 (synopsis "Exponential backoff algorithm in Common Lisp")
9993 (description
9994 "An implementation of the exponential backoff algorithm in Common Lisp.
9995Inspired by the implementation found in Chromium. Read the header file to
9996learn about each of the parameters.")
9997 (license license:expat))))
9998
9999(define-public cl-exponential-backoff
10000 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10001
10002(define-public ecl-exponential-backoff
10003 (sbcl-package->ecl-package sbcl-exponential-backoff))
3e736218
KCB
10004
10005(define-public sbcl-sxql
10006 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10007 (package
10008 (name "sbcl-sxql")
10009 (version (git-version "0.1.0" "1" commit))
10010 (source
10011 (origin
10012 (method git-fetch)
10013 (uri (git-reference
b0e7b699 10014 (url "https://github.com/fukamachi/sxql")
3e736218
KCB
10015 (commit commit)))
10016 (file-name (git-file-name name version))
10017 (sha256
10018 (base32
10019 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10020 (build-system asdf-build-system/sbcl)
10021 (arguments
10022 `(#:test-asd-file "sxql-test.asd"))
10023 (inputs
10024 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba 10025 ("cl-syntax" ,sbcl-cl-syntax)
3e736218
KCB
10026 ("iterate" ,sbcl-iterate)
10027 ("optima" ,sbcl-optima)
10028 ("split-sequence" ,sbcl-split-sequence)
10029 ("trivial-types" ,sbcl-trivial-types)))
10030 (native-inputs
2ff8b5ba 10031 `(("prove" ,sbcl-prove)))
3e736218
KCB
10032 (home-page "https://github.com/fukamachi/sxql")
10033 (synopsis "SQL generator for Common Lisp")
10034 (description "SQL generator for Common Lisp.")
10035 (license license:bsd-3))))
10036
10037(define-public cl-sxql
10038 (sbcl-package->cl-source-package sbcl-sxql))
10039
10040(define-public ecl-sxql
10041 (sbcl-package->ecl-package sbcl-sxql))
1f9999df
KCB
10042
10043(define-public sbcl-1am
10044 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10045 (package
10046 (name "sbcl-1am")
10047 (version (git-version "0.0" "1" commit))
10048 (source
10049 (origin
10050 (method git-fetch)
10051 (uri (git-reference
b0e7b699 10052 (url "https://github.com/lmj/1am")
1f9999df
KCB
10053 (commit commit)))
10054 (file-name (git-file-name name version))
10055 (sha256
10056 (base32
10057 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10058 (build-system asdf-build-system/sbcl)
10059 (arguments
2ff8b5ba 10060 `(#:asd-systems '("1am")))
1f9999df
KCB
10061 (home-page "https://github.com/lmj/1am")
10062 (synopsis "Minimal testing framework for Common Lisp")
10063 (description "A minimal testing framework for Common Lisp.")
10064 (license license:expat))))
10065
10066(define-public cl-1am
10067 (sbcl-package->cl-source-package sbcl-1am))
10068
10069(define-public ecl-1am
10070 (sbcl-package->ecl-package sbcl-1am))
d7c60681
GLV
10071
10072(define-public sbcl-cl-ascii-table
10073 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10074 (revision "1"))
10075 (package
10076 (name "sbcl-cl-ascii-table")
10077 (version (git-version "0.0.0" revision commit))
10078 (source
10079 (origin
10080 (method git-fetch)
10081 (uri (git-reference
b0e7b699 10082 (url "https://github.com/telephil/cl-ascii-table")
d7c60681
GLV
10083 (commit commit)))
10084 (file-name (git-file-name name version))
10085 (sha256
10086 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10087 (build-system asdf-build-system/sbcl)
10088 (synopsis "Library to make ascii-art tables")
10089 (description
10090 "This is a Common Lisp library to present tabular data in ascii-art
10091tables.")
10092 (home-page "https://github.com/telephil/cl-ascii-table")
10093 (license license:expat))))
10094
10095(define-public cl-ascii-table
10096 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10097
10098(define-public ecl-cl-ascii-table
10099 (sbcl-package->ecl-package sbcl-cl-ascii-table))
64174aff
KCB
10100
10101(define-public sbcl-cl-rdkafka
10102 (package
10103 (name "sbcl-cl-rdkafka")
10104 (version "1.0.2")
10105 (source
10106 (origin
10107 (method git-fetch)
10108 (uri (git-reference
b0e7b699 10109 (url "https://github.com/SahilKang/cl-rdkafka")
64174aff
KCB
10110 (commit (string-append "v" version))))
10111 (file-name (git-file-name name version))
10112 (sha256
10113 (base32
10114 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
10115 (build-system asdf-build-system/sbcl)
10116 (arguments
10117 `(#:tests? #f ; Attempts to connect to locally running Kafka
10118 #:phases
10119 (modify-phases %standard-phases
10120 (add-after 'unpack 'fix-paths
10121 (lambda* (#:key inputs #:allow-other-keys)
10122 (substitute* "src/low-level/librdkafka-bindings.lisp"
10123 (("librdkafka" all)
10124 (string-append (assoc-ref inputs "librdkafka") "/lib/"
f596b476 10125 all))))))))
64174aff
KCB
10126 (inputs
10127 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10128 ("cffi" ,sbcl-cffi)
64174aff
KCB
10129 ("librdkafka" ,librdkafka)
10130 ("lparallel" ,sbcl-lparallel)
10131 ("trivial-garbage" ,sbcl-trivial-garbage)))
10132 (home-page "https://github.com/SahilKang/cl-rdkafka")
10133 (synopsis "Common Lisp client library for Apache Kafka")
10134 (description "A Common Lisp client library for Apache Kafka.")
10135 (license license:gpl3)))
10136
10137(define-public cl-rdkafka
10138 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
04dd8018 10139
e7cbcf5a
GLV
10140(define-public ecl-cl-rdkafka
10141 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10142
04dd8018
PN
10143(define-public sbcl-acclimation
10144 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10145 (package
10146 (name "sbcl-acclimation")
10147 (version (git-version "0.0.0" "1" commit))
10148 (source
10149 (origin
10150 (method git-fetch)
10151 (uri (git-reference
10152 (url "https://github.com/robert-strandh/Acclimation")
10153 (commit commit)))
10154 (file-name (git-file-name name version))
10155 (sha256
10156 (base32
10157 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10158 (build-system asdf-build-system/sbcl)
10159 (home-page "https://github.com/robert-strandh/Acclimation")
10160 (synopsis "Internationalization library for Common Lisp")
10161 (description "This project is meant to provide tools for
10162internationalizing Common Lisp programs.
10163
10164One important aspect of internationalization is of course the language used in
10165error messages, documentation strings, etc. But with this project we provide
10166tools for all other aspects of internationalization as well, including dates,
10167weight, temperature, names of physical quantitites, etc.")
10168 (license license:bsd-2))))
10169
10170(define-public cl-acclimation
10171 (sbcl-package->cl-source-package sbcl-acclimation))
ba1727b0 10172
e7cbcf5a
GLV
10173(define-public ecl-acclimation
10174 (sbcl-package->ecl-package sbcl-acclimation))
10175
2ff8b5ba 10176(define-public sbcl-clump
ba1727b0
PN
10177 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10178 (package
2ff8b5ba 10179 (name "sbcl-clump")
ba1727b0
PN
10180 (version (git-version "0.0.0" "1" commit))
10181 (source
10182 (origin
10183 (method git-fetch)
10184 (uri (git-reference
10185 (url "https://github.com/robert-strandh/Clump")
10186 (commit commit)))
10187 (file-name (git-file-name name version))
10188 (sha256
10189 (base32
10190 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
ba1727b0
PN
10191 (inputs
10192 `(("acclimation" ,sbcl-acclimation)))
10193 (build-system asdf-build-system/sbcl)
10194 (home-page "https://github.com/robert-strandh/Clump")
2ff8b5ba 10195 (synopsis "Collection of tree implementations for Common Lisp")
ba1727b0
PN
10196 (description "The purpose of this library is to provide a collection of
10197implementations of trees.
10198
10199In contrast to existing libraries such as cl-containers, it does not impose a
10200particular use for the trees. Instead, it aims for a stratified design,
10201allowing client code to choose between different levels of abstraction.
10202
10203As a consequence of this policy, low-level interfaces are provided where
10204the concrete representation is exposed, but also high level interfaces
10205where the trees can be used as search trees or as trees that represent
10206sequences of objects.")
10207 (license license:bsd-2))))
106354ea 10208
409fcee9
PN
10209(define-public cl-clump
10210 (sbcl-package->cl-source-package sbcl-clump))
19a1a98f 10211
e7cbcf5a
GLV
10212(define-public ecl-clump
10213 (sbcl-package->ecl-package sbcl-clump))
10214
2ff8b5ba 10215(define-public sbcl-cluffer
19a1a98f
PN
10216 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10217 (package
2ff8b5ba 10218 (name "sbcl-cluffer")
19a1a98f
PN
10219 (version (git-version "0.0.0" "1" commit))
10220 (source
10221 (origin
10222 (method git-fetch)
10223 (uri (git-reference
10224 (url "https://github.com/robert-strandh/cluffer")
10225 (commit commit)))
10226 (file-name (git-file-name name version))
10227 (sha256
10228 (base32
10229 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
19a1a98f 10230 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
10231 (inputs
10232 `(("acclimation" ,sbcl-acclimation)
10233 ("clump" ,sbcl-clump)))
19a1a98f
PN
10234 (home-page "https://github.com/robert-strandh/cluffer")
10235 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10236 (description "Cluffer is a library for representing the buffer of a text
10237editor. As such, it defines a set of CLOS protocols for client code to
10238interact with the buffer contents in various ways, and it supplies different
10239implementations of those protocols for different purposes.")
10240 (license license:bsd-2))))
a4a24f66 10241
89c98c06
PN
10242(define-public cl-cluffer
10243 (sbcl-package->cl-source-package sbcl-cluffer))
8f1ab4fb 10244
e7cbcf5a
GLV
10245(define-public ecl-cluffer
10246 (sbcl-package->ecl-package sbcl-cluffer))
10247
8f1ab4fb
GLV
10248(define-public sbcl-cl-libsvm-format
10249 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
10250 (revision "0"))
10251 (package
10252 (name "sbcl-cl-libsvm-format")
10253 (version (git-version "0.1.0" revision commit))
10254 (source
10255 (origin
10256 (method git-fetch)
10257 (uri (git-reference
b0e7b699 10258 (url "https://github.com/masatoi/cl-libsvm-format")
8f1ab4fb
GLV
10259 (commit commit)))
10260 (file-name (git-file-name name version))
10261 (sha256
10262 (base32
10263 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
10264 (build-system asdf-build-system/sbcl)
10265 (native-inputs
2ff8b5ba 10266 `(("prove" ,sbcl-prove)))
8f1ab4fb
GLV
10267 (inputs
10268 `(("alexandria" ,sbcl-alexandria)))
10269 (synopsis "LibSVM data format reader for Common Lisp")
10270 (description
10271 "This Common Lisp library provides a fast reader for data in LibSVM
10272format.")
10273 (home-page "https://github.com/masatoi/cl-libsvm-format")
10274 (license license:expat))))
10275
10276(define-public cl-libsvm-format
10277 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10278
10279(define-public ecl-cl-libsvm-format
10280 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10281
10282(define-public sbcl-cl-online-learning
10283 (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423")
10284 (revision "0"))
10285 (package
10286 (name "sbcl-cl-online-learning")
10287 (version (git-version "0.5" revision commit))
10288 (source
10289 (origin
10290 (method git-fetch)
10291 (uri (git-reference
b0e7b699 10292 (url "https://github.com/masatoi/cl-online-learning")
8f1ab4fb
GLV
10293 (commit commit)))
10294 (file-name (git-file-name name version))
10295 (sha256
10296 (base32
10297 "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq"))))
10298 (build-system asdf-build-system/sbcl)
10299 (native-inputs
2ff8b5ba 10300 `(("prove" ,sbcl-prove)))
8f1ab4fb
GLV
10301 (inputs
10302 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10303 ("cl-store" ,sbcl-cl-store)))
10304 (arguments
10305 `(;; FIXME: Tests pass but then the check phase crashes
10306 #:tests? #f))
10307 (synopsis "Online Machine Learning for Common Lisp")
10308 (description
10309 "This library contains a collection of machine learning algorithms for
10310online linear classification written in Common Lisp.")
10311 (home-page "https://github.com/masatoi/cl-online-learning")
10312 (license license:expat))))
10313
10314(define-public cl-online-learning
10315 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10316
10317(define-public ecl-cl-online-learning
10318 (sbcl-package->ecl-package sbcl-cl-online-learning))
10319
10320(define-public sbcl-cl-random-forest
4e7d5e32
GLV
10321 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
10322 (revision "1"))
8f1ab4fb
GLV
10323 (package
10324 (name "sbcl-cl-random-forest")
10325 (version (git-version "0.1" revision commit))
10326 (source
10327 (origin
10328 (method git-fetch)
10329 (uri (git-reference
b0e7b699 10330 (url "https://github.com/masatoi/cl-random-forest")
8f1ab4fb
GLV
10331 (commit commit)))
10332 (file-name (git-file-name name version))
10333 (sha256
10334 (base32
4e7d5e32 10335 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
8f1ab4fb
GLV
10336 (build-system asdf-build-system/sbcl)
10337 (native-inputs
10338 `(("prove" ,sbcl-prove)
8f1ab4fb
GLV
10339 ("trivial-garbage" ,sbcl-trivial-garbage)))
10340 (inputs
10341 `(("alexandria" ,sbcl-alexandria)
10342 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10343 ("cl-online-learning" ,sbcl-cl-online-learning)
10344 ("lparallel" ,sbcl-lparallel)))
10345 (arguments
10346 `(#:tests? #f)) ; The tests download data from the Internet
10347 (synopsis "Random Forest and Global Refinement for Common Lisp")
10348 (description
10349 "CL-random-forest is an implementation of Random Forest for multiclass
10350classification and univariate regression written in Common Lisp. It also
10351includes an implementation of Global Refinement of Random Forest.")
10352 (home-page "https://github.com/masatoi/cl-random-forest")
10353 (license license:expat))))
10354
10355(define-public cl-random-forest
10356 (sbcl-package->cl-source-package sbcl-cl-random-forest))
10357
10358(define-public ecl-cl-random-forest
10359 (sbcl-package->ecl-package sbcl-cl-random-forest))
5a2997e5
GLV
10360
10361(define-public sbcl-bordeaux-fft
10362 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
10363 (revision "0"))
10364 (package
10365 (name "sbcl-bordeaux-fft")
10366 (version (git-version "1.0.1" revision commit))
10367 (source
10368 (origin
10369 (method git-fetch)
10370 (uri (git-reference
b0e7b699 10371 (url "https://github.com/ahefner/bordeaux-fft")
5a2997e5
GLV
10372 (commit commit)))
10373 (file-name (git-file-name name version))
10374 (sha256
10375 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
10376 (build-system asdf-build-system/sbcl)
10377 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
10378 (synopsis "Fast Fourier Transform for Common Lisp")
10379 (description
10380 "The Bordeaux-FFT library provides a reasonably efficient implementation
10381of the Fast Fourier Transform and its inverse for complex-valued inputs, in
10382portable Common Lisp.")
10383 (license license:gpl2+))))
10384
10385(define-public cl-bordeaux-fft
10386 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
10387
10388(define-public ecl-bordeaux-fft
10389 (sbcl-package->ecl-package sbcl-bordeaux-fft))
c7ce30cd
GLV
10390
10391(define-public sbcl-napa-fft3
10392 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
10393 (revision "0"))
10394 (package
10395 (name "sbcl-napa-fft3")
10396 (version (git-version "0.0.1" revision commit))
10397 (source
10398 (origin
10399 (method git-fetch)
10400 (uri (git-reference
b0e7b699 10401 (url "https://github.com/pkhuong/Napa-FFT3")
c7ce30cd
GLV
10402 (commit commit)))
10403 (file-name (git-file-name name version))
10404 (sha256
10405 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
10406 (build-system asdf-build-system/sbcl)
10407 (home-page "https://github.com/pkhuong/Napa-FFT3")
10408 (synopsis "Fast Fourier Transform routines in Common Lisp")
10409 (description
10410 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
10411buildings blocks to express common operations that involve DFTs: filtering,
10412convolutions, etc.")
10413 (license license:bsd-3))))
10414
10415(define-public cl-napa-fft3
10416 (sbcl-package->cl-source-package sbcl-napa-fft3))
2020a056
GLV
10417
10418(define-public sbcl-cl-tga
10419 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
10420 (revision "0"))
10421 (package
10422 (name "sbcl-cl-tga")
10423 (version (git-version "0.0.0" revision commit))
10424 (source
10425 (origin
10426 (method git-fetch)
10427 (uri (git-reference
10428 (url "https://github.com/fisxoj/cl-tga")
10429 (commit commit)))
10430 (file-name (git-file-name name version))
10431 (sha256
10432 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
10433 (build-system asdf-build-system/sbcl)
10434 (home-page "https://github.com/fisxoj/cl-tga")
10435 (synopsis "TGA file loader for Common Lisp")
10436 (description
10437 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
10438programs. It's a very simple library, and, at the moment, only supports
10439non-RLE encoded forms of the files.")
10440 (license license:expat))))
10441
10442(define-public cl-tga
10443 (sbcl-package->cl-source-package sbcl-cl-tga))
10444
10445(define-public ecl-cl-tga
10446 (sbcl-package->ecl-package sbcl-cl-tga))
31c67a85
GLV
10447
10448(define-public sbcl-com.gigamonkeys.binary-data
10449 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
10450 (revision "0"))
10451 (package
10452 (name "sbcl-com.gigamonkeys.binary-data")
10453 (version (git-version "0.0.0" revision commit))
10454 (source
10455 (origin
10456 (method git-fetch)
10457 (uri (git-reference
10458 (url "https://github.com/gigamonkey/monkeylib-binary-data")
10459 (commit commit)))
10460 (file-name (git-file-name name version))
10461 (sha256
10462 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
10463 (build-system asdf-build-system/sbcl)
10464 (inputs
10465 `(("alexandria" ,sbcl-alexandria)))
10466 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
10467 (synopsis "Common Lisp library for reading and writing binary data")
10468 (description
10469 "This a Common Lisp library for reading and writing binary data. It is
10470based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
10471 (license license:bsd-3))))
10472
10473(define-public cl-com.gigamonkeys.binary-data
10474 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
10475
10476(define-public ecl-com.gigamonkeys.binary-data
10477 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
556daf64
GLV
10478
10479(define-public sbcl-deflate
10480 (package
10481 (name "sbcl-deflate")
10482 (version "1.0.3")
10483 (source
10484 (origin
10485 (method git-fetch)
10486 (uri (git-reference
10487 (url "https://github.com/pmai/Deflate")
10488 (commit (string-append "release-" version))))
10489 (file-name (git-file-name name version))
10490 (sha256
10491 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
10492 (build-system asdf-build-system/sbcl)
10493 (home-page "https://github.com/pmai/Deflate")
10494 (synopsis "Native deflate decompression for Common Lisp")
10495 (description
10496 "This library is an implementation of Deflate (RFC 1951) decompression,
10497with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
10498wrappers of deflate streams. It currently does not handle compression.")
10499 (license license:expat)))
10500
10501(define-public cl-deflate
10502 (sbcl-package->cl-source-package sbcl-deflate))
10503
10504(define-public ecl-deflate
10505 (sbcl-package->ecl-package sbcl-deflate))
7387c090
GLV
10506
10507(define-public sbcl-skippy
10508 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
10509 (revision "0"))
10510 (package
10511 (name "sbcl-skippy")
10512 (version (git-version "1.3.12" revision commit))
10513 (source
10514 (origin
10515 (method git-fetch)
10516 (uri (git-reference
10517 (url "https://github.com/xach/skippy")
10518 (commit commit)))
10519 (file-name (git-file-name name version))
10520 (sha256
10521 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
10522 (build-system asdf-build-system/sbcl)
10523 (home-page "https://xach.com/lisp/skippy/")
10524 (synopsis "Common Lisp library for GIF images")
10525 (description
10526 "Skippy is a Common Lisp library to read and write GIF image files.")
10527 (license license:bsd-2))))
10528
10529(define-public cl-skippy
10530 (sbcl-package->cl-source-package sbcl-skippy))
10531
10532(define-public ecl-skippy
10533 (sbcl-package->ecl-package sbcl-skippy))
ec2c73b8
GLV
10534
10535(define-public sbcl-cl-freetype2
10536 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
10537 (revision "0"))
10538 (package
10539 (name "sbcl-cl-freetype2")
10540 (version (git-version "1.1" revision commit))
10541 (source
10542 (origin
10543 (method git-fetch)
10544 (uri (git-reference
10545 (url "https://github.com/rpav/cl-freetype2")
10546 (commit commit)))
10547 (file-name (git-file-name name version))
10548 (sha256
10549 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
10550 (build-system asdf-build-system/sbcl)
10551 (native-inputs
10552 `(("fiveam" ,sbcl-fiveam)))
10553 (inputs
10554 `(("alexandria" ,sbcl-alexandria)
10555 ("cffi" ,sbcl-cffi)
ec2c73b8
GLV
10556 ("freetype" ,freetype)
10557 ("trivial-garbage" ,sbcl-trivial-garbage)))
10558 (arguments
10559 `(#:phases
10560 (modify-phases %standard-phases
10561 (add-after 'unpack 'fix-paths
10562 (lambda* (#:key inputs #:allow-other-keys)
10563 (substitute* "src/ffi/ft2-lib.lisp"
10564 (("\"libfreetype\"")
10565 (string-append "\"" (assoc-ref inputs "freetype")
10566 "/lib/libfreetype\"")))
10567 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
10568 (("-I/usr/include/freetype")
10569 (string-append "-I" (assoc-ref inputs "freetype")
10570 "/include/freetype")))
10571 #t)))))
10572 (home-page "https://github.com/rpav/cl-freetype2")
10573 (synopsis "Common Lisp bindings for Freetype 2")
10574 (description
10575 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
10576geared toward both using Freetype directly by providing a simplified API, as
10577well as providing access to the underlying C structures and functions for use
10578with other libraries which may also use Freetype.")
10579 (license license:bsd-3))))
10580
10581(define-public cl-freetype2
10582 (sbcl-package->cl-source-package sbcl-cl-freetype2))
10583
10584(define-public ecl-cl-freetype2
10585 (sbcl-package->ecl-package sbcl-cl-freetype2))
fc748ff0
GLV
10586
10587(define-public sbcl-opticl-core
10588 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
10589 (revision "0"))
10590 (package
10591 (name "sbcl-opticl-core")
10592 (version (git-version "0.0.0" revision commit))
10593 (source
10594 (origin
10595 (method git-fetch)
10596 (uri (git-reference
10597 (url "https://github.com/slyrus/opticl-core")
10598 (commit commit)))
10599 (file-name (git-file-name name version))
10600 (sha256
10601 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
10602 (build-system asdf-build-system/sbcl)
10603 (inputs
10604 `(("alexandria" ,sbcl-alexandria)))
10605 (home-page "https://github.com/slyrus/opticl-core")
10606 (synopsis "Core classes and pixel access macros for Opticl")
10607 (description
10608 "This Common Lisp library contains the core classes and pixel access
10609macros for the Opticl image processing library.")
10610 (license license:bsd-2))))
10611
10612(define-public cl-opticl-core
10613 (sbcl-package->cl-source-package sbcl-opticl-core))
10614
10615(define-public ecl-opticl-core
10616 (sbcl-package->ecl-package sbcl-opticl-core))
1c1b0532
GLV
10617
10618(define-public sbcl-retrospectiff
10619 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
10620 (revision "0"))
10621 (package
10622 (name "sbcl-retrospectiff")
10623 (version (git-version "0.2" revision commit))
10624 (source
10625 (origin
10626 (method git-fetch)
10627 (uri (git-reference
10628 (url "https://github.com/slyrus/retrospectiff")
10629 (commit commit)))
10630 (file-name (git-file-name name version))
10631 (sha256
10632 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
10633 (build-system asdf-build-system/sbcl)
10634 (native-inputs
10635 `(("fiveam" ,sbcl-fiveam)))
10636 (inputs
10637 `(("cl-jpeg" ,sbcl-cl-jpeg)
10638 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
10639 ("deflate" ,sbcl-deflate)
10640 ("flexi-streams" ,sbcl-flexi-streams)
10641 ("ieee-floats" ,sbcl-ieee-floats)
10642 ("opticl-core" ,sbcl-opticl-core)))
10643 (home-page "https://github.com/slyrus/retrospectiff")
10644 (synopsis "Common Lisp library for TIFF images")
10645 (description
10646 "Retrospectiff is a common lisp library for reading and writing images
10647in the TIFF (Tagged Image File Format) format.")
10648 (license license:bsd-2))))
10649
2ff8b5ba
GLV
10650(define-public cl-retrospectif
10651 (sbcl-package->cl-source-package sbcl-retrospectiff))
b0e7bc35 10652
2ff8b5ba
GLV
10653(define-public ecl-retrospectiff
10654 (sbcl-package->ecl-package sbcl-retrospectiff))
b736e9ba 10655
2ff8b5ba
GLV
10656(define-public sbcl-mmap
10657 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
b736e9ba
GLV
10658 (revision "0"))
10659 (package
2ff8b5ba
GLV
10660 (name "sbcl-mmap")
10661 (version (git-version "1.0.0" revision commit))
b736e9ba
GLV
10662 (source
10663 (origin
10664 (method git-fetch)
10665 (uri (git-reference
2ff8b5ba 10666 (url "https://github.com/Shinmera/mmap")
b736e9ba
GLV
10667 (commit commit)))
10668 (file-name (git-file-name name version))
10669 (sha256
2ff8b5ba 10670 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
b736e9ba
GLV
10671 (build-system asdf-build-system/sbcl)
10672 (native-inputs
b736e9ba 10673 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba
GLV
10674 ("cffi" ,sbcl-cffi)
10675 ("parachute" ,sbcl-parachute)
10676 ("trivial-features" ,sbcl-trivial-features)))
10677 (inputs
10678 `(("cffi" ,sbcl-cffi)
10679 ("documentation-utils" ,sbcl-documentation-utils)))
10680 (home-page "https://shinmera.github.io/mmap/")
10681 (synopsis "File memory mapping for Common Lisp")
b736e9ba 10682 (description
2ff8b5ba
GLV
10683 "This is a utility library providing access to the @emph{mmap} family of
10684functions in a portable way. It allows you to directly map a file into the
10685address space of your process without having to manually read it into memory
10686sequentially. Typically this is much more efficient for files that are larger
10687than a few Kb.")
10688 (license license:zlib))))
b736e9ba 10689
2ff8b5ba
GLV
10690(define-public cl-mmap
10691 (sbcl-package->cl-source-package sbcl-mmap))
d0a6906d 10692
2ff8b5ba
GLV
10693(define-public ecl-mmap
10694 (sbcl-package->ecl-package sbcl-mmap))
10695
10696(define-public sbcl-3bz
10697 (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed")
d0a6906d
GLV
10698 (revision "0"))
10699 (package
2ff8b5ba
GLV
10700 (name "sbcl-3bz")
10701 (version (git-version "0.0.0" revision commit))
d0a6906d
GLV
10702 (source
10703 (origin
10704 (method git-fetch)
10705 (uri (git-reference
2ff8b5ba 10706 (url "https://github.com/3b/3bz")
d0a6906d
GLV
10707 (commit commit)))
10708 (file-name (git-file-name name version))
10709 (sha256
2ff8b5ba 10710 (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj"))))
d0a6906d
GLV
10711 (build-system asdf-build-system/sbcl)
10712 (inputs
10713 `(("alexandria" ,sbcl-alexandria)
2ff8b5ba
GLV
10714 ("babel" ,sbcl-babel)
10715 ("cffi" ,sbcl-cffi)
10716 ("mmap" ,sbcl-mmap)
10717 ("nibbles" ,sbcl-nibbles)
10718 ("trivial-features" ,sbcl-trivial-features)))
10719 (arguments
10720 ;; FIXME: Without the following line, the build fails (see issue 41437).
10721 `(#:asd-systems '("3bz")))
10722 (home-page "https://github.com/3b/3bz")
10723 (synopsis "Deflate decompression for Common Lisp")
d0a6906d 10724 (description
2ff8b5ba
GLV
10725 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
10726with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
10727foreign pointers (for use with mmap and similar, etc), and from CL octet
10728vectors and streams.")
10729 (license license:expat))))
1a1b584b 10730
2ff8b5ba
GLV
10731(define-public cl-3bz
10732 (sbcl-package->cl-source-package sbcl-3bz))
efa88f90 10733
2ff8b5ba
GLV
10734(define-public ecl-3bz
10735 (sbcl-package->ecl-package sbcl-3bz))
9757de5d 10736
2ff8b5ba 10737(define-public sbcl-zpb-exif
9757de5d 10738 (package
2ff8b5ba
GLV
10739 (name "sbcl-zpb-exif")
10740 (version "1.2.4")
10741 (source
10742 (origin
10743 (method git-fetch)
10744 (uri (git-reference
10745 (url "https://github.com/xach/zpb-exif")
10746 (commit (string-append "release-" version))))
10747 (file-name (git-file-name name version))
10748 (sha256
10749 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
10750 (build-system asdf-build-system/sbcl)
10751 (home-page "https://xach.com/lisp/zpb-exif/")
10752 (synopsis "EXIF information extractor for Common Lisp")
10753 (description
10754 "This is a Common Lisp library to extract EXIF information from image
10755files.")
10756 (license license:bsd-2)))
000ee6e5 10757
2ff8b5ba
GLV
10758(define-public cl-zpb-exif
10759 (sbcl-package->cl-source-package sbcl-zpb-exif))
d92e2649 10760
2ff8b5ba
GLV
10761(define-public ecl-zpb-exif
10762 (sbcl-package->ecl-package sbcl-zpb-exif))
c93bd9f8 10763
2ff8b5ba 10764(define-public sbcl-pngload
c93bd9f8 10765 (package
2ff8b5ba
GLV
10766 (name "sbcl-pngload")
10767 (version "2.0.0")
10768 (source
10769 (origin
10770 (method git-fetch)
10771 (uri (git-reference
10772 (url "https://github.com/bufferswap/pngload")
10773 (commit version)))
10774 (file-name (git-file-name name version))
10775 (sha256
10776 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
10777 (build-system asdf-build-system/sbcl)
c93bd9f8 10778 (inputs
2ff8b5ba
GLV
10779 `(("3bz" ,sbcl-3bz)
10780 ("alexandria" ,sbcl-alexandria)
10781 ("cffi" ,sbcl-cffi)
10782 ("mmap" ,sbcl-mmap)
10783 ("parse-float" ,sbcl-parse-float)
10784 ("static-vectors" ,sbcl-static-vectors)
10785 ("swap-bytes" ,sbcl-swap-bytes)
10786 ("zpb-exif" ,sbcl-zpb-exif)))
c93bd9f8 10787 (arguments
2ff8b5ba
GLV
10788 ;; Test suite disabled because of a dependency cycle.
10789 ;; pngload tests depend on opticl which depends on pngload.
10790 '(#:tests? #f))
10791 (home-page "https://github.com/bufferswap/pngload")
10792 (synopsis "PNG image decoder for Common Lisp")
10793 (description
10794 "This is a Common Lisp library to load images in the PNG image format,
10795both from files on disk, or streams in memory.")
10796 (license license:expat)))
92da537c 10797
2ff8b5ba
GLV
10798(define-public cl-pngload
10799 (sbcl-package->cl-source-package sbcl-pngload))
5d2abf9f 10800
2ff8b5ba
GLV
10801(define-public ecl-pngload
10802 (sbcl-package->ecl-package sbcl-pngload))
e8875462 10803
2ff8b5ba
GLV
10804(define-public sbcl-opticl
10805 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
10806 (revision "0"))
10807 (package
10808 (name "sbcl-opticl")
10809 (version (git-version "0.0.0" revision commit))
10810 (source
10811 (origin
10812 (method git-fetch)
10813 (uri (git-reference
10814 (url "https://github.com/slyrus/opticl")
10815 (commit commit)))
10816 (file-name (git-file-name name version))
10817 (sha256
10818 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
10819 (build-system asdf-build-system/sbcl)
10820 (native-inputs
10821 `(("fiveam" ,sbcl-fiveam)))
10822 (inputs
10823 `(("alexandria" ,sbcl-alexandria)
10824 ("cl-jpeg" ,sbcl-cl-jpeg)
10825 ("cl-tga" ,sbcl-cl-tga)
10826 ("png-read" ,sbcl-png-read)
10827 ("pngload" ,sbcl-pngload)
10828 ("retrospectiff" ,sbcl-retrospectiff)
10829 ("skippy" ,sbcl-skippy)
10830 ("zpng" ,sbcl-zpng)))
3f8bbf7c
GLV
10831 (arguments
10832 '(#:asd-files '("opticl.asd")))
2ff8b5ba
GLV
10833 (home-page "https://github.com/slyrus/opticl")
10834 (synopsis "Image processing library for Common Lisp")
10835 (description
10836 "Opticl is a Common Lisp library for representing, processing, loading,
10837and saving 2-dimensional pixel-based images.")
10838 (license license:bsd-2))))
8e0e7f35 10839
2ff8b5ba
GLV
10840(define-public cl-opticl
10841 (sbcl-package->cl-source-package sbcl-opticl))
8afd2d10 10842
e7cbcf5a
GLV
10843(define-public ecl-opticl
10844 (sbcl-package->ecl-package sbcl-opticl))
10845
8afd2d10 10846(define-public sbcl-mcclim
6af3d85a
GLV
10847 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
10848 (revision "1"))
0f935e95 10849 (package
2ff8b5ba
GLV
10850 (name "sbcl-mcclim")
10851 (version (git-version "0.9.7" revision commit))
10852 (source
10853 (origin
10854 (method git-fetch)
10855 (uri (git-reference
10856 (url "https://github.com/mcclim/mcclim")
10857 (commit commit)))
10858 (file-name (git-file-name name version))
10859 (sha256
6af3d85a 10860 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
2ff8b5ba 10861 (build-system asdf-build-system/sbcl)
0f935e95 10862 (native-inputs
2ff8b5ba 10863 `(("fiveam" ,sbcl-fiveam)
0f935e95
GLV
10864 ("pkg-config" ,pkg-config)))
10865 (inputs
2ff8b5ba
GLV
10866 `(("alexandria" ,sbcl-alexandria)
10867 ("babel" ,sbcl-babel)
10868 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10869 ("cl-freetype2" ,sbcl-cl-freetype2)
10870 ("cl-pdf" ,sbcl-cl-pdf)
10871 ("cffi" ,sbcl-cffi)
10872 ("cl-unicode" ,sbcl-cl-unicode)
10873 ("cl-vectors" ,sbcl-cl-vectors)
10874 ("closer-mop" ,sbcl-closer-mop)
10875 ("clx" ,sbcl-clx)
10876 ("flexi-streams" ,sbcl-flexi-streams)
10877 ("flexichain" ,sbcl-flexichain)
10878 ("font-dejavu" ,font-dejavu)
0f935e95
GLV
10879 ("fontconfig" ,fontconfig)
10880 ("freetype" ,freetype)
10881 ("harfbuzz" ,harfbuzz)
2ff8b5ba
GLV
10882 ("log4cl" ,sbcl-log4cl)
10883 ("opticl" ,sbcl-opticl)
10884 ("spatial-trees" ,sbcl-spatial-trees)
10885 ("swank" ,sbcl-slime-swank)
10886 ("trivial-features" ,sbcl-trivial-features)
10887 ("trivial-garbage" ,sbcl-trivial-garbage)
10888 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
10889 ("zpb-ttf" ,sbcl-zpb-ttf)))
10890 (arguments
3f8bbf7c 10891 '(#:asd-systems '("mcclim"
2ff8b5ba
GLV
10892 "clim-examples")
10893 #:phases
10894 (modify-phases %standard-phases
10895 (add-after 'unpack 'fix-paths
10896 (lambda* (#:key inputs #:allow-other-keys)
10897 ;; mcclim-truetype uses DejaVu as default font and
10898 ;; sets the path at build time.
10899 (substitute* "Extensions/fonts/fontconfig.lisp"
10900 (("/usr/share/fonts/truetype/dejavu/")
10901 (string-append (assoc-ref inputs "font-dejavu")
10902 "/share/fonts/truetype/")))
10903 (substitute* "Extensions/fontconfig/src/functions.lisp"
10904 (("libfontconfig\\.so")
10905 (string-append (assoc-ref inputs "fontconfig")
10906 "/lib/libfontconfig.so")))
10907 (substitute* "Extensions/harfbuzz/src/functions.lisp"
10908 (("libharfbuzz\\.so")
10909 (string-append (assoc-ref inputs "harfbuzz")
10910 "/lib/libharfbuzz.so")))
10911 #t))
10912 (add-after 'unpack 'fix-build
10913 (lambda _
10914 ;; The cffi-grovel system does not get loaded automatically,
10915 ;; so we load it explicitly.
10916 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
10917 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
10918 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
10919 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
10920 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
10921 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
10922 #t)))))
10923 (home-page "https://common-lisp.net/project/mcclim/")
10924 (synopsis "Common Lisp GUI toolkit")
10925 (description
10926 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
10927specification}, a toolkit for writing GUIs in Common Lisp.")
10928 (license license:lgpl2.1+))))
300b683f 10929
2ff8b5ba
GLV
10930(define-public cl-mcclim
10931 (sbcl-package->cl-source-package sbcl-mcclim))
4daa1218 10932
e7cbcf5a
GLV
10933(define-public ecl-mcclim
10934 (sbcl-package->ecl-package sbcl-mcclim))
10935
de681bdb
AK
10936(define-public sbcl-cl-inflector
10937 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
10938 (revision "1"))
10939 (package
10940 (name "sbcl-cl-inflector")
10941 (version (git-version "0.2" revision commit))
10942 (source
10943 (origin
10944 (method git-fetch)
10945 (uri (git-reference
10946 (url "https://github.com/AccelerationNet/cl-inflector")
10947 (commit commit)))
10948 (file-name (git-file-name name version))
10949 (sha256
10950 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
10951 (build-system asdf-build-system/sbcl)
10952 (native-inputs
10953 `(("lisp-unit2" ,sbcl-lisp-unit2)))
10954 (inputs
10955 `(("alexandria" ,sbcl-alexandria)
10956 ("cl-ppcre" ,sbcl-cl-ppcre)))
10957 (home-page "https://github.com/AccelerationNet/cl-inflector")
10958 (synopsis "Library to pluralize/singularize English and Portuguese words")
10959 (description
10960 "This is a common lisp library to easily pluralize and singularize
10961English and Portuguese words. This is a port of the ruby ActiveSupport
10962Inflector module.")
10963 (license license:expat))))
10964
10965(define-public cl-inflector
10966 (sbcl-package->cl-source-package sbcl-cl-inflector))
10967
10968(define-public ecl-cl-inflector
10969 (sbcl-package->ecl-package sbcl-cl-inflector))
a05edef2 10970
1fc9baee
SH
10971(define-public sbcl-ixf
10972 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
10973 (revision "1"))
10974 (package
10975 (name "sbcl-ixf")
10976 (version (git-version "0.1.0" revision commit))
10977 (source
10978 (origin
10979 (method git-fetch)
10980 (uri (git-reference
10981 (url "https://github.com/dimitri/cl-ixf")
10982 (commit commit)))
10983 (file-name (git-file-name "cl-ixf" version))
10984 (sha256
10985 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
10986 (build-system asdf-build-system/sbcl)
10987 (inputs
10988 `(("alexandria" ,sbcl-alexandria)
10989 ("babel" ,sbcl-babel)
10990 ("cl-ppcre" ,sbcl-cl-ppcre)
10991 ("ieee-floats" ,sbcl-ieee-floats)
10992 ("local-time" ,sbcl-local-time)
10993 ("md5" ,sbcl-md5)
10994 ("split-sequence" ,sbcl-split-sequence)))
10995 (home-page "https://github.com/dimitri/cl-ixf")
10996 (synopsis "Parse IBM IXF file format")
10997 (description
10998 "This is a Common Lisp library to handle the IBM PC version of the IXF
10999(Integration Exchange Format) file format.")
11000 (license license:public-domain))))
11001
11002(define-public ecl-ixf
11003 (sbcl-package->ecl-package sbcl-ixf))
11004
11005(define-public cl-ixf
11006 (sbcl-package->cl-source-package sbcl-ixf))
11007
a05edef2
AK
11008(define-public sbcl-qbase64
11009 (package
11010 (name "sbcl-qbase64")
11011 (version "0.3.0")
11012 (source
11013 (origin
11014 (method git-fetch)
11015 (uri (git-reference
11016 (url "https://github.com/chaitanyagupta/qbase64")
11017 (commit version)))
11018 (file-name (git-file-name name version))
11019 (sha256
11020 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11021 (build-system asdf-build-system/sbcl)
11022 (inputs
11023 `(("metabang-bind" ,sbcl-metabang-bind)
11024 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11025 (native-inputs
11026 `(("fiveam" ,sbcl-fiveam)))
11027 (home-page "https://github.com/chaitanyagupta/qbase64")
11028 (synopsis "Base64 encoder and decoder for Common Lisp")
11029 (description "@code{qbase64} provides a fast and flexible base64 encoder
11030and decoder for Common Lisp.")
11031 (license license:bsd-3)))
11032
11033(define-public cl-qbase64
11034 (sbcl-package->cl-source-package sbcl-qbase64))
11035
11036(define-public ecl-qbase64
11037 (sbcl-package->ecl-package sbcl-qbase64))
635e8b07 11038
ebabcf23
PN
11039(define-public sbcl-lw-compat
11040 ;; No release since 2013.
11041 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11042 (package
11043 (name "sbcl-lw-compat")
11044 (version (git-version "1.0.0" "1" commit))
11045 (source
11046 (origin
11047 (method git-fetch)
11048 (uri (git-reference
11049 (url "https://github.com/pcostanza/lw-compat/")
11050 (commit commit)))
11051 (file-name (git-file-name name version))
11052 (sha256
11053 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11054 (build-system asdf-build-system/sbcl)
11055 (home-page "https://github.com/pcostanza/lw-compat/")
11056 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11057 (description "This package contains a few utility functions from the
11058LispWorks library that are used in software such as ContextL.")
11059 (license license:expat))))
11060
11061(define-public cl-lw-compat
11062 (sbcl-package->cl-source-package sbcl-lw-compat))
11063
11064(define-public ecl-lw-compat
11065 (sbcl-package->ecl-package sbcl-lw-compat))
11066
94585fff
PN
11067(define-public sbcl-contextl
11068 ;; No release since 2013.
11069 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11070 (package
11071 (name "sbcl-contextl")
11072 (version (git-version "1.0.0" "1" commit))
11073 (source
11074 (origin
11075 (method git-fetch)
11076 (uri (git-reference
11077 (url "https://github.com/pcostanza/contextl/")
11078 (commit commit)))
11079 (file-name (git-file-name name version))
11080 (sha256
11081 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11082 (build-system asdf-build-system/sbcl)
11083 (inputs
11084 `(("closer-mop" ,sbcl-closer-mop)
11085 ("lw-compat" ,sbcl-lw-compat)))
11086 (home-page "https://github.com/pcostanza/contextl")
11087 (synopsis "Context-oriented programming for Common Lisp")
11088 (description "ContextL is a CLOS extension for Context-Oriented
11089Programming (COP).
11090
11091Find overview of ContextL's features in an overview paper:
11092@url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11093overview article about COP which also contains some ContextL examples:
11094@url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11095 (license license:expat))))
11096
11097(define-public cl-contextl
11098 (sbcl-package->cl-source-package sbcl-contextl))
11099
11100(define-public ecl-contextl
11101 (sbcl-package->ecl-package sbcl-contextl))
11102
635e8b07
PN
11103(define-public sbcl-hu.dwim.common-lisp
11104 (package
11105 (name "sbcl-hu.dwim.common-lisp")
11106 (version "2015-07-09")
11107 (source
11108 (origin
11109 (method url-fetch)
11110 (uri (string-append
11111 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11112 version "/hu.dwim.common-lisp-"
11113 (string-replace-substring version "-" "")
11114 "-darcs.tgz"))
11115 (sha256
11116 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11117 (build-system asdf-build-system/sbcl)
11118 (native-inputs
11119 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11120 (home-page "http://dwim.hu/")
11121 (synopsis "Redefine some standard Common Lisp names")
11122 (description "This library is a redefinition of the standard Common Lisp
11123package that includes a number of renames and shadows. ")
11124 (license license:public-domain)))
11125
11126(define-public cl-hu.dwim.common-lisp
11127 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
11128
11129(define-public ecl-hu.dwim.common-lisp
11130 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
89a3fec5
PN
11131
11132(define-public sbcl-hu.dwim.common
11133 (package
11134 (name "sbcl-hu.dwim.common")
11135 (version "2015-07-09")
11136 (source
11137 (origin
11138 (method url-fetch)
11139 (uri (string-append
11140 "http://beta.quicklisp.org/archive/hu.dwim.common/"
11141 version "/hu.dwim.common-"
11142 (string-replace-substring version "-" "")
11143 "-darcs.tgz"))
11144 (sha256
11145 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
11146 (build-system asdf-build-system/sbcl)
11147 (native-inputs
11148 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11149 (inputs
11150 `(("alexandria" ,sbcl-alexandria)
11151 ("anaphora" ,sbcl-anaphora)
11152 ("closer-mop" ,sbcl-closer-mop)
11153 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
11154 ("iterate" ,sbcl-iterate)
11155 ("metabang-bind" ,sbcl-metabang-bind)))
11156 (home-page "http://dwim.hu/")
11157 (synopsis "Common Lisp library shared by other hu.dwim systems")
9e7b2658
PN
11158 (description "This package contains a support library for other
11159hu.dwim systems.")
89a3fec5
PN
11160 (license license:public-domain)))
11161
11162(define-public cl-hu.dwim.common
11163 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
11164
11165(define-public ecl-hu.dwim.common
11166 (sbcl-package->ecl-package sbcl-hu.dwim.common))
ec3c3aa7
PN
11167
11168(define-public sbcl-hu.dwim.defclass-star
11169 (package
11170 (name "sbcl-hu.dwim.defclass-star")
11171 (version "2015-07-09")
11172 (source
11173 (origin
11174 (method url-fetch)
11175 (uri (string-append
11176 "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/"
11177 version "/hu.dwim.defclass-star-"
11178 (string-replace-substring version "-" "")
11179 "-darcs.tgz"))
11180 (sha256
11181 (base32 "032982lyp0hm0ssxlyh572whi2hr4j1nqkyqlllaj373v0dbs3vs"))))
11182 (build-system asdf-build-system/sbcl)
11183 (native-inputs
11184 `(;; These 2 inputs are only needed tests which are disabled, see below.
11185 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
11186 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
11187 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
11188 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11189 (arguments
11190 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
11191 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
11192 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
11193 #:tests? #f))
11194 (home-page "http://dwim.hu/?_x=dfxn&_f=mRIMfonK")
11195 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
11196 (description "@code{defclass-star} provides defclass* and defcondition* to
11197simplify class and condition declarations. Features include:
11198
11199@itemize
11200@item Automatically export all or select slots at compile time.
7230f6d5 11201@item Define the @code{:initarg} and @code{:accessor} automatically.
ec3c3aa7
PN
11202@item Specify a name transformer for both the @code{:initarg} and
11203@code{:accessor}, etc.
11204@item Specify the @code{:initform} as second slot value.
11205@end itemize
11206
11207See
11208@url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
11209for an example.")
11210 (license license:public-domain)))
11211
11212(define-public cl-hu.dwim.defclass-star
11213 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
11214
11215(define-public ecl-hu.dwim.defclass-star
11216 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
ca7eada9
AK
11217
11218(define-public sbcl-livesupport
11219 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
11220 (revision "1"))
11221 (package
11222 (name "sbcl-livesupport")
11223 (version (git-version "0.0.0" revision commit))
11224 (source
11225 (origin
11226 (method git-fetch)
11227 (uri (git-reference
11228 (url "https://github.com/cbaggers/livesupport")
11229 (commit commit)))
11230 (file-name (git-file-name name version))
11231 (sha256
11232 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
11233 (build-system asdf-build-system/sbcl)
11234 (home-page "https://github.com/cbaggers/livesupport")
11235 (synopsis "Some helpers that make livecoding a little easier")
11236 (description "This package provides a macro commonly used in livecoding to
11237enable continuing when errors are raised. Simply wrap around a chunk of code
11238and it provides a restart called @code{continue} which ignores the error and
11239carrys on from the end of the body.")
11240 (license license:bsd-2))))
11241
11242(define-public cl-livesupport
11243 (sbcl-package->cl-source-package sbcl-livesupport))
11244
11245(define-public ecl-livesupport
11246 (sbcl-package->ecl-package sbcl-livesupport))
bfa78462
PN
11247
11248(define-public sbcl-envy
11249 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
11250 (revision "1"))
11251 (package
11252 (name "sbcl-envy")
11253 (version (git-version "0.1" revision commit))
11254 (home-page "https://github.com/fukamachi/envy")
11255 (source
11256 (origin
11257 (method git-fetch)
11258 (uri (git-reference
11259 (url home-page)
11260 (commit commit)))
11261 (file-name (git-file-name name version))
11262 (sha256
11263 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
11264 (build-system asdf-build-system/sbcl)
11265 ;; (native-inputs ; Only for tests.
11266 ;; `(("prove" ,sbcl-prove)
11267 ;; ("osicat" ,sbcl-osicat)))
11268 (arguments
11269 '(#:phases
11270 (modify-phases %standard-phases
11271 (add-after 'unpack 'fix-tests
11272 (lambda _
11273 (substitute* "envy-test.asd"
11274 (("cl-test-more") "prove"))
11275 #t)))
11276 ;; Tests fail with
11277 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
11278 ;; like xsubseq. Why?
11279 #:tests? #f))
11280 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
11281 (description "Envy is a configuration manager for various applications.
11282Envy uses an environment variable to determine a configuration to use. This
11283can separate configuration system from an implementation.")
11284 (license license:bsd-2))))
11285
11286(define-public cl-envy
11287 (sbcl-package->cl-source-package sbcl-envy))
11288
11289(define-public ecl-envy
11290 (sbcl-package->ecl-package sbcl-envy))
f5e31b1d 11291
2ff8b5ba 11292(define-public sbcl-mito
f5e31b1d
PN
11293 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
11294 (revision "1"))
11295 (package
2ff8b5ba 11296 (name "sbcl-mito")
f5e31b1d
PN
11297 (version (git-version "0.1" revision commit))
11298 (home-page "https://github.com/fukamachi/mito")
11299 (source
11300 (origin
11301 (method git-fetch)
11302 (uri (git-reference
11303 (url home-page)
11304 (commit commit)))
11305 (file-name (git-file-name name version))
11306 (sha256
11307 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
11308 (build-system asdf-build-system/sbcl)
2ff8b5ba
GLV
11309 (native-inputs
11310 `(("prove" ,sbcl-prove)))
f5e31b1d 11311 (inputs
2ff8b5ba 11312 `(("alexandria" ,sbcl-alexandria)
f5e31b1d 11313 ("cl-ppcre" ,sbcl-cl-ppcre)
2ff8b5ba 11314 ("cl-reexport" ,sbcl-cl-reexport)
f5e31b1d 11315 ("closer-mop" ,sbcl-closer-mop)
2ff8b5ba 11316 ("dbi" ,sbcl-dbi)
f5e31b1d 11317 ("dissect" ,sbcl-dissect)
2ff8b5ba 11318 ("esrap" ,sbcl-esrap)
f5e31b1d 11319 ("local-time" ,sbcl-local-time)
2ff8b5ba
GLV
11320 ("optima" ,sbcl-optima)
11321 ("sxql" ,sbcl-sxql)
11322 ("uuid" ,sbcl-uuid)))
11323 (arguments
e765d9c9 11324 '(#:phases
f5e31b1d
PN
11325 (modify-phases %standard-phases
11326 (add-after 'unpack 'remove-non-functional-tests
11327 (lambda _
11328 (substitute* "mito-test.asd"
f5e31b1d
PN
11329 (("\\(:test-file \"db/mysql\"\\)") "")
11330 (("\\(:test-file \"db/postgres\"\\)") "")
11331 (("\\(:test-file \"dao\"\\)") "")
11332 ;; TODO: migration/sqlite3 should work, re-enable once
11333 ;; upstream has fixed it:
11334 ;; https://github.com/fukamachi/mito/issues/70
11335 (("\\(:test-file \"migration/sqlite3\"\\)") "")
11336 (("\\(:test-file \"migration/mysql\"\\)") "")
11337 (("\\(:test-file \"migration/postgres\"\\)") "")
11338 (("\\(:test-file \"postgres-types\"\\)") "")
11339 (("\\(:test-file \"mixin\"\\)") ""))
11340 #t)))
11341 ;; TODO: While all enabled tests pass, the phase fails with:
11342 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
2ff8b5ba
GLV
11343 #:tests? #f))
11344 (synopsis "ORM for Common Lisp with migrations and relationships support")
11345 (description "Mito is yet another object relational mapper, and it aims
11346to be a successor of Integral.
11347
11348@itemize
11349@item Support MySQL, PostgreSQL and SQLite3.
11350@item Add id (serial/uuid primary key), created_at and updated_at by default
11351like Ruby's ActiveRecord.
11352@item Migrations.
11353@item Database schema versioning.
11354@end itemize\n")
11355 (license license:llgpl))))
f5e31b1d
PN
11356
11357(define-public cl-mito
11358 (sbcl-package->cl-source-package sbcl-mito))
0bca68d9 11359
12df8b7b
GLV
11360(define-public ecl-mito
11361 (sbcl-package->ecl-package sbcl-mito))
11362
0bca68d9
PN
11363(define-public sbcl-kebab
11364 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
11365 (revision "1"))
11366 (package
11367 (name "sbcl-kebab")
11368 (version (git-version "0.1" revision commit))
11369 (home-page "https://github.com/pocket7878/kebab")
11370 (source
11371 (origin
11372 (method git-fetch)
11373 (uri (git-reference
11374 (url home-page)
11375 (commit commit)))
11376 (file-name (git-file-name name version))
11377 (sha256
11378 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
11379 (build-system asdf-build-system/sbcl)
11380 (inputs
11381 `(("cl-ppcre" ,sbcl-cl-ppcre)
11382 ("alexandria" ,sbcl-alexandria)
11383 ("cl-interpol" ,sbcl-cl-interpol)
11384 ("split-sequence" ,sbcl-split-sequence)))
11385 (native-inputs
2ff8b5ba 11386 `(("prove" ,sbcl-prove)))
0bca68d9
PN
11387 (arguments
11388 ;; Tests passes but the phase fails with
11389 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
11390 `(#:tests? #f))
11391 (synopsis "Common Lisp case converter")
11392 (description "This Common Lisp library converts strings, symbols and
11393keywords between any of the following typographical cases: PascalCase,
11394camelCase, snake_case, kebab-case (lisp-case).")
11395 (license license:llgpl))))
11396
11397(define-public cl-kebab
11398 (sbcl-package->cl-source-package sbcl-kebab))
11399
11400(define-public ecl-kebab
11401 (sbcl-package->ecl-package sbcl-kebab))
69006b0c
PN
11402
11403(define-public sbcl-datafly
11404 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
11405 (revision "1"))
11406 (package
11407 (name "sbcl-datafly")
11408 (version (git-version "0.1" revision commit))
11409 (home-page "https://github.com/fukamachi/datafly")
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 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
11419 (build-system asdf-build-system/sbcl)
11420 (inputs
11421 `(("alexandria" ,sbcl-alexandria)
11422 ("iterate" ,sbcl-iterate)
11423 ("optima" ,sbcl-optima)
11424 ("trivial-types" ,sbcl-trivial-types)
11425 ("closer-mop" ,sbcl-closer-mop)
2ff8b5ba 11426 ("cl-syntax" ,sbcl-cl-syntax)
69006b0c
PN
11427 ("sxql" ,sbcl-sxql)
11428 ("dbi" ,sbcl-dbi)
11429 ("babel" ,sbcl-babel)
11430 ("local-time" ,sbcl-local-time)
11431 ("function-cache" ,sbcl-function-cache)
11432 ("jonathan" ,sbcl-jonathan)
11433 ("kebab" ,sbcl-kebab)
11434 ("log4cl" ,sbcl-log4cl)))
11435 (native-inputs
2ff8b5ba 11436 `(("prove" ,sbcl-prove)))
69006b0c
PN
11437 (arguments
11438 ;; TODO: Tests fail with
11439 ;; While evaluating the form starting at line 22, column 0
11440 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
11441 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
11442 ;; {10009F8083}>:
11443 ;; Error when binding parameter 1 to value NIL.
11444 ;; Code RANGE: column index out of range.
11445 `(#:tests? #f))
11446 (synopsis "Lightweight database library for Common Lisp")
11447 (description "Datafly is a lightweight database library for Common Lisp.")
11448 (license license:bsd-3))))
11449
11450(define-public cl-datafly
11451 (sbcl-package->cl-source-package sbcl-datafly))
11452
11453(define-public ecl-datafly
11454 (sbcl-package->ecl-package sbcl-datafly))
56aeb1a4
PN
11455
11456(define-public sbcl-do-urlencode
11457 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
11458 (revision "1"))
11459 (package
11460 (name "sbcl-do-urlencode")
11461 (version (git-version "0.0.0" revision commit))
11462 (home-page "https://github.com/drdo/do-urlencode")
11463 (source
11464 (origin
11465 (method git-fetch)
11466 (uri (git-reference
11467 (url home-page)
11468 (commit commit)))
11469 (file-name (git-file-name name version))
11470 (sha256
11471 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
11472 (build-system asdf-build-system/sbcl)
11473 (inputs
11474 `(("alexandria" ,sbcl-alexandria)
11475 ("babel" ,sbcl-babel)))
11476 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
11477 (description "This library provides trivial percent encoding and
11478decoding functions for URLs.")
11479 (license license:isc))))
11480
11481(define-public cl-do-urlencode
11482 (sbcl-package->cl-source-package sbcl-do-urlencode))
11483
11484(define-public ecl-do-urlencode
11485 (sbcl-package->ecl-package sbcl-do-urlencode))
d2c9f349
PN
11486
11487(define-public sbcl-cl-emb
11488 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
11489 (revision "1"))
11490 (package
11491 (name "sbcl-cl-emb")
11492 (version (git-version "0.4.3" revision commit))
11493 (home-page "https://common-lisp.net/project/cl-emb/")
11494 (source
11495 (origin
11496 (method git-fetch)
11497 (uri (git-reference
11498 (url "https://github.com/38a938c2/cl-emb")
11499 (commit commit)))
11500 (file-name (git-file-name name version))
11501 (sha256
11502 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
11503 (build-system asdf-build-system/sbcl)
11504 (inputs
11505 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11506 (synopsis "Templating system for Common Lisp")
11507 (description "A mixture of features from eRuby and HTML::Template. You
11508could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
11509that and not limited to a certain server or text format.")
11510 (license license:llgpl))))
11511
11512(define-public cl-emb
11513 (sbcl-package->cl-source-package sbcl-cl-emb))
11514
11515(define-public ecl-cl-emb
11516 (sbcl-package->ecl-package sbcl-cl-emb))
bc1f552b
PN
11517
11518(define-public sbcl-cl-project
11519 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
11520 (revision "1"))
11521 (package
11522 (name "sbcl-cl-project")
11523 (version (git-version "0.3.1" revision commit))
11524 (home-page "https://github.com/fukamachi/cl-project")
11525 (source
11526 (origin
11527 (method git-fetch)
11528 (uri (git-reference
11529 (url home-page)
11530 (commit commit)))
11531 (file-name (git-file-name name version))
11532 (sha256
11533 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
11534 (build-system asdf-build-system/sbcl)
11535 (inputs
11536 `(("cl-emb" ,sbcl-cl-emb)
11537 ("cl-ppcre" ,sbcl-cl-ppcre)
11538 ("local-time" ,sbcl-local-time)
11539 ("prove" ,sbcl-prove)))
11540 (arguments
11541 ;; Tests depend on caveman, which in turns depends on cl-project.
3f8bbf7c
GLV
11542 '(#:tests? #f
11543 #:asd-files '("cl-project.asd")))
bc1f552b
PN
11544 (synopsis "Generate a skeleton for modern Common Lisp projects")
11545 (description "This library provides a modern project skeleton generator.
11546In contract with other generators, CL-Project generates one package per file
11547and encourages unit testing by generating a system for unit testing, so you
11548can begin writing unit tests as soon as the project is generated.")
11549 (license license:llgpl))))
11550
11551(define-public cl-project
11552 (sbcl-package->cl-source-package sbcl-cl-project))
11553
11554(define-public ecl-cl-project
11555 (sbcl-package->ecl-package sbcl-cl-project))
f5ca844f
PN
11556
11557(define-public sbcl-caveman
11558 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
11559 (revision "1"))
11560 (package
11561 (name "sbcl-caveman")
11562 (version (git-version "2.4.0" revision commit))
11563 (home-page "http://8arrow.org/caveman/")
11564 (source
11565 (origin
11566 (method git-fetch)
11567 (uri (git-reference
11568 (url "https://github.com/fukamachi/caveman/")
11569 (commit commit)))
11570 (file-name (git-file-name name version))
11571 (sha256
11572 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
11573 (build-system asdf-build-system/sbcl)
11574 (inputs
11575 `(("ningle" ,cl-ningle)
2ff8b5ba 11576 ("lack" ,sbcl-lack)
f5ca844f
PN
11577 ("cl-project" ,sbcl-cl-project)
11578 ("dbi" ,sbcl-dbi)
2ff8b5ba 11579 ("cl-syntax" ,sbcl-cl-syntax)
f5ca844f
PN
11580 ("myway" ,sbcl-myway)
11581 ("quri" ,sbcl-quri)))
11582 (native-inputs
11583 `(("usocket" ,sbcl-usocket)
11584 ("dexador" ,sbcl-dexador)))
11585 (arguments
2ff8b5ba
GLV
11586 `(#:asd-files '("caveman2.asd")
11587 #:asd-systems '("caveman2")
f5ca844f
PN
11588 #:phases
11589 (modify-phases %standard-phases
11590 (add-after 'unpack 'remove-v1
11591 (lambda _
11592 (delete-file-recursively "v1")
11593 (for-each delete-file
11594 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
11595 ;; TODO: Tests fail with:
d27afcc6 11596 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
f5ca844f
PN
11597 ;; While evaluating the form starting at line 38, column 0
11598 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
11599 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
11600 ;; {10009F8083}>:
11601 ;; Component "myapp573" not found
11602 #:tests? #f))
11603 (synopsis "Lightweight web application framework in Common Lisp")
11604 (description "Caveman is intended to be a collection of common parts for
11605web applications. Caveman2 has three design goals:
11606
11607@itemize
11608@item Be extensible.
11609@item Be practical.
11610@item Don't force anything.
11611@end itemize\n")
11612 (license license:llgpl))))
11613
11614(define-public cl-caveman
11615 (package
11616 (inherit
11617 (sbcl-package->cl-source-package sbcl-caveman))
11618 (propagated-inputs
11619 `(("ningle" ,cl-ningle)))))
11620
11621(define-public ecl-caveman
11622 (sbcl-package->ecl-package sbcl-caveman))
582d0108
A
11623
11624(define-public sbcl-lambda-fiddle
11625 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
11626 (revision "1"))
11627 (package
11628 (name "sbcl-lambda-fiddle")
11629 (version (git-version "1.0.0" revision commit))
11630 (source
11631 (origin
11632 (method git-fetch)
11633 (uri (git-reference
11634 (url "https://github.com/Shinmera/lambda-fiddle")
11635 (commit commit)))
11636 (file-name (git-file-name name version))
11637 (sha256
11638 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
11639 (build-system asdf-build-system/sbcl)
11640 (home-page "https://github.com/Shinmera/lambda-fiddle")
11641 (synopsis "Collection of utilities to process lambda-lists")
11642 (description "This collection of utilities is useful in contexts where
11643you want a macro that uses lambda-lists in some fashion but need more precise
11644processing.")
11645 (license license:zlib))))
11646
11647(define-public cl-lambda-fiddle
11648 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
11649
11650(define-public ecl-lambda-fiddle
11651 (sbcl-package->ecl-package sbcl-lambda-fiddle))
7722c367
A
11652
11653(define-public sbcl-xmls
11654 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
11655 (revision "1"))
11656 (package
11657 (name "sbcl-xmls")
11658 (version (git-version "3.0.2" revision commit))
11659 (source
11660 (origin
11661 (method git-fetch)
11662 (uri (git-reference
11663 (url "https://github.com/rpgoldman/xmls")
11664 (commit commit)))
11665 (file-name (git-file-name name version))
11666 (sha256
11667 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
11668 (native-inputs
11669 `(("fiveam" ,sbcl-fiveam)))
11670 (build-system asdf-build-system/sbcl)
11671 (home-page "https://github.com/rpgoldman/xmls")
11672 (synopsis "Non-validating XML parser for Common Lisp")
11673 (description "Xmls is a self-contained, easily embedded parser that
11674recognizes a useful subset of the XML spec. It provides a simple mapping from
11675XML to Lisp structures or s-expressions and back.")
11676 (license license:bsd-2))))
11677
11678(define-public cl-xmls
11679 (sbcl-package->cl-source-package sbcl-xmls))
11680
11681(define-public ecl-xmls
11682 (sbcl-package->ecl-package sbcl-xmls))
5a723527
GLV
11683
11684(define-public sbcl-geco
11685 (package
11686 (name "sbcl-geco")
6e301c3a 11687 (version "2.1.1")
5a723527
GLV
11688 (source
11689 (origin
6e301c3a
GLV
11690 (method git-fetch)
11691 (uri (git-reference
11692 (url "https://github.com/gpwwjr/GECO")
11693 (commit (string-append "v" version))))
11694 (file-name (git-file-name "geco" version))
5a723527 11695 (sha256
6e301c3a 11696 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
5a723527 11697 (build-system asdf-build-system/sbcl)
6e301c3a 11698 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
5a723527
GLV
11699 (synopsis "Genetic algorithm toolkit for Common Lisp")
11700 (description
11701 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
11702object-oriented framework for prototyping genetic algorithms in Common Lisp.")
11703 (license license:lgpl2.1+)))
11704
11705(define-public cl-geco
11706 (sbcl-package->cl-source-package sbcl-geco))
11707
11708(define-public ecl-geco
11709 (sbcl-package->ecl-package sbcl-geco))
50ff091d
PN
11710
11711(define-public sbcl-html-entities
11712 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
11713 (package
11714 (name "sbcl-html-entities")
11715 (version (git-version "0.02" "1" commit))
11716 (source
11717 (origin
11718 (method git-fetch)
11719 (uri (git-reference
11720 (url "https://github.com/BnMcGn/html-entities/")
11721 (commit commit)))
11722 (file-name (git-file-name name version))
11723 (sha256
11724 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
11725 (build-system asdf-build-system/sbcl)
11726 (inputs
11727 `(("ppcre" ,sbcl-cl-ppcre)))
11728 (native-inputs
11729 `(("fiveam" ,sbcl-fiveam)))
11730 (home-page "https://github.com/BnMcGn/html-entities/")
11731 (synopsis "Encode and decode entities in HTML with Common Lisp")
11732 (description "Html-entities is a Common Lisp library that lets you
11733encode and decode entities in HTML.")
11734 (license license:expat))))
11735
11736(define-public cl-html-entities
11737 (sbcl-package->cl-source-package sbcl-html-entities))
11738
11739(define-public ecl-html-entities
11740 (sbcl-package->ecl-package sbcl-html-entities))
2631fc13
PN
11741
11742(define-public sbcl-quicksearch
11743 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
11744 (package
11745 (name "sbcl-quicksearch")
11746 (version (git-version "0.01.04" "1" commit))
11747 (source
11748 (origin
11749 (method git-fetch)
11750 (uri (git-reference
11751 (url "https://github.com/tkych/quicksearch/")
11752 (commit commit)))
11753 (file-name (git-file-name name version))
11754 (sha256
11755 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
11756 (build-system asdf-build-system/sbcl)
11757 (inputs
11758 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11759 ("iterate" ,sbcl-iterate)
11760 ("alexandria" ,sbcl-alexandria)
11761 ("anaphora" ,sbcl-anaphora)
11762 ("ppcre" ,sbcl-cl-ppcre)
11763 ("drakma" ,sbcl-drakma)
11764 ("html-entities" ,sbcl-html-entities)
11765 ("yason" ,sbcl-yason)
11766 ("flexi-streams" ,sbcl-flexi-streams)
11767 ("do-urlencode" ,sbcl-do-urlencode)))
11768 (home-page "https://github.com/tkych/quicksearch/")
11769 (synopsis "Search Engine Interface for Common Lisp packages")
11770 (description "Quicksearch is a search-engine-interface for Common Lisp.
11771The goal of Quicksearch is to find the Common Lisp library quickly. For
11772example, if you will find the library about json, just type @code{(qs:?
11773'json)} at REPL.
11774
11775The function @code{quicksearch} searches for Common Lisp projects in
11776Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
11777function @code{?} is abbreviation wrapper for @code{quicksearch}.")
11778 (license license:expat))))
11779
11780(define-public cl-quicksearch
11781 (sbcl-package->cl-source-package sbcl-quicksearch))
11782
11783(define-public ecl-quicksearch
11784 (sbcl-package->ecl-package sbcl-quicksearch))
f66fbb7a
PN
11785
11786(define-public sbcl-agutil
11787 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
11788 (package
11789 (name "sbcl-agutil")
11790 (version (git-version "0.0.1" "1" commit))
11791 (source
11792 (origin
11793 (method git-fetch)
11794 (uri (git-reference
11795 (url "https://github.com/alex-gutev/agutil/")
11796 (commit commit)))
11797 (file-name (git-file-name name version))
11798 (sha256
11799 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
11800 (build-system asdf-build-system/sbcl)
11801 (inputs
11802 `(("alexandria" ,sbcl-alexandria)
11803 ("trivia" ,sbcl-trivia)))
11804 (home-page "https://github.com/alex-gutev/agutil/")
11805 (synopsis "Collection of Common Lisp utilities")
11806 (description "A collection of Common Lisp utility functions and macros
11807mostly not found in other utility packages.")
11808 (license license:expat))))
11809
11810(define-public cl-agutil
11811 (sbcl-package->cl-source-package sbcl-agutil))
11812
11813(define-public ecl-agutil
11814 (sbcl-package->ecl-package sbcl-agutil))
e60bbd9a
PN
11815
11816(define-public sbcl-custom-hash-table
11817 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
11818 (package
11819 (name "sbcl-custom-hash-table")
11820 (version (git-version "0.3" "1" commit))
11821 (source
11822 (origin
11823 (method git-fetch)
11824 (uri (git-reference
11825 (url "https://github.com/metawilm/cl-custom-hash-table")
11826 (commit commit)))
11827 (file-name (git-file-name name version))
11828 (sha256
11829 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
11830 (build-system asdf-build-system/sbcl)
11831 (arguments
a9a0d348
MB
11832 '(#:asd-files '("cl-custom-hash-table.asd")
11833 #:asd-systems '("cl-custom-hash-table")))
e60bbd9a
PN
11834 (home-page "https://github.com/metawilm/cl-custom-hash-table")
11835 (synopsis "Custom hash tables for Common Lisp")
11836 (description "This library allows creation of hash tables with arbitrary
11837@code{test}/@code{hash} functions, in addition to the @code{test} functions
11838allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
11839@code{EQUALP}), even in implementations that don't support this functionality
11840directly.")
11841 (license license:expat))))
11842
11843(define-public cl-custom-hash-table
11844 (sbcl-package->cl-source-package sbcl-custom-hash-table))
11845
11846(define-public ecl-custom-hash-table
11847 (sbcl-package->ecl-package sbcl-custom-hash-table))
e744328a
PN
11848
11849(define-public sbcl-collectors
11850 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
11851 (package
11852 (name "sbcl-collectors")
11853 (version (git-version "0.1" "1" commit))
11854 (source
11855 (origin
11856 (method git-fetch)
11857 (uri (git-reference
11858 (url "https://github.com/AccelerationNet/collectors")
11859 (commit commit)))
11860 (file-name (git-file-name name version))
11861 (sha256
11862 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
11863 (build-system asdf-build-system/sbcl)
11864 (inputs
11865 `(("alexandria" ,sbcl-alexandria)
11866 ("closer-mop" ,sbcl-closer-mop)
11867 ("symbol-munger" ,sbcl-symbol-munger)))
11868 (native-inputs
11869 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11870 (home-page "https://github.com/AccelerationNet/collectors/")
11871 (synopsis "Common lisp library providing collector macros")
11872 (description "A small collection of common lisp macros to make
11873collecting values easier.")
11874 (license license:bsd-3))))
11875
11876(define-public cl-collectors
11877 (sbcl-package->cl-source-package sbcl-collectors))
11878
11879(define-public ecl-collectors
11880 (sbcl-package->ecl-package sbcl-collectors))
6b886891 11881
a7489847
PN
11882(define-public sbcl-cl-environments
11883 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
9f78a37f 11884 (package
a7489847 11885 (name "sbcl-cl-environments")
9f78a37f
PN
11886 (version (git-version "0.2.3" "1" commit))
11887 (source
11888 (origin
11889 (method git-fetch)
11890 (uri (git-reference
11891 (url "https://github.com/alex-gutev/cl-environments")
11892 (commit commit)))
11893 (file-name (git-file-name name version))
11894 (sha256
11895 (base32
a7489847
PN
11896 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
11897 (build-system asdf-build-system/sbcl)
9f78a37f
PN
11898 (propagated-inputs
11899 `(("alexandria" ,cl-alexandria)
11900 ("anaphora" ,cl-anaphora)
11901 ("collectors" ,cl-collectors)
11902 ("optima" ,cl-optima)))
11903 (native-inputs
a9a0d348 11904 `(("prove" ,sbcl-prove)))
9f78a37f
PN
11905 (home-page "https://github.com/alex-gutev/cl-environments")
11906 (synopsis "Implements the Common Lisp standard environment access API")
11907 (description "This library provides a uniform API, as specified in Common
6b886891
PN
11908Lisp the Language 2, for accessing information about variable and function
11909bindings from implementation-defined lexical environment objects. All major
11910Common Lisp implementations are supported, even those which don't support the
11911CLTL2 environment access API.")
9f78a37f 11912 (license license:expat))))
e22b88b6 11913
a7489847
PN
11914(define-public cl-environments
11915 (sbcl-package->cl-source-package sbcl-cl-environments))
11916
11917(define-public ecl-environments
11918 (sbcl-package->ecl-package sbcl-cl-environments))
11919
e22b88b6
PN
11920(define-public sbcl-static-dispatch
11921 (package
11922 (name "sbcl-static-dispatch")
11923 (version "0.3")
11924 (source
11925 (origin
11926 (method git-fetch)
11927 (uri (git-reference
11928 (url "https://github.com/alex-gutev/static-dispatch")
11929 (commit (string-append "v" version))))
11930 (file-name (git-file-name name version))
11931 (sha256
11932 (base32 "1wp5yz8liqqic3yifqf33qhccd755pd7ycvsq1j4i7k3f1wm18i0"))))
11933 (build-system asdf-build-system/sbcl)
11934 (inputs
11935 `(("agutil" ,sbcl-agutil)
11936 ("alexandria" ,sbcl-alexandria)
11937 ("anaphora" ,sbcl-anaphora)
11938 ("arrows" ,sbcl-arrows)
11939 ("closer-mop" ,sbcl-closer-mop)
11940 ("iterate" ,sbcl-iterate)
11941 ("trivia" ,sbcl-trivia)))
11942 (propagated-inputs
a7489847
PN
11943 ;; FIXME: `sbcl-cl-environments' input fails with
11944 ;;
11945 ;; compiling #<CL-SOURCE-FILE "collectors" "collectors">
11946 ;; Unhandled SB-INT:SIMPLE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
11947 ;; {1008238213}>:
11948 ;; Error opening #P"/.../cl-environments/src/common/package-tmp5GEXGEG5.fasl":
11949 ;; Permission denied
e22b88b6
PN
11950 `(("cl-environments" ,cl-environments)))
11951 (native-inputs
a9a0d348 11952 `(("prove" ,sbcl-prove)))
e22b88b6
PN
11953 (arguments
11954 `(#:phases
11955 (modify-phases %standard-phases
11956 ;; Use `arrows' instead of cl-arrows which is abandoned and unlicensed.
11957 ;; https://github.com/nightfly19/cl-arrows/issues/5
11958 (add-after 'unpack 'use-arrows-instead-of-cl-arrows
11959 (lambda _
11960 (for-each
11961 (lambda (file)
11962 (substitute* file
11963 ((":cl-arrows") ":arrows")))
11964 '("static-dispatch.asd"
11965 "src/package.lisp"
11966 "test/methods.lisp"
11967 "test/test.lisp")))))))
11968 (home-page "https://github.com/alex-gutev/static-dispatch")
11969 (synopsis "Static generic function dispatch for Common Lisp")
11970 (description "Static dispatch is a Common Lisp library, inspired by
11971@code{inlined-generic-function}, which allows standard Common Lisp generic
11972function dispatch to be performed statically (at compile time) rather than
11973dynamically (runtime). This is similar to what is known as \"overloading\" in
11974languages such as C++ and Java.
11975
11976The purpose of static dispatch is to provide an optimization in cases where
11977the usual dynamic dispatch is too slow, and the dynamic features of generic
11978functions, such as adding/removing methods at runtime are not required. An
11979example of such a case is a generic equality comparison function. Currently
11980generic functions are considered far too slow to implement generic arithmetic
11981and comparison operations when used heavily in numeric code.")
11982 (license license:expat)))
11983
11984(define-public cl-static-dispatch
11985 (sbcl-package->cl-source-package sbcl-static-dispatch))
11986
11987(define-public ecl-static-dispatch
11988 (sbcl-package->ecl-package sbcl-static-dispatch))
7a34169f 11989
85821dcd
PN
11990(define-public sbcl-generic-cl
11991 ;; Latest commit includes a necessary fix for our Guix build.
11992 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
11993 (package
11994 (name "sbcl-generic-cl")
11995 (version (git-version "0.7.1" "1" commit))
11996 (source
11997 (origin
11998 (method git-fetch)
11999 (uri (git-reference
12000 (url "https://github.com/alex-gutev/generic-cl")
12001 (commit commit)))
12002 (file-name (git-file-name name version))
12003 (sha256
12004 (base32
12005 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12006 (build-system asdf-build-system/sbcl)
12007 (inputs
12008 `(("agutil" ,sbcl-agutil)
12009 ("alexandria" ,sbcl-alexandria)
12010 ("anaphora" ,sbcl-anaphora)
12011 ("arrows" ,sbcl-arrows)
12012 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12013 ("trivia" ,sbcl-trivia)))
12014 (propagated-inputs
12015 ;; FIXME: Same error as for `sbcl-static-dispatch'.
12016 `(("static-dispatch" ,cl-static-dispatch)))
12017 (native-inputs
12018 `(("prove" ,sbcl-prove)))
12019 (arguments
12020 ;; Tests fail because SBCL head size is not high enough.
12021 ;; https://github.com/alex-gutev/generic-cl/issues/6
12022 `(#:tests? #f))
12023 (home-page "https://alex-gutev.github.io/generic-cl/")
12024 (synopsis "Generic function interface to standard Common Lisp functions")
12025 (description "@code{generic-cl} provides a generic function wrapper over
12026various functions in the Common Lisp standard, such as equality predicates and
12027sequence operations. The goal of this wrapper is to provide a standard
12028interface to common operations, such as testing for the equality of two
12029objects, which is extensible to user-defined types.")
12030 (license license:expat))))
12031
12032(define-public cl-generic-cl
12033 (sbcl-package->cl-source-package sbcl-generic-cl))
12034
12035(define-public ecl-generic-cl
12036 (sbcl-package->ecl-package sbcl-generic-cl))
12037
7a34169f
AK
12038(define-public sbcl-defpackage-plus
12039 (let ((revision "0")
12040 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12041 (package
12042 (name "sbcl-defpackage-plus")
12043 (version (git-version "1.0" revision commit))
12044 (source
12045 (origin
12046 (method git-fetch)
12047 (uri (git-reference
12048 (url "https://github.com/rpav/defpackage-plus")
12049 (commit commit)))
12050 (file-name (git-file-name name version))
12051 (sha256
12052 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12053 (build-system asdf-build-system/sbcl)
12054 (inputs
12055 `(("alexandria" ,sbcl-alexandria)))
12056 (home-page "https://github.com/rpav/defpackage-plus")
12057 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12058 (description
12059 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12060predictable cross-platform behavior and some utilities useful for versioning.")
12061 (license license:bsd-2))))
12062
12063(define-public cl-defpackage-plus
12064 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12065
12066(define-public ecl-defpackage-plus
12067 (sbcl-package->ecl-package sbcl-defpackage-plus))
0fac1f25
AK
12068
12069(define-public sbcl-deploy
12070 ;; tagged branch is outdated
12071 (let ((revision "1")
12072 (commit "59fd49719ef651a8fc11750bcfb337f132cff75f"))
12073 (package
12074 (name "sbcl-deploy")
12075 (version (git-version "1.0.0" revision commit))
12076 (source
12077 (origin
12078 (method git-fetch)
12079 (uri (git-reference
12080 (url "https://github.com/Shinmera/deploy")
12081 (commit commit)))
12082 (file-name (git-file-name name version))
12083 (sha256
12084 (base32 "1vl2116z4kw2pd3qd3n6mmg8g0mnwxr9dgddk86g7j1bis1z8k9a"))))
12085 (build-system asdf-build-system/sbcl)
12086 (inputs
12087 `(("cffi" ,sbcl-cffi)
12088 ("documentation-utils" ,sbcl-documentation-utils)))
12089 (arguments
12090 '(#:asd-files '("deploy.asd")))
12091 (home-page "https://shinmera.github.io/deploy/")
12092 (synopsis "Deployment tools for standalone Common Lisp application")
12093 (description
12094 "This is a system to help you easily and quickly deploy standalone
12095common lisp applications as binaries. Specifically it is geared towards
12096applications with foreign library dependencies that run some kind of GUI.")
12097 (license license:artistic2.0))))
12098
12099(define-public cl-deploy
12100 (sbcl-package->cl-source-package sbcl-deploy))
12101
12102(define-public ecl-deploy
12103 (sbcl-package->ecl-package sbcl-deploy))
84811414
AK
12104
12105(define-public sbcl-deeds
12106 ;; taged branch is outdated
12107 (let ((revision "1")
12108 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12109 (package
12110 (name "sbcl-deeds")
12111 (version (git-version "1.1.1" revision commit))
12112 (source
12113 (origin
12114 (method git-fetch)
12115 (uri (git-reference
12116 (url "https://github.com/Shinmera/deeds")
12117 (commit commit)))
12118 (file-name (git-file-name name version))
12119 (sha256
12120 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12121 (build-system asdf-build-system/sbcl)
12122 (inputs
12123 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12124 ("closer-mop" ,sbcl-closer-mop)
12125 ("form-fiddle" ,sbcl-form-fiddle)
12126 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12127 (home-page "https://github.com/Shinmera/deeds")
12128 (synopsis "Extensible Event Delivery System")
12129 (description
12130 "@code{deeds} allows for efficient event delivery to multiple handlers
12131with a complex event filtering system.")
12132 (license license:zlib))))
12133
12134(define-public cl-deeds
12135 (sbcl-package->cl-source-package sbcl-deeds))
12136
12137(define-public ecl-deeds
12138 (sbcl-package->ecl-package sbcl-deeds))
e3d5a206
AK
12139
12140(define-public sbcl-make-hash
12141 ;; no tagged branch
12142 (let ((revision "1")
12143 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
12144 (package
12145 (name "sbcl-make-hash")
12146 (version (git-version "1.0.2" revision commit))
12147 (source
12148 (origin
12149 (method git-fetch)
12150 (uri (git-reference
12151 (url "https://github.com/genovese/make-hash")
12152 (commit commit)))
12153 (file-name (git-file-name name version))
12154 (sha256
12155 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
12156 (build-system asdf-build-system/sbcl)
12157 (home-page "https://github.com/genovese/make-hash")
12158 (synopsis "Common Lisp package for flexible hash table creation")
12159 (description
12160 "This is a Common Lisp package for hash table creation with flexible,
12161extensible initializers.")
12162 (license license:bsd-3))))
12163
12164(define-public cl-make-hash
12165 (sbcl-package->cl-source-package sbcl-make-hash))
12166
12167(define-public ecl-make-hash
12168 (sbcl-package->ecl-package sbcl-make-hash))
6e043dfc
AK
12169
12170(define-public sbcl-claw-support
12171 (package
12172 (name "sbcl-claw-support")
12173 (version "1.0.0")
12174 (source
12175 (origin
12176 (method git-fetch)
12177 (uri (git-reference
12178 (url "https://github.com/borodust/claw-support")
12179 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
12180 (file-name (git-file-name name version))
12181 (sha256
12182 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
12183 (build-system asdf-build-system/sbcl)
12184 (home-page "https://github.com/borodust/claw-support")
12185 (synopsis "Support routines for claw")
12186 (description
8d8ecbfe 12187 "This package provides support routines for the @code{claw} Common Lisp
6e043dfc
AK
12188package.")
12189 (license license:expat)))
12190
12191(define-public cl-claw-support
12192 (sbcl-package->cl-source-package sbcl-claw-support))
12193
12194(define-public ecl-claw-support
12195 (sbcl-package->ecl-package sbcl-claw-support))
dec194bf 12196
b50a1442
AK
12197(define-public sbcl-claw
12198 (let ((revision "0")
12199 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
12200 (package
12201 (name "sbcl-claw")
12202 (version (git-version "1.0" revision commit))
12203 (source
12204 (origin
12205 (method git-fetch)
12206 (uri (git-reference
12207 (url "https://github.com/borodust/claw")
12208 (commit commit)))
12209 (file-name (git-file-name "claw" version))
12210 (sha256
12211 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
12212 (build-system asdf-build-system/sbcl)
12213 (inputs
12214 `(("alexandria" ,sbcl-alexandria)
12215 ("cffi" ,sbcl-cffi)
12216 ("cl-json" ,sbcl-cl-json)
12217 ("cl-ppcre" ,sbcl-cl-ppcre)
12218 ("claw-support" ,sbcl-claw-support)
12219 ("local-time" ,sbcl-local-time)
12220 ("trivial-features" ,sbcl-trivial-features)))
12221 (home-page "https://github.com/borodust/claw")
12222 (synopsis "Autowrapper for Common Lisp")
12223 (description
12224 "This is a Common Lisp autowrapping facility for quickly creating clean
12225and lean bindings to C libraries.")
12226 (license license:bsd-2))))
12227
12228(define-public cl-claw
12229 (sbcl-package->cl-source-package sbcl-claw))
12230
12231(define-public ecl-claw
12232 (sbcl-package->ecl-package sbcl-claw))
12233
dec194bf
GLV
12234(define-public sbcl-array-operations
12235 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
12236 (revision "0"))
12237 (package
12238 (name "sbcl-array-operations")
12239 (version (git-version "0.0.0" revision commit))
12240 (source
12241 (origin
12242 (method git-fetch)
12243 (uri (git-reference
12244 (url "https://github.com/bendudson/array-operations")
12245 (commit commit)))
12246 (file-name (git-file-name "array-operations" version))
12247 (sha256
12248 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
12249 (build-system asdf-build-system/sbcl)
12250 (native-inputs
12251 `(("alexandria" ,sbcl-alexandria)
12252 ("clunit2" ,sbcl-clunit2)))
12253 (inputs
12254 `(("let-plus" ,sbcl-let-plus)))
12255 (synopsis "Simple array operations library for Common Lisp")
12256 (description
12257 "This library is a collection of functions and macros for manipulating
12258Common Lisp arrays and performing numerical calculations with them.")
12259 (home-page "https://github.com/bendudson/array-operations")
12260 (license license:expat))))
12261
12262(define-public cl-array-operations
12263 (sbcl-package->cl-source-package sbcl-array-operations))
12264
12265(define-public ecl-array-operations
12266 (sbcl-package->ecl-package sbcl-array-operations))
0809e4a4
GLV
12267
12268(define-public sbcl-clml
12269 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
12270 (revision "0"))
12271 (package
12272 (name "sbcl-clml")
12273 (version (git-version "0.0.0" revision commit))
12274 (source
12275 (origin
12276 (method git-fetch)
12277 (uri (git-reference
12278 (url "https://github.com/mmaul/clml")
12279 (commit commit)))
12280 (file-name (git-file-name "clml" version))
12281 (sha256
12282 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
12283 ;; TODO: Remove this when the patch has been merged upstream.
12284 (patches (search-patches "sbcl-clml-fix-types.patch"))))
12285 (build-system asdf-build-system/sbcl)
12286 (inputs
12287 `(("alexandia" ,sbcl-alexandria)
12288 ("array-operations" ,sbcl-array-operations)
12289 ("cl-fad" ,sbcl-cl-fad)
12290 ("cl-ppcre" ,sbcl-cl-ppcre)
12291 ("drakma" ,sbcl-drakma)
12292 ("introspect-environment" ,sbcl-introspect-environment)
12293 ("iterate" ,sbcl-iterate)
12294 ("lparallel" ,sbcl-lparallel)
12295 ("parse-number" ,sbcl-parse-number)
12296 ("split-sequence" ,sbcl-split-sequence)
12297 ("trivial-garbage" ,sbcl-trivial-garbage)))
12298 (synopsis "Common Lisp machine learning library")
12299 (description
12300 "CLML (Common Lisp Machine Learning) is a high performance and large
12301scale statistical machine learning package")
12302 (home-page "https://mmaul.github.io/clml/")
12303 (license license:llgpl))))
12304
12305(define-public cl-clml
12306 (sbcl-package->cl-source-package sbcl-clml))
fd994faa
GLV
12307
12308(define-public sbcl-utm-ups
12309 (let ((commit "780f1d8ab6290ad2be0f40e2cddc2535fa6fe979")
12310 (revision "0"))
12311 (package
12312 (name "sbcl-utm-ups")
12313 (version (git-version "1.0" revision commit))
12314 (source
12315 (origin
12316 (method git-fetch)
12317 (uri (git-reference
12318 (url "https://github.com/glv2/utm-ups")
12319 (commit commit)))
12320 (file-name (git-file-name "utm-ups" version))
12321 (sha256
12322 (base32 "0l3kr2m56skf5cx3kkkdcis7msmidcsixx9fqjapkcjsj8x67aqq"))))
12323 (build-system asdf-build-system/sbcl)
12324 (native-inputs
12325 `(("fiveam" ,sbcl-fiveam)))
12326 (synopsis
12327 "Convert coordinates between latitude/longitude and UTM or UPS")
12328 (description
12329 "This a Common Lisp library to convert geographic coordinates between
12330latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
12331Polar Stereographic).")
12332 (home-page "https://github.com/glv2/utm-ups")
12333 (license license:gpl3+))))
12334
12335(define-public cl-utm-ups
12336 (sbcl-package->cl-source-package sbcl-utm-ups))
12337
12338(define-public ecl-utm-ups
12339 (sbcl-package->ecl-package sbcl-utm-ups))
291328b1
GLV
12340
12341(define-public sbcl-mgrs
12342 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
12343 (revision "0"))
12344 (package
12345 (name "sbcl-mgrs")
12346 (version (git-version "1.0" revision commit))
12347 (source
12348 (origin
12349 (method git-fetch)
12350 (uri (git-reference
12351 (url "https://github.com/glv2/mgrs")
12352 (commit commit)))
12353 (file-name (git-file-name "mgrs" version))
12354 (sha256
12355 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
12356 (build-system asdf-build-system/sbcl)
12357 (native-inputs
12358 `(("fiveam" ,sbcl-fiveam)))
12359 (inputs
12360 `(("utm-ups" ,sbcl-utm-ups)))
12361 (synopsis
12362 "Convert coordinates between latitude/longitude and MGRS")
12363 (description
12364 "This a Common Lisp library to convert geographic coordinates between
12365latitude/longitude and MGRS.")
12366 (home-page "https://github.com/glv2/mgrs")
12367 (license license:gpl3+))))
12368
12369(define-public cl-mgrs
12370 (sbcl-package->cl-source-package sbcl-mgrs))
12371
12372(define-public ecl-mgrs
12373 (sbcl-package->ecl-package sbcl-mgrs))
deed0161
GLV
12374
12375(define-public sbcl-maidenhead
12376 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
12377 (revision "0"))
12378 (package
12379 (name "sbcl-maidenhead")
12380 (version (git-version "1.0" revision commit))
12381 (source
12382 (origin
12383 (method git-fetch)
12384 (uri (git-reference
12385 (url "https://github.com/glv2/maidenhead")
12386 (commit commit)))
12387 (file-name (git-file-name "maidenhead" version))
12388 (sha256
12389 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
12390 (build-system asdf-build-system/sbcl)
12391 (native-inputs
12392 `(("fiveam" ,sbcl-fiveam)))
12393 (synopsis
12394 "Convert coordinates between latitude/longitude and Maidenhead")
12395 (description
12396 "This a Common Lisp library to convert geographic coordinates between
12397latitude/longitude and Maidenhead locator system.")
12398 (home-page "https://github.com/glv2/maidenhead")
12399 (license license:gpl3+))))
12400
12401(define-public cl-maidenhead
12402 (sbcl-package->cl-source-package sbcl-maidenhead))
12403
12404(define-public ecl-maidenhead
12405 (sbcl-package->ecl-package sbcl-maidenhead))
ad884c3b
GLV
12406
12407(define-public sbcl-olc
12408 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
12409 (revision "0"))
12410 (package
12411 (name "sbcl-olc")
12412 (version (git-version "1.0" revision commit))
12413 (source
12414 (origin
12415 (method git-fetch)
12416 (uri (git-reference
12417 (url "https://github.com/glv2/olc")
12418 (commit commit)))
12419 (file-name (git-file-name "olc" version))
12420 (sha256
12421 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
12422 (build-system asdf-build-system/sbcl)
12423 (native-inputs
12424 `(("fiveam" ,sbcl-fiveam)))
12425 (synopsis
12426 "Convert coordinates between latitude/longitude and Open Location Code")
12427 (description
12428 "This a Common Lisp library to convert geographic coordinates between
12429latitude/longitude and Open Location Code.")
12430 (home-page "https://github.com/glv2/olc")
12431 (license license:gpl3+))))
12432
12433(define-public cl-olc
12434 (sbcl-package->cl-source-package sbcl-olc))
12435
12436(define-public ecl-olc
12437 (sbcl-package->ecl-package sbcl-olc))
d13fb04b
PN
12438
12439(define-public sbcl-regex
12440 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
12441 (package
12442 (name "sbcl-regex")
12443 (version (git-version "1" "1" commit))
12444 (source
12445 (origin
12446 (method git-fetch)
12447 (uri (git-reference
12448 (url "https://github.com/michaelw/regex/")
12449 (commit commit)))
12450 (file-name (git-file-name name version))
12451 (sha256
12452 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
12453 (build-system asdf-build-system/sbcl)
12454 (home-page "https://github.com/michaelw/regex/")
12455 (synopsis "Regular expression engine for Common Lisp")
12456 (description
12457 "This Common Lisp package provides a regular expression engine.")
12458 (license license:bsd-2))))
12459
12460(define-public cl-regex
12461 (sbcl-package->cl-source-package sbcl-regex))
12462
12463(define-public ecl-regex
12464 (sbcl-package->ecl-package sbcl-regex))
6ba21a2e
PN
12465
12466(define-public sbcl-clawk
12467 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
12468 (package
12469 (name "sbcl-clawk")
12470 (version (git-version "4" "1" commit))
12471 (source
12472 (origin
12473 (method git-fetch)
12474 (uri (git-reference
12475 (url "https://github.com/sharplispers/clawk")
12476 (commit commit)))
12477 (file-name (git-file-name name version))
12478 (sha256
12479 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
12480 (build-system asdf-build-system/sbcl)
12481 (inputs
12482 `(("sbcl-regex" ,sbcl-regex)))
12483 (home-page "https://github.com/sharplispers/clawk")
12484 (synopsis "Common Lisp AWK")
12485 (description
12486 "CLAWK is an AWK implementation embedded into Common Lisp.")
12487 (license license:bsd-2))))
12488
12489(define-public cl-clawk
12490 (sbcl-package->cl-source-package sbcl-clawk))
12491
12492(define-public ecl-clawk
12493 (sbcl-package->ecl-package sbcl-clawk))
8ee3e783
PN
12494
12495(define-public sbcl-check-it
12496 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
12497 (package
12498 (name "sbcl-check-it")
12499 (version (git-version "0.1.0" "1" commit))
12500 (source
12501 (origin
12502 (method git-fetch)
12503 (uri (git-reference
12504 (url "https://github.com/DalekBaldwin/check-it/")
12505 (commit commit)))
12506 (file-name (git-file-name name version))
12507 (sha256
12508 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
12509 (build-system asdf-build-system/sbcl)
12510 (inputs
12511 `(("alexandria" ,sbcl-alexandria)
12512 ("closer-mop" ,sbcl-closer-mop)
12513 ("optima" ,sbcl-optima)))
12514 (native-inputs
12515 `(("stefil" ,sbcl-stefil)))
12516 (home-page "https://github.com/arclanguage/Clamp")
12517 (synopsis "Randomized specification-based testing for Common Lisp")
12518 (description
12519 "This is a randomized property-based testing library for Common Lisp.
12520Rather than being a full-fledged general test framework in its own right, it's
12521designed to embed randomized tests in whatever framework you like.")
12522 (license license:llgpl))))
12523
12524(define-public cl-check-it
12525 (sbcl-package->cl-source-package sbcl-check-it))
12526
12527(define-public ecl-check-it
12528 (sbcl-package->ecl-package sbcl-check-it))
f8257207
PN
12529
12530(define-public sbcl-clamp
12531 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
12532 (package
12533 (name "sbcl-clamp")
12534 (version (git-version "0.3" "1" commit))
12535 (source
12536 (origin
12537 (method git-fetch)
12538 (uri (git-reference
12539 (url "https://github.com/arclanguage/Clamp")
12540 (commit commit)))
12541 (file-name (git-file-name name version))
12542 (sha256
12543 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
12544 (build-system asdf-build-system/sbcl)
12545 (inputs
12546 `(("iterate" ,sbcl-iterate)
12547 ("cl-syntax" ,sbcl-cl-syntax)))
12548 (native-inputs
12549 `(("cl-unit" ,sbcl-clunit)
12550 ("check-it" ,sbcl-check-it)))
12551 (arguments
12552 `(#:phases
12553 (modify-phases %standard-phases
12554 (add-after 'unpack 'fix-build
12555 (lambda _
12556 (substitute* "clamp.asd"
12557 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
12558 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
12559 #t)))))
12560 (home-page "https://github.com/arclanguage/Clamp")
12561 (synopsis "Common Lisp with Arc macros and procedures")
12562 (description
12563 "Clamp is an attempt to bring the powerful, but verbose, language of
12564Common Lisp up to the terseness of Arc.
12565
12566There are two parts to Clamp. There is the core of Clamp, which implements
12567the utilities of Arc that are easily converted from Arc to Common Lisp. The
12568other part is the \"experimental\" part. It contains features of Arc that are
12569not so easy to copy (ssyntax, argument destructuring, etc.).")
12570 (license license:artistic2.0))))
12571
12572(define-public cl-clamp
12573 (sbcl-package->cl-source-package sbcl-clamp))
12574
12575(define-public ecl-clamp
12576 (sbcl-package->ecl-package sbcl-clamp))
91d59549
PN
12577
12578(define-public sbcl-trivial-shell
12579 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
12580 (package
12581 (name "sbcl-trivial-shell")
12582 (version (git-version "0.2.0" "1" commit))
12583 (source
12584 (origin
12585 (method git-fetch)
12586 (uri (git-reference
12587 (url "https://github.com/gwkkwg/trivial-shell")
12588 (commit commit)))
12589 (file-name (git-file-name name version))
12590 (sha256
12591 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
12592 (build-system asdf-build-system/sbcl)
12593 (native-inputs
12594 `(("lift" ,sbcl-lift)))
12595 (home-page "http://common-lisp.net/project/trivial-shell/")
12596 (synopsis "Common Lisp access to the shell")
12597 (description
12598 "A simple Common-Lisp interface to the underlying operating system.
12599It's independent of the implementation and operating system.")
12600 (license license:expat))))
12601
12602(define-public cl-trivial-shell
12603 (sbcl-package->cl-source-package sbcl-trivial-shell))
12604
12605(define-public ecl-trivial-shell
12606 (sbcl-package->ecl-package sbcl-trivial-shell))
65bf9f6b
PN
12607
12608(define-public sbcl-clesh
12609 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
12610 (package
12611 (name "sbcl-clesh")
12612 (version (git-version "0.0.0" "1" commit))
12613 (source
12614 (origin
12615 (method git-fetch)
12616 (uri (git-reference
12617 (url "https://github.com/Neronus/Clesh")
12618 (commit commit)))
12619 (file-name (git-file-name name version))
12620 (sha256
12621 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
12622 (build-system asdf-build-system/sbcl)
12623 (inputs
12624 `(("trivial-shell" ,sbcl-trivial-shell)
12625 ("named-readtables" ,sbcl-named-readtables)))
12626 (home-page "https://github.com/Neronus/Clesh")
12627 (synopsis "Embed shell code in Common Lisp")
12628 (description
12629 "This is a very short and simple program, written in Common Lisp, that
12630extends Common Lisp to embed shell code in a manner similar to Perl's
12631backtick. It has been forked from SHELISP.")
12632 (license license:bsd-2))))
12633
12634(define-public cl-clesh
12635 (sbcl-package->cl-source-package sbcl-clesh))
12636
12637(define-public ecl-clesh
12638 (sbcl-package->ecl-package sbcl-clesh))
4f298eba
PN
12639
12640(define-public sbcl-trivial-download
12641 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
12642 (package
12643 (name "sbcl-trivial-download")
12644 (version (git-version "0.3" "1" commit))
12645 (source
12646 (origin
12647 (method git-fetch)
12648 (uri (git-reference
12649 (url "https://github.com/eudoxia0/trivial-download/")
12650 (commit commit)))
12651 (file-name (git-file-name name version))
12652 (sha256
12653 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
12654 (build-system asdf-build-system/sbcl)
12655 (inputs
12656 `(("drakma" ,sbcl-drakma)))
12657 (home-page "https://github.com/eudoxia0/trivial-download/")
12658 (synopsis "Download files from Common Lisp")
12659 (description
12660 "@code{trivial-download} allows you to download files from the Internet
12661from Common Lisp. It provides a progress bar.")
12662 (license license:bsd-2))))
12663
12664(define-public cl-trivial-download
12665 (sbcl-package->cl-source-package sbcl-trivial-download))
12666
12667(define-public ecl-trivial-download
12668 (sbcl-package->ecl-package sbcl-trivial-download))
52b81c32
PN
12669
12670(define-public sbcl-gtwiwtg
12671 (package
12672 (name "sbcl-gtwiwtg")
12673 (version "0.1.1")
12674 (source
12675 (origin
12676 (method git-fetch)
12677 (uri (git-reference
12678 (url "https://github.com/cbeo/gtwiwtg/")
12679 (commit version)))
12680 (file-name (git-file-name name version))
12681 (sha256
12682 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
12683 (build-system asdf-build-system/sbcl)
12684 (native-inputs
12685 `(("osicat" ,sbcl-osicat)
12686 ("prove" ,sbcl-prove)))
12687 (home-page "https://github.com/cbeo/gtwiwtg/")
12688 (synopsis "Naive generators for Common Lisp")
12689 (description
12690 "The GTWIWTG library (Generators The Way I Want Them Generated --
12691technically not generators, but iterators) is meant to be small, explorable,
12692and understandable.")
12693 (license license:gpl3)))
12694
12695(define-public cl-gtwiwtg
12696 (sbcl-package->cl-source-package sbcl-gtwiwtg))
12697
12698(define-public ecl-gtwiwtg
12699 (sbcl-package->ecl-package sbcl-gtwiwtg))
40693b61
PN
12700
12701(define-public sbcl-cl-progress-bar
12702 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
12703 (package
12704 (name "sbcl-cl-progress-bar")
12705 (version (git-version "0.0.0" "1" commit))
12706 (source
12707 (origin
12708 (method git-fetch)
12709 (uri (git-reference
12710 (url "https://github.com/sirherrbatka/cl-progress-bar/")
12711 (commit commit)))
12712 (file-name (git-file-name name version))
12713 (sha256
12714 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
12715 (build-system asdf-build-system/sbcl)
12716 (inputs
12717 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12718 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
12719 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
12720 (synopsis "Progress bars in Common Lisp")
12721 (description
12722 "This library provides almost the same code as used inside Quicklisp
12723for drawning progress bars")
12724 (license license:expat))))
12725
12726(define-public cl-progress-bar
12727 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
12728
12729(define-public ecl-cl-progress-bar
12730 (sbcl-package->ecl-package sbcl-cl-progress-bar))
e4c1818e
PN
12731
12732(define-public sbcl-repl-utilities
12733 (let ((commit "e0de9c92e774f77cab1a4cd92e2ac922ac3a807e"))
12734 (package
12735 (name "sbcl-repl-utilities")
12736 (version (git-version "0.0.0" "1" commit))
12737 (source
12738 (origin
12739 (method git-fetch)
12740 (uri (git-reference
12741 (url "https://github.com/m-n/repl-utilities/")
12742 (commit commit)))
12743 (file-name (git-file-name name version))
12744 (sha256
12745 (base32 "1r5icmw3ha5y77kvzqni3a9bcd66d9pz5mjsbw04xg3jk0d15cgz"))))
12746 (build-system asdf-build-system/sbcl)
12747 (home-page "https://github.com/m-n/repl-utilities")
12748 (synopsis "Ease common tasks at the Common Lisp REPL")
12749 (description
12750 "@code{repl-utilities} is a set of utilities which ease life at the
12751REPL. It includes three sorts of features: introspective procedures,
12752miscellaneous utility functions, and, pulling them together, methods to
12753conveniently keep these symbols and optionally additional symbols available in
12754whichever package you switch to.")
12755 (license license:bsd-2))))
12756
12757(define-public cl-repl-utilities
12758 (sbcl-package->cl-source-package sbcl-repl-utilities))
12759
12760(define-public ecl-repl-utilities
12761 (sbcl-package->ecl-package sbcl-repl-utilities))
fc929639
PN
12762
12763(define-public sbcl-supertrace
12764 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
12765 (package
12766 (name "sbcl-supertrace")
12767 (version (git-version "0.1.0" "1" commit))
12768 (source
12769 (origin
12770 (method git-fetch)
12771 (uri (git-reference
12772 (url "https://github.com/fukamachi/supertrace")
12773 (commit commit)))
12774 (file-name (git-file-name name version))
12775 (sha256
12776 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
12777 (build-system asdf-build-system/sbcl)
12778 (native-inputs
12779 `(("cffi-grovel" ,sbcl-cffi)
12780 ("rove" ,sbcl-rove)
12781 ("cl-ppcre" ,sbcl-cl-ppcre)
12782 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
12783 (inputs
12784 `(("cffi" ,sbcl-cffi)))
12785 (home-page "https://github.com/fukamachi/supertrace")
12786 (synopsis "Improved Common Lisp tracing for debugging and profiling")
12787 (description
12788 "Supertrace provides a superior Common Lisp @code{trace} functionality
12789for debugging and profiling real world applications.")
12790 (license license:bsd-2))))
12791
12792(define-public cl-supertrace
12793 (sbcl-package->cl-source-package sbcl-supertrace))
12794
12795(define-public ecl-supertrace
12796 (sbcl-package->ecl-package sbcl-supertrace))
1467ae64
PN
12797
12798(define-public sbcl-trivial-benchmark
12799 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
12800 (package
12801 (name "sbcl-trivial-benchmark")
12802 (version (git-version "2.0.0" "1" commit))
12803 (source
12804 (origin
12805 (method git-fetch)
12806 (uri (git-reference
12807 (url "https://github.com/Shinmera/trivial-benchmark/")
12808 (commit commit)))
12809 (file-name (git-file-name name version))
12810 (sha256
12811 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
12812 (build-system asdf-build-system/sbcl)
12813 (inputs
12814 `(("alexandria" ,sbcl-alexandria)))
12815 (home-page "http://shinmera.github.io/trivial-benchmark/")
12816 (synopsis "Easy to use benchmarking system for Common Lisp")
12817 (description
12818 "Trivial-Benchmark runs a block of code many times and outputs some
12819statistical data for it. On SBCL this includes the data from @code{time}, for
12820all other implementations just the @code{real-time} and @code{run-time} data.
12821However, you can extend the system by adding your own @code{metrics} to it, or
12822even by adding additional statistical @code{compute}ations. ")
12823 (license license:zlib))))
12824
12825(define-public cl-trivial-benchmark
12826 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
12827
12828(define-public ecl-trivial-benchmark
12829 (sbcl-package->ecl-package sbcl-trivial-benchmark))
c16628ea
PN
12830
12831(define-public sbcl-glyphs
12832 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
12833 (package
12834 (name "sbcl-glyphs")
12835 (version (git-version "0.0.0" "1" commit))
12836 (source
12837 (origin
12838 (method git-fetch)
12839 (uri (git-reference
12840 (url "https://github.com/ahungry/glyphs/")
12841 (commit commit)))
12842 (file-name (git-file-name name version))
12843 (sha256
12844 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
12845 (build-system asdf-build-system/sbcl)
12846 (inputs
12847 `(("cl-ppcre" ,sbcl-cl-ppcre)
12848 ("parenscript" ,sbcl-parenscript)
12849 ("named-readtables" ,sbcl-named-readtables)))
12850 (home-page "https://github.com/ahungry/glyphs/")
12851 (synopsis "Reduce Common Lisp verbosity")
12852 (description
12853 "This library is a little experiment in reducing verbosity in Common
12854Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
12855 (license license:gpl3))))
12856
12857(define-public cl-glyphs
12858 (sbcl-package->cl-source-package sbcl-glyphs))
12859
12860(define-public ecl-glyphs
12861 (sbcl-package->ecl-package sbcl-glyphs))
cebfb29a
SH
12862
12863(define-public sbcl-zs3
12864 (package
12865 (name "sbcl-zs3")
12866 (version "1.3.3")
12867 (source
12868 (origin
12869 (method git-fetch)
12870 (uri
12871 (git-reference
12872 (url "https://github.com/xach/zs3")
12873 (commit (string-append "release-" version))))
12874 (file-name (git-file-name "zs3" version))
12875 (sha256
12876 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
12877 (build-system asdf-build-system/sbcl)
12878 (inputs
12879 `(("drakma" ,sbcl-drakma)
12880 ("alexandria" ,sbcl-alexandria)
12881 ("cxml" ,sbcl-cxml)
12882 ("ironclad" ,sbcl-ironclad)
12883 ("puri" ,sbcl-puri)
12884 ("cl-base64" ,sbcl-cl-base64)))
12885 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
12886 (description "This is ZS3, a library for working with Amazon's Simple Storage
12887Service (S3) and CloudFront service from Common Lisp.")
12888 (home-page "https://github.com/xach/zs3")
12889 (license license:bsd-2)))
12890
12891(define-public cl-zs3
12892 (sbcl-package->cl-source-package sbcl-zs3))
12893
12894(define-public ecl-zs3
12895 (sbcl-package->ecl-package sbcl-zs3))
4a084c7a
GLV
12896
12897(define-public sbcl-simple-neural-network
12898 (package
12899 (name "sbcl-simple-neural-network")
12900 (version "3.1")
12901 (source
12902 (origin
12903 (method git-fetch)
12904 (uri (git-reference
12905 (url "https://github.com/glv2/simple-neural-network")
12906 (commit (string-append "v" version))))
12907 (file-name (git-file-name "simple-neural-network" version))
12908 (sha256
12909 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
12910 (build-system asdf-build-system/sbcl)
12911 (native-inputs
12912 `(("chipz" ,sbcl-chipz)
12913 ("fiveam" ,sbcl-fiveam)))
12914 (inputs
12915 `(("cl-store" ,sbcl-cl-store)
12916 ("lparallel" ,sbcl-lparallel)))
12917 (arguments
12918 `(#:phases
12919 (modify-phases %standard-phases
12920 (add-after 'check 'remove-test-data
12921 (lambda* (#:key outputs #:allow-other-keys)
12922 (let ((out (assoc-ref outputs "out")))
12923 (for-each delete-file (find-files out "\\.gz$"))))))))
12924 (synopsis "Simple neural network in Common Lisp")
12925 (description
12926 "@code{simple-neural-network} is a Common Lisp library for creating,
12927training and using basic neural networks. The networks created by this
12928library are feedforward neural networks trained using backpropagation.")
12929 (home-page "https://github.com/glv2/simple-neural-network")
12930 (license license:gpl3+)))
12931
12932(define-public cl-simple-neural-network
12933 (sbcl-package->cl-source-package sbcl-simple-neural-network))
12934
12935(define-public ecl-simple-neural-network
12936 (sbcl-package->ecl-package sbcl-simple-neural-network))
08c4dd51
GLV
12937
12938(define-public sbcl-zstd
12939 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
12940 (revision "1"))
12941 (package
12942 (name "sbcl-zstd")
12943 (version (git-version "1.0" revision commit))
12944 (source
12945 (origin
12946 (method git-fetch)
12947 (uri (git-reference
12948 (url "https://github.com/glv2/cl-zstd")
12949 (commit commit)))
12950 (file-name (git-file-name "cl-zstd" version))
12951 (sha256
12952 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
12953 (build-system asdf-build-system/sbcl)
12954 (native-inputs
12955 `(("fiveam" ,sbcl-fiveam)))
12956 (inputs
12957 `(("cffi" ,sbcl-cffi)
12958 ("cl-octet-streams" ,sbcl-cl-octet-streams)
12959 ("zstd-lib" ,zstd "lib")))
12960 (arguments
12961 '(#:phases
12962 (modify-phases %standard-phases
12963 (add-after 'unpack 'fix-paths
12964 (lambda* (#:key inputs #:allow-other-keys)
12965 (substitute* "src/libzstd.lisp"
12966 (("libzstd\\.so")
12967 (string-append (assoc-ref inputs "zstd-lib")
12968 "/lib/libzstd.so")))
12969 #t)))))
12970 (synopsis "Common Lisp library for Zstandard (de)compression")
12971 (description
12972 "This Common Lisp library provides functions for Zstandard
12973compression/decompression using bindings to the libzstd C library.")
12974 (home-page "https://github.com/glv2/cl-zstd")
12975 (license license:gpl3+))))
12976
12977(define-public cl-zstd
12978 (sbcl-package->cl-source-package sbcl-zstd))
12979
12980(define-public ecl-zstd
12981 (sbcl-package->ecl-package sbcl-zstd))
caa22090
PN
12982
12983(define-public sbcl-agnostic-lizard
12984 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
12985 (revision "1"))
12986 (package
12987 (name "sbcl-agnostic-lizard")
12988 (version (git-version "0.0.0" revision commit))
12989 (source
12990 (origin
12991 (method git-fetch)
12992 (uri (git-reference
12993 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
12994 (commit commit)))
12995 (file-name (git-file-name name version))
12996 (sha256
12997 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
12998 (build-system asdf-build-system/sbcl)
12999 (synopsis "Almost correct portable code walker for Common Lisp")
13000 (description
13001 "Agnostic Lizard is a portable implementation of a code walker and in
13002particular of the macroexpand-all function (and macro) that makes a best
13003effort to be correct while not expecting much beyond what the Common Lisp
13004standard requires.
13005
13006It aims to be implementation-agnostic and to climb the syntax trees.")
69c05267 13007 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
caa22090
PN
13008 (license license:gpl3+))))
13009
13010(define-public cl-agnostic-lizard
13011 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13012
13013(define-public ecl-agnostic-lizard
13014 (sbcl-package->ecl-package sbcl-agnostic-lizard))
b76ae073
SH
13015
13016(define-public sbcl-dynamic-classes
13017 (package
13018 (name "sbcl-dynamic-classes")
13019 (version "1.0.2")
13020 (source
13021 (origin
13022 (method git-fetch)
13023 (uri (git-reference
13024 (url "https://github.com/gwkkwg/dynamic-classes")
13025 (commit (string-append "version-" version))))
13026 (file-name (git-file-name "dynamic-classes" version))
13027 (sha256
13028 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13029 (build-system asdf-build-system/sbcl)
13030 (inputs
13031 `(("metatilities-base" ,sbcl-metatilities-base)))
13032 (arguments
13033 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13034 ;; test suites. lift-standard.config contains referances to deprecated
13035 ;; functionality.
13036 `(#:tests? #f))
13037 (home-page "https://common-lisp.net/project/dynamic-classes/")
13038 (synopsis "Dynamic class definition for Common Lisp")
13039 (description "Dynamic-Classes helps to ease the prototyping process by
13040bringing dynamism to class definition.")
13041 (license license:expat)))
13042
13043(define-public ecl-dynamic-classes
13044 (sbcl-package->ecl-package sbcl-dynamic-classes))
13045
13046(define-public cl-dynamic-classes
13047 (sbcl-package->cl-source-package sbcl-dynamic-classes))
375c44de
SH
13048
13049(define-public sbcl-cl-markdown
13050 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13051 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13052 ;; #:container-dynamic-classes
13053 (package
13054 (name "sbcl-cl-markdown")
13055 (version "0.10.4")
13056 (source
13057 (origin
13058 (method git-fetch)
13059 (uri (git-reference
13060 (url "https://github.com/gwkkwg/cl-markdown")
13061 (commit (string-append "version-" version))))
13062 (file-name (git-file-name "cl-markdown" version))
13063 (sha256
13064 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13065 (build-system asdf-build-system/sbcl)
13066 (inputs
13067 `(("anaphora" ,sbcl-anaphora)
13068 ("cl-containers" ,sbcl-cl-containers)
13069 ("cl-ppcre" ,sbcl-cl-ppcre)
13070 ("dynamic-classes" ,sbcl-dynamic-classes)
13071 ("metabang-bind" ,sbcl-metabang-bind)
13072 ("metatilities-base" ,sbcl-metatilities-base)))
13073 (arguments
13074 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13075 ;; available systems, which themself are abandoned.
13076 `(#:tests? #f))
13077 (home-page "https://common-lisp.net/project/cl-markdown/")
13078 (synopsis "Common Lisp rewrite of Markdown")
13079 (description
13080 "This is an implementation of a Markdown parser in Common Lisp.")
13081 (license license:expat)))
13082
13083(define-public ecl-cl-markdown
13084 (sbcl-package->ecl-package sbcl-cl-markdown))
13085
13086(define-public cl-markdown
13087 (sbcl-package->cl-source-package sbcl-cl-markdown))
3bd8d045
PN
13088
13089(define-public sbcl-magicffi
13090 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
13091 (package
13092 (name "sbcl-magicffi")
13093 (version (git-version "0.0.0" "1" commit))
13094 (source
13095 (origin
13096 (method git-fetch)
13097 (uri (git-reference
13098 (url "https://github.com/dochang/magicffi/")
13099 (commit commit)))
13100 (file-name (git-file-name name version))
13101 (sha256
13102 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
13103 (build-system asdf-build-system/sbcl)
13104 (native-inputs
13105 `(("alexandria" ,sbcl-alexandria)))
13106 (inputs
13107 `(("cffi" ,sbcl-cffi)
13108 ("ppcre" ,sbcl-cl-ppcre)
13109 ("libmagic" ,file)))
13110 (arguments
13111 `(#:phases
13112 (modify-phases %standard-phases
13113 (add-after 'unpack 'fix-paths
13114 (lambda* (#:key inputs #:allow-other-keys)
13115 (let ((magic (assoc-ref inputs "libmagic")))
13116 (substitute* "grovel.lisp"
13117 (("/usr/include/magic.h")
13118 (string-append magic "/include/magic.h")))
13119 (substitute* "api.lisp"
13120 ((":default \"libmagic\"" all)
13121 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
13122 (home-page "https://common-lisp.net/project/magicffi/")
13123 (synopsis "Common Lisp interface to libmagic based on CFFI")
13124 (description
13125 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
13126determination library using @emph{magic} numbers.")
13127 (license license:bsd-2))))
13128
13129(define-public ecl-magicffi
13130 (sbcl-package->ecl-package sbcl-magicffi))
13131
13132(define-public cl-magicffi
13133 (sbcl-package->cl-source-package sbcl-magicffi))
8142c550
PN
13134
13135(define-public sbcl-shlex
13136 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
13137 (package
13138 (name "sbcl-shlex")
13139 (version (git-version "0.0.0" "1" commit))
13140 (source
13141 (origin
13142 (method git-fetch)
13143 (uri (git-reference
13144 (url "https://github.com/ruricolist/cl-shlex")
13145 (commit commit)))
13146 (file-name (git-file-name name version))
13147 (sha256
13148 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
13149 (build-system asdf-build-system/sbcl)
13150 (inputs
13151 `(("alexandria" ,sbcl-alexandria)
13152 ("serapeum" ,sbcl-serapeum)
13153 ("ppcre" ,sbcl-cl-ppcre)
13154 ("unicode" ,sbcl-cl-unicode)))
13155 (home-page "https://github.com/ruricolist/cl-shlex")
13156 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
13157 (description
13158 "This library contains a lexer for syntaxes that use shell-like rules
13159for quoting and commenting. It is a port of the @code{shlex} module from Python’s
13160standard library.")
13161 (license license:expat))))
13162
13163(define-public ecl-shlex
13164 (sbcl-package->ecl-package sbcl-shlex))
13165
13166(define-public cl-shlex
13167 (sbcl-package->cl-source-package sbcl-shlex))
dc9c866f
PN
13168
13169(define-public sbcl-cmd
13170 (let ((commit "8e68274a935ae61f38d3309c08765d8a49d09c1f"))
13171 (package
13172 (name "sbcl-cmd")
13173 (version (git-version "0.0.1" "1" commit))
13174 (source
13175 (origin
13176 (method git-fetch)
13177 (uri (git-reference
13178 (url "https://github.com/ruricolist/cmd/")
13179 (commit commit)))
13180 (file-name (git-file-name name version))
13181 (sha256
13182 (base32 "06bwwhy7wmk6fpjrqj1bfscn8rnmk8z9kwc00adp8iq6w5yjsbbj"))))
13183 (build-system asdf-build-system/sbcl)
13184 (inputs
13185 `(("alexandria" ,sbcl-alexandria)
13186 ("serapeum" ,sbcl-serapeum)
13187 ("shlex" ,sbcl-shlex)
13188 ("trivia" ,sbcl-trivia)))
13189 (home-page "https://github.com/ruricolist/cmd")
13190 (synopsis "Conveniently run external programs from Common Lisp")
13191 (description
13192 "A utility for running external programs, built on UIOP.
13193Cmd is designed to be natural to use, protect against shell interpolation and
13194be usable from multi-threaded programs.")
13195 (license license:expat))))
13196
13197(define-public ecl-cmd
13198 (sbcl-package->ecl-package sbcl-cmd))
13199
13200(define-public cl-cmd
13201 (sbcl-package->ecl-package sbcl-cmd))