gnu: sbcl-lzlib: Update to 1.1-1.c347026.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
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>
6 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
7 ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
8 ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
10 ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
13 ;;; Copyright © 2018, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
14 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
15 ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
16 ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
17 ;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
18 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
19 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
20 ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
21 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
22 ;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
23 ;;; Copyright © 2020 Sharlatan Hellseher <sharlatanus@gmail.com>
24 ;;;
25 ;;; This file is part of GNU Guix.
26 ;;;
27 ;;; GNU Guix is free software; you can redistribute it and/or modify it
28 ;;; under the terms of the GNU General Public License as published by
29 ;;; the Free Software Foundation; either version 3 of the License, or (at
30 ;;; your option) any later version.
31 ;;;
32 ;;; GNU Guix is distributed in the hope that it will be useful, but
33 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
34 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
35 ;;; GNU General Public License for more details.
36 ;;;
37 ;;; You should have received a copy of the GNU General Public License
38 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
39
40 ;;; This file only contains Common Lisp libraries.
41 ;;; Common Lisp compilers and tooling go to lisp.scm.
42 ;;; Common Lisp applications should go to the most appropriate file,
43 ;;; e.g. StumpWM is in wm.scm.
44
45 (define-module (gnu packages lisp-xyz)
46 #:use-module (gnu packages)
47 #:use-module ((guix licenses) #:prefix license:)
48 #:use-module (guix packages)
49 #:use-module (guix download)
50 #:use-module (guix git-download)
51 #:use-module (guix hg-download)
52 #:use-module (guix utils)
53 #:use-module (guix build-system asdf)
54 #:use-module (guix build-system trivial)
55 #:use-module (gnu packages c)
56 #:use-module (gnu packages compression)
57 #:use-module (gnu packages databases)
58 #:use-module (gnu packages enchant)
59 #:use-module (gnu packages fonts)
60 #:use-module (gnu packages fontutils)
61 #:use-module (gnu packages glib)
62 #:use-module (gnu packages gtk)
63 #:use-module (gnu packages imagemagick)
64 #:use-module (gnu packages libevent)
65 #:use-module (gnu packages libffi)
66 #:use-module (gnu packages lisp)
67 #:use-module (gnu packages maths)
68 #:use-module (gnu packages networking)
69 #:use-module (gnu packages pkg-config)
70 #:use-module (gnu packages python)
71 #:use-module (gnu packages python-xyz)
72 #:use-module (gnu packages sqlite)
73 #:use-module (gnu packages tcl)
74 #:use-module (gnu packages tls)
75 #:use-module (gnu packages web)
76 #:use-module (gnu packages webkit)
77 #:use-module (gnu packages xdisorg)
78 #:use-module (ice-9 match)
79 #:use-module (srfi srfi-1)
80 #:use-module (srfi srfi-19))
81
82 (define-public sbcl-alexandria
83 (package
84 (name "sbcl-alexandria")
85 (version "1.2")
86 (source
87 (origin
88 (method git-fetch)
89 (uri (git-reference
90 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
91 (commit (string-append "v" version))))
92 (sha256
93 (base32
94 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
95 (file-name (git-file-name name version))))
96 (build-system asdf-build-system/sbcl)
97 (native-inputs
98 `(("rt" ,sbcl-rt)))
99 (synopsis "Collection of portable utilities for Common Lisp")
100 (description
101 "Alexandria is a collection of portable utilities. It does not contain
102 conceptual extensions to Common Lisp. It is conservative in scope, and
103 portable between implementations.")
104 (home-page "https://common-lisp.net/project/alexandria/")
105 (license license:public-domain)))
106
107 (define-public cl-alexandria
108 (sbcl-package->cl-source-package sbcl-alexandria))
109
110 (define-public ecl-alexandria
111 (sbcl-package->ecl-package sbcl-alexandria))
112
113 (define-public sbcl-asdf-finalizers
114 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
115 (revision "1"))
116 (package
117 (name "sbcl-asdf-finalizers")
118 (version (git-version "0.0.0" revision commit))
119 (source
120 (origin
121 (method git-fetch)
122 (uri (git-reference
123 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
124 (commit commit)))
125 (file-name (git-file-name name version))
126 (sha256
127 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
128 (build-system asdf-build-system/sbcl)
129 (native-inputs
130 `(("fare-utils" ,sbcl-fare-utils)
131 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
132 (arguments
133 `(#:asd-files '("asdf-finalizers.asd"
134 "list-of.asd"
135 "asdf-finalizers-test.asd")
136 #:asd-systems '("asdf-finalizers"
137 "list-of")))
138 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
139 (synopsis "Enforced calling of finalizers for Lisp code")
140 (description "This library allows you to implement and enforce proper
141 finalization of compile-time constructs while building Lisp source files.
142
143 It produces two systems: asdf-finalizers and list-of.")
144 (license license:expat))))
145
146 (define-public ecl-asdf-finalizers
147 (sbcl-package->ecl-package sbcl-asdf-finalizers))
148
149 (define-public cl-asdf-finalizers
150 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
151
152 (define-public sbcl-net.didierverna.asdf-flv
153 (package
154 (name "sbcl-net.didierverna.asdf-flv")
155 (version "2.1")
156 (source
157 (origin
158 (method git-fetch)
159 (uri (git-reference
160 (url "https://github.com/didierverna/asdf-flv")
161 (commit (string-append "version-" version))))
162 (file-name (git-file-name "asdf-flv" version))
163 (sha256
164 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
165 (build-system asdf-build-system/sbcl)
166 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
167 (description "ASDF-FLV provides support for file-local variables through
168 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
169 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
170 dynamic binding is created before processing the file, so that any
171 modification to the variable becomes essentially file-local.
172
173 In order to make one or several variables file-local, use the macros
174 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
175 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
176 (license (license:non-copyleft
177 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
178 "GNU All-Permissive License"))))
179
180 (define-public cl-net.didierverna.asdf-flv
181 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
182
183 (define-public ecl-net.didierverna.asdf-flv
184 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
185
186 (define-public sbcl-command-line-arguments
187 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
188 (revision "1"))
189 (package
190 (name "sbcl-command-line-arguments")
191 (version (git-version "2.0.0" revision commit))
192 (source
193 (origin
194 (method git-fetch)
195 (uri (git-reference
196 (url "https://github.com/fare/command-line-arguments")
197 (commit commit)))
198 (file-name (git-file-name name version))
199 (sha256
200 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
201 (build-system asdf-build-system/sbcl)
202 (home-page "https://github.com/fare/command-line-arguments")
203 (synopsis "Trivial command-line argument parsing library for Common Lisp")
204 (description "This is a library to abstract away the parsing of
205 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
206 or cl-launch for portable processing of command-line arguments.")
207 (license license:expat))))
208
209 (define-public ecl-command-line-arguments
210 (sbcl-package->ecl-package sbcl-command-line-arguments))
211
212 (define-public cl-command-line-arguments
213 (sbcl-package->cl-source-package sbcl-command-line-arguments))
214
215 (define-public sbcl-fiveam
216 (package
217 (name "sbcl-fiveam")
218 (version "1.4.1")
219 (source
220 (origin
221 (method git-fetch)
222 (uri (git-reference
223 (url "https://github.com/sionescu/fiveam")
224 (commit (string-append "v" version))))
225 (file-name (git-file-name "fiveam" version))
226 (sha256
227 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
228 (inputs
229 `(("alexandria" ,sbcl-alexandria)
230 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
231 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
232 (build-system asdf-build-system/sbcl)
233 (synopsis "Common Lisp testing framework")
234 (description "FiveAM is a simple (as far as writing and running tests
235 goes) regression testing framework. It has been designed with Common Lisp's
236 interactive development model in mind.")
237 (home-page "https://common-lisp.net/project/fiveam/")
238 (license license:bsd-3)))
239
240 (define-public cl-fiveam
241 (sbcl-package->cl-source-package sbcl-fiveam))
242
243 (define-public ecl-fiveam
244 (sbcl-package->ecl-package sbcl-fiveam))
245
246 (define-public sbcl-bordeaux-threads
247 (package
248 (name "sbcl-bordeaux-threads")
249 (version "0.8.8")
250 (source (origin
251 (method git-fetch)
252 (uri (git-reference
253 (url "https://github.com/sionescu/bordeaux-threads")
254 (commit (string-append "v" version))))
255 (sha256
256 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
257 (file-name
258 (git-file-name "bordeaux-threads" version))))
259 (inputs `(("alexandria" ,sbcl-alexandria)))
260 (native-inputs `(("fiveam" ,sbcl-fiveam)))
261 (build-system asdf-build-system/sbcl)
262 (synopsis "Portable shared-state concurrency library for Common Lisp")
263 (description "BORDEAUX-THREADS is a proposed standard for a minimal
264 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
265 support.")
266 (home-page "https://common-lisp.net/project/bordeaux-threads/")
267 (license license:x11)))
268
269 (define-public cl-bordeaux-threads
270 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
271
272 (define-public ecl-bordeaux-threads
273 (sbcl-package->ecl-package sbcl-bordeaux-threads))
274
275 (define-public sbcl-trivial-gray-streams
276 (let ((revision "1")
277 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
278 (package
279 (name "sbcl-trivial-gray-streams")
280 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
281 (source
282 (origin
283 (method git-fetch)
284 (uri
285 (git-reference
286 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
287 (commit commit)))
288 (sha256
289 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
290 (file-name
291 (string-append "trivial-gray-streams-" version "-checkout"))))
292 (build-system asdf-build-system/sbcl)
293 (synopsis "Compatibility layer for Gray streams implementations")
294 (description "Gray streams is an interface proposed for inclusion with
295 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
296 popular CL implementations implement it. This package provides an extremely
297 thin compatibility layer for gray streams.")
298 (home-page "https://www.cliki.net/trivial-gray-streams")
299 (license license:x11))))
300
301 (define-public cl-trivial-gray-streams
302 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
303
304 (define-public ecl-trivial-gray-streams
305 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
306
307 (define-public sbcl-fiasco
308 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
309 (revision "1"))
310 (package
311 (name "sbcl-fiasco")
312 (version (git-version "0.0.1" revision commit))
313 (source
314 (origin
315 (method git-fetch)
316 (uri (git-reference
317 (url "https://github.com/joaotavora/fiasco")
318 (commit commit)))
319 (file-name (git-file-name "fiasco" version))
320 (sha256
321 (base32
322 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
323 (build-system asdf-build-system/sbcl)
324 (inputs
325 `(("alexandria" ,sbcl-alexandria)
326 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
327 (synopsis "Simple and powerful test framework for Common Lisp")
328 (description "A Common Lisp test framework that treasures your failures,
329 logical continuation of Stefil. It focuses on interactive debugging.")
330 (home-page "https://github.com/joaotavora/fiasco")
331 ;; LICENCE specifies this is public-domain unless the legislation
332 ;; doesn't allow or recognize it. In that case it falls back to a
333 ;; permissive licence.
334 (license (list license:public-domain
335 (license:x11-style "file://LICENCE"))))))
336
337 (define-public cl-fiasco
338 (sbcl-package->cl-source-package sbcl-fiasco))
339
340 (define-public ecl-fiasco
341 (sbcl-package->ecl-package sbcl-fiasco))
342
343 (define-public sbcl-flexi-streams
344 (package
345 (name "sbcl-flexi-streams")
346 (version "1.0.18")
347 (source
348 (origin
349 (method git-fetch)
350 (uri (git-reference
351 (url "https://github.com/edicl/flexi-streams")
352 (commit (string-append "v" version))))
353 (file-name (git-file-name "flexi-streams" version))
354 (sha256
355 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
356 (build-system asdf-build-system/sbcl)
357 (arguments
358 `(#:phases
359 (modify-phases %standard-phases
360 (add-after 'unpack 'make-git-checkout-writable
361 (lambda _
362 (for-each make-file-writable (find-files "."))
363 #t)))))
364 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
365 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
366 (description "Flexi-streams is an implementation of \"virtual\" bivalent
367 streams that can be layered atop real binary or bivalent streams and that can
368 be used to read and write character data in various single- or multi-octet
369 encodings which can be changed on the fly. It also supplies in-memory binary
370 streams which are similar to string streams.")
371 (home-page "http://weitz.de/flexi-streams/")
372 (license license:bsd-3)))
373
374 (define-public cl-flexi-streams
375 (sbcl-package->cl-source-package sbcl-flexi-streams))
376
377 (define-public ecl-flexi-streams
378 (sbcl-package->ecl-package sbcl-flexi-streams))
379
380 (define-public sbcl-cl-abnf
381 ;; There are no releases
382 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
383 (revision "1"))
384 (package
385 (name "sbcl-cl-abnf")
386 (version (git-version "0.0.0" revision commit))
387 (source
388 (origin
389 (method git-fetch)
390 (uri (git-reference
391 (url "https://github.com/dimitri/cl-abnf")
392 (commit commit)))
393 (file-name (git-file-name "cl-abnf" version))
394 (sha256
395 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
396 (build-system asdf-build-system/sbcl)
397 (inputs
398 `(("cl-ppcre" ,sbcl-cl-ppcre)
399 ("esrap" ,sbcl-esrap)))
400 (arguments
401 `(#:asd-systems '("abnf")))
402 (home-page "https://github.com/dimitri/cl-abnf")
403 (synopsis "ABNF parser generator for Common Lisp")
404 (description "This Common Lisp library implements a parser generator for
405 the ABNF grammar format as described in RFC2234. The generated parser is a
406 regular expression scanner provided by the cl-ppcre lib, which means that we
407 can't parse recursive grammar definition. One such definition is the ABNF
408 definition as given by the RFC. Fortunately, as you have this lib, you most
409 probably don't need to generate another parser to handle that particular ABNF
410 grammar.")
411 (license license:expat))))
412
413 (define-public cl-abnf
414 (sbcl-package->cl-source-package sbcl-cl-abnf))
415
416 (define-public ecl-cl-abnf
417 (sbcl-package->ecl-package sbcl-cl-abnf))
418
419 (define-public sbcl-cl-ppcre
420 (package
421 (name "sbcl-cl-ppcre")
422 (version "2.1.1")
423 (source
424 (origin
425 (method git-fetch)
426 (uri (git-reference
427 (url "https://github.com/edicl/cl-ppcre")
428 (commit (string-append "v" version))))
429 (file-name (git-file-name "cl-ppcre" version))
430 (sha256
431 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
432 (build-system asdf-build-system/sbcl)
433 (native-inputs
434 `(("flexi-streams" ,sbcl-flexi-streams)))
435 (arguments
436 `(#:phases
437 (modify-phases %standard-phases
438 (add-after 'unpack 'disable-ppcre-unicode
439 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
440 ;; to work around the circular dependency between edicl/cl-ppcre
441 ;; and edicl/cl-unicode.
442 (lambda _
443 (delete-file "cl-ppcre-unicode.asd")
444 #t)))))
445 (synopsis "Portable regular expression library for Common Lisp")
446 (description "CL-PPCRE is a portable regular expression library for Common
447 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
448 compatible with ANSI-compliant Common Lisp implementations.")
449 (home-page "http://weitz.de/cl-ppcre/")
450 (license license:bsd-2)))
451
452 (define-public cl-ppcre
453 (sbcl-package->cl-source-package sbcl-cl-ppcre))
454
455 (define-public ecl-cl-ppcre
456 (sbcl-package->ecl-package sbcl-cl-ppcre))
457
458 (define-public sbcl-cl-unicode
459 (package
460 (name "sbcl-cl-unicode")
461 (version "0.1.6")
462 (source (origin
463 (method git-fetch)
464 (uri (git-reference
465 (url "https://github.com/edicl/cl-unicode")
466 (commit (string-append "v" version))))
467 (file-name (git-file-name name version))
468 (sha256
469 (base32
470 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
471 (build-system asdf-build-system/sbcl)
472 (native-inputs
473 `(("flexi-streams" ,sbcl-flexi-streams)))
474 (inputs
475 `(("cl-ppcre" ,sbcl-cl-ppcre)))
476 (home-page "http://weitz.de/cl-unicode/")
477 (synopsis "Portable Unicode library for Common Lisp")
478 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
479 is compatible with perl. It is pretty fast, thread-safe, and compatible with
480 ANSI-compliant Common Lisp implementations.")
481 (license license:bsd-2)))
482
483 (define-public ecl-cl-unicode
484 (sbcl-package->ecl-package sbcl-cl-unicode))
485
486 (define-public cl-unicode
487 (sbcl-package->cl-source-package sbcl-cl-unicode))
488
489 (define-public sbcl-cl-ppcre-unicode
490 (package (inherit sbcl-cl-ppcre)
491 (name "sbcl-cl-ppcre-unicode")
492 (inputs
493 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
494 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
495 (arguments
496 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
497 #:phases
498 (modify-phases %standard-phases
499 (add-after 'unpack 'disable-ppcre
500 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
501 ;; to work around the circular dependency between edicl/cl-ppcre
502 ;; and edicl/cl-unicode.
503 (lambda _
504 (delete-file "cl-ppcre.asd")
505 #t)))))))
506
507 (define-public cl-ppcre-unicode
508 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
509
510 (define-public ecl-cl-ppcre-unicode
511 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
512
513 (define-public sbcl-zpb-ttf
514 (package
515 (name "sbcl-zpb-ttf")
516 (version "1.0.3")
517 (source
518 (origin
519 (method git-fetch)
520 (uri (git-reference
521 (url "https://github.com/xach/zpb-ttf")
522 (commit (string-append "release-" version))))
523 (file-name (git-file-name name version))
524 (sha256
525 (base32
526 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
527 (build-system asdf-build-system/sbcl)
528 (home-page "https://github.com/xach/zpb-ttf")
529 (synopsis "TrueType font file access for Common Lisp")
530 (description
531 "ZPB-TTF is a TrueType font file parser that provides an interface for
532 reading typographic metrics, glyph outlines, and other information from the
533 file.")
534 (license license:bsd-2)))
535
536 (define-public ecl-zpb-ttf
537 (sbcl-package->ecl-package sbcl-zpb-ttf))
538
539 (define-public cl-zpb-ttf
540 (sbcl-package->cl-source-package sbcl-zpb-ttf))
541
542 (define-public sbcl-cl-vectors
543 (package
544 (name "sbcl-cl-vectors")
545 (version "0.1.5")
546 (source
547 (origin
548 (method url-fetch)
549 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
550 "files/cl-vectors-" version ".tar.gz"))
551 (sha256
552 (base32
553 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
554 (build-system asdf-build-system/sbcl)
555 (inputs
556 `(("zpb-ttf" ,sbcl-zpb-ttf)))
557 (arguments
558 '(#:asd-systems '("cl-vectors"
559 "cl-paths-ttf")))
560 (home-page "http://projects.tuxee.net/cl-vectors/")
561 (synopsis "Create, transform and render anti-aliased vectorial paths")
562 (description
563 "This is a pure Common Lisp library to create, transform and render
564 anti-aliased vectorial paths.")
565 (license license:expat)))
566
567 (define-public ecl-cl-vectors
568 (sbcl-package->ecl-package sbcl-cl-vectors))
569
570 (define-public cl-vectors
571 (sbcl-package->cl-source-package sbcl-cl-vectors))
572
573 (define-public sbcl-spatial-trees
574 ;; There have been no releases.
575 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
576 (revision "1"))
577 (package
578 (name "sbcl-spatial-trees")
579 (version (git-version "0" revision commit))
580 (source
581 (origin
582 (method git-fetch)
583 (uri (git-reference
584 (url "https://github.com/rpav/spatial-trees")
585 (commit commit)))
586 (file-name (git-file-name name version))
587 (sha256
588 (base32
589 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
590 (build-system asdf-build-system/sbcl)
591 (arguments
592 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
593 #:test-asd-file "spatial-trees.test.asd"))
594 (native-inputs
595 `(("fiveam" ,sbcl-fiveam)))
596 (home-page "https://github.com/rpav/spatial-trees")
597 (synopsis "Dynamic index data structures for spatially-extended data")
598 (description
599 "Spatial-trees is a set of dynamic index data structures for
600 spatially-extended data.")
601 (license license:bsd-3))))
602
603 (define-public ecl-spatial-trees
604 (sbcl-package->ecl-package sbcl-spatial-trees))
605
606 (define-public cl-spatial-trees
607 (sbcl-package->cl-source-package sbcl-spatial-trees))
608
609 (define-public sbcl-flexichain
610 ;; There are no releases.
611 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
612 (revision "1"))
613 (package
614 (name "sbcl-flexichain")
615 (version "1.5.1")
616 (source
617 (origin
618 (method git-fetch)
619 (uri (git-reference
620 (url "https://github.com/robert-strandh/Flexichain")
621 (commit commit)))
622 (file-name (git-file-name name version))
623 (sha256
624 (base32
625 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
626 (build-system asdf-build-system/sbcl)
627 (home-page "https://github.com/robert-strandh/Flexichain.git")
628 (synopsis "Dynamically add elements to or remove them from sequences")
629 (description
630 "This package provides an implementation of the flexichain protocol,
631 allowing client code to dynamically add elements to, and delete elements from
632 a sequence (or chain) of such elements.")
633 (license license:lgpl2.1+))))
634
635 (define-public ecl-flexichain
636 (sbcl-package->ecl-package sbcl-flexichain))
637
638 (define-public cl-flexichain
639 (sbcl-package->cl-source-package sbcl-flexichain))
640
641 (define-public sbcl-cl-pdf
642 ;; There are no releases
643 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
644 (revision "1"))
645 (package
646 (name "sbcl-cl-pdf")
647 (version (git-version "0" revision commit))
648 (source
649 (origin
650 (method git-fetch)
651 (uri (git-reference
652 (url "https://github.com/mbattyani/cl-pdf")
653 (commit commit)))
654 (file-name (git-file-name name version))
655 (sha256
656 (base32
657 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
658 (build-system asdf-build-system/sbcl)
659 (inputs
660 `(("iterate" ,sbcl-iterate)
661 ("zpb-ttf" ,sbcl-zpb-ttf)))
662 (home-page "https://github.com/mbattyani/cl-pdf")
663 (synopsis "Common Lisp library for generating PDF files")
664 (description
665 "CL-PDF is a cross-platform Common Lisp library for generating PDF
666 files.")
667 (license license:bsd-2))))
668
669 (define-public ecl-cl-pdf
670 (sbcl-package->ecl-package sbcl-cl-pdf))
671
672 (define-public cl-pdf
673 (sbcl-package->cl-source-package sbcl-cl-pdf))
674
675 (define-public sbcl-clx
676 (package
677 (name "sbcl-clx")
678 (version "0.7.5")
679 (source
680 (origin
681 (method git-fetch)
682 (uri
683 (git-reference
684 (url "https://github.com/sharplispers/clx")
685 (commit version)))
686 (sha256
687 (base32
688 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
689 (file-name (string-append "clx-" version))))
690 (build-system asdf-build-system/sbcl)
691 (native-inputs
692 `(("fiasco" ,sbcl-fiasco)))
693 (home-page "https://www.cliki.net/portable-clx")
694 (synopsis "X11 client library for Common Lisp")
695 (description "CLX is an X11 client library for Common Lisp. The code was
696 originally taken from a CMUCL distribution, was modified somewhat in order to
697 make it compile and run under SBCL, then a selection of patches were added
698 from other CLXes around the net.")
699 (license license:x11)))
700
701 (define-public cl-clx
702 (sbcl-package->cl-source-package sbcl-clx))
703
704 (define-public ecl-clx
705 (sbcl-package->ecl-package sbcl-clx))
706
707 (define-public sbcl-clx-truetype
708 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
709 (revision "1"))
710 (package
711 (name "sbcl-clx-truetype")
712 (version (git-version "0.0.1" revision commit))
713 (source
714 (origin
715 (method git-fetch)
716 (uri (git-reference
717 (url "https://github.com/l04m33/clx-truetype")
718 (commit commit)))
719 (file-name (git-file-name name version))
720 (sha256
721 (base32
722 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
723 (modules '((guix build utils)))
724 (snippet
725 '(begin
726 (substitute* "package.lisp"
727 ((":export") ":export\n :+font-cache-filename+"))
728 #t))))
729 (build-system asdf-build-system/sbcl)
730 (inputs
731 `(("clx" ,sbcl-clx)
732 ("zpb-ttf" ,sbcl-zpb-ttf)
733 ("cl-vectors" ,sbcl-cl-vectors)
734 ("cl-fad" ,sbcl-cl-fad)
735 ("cl-store" ,sbcl-cl-store)
736 ("trivial-features" ,sbcl-trivial-features)))
737 (home-page "https://github.com/l04m33/clx-truetype")
738 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
739 (description "CLX-TrueType is pure common lisp solution for
740 antialiased TrueType font rendering using CLX and XRender extension.")
741 (license license:expat))))
742
743 (define-public cl-clx-truetype
744 (sbcl-package->cl-source-package sbcl-clx-truetype))
745
746 (define-public ecl-clx-truetype
747 (sbcl-package->ecl-package sbcl-clx-truetype))
748
749 (define-public sbcl-slynk
750 (let ((revision "4")
751 ;; Update together with emacs-sly.
752 (commit "68561f1b7b66fa0240766ece836bb04da31ea17d"))
753 (package
754 (name "sbcl-slynk")
755 (version (git-version "1.0.0-beta" revision commit))
756 (source
757 (origin
758 (method git-fetch)
759 (uri
760 (git-reference
761 (url "https://github.com/joaotavora/sly")
762 (commit commit)))
763 (sha256
764 (base32 "1xwx537dhgclngi6b0faf320i8pnac9309wvmk6z2g6dm3v652ds"))
765 (file-name (git-file-name "slynk" version))
766 (modules '((guix build utils)
767 (ice-9 ftw)))
768 (snippet
769 '(begin
770 ;; Move the contribs into the main source directory for easier
771 ;; access
772 (substitute* "slynk/slynk.asd"
773 (("\\.\\./contrib")
774 "contrib"))
775 (rename-file "contrib" "slynk/contrib")
776 ;; Move slynk's contents into the base directory for easier
777 ;; access
778 (for-each (lambda (file)
779 (unless (string-prefix? "." file)
780 (rename-file (string-append "slynk/" file)
781 (string-append "./" (basename file)))))
782 (scandir "slynk"))
783 #t))))
784 (build-system asdf-build-system/sbcl)
785 (outputs '("out" "image"))
786 (arguments
787 `(#:tests? #f ; No test suite
788 #:asd-systems '("slynk"
789 "slynk/arglists"
790 "slynk/fancy-inspector"
791 "slynk/package-fu"
792 "slynk/mrepl"
793 "slynk/trace-dialog"
794 "slynk/profiler"
795 "slynk/stickers"
796 "slynk/indentation"
797 "slynk/retro")
798 #:phases
799 (modify-phases %standard-phases
800 (add-after 'create-asdf-configuration 'build-image
801 (lambda* (#:key outputs #:allow-other-keys)
802 (build-image (string-append
803 (assoc-ref %outputs "image")
804 "/bin/slynk")
805 %outputs
806 #:dependencies '("slynk"
807 "slynk/arglists"
808 "slynk/fancy-inspector"
809 "slynk/package-fu"
810 "slynk/mrepl"
811 "slynk/trace-dialog"
812 "slynk/profiler"
813 "slynk/stickers"
814 "slynk/indentation"
815 "slynk/retro"))
816 #t)))))
817 (synopsis "Common Lisp IDE for Emacs")
818 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
819 It also features a completely redesigned REPL based on Emacs's own
820 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
821 button interface. Everything can be copied to the REPL. One can create
822 multiple inspectors with independent history.")
823 (home-page "https://github.com/joaotavora/sly")
824 (license license:public-domain)
825 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
826
827 (define-public cl-slynk
828 (sbcl-package->cl-source-package sbcl-slynk))
829
830 (define-public ecl-slynk
831 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
832 (package
833 (inherit pkg)
834 (outputs '("out"))
835 (arguments
836 (substitute-keyword-arguments (package-arguments pkg)
837 ((#:phases phases)
838 `(modify-phases ,phases
839 (delete 'build-image))))))))
840
841 (define-public sbcl-parse-js
842 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
843 (revision "1"))
844 (package
845 (name "sbcl-parse-js")
846 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
847 (source
848 (origin
849 (method git-fetch)
850 (uri (git-reference
851 (url "http://marijn.haverbeke.nl/git/parse-js")
852 (commit commit)))
853 (file-name (string-append name "-" commit "-checkout"))
854 (sha256
855 (base32
856 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
857 (build-system asdf-build-system/sbcl)
858 (home-page "https://marijnhaverbeke.nl/parse-js/")
859 (synopsis "Parse JavaScript")
860 (description "Parse-js is a Common Lisp package for parsing
861 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
862 (license license:zlib))))
863
864 (define-public cl-parse-js
865 (sbcl-package->cl-source-package sbcl-parse-js))
866
867 (define-public ecl-parse-js
868 (sbcl-package->ecl-package sbcl-parse-js))
869
870 (define-public sbcl-parse-number
871 (package
872 (name "sbcl-parse-number")
873 (version "1.7")
874 (source
875 (origin
876 (method git-fetch)
877 (uri (git-reference
878 (url "https://github.com/sharplispers/parse-number/")
879 (commit (string-append "v" version))))
880 (file-name (git-file-name name version))
881 (sha256
882 (base32
883 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
884 (build-system asdf-build-system/sbcl)
885 (home-page "https://www.cliki.net/PARSE-NUMBER")
886 (synopsis "Parse numbers")
887 (description "@code{parse-number} is a library of functions for parsing
888 strings into one of the standard Common Lisp number types without using the
889 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
890 the string into one of the standard Common Lisp number types, if possible, or
891 else @code{parse-number} signals an error of type @code{invalid-number}.")
892 (license license:bsd-3)))
893
894 (define-public cl-parse-number
895 (sbcl-package->cl-source-package sbcl-parse-number))
896
897 (define-public ecl-parse-number
898 (sbcl-package->ecl-package sbcl-parse-number))
899
900 (define-public sbcl-iterate
901 (package
902 (name "sbcl-iterate")
903 (version "1.5")
904 (source
905 (origin
906 (method url-fetch)
907 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
908 "iterate-" version ".tar.gz"))
909 (sha256
910 (base32
911 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
912 (build-system asdf-build-system/sbcl)
913 (native-inputs
914 `(("rt" ,sbcl-rt)))
915 (home-page "https://common-lisp.net/project/iterate/")
916 (synopsis "Iteration construct for Common Lisp")
917 (description "@code{iterate} is an iteration construct for Common Lisp.
918 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
919
920 @itemize
921 @item it is extensible,
922 @item it helps editors like Emacs indent iterate forms by having a more
923 lisp-like syntax, and
924 @item it isn't part of the ANSI standard for Common Lisp.
925 @end itemize\n")
926 (license license:expat)))
927
928 (define-public cl-iterate
929 (sbcl-package->cl-source-package sbcl-iterate))
930
931 (define-public ecl-iterate
932 (sbcl-package->ecl-package sbcl-iterate))
933
934 (define-public sbcl-cl-uglify-js
935 ;; There have been many bug fixes since the 2010 release.
936 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
937 (revision "1"))
938 (package
939 (name "sbcl-cl-uglify-js")
940 (version (string-append "0.1-" revision "." (string-take commit 9)))
941 (source
942 (origin
943 (method git-fetch)
944 (uri (git-reference
945 (url "https://github.com/mishoo/cl-uglify-js")
946 (commit commit)))
947 (file-name (git-file-name name version))
948 (sha256
949 (base32
950 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
951 (build-system asdf-build-system/sbcl)
952 (inputs
953 `(("sbcl-parse-js" ,sbcl-parse-js)
954 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
955 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
956 ("sbcl-parse-number" ,sbcl-parse-number)
957 ("sbcl-iterate" ,sbcl-iterate)))
958 (home-page "https://github.com/mishoo/cl-uglify-js")
959 (synopsis "JavaScript compressor library for Common Lisp")
960 (description "This is a Common Lisp version of UglifyJS, a JavaScript
961 compressor. It works on data produced by @code{parse-js} to generate a
962 @dfn{minified} version of the code. Currently it can:
963
964 @itemize
965 @item reduce variable names (usually to single letters)
966 @item join consecutive @code{var} statements
967 @item resolve simple binary expressions
968 @item group most consecutive statements using the @code{sequence} operator (comma)
969 @item remove unnecessary blocks
970 @item convert @code{IF} expressions in various ways that result in smaller code
971 @item remove some unreachable code
972 @end itemize\n")
973 (license license:zlib))))
974
975 (define-public cl-uglify-js
976 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
977
978 (define-public ecl-cl-uglify-js
979 (sbcl-package->ecl-package sbcl-cl-uglify-js))
980
981 (define-public uglify-js
982 (package
983 (inherit sbcl-cl-uglify-js)
984 (name "uglify-js")
985 (build-system trivial-build-system)
986 (arguments
987 `(#:modules ((guix build utils))
988 #:builder
989 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
990 (script (string-append bin "uglify-js")))
991 (use-modules (guix build utils))
992 (mkdir-p bin)
993 (with-output-to-file script
994 (lambda _
995 (format #t "#!~a/bin/sbcl --script
996
997 (require :asdf)
998 (asdf:initialize-source-registry
999 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1000 (asdf:initialize-output-translations
1001 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1002 (assoc-ref %build-inputs "sbcl")
1003 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1004 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1005 ;; FIXME: cannot use progn here because otherwise it fails to
1006 ;; find cl-uglify-js.
1007 (for-each
1008 write
1009 '(;; Quiet, please!
1010 (let ((*standard-output* (make-broadcast-stream))
1011 (*error-output* (make-broadcast-stream)))
1012 (asdf:load-system :cl-uglify-js))
1013 (let ((file (cadr *posix-argv*)))
1014 (if file
1015 (format t "~a"
1016 (cl-uglify-js:ast-gen-code
1017 (cl-uglify-js:ast-mangle
1018 (cl-uglify-js:ast-squeeze
1019 (with-open-file (in file)
1020 (parse-js:parse-js in))))
1021 :beautify nil))
1022 (progn
1023 (format *error-output*
1024 "Please provide a JavaScript file.~%")
1025 (sb-ext:exit :code 1))))))))
1026 (chmod script #o755)
1027 #t)))
1028 (inputs
1029 `(("sbcl" ,sbcl)
1030 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1031 (synopsis "JavaScript compressor")))
1032
1033 (define-public sbcl-cl-strings
1034 (let ((revision "1")
1035 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1036 (package
1037 (name "sbcl-cl-strings")
1038 (version (git-version "0.0.0" revision commit))
1039 (source
1040 (origin
1041 (method git-fetch)
1042 (uri (git-reference
1043 (url "https://github.com/diogoalexandrefranco/cl-strings")
1044 (commit commit)))
1045 (sha256
1046 (base32
1047 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1048 (file-name (string-append "cl-strings-" version "-checkout"))))
1049 (build-system asdf-build-system/sbcl)
1050 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1051 (description
1052 "@command{cl-strings} is a small, portable, dependency-free set of
1053 utilities that make it even easier to manipulate text in Common Lisp. It has
1054 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1055 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1056 (license license:expat))))
1057
1058 (define-public cl-strings
1059 (sbcl-package->cl-source-package sbcl-cl-strings))
1060
1061 (define-public ecl-cl-strings
1062 (sbcl-package->ecl-package sbcl-cl-strings))
1063
1064 (define-public sbcl-trivial-features
1065 ;; No release since 2014.
1066 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1067 (package
1068 (name "sbcl-trivial-features")
1069 (version (git-version "0.8" "1" commit))
1070 (source
1071 (origin
1072 (method git-fetch)
1073 (uri (git-reference
1074 (url "https://github.com/trivial-features/trivial-features")
1075 (commit commit)))
1076 (file-name (git-file-name "trivial-features" version))
1077 (sha256
1078 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1079 (build-system asdf-build-system/sbcl)
1080 (arguments
1081 '(#:asd-files '("trivial-features.asd")
1082 #:tests? #f))
1083 (home-page "https://cliki.net/trivial-features")
1084 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1085 (description "Trivial-features ensures that @code{*FEATURES*} is
1086 consistent across multiple Common Lisp implementations.")
1087 (license license:expat))))
1088
1089 (define-public cl-trivial-features
1090 (sbcl-package->cl-source-package sbcl-trivial-features))
1091
1092 (define-public ecl-trivial-features
1093 (sbcl-package->ecl-package sbcl-trivial-features))
1094
1095 (define-public sbcl-hu.dwim.asdf
1096 (package
1097 (name "sbcl-hu.dwim.asdf")
1098 (version "20190521")
1099 (source
1100 (origin
1101 (method url-fetch)
1102 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1103 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1104 (sha256
1105 (base32
1106 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1107 (build-system asdf-build-system/sbcl)
1108 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1109 (synopsis "Extensions to ASDF")
1110 (description "Various ASDF extensions such as attached test and
1111 documentation system, explicit development support, etc.")
1112 (license license:public-domain)))
1113
1114 (define-public cl-hu.dwim.asdf
1115 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1116
1117 (define-public ecl-hu.dwim.asdf
1118 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1119
1120 (define-public sbcl-hu.dwim.stefil
1121 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1122 (package
1123 (name "sbcl-hu.dwim.stefil")
1124 (version (git-version "0.0.0" "1" commit))
1125 (source
1126 (origin
1127 (method git-fetch)
1128 (uri
1129 (git-reference
1130 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1131 (commit commit)))
1132 (sha256
1133 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1134 (file-name (git-file-name "hu.dwim.stefil" version))))
1135 (build-system asdf-build-system/sbcl)
1136 (native-inputs
1137 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1138 (inputs
1139 `(("sbcl-alexandria" ,sbcl-alexandria)))
1140 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1141 (synopsis "Simple test framework")
1142 (description "Stefil is a simple test framework for Common Lisp,
1143 with a focus on interactive development.")
1144 (license license:public-domain))))
1145
1146 (define-public cl-hu.dwim.stefil
1147 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1148
1149 (define-public ecl-hu.dwim.stefil
1150 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1151
1152 (define-public sbcl-babel
1153 ;; No release since 2014.
1154 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1155 (package
1156 (name "sbcl-babel")
1157 (version (git-version "0.5.0" "1" commit))
1158 (source
1159 (origin
1160 (method git-fetch)
1161 (uri (git-reference
1162 (url "https://github.com/cl-babel/babel")
1163 (commit commit)))
1164 (file-name (git-file-name "babel" version))
1165 (sha256
1166 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1167 (build-system asdf-build-system/sbcl)
1168 (native-inputs
1169 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1170 (inputs
1171 `(("sbcl-alexandria" ,sbcl-alexandria)
1172 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1173 (home-page "https://common-lisp.net/project/babel/")
1174 (synopsis "Charset encoding and decoding library")
1175 (description "Babel is a charset encoding and decoding library, not unlike
1176 GNU libiconv, but completely written in Common Lisp.")
1177 (license license:expat))))
1178
1179 (define-public cl-babel
1180 (sbcl-package->cl-source-package sbcl-babel))
1181
1182 (define-public ecl-babel
1183 (sbcl-package->ecl-package sbcl-babel))
1184
1185 (define-public sbcl-cl-yacc
1186 (package
1187 (name "sbcl-cl-yacc")
1188 (version "0.3")
1189 (source
1190 (origin
1191 (method git-fetch)
1192 (uri (git-reference
1193 (url "https://github.com/jech/cl-yacc")
1194 (commit (string-append "cl-yacc-" version))))
1195 (sha256
1196 (base32
1197 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1198 (file-name (string-append "cl-yacc-" version "-checkout"))))
1199 (build-system asdf-build-system/sbcl)
1200 (arguments
1201 `(#:asd-systems '("yacc")))
1202 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1203 (description
1204 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1205 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1206
1207 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1208 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1209 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1210 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1211 (license license:expat)))
1212
1213 (define-public cl-yacc
1214 (sbcl-package->cl-source-package sbcl-cl-yacc))
1215
1216 (define-public ecl-cl-yacc
1217 (sbcl-package->ecl-package sbcl-cl-yacc))
1218
1219 (define-public sbcl-eager-future2
1220 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1221 (package
1222 (name "sbcl-eager-future2")
1223 (version (git-version "0.0.0" "1" commit))
1224 (source
1225 (origin
1226 (method git-fetch)
1227 (uri (git-reference
1228 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1229 (commit commit)))
1230 (file-name (git-file-name name version))
1231 (sha256
1232 (base32
1233 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1234 (build-system asdf-build-system/sbcl)
1235 (inputs
1236 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1237 ("trivial-garbage" ,sbcl-trivial-garbage)))
1238 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1239 (description
1240 "Eager Future2 is a Common Lisp library that provides composable
1241 concurrency primitives that unify parallel and lazy evaluation, are integrated
1242 with the Common Lisp condition system, and have automatic resource
1243 management.")
1244 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1245 (license license:lgpl3+))))
1246
1247 (define-public cl-eager-future2
1248 (sbcl-package->cl-source-package sbcl-eager-future2))
1249
1250 (define-public ecl-eager-future2
1251 (sbcl-package->ecl-package sbcl-eager-future2))
1252
1253 (define-public sbcl-jpl-util
1254 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1255 (package
1256 (name "sbcl-jpl-util")
1257 (version "20151005")
1258 (source
1259 (origin
1260 (method git-fetch)
1261 (uri (git-reference
1262 ;; Quicklisp uses this fork.
1263 (url "https://github.com/hawkir/cl-jpl-util")
1264 (commit commit)))
1265 (file-name
1266 (git-file-name "jpl-util" version))
1267 (sha256
1268 (base32
1269 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1270 (build-system asdf-build-system/sbcl)
1271 (synopsis "Collection of Common Lisp utility functions and macros")
1272 (description
1273 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1274 and macros, primarily for software projects written in CL by the author.")
1275 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1276 (license license:isc))))
1277
1278 (define-public cl-jpl-util
1279 (sbcl-package->cl-source-package sbcl-jpl-util))
1280
1281 (define-public ecl-jpl-util
1282 (sbcl-package->ecl-package sbcl-jpl-util))
1283
1284 (define-public sbcl-jpl-queues
1285 (package
1286 (name "sbcl-jpl-queues")
1287 (version "0.1")
1288 (source
1289 (origin
1290 (method url-fetch)
1291 (uri (string-append
1292 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1293 version
1294 ".tar.gz"))
1295 (sha256
1296 (base32
1297 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1298 (build-system asdf-build-system/sbcl)
1299 (inputs
1300 `(("jpl-util" ,sbcl-jpl-util)
1301 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1302 (arguments
1303 ;; Tests seem to be broken.
1304 `(#:tests? #f))
1305 (synopsis "Common Lisp library implementing a few different kinds of queues")
1306 (description
1307 "A Common Lisp library implementing a few different kinds of queues:
1308
1309 @itemize
1310 @item Bounded and unbounded FIFO queues.
1311 @item Lossy bounded FIFO queues that drop elements when full.
1312 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1313 @end itemize
1314
1315 Additionally, a synchronization wrapper is provided to make any queue
1316 conforming to the @command{jpl-queues} API thread-safe for lightweight
1317 multithreading applications. (See Calispel for a more sophisticated CL
1318 multithreaded message-passing library with timeouts and alternation among
1319 several blockable channels.)")
1320 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1321 (license license:isc)))
1322
1323 (define-public cl-jpl-queues
1324 (sbcl-package->cl-source-package sbcl-jpl-queues))
1325
1326 (define-public ecl-jpl-queues
1327 (sbcl-package->ecl-package sbcl-jpl-queues))
1328
1329 (define-public sbcl-calispel
1330 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1331 (package
1332 (name "sbcl-calispel")
1333 (version (git-version "0.1" "1" commit))
1334 (source
1335 (origin
1336 (method git-fetch)
1337 (uri (git-reference
1338 ;; This fork replaces the dependency on the obsolete
1339 ;; eager-future with eager-future2.
1340 (url "https://github.com/hawkir/calispel")
1341 (commit commit)))
1342 (file-name (git-file-name name version))
1343 (sha256
1344 (base32
1345 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1346 (build-system asdf-build-system/sbcl)
1347 (inputs
1348 `(("jpl-queues" ,sbcl-jpl-queues)
1349 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1350 (native-inputs
1351 `(("eager-future2" ,sbcl-eager-future2)))
1352 (synopsis "Thread-safe message-passing channels in Common Lisp")
1353 (description
1354 "Calispel is a Common Lisp library for thread-safe message-passing
1355 channels, in the style of the occam programming language, also known as
1356 communicating sequential processes (CSP). See
1357 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1358
1359 Calispel channels let one thread communicate with another, facilitating
1360 unidirectional communication of any Lisp object. Channels may be unbuffered,
1361 where a sender waits for a receiver (or vice versa) before either operation can
1362 continue, or channels may be buffered with flexible policy options.
1363
1364 Because sending and receiving on a channel may block, either operation can time
1365 out after a specified amount of time.
1366
1367 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1368 @code{select()}): given a sequence of operations, any or all of which may
1369 block, alternation selects the first operation that doesn't block and executes
1370 associated code. Alternation can also time out, executing an \"otherwise\"
1371 clause if no operation becomes available within a set amount of time.
1372
1373 Calispel is a message-passing library, and as such leaves the role of
1374 threading abstractions and utilities left to be filled by complementary
1375 libraries such as Bordeaux-Threads and Eager Future.")
1376 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1377 (license license:isc))))
1378
1379 (define-public cl-calispel
1380 (sbcl-package->cl-source-package sbcl-calispel))
1381
1382 (define-public ecl-calispel
1383 (sbcl-package->ecl-package sbcl-calispel))
1384
1385 (define-public sbcl-eos
1386 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1387 (revision "2"))
1388 (package
1389 (name "sbcl-eos")
1390 (version (git-version "0.0.0" revision commit))
1391 (source
1392 (origin
1393 (method git-fetch)
1394 (uri (git-reference
1395 (url "https://github.com/adlai/Eos")
1396 (commit commit)))
1397 (sha256
1398 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1399 (file-name (git-file-name "eos" version))))
1400 (build-system asdf-build-system/sbcl)
1401 (synopsis "Unit Testing for Common Lisp")
1402 (description
1403 "Eos was a unit testing library for Common Lisp.
1404 It began as a fork of FiveAM; however, FiveAM development has continued, while
1405 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1406 (home-page "https://github.com/adlai/Eos")
1407 (license license:expat))))
1408
1409 (define-public cl-eos
1410 (sbcl-package->cl-source-package sbcl-eos))
1411
1412 (define-public ecl-eos
1413 (sbcl-package->ecl-package sbcl-eos))
1414
1415 (define-public sbcl-esrap
1416 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1417 (package
1418 (name "sbcl-esrap")
1419 (version (git-version "0.0.0" "1" commit))
1420 (source
1421 (origin
1422 (method git-fetch)
1423 (uri (git-reference
1424 (url "https://github.com/nikodemus/esrap")
1425 (commit commit)))
1426 (sha256
1427 (base32
1428 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1429 (file-name (git-file-name "esrap" version))))
1430 (build-system asdf-build-system/sbcl)
1431 (native-inputs
1432 `(("eos" ,sbcl-eos))) ;For testing only.
1433 (inputs
1434 `(("alexandria" ,sbcl-alexandria)))
1435 (synopsis "Common Lisp packrat parser")
1436 (description
1437 "A packrat parser for Common Lisp.
1438 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1439
1440 @itemize
1441 @item dynamic redefinition of nonterminals
1442 @item inline grammars
1443 @item semantic predicates
1444 @item introspective facilities (describing grammars, tracing, setting breaks)
1445 @end itemize\n")
1446 (home-page "https://nikodemus.github.io/esrap/")
1447 (license license:expat))))
1448
1449 (define-public cl-esrap
1450 (sbcl-package->cl-source-package sbcl-esrap))
1451
1452 (define-public ecl-esrap
1453 (sbcl-package->ecl-package sbcl-esrap))
1454
1455 (define-public sbcl-split-sequence
1456 (package
1457 (name "sbcl-split-sequence")
1458 (version "2.0.0")
1459 (source
1460 (origin
1461 (method git-fetch)
1462 (uri (git-reference
1463 (url "https://github.com/sharplispers/split-sequence")
1464 (commit (string-append "v" version))))
1465 (sha256
1466 (base32
1467 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1468 (file-name (git-file-name "split-sequence" version))))
1469 (build-system asdf-build-system/sbcl)
1470 (native-inputs
1471 `(("fiveam" ,sbcl-fiveam)))
1472 (synopsis "Member of the Common Lisp Utilities family of programs")
1473 (description
1474 "Splits sequence into a list of subsequences delimited by objects
1475 satisfying the test.")
1476 (home-page "https://cliki.net/split-sequence")
1477 (license license:expat)))
1478
1479 (define-public cl-split-sequence
1480 (sbcl-package->cl-source-package sbcl-split-sequence))
1481
1482 (define-public ecl-split-sequence
1483 (sbcl-package->ecl-package sbcl-split-sequence))
1484
1485 (define-public sbcl-html-encode
1486 (package
1487 (name "sbcl-html-encode")
1488 (version "1.2")
1489 (source
1490 (origin
1491 (method url-fetch)
1492 (uri (string-append
1493 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1494 version ".tgz"))
1495 (sha256
1496 (base32
1497 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1498 (file-name (string-append "colorize" version "-checkout"))))
1499 (build-system asdf-build-system/sbcl)
1500 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1501 (description
1502 "A library for encoding text in various web-savvy encodings.")
1503 (home-page "http://quickdocs.org/html-encode/")
1504 (license license:expat)))
1505
1506 (define-public cl-html-encode
1507 (sbcl-package->cl-source-package sbcl-html-encode))
1508
1509 (define-public ecl-html-encode
1510 (sbcl-package->ecl-package sbcl-html-encode))
1511
1512 (define-public sbcl-colorize
1513 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1514 (package
1515 (name "sbcl-colorize")
1516 (version (git-version "0.0.0" "1" commit))
1517 (source
1518 (origin
1519 (method git-fetch)
1520 (uri (git-reference
1521 (url "https://github.com/kingcons/colorize")
1522 (commit commit)))
1523 (sha256
1524 (base32
1525 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1526 (file-name (git-file-name "colorize" version))))
1527 (build-system asdf-build-system/sbcl)
1528 (inputs
1529 `(("alexandria" ,sbcl-alexandria)
1530 ("split-sequence" ,sbcl-split-sequence)
1531 ("html-encode" ,sbcl-html-encode)))
1532 (synopsis "Common Lisp for syntax highlighting")
1533 (description
1534 "@command{colorize} is a Lisp library for syntax highlighting
1535 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1536 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1537 (home-page "https://github.com/kingcons/colorize")
1538 ;; TODO: Missing license?
1539 (license license:expat))))
1540
1541 (define-public cl-colorize
1542 (sbcl-package->cl-source-package sbcl-colorize))
1543
1544 (define-public ecl-colorize
1545 (sbcl-package->ecl-package sbcl-colorize))
1546
1547 (define-public sbcl-3bmd
1548 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1549 (package
1550 (name "sbcl-3bmd")
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/3b/3bmd")
1557 (commit commit)))
1558 (sha256
1559 (base32
1560 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1561 (file-name (git-file-name "3bmd" version))))
1562 (build-system asdf-build-system/sbcl)
1563 (arguments
1564 ;; FIXME: We need to specify the name because the build-system thinks
1565 ;; "3" is a version marker.
1566 `(#:asd-systems '("3bmd"
1567 "3bmd-ext-code-blocks")))
1568 (inputs
1569 `(("colorize" ,sbcl-colorize)
1570 ("esrap" ,sbcl-esrap)
1571 ("split-sequence" ,sbcl-split-sequence)))
1572 (synopsis "Markdown processor in Command Lisp using esrap parser")
1573 (description
1574 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1575 parsing, and grammar based on @command{peg-markdown}.")
1576 (home-page "https://github.com/3b/3bmd")
1577 (license license:expat))))
1578
1579 (define-public cl-3bmd
1580 (sbcl-package->cl-source-package sbcl-3bmd))
1581
1582 (define-public ecl-3bmd
1583 (sbcl-package->ecl-package sbcl-3bmd))
1584
1585 (define-public sbcl-cl-fad
1586 (package
1587 (name "sbcl-cl-fad")
1588 (version "0.7.6")
1589 (source
1590 (origin
1591 (method git-fetch)
1592 (uri (git-reference
1593 (url "https://github.com/edicl/cl-fad/")
1594 (commit (string-append "v" version))))
1595 (sha256
1596 (base32
1597 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1598 (file-name (string-append "cl-fad" version "-checkout"))))
1599 (build-system asdf-build-system/sbcl)
1600 (inputs
1601 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1602 (synopsis "Portable pathname library for Common Lisp")
1603 (description
1604 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1605 Lisp's standard pathname functions. It is intended to provide some
1606 unification between current CL implementations on Windows, OS X, Linux, and
1607 Unix. Most of the code was written by Peter Seibel for his book Practical
1608 Common Lisp.")
1609 (home-page "https://edicl.github.io/cl-fad/")
1610 (license license:bsd-2)))
1611
1612 (define-public cl-fad
1613 (sbcl-package->cl-source-package sbcl-cl-fad))
1614
1615 (define-public ecl-cl-fad
1616 (sbcl-package->ecl-package sbcl-cl-fad))
1617
1618 (define-public sbcl-rt
1619 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1620 (revision "1"))
1621 (package
1622 (name "sbcl-rt")
1623 (version (git-version "1990.12.19" revision commit))
1624 (source
1625 (origin
1626 (method git-fetch)
1627 (uri (git-reference
1628 (url "http://git.kpe.io/rt.git")
1629 (commit commit)))
1630 (file-name (git-file-name name version))
1631 (sha256
1632 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1633 (build-system asdf-build-system/sbcl)
1634 (synopsis "MIT Regression Tester")
1635 (description
1636 "RT provides a framework for writing regression test suites.")
1637 (home-page "https://www.cliki.net/rt")
1638 (license license:expat))))
1639
1640 (define-public cl-rt
1641 (sbcl-package->cl-source-package sbcl-rt))
1642
1643 (define-public ecl-rt
1644 (sbcl-package->ecl-package sbcl-rt))
1645
1646 (define-public sbcl-nibbles
1647 (package
1648 (name "sbcl-nibbles")
1649 (version "0.14")
1650 (source
1651 (origin
1652 (method git-fetch)
1653 (uri (git-reference
1654 (url "https://github.com/sharplispers/nibbles/")
1655 (commit (string-append "v" version))))
1656 (sha256
1657 (base32
1658 "1v7qfgpvdr6nz7v63dj69d26dis0kff3rd8xamr1llfdvza2pm8f"))
1659 (file-name (git-file-name "nibbles" version))))
1660 (build-system asdf-build-system/sbcl)
1661 (native-inputs
1662 ;; Tests only.
1663 `(("rt" ,sbcl-rt)))
1664 (synopsis "Common Lisp library for accessing octet-addressed blocks of data")
1665 (description
1666 "When dealing with network protocols and file formats, it's common to
1667 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1668 flavors. Common Lisp sort of supports this by specifying :element-type for
1669 streams, but that facility is underspecified and there's nothing similar for
1670 read/write from octet vectors. What most people wind up doing is rolling their
1671 own small facility for their particular needs and calling it a day.
1672
1673 This library attempts to be comprehensive and centralize such
1674 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1675 vectors in signed or unsigned flavors are provided; these functions are also
1676 SETFable. Since it's sometimes desirable to read/write directly from streams,
1677 functions for doing so are also provided. On some implementations,
1678 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1679 also be supported.")
1680 (home-page "https://github.com/sharplispers/nibbles")
1681 (license license:bsd-3)))
1682
1683 (define-public cl-nibbles
1684 (sbcl-package->cl-source-package sbcl-nibbles))
1685
1686 (define-public ecl-nibbles
1687 (sbcl-package->ecl-package sbcl-nibbles))
1688
1689 (define-public sbcl-ironclad
1690 (package
1691 (name "sbcl-ironclad")
1692 (version "0.53")
1693 (source
1694 (origin
1695 (method git-fetch)
1696 (uri (git-reference
1697 (url "https://github.com/sharplispers/ironclad/")
1698 (commit (string-append "v" version))))
1699 (sha256
1700 (base32 "01qdfa0jggqbwlsb3aw1iigvs5xhnddk6kn3abhan59956dsbp02"))
1701 (file-name (git-file-name name version))))
1702 (build-system asdf-build-system/sbcl)
1703 (native-inputs
1704 ;; Tests only.
1705 `(("rt" ,sbcl-rt)))
1706 (inputs
1707 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1708 ("flexi-streams" ,sbcl-flexi-streams)))
1709 (synopsis "Cryptographic toolkit written in Common Lisp")
1710 (description
1711 "Ironclad is a cryptography library written entirely in Common Lisp.
1712 It includes support for several popular ciphers, digests, MACs and public key
1713 cryptography algorithms. For several implementations that support Gray
1714 streams, support is included for convenient stream wrappers.")
1715 (home-page "https://github.com/sharplispers/ironclad")
1716 (license license:bsd-3)))
1717
1718 (define-public cl-ironclad
1719 (sbcl-package->cl-source-package sbcl-ironclad))
1720
1721 (define-public ecl-ironclad
1722 (sbcl-package->ecl-package sbcl-ironclad))
1723
1724 (define-public sbcl-named-readtables
1725 (let ((commit "64bd53f37a1694cfde48fc38b8f03901f6f0c05b")
1726 (revision "2"))
1727 (package
1728 (name "sbcl-named-readtables")
1729 (version (git-version "0.9" revision commit))
1730 (source
1731 (origin
1732 (method git-fetch)
1733 (uri (git-reference
1734 (url "https://github.com/melisgl/named-readtables")
1735 (commit commit)))
1736 (sha256
1737 (base32 "01l4831m7k84qvhzyx0qgdl50isr4zmp40qf6dfq2iqcaj8y4h3n"))
1738 (file-name (git-file-name "named-readtables" version))))
1739 (build-system asdf-build-system/sbcl)
1740 (arguments
1741 ;; Tests seem to be broken.
1742 `(#:tests? #f))
1743 (home-page "https://github.com/melisgl/named-readtables/")
1744 (synopsis "Library that creates a namespace for named readtables")
1745 (description "Named readtables is a library that creates a namespace for
1746 named readtables, which is akin to package namespacing in Common Lisp.")
1747 (license license:bsd-3))))
1748
1749 (define-public cl-named-readtables
1750 (sbcl-package->cl-source-package sbcl-named-readtables))
1751
1752 (define-public ecl-named-readtables
1753 (sbcl-package->ecl-package sbcl-named-readtables))
1754
1755 (define-public sbcl-pythonic-string-reader
1756 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1757 (package
1758 (name "sbcl-pythonic-string-reader")
1759 (version (git-version "0.0.0" "1" commit))
1760 (source
1761 (origin
1762 (method git-fetch)
1763 (uri (git-reference
1764 (url "https://github.com/smithzvk/pythonic-string-reader/")
1765 (commit commit)))
1766 (sha256
1767 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1768 (file-name (git-file-name "pythonic-string-reader" version))))
1769 (build-system asdf-build-system/sbcl)
1770 (inputs
1771 `(("named-readtables" ,sbcl-named-readtables)))
1772 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1773 (synopsis "Read table modification inspired by Python's three quote strings")
1774 (description "This piece of code sets up some reader macros that make it
1775 simpler to input string literals which contain backslashes and double quotes
1776 This is very useful for writing complicated docstrings and, as it turns out,
1777 writing code that contains string literals that contain code themselves.")
1778 (license license:bsd-3))))
1779
1780 (define-public cl-pythonic-string-reader
1781 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1782
1783 (define-public ecl-pythonic-string-reader
1784 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1785
1786 (define-public sbcl-slime-swank
1787 (package
1788 (name "sbcl-slime-swank")
1789 (version "2.26")
1790 (source
1791 (origin
1792 (file-name (git-file-name "slime-swank" version))
1793 (method git-fetch)
1794 (uri (git-reference
1795 (url "https://github.com/slime/slime/")
1796 (commit (string-append "v" version))))
1797 (sha256
1798 (base32
1799 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
1800 (build-system asdf-build-system/sbcl)
1801 (arguments
1802 '(#:asd-systems '("swank")))
1803 (home-page "https://github.com/slime/slime")
1804 (synopsis "Common Lisp Swank server")
1805 (description
1806 "This is only useful if you want to start a Swank server in a Lisp
1807 processes that doesn't run under Emacs. Lisp processes created by
1808 @command{M-x slime} automatically start the server.")
1809 (license (list license:gpl2+ license:public-domain))))
1810
1811 (define-public cl-slime-swank
1812 (sbcl-package->cl-source-package sbcl-slime-swank))
1813
1814 (define-public ecl-slime-swank
1815 (sbcl-package->ecl-package sbcl-slime-swank))
1816
1817 (define-public sbcl-mgl-pax
1818 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1819 (package
1820 (name "sbcl-mgl-pax")
1821 (version (git-version "0.0.0" "1" commit))
1822 (source
1823 (origin
1824 (method git-fetch)
1825 (uri (git-reference
1826 (url "https://github.com/melisgl/mgl-pax")
1827 (commit commit)))
1828 (sha256
1829 (base32
1830 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1831 (file-name (git-file-name "mgl-pax" version))))
1832 (build-system asdf-build-system/sbcl)
1833 (inputs
1834 `(("3bmd" ,sbcl-3bmd)
1835 ("babel" ,sbcl-babel)
1836 ("cl-fad" ,sbcl-cl-fad)
1837 ("ironclad" ,sbcl-ironclad)
1838 ("named-readtables" ,sbcl-named-readtables)
1839 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
1840 ("swank" ,sbcl-slime-swank)))
1841 (synopsis "Exploratory programming environment and documentation generator")
1842 (description
1843 "PAX provides an extremely poor man's Explorable Programming
1844 environment. Narrative primarily lives in so called sections that mix markdown
1845 docstrings with references to functions, variables, etc, all of which should
1846 probably have their own docstrings.
1847
1848 The primary focus is on making code easily explorable by using SLIME's
1849 @command{M-.} (@command{slime-edit-definition}). See how to enable some
1850 fanciness in Emacs Integration. Generating documentation from sections and all
1851 the referenced items in Markdown or HTML format is also implemented.
1852
1853 With the simplistic tools provided, one may accomplish similar effects as with
1854 Literate Programming, but documentation is generated from code, not vice versa
1855 and there is no support for chunking yet. Code is first, code must look
1856 pretty, documentation is code.")
1857 (home-page "http://quotenil.com/")
1858 (license license:expat))))
1859
1860 (define-public cl-mgl-pax
1861 (sbcl-package->cl-source-package sbcl-mgl-pax))
1862
1863 (define-public ecl-mgl-pax
1864 (let ((pkg (sbcl-package->ecl-package sbcl-mgl-pax)))
1865 (package
1866 (inherit pkg)
1867 (arguments
1868 (substitute-keyword-arguments (package-arguments pkg)
1869 ;; TODO: Find why the tests fail on ECL.
1870 ((#:tests? _ #f) #f))))))
1871
1872 (define-public sbcl-lisp-unit
1873 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1874 (package
1875 (name "sbcl-lisp-unit")
1876 (version (git-version "0.0.0" "1" commit))
1877 (source
1878 (origin
1879 (method git-fetch)
1880 (uri (git-reference
1881 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1882 (commit commit)))
1883 (sha256
1884 (base32
1885 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
1886 (file-name (git-file-name "lisp-unit" version))))
1887 (build-system asdf-build-system/sbcl)
1888 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
1889 (description
1890 "@command{lisp-unit} is a Common Lisp library that supports unit
1891 testing. It is an extension of the library written by Chris Riesbeck.")
1892 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
1893 (license license:expat))))
1894
1895 (define-public cl-lisp-unit
1896 (sbcl-package->cl-source-package sbcl-lisp-unit))
1897
1898 (define-public ecl-lisp-unit
1899 (sbcl-package->ecl-package sbcl-lisp-unit))
1900
1901 (define-public sbcl-anaphora
1902 (package
1903 (name "sbcl-anaphora")
1904 (version "0.9.6")
1905 (source
1906 (origin
1907 (method git-fetch)
1908 (uri (git-reference
1909 (url "https://github.com/tokenrove/anaphora")
1910 (commit version)))
1911 (sha256
1912 (base32
1913 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
1914 (file-name (git-file-name "anaphora" version))))
1915 (build-system asdf-build-system/sbcl)
1916 (native-inputs
1917 `(("rt" ,sbcl-rt)))
1918 (synopsis "The anaphoric macro collection from Hell")
1919 (description
1920 "Anaphora is the anaphoric macro collection from Hell: it includes many
1921 new fiends in addition to old friends like @command{aif} and
1922 @command{awhen}.")
1923 (home-page "https://github.com/tokenrove/anaphora")
1924 (license license:public-domain)))
1925
1926 (define-public cl-anaphora
1927 (sbcl-package->cl-source-package sbcl-anaphora))
1928
1929 (define-public ecl-anaphora
1930 (sbcl-package->ecl-package sbcl-anaphora))
1931
1932 (define-public sbcl-lift
1933 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
1934 (package
1935 (name "sbcl-lift")
1936 (version (git-version "1.7.1" "1" commit))
1937 (source
1938 (origin
1939 (method git-fetch)
1940 (uri (git-reference
1941 (url "https://github.com/gwkkwg/lift")
1942 (commit commit)))
1943 (sha256
1944 (base32
1945 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
1946 (file-name (git-file-name "lift" version))
1947 (modules '((guix build utils)))
1948 (snippet
1949 ;; Don't keep the bundled website
1950 `(begin
1951 (delete-file-recursively "website")
1952 #t))))
1953 (build-system asdf-build-system/sbcl)
1954 (arguments
1955 ;; The tests require a debugger, but we run with the debugger disabled.
1956 '(#:tests? #f))
1957 (synopsis "LIsp Framework for Testing")
1958 (description
1959 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
1960 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
1961 testcases are organized into hierarchical testsuites each of which can have
1962 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
1963 supports randomized testing, benchmarking, profiling, and reporting.")
1964 (home-page "https://github.com/gwkkwg/lift")
1965 (license license:expat))))
1966
1967 (define-public cl-lift
1968 (sbcl-package->cl-source-package sbcl-lift))
1969
1970 (define-public ecl-lift
1971 (sbcl-package->ecl-package sbcl-lift))
1972
1973 (define-public sbcl-let-plus
1974 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
1975 (package
1976 (name "sbcl-let-plus")
1977 (version (git-version "0.0.0" "1" commit))
1978 (source
1979 (origin
1980 (method git-fetch)
1981 (uri (git-reference
1982 (url "https://github.com/sharplispers/let-plus")
1983 (commit commit)))
1984 (sha256
1985 (base32
1986 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
1987 (file-name (git-file-name "let-plus" version))))
1988 (build-system asdf-build-system/sbcl)
1989 (inputs
1990 `(("alexandria" ,sbcl-alexandria)
1991 ("anaphora" ,sbcl-anaphora)))
1992 (native-inputs
1993 `(("lift" ,sbcl-lift)))
1994 (synopsis "Destructuring extension of let*")
1995 (description
1996 "This library implements the let+ macro, which is a dectructuring
1997 extension of let*. It features:
1998
1999 @itemize
2000 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2001 not counting tests)
2002 @item Placeholder macros allow editor hints and syntax highlighting
2003 @item @command{&ign} for ignored values (in forms where that makes sense)
2004 @item Very easy to extend
2005 @end itemize\n")
2006 (home-page "https://github.com/sharplispers/let-plus")
2007 (license license:boost1.0))))
2008
2009 (define-public cl-let-plus
2010 (sbcl-package->cl-source-package sbcl-let-plus))
2011
2012 (define-public ecl-let-plus
2013 (sbcl-package->ecl-package sbcl-let-plus))
2014
2015 (define-public sbcl-cl-colors
2016 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2017 (package
2018 (name "sbcl-cl-colors")
2019 (version (git-version "0.0.0" "1" commit))
2020 (source
2021 (origin
2022 (method git-fetch)
2023 (uri (git-reference
2024 (url "https://github.com/tpapp/cl-colors")
2025 (commit commit)))
2026 (sha256
2027 (base32
2028 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2029 (file-name (git-file-name "cl-colors" version))))
2030 (build-system asdf-build-system/sbcl)
2031 (inputs
2032 `(("alexandria" ,sbcl-alexandria)
2033 ("let-plus" ,sbcl-let-plus)))
2034 (synopsis "Simple color library for Common Lisp")
2035 (description
2036 "This is a very simple color library for Common Lisp, providing
2037
2038 @itemize
2039 @item Types for representing colors in HSV and RGB spaces.
2040 @item Simple conversion functions between the above types (and also
2041 hexadecimal representation for RGB).
2042 @item Some predefined colors (currently X11 color names – of course the
2043 library does not depend on X11).Because color in your terminal is nice.
2044 @end itemize
2045
2046 This library is no longer supported by its author.")
2047 (home-page "https://github.com/tpapp/cl-colors")
2048 (license license:boost1.0))))
2049
2050 (define-public cl-colors
2051 (sbcl-package->cl-source-package sbcl-cl-colors))
2052
2053 (define-public ecl-cl-colors
2054 (sbcl-package->ecl-package sbcl-cl-colors))
2055
2056 (define-public sbcl-cl-ansi-text
2057 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2058 (package
2059 (name "sbcl-cl-ansi-text")
2060 (version (git-version "1.0.0" "1" commit))
2061 (source
2062 (origin
2063 (method git-fetch)
2064 (uri (git-reference
2065 (url "https://github.com/pnathan/cl-ansi-text")
2066 (commit commit)))
2067 (sha256
2068 (base32
2069 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2070 (file-name (git-file-name "cl-ansi-text" version))))
2071 (build-system asdf-build-system/sbcl)
2072 (inputs
2073 `(("alexandria" ,sbcl-alexandria)
2074 ("cl-colors" ,sbcl-cl-colors)))
2075 (native-inputs
2076 `(("fiveam" ,sbcl-fiveam)))
2077 (synopsis "ANSI terminal color implementation for Common Lisp")
2078 (description
2079 "@command{cl-ansi-text} provides utilities which enable printing to an
2080 ANSI terminal with colored text. It provides the macro @command{with-color}
2081 which causes everything printed in the body to be displayed with the provided
2082 color. It further provides functions which will print the argument with the
2083 named color.")
2084 (home-page "https://github.com/pnathan/cl-ansi-text")
2085 (license license:llgpl))))
2086
2087 (define-public cl-ansi-text
2088 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2089
2090 (define-public ecl-cl-ansi-text
2091 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2092
2093 (define-public sbcl-prove
2094 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2095 (package
2096 (name "sbcl-prove")
2097 (version (git-version "1.0.0" "1" commit))
2098 (source
2099 (origin
2100 (method git-fetch)
2101 (uri (git-reference
2102 (url "https://github.com/fukamachi/prove")
2103 (commit commit)))
2104 (sha256
2105 (base32
2106 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2107 (file-name (git-file-name "prove" version))))
2108 (build-system asdf-build-system/sbcl)
2109 (inputs
2110 `(("alexandria" ,sbcl-alexandria)
2111 ("cl-ppcre" ,sbcl-cl-ppcre)
2112 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2113 (synopsis "Yet another unit testing framework for Common Lisp")
2114 (description
2115 "This project was originally called @command{cl-test-more}.
2116 @command{prove} is yet another unit testing framework for Common Lisp. The
2117 advantages of @command{prove} are:
2118
2119 @itemize
2120 @item Various simple functions for testing and informative error messages
2121 @item ASDF integration
2122 @item Extensible test reporters
2123 @item Colorizes the report if it's available (note for SLIME)
2124 @item Reports test durations
2125 @end itemize\n")
2126 (home-page "https://github.com/fukamachi/prove")
2127 (license license:expat))))
2128
2129 (define-public cl-prove
2130 (sbcl-package->cl-source-package sbcl-prove))
2131
2132 (define-public ecl-prove
2133 (sbcl-package->ecl-package sbcl-prove))
2134
2135 (define-public sbcl-proc-parse
2136 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2137 (package
2138 (name "sbcl-proc-parse")
2139 (version (git-version "0.0.0" "1" commit))
2140 (source
2141 (origin
2142 (method git-fetch)
2143 (uri (git-reference
2144 (url "https://github.com/fukamachi/proc-parse")
2145 (commit commit)))
2146 (sha256
2147 (base32
2148 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2149 (file-name (git-file-name "proc-parse" version))))
2150 (build-system asdf-build-system/sbcl)
2151 (inputs
2152 `(("alexandria" ,sbcl-alexandria)
2153 ("babel" ,sbcl-babel)))
2154 (native-inputs
2155 `(("prove" ,sbcl-prove)))
2156 (arguments
2157 ;; TODO: Tests don't find "proc-parse-test", why?
2158 `(#:tests? #f))
2159 (synopsis "Procedural vector parser")
2160 (description
2161 "This is a string/octets parser library for Common Lisp with speed and
2162 readability in mind. Unlike other libraries, the code is not a
2163 pattern-matching-like, but a char-by-char procedural parser.")
2164 (home-page "https://github.com/fukamachi/proc-parse")
2165 (license license:bsd-2))))
2166
2167 (define-public cl-proc-parse
2168 (sbcl-package->cl-source-package sbcl-proc-parse))
2169
2170 (define-public ecl-proc-parse
2171 (sbcl-package->ecl-package sbcl-proc-parse))
2172
2173 (define-public sbcl-parse-float
2174 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2175 (package
2176 (name "sbcl-parse-float")
2177 (version (git-version "0.0.0" "1" commit))
2178 (source
2179 (origin
2180 (method git-fetch)
2181 (uri (git-reference
2182 (url "https://github.com/soemraws/parse-float")
2183 (commit commit)))
2184 (sha256
2185 (base32
2186 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2187 (file-name (git-file-name "proc-parse" version))))
2188 (build-system asdf-build-system/sbcl)
2189 (inputs
2190 `(("alexandria" ,sbcl-alexandria)
2191 ("babel" ,sbcl-babel)))
2192 (native-inputs
2193 `(("prove" ,sbcl-prove)))
2194 (arguments
2195 ;; TODO: Tests don't find "proc-parse-test", why?
2196 `(#:tests? #f))
2197 (synopsis "Parse a floating point value from a string in Common Lisp")
2198 (description
2199 "This package exports the following function to parse floating-point
2200 values from a string in Common Lisp.")
2201 (home-page "https://github.com/soemraws/parse-float")
2202 (license license:public-domain))))
2203
2204 (define-public cl-parse-float
2205 (sbcl-package->cl-source-package sbcl-parse-float))
2206
2207 (define-public ecl-parse-float
2208 (sbcl-package->ecl-package sbcl-parse-float))
2209
2210 (define-public sbcl-cl-string-match
2211 (let ((revision "1")
2212 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2213 (package
2214 (name "sbcl-cl-string-match")
2215 (version (git-version "0" revision changeset))
2216 (source
2217 (origin
2218 (method hg-fetch)
2219 (uri (hg-reference
2220 (url "https://bitbucket.org/vityok/cl-string-match/")
2221 (changeset changeset)))
2222 (sha256
2223 (base32
2224 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2225 (file-name (git-file-name "cl-string-match" version))))
2226 (build-system asdf-build-system/sbcl)
2227 (inputs
2228 `(("alexandria" ,sbcl-alexandria)
2229 ("babel" ,sbcl-babel)
2230 ("iterate" ,sbcl-iterate)
2231 ("jpl-queues" ,sbcl-jpl-queues)
2232 ("jpl-util" ,sbcl-jpl-util)
2233 ("mgl-pax" ,sbcl-mgl-pax)
2234 ("parse-float" ,sbcl-parse-float)
2235 ("proc-parse" ,sbcl-proc-parse)
2236 ("yacc" ,sbcl-cl-yacc)))
2237 ;; TODO: Tests are not evaluated properly.
2238 (native-inputs
2239 ;; For testing:
2240 `(("lisp-unit" ,sbcl-lisp-unit)))
2241 (arguments
2242 `(#:tests? #f))
2243 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2244 (description
2245 "@command{cl-strings} is a small, portable, dependency-free set of
2246 utilities that make it even easier to manipulate text in Common Lisp. It has
2247 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2248 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2249 (license license:bsd-3))))
2250
2251 (define-public cl-string-match
2252 (sbcl-package->cl-source-package sbcl-cl-string-match))
2253
2254 (define-public ecl-cl-string-match
2255 (sbcl-package->ecl-package sbcl-cl-string-match))
2256
2257 (define-public sbcl-ptester
2258 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2259 (revision "1"))
2260 (package
2261 (name "sbcl-ptester")
2262 (version (git-version "2.1.3" revision commit))
2263 (source
2264 (origin
2265 (method git-fetch)
2266 (uri (git-reference
2267 (url "http://git.kpe.io/ptester.git")
2268 (commit commit)))
2269 (file-name (git-file-name name version))
2270 (sha256
2271 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2272 (build-system asdf-build-system/sbcl)
2273 (home-page "http://quickdocs.org/ptester/")
2274 (synopsis "Portable test harness package")
2275 (description
2276 "@command{ptester} is a portable testing framework based on Franz's
2277 tester module.")
2278 (license license:llgpl))))
2279
2280 (define-public cl-ptester
2281 (sbcl-package->cl-source-package sbcl-ptester))
2282
2283 (define-public ecl-ptester
2284 (sbcl-package->ecl-package sbcl-ptester))
2285
2286 (define-public sbcl-puri
2287 (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
2288 (revision "1"))
2289 (package
2290 (name "sbcl-puri")
2291 (version (git-version "1.5.7" revision commit))
2292 (source
2293 (origin
2294 (method git-fetch)
2295 (uri (git-reference
2296 (url "http://git.kpe.io/puri.git")
2297 (commit commit)))
2298 (file-name (git-file-name name version))
2299 (sha256
2300 (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
2301 (build-system asdf-build-system/sbcl)
2302 (native-inputs
2303 `(("ptester" ,sbcl-ptester)))
2304 (home-page "http://quickdocs.org/puri/")
2305 (synopsis "Portable URI Library")
2306 (description
2307 "This is a portable Universal Resource Identifier library for Common
2308 Lisp programs. It parses URI according to the RFC 2396 specification.")
2309 (license license:llgpl))))
2310
2311 (define-public cl-puri
2312 (sbcl-package->cl-source-package sbcl-puri))
2313
2314 (define-public ecl-puri
2315 (sbcl-package->ecl-package sbcl-puri))
2316
2317 (define-public sbcl-queues
2318 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2319 (package
2320 (name "sbcl-queues")
2321 (version (git-version "0.0.0" "1" commit))
2322 (source
2323 (origin
2324 (method git-fetch)
2325 (uri (git-reference
2326 (url "https://github.com/oconnore/queues")
2327 (commit commit)))
2328 (file-name (git-file-name "queues" version))
2329 (sha256
2330 (base32
2331 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2332 (build-system asdf-build-system/sbcl)
2333 (inputs
2334 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2335 (arguments
2336 '(#:asd-systems '("queues"
2337 "queues.simple-queue"
2338 "queues.simple-cqueue"
2339 "queues.priority-queue"
2340 "queues.priority-cqueue")))
2341 (home-page "https://github.com/oconnore/queues")
2342 (synopsis "Common Lisp queue library")
2343 (description
2344 "This is a simple queue library for Common Lisp with features such as
2345 non-consing thread safe queues and fibonacci priority queues.")
2346 (license license:expat))))
2347
2348 (define-public cl-queues
2349 (sbcl-package->cl-source-package sbcl-queues))
2350
2351 (define-public ecl-queues
2352 (sbcl-package->ecl-package sbcl-queues))
2353
2354 (define-public sbcl-cffi
2355 (package
2356 (name "sbcl-cffi")
2357 (version "0.21.0")
2358 (source
2359 (origin
2360 (method git-fetch)
2361 (uri (git-reference
2362 (url "https://github.com/cffi/cffi")
2363 (commit (string-append "v" version))))
2364 (file-name (git-file-name "cffi-bootstrap" version))
2365 (sha256
2366 (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
2367 (build-system asdf-build-system/sbcl)
2368 (inputs
2369 `(("alexandria" ,sbcl-alexandria)
2370 ("babel" ,sbcl-babel)
2371 ("libffi" ,libffi)
2372 ("trivial-features" ,sbcl-trivial-features)))
2373 (native-inputs
2374 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2375 ("pkg-config" ,pkg-config)
2376 ("rt" ,sbcl-rt)))
2377 (arguments
2378 '(#:phases
2379 (modify-phases %standard-phases
2380 (add-after 'unpack 'fix-arm-support
2381 (lambda _
2382 ;; This is apparently deprecated since libffi-3.3.
2383 (substitute* "libffi/libffi-types.lisp"
2384 (("\\\(\\\(:unix64.*") ")\n"))
2385 #t))
2386 (add-after 'unpack 'fix-paths
2387 (lambda* (#:key inputs #:allow-other-keys)
2388 (substitute* "libffi/libffi.lisp"
2389 (("libffi.so.7" all) (string-append
2390 (assoc-ref inputs "libffi")
2391 "/lib/" all)))
2392 (substitute* "toolchain/c-toolchain.lisp"
2393 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2394 (add-after 'build 'install-headers
2395 (lambda* (#:key outputs #:allow-other-keys)
2396 (install-file "grovel/common.h"
2397 (string-append
2398 (assoc-ref outputs "out")
2399 "/include/grovel")))))
2400 #:asd-files '("cffi.asd"
2401 "cffi-toolchain.asd"
2402 "cffi-grovel.asd"
2403 "cffi-libffi.asd"
2404 "cffi-uffi-compat.asd")
2405 #:asd-systems '("cffi"
2406 "cffi-libffi"
2407 "cffi-uffi-compat")))
2408 (home-page "https://common-lisp.net/project/cffi/")
2409 (synopsis "Common Foreign Function Interface for Common Lisp")
2410 (description "The Common Foreign Function Interface (CFFI)
2411 purports to be a portable foreign function interface for Common Lisp.
2412 The CFFI library is composed of a Lisp-implementation-specific backend
2413 in the CFFI-SYS package, and a portable frontend in the CFFI
2414 package.")
2415 (license license:expat)))
2416
2417 (define-public cl-cffi
2418 (sbcl-package->cl-source-package sbcl-cffi))
2419
2420 (define-public ecl-cffi
2421 (sbcl-package->ecl-package sbcl-cffi))
2422
2423 (define-public sbcl-cl-sqlite
2424 (package
2425 (name "sbcl-cl-sqlite")
2426 (version "0.2.1")
2427 (source
2428 (origin
2429 (method git-fetch)
2430 (uri (git-reference
2431 (url "https://github.com/dmitryvk/cl-sqlite")
2432 (commit version)))
2433 (file-name (git-file-name "cl-sqlite" version))
2434 (sha256
2435 (base32
2436 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2437 (build-system asdf-build-system/sbcl)
2438 (inputs
2439 `(("iterate" ,sbcl-iterate)
2440 ("cffi" ,sbcl-cffi)
2441 ("sqlite" ,sqlite)))
2442 (native-inputs
2443 `(("fiveam" ,sbcl-fiveam)
2444 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2445 (arguments
2446 `(#:asd-systems '("sqlite")
2447 #:phases
2448 (modify-phases %standard-phases
2449 (add-after 'unpack 'fix-paths
2450 (lambda* (#:key inputs #:allow-other-keys)
2451 (substitute* "sqlite-ffi.lisp"
2452 (("libsqlite3" all) (string-append
2453 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2454 (home-page "https://common-lisp.net/project/cl-sqlite/")
2455 (synopsis "Common Lisp binding for SQLite")
2456 (description
2457 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2458 relational database engine.")
2459 (license license:public-domain)))
2460
2461 (define-public cl-sqlite
2462 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2463
2464 (define-public ecl-cl-sqlite
2465 (sbcl-package->ecl-package sbcl-cl-sqlite))
2466
2467 (define-public sbcl-parenscript
2468 ;; Source archives are overwritten on every release, we use the Git repo instead.
2469 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2470 (package
2471 (name "sbcl-parenscript")
2472 (version (git-version "2.7.1" "1" commit))
2473 (source
2474 (origin
2475 (method git-fetch)
2476 (uri (git-reference
2477 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2478 (commit commit)))
2479 (file-name (git-file-name "parenscript" version))
2480 (sha256
2481 (base32
2482 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2483 (build-system asdf-build-system/sbcl)
2484 (inputs
2485 `(("cl-ppcre" ,sbcl-cl-ppcre)
2486 ("anaphora" ,sbcl-anaphora)
2487 ("named-readtables" ,sbcl-named-readtables)))
2488 (home-page "https://common-lisp.net/project/parenscript/")
2489 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2490 (description
2491 "Parenscript is a translator from an extended subset of Common Lisp to
2492 JavaScript. Parenscript code can run almost identically on both the
2493 browser (as JavaScript) and server (as Common Lisp).
2494
2495 Parenscript code is treated the same way as Common Lisp code, making the full
2496 power of Lisp macros available for JavaScript. This provides a web
2497 development environment that is unmatched in its ability to reduce code
2498 duplication and provide advanced meta-programming facilities to web
2499 developers.
2500
2501 At the same time, Parenscript is different from almost all other \"language
2502 X\" to JavaScript translators in that it imposes almost no overhead:
2503
2504 @itemize
2505 @item No run-time dependencies: Any piece of Parenscript code is runnable
2506 as-is. There are no JavaScript files to include.
2507 @item Native types: Parenscript works entirely with native JavaScript data
2508 types. There are no new types introduced, and object prototypes are not
2509 touched.
2510 @item Native calling convention: Any JavaScript code can be called without the
2511 need for bindings. Likewise, Parenscript can be used to make efficient,
2512 self-contained JavaScript libraries.
2513 @item Readable code: Parenscript generates concise, formatted, idiomatic
2514 JavaScript code. Identifier names are preserved. This enables seamless
2515 debugging in tools like Firebug.
2516 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2517 Lisp features. The generated code is almost as fast as hand-written
2518 JavaScript.
2519 @end itemize\n")
2520 (license license:bsd-3))))
2521
2522 (define-public cl-parenscript
2523 (sbcl-package->cl-source-package sbcl-parenscript))
2524
2525 (define-public ecl-parenscript
2526 (sbcl-package->ecl-package sbcl-parenscript))
2527
2528 (define-public sbcl-cl-json
2529 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2530 (package
2531 (name "sbcl-cl-json")
2532 (version (git-version "0.5" "1" commit))
2533 (source
2534 (origin
2535 (method git-fetch)
2536 (uri (git-reference
2537 (url "https://github.com/hankhero/cl-json")
2538 (commit commit)))
2539 (file-name (git-file-name "cl-json" version))
2540 (sha256
2541 (base32
2542 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2543 (build-system asdf-build-system/sbcl)
2544 (native-inputs
2545 `(("fiveam" ,sbcl-fiveam)))
2546 (home-page "https://github.com/hankhero/cl-json")
2547 (synopsis "JSON encoder and decoder for Common-Lisp")
2548 (description
2549 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2550 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2551 and the decoder are highly customizable; at the same time, the default
2552 settings ensure a very simple mode of operation, similar to that provided by
2553 @command{yason} or @command{st-json}.")
2554 (license license:expat))))
2555
2556 (define-public cl-json
2557 (sbcl-package->cl-source-package sbcl-cl-json))
2558
2559 (define-public ecl-cl-json
2560 (sbcl-package->ecl-package sbcl-cl-json))
2561
2562 (define-public sbcl-unix-opts
2563 (package
2564 (name "sbcl-unix-opts")
2565 (version "0.1.7")
2566 (source
2567 (origin
2568 (method git-fetch)
2569 (uri (git-reference
2570 (url "https://github.com/libre-man/unix-opts")
2571 (commit version)))
2572 (file-name (git-file-name "unix-opts" version))
2573 (sha256
2574 (base32
2575 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2576 (build-system asdf-build-system/sbcl)
2577 (home-page "https://github.com/hankhero/cl-json")
2578 (synopsis "Unix-style command line options parser")
2579 (description
2580 "This is a minimalistic parser of command line options. The main
2581 advantage of the library is the ability to concisely define command line
2582 options once and then use this definition for parsing and extraction of
2583 command line arguments, as well as printing description of command line
2584 options (you get --help for free). This way you don't need to repeat
2585 yourself. Also, @command{unix-opts} doesn't depend on anything and
2586 precisely controls the behavior of the parser via Common Lisp restarts.")
2587 (license license:expat)))
2588
2589 (define-public cl-unix-opts
2590 (sbcl-package->cl-source-package sbcl-unix-opts))
2591
2592 (define-public ecl-unix-opts
2593 (sbcl-package->ecl-package sbcl-unix-opts))
2594
2595 (define-public sbcl-trivial-garbage
2596 (package
2597 (name "sbcl-trivial-garbage")
2598 (version "0.21")
2599 (source
2600 (origin
2601 (method git-fetch)
2602 (uri (git-reference
2603 (url "https://github.com/trivial-garbage/trivial-garbage")
2604 (commit (string-append "v" version))))
2605 (file-name (git-file-name "trivial-garbage" version))
2606 (sha256
2607 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2608 (build-system asdf-build-system/sbcl)
2609 (native-inputs
2610 `(("rt" ,sbcl-rt)))
2611 (home-page "https://common-lisp.net/project/trivial-garbage/")
2612 (synopsis "Portable GC-related APIs for Common Lisp")
2613 (description "@command{trivial-garbage} provides a portable API to
2614 finalizers, weak hash-tables and weak pointers on all major implementations of
2615 the Common Lisp programming language.")
2616 (license license:public-domain)))
2617
2618 (define-public cl-trivial-garbage
2619 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2620
2621 (define-public ecl-trivial-garbage
2622 (sbcl-package->ecl-package sbcl-trivial-garbage))
2623
2624 (define-public sbcl-closer-mop
2625 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
2626 (package
2627 (name "sbcl-closer-mop")
2628 (version (git-version "1.0.0" "2" commit))
2629 (source
2630 (origin
2631 (method git-fetch)
2632 (uri (git-reference
2633 (url "https://github.com/pcostanza/closer-mop")
2634 (commit commit)))
2635 (sha256
2636 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
2637 (file-name (git-file-name "closer-mop" version ))))
2638 (build-system asdf-build-system/sbcl)
2639 (home-page "https://github.com/pcostanza/closer-mop")
2640 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2641 (description "Closer to MOP is a compatibility layer that rectifies many
2642 of the absent or incorrect CLOS MOP features across a broad range of Common
2643 Lisp implementations.")
2644 (license license:expat))))
2645
2646 (define-public cl-closer-mop
2647 (sbcl-package->cl-source-package sbcl-closer-mop))
2648
2649 (define-public ecl-closer-mop
2650 (sbcl-package->ecl-package sbcl-closer-mop))
2651
2652 (define-public sbcl-cl-cffi-gtk
2653 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
2654 (package
2655 (name "sbcl-cl-cffi-gtk")
2656 (version (git-version "0.11.2" "2" commit))
2657 (source
2658 (origin
2659 (method git-fetch)
2660 (uri (git-reference
2661 (url "https://github.com/Ferada/cl-cffi-gtk/")
2662 (commit commit)))
2663 (file-name (git-file-name "cl-cffi-gtk" version))
2664 (sha256
2665 (base32
2666 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
2667 (build-system asdf-build-system/sbcl)
2668 (native-inputs
2669 `(("fiveam" ,sbcl-fiveam)))
2670 (inputs
2671 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2672 ("cairo" ,cairo)
2673 ("cffi" ,sbcl-cffi)
2674 ("closer-mop" ,sbcl-closer-mop)
2675 ("gdk-pixbuf" ,gdk-pixbuf)
2676 ("glib" ,glib)
2677 ("gtk" ,gtk+)
2678 ("iterate" ,sbcl-iterate)
2679 ("pango" ,pango)
2680 ("trivial-features" ,sbcl-trivial-features)
2681 ("trivial-garbage" ,sbcl-trivial-garbage)))
2682 (arguments
2683 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
2684 "glib/cl-cffi-gtk-glib.asd"
2685 "gobject/cl-cffi-gtk-gobject.asd"
2686 "gio/cl-cffi-gtk-gio.asd"
2687 "cairo/cl-cffi-gtk-cairo.asd"
2688 "pango/cl-cffi-gtk-pango.asd"
2689 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2690 "gdk/cl-cffi-gtk-gdk.asd")
2691 #:test-asd-file "test/cl-cffi-gtk-test.asd"
2692 ;; TODO: Tests fail with memory fault.
2693 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
2694 #:tests? #f
2695 #:phases
2696 (modify-phases %standard-phases
2697 (add-after 'unpack 'fix-paths
2698 (lambda* (#:key inputs #:allow-other-keys)
2699 (substitute* "glib/glib.init.lisp"
2700 (("libglib|libgthread" all)
2701 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2702 (substitute* "gobject/gobject.init.lisp"
2703 (("libgobject" all)
2704 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2705 (substitute* "gio/gio.init.lisp"
2706 (("libgio" all)
2707 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2708 (substitute* "cairo/cairo.init.lisp"
2709 (("libcairo" all)
2710 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
2711 (substitute* "pango/pango.init.lisp"
2712 (("libpango" all)
2713 (string-append (assoc-ref inputs "pango") "/lib/" all)))
2714 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2715 (("libgdk_pixbuf" all)
2716 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
2717 (substitute* "gdk/gdk.init.lisp"
2718 (("libgdk" all)
2719 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
2720 (substitute* "gdk/gdk.package.lisp"
2721 (("libgtk" all)
2722 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
2723 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2724 (synopsis "Common Lisp binding for GTK+3")
2725 (description
2726 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2727 is a library for creating graphical user interfaces.")
2728 (license license:lgpl3))))
2729
2730 (define-public cl-cffi-gtk
2731 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
2732
2733 (define-public ecl-cl-cffi-gtk
2734 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
2735
2736 (define-public sbcl-cl-webkit
2737 (let ((commit "5ce3ea1fbf2b21e7ccb98402a818508ca9b79395"))
2738 (package
2739 (name "sbcl-cl-webkit")
2740 (version (git-version "2.4" "10" commit))
2741 (source
2742 (origin
2743 (method git-fetch)
2744 (uri (git-reference
2745 (url "https://github.com/joachifm/cl-webkit")
2746 (commit commit)))
2747 (file-name (git-file-name "cl-webkit" version))
2748 (sha256
2749 (base32
2750 "0zgd8hp2nalh0v4xgjvqxd6rf95f7mci181xbg3gmqxxwxd4mkpk"))))
2751 (build-system asdf-build-system/sbcl)
2752 (inputs
2753 `(("cffi" ,sbcl-cffi)
2754 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
2755 ("webkitgtk" ,webkitgtk)))
2756 (arguments
2757 `(#:asd-systems '("cl-webkit2")
2758 #:phases
2759 (modify-phases %standard-phases
2760 (add-after 'unpack 'fix-paths
2761 (lambda* (#:key inputs #:allow-other-keys)
2762 (substitute* "webkit2/webkit2.init.lisp"
2763 (("libwebkit2gtk" all)
2764 (string-append
2765 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
2766 (home-page "https://github.com/joachifm/cl-webkit")
2767 (synopsis "Binding to WebKitGTK+ for Common Lisp")
2768 (description
2769 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
2770 currently targeting WebKit version 2. The WebKitGTK+ library adds web
2771 browsing capabilities to an application, leveraging the full power of the
2772 WebKit browsing engine.")
2773 (license license:expat))))
2774
2775 (define-public cl-webkit
2776 (sbcl-package->cl-source-package sbcl-cl-webkit))
2777
2778 (define-public ecl-cl-webkit
2779 (sbcl-package->ecl-package sbcl-cl-webkit))
2780
2781 (define-public sbcl-lparallel
2782 (package
2783 (name "sbcl-lparallel")
2784 (version "2.8.4")
2785 (source
2786 (origin
2787 (method git-fetch)
2788 (uri (git-reference
2789 (url "https://github.com/lmj/lparallel/")
2790 (commit (string-append "lparallel-" version))))
2791 (file-name (git-file-name "lparallel" version))
2792 (sha256
2793 (base32
2794 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
2795 (build-system asdf-build-system/sbcl)
2796 (inputs
2797 `(("alexandria" ,sbcl-alexandria)
2798 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2799 ("trivial-garbage" ,sbcl-trivial-garbage)))
2800 (arguments
2801 `(#:phases
2802 (modify-phases %standard-phases
2803 (add-after 'unpack 'fix-dependency
2804 ;; lparallel loads a SBCL specific system in its asd file. This is
2805 ;; not carried over into the fasl which is generated. In order for
2806 ;; it to be carried over, it needs to be listed as a dependency.
2807 (lambda _
2808 (substitute* "lparallel.asd"
2809 ((":depends-on \\(:alexandria" all)
2810 (string-append all " #+sbcl :sb-cltl2"))))))))
2811 (home-page "https://lparallel.org/")
2812 (synopsis "Parallelism for Common Lisp")
2813 (description
2814 "@command{lparallel} is a library for parallel programming in Common
2815 Lisp, featuring:
2816
2817 @itemize
2818 @item a simple model of task submission with receiving queue,
2819 @item constructs for expressing fine-grained parallelism,
2820 @item asynchronous condition handling across thread boundaries,
2821 @item parallel versions of map, reduce, sort, remove, and many others,
2822 @item promises, futures, and delayed evaluation constructs,
2823 @item computation trees for parallelizing interconnected tasks,
2824 @item bounded and unbounded FIFO queues,
2825 @item high and low priority tasks,
2826 @item task killing by category,
2827 @item integrated timeouts.
2828 @end itemize\n")
2829 (license license:expat)))
2830
2831 (define-public cl-lparallel
2832 (sbcl-package->cl-source-package sbcl-lparallel))
2833
2834 (define-public ecl-lparallel
2835 (package
2836 (inherit (sbcl-package->ecl-package sbcl-lparallel))
2837 (arguments
2838 ;; TODO: Find why the tests get stuck forever; disable them for now.
2839 `(#:tests? #f))))
2840
2841 (define-public sbcl-cl-markup
2842 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
2843 (package
2844 (name "sbcl-cl-markup")
2845 (version (git-version "0.1" "1" commit))
2846 (source
2847 (origin
2848 (method git-fetch)
2849 (uri (git-reference
2850 (url "https://github.com/arielnetworks/cl-markup/")
2851 (commit commit)))
2852 (file-name (git-file-name "cl-markup" version))
2853 (sha256
2854 (base32
2855 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
2856 (build-system asdf-build-system/sbcl)
2857 (home-page "https://github.com/arielnetworks/cl-markup/")
2858 (synopsis "Markup generation library for Common Lisp")
2859 (description
2860 "A modern markup generation library for Common Lisp that features:
2861
2862 @itemize
2863 @item Fast (even faster through compiling the code)
2864 @item Safety
2865 @item Support for multiple document types (markup, xml, html, html5, xhtml)
2866 @item Output with doctype
2867 @item Direct output to stream
2868 @end itemize\n")
2869 (license license:lgpl3+))))
2870
2871 (define-public cl-markup
2872 (sbcl-package->cl-source-package sbcl-cl-markup))
2873
2874 (define-public ecl-cl-markup
2875 (sbcl-package->ecl-package sbcl-cl-markup))
2876
2877 (define-public sbcl-cl-css
2878 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
2879 (package
2880 (name "sbcl-cl-css")
2881 (version (git-version "0.1" "1" commit))
2882 (source
2883 (origin
2884 (method git-fetch)
2885 (uri (git-reference
2886 (url "https://github.com/inaimathi/cl-css/")
2887 (commit commit)))
2888 (file-name (git-file-name "cl-css" version))
2889 (sha256
2890 (base32
2891 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
2892 (build-system asdf-build-system/sbcl)
2893 (home-page "https://github.com/inaimathi/cl-css/")
2894 (synopsis "Non-validating, inline CSS generator for Common Lisp")
2895 (description
2896 "This is a dead-simple, non validating, inline CSS generator for Common
2897 Lisp. Its goals are axiomatic syntax, simple implementation to support
2898 portability, and boilerplate reduction in CSS.")
2899 (license license:expat))))
2900
2901 (define-public cl-css
2902 (sbcl-package->cl-source-package sbcl-cl-css))
2903
2904 (define-public ecl-cl-css
2905 (sbcl-package->ecl-package sbcl-cl-css))
2906
2907 (define-public sbcl-portable-threads
2908 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
2909 (package
2910 (name "sbcl-portable-threads")
2911 (version (git-version "2.3" "2" commit))
2912 (source
2913 (origin
2914 (method git-fetch)
2915 (uri (git-reference
2916 (url "https://github.com/binghe/portable-threads/")
2917 (commit commit)))
2918 (file-name (git-file-name "portable-threads" version))
2919 (sha256
2920 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
2921 (build-system asdf-build-system/sbcl)
2922 (arguments
2923 `(;; Tests seem broken.
2924 #:tests? #f))
2925 (home-page "https://github.com/binghe/portable-threads")
2926 (synopsis "Portable threads API for Common Lisp")
2927 (description
2928 "Portable Threads (and Scheduled and Periodic Functions) API for Common
2929 Lisp (from GBBopen project).")
2930 (license license:asl2.0))))
2931
2932 (define-public cl-portable-threads
2933 (sbcl-package->cl-source-package sbcl-portable-threads))
2934
2935 (define-public ecl-portable-threads
2936 (sbcl-package->ecl-package sbcl-portable-threads))
2937
2938 (define-public sbcl-usocket
2939 (package
2940 (name "sbcl-usocket")
2941 (version "0.8.3")
2942 (source
2943 (origin
2944 (method git-fetch)
2945 (uri (git-reference
2946 (url "https://github.com/usocket/usocket/")
2947 (commit (string-append "v" version))))
2948 (file-name (git-file-name "usocket" version))
2949 (sha256
2950 (base32
2951 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
2952 (build-system asdf-build-system/sbcl)
2953 (native-inputs
2954 `(("rt" ,sbcl-rt)))
2955 (inputs
2956 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2957 ("split-sequence" ,sbcl-split-sequence)))
2958 (arguments
2959 `(#:tests? #f ; FIXME: Tests need network access?
2960 #:asd-systems '("usocket"
2961 "usocket-server")))
2962 (home-page "https://common-lisp.net/project/usocket/")
2963 (synopsis "Universal socket library for Common Lisp")
2964 (description
2965 "This library strives to provide a portable TCP/IP and UDP/IP socket
2966 interface for as many Common Lisp implementations as possible, while keeping
2967 the abstraction and portability layer as thin as possible.")
2968 (license license:expat)))
2969
2970 (define-public cl-usocket
2971 (sbcl-package->cl-source-package sbcl-usocket))
2972
2973 (define-public ecl-usocket
2974 (sbcl-package->ecl-package sbcl-usocket))
2975
2976 (define-public sbcl-s-xml
2977 (package
2978 (name "sbcl-s-xml")
2979 (version "3")
2980 (source
2981 (origin
2982 (method url-fetch)
2983 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
2984 (sha256
2985 (base32
2986 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
2987 (build-system asdf-build-system/sbcl)
2988 (home-page "https://common-lisp.net/project/s-xml/")
2989 (synopsis "Simple XML parser implemented in Common Lisp")
2990 (description
2991 "S-XML is a simple XML parser implemented in Common Lisp. This XML
2992 parser implementation has the following features:
2993
2994 @itemize
2995 @item It works (handling many common XML usages).
2996 @item It is very small (the core is about 700 lines of code, including
2997 comments and whitespace).
2998 @item It has a core API that is simple, efficient and pure functional, much
2999 like that from SSAX (see also http://ssax.sourceforge.net).
3000 @item It supports different DOM models: an XSML-based one, an LXML-based one
3001 and a classic xml-element struct based one.
3002 @item It is reasonably time and space efficient (internally avoiding garbage
3003 generatation as much as possible).
3004 @item It does support CDATA.
3005 @item It should support the same character sets as your Common Lisp
3006 implementation.
3007 @item It does support XML name spaces.
3008 @end itemize
3009
3010 This XML parser implementation has the following limitations:
3011
3012 @itemize
3013 @item It does not support any special tags (like processing instructions).
3014 @item It is not validating, even skips DTD's all together.
3015 @end itemize\n")
3016 (license license:lgpl3+)))
3017
3018 (define-public cl-s-xml
3019 (sbcl-package->cl-source-package sbcl-s-xml))
3020
3021 (define-public ecl-s-xml
3022 (sbcl-package->ecl-package sbcl-s-xml))
3023
3024 (define-public sbcl-s-xml-rpc
3025 (package
3026 (name "sbcl-s-xml-rpc")
3027 (version "7")
3028 (source
3029 (origin
3030 (method url-fetch)
3031 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3032 (sha256
3033 (base32
3034 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3035 (build-system asdf-build-system/sbcl)
3036 (inputs
3037 `(("s-xml" ,sbcl-s-xml)))
3038 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3039 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3040 (description
3041 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3042 client and server.")
3043 (license license:lgpl3+)))
3044
3045 (define-public cl-s-xml-rpc
3046 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3047
3048 (define-public ecl-s-xml-rpc
3049 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3050
3051 (define-public sbcl-trivial-clipboard
3052 (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
3053 (package
3054 (name "sbcl-trivial-clipboard")
3055 (version (git-version "0.0.0.0" "3" commit))
3056 (source
3057 (origin
3058 (method git-fetch)
3059 (uri (git-reference
3060 (url "https://github.com/snmsts/trivial-clipboard")
3061 (commit commit)))
3062 (file-name (git-file-name "trivial-clipboard" version))
3063 (sha256
3064 (base32
3065 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
3066 (build-system asdf-build-system/sbcl)
3067 (inputs
3068 `(("xclip" ,xclip)))
3069 (native-inputs
3070 `(("fiveam" ,sbcl-fiveam)))
3071 (arguments
3072 `(#:phases
3073 (modify-phases %standard-phases
3074 (add-after 'unpack 'fix-paths
3075 (lambda* (#:key inputs #:allow-other-keys)
3076 (substitute* "src/text.lisp"
3077 (("\\(executable-find \"xclip\"\\)")
3078 (string-append "(executable-find \""
3079 (assoc-ref inputs "xclip")
3080 "/bin/xclip\")"))))))))
3081 (home-page "https://github.com/snmsts/trivial-clipboard")
3082 (synopsis "Access system clipboard in Common Lisp")
3083 (description
3084 "@command{trivial-clipboard} gives access to the system clipboard.")
3085 (license license:expat))))
3086
3087 (define-public cl-trivial-clipboard
3088 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3089
3090 (define-public ecl-trivial-clipboard
3091 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3092
3093 (define-public sbcl-trivial-backtrace
3094 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3095 (revision "1"))
3096 (package
3097 (name "sbcl-trivial-backtrace")
3098 (version (git-version "0.0.0" revision commit))
3099 (source
3100 (origin
3101 (method git-fetch)
3102 (uri (git-reference
3103 (url "https://github.com/gwkkwg/trivial-backtrace")
3104 (commit commit)))
3105 (file-name (git-file-name "trivial-backtrace" version))
3106 (sha256
3107 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3108 (build-system asdf-build-system/sbcl)
3109 (inputs
3110 `(("sbcl-lift" ,sbcl-lift)))
3111 (arguments
3112 `(#:phases
3113 (modify-phases %standard-phases
3114 (add-after 'check 'delete-test-results
3115 (lambda* (#:key outputs #:allow-other-keys)
3116 (let ((test-results (string-append (assoc-ref outputs "out")
3117 "/share/common-lisp/"
3118 (%lisp-type)
3119 "/trivial-backtrace"
3120 "/test-results")))
3121 (when (file-exists? test-results)
3122 (delete-file-recursively test-results)))
3123 #t)))))
3124 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3125 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3126 (description
3127 "One of the many things that didn't quite get into the Common Lisp
3128 standard was how to get a Lisp to output its call stack when something has
3129 gone wrong. As such, each Lisp has developed its own notion of what to
3130 display, how to display it, and what sort of arguments can be used to
3131 customize it. @code{trivial-backtrace} is a simple solution to generating a
3132 backtrace portably.")
3133 (license license:expat))))
3134
3135 (define-public cl-trivial-backtrace
3136 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3137
3138 (define-public ecl-trivial-backtrace
3139 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3140
3141 (define-public sbcl-rfc2388
3142 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3143 (revision "1"))
3144 (package
3145 (name "sbcl-rfc2388")
3146 (version (git-version "0.0.0" revision commit))
3147 (source
3148 (origin
3149 (method git-fetch)
3150 (uri (git-reference
3151 (url "https://github.com/jdz/rfc2388")
3152 (commit commit)))
3153 (file-name (git-file-name "rfc2388" version))
3154 (sha256
3155 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3156 (build-system asdf-build-system/sbcl)
3157 (home-page "https://github.com/jdz/rfc2388/")
3158 (synopsis "An implementation of RFC 2388 in Common Lisp")
3159 (description
3160 "This package contains an implementation of RFC 2388, which is used to
3161 process form data posted with HTTP POST method using enctype
3162 \"multipart/form-data\".")
3163 (license license:bsd-2))))
3164
3165 (define-public cl-rfc2388
3166 (sbcl-package->cl-source-package sbcl-rfc2388))
3167
3168 (define-public ecl-rfc2388
3169 (sbcl-package->ecl-package sbcl-rfc2388))
3170
3171 (define-public sbcl-md5
3172 (package
3173 (name "sbcl-md5")
3174 (version "2.0.4")
3175 (source
3176 (origin
3177 (method git-fetch)
3178 (uri (git-reference
3179 (url "https://github.com/pmai/md5")
3180 (commit (string-append "release-" version))))
3181 (file-name (git-file-name "md5" version))
3182 (sha256
3183 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3184 (build-system asdf-build-system/sbcl)
3185 (home-page "https://github.com/pmai/md5")
3186 (synopsis
3187 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3188 (description
3189 "This package implements The MD5 Message-Digest Algorithm, as defined in
3190 RFC 1321 by R. Rivest, published April 1992.")
3191 (license license:public-domain)))
3192
3193 (define-public cl-md5
3194 (sbcl-package->cl-source-package sbcl-md5))
3195
3196 (define-public ecl-md5
3197 (package
3198 (inherit (sbcl-package->ecl-package sbcl-md5))
3199 (inputs
3200 `(("flexi-streams" ,ecl-flexi-streams)))))
3201
3202 (define-public sbcl-cl+ssl
3203 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3204 (revision "1"))
3205 (package
3206 (name "sbcl-cl+ssl")
3207 (version (git-version "0.0.0" revision commit))
3208 (source
3209 (origin
3210 (method git-fetch)
3211 (uri (git-reference
3212 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3213 (commit commit)))
3214 (file-name (git-file-name "cl+ssl" version))
3215 (sha256
3216 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3217 (build-system asdf-build-system/sbcl)
3218 (arguments
3219 '(#:phases
3220 (modify-phases %standard-phases
3221 (add-after 'unpack 'fix-paths
3222 (lambda* (#:key inputs #:allow-other-keys)
3223 (substitute* "src/reload.lisp"
3224 (("libssl.so" all)
3225 (string-append
3226 (assoc-ref inputs "openssl") "/lib/" all))))))))
3227 (inputs
3228 `(("openssl" ,openssl)
3229 ("sbcl-cffi" ,sbcl-cffi)
3230 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3231 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3232 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3233 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3234 ("sbcl-alexandria" ,sbcl-alexandria)
3235 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3236 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3237 (synopsis "Common Lisp bindings to OpenSSL")
3238 (description
3239 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3240 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3241 Development into CL+SSL was done by David Lichteblau.")
3242 (license license:expat))))
3243
3244 (define-public cl-cl+ssl
3245 (sbcl-package->cl-source-package sbcl-cl+ssl))
3246
3247 (define-public ecl-cl+ssl
3248 (sbcl-package->ecl-package sbcl-cl+ssl))
3249
3250 (define-public sbcl-kmrcl
3251 (let ((version "1.111")
3252 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3253 (revision "1"))
3254 (package
3255 (name "sbcl-kmrcl")
3256 (version (git-version version revision commit))
3257 (source
3258 (origin
3259 (method git-fetch)
3260 (uri (git-reference
3261 (url "http://git.kpe.io/kmrcl.git/")
3262 (commit commit)))
3263 (file-name (git-file-name name version))
3264 (sha256
3265 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3266 (build-system asdf-build-system/sbcl)
3267 (inputs
3268 `(("sbcl-rt" ,sbcl-rt)))
3269 (home-page "http://files.kpe.io/kmrcl/")
3270 (synopsis "General utilities for Common Lisp programs")
3271 (description
3272 "KMRCL is a collection of utilities used by a number of Kevin
3273 Rosenberg's Common Lisp packages.")
3274 (license license:llgpl))))
3275
3276 (define-public cl-kmrcl
3277 (sbcl-package->cl-source-package sbcl-kmrcl))
3278
3279 (define-public ecl-kmrcl
3280 (sbcl-package->ecl-package sbcl-kmrcl))
3281
3282 (define-public sbcl-cl-base64
3283 ;; 3.3.4 tests are broken, upstream fixes them.
3284 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3285 (package
3286 (name "sbcl-cl-base64")
3287 (version (git-version "3.3.4" "1" commit))
3288 (source
3289 (origin
3290 (method git-fetch)
3291 (uri (git-reference
3292 (url "http://git.kpe.io/cl-base64.git/")
3293 (commit commit)))
3294 (file-name (git-file-name name version))
3295 (sha256
3296 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3297 (build-system asdf-build-system/sbcl)
3298 (native-inputs ; For tests.
3299 `(("sbcl-ptester" ,sbcl-ptester)
3300 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3301 (home-page "http://files.kpe.io/cl-base64/")
3302 (synopsis
3303 "Common Lisp package to encode and decode base64 with URI support")
3304 (description
3305 "This package provides highly optimized base64 encoding and decoding.
3306 Besides conversion to and from strings, integer conversions are supported.
3307 Encoding with Uniform Resource Identifiers is supported by using a modified
3308 encoding table that uses only URI-compatible characters.")
3309 (license license:bsd-3))))
3310
3311 (define-public cl-base64
3312 (sbcl-package->cl-source-package sbcl-cl-base64))
3313
3314 (define-public ecl-cl-base64
3315 (sbcl-package->ecl-package sbcl-cl-base64))
3316
3317 (define-public sbcl-chunga
3318 (package
3319 (name "sbcl-chunga")
3320 (version "1.1.7")
3321 (source
3322 (origin
3323 (method git-fetch)
3324 (uri (git-reference
3325 (url "https://github.com/edicl/chunga")
3326 (commit (string-append "v" version))))
3327 (file-name (git-file-name name version))
3328 (sha256
3329 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3330 (build-system asdf-build-system/sbcl)
3331 (inputs
3332 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3333 (home-page "https://edicl.github.io/chunga/")
3334 (synopsis "Portable chunked streams for Common Lisp")
3335 (description
3336 "Chunga implements streams capable of chunked encoding on demand as
3337 defined in RFC 2616.")
3338 (license license:bsd-2)))
3339
3340 (define-public cl-chunga
3341 (sbcl-package->cl-source-package sbcl-chunga))
3342
3343 (define-public ecl-chunga
3344 (sbcl-package->ecl-package sbcl-chunga))
3345
3346 (define-public sbcl-cl-who
3347 (let ((version "1.1.4")
3348 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3349 (revision "1"))
3350 (package
3351 (name "sbcl-cl-who")
3352 (version (git-version version revision commit))
3353 (source
3354 (origin
3355 (method git-fetch)
3356 (uri (git-reference
3357 (url "https://github.com/edicl/cl-who")
3358 (commit commit)))
3359 (file-name (git-file-name name version))
3360 (sha256
3361 (base32
3362 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3363 (build-system asdf-build-system/sbcl)
3364 (native-inputs
3365 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3366 (home-page "https://edicl.github.io/cl-who/")
3367 (synopsis "Yet another Lisp markup language")
3368 (description
3369 "There are plenty of Lisp Markup Languages out there - every Lisp
3370 programmer seems to write at least one during his career - and CL-WHO (where
3371 WHO means \"with-html-output\" for want of a better acronym) is probably just
3372 as good or bad as the next one.")
3373 (license license:bsd-2))))
3374
3375 (define-public cl-who
3376 (sbcl-package->cl-source-package sbcl-cl-who))
3377
3378 (define-public ecl-cl-who
3379 (sbcl-package->ecl-package sbcl-cl-who))
3380
3381 (define-public sbcl-chipz
3382 (let ((version "0.8")
3383 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3384 (revision "1"))
3385 (package
3386 (name "sbcl-chipz")
3387 (version (git-version version revision commit))
3388 (source
3389 (origin
3390 (method git-fetch)
3391 (uri (git-reference
3392 (url "https://github.com/froydnj/chipz")
3393 (commit commit)))
3394 (file-name (git-file-name name version))
3395 (sha256
3396 (base32
3397 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3398 (build-system asdf-build-system/sbcl)
3399 (native-inputs
3400 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3401 (home-page "http://method-combination.net/lisp/chipz/")
3402 (synopsis
3403 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3404 data")
3405 (description
3406 "DEFLATE data, defined in RFC1951, forms the core of popular
3407 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3408 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3409 the format used by the popular compression tool bzip2.")
3410 ;; The author describes it as "MIT-like"
3411 (license license:expat))))
3412
3413 (define-public cl-chipz
3414 (sbcl-package->cl-source-package sbcl-chipz))
3415
3416 (define-public ecl-chipz
3417 (sbcl-package->ecl-package sbcl-chipz))
3418
3419 (define-public sbcl-drakma
3420 (package
3421 (name "sbcl-drakma")
3422 (version "2.0.7")
3423 (source
3424 (origin
3425 (method git-fetch)
3426 (uri (git-reference
3427 (url "https://github.com/edicl/drakma")
3428 (commit (string-append "v" version))))
3429 (file-name (git-file-name name version))
3430 (sha256
3431 (base32
3432 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3433 (build-system asdf-build-system/sbcl)
3434 (inputs
3435 `(("sbcl-puri" ,sbcl-puri)
3436 ("sbcl-cl-base64" ,sbcl-cl-base64)
3437 ("sbcl-chunga" ,sbcl-chunga)
3438 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3439 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3440 ("sbcl-chipz" ,sbcl-chipz)
3441 ("sbcl-usocket" ,sbcl-usocket)
3442 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3443 (native-inputs
3444 `(("sbcl-fiveam" ,sbcl-fiveam)))
3445 (home-page "https://edicl.github.io/drakma/")
3446 (synopsis "HTTP client written in Common Lisp")
3447 (description
3448 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3449 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3450 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3451 (license license:bsd-2)))
3452
3453 (define-public cl-drakma
3454 (sbcl-package->cl-source-package sbcl-drakma))
3455
3456 (define-public ecl-drakma
3457 (sbcl-package->ecl-package sbcl-drakma))
3458
3459 (define-public sbcl-hunchentoot
3460 (package
3461 (name "sbcl-hunchentoot")
3462 (version "1.2.38")
3463 (source
3464 (origin
3465 (method git-fetch)
3466 (uri (git-reference
3467 (url "https://github.com/edicl/hunchentoot")
3468 (commit (string-append "v" version))))
3469 (file-name (git-file-name "hunchentoot" version))
3470 (sha256
3471 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3472 (build-system asdf-build-system/sbcl)
3473 (native-inputs
3474 `(("sbcl-cl-who" ,sbcl-cl-who)
3475 ("sbcl-drakma" ,sbcl-drakma)))
3476 (inputs
3477 `(("sbcl-chunga" ,sbcl-chunga)
3478 ("sbcl-cl-base64" ,sbcl-cl-base64)
3479 ("sbcl-cl-fad" ,sbcl-cl-fad)
3480 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3481 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3482 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3483 ("sbcl-md5" ,sbcl-md5)
3484 ("sbcl-rfc2388" ,sbcl-rfc2388)
3485 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3486 ("sbcl-usocket" ,sbcl-usocket)))
3487 (home-page "https://edicl.github.io/hunchentoot/")
3488 (synopsis "Web server written in Common Lisp")
3489 (description
3490 "Hunchentoot is a web server written in Common Lisp and at the same
3491 time a toolkit for building dynamic websites. As a stand-alone web server,
3492 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3493 connections (keep-alive), and SSL.")
3494 (license license:bsd-2)))
3495
3496 (define-public cl-hunchentoot
3497 (sbcl-package->cl-source-package sbcl-hunchentoot))
3498
3499 (define-public ecl-hunchentoot
3500 (package
3501 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
3502 (arguments
3503 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
3504 '(#:tests? #f))))
3505
3506 (define-public sbcl-trivial-types
3507 (package
3508 (name "sbcl-trivial-types")
3509 (version "0.0.1")
3510 (source
3511 (origin
3512 (method git-fetch)
3513 (uri (git-reference
3514 (url "https://github.com/m2ym/trivial-types")
3515 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3516 (file-name (git-file-name name version))
3517 (sha256
3518 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3519 (build-system asdf-build-system/sbcl)
3520 (home-page "https://github.com/m2ym/trivial-types")
3521 (synopsis "Trivial type definitions for Common Lisp")
3522 (description
3523 "TRIVIAL-TYPES provides missing but important type definitions such as
3524 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3525 (license license:llgpl)))
3526
3527 (define-public cl-trivial-types
3528 (sbcl-package->cl-source-package sbcl-trivial-types))
3529
3530 (define-public ecl-trivial-types
3531 (sbcl-package->ecl-package sbcl-trivial-types))
3532
3533 (define-public sbcl-cl-annot
3534 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3535 (revision "1"))
3536 (package
3537 (name "sbcl-cl-annot")
3538 (version (git-version "0.0.0" revision commit))
3539 (source
3540 (origin
3541 (method git-fetch)
3542 (uri (git-reference
3543 (url "https://github.com/m2ym/cl-annot")
3544 (commit commit)))
3545 (file-name (git-file-name name version))
3546 (sha256
3547 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3548 (build-system asdf-build-system/sbcl)
3549 (inputs
3550 `(("sbcl-alexandria" ,sbcl-alexandria)))
3551 (home-page "https://github.com/m2ym/cl-annot")
3552 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3553 (description
3554 "@code{cl-annot} is an general annotation library for Common Lisp.")
3555 (license license:llgpl))))
3556
3557 (define-public cl-annot
3558 (sbcl-package->cl-source-package sbcl-cl-annot))
3559
3560 (define-public ecl-cl-annot
3561 (sbcl-package->ecl-package sbcl-cl-annot))
3562
3563 (define-public sbcl-cl-syntax
3564 (package
3565 (name "sbcl-cl-syntax")
3566 (version "0.0.3")
3567 (source
3568 (origin
3569 (method git-fetch)
3570 (uri (git-reference
3571 (url "https://github.com/m2ym/cl-syntax")
3572 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3573 (file-name (git-file-name "cl-syntax" version))
3574 (sha256
3575 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3576 (build-system asdf-build-system/sbcl)
3577 (inputs
3578 `(("cl-annot" ,sbcl-cl-annot)
3579 ("cl-interpol" ,sbcl-cl-interpol)
3580 ("named-readtables" ,sbcl-named-readtables)
3581 ("trivial-types" ,sbcl-trivial-types)))
3582 (arguments
3583 '(#:asd-systems '("cl-syntax"
3584 "cl-syntax-annot"
3585 "cl-syntax-interpol")))
3586 (home-page "https://github.com/m2ym/cl-syntax")
3587 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3588 (description
3589 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3590 (license license:llgpl)))
3591
3592 (define-public cl-syntax
3593 (sbcl-package->cl-source-package sbcl-cl-syntax))
3594
3595 (define-public ecl-cl-syntax
3596 (sbcl-package->ecl-package sbcl-cl-syntax))
3597
3598 (define-public sbcl-cl-utilities
3599 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3600 (revision "1"))
3601 (package
3602 (name "sbcl-cl-utilities")
3603 (version (git-version "0.0.0" revision commit))
3604 (source
3605 (origin
3606 (method url-fetch)
3607 (uri
3608 (string-append
3609 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3610 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3611 (sha256
3612 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3613 (build-system asdf-build-system/sbcl)
3614 (arguments
3615 '(#:phases
3616 (modify-phases %standard-phases
3617 (add-after 'unpack 'fix-paths
3618 (lambda* (#:key inputs #:allow-other-keys)
3619 (substitute* "rotate-byte.lisp"
3620 (("in-package :cl-utilities)" all)
3621 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3622 (home-page "http://common-lisp.net/project/cl-utilities")
3623 (synopsis "A collection of semi-standard utilities")
3624 (description
3625 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3626 is a collection of Common Lisp Utilities, things that everybody writes since
3627 they're not part of the official standard. There are some very useful things
3628 there; the only problems are that they aren't implemented as well as you'd
3629 like (some aren't implemented at all) and they aren't conveniently packaged
3630 and maintained. It takes quite a bit of work to carefully implement utilities
3631 for common use, commented and documented, with error checking placed
3632 everywhere some dumb user might make a mistake.")
3633 (license license:public-domain))))
3634
3635 (define-public cl-utilities
3636 (sbcl-package->cl-source-package sbcl-cl-utilities))
3637
3638 (define-public ecl-cl-utilities
3639 (sbcl-package->ecl-package sbcl-cl-utilities))
3640
3641 (define-public sbcl-map-set
3642 (let ((commit "7b4b545b68b8")
3643 (revision "1"))
3644 (package
3645 (name "sbcl-map-set")
3646 (version (git-version "0.0.0" revision commit))
3647 (source
3648 (origin
3649 (method url-fetch)
3650 (uri (string-append
3651 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3652 commit ".tar.gz"))
3653 (sha256
3654 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3655 (build-system asdf-build-system/sbcl)
3656 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3657 (synopsis "Set-like data structure")
3658 (description
3659 "Implementation of a set-like data structure with constant time
3660 addition, removal, and random selection.")
3661 (license license:bsd-3))))
3662
3663 (define-public cl-map-set
3664 (sbcl-package->cl-source-package sbcl-map-set))
3665
3666 (define-public ecl-map-set
3667 (sbcl-package->ecl-package sbcl-map-set))
3668
3669 (define-public sbcl-quri
3670 (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a")
3671 (revision "2"))
3672 (package
3673 (name "sbcl-quri")
3674 (version (git-version "0.1.0" revision commit))
3675 (source
3676 (origin
3677 (method git-fetch)
3678 (uri (git-reference
3679 (url "https://github.com/fukamachi/quri")
3680 (commit commit)))
3681 (file-name (git-file-name name version))
3682 (sha256
3683 (base32 "0cansr63m690ymvhway419178mq2sqnmxm4rdxclbsrnjwwbi36m"))))
3684 (build-system asdf-build-system/sbcl)
3685 (arguments
3686 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
3687 ;; required by #<SYSTEM "quri">. Why?
3688 '(#:tests? #f))
3689 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
3690 (inputs `(("sbcl-babel" ,sbcl-babel)
3691 ("sbcl-split-sequence" ,sbcl-split-sequence)
3692 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
3693 ("sbcl-alexandria" ,sbcl-alexandria)))
3694 (home-page "https://github.com/fukamachi/quri")
3695 (synopsis "Yet another URI library for Common Lisp")
3696 (description
3697 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
3698 Lisp. It is intended to be a replacement of PURI.")
3699 (license license:bsd-3))))
3700
3701 (define-public cl-quri
3702 (sbcl-package->cl-source-package sbcl-quri))
3703
3704 (define-public ecl-quri
3705 (sbcl-package->ecl-package sbcl-quri))
3706
3707 (define-public sbcl-myway
3708 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
3709 (revision "1"))
3710 (package
3711 (name "sbcl-myway")
3712 (version (git-version "0.1.0" revision commit))
3713 (source
3714 (origin
3715 (method git-fetch)
3716 (uri (git-reference
3717 (url "https://github.com/fukamachi/myway")
3718 (commit commit)))
3719 (file-name (git-file-name "myway" version))
3720 (sha256
3721 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
3722 (build-system asdf-build-system/sbcl)
3723 (arguments
3724 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
3725 ;; by #<SYSTEM "myway">. Why?
3726 '(#:tests? #f))
3727 (native-inputs
3728 `(("sbcl-prove" ,sbcl-prove)))
3729 (inputs
3730 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3731 ("sbcl-quri" ,sbcl-quri)
3732 ("sbcl-map-set" ,sbcl-map-set)))
3733 (home-page "https://github.com/fukamachi/myway")
3734 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
3735 (description "My Way is a Sinatra-compatible URL routing library.")
3736 (license license:llgpl))))
3737
3738 (define-public cl-myway
3739 (sbcl-package->cl-source-package sbcl-myway))
3740
3741 (define-public ecl-myway
3742 (sbcl-package->ecl-package sbcl-myway))
3743
3744 (define-public sbcl-xsubseq
3745 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
3746 (revision "1"))
3747 (package
3748 (name "sbcl-xsubseq")
3749 (version (git-version "0.0.1" revision commit))
3750 (source
3751 (origin
3752 (method git-fetch)
3753 (uri (git-reference
3754 (url "https://github.com/fukamachi/xsubseq")
3755 (commit commit)))
3756 (file-name (git-file-name name version))
3757 (sha256
3758 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
3759 (build-system asdf-build-system/sbcl)
3760 (arguments
3761 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
3762 ;; required by #<SYSTEM "xsubseq">. Why?
3763 '(#:tests? #f))
3764 (native-inputs
3765 `(("sbcl-prove" ,sbcl-prove)))
3766 (home-page "https://github.com/fukamachi/xsubseq")
3767 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
3768 (description
3769 "XSubseq provides functions to be able to handle \"subseq\"s more
3770 effieiently.")
3771 (license license:bsd-2))))
3772
3773 (define-public cl-xsubseq
3774 (sbcl-package->cl-source-package sbcl-xsubseq))
3775
3776 (define-public ecl-xsubseq
3777 (sbcl-package->ecl-package sbcl-xsubseq))
3778
3779 (define-public sbcl-smart-buffer
3780 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
3781 (revision "1"))
3782 (package
3783 (name "sbcl-smart-buffer")
3784 (version (git-version "0.0.1" revision commit))
3785 (source
3786 (origin
3787 (method git-fetch)
3788 (uri (git-reference
3789 (url "https://github.com/fukamachi/smart-buffer")
3790 (commit commit)))
3791 (file-name (git-file-name name version))
3792 (sha256
3793 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
3794 (build-system asdf-build-system/sbcl)
3795 (arguments
3796 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
3797 ;; found, required by #<SYSTEM "smart-buffer">. Why?
3798 `(#:tests? #f))
3799 (native-inputs
3800 `(("sbcl-prove" ,sbcl-prove)))
3801 (inputs
3802 `(("sbcl-xsubseq" ,sbcl-xsubseq)
3803 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3804 (home-page "https://github.com/fukamachi/smart-buffer")
3805 (synopsis "Smart octets buffer")
3806 (description
3807 "Smart-buffer provides an output buffer which changes the destination
3808 depending on content size.")
3809 (license license:bsd-3))))
3810
3811 (define-public cl-smart-buffer
3812 (sbcl-package->cl-source-package sbcl-smart-buffer))
3813
3814 (define-public ecl-smart-buffer
3815 (sbcl-package->ecl-package sbcl-smart-buffer))
3816
3817 (define-public sbcl-fast-http
3818 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
3819 (revision "2"))
3820 (package
3821 (name "sbcl-fast-http")
3822 (version (git-version "0.2.0" revision commit))
3823 (source
3824 (origin
3825 (method git-fetch)
3826 (uri (git-reference
3827 (url "https://github.com/fukamachi/fast-http")
3828 (commit commit)))
3829 (file-name (git-file-name name version))
3830 (sha256
3831 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
3832 (build-system asdf-build-system/sbcl)
3833 (arguments
3834 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
3835 ;; required by #<SYSTEM "fast-http">. Why?
3836 `(#:tests? #f))
3837 (native-inputs
3838 `(("sbcl-prove" ,sbcl-prove)
3839 ("cl-syntax" ,sbcl-cl-syntax)))
3840 (inputs
3841 `(("sbcl-alexandria" ,sbcl-alexandria)
3842 ("sbcl-proc-parse" ,sbcl-proc-parse)
3843 ("sbcl-xsubseq" ,sbcl-xsubseq)
3844 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
3845 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
3846 (home-page "https://github.com/fukamachi/fast-http")
3847 (synopsis "HTTP request/response parser for Common Lisp")
3848 (description
3849 "@code{fast-http} is a HTTP request/response protocol parser for Common
3850 Lisp.")
3851 ;; Author specified the MIT license
3852 (license license:expat))))
3853
3854 (define-public cl-fast-http
3855 (sbcl-package->cl-source-package sbcl-fast-http))
3856
3857 (define-public ecl-fast-http
3858 (sbcl-package->ecl-package sbcl-fast-http))
3859
3860 (define-public sbcl-static-vectors
3861 (package
3862 (name "sbcl-static-vectors")
3863 (version "1.8.4")
3864 (source
3865 (origin
3866 (method git-fetch)
3867 (uri (git-reference
3868 (url "https://github.com/sionescu/static-vectors")
3869 (commit (string-append "v" version))))
3870 (file-name (git-file-name name version))
3871 (sha256
3872 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
3873 (native-inputs
3874 `(("sbcl-fiveam" ,sbcl-fiveam)))
3875 (inputs
3876 `(("sbcl-cffi" ,sbcl-cffi)))
3877 (build-system asdf-build-system/sbcl)
3878 (home-page "https://github.com/sionescu/static-vectors")
3879 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
3880 (description
3881 "With @code{static-vectors}, you can create vectors allocated in static
3882 memory.")
3883 (license license:expat)))
3884
3885 (define-public cl-static-vectors
3886 (sbcl-package->cl-source-package sbcl-static-vectors))
3887
3888 (define-public ecl-static-vectors
3889 (sbcl-package->ecl-package sbcl-static-vectors))
3890
3891 (define-public sbcl-marshal
3892 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
3893 (revision "1"))
3894 (package
3895 (name "sbcl-marshal")
3896 (version (git-version "1.3.0" revision commit))
3897 (source
3898 (origin
3899 (method git-fetch)
3900 (uri (git-reference
3901 (url "https://github.com/wlbr/cl-marshal")
3902 (commit commit)))
3903 (file-name (git-file-name name version))
3904 (sha256
3905 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
3906 (build-system asdf-build-system/sbcl)
3907 (home-page "https://github.com/wlbr/cl-marshal")
3908 (synopsis "Simple (de)serialization of Lisp datastructures")
3909 (description
3910 "Simple and fast marshalling of Lisp datastructures. Convert any object
3911 into a string representation, put it on a stream an revive it from there.
3912 Only minimal changes required to make your CLOS objects serializable.")
3913 (license license:expat))))
3914
3915 (define-public cl-marshal
3916 (sbcl-package->cl-source-package sbcl-marshal))
3917
3918 (define-public ecl-marshal
3919 (sbcl-package->ecl-package sbcl-marshal))
3920
3921 (define-public sbcl-checkl
3922 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
3923 (revision "1"))
3924 (package
3925 (name "sbcl-checkl")
3926 (version (git-version "0.0.0" revision commit))
3927 (source
3928 (origin
3929 (method git-fetch)
3930 (uri (git-reference
3931 (url "https://github.com/rpav/CheckL")
3932 (commit commit)))
3933 (file-name (git-file-name name version))
3934 (sha256
3935 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
3936 (build-system asdf-build-system/sbcl)
3937 (arguments
3938 ;; Error while trying to load definition for system checkl-test from
3939 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
3940 ;; is undefined.
3941 '(#:asd-files '("checkl.asd")
3942 #:tests? #f))
3943 (native-inputs
3944 `(("sbcl-fiveam" ,sbcl-fiveam)))
3945 (inputs
3946 `(("sbcl-marshal" ,sbcl-marshal)))
3947 (home-page "https://github.com/rpav/CheckL/")
3948 (synopsis "Dynamic testing for Common Lisp")
3949 (description
3950 "CheckL lets you write tests dynamically, it checks resulting values
3951 against the last run.")
3952 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
3953 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
3954 ;; stronger of the two and so I think only listing this should suffice.
3955 (license license:llgpl))))
3956
3957 (define-public cl-checkl
3958 (sbcl-package->cl-source-package sbcl-checkl))
3959
3960 (define-public ecl-checkl
3961 (sbcl-package->ecl-package sbcl-checkl))
3962
3963 (define-public sbcl-fast-io
3964 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
3965 (revision "2"))
3966 (package
3967 (name "sbcl-fast-io")
3968 (version (git-version "1.0.0" revision commit))
3969 (source
3970 (origin
3971 (method git-fetch)
3972 (uri (git-reference
3973 (url "https://github.com/rpav/fast-io")
3974 (commit commit)))
3975 (file-name (git-file-name name version))
3976 (sha256
3977 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
3978 (build-system asdf-build-system/sbcl)
3979 (arguments
3980 ;; Error while trying to load definition for system fast-io-test from
3981 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
3982 ;; is undefined.
3983 '(#:tests? #f
3984 #:asd-files '("fast-io.asd")))
3985 (native-inputs
3986 `(("sbcl-fiveam" ,sbcl-fiveam)
3987 ("sbcl-checkl" ,sbcl-checkl)))
3988 (inputs
3989 `(("sbcl-alexandria" ,sbcl-alexandria)
3990 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3991 ("sbcl-static-vectors" ,sbcl-static-vectors)))
3992 (home-page "https://github.com/rpav/fast-io")
3993 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
3994 (description
3995 "Fast-io is about improving performance to octet-vectors and octet
3996 streams (though primarily the former, while wrapping the latter).")
3997 ;; Author specifies this as NewBSD which is an alias
3998 (license license:bsd-3))))
3999
4000 (define-public cl-fast-io
4001 (sbcl-package->cl-source-package sbcl-fast-io))
4002
4003 (define-public ecl-fast-io
4004 (sbcl-package->ecl-package sbcl-fast-io))
4005
4006 (define-public sbcl-jonathan
4007 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4008 (revision "1"))
4009 (package
4010 (name "sbcl-jonathan")
4011 (version (git-version "0.1.0" revision commit))
4012 (source
4013 (origin
4014 (method git-fetch)
4015 (uri (git-reference
4016 (url "https://github.com/Rudolph-Miller/jonathan")
4017 (commit commit)))
4018 (file-name (git-file-name name version))
4019 (sha256
4020 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4021 (build-system asdf-build-system/sbcl)
4022 (arguments
4023 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4024 ;; required by #<SYSTEM "jonathan">. Why?
4025 `(#:tests? #f))
4026 (native-inputs
4027 `(("sbcl-prove" ,sbcl-prove)))
4028 (inputs
4029 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4030 ("sbcl-fast-io" ,sbcl-fast-io)
4031 ("sbcl-proc-parse" ,sbcl-proc-parse)
4032 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4033 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4034 (synopsis "JSON encoder and decoder")
4035 (description
4036 "High performance JSON encoder and decoder. Currently support: SBCL,
4037 CCL.")
4038 ;; Author specifies the MIT license
4039 (license license:expat))))
4040
4041 (define-public cl-jonathan
4042 (sbcl-package->cl-source-package sbcl-jonathan))
4043
4044 (define-public ecl-jonathan
4045 (sbcl-package->ecl-package sbcl-jonathan))
4046
4047 (define-public sbcl-http-body
4048 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4049 (revision "1"))
4050 (package
4051 (name "sbcl-http-body")
4052 (version (git-version "0.1.0" revision commit))
4053 (source
4054 (origin
4055 (method git-fetch)
4056 (uri (git-reference
4057 (url "https://github.com/fukamachi/http-body")
4058 (commit commit)))
4059 (file-name (git-file-name name version))
4060 (sha256
4061 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4062 (build-system asdf-build-system/sbcl)
4063 (arguments
4064 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4065 ;; found, required by #<SYSTEM "http-body">. Why?
4066 `(#:tests? #f))
4067 (native-inputs
4068 `(("sbcl-prove" ,sbcl-prove)))
4069 (inputs
4070 `(("sbcl-fast-http" ,sbcl-fast-http)
4071 ("sbcl-jonathan" ,sbcl-jonathan)
4072 ("sbcl-quri" ,sbcl-quri)))
4073 (home-page "https://github.com/fukamachi/http-body")
4074 (synopsis "HTTP POST data parser")
4075 (description
4076 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4077 supports application/x-www-form-urlencoded, application/json, and
4078 multipart/form-data.")
4079 (license license:bsd-2))))
4080
4081 (define-public cl-http-body
4082 (sbcl-package->cl-source-package sbcl-http-body))
4083
4084 (define-public ecl-http-body
4085 (sbcl-package->ecl-package sbcl-http-body))
4086
4087 (define-public sbcl-circular-streams
4088 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4089 (revision "1"))
4090 (package
4091 (name "sbcl-circular-streams")
4092 (version (git-version "0.1.0" revision commit))
4093 (source
4094 (origin
4095 (method git-fetch)
4096 (uri (git-reference
4097 (url "https://github.com/fukamachi/circular-streams")
4098 (commit commit)))
4099 (file-name (git-file-name name version))
4100 (sha256
4101 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4102 (build-system asdf-build-system/sbcl)
4103 (arguments
4104 ;; The tests depend on cl-test-more which is now prove. Prove
4105 ;; tests aren't working for some reason.
4106 `(#:tests? #f))
4107 (inputs
4108 `(("sbcl-fast-io" ,sbcl-fast-io)
4109 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4110 (home-page "https://github.com/fukamachi/circular-streams")
4111 (synopsis "Circularly readable streams for Common Lisp")
4112 (description
4113 "Circular-Streams allows you to read streams circularly by wrapping real
4114 streams. Once you reach end-of-file of a stream, it's file position will be
4115 reset to 0 and you're able to read it again.")
4116 (license license:llgpl))))
4117
4118 (define-public cl-circular-streams
4119 (sbcl-package->cl-source-package sbcl-circular-streams))
4120
4121 (define-public ecl-circular-streams
4122 (sbcl-package->ecl-package sbcl-circular-streams))
4123
4124 (define-public sbcl-lack
4125 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4126 (revision "1"))
4127 (package
4128 (name "sbcl-lack")
4129 (version (git-version "0.1.0" revision commit))
4130 (source
4131 (origin
4132 (method git-fetch)
4133 (uri (git-reference
4134 (url "https://github.com/fukamachi/lack")
4135 (commit commit)))
4136 (file-name (git-file-name "lack" version))
4137 (sha256
4138 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4139 (build-system asdf-build-system/sbcl)
4140 (native-inputs
4141 `(("prove" ,sbcl-prove)))
4142 (inputs
4143 `(("circular-streams" ,sbcl-circular-streams)
4144 ("http-body" ,sbcl-http-body)
4145 ("ironclad" ,sbcl-ironclad)
4146 ("local-time" ,sbcl-local-time)
4147 ("quri" ,sbcl-quri)
4148 ("trivial-mimes" ,sbcl-trivial-mimes)))
4149 (arguments
4150 '(#:asd-systems '("lack"
4151 "lack-request"
4152 "lack-response"
4153 "lack-component"
4154 "lack-util"
4155 "lack-middleware-backtrace"
4156 "lack-middleware-static")
4157 #:test-asd-file "t-lack.asd"
4158 ;; XXX: Component :CLACK not found
4159 #:tests? #f))
4160 (home-page "https://github.com/fukamachi/lack")
4161 (synopsis "Lack, the core of Clack")
4162 (description
4163 "Lack is a Common Lisp library which allows web applications to be
4164 constructed of modular components. It was originally a part of Clack, however
4165 it's going to be rewritten as an individual project since Clack v2 with
4166 performance and simplicity in mind.")
4167 (license license:llgpl))))
4168
4169 (define-public cl-lack
4170 (sbcl-package->cl-source-package sbcl-lack))
4171
4172 (define-public ecl-lack
4173 (sbcl-package->ecl-package sbcl-lack))
4174
4175 (define-public sbcl-local-time
4176 (let ((commit "62792705245168d3fc2e04164b9a143477284142")
4177 (revision "1"))
4178 (package
4179 (name "sbcl-local-time")
4180 (version (git-version "1.0.6" revision commit))
4181 (source
4182 (origin
4183 (method git-fetch)
4184 (uri (git-reference
4185 (url "https://github.com/dlowe-net/local-time")
4186 (commit commit)))
4187 (file-name (git-file-name name version))
4188 (sha256
4189 (base32 "1r5zq4l1lrgprdr2pw7wwry194yknnllyjf6lx7snypb3k4r3yir"))))
4190 (build-system asdf-build-system/sbcl)
4191 (arguments
4192 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4193 ;; "local-time/test">
4194 '(#:tests? #f))
4195 (native-inputs
4196 `(("stefil" ,sbcl-hu.dwim.stefil)))
4197 (inputs
4198 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4199 (home-page "https://common-lisp.net/project/local-time/")
4200 (synopsis "Time manipulation library for Common Lisp")
4201 (description
4202 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4203 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4204 Long Painful History of Time\".")
4205 (license license:expat))))
4206
4207 (define-public cl-local-time
4208 (sbcl-package->cl-source-package sbcl-local-time))
4209
4210 (define-public ecl-local-time
4211 (sbcl-package->ecl-package sbcl-local-time))
4212
4213 (define-public sbcl-trivial-mimes
4214 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4215 (revision "1"))
4216 (package
4217 (name "sbcl-trivial-mimes")
4218 (version (git-version "1.1.0" revision commit))
4219 (source
4220 (origin
4221 (method git-fetch)
4222 (uri (git-reference
4223 (url "https://github.com/Shinmera/trivial-mimes")
4224 (commit commit)))
4225 (file-name (git-file-name name version))
4226 (sha256
4227 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4228 (build-system asdf-build-system/sbcl)
4229 (native-inputs
4230 `(("stefil" ,sbcl-hu.dwim.stefil)))
4231 (inputs
4232 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4233 (home-page "https://shinmera.github.io/trivial-mimes/")
4234 (synopsis "Tiny Common Lisp library to detect mime types in files")
4235 (description
4236 "This is a teensy library that provides some functions to determine the
4237 mime-type of a file.")
4238 (license license:artistic2.0))))
4239
4240 (define-public cl-trivial-mimes
4241 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4242
4243 (define-public ecl-trivial-mimes
4244 (sbcl-package->ecl-package sbcl-trivial-mimes))
4245
4246 (define-public sbcl-ningle
4247 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4248 (revision "1"))
4249 (package
4250 (name "sbcl-ningle")
4251 (version (git-version "0.3.0" revision commit))
4252 (source
4253 (origin
4254 (method git-fetch)
4255 (uri (git-reference
4256 (url "https://github.com/fukamachi/ningle")
4257 (commit commit)))
4258 (file-name (git-file-name name version))
4259 (sha256
4260 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4261 (build-system asdf-build-system/sbcl)
4262 (arguments
4263 ;; TODO: pull in clack-test
4264 '(#:tests? #f
4265 #:phases
4266 (modify-phases %standard-phases
4267 (delete 'cleanup-files)
4268 (delete 'cleanup)
4269 (add-before 'cleanup 'combine-fasls
4270 (lambda* (#:key outputs #:allow-other-keys)
4271 (let* ((out (assoc-ref outputs "out"))
4272 (lib (string-append out "/lib/sbcl"))
4273 (ningle-path (string-append lib "/ningle"))
4274 (fasl-files (find-files out "\\.fasl$")))
4275 (mkdir-p ningle-path)
4276 (let ((fasl-path (lambda (name)
4277 (string-append ningle-path
4278 "/"
4279 (basename name)
4280 "--system.fasl"))))
4281 (for-each (lambda (file)
4282 (rename-file file
4283 (fasl-path
4284 (basename file ".fasl"))))
4285 fasl-files))
4286 fasl-files)
4287 #t)))))
4288 (native-inputs
4289 `(("sbcl-prove" ,sbcl-prove)))
4290 (inputs
4291 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4292 ("sbcl-myway" ,sbcl-myway)
4293 ("sbcl-lack" ,sbcl-lack)
4294 ("sbcl-alexandria" ,sbcl-alexandria)
4295 ("sbcl-babel" ,sbcl-babel)))
4296 (home-page "https://8arrow.org/ningle/")
4297 (synopsis "Super micro framework for Common Lisp")
4298 (description
4299 "Ningle is a lightweight web application framework for Common Lisp.")
4300 (license license:llgpl))))
4301
4302 (define-public cl-ningle
4303 (sbcl-package->cl-source-package sbcl-ningle))
4304
4305 (define-public ecl-ningle
4306 (sbcl-package->ecl-package sbcl-ningle))
4307
4308 (define-public sbcl-cl-fastcgi
4309 (let ((commit "d576d20eeb12f225201074b28934ba395b15781a")
4310 (revision "1"))
4311 (package
4312 (name "sbcl-cl-fastcgi")
4313 (version (git-version "0.2" revision commit))
4314 (source
4315 (origin
4316 (method git-fetch)
4317 (uri (git-reference
4318 (url "https://github.com/KDr2/cl-fastcgi/")
4319 (commit commit)))
4320 (file-name (git-file-name name version))
4321 (sha256
4322 (base32 "02mvzzyn0k960s38rbxaqqmdkwcfmyhf8dx6ynz8xyxflmp0s5zv"))))
4323 (build-system asdf-build-system/sbcl)
4324 (inputs
4325 `(("usocket" ,sbcl-usocket)
4326 ("cffi" ,sbcl-cffi)
4327 ("fcgi" ,fcgi)))
4328 (arguments
4329 `(#:phases
4330 (modify-phases %standard-phases
4331 (add-after 'unpack 'fix-paths
4332 (lambda* (#:key inputs #:allow-other-keys)
4333 (substitute* "cl-fastcgi.lisp"
4334 (("\"libfcgi.so\"")
4335 (string-append
4336 "\""
4337 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4338 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4339 (synopsis "FastCGI wrapper for Common Lisp")
4340 (description
4341 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4342 mostly Common Lisp implementation.")
4343 ;; TODO: Upstream on specifies "BSD license":
4344 ;; https://github.com/KDr2/cl-fastcgi/issues/4
4345 (license license:bsd-2))))
4346
4347 (define-public cl-fastcgi
4348 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4349
4350 (define-public ecl-cl-fastcgi
4351 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4352
4353 (define-public sbcl-clack
4354 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4355 (revision "1"))
4356 (package
4357 (name "sbcl-clack")
4358 (version (git-version "2.0.0" revision commit))
4359 (source
4360 (origin
4361 (method git-fetch)
4362 (uri (git-reference
4363 (url "https://github.com/fukamachi/clack")
4364 (commit commit)))
4365 (file-name (git-file-name name version))
4366 (sha256
4367 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4368 (build-system asdf-build-system/sbcl)
4369 (inputs
4370 `(("alexandria" ,sbcl-alexandria)
4371 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4372 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4373 ("flexi-streams" ,sbcl-flexi-streams)
4374 ("hunchentoot" ,sbcl-hunchentoot)
4375 ("lack" ,sbcl-lack)
4376 ("split-sequence" ,sbcl-split-sequence)
4377 ("usocket" ,sbcl-usocket)
4378 ("quri" ,sbcl-quri)))
4379 (arguments
4380 '(#:asd-systems '("clack"
4381 "clack-handler-fcgi"
4382 "clack-socket"
4383 "clack-handler-hunchentoot")))
4384 (home-page "https://github.com/fukamachi/clack")
4385 (synopsis "Web Application Environment for Common Lisp")
4386 (description
4387 "Clack is a web application environment for Common Lisp inspired by
4388 Python's WSGI and Ruby's Rack.")
4389 (license license:llgpl))))
4390
4391 (define-public cl-clack
4392 (sbcl-package->cl-source-package sbcl-clack))
4393
4394 (define-public ecl-clack
4395 (sbcl-package->ecl-package sbcl-clack))
4396
4397 (define-public sbcl-cl-log
4398 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4399 (revision "1"))
4400 (package
4401 (name "sbcl-cl-log")
4402 (version "1.0.1")
4403 (source
4404 (origin
4405 (method git-fetch)
4406 (uri (git-reference
4407 (url "https://github.com/nicklevine/cl-log")
4408 (commit commit)))
4409 (sha256
4410 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4411 (file-name (git-file-name "cl-log" version))))
4412 (build-system asdf-build-system/sbcl)
4413 (synopsis "Common Lisp general purpose logging utility")
4414 (description "CL-LOG is a general purpose logging utility, loosely modelled
4415 in some respects after Gary King's Log5. Its features include: logging to
4416 several destinations at once, via \"messengers\", each messenger is tailored to
4417 accept some log messages and reject others, and this tailoring can be changed
4418 on-the-fly, very rapid processing of messages which are rejected by all
4419 messengers, fully independent use of the utility by several different
4420 sub-systems in an application, support for messengers which cl:format text to a
4421 stream, support for messengers which do not invoke cl:format, timestamps in
4422 theory accurate to internal-time-units-per-second.")
4423 (home-page "https://github.com/nicklevine/cl-log")
4424 (license license:expat))))
4425
4426 (define-public cl-log
4427 (sbcl-package->cl-source-package sbcl-cl-log))
4428
4429 (define-public ecl-cl-log
4430 (sbcl-package->ecl-package sbcl-cl-log))
4431
4432 (define-public sbcl-log4cl
4433 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4434 (revision "1"))
4435 (package
4436 (name "sbcl-log4cl")
4437 (build-system asdf-build-system/sbcl)
4438 (version "1.1.2")
4439 (source
4440 (origin
4441 (method git-fetch)
4442 (uri (git-reference
4443 (url "https://github.com/sharplispers/log4cl")
4444 (commit commit)))
4445 (file-name (git-file-name name version))
4446 (sha256
4447 (base32
4448 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4449 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4450 (arguments
4451 `(#:tests? #f))
4452 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4453 (synopsis "Common Lisp logging framework, modeled after Log4J")
4454 (home-page "https://github.com/7max/log4cl")
4455 (description "This is a Common Lisp logging framework that can log at
4456 various levels and mix text with expressions.")
4457 (license license:asl2.0))))
4458
4459 (define-public cl-log4cl
4460 (sbcl-package->cl-source-package sbcl-log4cl))
4461
4462 (define-public ecl-log4cl
4463 (sbcl-package->ecl-package sbcl-log4cl))
4464
4465 (define-public sbcl-find-port
4466 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4467 (revision "1"))
4468 (package
4469 (name "sbcl-find-port")
4470 (build-system asdf-build-system/sbcl)
4471 (version "0.1")
4472 (home-page "https://github.com/eudoxia0/find-port")
4473 (source
4474 (origin
4475 (method git-fetch)
4476 (uri (git-reference
4477 (url home-page)
4478 (commit commit)))
4479 (file-name (git-file-name name version))
4480 (sha256
4481 (base32
4482 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4483 (native-inputs
4484 `(("fiveam" ,sbcl-fiveam)))
4485 (inputs
4486 `(("sbcl-usocket" ,sbcl-usocket)))
4487 (synopsis "Find open ports programmatically in Common Lisp")
4488 (description "This is a small Common Lisp library that finds an open
4489 port within a range.")
4490 (license license:expat))))
4491
4492 (define-public cl-find-port
4493 (sbcl-package->cl-source-package sbcl-find-port))
4494
4495 (define-public ecl-find-port
4496 (sbcl-package->ecl-package sbcl-find-port))
4497
4498 (define-public sbcl-clunit
4499 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4500 (revision "1"))
4501 (package
4502 (name "sbcl-clunit")
4503 (version (git-version "0.2.3" revision commit))
4504 (source
4505 (origin
4506 (method git-fetch)
4507 (uri (git-reference
4508 (url "https://github.com/tgutu/clunit")
4509 (commit commit)))
4510 (file-name (git-file-name name version))
4511 (sha256
4512 (base32
4513 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4514 (build-system asdf-build-system/sbcl)
4515 (synopsis "CLUnit is a Common Lisp unit testing framework")
4516 (description
4517 "CLUnit is a Common Lisp unit testing framework. It is designed
4518 to be easy to use so that you can quickly start testing. CLUnit
4519 provides a rich set of features aimed at improving your unit testing
4520 experience.")
4521 (home-page "https://tgutu.github.io/clunit/")
4522 ;; MIT License
4523 (license license:expat))))
4524
4525 (define-public cl-clunit
4526 (sbcl-package->cl-source-package sbcl-clunit))
4527
4528 (define-public ecl-clunit
4529 (sbcl-package->ecl-package sbcl-clunit))
4530
4531 (define-public sbcl-py4cl
4532 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4533 (revision "1"))
4534 (package
4535 (name "sbcl-py4cl")
4536 (version (git-version "0.0.0" revision commit))
4537 (source
4538 (origin
4539 (method git-fetch)
4540 (uri (git-reference
4541 (url "https://github.com/bendudson/py4cl")
4542 (commit commit)))
4543 (file-name (git-file-name name version))
4544 (sha256
4545 (base32
4546 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4547 (modules '((guix build utils)))))
4548 (build-system asdf-build-system/sbcl)
4549 (native-inputs
4550 `(("sbcl-clunit" ,sbcl-clunit)))
4551 (inputs
4552 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4553 (propagated-inputs
4554 ;; This package doesn't do anything without python available
4555 `(("python" ,python)
4556 ;; For multi-dimensional array support
4557 ("python-numpy" ,python-numpy)))
4558 (arguments
4559 '(#:phases
4560 (modify-phases %standard-phases
4561 (add-after 'unpack 'replace-*base-directory*-var
4562 (lambda* (#:key outputs #:allow-other-keys)
4563 ;; In the ASD, the author makes an attempt to
4564 ;; programatically determine the location of the
4565 ;; source-code so lisp can call into "py4cl.py". We can
4566 ;; hard-code this since we know where this file will
4567 ;; reside.
4568 (substitute* "src/callpython.lisp"
4569 (("py4cl/config:\\*base-directory\\*")
4570 (string-append
4571 "\""
4572 (assoc-ref outputs "out")
4573 "/share/common-lisp/sbcl-source/py4cl/"
4574 "\""))))))))
4575 (synopsis "Call python from Common Lisp")
4576 (description
4577 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4578 Lisp to interact with Python code. It uses streams to communicate with a
4579 separate python process, the approach taken by cl4py. This is different to
4580 the CFFI approach used by burgled-batteries, but has the same goal.")
4581 (home-page "https://github.com/bendudson/py4cl")
4582 ;; MIT License
4583 (license license:expat))))
4584
4585 (define-public cl-py4cl
4586 (sbcl-package->cl-source-package sbcl-py4cl))
4587
4588 (define-public ecl-py4cl
4589 (sbcl-package->ecl-package sbcl-py4cl))
4590
4591 (define-public sbcl-parse-declarations
4592 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
4593 (revision "1"))
4594 (package
4595 (name "sbcl-parse-declarations")
4596 (version (git-version "1.0.0" revision commit))
4597 (source
4598 (origin
4599 (method git-fetch)
4600 (uri (git-reference
4601 (url (string-append
4602 "https://gitlab.common-lisp.net/parse-declarations/"
4603 "parse-declarations.git"))
4604 (commit commit)))
4605 (file-name (git-file-name name version))
4606 (sha256
4607 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
4608 (build-system asdf-build-system/sbcl)
4609 (arguments
4610 `(#:asd-systems '("parse-declarations-1.0")))
4611 (home-page "https://common-lisp.net/project/parse-declarations/")
4612 (synopsis "Parse, filter, and build declarations")
4613 (description
4614 "Parse-Declarations is a Common Lisp library to help writing
4615 macros which establish bindings. To be semantically correct, such
4616 macros must take user declarations into account, as these may affect
4617 the bindings they establish. Yet the ANSI standard of Common Lisp does
4618 not provide any operators to work with declarations in a convenient,
4619 high-level way. This library provides such operators.")
4620 ;; MIT License
4621 (license license:expat))))
4622
4623 (define-public cl-parse-declarations
4624 (sbcl-package->cl-source-package sbcl-parse-declarations))
4625
4626 (define-public ecl-parse-declarations
4627 (sbcl-package->ecl-package sbcl-parse-declarations))
4628
4629 (define-public sbcl-cl-quickcheck
4630 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
4631 (revision "1"))
4632 (package
4633 (name "sbcl-cl-quickcheck")
4634 (version (git-version "0.0.4" revision commit))
4635 (source
4636 (origin
4637 (method git-fetch)
4638 (uri (git-reference
4639 (url "https://github.com/mcandre/cl-quickcheck")
4640 (commit commit)))
4641 (file-name (git-file-name name version))
4642 (sha256
4643 (base32
4644 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
4645 (build-system asdf-build-system/sbcl)
4646 (synopsis
4647 "Common Lisp port of the QuickCheck unit test framework")
4648 (description
4649 "Common Lisp port of the QuickCheck unit test framework")
4650 (home-page "https://github.com/mcandre/cl-quickcheck")
4651 ;; MIT
4652 (license license:expat))))
4653
4654 (define-public cl-quickcheck
4655 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
4656
4657 (define-public ecl-cl-quickcheck
4658 (sbcl-package->ecl-package sbcl-cl-quickcheck))
4659
4660 (define-public sbcl-burgled-batteries3
4661 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
4662 (revision "2"))
4663 (package
4664 (name "sbcl-burgled-batteries3")
4665 (version (git-version "0.0.0" revision commit))
4666 (source
4667 (origin
4668 (method git-fetch)
4669 (uri (git-reference
4670 (url "https://github.com/snmsts/burgled-batteries3")
4671 (commit commit)))
4672 (file-name (git-file-name name version))
4673 (sha256
4674 (base32
4675 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
4676 (build-system asdf-build-system/sbcl)
4677 (arguments
4678 `(#:tests? #f
4679 #:modules (((guix build python-build-system) #:select (python-version))
4680 ,@%asdf-build-system-modules)
4681 #:imported-modules ((guix build python-build-system)
4682 ,@%asdf-build-system-modules)
4683 #:phases
4684 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
4685 (add-after 'unpack 'set-*cpython-include-dir*-var
4686 (lambda* (#:key inputs #:allow-other-keys)
4687 (let ((python (assoc-ref inputs "python")))
4688 (setenv "BB_PYTHON3_INCLUDE_DIR"
4689 (string-append python "/include/python"
4690 (python-version python)))
4691 (setenv "BB_PYTHON3_DYLIB"
4692 (string-append python "/lib/libpython3.so"))
4693 #t)))
4694 (add-after 'unpack 'adjust-for-python-3.8
4695 (lambda _
4696 ;; This method is no longer part of the public API.
4697 (substitute* "ffi-interface.lisp"
4698 ((".*PyEval_ReInitThreads.*")
4699 ""))
4700 #t)))))
4701 (native-inputs
4702 `(("sbcl-cl-fad" ,sbcl-cl-fad)
4703 ("sbcl-lift" ,sbcl-lift)
4704 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
4705 (inputs
4706 `(("python" ,python)
4707 ("sbcl-cffi" ,sbcl-cffi)
4708 ("sbcl-alexandria" , sbcl-alexandria)
4709 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
4710 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4711 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
4712 (description
4713 "This package provides a shim between Python3 (specifically, the
4714 CPython implementation of Python) and Common Lisp.")
4715 (home-page "https://github.com/snmsts/burgled-batteries3")
4716 (license license:expat))))
4717
4718 (define-public cl-burgled-batteries3
4719 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
4720
4721 (define-public ecl-burgled-batteries3
4722 (sbcl-package->ecl-package sbcl-burgled-batteries3))
4723
4724 (define-public sbcl-metabang-bind
4725 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
4726 (revision "1"))
4727 (package
4728 (name "sbcl-metabang-bind")
4729 (version (git-version "0.8.0" revision commit))
4730 (source
4731 (origin
4732 (method git-fetch)
4733 (uri (git-reference
4734 (url "https://github.com/gwkkwg/metabang-bind")
4735 (commit commit)))
4736 (file-name (git-file-name name version))
4737 (sha256
4738 (base32
4739 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
4740 (build-system asdf-build-system/sbcl)
4741 (native-inputs
4742 `(("sbcl-lift" ,sbcl-lift)))
4743 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
4744 (description
4745 "Bind extends the idea of of let and destructing to provide a uniform
4746 syntax for all your accessor needs. It combines @code{let},
4747 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
4748 editing, property or association-lists, and @code{multiple-value-bind} and a
4749 whole lot more into a single form.")
4750 (home-page "https://common-lisp.net/project/metabang-bind/")
4751 ;; MIT License
4752 (license license:expat))))
4753
4754 (define-public cl-metabang-bind
4755 (sbcl-package->cl-source-package sbcl-metabang-bind))
4756
4757 (define-public ecl-metabang-bind
4758 (sbcl-package->ecl-package sbcl-metabang-bind))
4759
4760 (define-public sbcl-fare-utils
4761 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
4762 (revision "1"))
4763 (package
4764 (name "sbcl-fare-utils")
4765 (version (git-version "1.0.0.5" revision commit))
4766 (source
4767 (origin
4768 (method git-fetch)
4769 (uri
4770 (git-reference
4771 (url
4772 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
4773 (commit commit)))
4774 (file-name (git-file-name name version))
4775 (sha256
4776 (base32
4777 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
4778 (build-system asdf-build-system/sbcl)
4779 (arguments
4780 `(#:test-asd-file "test/fare-utils-test.asd"))
4781 (native-inputs
4782 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4783 (synopsis "Collection of utilities and data structures")
4784 (description
4785 "fare-utils is a small collection of utilities. It contains a lot of
4786 basic everyday functions and macros.")
4787 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
4788 ;; MIT License
4789 (license license:expat))))
4790
4791 (define-public cl-fare-utils
4792 (sbcl-package->cl-source-package sbcl-fare-utils))
4793
4794 (define-public ecl-fare-utils
4795 (sbcl-package->ecl-package sbcl-fare-utils))
4796
4797 (define-public sbcl-trivial-utf-8
4798 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
4799 (revision "1"))
4800 (package
4801 (name "sbcl-trivial-utf-8")
4802 (version (git-version "0.0.0" revision commit))
4803 (source
4804 (origin
4805 (method git-fetch)
4806 (uri
4807 (git-reference
4808 (url (string-append "https://gitlab.common-lisp.net/"
4809 "trivial-utf-8/trivial-utf-8.git"))
4810 (commit commit)))
4811 (file-name (git-file-name name version))
4812 (sha256
4813 (base32
4814 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
4815 (arguments
4816 ;; Guix incorrectly assumes the "8" is part of the version
4817 ;; number and lobs it off.
4818 `(#:asd-systems '("trivial-utf-8")))
4819 (build-system asdf-build-system/sbcl)
4820 (synopsis "UTF-8 input/output library")
4821 (description
4822 "The Babel library solves a similar problem while understanding more
4823 encodings. Trivial UTF-8 was written before Babel existed, but for new
4824 projects you might be better off going with Babel. The one plus that Trivial
4825 UTF-8 has is that it doesn't depend on any other libraries.")
4826 (home-page "https://common-lisp.net/project/trivial-utf-8/")
4827 (license license:bsd-3))))
4828
4829 (define-public cl-trivial-utf-8
4830 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
4831
4832 (define-public ecl-trivial-utf-8
4833 (sbcl-package->ecl-package sbcl-trivial-utf-8))
4834
4835 (define-public sbcl-idna
4836 (package
4837 (name "sbcl-idna")
4838 (build-system asdf-build-system/sbcl)
4839 (version "0.2.2")
4840 (home-page "https://github.com/antifuchs/idna")
4841 (source
4842 (origin
4843 (method git-fetch)
4844 (uri (git-reference
4845 (url home-page)
4846 (commit version)))
4847 (file-name (git-file-name name version))
4848 (sha256
4849 (base32
4850 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
4851 (inputs
4852 `(("split-sequence" ,sbcl-split-sequence)))
4853 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
4854 (description "This Common Lisp library provides string encoding and
4855 decoding routines for IDNA, the International Domain Names in Applications.")
4856 (license license:expat)))
4857
4858 (define-public cl-idna
4859 (sbcl-package->cl-source-package sbcl-idna))
4860
4861 (define-public ecl-idna
4862 (sbcl-package->ecl-package sbcl-idna))
4863
4864 (define-public sbcl-swap-bytes
4865 (package
4866 (name "sbcl-swap-bytes")
4867 (build-system asdf-build-system/sbcl)
4868 (version "1.2")
4869 (home-page "https://github.com/sionescu/swap-bytes")
4870 (source
4871 (origin
4872 (method git-fetch)
4873 (uri (git-reference
4874 (url home-page)
4875 (commit (string-append "v" version))))
4876 (file-name (git-file-name name version))
4877 (sha256
4878 (base32
4879 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
4880 (inputs
4881 `(("trivial-features" ,sbcl-trivial-features)))
4882 (native-inputs
4883 `(("fiveam" ,sbcl-fiveam)))
4884 (synopsis "Efficient endianness conversion for Common Lisp")
4885 (description "This Common Lisp library provides optimized byte-swapping
4886 primitives. The library can change endianness of unsigned integers of length
4887 1/2/4/8. Very useful in implementing various network protocols and file
4888 formats.")
4889 (license license:expat)))
4890
4891 (define-public cl-swap-bytes
4892 (sbcl-package->cl-source-package sbcl-swap-bytes))
4893
4894 (define-public ecl-swap-bytes
4895 (sbcl-package->ecl-package sbcl-swap-bytes))
4896
4897 (define-public sbcl-iolib
4898 ;; Latest release is from June 2017.
4899 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
4900 (revision "2"))
4901 (package
4902 (name "sbcl-iolib")
4903 (version (git-version "0.8.3" revision commit))
4904 (home-page "https://github.com/sionescu/iolib")
4905 (source
4906 (origin
4907 (method git-fetch)
4908 (uri (git-reference
4909 (url home-page)
4910 (commit commit)))
4911 (file-name (git-file-name name version))
4912 (sha256
4913 (base32
4914 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
4915 (build-system asdf-build-system/sbcl)
4916 (inputs
4917 `(("alexandria" ,sbcl-alexandria)
4918 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4919 ("cffi" ,sbcl-cffi)
4920 ("idna" ,sbcl-idna)
4921 ("libfixposix" ,libfixposix)
4922 ("split-sequence" ,sbcl-split-sequence)
4923 ("swap-bytes" ,sbcl-swap-bytes)))
4924 (arguments
4925 '(#:asd-files '("iolib.asdf.asd"
4926 "iolib.conf.asd"
4927 "iolib.common-lisp.asd"
4928 "iolib.base.asd"
4929 "iolib.asd")
4930 #:phases
4931 (modify-phases %standard-phases
4932 (add-after 'unpack 'fix-paths
4933 (lambda* (#:key inputs #:allow-other-keys)
4934 (substitute* "src/syscalls/ffi-functions-unix.lisp"
4935 (("\\(:default \"libfixposix\"\\)")
4936 (string-append
4937 "(:default \""
4938 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
4939 ;; Socket tests need Internet access, disable them.
4940 (substitute* "iolib.asd"
4941 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
4942 "")))))))
4943 (synopsis "Common Lisp I/O library")
4944 (description "IOlib is to be a better and more modern I/O library than
4945 the standard Common Lisp library. It contains a socket library, a DNS
4946 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
4947 and @code{kqueue(2)}), a pathname library and file-system utilities.")
4948 (license license:expat))))
4949
4950 (define-public cl-iolib
4951 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
4952 (package
4953 (inherit parent)
4954 (propagated-inputs
4955 ;; Need header to compile.
4956 `(("libfixposix" ,libfixposix)
4957 ,@(package-propagated-inputs parent))))))
4958
4959 (define-public ecl-iolib
4960 (sbcl-package->ecl-package sbcl-iolib))
4961
4962 (define-public sbcl-ieee-floats
4963 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
4964 (revision "1"))
4965 (package
4966 (name "sbcl-ieee-floats")
4967 (build-system asdf-build-system/sbcl)
4968 (version (git-version "20170924" revision commit))
4969 (home-page "https://github.com/marijnh/ieee-floats/")
4970 (source
4971 (origin
4972 (method git-fetch)
4973 (uri (git-reference
4974 (url home-page)
4975 (commit commit)))
4976 (file-name (git-file-name name version))
4977 (sha256
4978 (base32
4979 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
4980 (native-inputs
4981 `(("fiveam" ,sbcl-fiveam)))
4982 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
4983 (description "This is a Common Lisp library that converts
4984 floating point values to IEEE 754 binary representation.")
4985 (license license:bsd-3))))
4986
4987 (define-public cl-ieee-floats
4988 (sbcl-package->cl-source-package sbcl-ieee-floats))
4989
4990 (define-public ecl-ieee-floats
4991 (sbcl-package->ecl-package sbcl-ieee-floats))
4992
4993 (define sbcl-closure-common
4994 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
4995 (revision "1"))
4996 (package
4997 (name "sbcl-closure-common")
4998 (build-system asdf-build-system/sbcl)
4999 (version (git-version "20101006" revision commit))
5000 (home-page "https://common-lisp.net/project/cxml/")
5001 (source
5002 (origin
5003 (method git-fetch)
5004 (uri (git-reference
5005 (url "https://github.com/sharplispers/closure-common")
5006 (commit commit)))
5007 (file-name (git-file-name name version))
5008 (sha256
5009 (base32
5010 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5011 (inputs
5012 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5013 ("babel" ,sbcl-babel)))
5014 (synopsis "Support Common Lisp library for CXML")
5015 (description "Closure-common is an internal helper library. The name
5016 Closure is a reference to the web browser it was originally written for.")
5017 ;; TODO: License?
5018 (license #f))))
5019
5020 (define-public sbcl-cxml
5021 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5022 (revision "1"))
5023 (package
5024 (name "sbcl-cxml")
5025 (version (git-version "0.0.0" revision commit))
5026 (source
5027 (origin
5028 (method git-fetch)
5029 (uri (git-reference
5030 (url "https://github.com/sharplispers/cxml")
5031 (commit commit)))
5032 (file-name (git-file-name name version))
5033 (sha256
5034 (base32
5035 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5036 (build-system asdf-build-system/sbcl)
5037 (inputs
5038 `(("closure-common" ,sbcl-closure-common)
5039 ("puri" ,sbcl-puri)
5040 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5041 (synopsis "Common Lisp XML parser")
5042 (description "CXML implements a namespace-aware, validating XML 1.0
5043 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5044 offered, one SAX-like, the other similar to StAX.")
5045 (home-page "https://common-lisp.net/project/cxml/")
5046 (license license:llgpl))))
5047
5048 (define-public cl-cxml
5049 (sbcl-package->cl-source-package sbcl-cxml))
5050
5051 (define-public ecl-cxml
5052 (sbcl-package->ecl-package sbcl-cxml))
5053
5054 (define-public sbcl-cl-reexport
5055 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5056 (revision "1"))
5057 (package
5058 (name "sbcl-cl-reexport")
5059 (build-system asdf-build-system/sbcl)
5060 (version (git-version "0.1" revision commit))
5061 (home-page "https://github.com/takagi/cl-reexport")
5062 (source
5063 (origin
5064 (method git-fetch)
5065 (uri (git-reference
5066 (url home-page)
5067 (commit commit)))
5068 (file-name (git-file-name name version))
5069 (sha256
5070 (base32
5071 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5072 (inputs
5073 `(("alexandria" ,sbcl-alexandria)))
5074 (arguments
5075 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5076 `(#:tests? #f))
5077 (synopsis "HTTP cookie manager for Common Lisp")
5078 (description "cl-cookie is a Common Lisp library featuring parsing of
5079 cookie headers, cookie creation, cookie jar creation and more.")
5080 (license license:llgpl))))
5081
5082 (define-public cl-reexport
5083 (sbcl-package->cl-source-package sbcl-cl-reexport))
5084
5085 (define-public ecl-cl-reexport
5086 (sbcl-package->ecl-package sbcl-cl-reexport))
5087
5088 (define-public sbcl-cl-cookie
5089 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5090 (revision "1"))
5091 (package
5092 (name "sbcl-cl-cookie")
5093 (build-system asdf-build-system/sbcl)
5094 (version (git-version "0.9.10" revision commit))
5095 (home-page "https://github.com/fukamachi/cl-cookie")
5096 (source
5097 (origin
5098 (method git-fetch)
5099 (uri (git-reference
5100 (url home-page)
5101 (commit commit)))
5102 (file-name (git-file-name name version))
5103 (sha256
5104 (base32
5105 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5106 (inputs
5107 `(("proc-parse" ,sbcl-proc-parse)
5108 ("alexandria" ,sbcl-alexandria)
5109 ("quri" ,sbcl-quri)
5110 ("cl-ppcre" ,sbcl-cl-ppcre)
5111 ("local-time" ,sbcl-local-time)))
5112 (native-inputs
5113 `(("prove" ,sbcl-prove)))
5114 (arguments
5115 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5116 `(#:tests? #f))
5117 (synopsis "HTTP cookie manager for Common Lisp")
5118 (description "cl-cookie is a Common Lisp library featuring parsing of
5119 cookie headers, cookie creation, cookie jar creation and more.")
5120 (license license:bsd-2))))
5121
5122 (define-public cl-cookie
5123 (sbcl-package->cl-source-package sbcl-cl-cookie))
5124
5125 (define-public ecl-cl-cookie
5126 (sbcl-package->ecl-package sbcl-cl-cookie))
5127
5128 (define-public sbcl-dexador
5129 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5130 (revision "1"))
5131 (package
5132 (name "sbcl-dexador")
5133 (build-system asdf-build-system/sbcl)
5134 (version "0.9.14" )
5135 (home-page "https://github.com/fukamachi/dexador")
5136 (source
5137 (origin
5138 (method git-fetch)
5139 (uri (git-reference
5140 (url home-page)
5141 (commit commit)))
5142 (file-name (git-file-name name version))
5143 (sha256
5144 (base32
5145 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5146 (inputs
5147 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5148 ("babel" ,sbcl-babel)
5149 ("usocket" ,sbcl-usocket)
5150 ("fast-http" ,sbcl-fast-http)
5151 ("quri" ,sbcl-quri)
5152 ("fast-io" ,sbcl-fast-io)
5153 ("chunga" ,sbcl-chunga)
5154 ("cl-ppcre" ,sbcl-cl-ppcre)
5155 ("cl-cookie" ,sbcl-cl-cookie)
5156 ("trivial-mimes" ,sbcl-trivial-mimes)
5157 ("chipz" ,sbcl-chipz)
5158 ("cl-base64" ,sbcl-cl-base64)
5159 ("cl-reexport" ,sbcl-cl-reexport)
5160 ("cl+ssl" ,sbcl-cl+ssl)
5161 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5162 ("alexandria" ,sbcl-alexandria)))
5163 (native-inputs
5164 `(("prove" ,sbcl-prove)
5165 ("lack" ,sbcl-lack)
5166 ("clack" ,sbcl-clack)
5167 ("babel" ,sbcl-babel)
5168 ("alexandria" ,sbcl-alexandria)
5169 ("cl-ppcre" ,sbcl-cl-ppcre)
5170 ("local-time" ,sbcl-local-time)
5171 ("trivial-features" ,sbcl-trivial-features)))
5172 (arguments
5173 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5174 `(#:tests? #f
5175 #:phases
5176 (modify-phases %standard-phases
5177 (add-after 'unpack 'fix-permissions
5178 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5179 (synopsis "Yet another HTTP client for Common Lisp")
5180 (description "Dexador is yet another HTTP client for Common Lisp with
5181 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5182 (license license:expat))))
5183
5184 (define-public cl-dexador
5185 (package
5186 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5187 (arguments
5188 `(#:phases
5189 ;; asdf-build-system/source has its own phases and does not inherit
5190 ;; from asdf-build-system/sbcl phases.
5191 (modify-phases %standard-phases/source
5192 ;; Already done in SBCL package.
5193 (delete 'reset-gzip-timestamps))))))
5194
5195 (define-public ecl-dexador
5196 (sbcl-package->ecl-package sbcl-dexador))
5197
5198 (define-public sbcl-lisp-namespace
5199 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5200 (revision "1"))
5201 (package
5202 (name "sbcl-lisp-namespace")
5203 (build-system asdf-build-system/sbcl)
5204 (version (git-version "0.1" revision commit))
5205 (home-page "https://github.com/guicho271828/lisp-namespace")
5206 (source
5207 (origin
5208 (method git-fetch)
5209 (uri (git-reference
5210 (url home-page)
5211 (commit commit)))
5212 (file-name (git-file-name name version))
5213 (sha256
5214 (base32
5215 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5216 (inputs
5217 `(("alexandria" ,sbcl-alexandria)))
5218 (native-inputs
5219 `(("fiveam" ,sbcl-fiveam)))
5220 (arguments
5221 `(#:test-asd-file "lisp-namespace.test.asd"
5222 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5223 #:tests? #f))
5224 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5225 (description "Common Lisp already has major 2 namespaces, function
5226 namespace and value namespace (or variable namespace), but there are actually
5227 more — e.g., class namespace.
5228 This library offers macros to deal with symbols from any namespace.")
5229 (license license:llgpl))))
5230
5231 (define-public cl-lisp-namespace
5232 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5233
5234 (define-public ecl-lisp-namespace
5235 (sbcl-package->ecl-package sbcl-lisp-namespace))
5236
5237 (define-public sbcl-trivial-cltl2
5238 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5239 (revision "2"))
5240 (package
5241 (name "sbcl-trivial-cltl2")
5242 (build-system asdf-build-system/sbcl)
5243 (version (git-version "0.1.1" revision commit))
5244 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5245 (source
5246 (origin
5247 (method git-fetch)
5248 (uri (git-reference
5249 (url home-page)
5250 (commit commit)))
5251 (file-name (git-file-name name version))
5252 (sha256
5253 (base32
5254 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5255 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5256 (description "This library is a portable compatibility layer around
5257 \"Common Lisp the Language, 2nd
5258 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5259 and it exports symbols from implementation-specific packages.")
5260 (license license:llgpl))))
5261
5262 (define-public cl-trivial-cltl2
5263 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5264
5265 (define-public ecl-trivial-cltl2
5266 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5267
5268 (define-public sbcl-introspect-environment
5269 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5270 (revision "1"))
5271 (package
5272 (name "sbcl-introspect-environment")
5273 (build-system asdf-build-system/sbcl)
5274 (version (git-version "0.1" revision commit))
5275 (home-page "https://github.com/Bike/introspect-environment")
5276 (source
5277 (origin
5278 (method git-fetch)
5279 (uri (git-reference
5280 (url home-page)
5281 (commit commit)))
5282 (file-name (git-file-name name version))
5283 (sha256
5284 (base32
5285 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5286 (native-inputs
5287 `(("fiveam" ,sbcl-fiveam)))
5288 (synopsis "Common Lisp environment introspection portability layer")
5289 (description "This library is a small interface to portable but
5290 nonstandard introspection of Common Lisp environments. It is intended to
5291 allow a bit more compile-time introspection of environments in Common Lisp.
5292
5293 Quite a bit of information is available at the time a macro or compiler-macro
5294 runs; inlining info, type declarations, that sort of thing. This information
5295 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5296 such.
5297
5298 This info ought to be accessible through the standard @code{&environment}
5299 parameters, but it is not. Several implementations keep the information for
5300 their own purposes but do not make it available to user programs, because
5301 there is no standard mechanism to do so.
5302
5303 This library uses implementation-specific hooks to make information available
5304 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5305 implementations have implementations of the functions that do as much as they
5306 can and/or provide reasonable defaults.")
5307 (license license:wtfpl2))))
5308
5309 (define-public cl-introspect-environment
5310 (sbcl-package->cl-source-package sbcl-introspect-environment))
5311
5312 (define-public ecl-introspect-environment
5313 (sbcl-package->ecl-package sbcl-introspect-environment))
5314
5315 (define-public sbcl-type-i
5316 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5317 (revision "2"))
5318 (package
5319 (name "sbcl-type-i")
5320 (build-system asdf-build-system/sbcl)
5321 (version (git-version "0.1" revision commit))
5322 (home-page "https://github.com/guicho271828/type-i")
5323 (source
5324 (origin
5325 (method git-fetch)
5326 (uri (git-reference
5327 (url home-page)
5328 (commit commit)))
5329 (file-name (git-file-name name version))
5330 (sha256
5331 (base32
5332 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5333 (inputs
5334 `(("alexandria" ,sbcl-alexandria)
5335 ("introspect-environment" ,sbcl-introspect-environment)
5336 ("trivia.trivial" ,sbcl-trivia.trivial)))
5337 (native-inputs
5338 `(("fiveam" ,sbcl-fiveam)))
5339 (arguments
5340 `(#:test-asd-file "type-i.test.asd"))
5341 (synopsis "Type inference utility on unary predicates for Common Lisp")
5342 (description "This library tries to provide a way to detect what kind of
5343 type the given predicate is trying to check. This is different from inferring
5344 the return type of a function.")
5345 (license license:llgpl))))
5346
5347 (define-public cl-type-i
5348 (sbcl-package->cl-source-package sbcl-type-i))
5349
5350 (define-public ecl-type-i
5351 (package
5352 (inherit (sbcl-package->ecl-package sbcl-type-i))
5353 (arguments
5354 ;; The tests get stuck indefinitly
5355 '(#:tests? #f))))
5356
5357 (define-public sbcl-optima
5358 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5359 (revision "1"))
5360 (package
5361 (name "sbcl-optima")
5362 (build-system asdf-build-system/sbcl)
5363 (version (git-version "1.0" revision commit))
5364 (home-page "https://github.com/m2ym/optima")
5365 (source
5366 (origin
5367 (method git-fetch)
5368 (uri (git-reference
5369 (url home-page)
5370 (commit commit)))
5371 (file-name (git-file-name name version))
5372 (sha256
5373 (base32
5374 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5375 (inputs
5376 `(("alexandria" ,sbcl-alexandria)
5377 ("closer-mop" ,sbcl-closer-mop)))
5378 (native-inputs
5379 `(("eos" ,sbcl-eos)))
5380 (arguments
5381 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5382 `(#:tests? #f
5383 #:test-asd-file "optima.test.asd"))
5384 (synopsis "Optimized pattern matching library for Common Lisp")
5385 (description "Optima is a fast pattern matching library which uses
5386 optimizing techniques widely used in the functional programming world.")
5387 (license license:expat))))
5388
5389 (define-public cl-optima
5390 (sbcl-package->cl-source-package sbcl-optima))
5391
5392 (define-public ecl-optima
5393 (sbcl-package->ecl-package sbcl-optima))
5394
5395 (define-public sbcl-fare-quasiquote
5396 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5397 (revision "1"))
5398 (package
5399 (name "sbcl-fare-quasiquote")
5400 (build-system asdf-build-system/sbcl)
5401 (version (git-version "1.0.1" revision commit))
5402 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5403 (source
5404 (origin
5405 (method git-fetch)
5406 (uri (git-reference
5407 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5408 "fare-quasiquote.git"))
5409 (commit commit)))
5410 (file-name (git-file-name name version))
5411 (sha256
5412 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5413 (inputs
5414 `(("fare-utils" ,sbcl-fare-utils)
5415 ("named-readtables" ,sbcl-named-readtables)
5416 ("optima" ,sbcl-optima)))
5417 (arguments
5418 ;; XXX: Circular dependencies: Tests depend on subsystems,
5419 ;; which depend on the main systems.
5420 `(#:tests? #f
5421 #:asd-systems '("fare-quasiquote"
5422 "fare-quasiquote-extras")
5423 #:phases
5424 (modify-phases %standard-phases
5425 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5426 ;; commits after 1.0.0.5, but ASDF fails to read the
5427 ;; "-REVISION-COMMIT" part generated by Guix.
5428 (add-after 'unpack 'patch-requirement
5429 (lambda _
5430 (substitute* "fare-quasiquote.asd"
5431 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5432 "\"fare-utils\""))
5433 (substitute* "fare-quasiquote-optima.asd"
5434 (("\\(:version \"optima\" \"1\\.0\"\\)")
5435 "\"optima\""))
5436 #t)))))
5437 (synopsis "Pattern-matching friendly implementation of quasiquote")
5438 (description "The main purpose of this n+2nd reimplementation of
5439 quasiquote is enable matching of quasiquoted patterns, using Optima or
5440 Trivia.")
5441 (license license:expat))))
5442
5443 (define-public cl-fare-quasiquote
5444 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5445
5446 (define-public ecl-fare-quasiquote
5447 (sbcl-package->ecl-package sbcl-fare-quasiquote))
5448
5449 ;;; Split the trivia package in two to work around the circular dependency
5450 ;;; between guicho271828/trivia and guicho271828/type-i.
5451 (define-public sbcl-trivia.trivial
5452 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
5453 (revision "2"))
5454 (package
5455 (name "sbcl-trivia.trivial")
5456 (version (git-version "0.0.0" revision commit))
5457 (source
5458 (origin
5459 (method git-fetch)
5460 (uri (git-reference
5461 (url "https://github.com/guicho271828/trivia")
5462 (commit commit)))
5463 (file-name (git-file-name "trivia" version))
5464 (sha256
5465 (base32
5466 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
5467 (build-system asdf-build-system/sbcl)
5468 (inputs
5469 `(("alexandria" ,sbcl-alexandria)
5470 ("closer-mop" ,sbcl-closer-mop)
5471 ("lisp-namespace" ,sbcl-lisp-namespace)
5472 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
5473 (arguments
5474 '(#:phases
5475 (modify-phases %standard-phases
5476 (add-after 'unpack 'fix-build
5477 (lambda _
5478 (for-each delete-file
5479 '("trivia.balland2006.asd"
5480 "trivia.ppcre.asd"
5481 "trivia.quasiquote.asd"
5482 "trivia.cffi.asd"
5483 "trivia.asd"
5484 "trivia.test.asd"))
5485 #t)))))
5486 (synopsis "Pattern matching in Common Lisp")
5487 (description "Trivia is a pattern matching compiler that is compatible
5488 with Optima, another pattern matching library for Common Lisp. It is meant to
5489 be faster and more extensible than Optima.")
5490 (home-page "https://github.com/guicho271828/trivia")
5491 (license license:llgpl))))
5492
5493 (define-public cl-trivia.trivial
5494 (sbcl-package->cl-source-package sbcl-trivia.trivial))
5495
5496 (define-public ecl-trivia.trivial
5497 (sbcl-package->ecl-package sbcl-trivia.trivial))
5498
5499 (define-public sbcl-trivia
5500 (package
5501 (inherit sbcl-trivia.trivial)
5502 (name "sbcl-trivia")
5503 (native-inputs
5504 `(("fiveam" ,sbcl-fiveam)
5505 ("optima" ,sbcl-optima)))
5506 (inputs
5507 `(("alexandria" ,sbcl-alexandria)
5508 ("cffi" ,sbcl-cffi)
5509 ("cl-ppcre" ,sbcl-cl-ppcre)
5510 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5511 ("iterate" ,sbcl-iterate)
5512 ("trivia.trivial" ,sbcl-trivia.trivial)
5513 ("type-i" ,sbcl-type-i)))
5514 (arguments
5515 '(#:asd-systems '("trivia"
5516 "trivia.ppcre"
5517 "trivia.quasiquote"
5518 "trivia.cffi")
5519 #:test-asd-file "trivia.test.asd"
5520 #:phases
5521 (modify-phases %standard-phases
5522 (add-after 'unpack 'fix-build
5523 (lambda _
5524 (for-each delete-file
5525 '("trivia.level0.asd"
5526 "trivia.level1.asd"
5527 "trivia.level2.asd"
5528 "trivia.trivial.asd"))
5529 #t)))))))
5530
5531 (define-public cl-trivia
5532 (sbcl-package->cl-source-package sbcl-trivia))
5533
5534 (define-public ecl-trivia
5535 (sbcl-package->ecl-package sbcl-trivia))
5536
5537 (define-public sbcl-mk-string-metrics
5538 (package
5539 (name "sbcl-mk-string-metrics")
5540 (version "0.1.2")
5541 (home-page "https://github.com/cbaggers/mk-string-metrics/")
5542 (source (origin
5543 (method git-fetch)
5544 (uri (git-reference
5545 (url home-page)
5546 (commit version)))
5547 (sha256
5548 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
5549 (file-name (git-file-name name version))))
5550 (build-system asdf-build-system/sbcl)
5551 (synopsis "Calculate various string metrics efficiently in Common Lisp")
5552 (description "This library implements efficient algorithms that calculate
5553 various string metrics in Common Lisp:
5554
5555 @itemize
5556 @item Damerau-Levenshtein distance
5557 @item Hamming distance
5558 @item Jaccard similarity coefficient
5559 @item Jaro distance
5560 @item Jaro-Winkler distance
5561 @item Levenshtein distance
5562 @item Normalized Damerau-Levenshtein distance
5563 @item Normalized Levenshtein distance
5564 @item Overlap coefficient
5565 @end itemize\n")
5566 (license license:x11)))
5567
5568 (define-public cl-mk-string-metrics
5569 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
5570
5571 (define-public ecl-mk-string-metrics
5572 (sbcl-package->ecl-package sbcl-mk-string-metrics))
5573
5574 (define-public sbcl-cl-str
5575 (package
5576 (name "sbcl-cl-str")
5577 (version "0.19")
5578 (home-page "https://github.com/vindarel/cl-str")
5579 (source (origin
5580 (method git-fetch)
5581 (uri (git-reference
5582 (url home-page)
5583 (commit version)))
5584 (sha256
5585 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
5586 (file-name (git-file-name name version))))
5587 (build-system asdf-build-system/sbcl)
5588 (inputs
5589 `(("cl-ppcre" ,sbcl-cl-ppcre)
5590 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
5591 ("cl-change-case" ,sbcl-cl-change-case)))
5592 (native-inputs
5593 `(("prove" ,sbcl-prove)))
5594 (arguments
5595 `(#:asd-systems '("str")
5596 #:test-asd-file "str.test.asd"))
5597 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
5598 (description "A modern and consistent Common Lisp string manipulation
5599 library that focuses on modernity, simplicity and discoverability:
5600 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
5601 @code{str:concat strings} instead of an unusual format construct; one
5602 discoverable library instead of many; consistency and composability, where
5603 @code{s} is always the last argument, which makes it easier to feed pipes and
5604 arrows.")
5605 (license license:expat)))
5606
5607 (define-public cl-str
5608 (sbcl-package->cl-source-package sbcl-cl-str))
5609
5610 (define-public ecl-cl-str
5611 (sbcl-package->ecl-package sbcl-cl-str))
5612
5613 (define-public sbcl-cl-xmlspam
5614 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
5615 (package
5616 (name "sbcl-cl-xmlspam")
5617 (build-system asdf-build-system/sbcl)
5618 (version (git-version "0.0.0" "1" commit))
5619 (home-page "https://github.com/rogpeppe/cl-xmlspam")
5620 (source
5621 (origin
5622 (method git-fetch)
5623 (uri (git-reference
5624 (url home-page)
5625 (commit commit)))
5626 (file-name (string-append name "-" version))
5627 (sha256
5628 (base32
5629 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
5630 (inputs
5631 `(("cxml" ,sbcl-cxml)
5632 ("cl-ppcre" ,sbcl-cl-ppcre)))
5633 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
5634 (description "CXML does an excellent job at parsing XML elements, but what
5635 do you do when you have a XML file that's larger than you want to fit in
5636 memory, and you want to extract some information from it? Writing code to deal
5637 with SAX events, or even using Klacks, quickly becomes tedious.
5638 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
5639 to write code that mirrors the structure of the XML that it's parsing. It
5640 also makes it easy to shift paradigms when necessary - the usual Lisp control
5641 constructs can be used interchangeably with pattern matching, and the full
5642 power of CXML is available when necessary.")
5643 (license license:bsd-3))))
5644
5645 (define-public cl-xmlspam
5646 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
5647
5648 (define-public ecl-cl-xmlspam
5649 (sbcl-package->ecl-package sbcl-cl-xmlspam))
5650
5651 (define-public sbcl-dbus
5652 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
5653 (revision "1"))
5654 (package
5655 (name "sbcl-dbus")
5656 (version (git-version "20190408" revision commit))
5657 (home-page "https://github.com/death/dbus")
5658 (source
5659 (origin
5660 (method git-fetch)
5661 (uri (git-reference
5662 (url home-page)
5663 (commit commit)))
5664 (file-name (git-file-name name version))
5665 (sha256
5666 (base32
5667 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
5668 (build-system asdf-build-system/sbcl)
5669 (inputs
5670 `(("alexandria" ,sbcl-alexandria)
5671 ("trivial-garbage" ,sbcl-trivial-garbage)
5672 ("babel" ,sbcl-babel)
5673 ("iolib" ,sbcl-iolib)
5674 ("ieee-floats" ,sbcl-ieee-floats)
5675 ("flexi-streams" ,sbcl-flexi-streams)
5676 ("cl-xmlspam" ,sbcl-cl-xmlspam)
5677 ("ironclad" ,sbcl-ironclad)))
5678 (synopsis "D-Bus client library for Common Lisp")
5679 (description "This is a Common Lisp library that publishes D-Bus
5680 objects as well as send and notify other objects connected to a bus.")
5681 (license license:bsd-2))))
5682
5683 (define-public cl-dbus
5684 (sbcl-package->cl-source-package sbcl-dbus))
5685
5686 (define-public ecl-dbus
5687 (sbcl-package->ecl-package sbcl-dbus))
5688
5689 (define-public sbcl-cl-hooks
5690 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
5691 (revision "1"))
5692 (package
5693 (name "sbcl-cl-hooks")
5694 (build-system asdf-build-system/sbcl)
5695 (version (git-version "0.2.1" revision commit))
5696 (home-page "https://github.com/scymtym/architecture.hooks")
5697 (source
5698 (origin
5699 (method git-fetch)
5700 (uri (git-reference
5701 (url home-page)
5702 (commit commit)))
5703 (file-name (git-file-name name version))
5704 (sha256
5705 (base32
5706 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
5707 (inputs
5708 `(("alexandria" ,sbcl-alexandria)
5709 ("let-plus" ,sbcl-let-plus)
5710 ("trivial-garbage" ,sbcl-trivial-garbage)
5711 ("closer-mop" ,sbcl-closer-mop)))
5712 (native-inputs
5713 `(("fiveam" ,sbcl-fiveam)))
5714 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
5715 (description "A hook, in the present context, is a certain kind of
5716 extension point in a program that allows interleaving the execution of
5717 arbitrary code with the execution of a the program without introducing any
5718 coupling between the two. Hooks are used extensively in the extensible editor
5719 Emacs.
5720
5721 In the Common LISP Object System (CLOS), a similar kind of extensibility is
5722 possible using the flexible multi-method dispatch mechanism. It may even seem
5723 that the concept of hooks does not provide any benefits over the possibilities
5724 of CLOS. However, there are some differences:
5725
5726 @itemize
5727
5728 @item There can be only one method for each combination of specializers and
5729 qualifiers. As a result this kind of extension point cannot be used by
5730 multiple extensions independently.
5731 @item Removing code previously attached via a @code{:before}, @code{:after} or
5732 @code{:around} method can be cumbersome.
5733 @item There could be other or even multiple extension points besides @code{:before}
5734 and @code{:after} in a single method.
5735 @item Attaching codes to individual objects using eql specializers can be
5736 cumbersome.
5737 @item Introspection of code attached a particular extension point is
5738 cumbersome since this requires enumerating and inspecting the methods of a
5739 generic function.
5740 @end itemize
5741
5742 This library tries to complement some of these weaknesses of method-based
5743 extension-points via the concept of hooks.")
5744 (license license:llgpl))))
5745
5746 (define-public cl-hooks
5747 (sbcl-package->cl-source-package sbcl-cl-hooks))
5748
5749 (define-public ecl-cl-hooks
5750 (sbcl-package->ecl-package sbcl-cl-hooks))
5751
5752 (define-public sbcl-cl-autowrap
5753 (let ((revision "1")
5754 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
5755 ;; no taged branches
5756 (package
5757 (name "sbcl-cl-autowrap")
5758 (version (git-version "1.0" revision commit))
5759 (source
5760 (origin
5761 (method git-fetch)
5762 (uri (git-reference
5763 (url "https://github.com/rpav/cl-autowrap")
5764 (commit commit)))
5765 (file-name (git-file-name name version))
5766 (sha256
5767 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
5768 (build-system asdf-build-system/sbcl)
5769 (inputs
5770 `(("alexandria" ,sbcl-alexandria)
5771 ("cffi" ,sbcl-cffi)
5772 ("cl-json" ,sbcl-cl-json)
5773 ("cl-ppcre" ,sbcl-cl-ppcre)
5774 ("defpackage-plus" ,sbcl-defpackage-plus)
5775 ("trivial-features" ,sbcl-trivial-features)))
5776 (home-page "https://github.com/rpav/cl-autowrap")
5777 (synopsis "FFI wrapper generator for Common Lisp")
5778 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
5779 (license license:bsd-2))))
5780
5781 (define-public cl-autowrap
5782 (sbcl-package->cl-source-package sbcl-cl-autowrap))
5783
5784 (define-public ecl-cl-autowrap
5785 (sbcl-package->ecl-package sbcl-cl-autowrap))
5786
5787 (define-public sbcl-s-sysdeps
5788 ;; No release since 2013.
5789 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
5790 (revision "2"))
5791 (package
5792 (name "sbcl-s-sysdeps")
5793 (build-system asdf-build-system/sbcl)
5794 (version (git-version "1" revision commit))
5795 (home-page "https://github.com/svenvc/s-sysdeps")
5796 (source
5797 (origin
5798 (method git-fetch)
5799 (uri (git-reference
5800 (url home-page)
5801 (commit commit)))
5802 (file-name (git-file-name name version))
5803 (sha256
5804 (base32
5805 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
5806 (inputs
5807 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5808 ("usocket" ,sbcl-usocket)))
5809 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
5810 (description "@code{s-sysdeps} is an abstraction layer over platform
5811 dependent functionality. This simple package is used as a building block in a
5812 number of other open source projects.
5813
5814 @code{s-sysdeps} abstracts:
5815
5816 @itemize
5817 @item managing processes,
5818 @item implementing a standard TCP/IP server,
5819 @item opening a client TCP/IP socket stream,
5820 @item working with process locks.
5821 @end itemize\n")
5822 (license license:llgpl))))
5823
5824 (define-public cl-s-sysdeps
5825 (sbcl-package->cl-source-package sbcl-s-sysdeps))
5826
5827 (define-public ecl-s-sysdeps
5828 (sbcl-package->ecl-package sbcl-s-sysdeps))
5829
5830 (define-public sbcl-cl-prevalence
5831 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
5832 (revision "4"))
5833 (package
5834 (name "sbcl-cl-prevalence")
5835 (build-system asdf-build-system/sbcl)
5836 (version (git-version "5" revision commit))
5837 (home-page "https://github.com/40ants/cl-prevalence")
5838 (source
5839 (origin
5840 (method git-fetch)
5841 (uri (git-reference
5842 (url home-page)
5843 (commit commit)))
5844 (file-name (git-file-name name version))
5845 (sha256
5846 (base32
5847 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
5848 (inputs
5849 `(("s-sysdeps" ,sbcl-s-sysdeps)
5850 ("s-xml" ,sbcl-s-xml)))
5851 (native-inputs
5852 `(("fiveam" ,sbcl-fiveam)))
5853 (synopsis "Implementation of object prevalence for Common Lisp")
5854 (description "This Common Lisp library implements object prevalence (see
5855 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
5856 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
5857 classes and cyclic data structures are supported.")
5858 (license license:llgpl))))
5859
5860 (define-public cl-prevalence
5861 (sbcl-package->cl-source-package sbcl-cl-prevalence))
5862
5863 (define-public ecl-cl-prevalence
5864 (sbcl-package->ecl-package sbcl-cl-prevalence))
5865
5866 (define-public sbcl-series
5867 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
5868 (revision "1"))
5869 (package
5870 (name "sbcl-series")
5871 (version (git-version "2.2.11" revision commit))
5872 (source
5873 (origin
5874 (method git-fetch)
5875 (uri (git-reference
5876 (url "git://git.code.sf.net/p/series/series")
5877 (commit commit)))
5878 (file-name (git-file-name name version))
5879 (sha256
5880 (base32
5881 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
5882 (build-system asdf-build-system/sbcl)
5883 (arguments
5884 ;; Disable the tests, they are apparently buggy and I didn't find
5885 ;; a simple way to make them run and pass.
5886 '(#:tests? #f))
5887 (synopsis "Series data structure for Common Lisp")
5888 (description
5889 "This Common Lisp library provides a series data structure much like
5890 a sequence, with similar kinds of operations. The difference is that in many
5891 situations, operations on series may be composed functionally and yet execute
5892 iteratively, without the need to construct intermediate series values
5893 explicitly. In this manner, series provide both the clarity of a functional
5894 programming style and the efficiency of an iterative programming style.")
5895 (home-page "http://series.sourceforge.net/")
5896 (license license:expat))))
5897
5898 (define-public cl-series
5899 (sbcl-package->cl-source-package sbcl-series))
5900
5901 (define-public ecl-series
5902 (sbcl-package->ecl-package sbcl-series))
5903
5904 (define-public sbcl-periods
5905 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
5906 (revision "1"))
5907 (package
5908 (name "sbcl-periods")
5909 (version (git-version "0.0.2" revision commit))
5910 (source
5911 (origin
5912 (method git-fetch)
5913 (uri (git-reference
5914 (url "https://github.com/jwiegley/periods")
5915 (commit commit)))
5916 (file-name (git-file-name name version))
5917 (sha256
5918 (base32
5919 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
5920 (build-system asdf-build-system/sbcl)
5921 (inputs
5922 `(("local-time" ,sbcl-local-time)
5923 ("series" ,sbcl-series)))
5924 (arguments
5925 '(#:asd-systems '("periods"
5926 "periods-series")))
5927 (synopsis "Common Lisp library for manipulating date/time objects")
5928 (description
5929 "Periods is a Common Lisp library providing a set of utilities for
5930 manipulating times, distances between times, and both contiguous and
5931 discontiguous ranges of time.")
5932 (home-page "https://github.com/jwiegley/periods")
5933 (license license:bsd-3))))
5934
5935 (define-public cl-periods
5936 (sbcl-package->cl-source-package sbcl-periods))
5937
5938 (define-public ecl-periods
5939 (sbcl-package->ecl-package sbcl-periods))
5940
5941 (define-public sbcl-metatilities-base
5942 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
5943 (revision "1"))
5944 (package
5945 (name "sbcl-metatilities-base")
5946 (version (git-version "0.6.6" revision commit))
5947 (source
5948 (origin
5949 (method git-fetch)
5950 (uri (git-reference
5951 (url "https://github.com/gwkkwg/metatilities-base")
5952 (commit commit)))
5953 (file-name (git-file-name name version))
5954 (sha256
5955 (base32
5956 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
5957 (build-system asdf-build-system/sbcl)
5958 (native-inputs
5959 `(("lift" ,sbcl-lift)))
5960 (synopsis "Core of the metatilities Common Lisp library")
5961 (description
5962 "Metatilities-base is the core of the metatilities Common Lisp library
5963 which implements a set of utilities.")
5964 (home-page "https://common-lisp.net/project/metatilities-base/")
5965 (license license:expat))))
5966
5967 (define-public cl-metatilities-base
5968 (sbcl-package->cl-source-package sbcl-metatilities-base))
5969
5970 (define-public ecl-metatilities-base
5971 (sbcl-package->ecl-package sbcl-metatilities-base))
5972
5973 (define-public sbcl-cl-containers
5974 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
5975 (revision "3"))
5976 (package
5977 (name "sbcl-cl-containers")
5978 (version (git-version "0.12.1" revision commit))
5979 (source
5980 (origin
5981 (method git-fetch)
5982 (uri (git-reference
5983 (url "https://github.com/gwkkwg/cl-containers")
5984 (commit commit)))
5985 (file-name (git-file-name name version))
5986 (sha256
5987 (base32
5988 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
5989 (build-system asdf-build-system/sbcl)
5990 (native-inputs
5991 `(("lift" ,sbcl-lift)))
5992 (inputs
5993 `(("metatilities-base" ,sbcl-metatilities-base)))
5994 (arguments
5995 '(#:asd-files '("cl-containers.asd")
5996 #:phases
5997 (modify-phases %standard-phases
5998 (add-after 'unpack 'relax-version-checks
5999 (lambda _
6000 (substitute* "cl-containers.asd"
6001 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6002 "\"metatilities-base\""))
6003 (substitute* "cl-containers-test.asd"
6004 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6005 "\"lift\""))
6006 #t)))))
6007 (synopsis "Container library for Common Lisp")
6008 (description
6009 "Common Lisp ships with a set of powerful built in data structures
6010 including the venerable list, full featured arrays, and hash-tables.
6011 CL-containers enhances and builds on these structures by adding containers
6012 that are not available in native Lisp (for example: binary search trees,
6013 red-black trees, sparse arrays and so on), and by providing a standard
6014 interface so that they are simpler to use and so that changing design
6015 decisions becomes significantly easier.")
6016 (home-page "https://common-lisp.net/project/cl-containers/")
6017 (license license:expat))))
6018
6019 (define-public cl-containers
6020 (sbcl-package->cl-source-package sbcl-cl-containers))
6021
6022 (define-public ecl-cl-containers
6023 (sbcl-package->ecl-package sbcl-cl-containers))
6024
6025 (define-public sbcl-xlunit
6026 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6027 (revision "1"))
6028 (package
6029 (name "sbcl-xlunit")
6030 (version (git-version "0.6.3" revision commit))
6031 (source
6032 (origin
6033 (method git-fetch)
6034 (uri (git-reference
6035 (url "http://git.kpe.io/xlunit.git")
6036 (commit commit)))
6037 (file-name (git-file-name name version))
6038 (sha256
6039 (base32
6040 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6041 (build-system asdf-build-system/sbcl)
6042 (arguments
6043 '(#:phases
6044 (modify-phases %standard-phases
6045 (add-after 'unpack 'fix-tests
6046 (lambda _
6047 (substitute* "xlunit.asd"
6048 ((" :force t") ""))
6049 #t)))))
6050 (synopsis "Unit testing package for Common Lisp")
6051 (description
6052 "The XLUnit package is a toolkit for building test suites. It is based
6053 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6054 (home-page "http://quickdocs.org/xlunit/")
6055 (license license:bsd-3))))
6056
6057 (define-public cl-xlunit
6058 (sbcl-package->cl-source-package sbcl-xlunit))
6059
6060 (define-public ecl-xlunit
6061 (sbcl-package->ecl-package sbcl-xlunit))
6062
6063 (define-public sbcl-cambl
6064 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6065 (revision "1"))
6066 (package
6067 (name "sbcl-cambl")
6068 (version (git-version "4.0.0" revision commit))
6069 (source
6070 (origin
6071 (method git-fetch)
6072 (uri (git-reference
6073 (url "https://github.com/jwiegley/cambl")
6074 (commit commit)))
6075 (file-name (git-file-name "cambl" version))
6076 (sha256
6077 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6078 (build-system asdf-build-system/sbcl)
6079 (native-inputs
6080 `(("xlunit" ,sbcl-xlunit)))
6081 (inputs
6082 `(("alexandria" ,sbcl-alexandria)
6083 ("cl-containers" ,sbcl-cl-containers)
6084 ("local-time" ,sbcl-local-time)
6085 ("periods" ,sbcl-periods)))
6086 (arguments
6087 '(#:asd-files '("fprog.asd"
6088 "cambl.asd")))
6089 (synopsis "Commoditized amounts and balances for Common Lisp")
6090 (description
6091 "CAMBL is a Common Lisp library providing a convenient facility for
6092 working with commoditized values. It does not allow compound units (and so is
6093 not suited for scientific operations) but does work rather nicely for the
6094 purpose of financial calculations.")
6095 (home-page "https://github.com/jwiegley/cambl")
6096 (license license:bsd-3))))
6097
6098 (define-public cl-cambl
6099 (sbcl-package->cl-source-package sbcl-cambl))
6100
6101 (define-public ecl-cambl
6102 (sbcl-package->ecl-package sbcl-cambl))
6103
6104 (define-public sbcl-cl-ledger
6105 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6106 (revision "1"))
6107 (package
6108 (name "sbcl-cl-ledger")
6109 (version (git-version "4.0.0" revision commit))
6110 (source
6111 (origin
6112 (method git-fetch)
6113 (uri (git-reference
6114 (url "https://github.com/ledger/cl-ledger")
6115 (commit commit)))
6116 (file-name (git-file-name name version))
6117 (sha256
6118 (base32
6119 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6120 (build-system asdf-build-system/sbcl)
6121 (inputs
6122 `(("cambl" ,sbcl-cambl)
6123 ("cl-ppcre" ,sbcl-cl-ppcre)
6124 ("local-time" ,sbcl-local-time)
6125 ("periods" ,sbcl-periods)))
6126 (arguments
6127 '(#:phases
6128 (modify-phases %standard-phases
6129 (add-after 'unpack 'fix-system-definition
6130 (lambda _
6131 (substitute* "cl-ledger.asd"
6132 ((" :build-operation program-op") "")
6133 ((" :build-pathname \"cl-ledger\"") "")
6134 ((" :entry-point \"ledger::main\"") ""))
6135 #t)))))
6136 (synopsis "Common Lisp port of the Ledger accounting system")
6137 (description
6138 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6139 system.")
6140 (home-page "https://github.com/ledger/cl-ledger")
6141 (license license:bsd-3))))
6142
6143 (define-public cl-ledger
6144 (sbcl-package->cl-source-package sbcl-cl-ledger))
6145
6146 (define-public ecl-cl-ledger
6147 (sbcl-package->ecl-package sbcl-cl-ledger))
6148
6149 (define-public sbcl-bst
6150 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6151 (revision "0"))
6152 (package
6153 (name "sbcl-bst")
6154 (version (git-version "2.0" revision commit))
6155 (source
6156 (origin
6157 (method git-fetch)
6158 (uri (git-reference
6159 (url "https://github.com/glv2/bst")
6160 (commit commit)))
6161 (file-name (git-file-name name version))
6162 (sha256
6163 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6164 (build-system asdf-build-system/sbcl)
6165 (native-inputs
6166 `(("alexandria" ,sbcl-alexandria)
6167 ("fiveam" ,sbcl-fiveam)))
6168 (synopsis "Binary search tree for Common Lisp")
6169 (description
6170 "BST is a Common Lisp library for working with binary search trees that
6171 can contain any kind of values.")
6172 (home-page "https://github.com/glv2/bst")
6173 (license license:gpl3))))
6174
6175 (define-public cl-bst
6176 (sbcl-package->cl-source-package sbcl-bst))
6177
6178 (define-public ecl-bst
6179 (sbcl-package->ecl-package sbcl-bst))
6180
6181 (define-public sbcl-cl-octet-streams
6182 (package
6183 (name "sbcl-cl-octet-streams")
6184 (version "1.1")
6185 (source
6186 (origin
6187 (method git-fetch)
6188 (uri (git-reference
6189 (url "https://github.com/glv2/cl-octet-streams")
6190 (commit (string-append "v" version))))
6191 (file-name (git-file-name name version))
6192 (sha256
6193 (base32 "1w14czi619xmncl29lf0h8ngmf7zrna41c3j0ds8lvqd552gfa7z"))))
6194 (build-system asdf-build-system/sbcl)
6195 (native-inputs
6196 `(("fiveam" ,sbcl-fiveam)))
6197 (inputs
6198 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6199 (synopsis "In-memory octet streams for Common Lisp")
6200 (description
6201 "CL-octet-streams is a library implementing in-memory octet
6202 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6203 cl-plumbing libraries.")
6204 (home-page "https://github.com/glv2/cl-octet-streams")
6205 (license license:gpl3+)))
6206
6207 (define-public cl-octet-streams
6208 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6209
6210 (define-public ecl-cl-octet-streams
6211 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6212
6213 (define-public sbcl-lzlib
6214 (let ((commit "c3470260454ff6992164b6ed4918c0f1ab7f0720")
6215 (revision "1"))
6216 (package
6217 (name "sbcl-lzlib")
6218 (version (git-version "1.1" revision commit))
6219 (source
6220 (origin
6221 (method git-fetch)
6222 (uri (git-reference
6223 (url "https://github.com/glv2/cl-lzlib")
6224 (commit commit)))
6225 (file-name (git-file-name name version))
6226 (sha256
6227 (base32 "1p8b75h3lmkay1lngj4b80c99lfxl2mp532dlrn98kvfa9cq7xdn"))))
6228 (build-system asdf-build-system/sbcl)
6229 (native-inputs
6230 `(("fiveam" ,sbcl-fiveam)))
6231 (inputs
6232 `(("cffi" ,sbcl-cffi)
6233 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6234 ("lparallel" ,sbcl-lparallel)
6235 ("lzlib" ,lzlib)))
6236 (arguments
6237 '(#:phases
6238 (modify-phases %standard-phases
6239 (add-after 'unpack 'fix-paths
6240 (lambda* (#:key inputs #:allow-other-keys)
6241 (substitute* "src/lzlib.lisp"
6242 (("liblz\\.so")
6243 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6244 #t)))))
6245 (synopsis "Common Lisp library for lzip (de)compression")
6246 (description
6247 "This Common Lisp library provides functions for lzip (LZMA)
6248 compression/decompression using bindings to the lzlib C library.")
6249 (home-page "https://github.com/glv2/cl-lzlib")
6250 (license license:gpl3+))))
6251
6252 (define-public cl-lzlib
6253 (sbcl-package->cl-source-package sbcl-lzlib))
6254
6255 (define-public ecl-lzlib
6256 (sbcl-package->ecl-package sbcl-lzlib))
6257
6258 (define-public sbcl-chanl
6259 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6260 (revision "1"))
6261 (package
6262 (name "sbcl-chanl")
6263 (version (git-version "0.4.1" revision commit))
6264 (source
6265 (origin
6266 (method git-fetch)
6267 (uri (git-reference
6268 (url "https://github.com/zkat/chanl")
6269 (commit commit)))
6270 (file-name (git-file-name name version))
6271 (sha256
6272 (base32
6273 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6274 (build-system asdf-build-system/sbcl)
6275 (native-inputs
6276 `(("fiveam" ,sbcl-fiveam)))
6277 (inputs
6278 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6279 (synopsis "Portable channel-based concurrency for Common Lisp")
6280 (description "Common Lisp library for channel-based concurrency. In
6281 a nutshell, you create various threads sequentially executing tasks you need
6282 done, and use channel objects to communicate and synchronize the state of these
6283 threads.")
6284 (home-page "https://github.com/zkat/chanl")
6285 (license (list license:expat license:bsd-3)))))
6286
6287 (define-public cl-chanl
6288 (sbcl-package->cl-source-package sbcl-chanl))
6289
6290 (define-public ecl-chanl
6291 (sbcl-package->ecl-package sbcl-chanl))
6292
6293 (define-public sbcl-cl-store
6294 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6295 (revision "1"))
6296 (package
6297 (name "sbcl-cl-store")
6298 (version (git-version "0.8.11" revision commit))
6299 (source
6300 (origin
6301 (method git-fetch)
6302 (uri (git-reference
6303 (url "https://github.com/skypher/cl-store")
6304 (commit commit)))
6305 (file-name (git-file-name name version))
6306 (sha256
6307 (base32
6308 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6309 (build-system asdf-build-system/sbcl)
6310 (native-inputs
6311 `(("rt" ,sbcl-rt)))
6312 (synopsis "Common Lisp library to serialize data")
6313 (description
6314 "CL-STORE is a portable serialization package which should give you the
6315 ability to store all Common Lisp data types into streams.")
6316 (home-page "https://www.common-lisp.net/project/cl-store/")
6317 (license license:expat))))
6318
6319 (define-public cl-store
6320 (sbcl-package->cl-source-package sbcl-cl-store))
6321
6322 (define-public ecl-cl-store
6323 (sbcl-package->ecl-package sbcl-cl-store))
6324
6325 (define-public sbcl-cl-gobject-introspection
6326 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
6327 (revision "0"))
6328 (package
6329 (name "sbcl-cl-gobject-introspection")
6330 (version (git-version "0.3" revision commit))
6331 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6332 (source
6333 (origin
6334 (method git-fetch)
6335 (uri (git-reference
6336 (url home-page)
6337 (commit commit)))
6338 (file-name (git-file-name name version))
6339 (sha256
6340 (base32
6341 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
6342 (build-system asdf-build-system/sbcl)
6343 (inputs
6344 `(("alexandria" ,sbcl-alexandria)
6345 ("cffi" ,sbcl-cffi)
6346 ("iterate" ,sbcl-iterate)
6347 ("trivial-garbage" ,sbcl-trivial-garbage)
6348 ("glib" ,glib)
6349 ("gobject-introspection" ,gobject-introspection)))
6350 (native-inputs
6351 `(("fiveam" ,sbcl-fiveam)))
6352 (arguments
6353 ;; TODO: Tests fail, see
6354 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
6355 '(#:tests? #f
6356 #:phases
6357 (modify-phases %standard-phases
6358 (add-after (quote unpack) (quote fix-paths)
6359 (lambda* (#:key inputs #:allow-other-keys)
6360 (substitute* "src/init.lisp"
6361 (("libgobject-2\\.0\\.so")
6362 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6363 (("libgirepository-1\\.0\\.so")
6364 (string-append (assoc-ref inputs "gobject-introspection")
6365 "/lib/libgirepository-1.0.so")))
6366 #t)))))
6367 (synopsis "Common Lisp bindings to GObject Introspection")
6368 (description
6369 "This library is a bridge between Common Lisp and GObject
6370 Introspection, which enables Common Lisp programs to access the full interface
6371 of C+GObject libraries without the need of writing dedicated bindings.")
6372 (license (list license:bsd-3
6373 ;; Tests are under a different license.
6374 license:llgpl)))))
6375
6376 (define-public cl-gobject-introspection
6377 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6378
6379 (define-public ecl-cl-gobject-introspection
6380 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6381
6382 (define-public sbcl-string-case
6383 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
6384 (revision "0"))
6385 (package
6386 (name "sbcl-string-case")
6387 (version (git-version "0.0.2" revision commit))
6388 (home-page "https://github.com/pkhuong/string-case")
6389 (source
6390 (origin
6391 (method git-fetch)
6392 (uri (git-reference
6393 (url home-page)
6394 (commit commit)))
6395 (file-name (git-file-name name version))
6396 (sha256
6397 (base32
6398 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
6399 (build-system asdf-build-system/sbcl)
6400 (synopsis "Efficient string= case in Common Lisp")
6401 (description
6402 "@code{string-case} is a Common Lisp macro that generates specialised decision
6403 trees to dispatch on string equality.")
6404 (license license:bsd-3))))
6405
6406 (define-public cl-string-case
6407 (sbcl-package->cl-source-package sbcl-string-case))
6408
6409 (define-public ecl-string-case
6410 (sbcl-package->ecl-package sbcl-string-case))
6411
6412 (define-public sbcl-global-vars
6413 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
6414 (revision "0"))
6415 (package
6416 (name "sbcl-global-vars")
6417 (version (git-version "1.0.0" revision commit))
6418 (home-page "https://github.com/lmj/global-vars")
6419 (source
6420 (origin
6421 (method git-fetch)
6422 (uri (git-reference
6423 (url home-page)
6424 (commit commit)))
6425 (file-name (git-file-name name version))
6426 (sha256
6427 (base32
6428 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
6429 (build-system asdf-build-system/sbcl)
6430 (synopsis "Efficient global variables in Common Lisp")
6431 (description
6432 "In Common Lisp, a special variable that is never dynamically bound
6433 typically serves as a stand-in for a global variable. The @code{global-vars}
6434 library provides true global variables that are implemented by some compilers.
6435 An attempt to rebind a global variable properly results in a compiler error.
6436 That is, a global variable cannot be dynamically bound.
6437
6438 Global variables therefore allow us to communicate an intended usage that
6439 differs from special variables. Global variables are also more efficient than
6440 special variables, especially in the presence of threads.")
6441 (license license:expat))))
6442
6443 (define-public cl-global-vars
6444 (sbcl-package->cl-source-package sbcl-global-vars))
6445
6446 (define-public ecl-global-vars
6447 (sbcl-package->ecl-package sbcl-global-vars))
6448
6449 (define-public sbcl-trivial-file-size
6450 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
6451 (revision "0"))
6452 (package
6453 (name "sbcl-trivial-file-size")
6454 (version (git-version "0.0.0" revision commit))
6455 (home-page "https://github.com/ruricolist/trivial-file-size")
6456 (source
6457 (origin
6458 (method git-fetch)
6459 (uri (git-reference
6460 (url home-page)
6461 (commit commit)))
6462 (file-name (git-file-name name version))
6463 (sha256
6464 (base32
6465 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
6466 (build-system asdf-build-system/sbcl)
6467 (native-inputs
6468 `(("fiveam" ,sbcl-fiveam)))
6469 (synopsis "Size of a file in bytes in Common Lisp")
6470 (description
6471 "The canonical way to determine the size of a file in bytes, using Common Lisp,
6472 is to open the file with an element type of (unsigned-byte 8) and then
6473 calculate the length of the stream. This is less than ideal. In most cases
6474 it is better to get the size of the file from its metadata, using a system
6475 call.
6476
6477 This library exports a single function, file-size-in-octets. It returns the
6478 size of a file in bytes, using system calls when possible.")
6479 (license license:expat))))
6480
6481 (define-public cl-trivial-file-size
6482 (sbcl-package->cl-source-package sbcl-trivial-file-size))
6483
6484 (define-public ecl-trivial-file-size
6485 (sbcl-package->ecl-package sbcl-trivial-file-size))
6486
6487 (define-public sbcl-trivial-macroexpand-all
6488 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
6489 (revision "0"))
6490 (package
6491 (name "sbcl-trivial-macroexpand-all")
6492 (version (git-version "0.0.0" revision commit))
6493 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
6494 (source
6495 (origin
6496 (method git-fetch)
6497 (uri (git-reference
6498 (url home-page)
6499 (commit commit)))
6500 (file-name (git-file-name name version))
6501 (sha256
6502 (base32
6503 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
6504 (build-system asdf-build-system/sbcl)
6505 (native-inputs
6506 `(("fiveam" ,sbcl-fiveam)))
6507 (synopsis "Portable macroexpand-all for Common Lisp")
6508 (description
6509 "This library provides a macroexpand-all function that calls the
6510 implementation specific equivalent.")
6511 (license license:unlicense))))
6512
6513 (define-public cl-trivial-macroexpand-all
6514 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
6515
6516 (define-public ecl-trivial-macroexpand-all
6517 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
6518
6519 (define-public sbcl-serapeum
6520 (let ((commit "c5e352a9f04a84a93742193c01734f4fb31d9f82")
6521 (revision "3"))
6522 (package
6523 (name "sbcl-serapeum")
6524 (version (git-version "0.0.0" revision commit))
6525 (home-page "https://github.com/ruricolist/serapeum")
6526 (source
6527 (origin
6528 (method git-fetch)
6529 (uri (git-reference
6530 (url home-page)
6531 (commit commit)))
6532 (file-name (git-file-name name version))
6533 (sha256
6534 (base32
6535 "16767pxl766c15jznr4srcbp7cnxf8w9lkyaqpp5w5crqymw84nw"))))
6536 (build-system asdf-build-system/sbcl)
6537 (inputs
6538 `(("alexandria" ,sbcl-alexandria)
6539 ("trivia" ,sbcl-trivia)
6540 ("split-sequence" ,sbcl-split-sequence)
6541 ("string-case" ,sbcl-string-case)
6542 ("parse-number" ,sbcl-parse-number)
6543 ("trivial-garbage" ,sbcl-trivial-garbage)
6544 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6545 ("named-readtables" ,sbcl-named-readtables)
6546 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6547 ("parse-declarations-1.0" ,sbcl-parse-declarations)
6548 ("global-vars" ,sbcl-global-vars)
6549 ("trivial-file-size" ,sbcl-trivial-file-size)
6550 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
6551 (native-inputs
6552 `(("fiveam" ,sbcl-fiveam)
6553 ("local-time" ,sbcl-local-time)))
6554 (arguments
6555 '(#:phases
6556 (modify-phases %standard-phases
6557 (add-after 'unpack 'disable-failing-tests
6558 (lambda* (#:key inputs #:allow-other-keys)
6559 (substitute* "serapeum.asd"
6560 ;; Guix does not have Quicklisp, and probably never will.
6561 (("\\(:file \"quicklisp\"\\)") ""))
6562 #t)))))
6563 (synopsis "Common Lisp utility library beyond Alexandria")
6564 (description
6565 "Serapeum is a conservative library of Common Lisp utilities. It is a
6566 supplement, not a competitor, to Alexandria.")
6567 (license license:expat))))
6568
6569 (define-public cl-serapeum
6570 (sbcl-package->cl-source-package sbcl-serapeum))
6571
6572 (define-public ecl-serapeum
6573 (sbcl-package->ecl-package sbcl-serapeum))
6574
6575 (define-public sbcl-arrows
6576 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
6577 (revision "0"))
6578 (package
6579 (name "sbcl-arrows")
6580 (version (git-version "0.2.0" revision commit))
6581 (source
6582 (origin
6583 (method git-fetch)
6584 (uri (git-reference
6585 (url "https://gitlab.com/Harleqin/arrows.git")
6586 (commit commit)))
6587 (file-name (git-file-name name version))
6588 (sha256
6589 (base32
6590 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
6591 (build-system asdf-build-system/sbcl)
6592 (native-inputs
6593 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
6594 (synopsis "Clojure-like arrow macros for Common Lisp")
6595 (description
6596 "This library implements the @code{->} and @code{->>} macros from
6597 Clojure, as well as several expansions on the idea.")
6598 (home-page "https://gitlab.com/Harleqin/arrows")
6599 (license license:public-domain))))
6600
6601 (define-public cl-arrows
6602 (sbcl-package->cl-source-package sbcl-arrows))
6603
6604 (define-public ecl-arrows
6605 (sbcl-package->ecl-package sbcl-arrows))
6606
6607 (define-public sbcl-simple-parallel-tasks
6608 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
6609 (revision "1"))
6610 (package
6611 (name "sbcl-simple-parallel-tasks")
6612 (version (git-version "1.0" revision commit))
6613 (source
6614 (origin
6615 (method git-fetch)
6616 (uri (git-reference
6617 (url "https://github.com/glv2/simple-parallel-tasks")
6618 (commit commit)))
6619 (file-name (git-file-name name version))
6620 (sha256
6621 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
6622 (build-system asdf-build-system/sbcl)
6623 (native-inputs
6624 `(("fiveam" ,sbcl-fiveam)))
6625 (inputs
6626 `(("chanl" ,sbcl-chanl)))
6627 (synopsis "Common Lisp library to evaluate some forms in parallel")
6628 (description "This is a simple Common Lisp library to evaluate some
6629 forms in parallel.")
6630 (home-page "https://github.com/glv2/simple-parallel-tasks")
6631 (license license:gpl3))))
6632
6633 (define-public cl-simple-parallel-tasks
6634 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
6635
6636 (define-public ecl-simple-parallel-tasks
6637 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
6638
6639 (define-public sbcl-cl-heap
6640 (package
6641 (name "sbcl-cl-heap")
6642 (version "0.1.6")
6643 (source
6644 (origin
6645 (method url-fetch)
6646 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
6647 "cl-heap_" version ".tar.gz"))
6648 (sha256
6649 (base32
6650 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
6651 (build-system asdf-build-system/sbcl)
6652 (native-inputs
6653 `(("xlunit" ,sbcl-xlunit)))
6654 (arguments
6655 `(#:test-asd-file "cl-heap-tests.asd"))
6656 (synopsis "Heap and priority queue data structures for Common Lisp")
6657 (description
6658 "CL-HEAP provides various implementations of heap data structures (a
6659 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
6660 (home-page "https://common-lisp.net/project/cl-heap/")
6661 (license license:gpl3+)))
6662
6663 (define-public cl-heap
6664 (sbcl-package->cl-source-package sbcl-cl-heap))
6665
6666 (define-public ecl-cl-heap
6667 (sbcl-package->ecl-package sbcl-cl-heap))
6668
6669 (define-public sbcl-curry-compose-reader-macros
6670 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
6671 (revision "0"))
6672 (package
6673 (name "sbcl-curry-compose-reader-macros")
6674 (version (git-version "1.0.0" revision commit))
6675 (source
6676 (origin
6677 (method git-fetch)
6678 (uri
6679 (git-reference
6680 (url "https://github.com/eschulte/curry-compose-reader-macros")
6681 (commit commit)))
6682 (file-name (git-file-name name version))
6683 (sha256
6684 (base32
6685 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
6686 (build-system asdf-build-system/sbcl)
6687 (inputs
6688 `(("alexandria" ,sbcl-alexandria)
6689 ("named-readtables" ,sbcl-named-readtables)))
6690 (synopsis "Reader macros for partial application and composition")
6691 (description
6692 "This Common Lisp library provides reader macros for concise expression
6693 of function partial application and composition.")
6694 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
6695 (license license:public-domain))))
6696
6697 (define-public cl-curry-compose-reader-macros
6698 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
6699
6700 (define-public ecl-curry-compose-reader-macros
6701 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
6702
6703 (define-public sbcl-yason
6704 (package
6705 (name "sbcl-yason")
6706 (version "0.7.7")
6707 (source
6708 (origin
6709 (method git-fetch)
6710 (uri (git-reference
6711 (url "https://github.com/phmarek/yason")
6712 (commit (string-append "v" version))))
6713 (file-name (git-file-name name version))
6714 (sha256
6715 (base32
6716 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
6717 (build-system asdf-build-system/sbcl)
6718 (inputs
6719 `(("alexandria" ,sbcl-alexandria)
6720 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6721 (synopsis "Common Lisp JSON parser/encoder")
6722 (description
6723 "YASON is a Common Lisp library for encoding and decoding data in the
6724 JSON interchange format.")
6725 (home-page "https://github.com/phmarek/yason")
6726 (license license:bsd-3)))
6727
6728 (define-public cl-yason
6729 (sbcl-package->cl-source-package sbcl-yason))
6730
6731 (define-public ecl-yason
6732 (sbcl-package->ecl-package sbcl-yason))
6733
6734 (define-public sbcl-stefil
6735 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
6736 (revision "0"))
6737 (package
6738 (name "sbcl-stefil")
6739 (version (git-version "0.1" revision commit))
6740 (source
6741 (origin
6742 (method git-fetch)
6743 (uri (git-reference
6744 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
6745 (commit commit)))
6746 (file-name (git-file-name name version))
6747 (sha256
6748 (base32
6749 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
6750 (build-system asdf-build-system/sbcl)
6751 (inputs
6752 `(("alexandria" ,sbcl-alexandria)
6753 ("iterate" ,sbcl-iterate)
6754 ("metabang-bind" ,sbcl-metabang-bind)
6755 ("swank" ,sbcl-slime-swank)))
6756 (arguments
6757 '(#:phases
6758 (modify-phases %standard-phases
6759 (add-after 'unpack 'drop-unnecessary-dependency
6760 (lambda _
6761 (substitute* "package.lisp"
6762 ((":stefil-system") ""))
6763 #t)))))
6764 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
6765 (synopsis "Simple test framework")
6766 (description
6767 "Stefil is a simple test framework for Common Lisp, with a focus on
6768 interactive development.")
6769 (license license:public-domain))))
6770
6771 (define-public cl-stefil
6772 (sbcl-package->cl-source-package sbcl-stefil))
6773
6774 (define-public ecl-stefil
6775 (sbcl-package->ecl-package sbcl-stefil))
6776
6777 (define-public sbcl-graph
6778 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
6779 (revision "0"))
6780 (package
6781 (name "sbcl-graph")
6782 (version (git-version "0.0.0" revision commit))
6783 (source
6784 (origin
6785 (method git-fetch)
6786 (uri
6787 (git-reference
6788 (url "https://github.com/eschulte/graph")
6789 (commit commit)))
6790 (file-name (git-file-name name version))
6791 (sha256
6792 (base32
6793 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
6794 (build-system asdf-build-system/sbcl)
6795 (native-inputs
6796 `(("stefil" ,sbcl-stefil)))
6797 (inputs
6798 `(("alexandria" ,sbcl-alexandria)
6799 ("cl-heap" ,sbcl-cl-heap)
6800 ("cl-ppcre" ,sbcl-cl-ppcre)
6801 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
6802 ("metabang-bind" ,sbcl-metabang-bind)
6803 ("named-readtables" ,sbcl-named-readtables)
6804 ("yason" ,sbcl-yason)))
6805 (arguments
6806 '(#:asd-systems '("graph"
6807 "graph/dot"
6808 "graph/json")))
6809 (synopsis "Graph data structure and algorithms for Common Lisp")
6810 (description
6811 "The GRAPH Common Lisp library provides a data structures to represent
6812 graphs, as well as some graph manipulation and analysis algorithms (shortest
6813 path, maximum flow, minimum spanning tree, etc.).")
6814 (home-page "https://eschulte.github.io/graph/")
6815 (license license:gpl3+))))
6816
6817 (define-public cl-graph
6818 (sbcl-package->cl-source-package sbcl-graph))
6819
6820 (define-public ecl-graph
6821 (sbcl-package->ecl-package sbcl-graph))
6822
6823 (define-public sbcl-trivial-indent
6824 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
6825 (revision "0"))
6826 (package
6827 (name "sbcl-trivial-indent")
6828 (version (git-version "1.0.0" revision commit))
6829 (source
6830 (origin
6831 (method git-fetch)
6832 (uri
6833 (git-reference
6834 (url "https://github.com/Shinmera/trivial-indent")
6835 (commit commit)))
6836 (file-name (git-file-name name version))
6837 (sha256
6838 (base32
6839 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
6840 (build-system asdf-build-system/sbcl)
6841 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
6842 (description
6843 "This library allows you to define custom indentation hints for your
6844 macros if the one recognised by SLIME automatically produces unwanted
6845 results.")
6846 (home-page "https://shinmera.github.io/trivial-indent/")
6847 (license license:zlib))))
6848
6849 (define-public cl-trivial-indent
6850 (sbcl-package->cl-source-package sbcl-trivial-indent))
6851
6852 (define-public ecl-trivial-indent
6853 (sbcl-package->ecl-package sbcl-trivial-indent))
6854
6855 (define-public sbcl-documentation-utils
6856 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
6857 (revision "0"))
6858 (package
6859 (name "sbcl-documentation-utils")
6860 (version (git-version "1.2.0" revision commit))
6861 (source
6862 (origin
6863 (method git-fetch)
6864 (uri
6865 (git-reference
6866 (url "https://github.com/Shinmera/documentation-utils")
6867 (commit commit)))
6868 (file-name (git-file-name name version))
6869 (sha256
6870 (base32
6871 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
6872 (build-system asdf-build-system/sbcl)
6873 (inputs
6874 `(("trivial-indent" ,sbcl-trivial-indent)))
6875 (synopsis "Few simple tools to document Common Lisp libraries")
6876 (description
6877 "This is a small library to help you with managing the Common Lisp
6878 docstrings for your library.")
6879 (home-page "https://shinmera.github.io/documentation-utils/")
6880 (license license:zlib))))
6881
6882 (define-public cl-documentation-utils
6883 (sbcl-package->cl-source-package sbcl-documentation-utils))
6884
6885 (define-public ecl-documentation-utils
6886 (sbcl-package->ecl-package sbcl-documentation-utils))
6887
6888 (define-public sbcl-documentation-utils-extensions
6889 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
6890 (package
6891 (name "sbcl-documentation-utils-extensions")
6892 (version (git-version "0.0.0" "1" commit))
6893 (source
6894 (origin
6895 (method git-fetch)
6896 (uri
6897 (git-reference
6898 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
6899 (commit commit)))
6900 (file-name (git-file-name name version))
6901 (sha256
6902 (base32
6903 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
6904 (build-system asdf-build-system/sbcl)
6905 (inputs
6906 `(("documentation-utils" ,sbcl-documentation-utils)))
6907 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
6908 (synopsis "Set of extensions for documentation-utils")
6909 (description
6910 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
6911 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
6912 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
6913 @code{:see-also} and @code{:notes}. Gather unformatted input by using
6914 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
6915 gathered documentation with find-documentation function. Execute code stored
6916 in documentation with @code{execute-documentation}. See the examples in the
6917 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
6918 for more information.")
6919 (license license:expat))))
6920
6921 (define-public cl-documentation-utils-extensions
6922 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
6923
6924 (define-public ecl-documentation-utils-extensions
6925 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
6926
6927 (define-public sbcl-form-fiddle
6928 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
6929 (revision "0"))
6930 (package
6931 (name "sbcl-form-fiddle")
6932 (version (git-version "1.1.0" revision commit))
6933 (source
6934 (origin
6935 (method git-fetch)
6936 (uri
6937 (git-reference
6938 (url "https://github.com/Shinmera/form-fiddle")
6939 (commit commit)))
6940 (file-name (git-file-name name version))
6941 (sha256
6942 (base32
6943 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
6944 (build-system asdf-build-system/sbcl)
6945 (inputs
6946 `(("documentation-utils" ,sbcl-documentation-utils)))
6947 (synopsis "Utilities to destructure Common Lisp lambda forms")
6948 (description
6949 "Often times we need to destructure a form definition in a Common Lisp
6950 macro. This library provides a set of simple utilities to help with that.")
6951 (home-page "https://shinmera.github.io/form-fiddle/")
6952 (license license:zlib))))
6953
6954 (define-public cl-form-fiddle
6955 (sbcl-package->cl-source-package sbcl-form-fiddle))
6956
6957 (define-public ecl-form-fiddle
6958 (sbcl-package->ecl-package sbcl-form-fiddle))
6959
6960 (define-public sbcl-parachute
6961 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
6962 (revision "0"))
6963 (package
6964 (name "sbcl-parachute")
6965 (version (git-version "1.1.1" revision commit))
6966 (source
6967 (origin
6968 (method git-fetch)
6969 (uri
6970 (git-reference
6971 (url "https://github.com/Shinmera/parachute")
6972 (commit commit)))
6973 (file-name (git-file-name name version))
6974 (sha256
6975 (base32
6976 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
6977 (build-system asdf-build-system/sbcl)
6978 (inputs
6979 `(("documentation-utils" ,sbcl-documentation-utils)
6980 ("form-fiddle" ,sbcl-form-fiddle)))
6981 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
6982 (description
6983 "Parachute is a simple-to-use and extensible testing framework.
6984 In Parachute, things are organised as a bunch of named tests within a package.
6985 Each test can contain a bunch of test forms that make up its body.")
6986 (home-page "https://shinmera.github.io/parachute/")
6987 (license license:zlib))))
6988
6989 (define-public cl-parachute
6990 (sbcl-package->cl-source-package sbcl-parachute))
6991
6992 (define-public ecl-parachute
6993 (sbcl-package->ecl-package sbcl-parachute))
6994
6995 (define-public sbcl-array-utils
6996 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
6997 (revision "0"))
6998 (package
6999 (name "sbcl-array-utils")
7000 (version (git-version "1.1.1" revision commit))
7001 (source
7002 (origin
7003 (method git-fetch)
7004 (uri
7005 (git-reference
7006 (url "https://github.com/Shinmera/array-utils")
7007 (commit commit)))
7008 (file-name (git-file-name name version))
7009 (sha256
7010 (base32
7011 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7012 (build-system asdf-build-system/sbcl)
7013 (native-inputs
7014 `(("parachute" ,sbcl-parachute)))
7015 (inputs
7016 `(("documentation-utils" ,sbcl-documentation-utils)))
7017 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7018 (description
7019 "A miniature toolkit that contains some useful shifting/popping/pushing
7020 functions for arrays and vectors. Originally from Plump.")
7021 (home-page "https://shinmera.github.io/array-utils/")
7022 (license license:zlib))))
7023
7024 (define-public cl-array-utils
7025 (sbcl-package->cl-source-package sbcl-array-utils))
7026
7027 (define-public ecl-array-utils
7028 (sbcl-package->ecl-package sbcl-array-utils))
7029
7030 (define-public sbcl-plump
7031 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7032 (revision "1"))
7033 (package
7034 (name "sbcl-plump")
7035 (version (git-version "2.0.0" revision commit))
7036 (source
7037 (origin
7038 (method git-fetch)
7039 (uri
7040 (git-reference
7041 (url "https://github.com/Shinmera/plump")
7042 (commit commit)))
7043 (file-name (git-file-name name version))
7044 (sha256
7045 (base32
7046 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7047 (build-system asdf-build-system/sbcl)
7048 (inputs
7049 `(("array-utils" ,sbcl-array-utils)
7050 ("documentation-utils" ,sbcl-documentation-utils)))
7051 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7052 (description
7053 "Plump is a parser for HTML/XML-like documents, focusing on being
7054 lenient towards invalid markup. It can handle things like invalid attributes,
7055 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7056 tags and so on. It parses documents to a class representation and offers a
7057 small set of DOM functions to manipulate it. It can be extended to parse to
7058 your own classes.")
7059 (home-page "https://shinmera.github.io/plump/")
7060 (license license:zlib))))
7061
7062 (define-public cl-plump
7063 (sbcl-package->cl-source-package sbcl-plump))
7064
7065 (define-public ecl-plump
7066 (sbcl-package->ecl-package sbcl-plump))
7067
7068 ;;; Split the antik package in two to work around the circular dependency
7069 ;;; between antik/antik and antik/gsll.
7070 (define-public sbcl-antik-base
7071 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7072 (revision "1"))
7073 (package
7074 (name "sbcl-antik-base")
7075 (version (git-version "0.0.0" revision commit))
7076 (source
7077 (origin
7078 (method git-fetch)
7079 (uri (git-reference
7080 (url "https://gitlab.common-lisp.net/antik/antik.git")
7081 (commit commit)))
7082 (file-name (git-file-name name version))
7083 (sha256
7084 (base32
7085 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7086 (build-system asdf-build-system/sbcl)
7087 (inputs
7088 `(("alexandria" ,sbcl-alexandria)
7089 ("cffi" ,sbcl-cffi)
7090 ("cl-ppcre" ,sbcl-cl-ppcre)
7091 ("drakma" ,sbcl-drakma)
7092 ("fare-utils" ,sbcl-fare-utils)
7093 ("iterate" ,sbcl-iterate)
7094 ("metabang-bind" ,sbcl-metabang-bind)
7095 ("named-readtables" ,sbcl-named-readtables)
7096 ("split-sequence" ,sbcl-split-sequence)
7097 ("static-vectors" ,sbcl-static-vectors)
7098 ("trivial-garbage" ,sbcl-trivial-garbage)
7099 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7100 (native-inputs
7101 `(("lisp-unit" ,sbcl-lisp-unit)))
7102 (arguments
7103 '(#:asd-systems '("antik-base"
7104 "foreign-array")
7105 #:phases
7106 (modify-phases %standard-phases
7107 (add-after 'unpack 'fix-build
7108 (lambda _
7109 (for-each delete-file
7110 '("antik.asd"
7111 "physical-dimension.asd"
7112 "science-data.asd"))
7113 #t)))))
7114 (synopsis "Scientific and engineering computation in Common Lisp")
7115 (description
7116 "Antik provides a foundation for scientific and engineering
7117 computation in Common Lisp. It is designed not only to facilitate
7118 numerical computations, but to permit the use of numerical computation
7119 libraries and the interchange of data and procedures, whether
7120 foreign (non-Lisp) or Lisp libraries. It is named after the
7121 Antikythera mechanism, one of the oldest examples of a scientific
7122 computer known.")
7123 (home-page "https://common-lisp.net/project/antik/")
7124 (license license:gpl3))))
7125
7126 (define-public cl-antik-base
7127 (sbcl-package->cl-source-package sbcl-antik-base))
7128
7129 (define-public ecl-antik-base
7130 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7131 (package
7132 (inherit pkg)
7133 (arguments
7134 (substitute-keyword-arguments (package-arguments pkg)
7135 ((#:phases phases)
7136 `(modify-phases ,phases
7137 (add-after 'unpack 'fix-readtable
7138 (lambda _
7139 (substitute* "input-output/readtable.lisp"
7140 (("#-ccl")
7141 "#-(or ccl ecl)"))
7142 #t)))))))))
7143
7144 (define-public sbcl-gsll
7145 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7146 (revision "1"))
7147 (package
7148 (name "sbcl-gsll")
7149 (version (git-version "0.0.0" revision commit))
7150 (source
7151 (origin
7152 (method git-fetch)
7153 (uri (git-reference
7154 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7155 (commit commit)))
7156 (file-name (git-file-name name version))
7157 (sha256
7158 (base32
7159 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7160 (build-system asdf-build-system/sbcl)
7161 (native-inputs
7162 `(("lisp-unit" ,sbcl-lisp-unit)))
7163 (inputs
7164 `(("alexandria" ,sbcl-alexandria)
7165 ("antik-base" ,sbcl-antik-base)
7166 ("cffi" ,sbcl-cffi)
7167 ("gsl" ,gsl)
7168 ("metabang-bind" ,sbcl-metabang-bind)
7169 ("trivial-features" ,sbcl-trivial-features)
7170 ("trivial-garbage" ,sbcl-trivial-garbage)))
7171 (arguments
7172 `(#:tests? #f
7173 #:phases
7174 (modify-phases %standard-phases
7175 (add-after 'unpack 'fix-cffi-paths
7176 (lambda* (#:key inputs #:allow-other-keys)
7177 (substitute* "gsll.asd"
7178 ((":depends-on \\(#:foreign-array")
7179 ":depends-on (#:foreign-array #:cffi-libffi"))
7180 (substitute* "init/init.lisp"
7181 (("libgslcblas.so" all)
7182 (string-append
7183 (assoc-ref inputs "gsl") "/lib/" all)))
7184 (substitute* "init/init.lisp"
7185 (("libgsl.so" all)
7186 (string-append
7187 (assoc-ref inputs "gsl") "/lib/" all))))))))
7188 (synopsis "GNU Scientific Library for Lisp")
7189 (description
7190 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7191 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7192 full range of common mathematical operations useful to scientific and
7193 engineering applications. The design of the GSLL interface is such
7194 that access to most of the GSL library is possible in a Lisp-natural
7195 way; the intent is that the user not be hampered by the restrictions
7196 of the C language in which GSL has been written. GSLL thus provides
7197 interactive use of GSL for getting quick answers, even for someone not
7198 intending to program in Lisp.")
7199 (home-page "https://common-lisp.net/project/gsll/")
7200 (license license:gpl3))))
7201
7202 (define-public cl-gsll
7203 (sbcl-package->cl-source-package sbcl-gsll))
7204
7205 (define-public ecl-gsll
7206 (sbcl-package->ecl-package sbcl-gsll))
7207
7208 (define-public sbcl-antik
7209 (package
7210 (inherit sbcl-antik-base)
7211 (name "sbcl-antik")
7212 (inputs
7213 `(("antik-base" ,sbcl-antik-base)
7214 ("gsll" ,sbcl-gsll)))
7215 (arguments
7216 '(#:asd-systems '("antik"
7217 "science-data")
7218 #:phases
7219 (modify-phases %standard-phases
7220 (add-after 'unpack 'fix-build
7221 (lambda _
7222 (for-each delete-file
7223 '("antik-base.asd"
7224 "foreign-array.asd"))
7225 #t)))))))
7226
7227 (define-public cl-antik
7228 (sbcl-package->cl-source-package sbcl-antik))
7229
7230 (define-public sbcl-cl-interpol
7231 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7232 (revision "1"))
7233 (package
7234 (name "sbcl-cl-interpol")
7235 (version (git-version "0.2.6" revision commit))
7236 (source
7237 (origin
7238 (method git-fetch)
7239 (uri (git-reference
7240 (url "https://github.com/edicl/cl-interpol")
7241 (commit commit)))
7242 (file-name (git-file-name name version))
7243 (sha256
7244 (base32
7245 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7246 (build-system asdf-build-system/sbcl)
7247 (inputs
7248 `(("cl-unicode" ,sbcl-cl-unicode)
7249 ("named-readtables" ,sbcl-named-readtables)))
7250 (native-inputs
7251 `(("flexi-streams" ,sbcl-flexi-streams)))
7252 (synopsis "String interpolation for Common Lisp")
7253 (description
7254 "CL-INTERPOL is a library for Common Lisp which modifies the
7255 reader so that you can have interpolation within strings similar to
7256 Perl or Unix Shell scripts. It also provides various ways to insert
7257 arbitrary characters into literal strings even if your editor/IDE
7258 doesn't support them.")
7259 (home-page "https://edicl.github.io/cl-interpol/")
7260 (license license:bsd-3))))
7261
7262 (define-public cl-interpol
7263 (sbcl-package->cl-source-package sbcl-cl-interpol))
7264
7265 (define-public ecl-cl-interpol
7266 (sbcl-package->ecl-package sbcl-cl-interpol))
7267
7268 (define-public sbcl-symbol-munger
7269 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7270 (revision "1"))
7271 (package
7272 (name "sbcl-symbol-munger")
7273 (version (git-version "0.0.1" revision commit))
7274 (source
7275 (origin
7276 (method git-fetch)
7277 (uri (git-reference
7278 (url "https://github.com/AccelerationNet/symbol-munger")
7279 (commit commit)))
7280 (file-name (git-file-name name version))
7281 (sha256
7282 (base32
7283 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7284 (build-system asdf-build-system/sbcl)
7285 (inputs
7286 `(("alexandria" ,sbcl-alexandria)
7287 ("iterate" ,sbcl-iterate)))
7288 (arguments
7289 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7290 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7291 '(#:tests? #f))
7292 (synopsis
7293 "Capitalization and spacing conversion functions for Common Lisp")
7294 (description
7295 "This is a Common Lisp library to change the capitalization and spacing
7296 of a string or a symbol. It can convert to and from Lisp, english, underscore
7297 and camel-case rules.")
7298 (home-page "https://github.com/AccelerationNet/symbol-munger")
7299 ;; The package declares a BSD license, but all of the license
7300 ;; text is MIT.
7301 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7302 (license license:expat))))
7303
7304 (define-public cl-symbol-munger
7305 (sbcl-package->cl-source-package sbcl-symbol-munger))
7306
7307 (define-public ecl-symbol-munger
7308 (sbcl-package->ecl-package sbcl-symbol-munger))
7309
7310 (define-public sbcl-lisp-unit2
7311 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7312 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7313 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7314 (revision "1"))
7315 (package
7316 (name "sbcl-lisp-unit2")
7317 (version (git-version "0.2.0" revision commit))
7318 (source
7319 (origin
7320 (method git-fetch)
7321 (uri (git-reference
7322 (url "https://github.com/AccelerationNet/lisp-unit2")
7323 (commit commit)))
7324 (file-name (git-file-name name version))
7325 (sha256
7326 (base32
7327 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7328 (build-system asdf-build-system/sbcl)
7329 (inputs
7330 `(("alexandria" ,sbcl-alexandria)
7331 ("cl-interpol" ,sbcl-cl-interpol)
7332 ("iterate" ,sbcl-iterate)
7333 ("symbol-munger" ,sbcl-symbol-munger)))
7334 (synopsis "Test Framework for Common Lisp")
7335 (description
7336 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7337 style of JUnit for Java. It is a new version of the lisp-unit library written
7338 by Chris Riesbeck.")
7339 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7340 (license license:expat))))
7341
7342 (define-public cl-lisp-unit2
7343 (sbcl-package->cl-source-package sbcl-lisp-unit2))
7344
7345 (define-public ecl-lisp-unit2
7346 (sbcl-package->ecl-package sbcl-lisp-unit2))
7347
7348 (define-public sbcl-cl-csv
7349 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
7350 (revision "2"))
7351 (package
7352 (name "sbcl-cl-csv")
7353 (version (git-version "1.0.6" revision commit))
7354 (source
7355 (origin
7356 (method git-fetch)
7357 (uri (git-reference
7358 (url "https://github.com/AccelerationNet/cl-csv")
7359 (commit commit)))
7360 (file-name (git-file-name name version))
7361 (sha256
7362 (base32
7363 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
7364 (build-system asdf-build-system/sbcl)
7365 (arguments
7366 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
7367 `(#:tests? #f))
7368 (inputs
7369 `(("alexandria" ,sbcl-alexandria)
7370 ("cl-interpol" ,sbcl-cl-interpol)
7371 ("iterate" ,sbcl-iterate)))
7372 (native-inputs
7373 `(("lisp-unit2" ,sbcl-lisp-unit2)))
7374 (synopsis "Common lisp library for comma-separated values")
7375 (description
7376 "This is a Common Lisp library providing functions to read/write CSV
7377 from/to strings, streams and files.")
7378 (home-page "https://github.com/AccelerationNet/cl-csv")
7379 (license license:bsd-3))))
7380
7381 (define-public cl-csv
7382 (sbcl-package->cl-source-package sbcl-cl-csv))
7383
7384 (define-public ecl-cl-csv
7385 (sbcl-package->ecl-package sbcl-cl-csv))
7386
7387 (define-public sbcl-external-program
7388 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
7389 (revision "1"))
7390 (package
7391 (name "sbcl-external-program")
7392 (version (git-version "0.0.6" revision commit))
7393 (source
7394 (origin
7395 (method git-fetch)
7396 (uri (git-reference
7397 (url "https://github.com/sellout/external-program")
7398 (commit commit)))
7399 (file-name (git-file-name name version))
7400 (sha256
7401 (base32
7402 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
7403 (build-system asdf-build-system/sbcl)
7404 (inputs
7405 `(("trivial-features" ,sbcl-trivial-features)))
7406 (native-inputs
7407 `(("fiveam" ,sbcl-fiveam)))
7408 (synopsis "Common Lisp library for running external programs")
7409 (description
7410 "EXTERNAL-PROGRAM enables running programs outside the Lisp
7411 process. It is an attempt to make the RUN-PROGRAM functionality in
7412 implementations like SBCL and CCL as portable as possible without
7413 sacrificing much in the way of power.")
7414 (home-page "https://github.com/sellout/external-program")
7415 (license license:llgpl))))
7416
7417 (define-public cl-external-program
7418 (sbcl-package->cl-source-package sbcl-external-program))
7419
7420 (define-public ecl-external-program
7421 (sbcl-package->ecl-package sbcl-external-program))
7422
7423 (define-public sbcl-cl-ana
7424 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
7425 (revision "1"))
7426 (package
7427 (name "sbcl-cl-ana")
7428 (version (git-version "0.0.0" revision commit))
7429 (source
7430 (origin
7431 (method git-fetch)
7432 (uri (git-reference
7433 (url "https://github.com/ghollisjr/cl-ana")
7434 (commit commit)))
7435 (file-name (git-file-name name version))
7436 (sha256
7437 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
7438 (build-system asdf-build-system/sbcl)
7439 (native-inputs
7440 `(("cl-fad" ,sbcl-cl-fad)))
7441 (inputs
7442 `(("alexandria" ,sbcl-alexandria)
7443 ("antik" ,sbcl-antik)
7444 ("cffi" ,sbcl-cffi)
7445 ("cl-csv" ,sbcl-cl-csv)
7446 ("closer-mop" ,sbcl-closer-mop)
7447 ("external-program" ,sbcl-external-program)
7448 ("gsl" ,gsl)
7449 ("gsll" ,sbcl-gsll)
7450 ("hdf5" ,hdf5-parallel-openmpi)
7451 ("iterate" ,sbcl-iterate)
7452 ("libffi" ,libffi)
7453 ("split-sequence" ,sbcl-split-sequence)))
7454 (arguments
7455 `(#:phases
7456 (modify-phases %standard-phases
7457 (add-after 'unpack 'fix-paths
7458 (lambda* (#:key inputs #:allow-other-keys)
7459 (substitute* "hdf-cffi/hdf-cffi.lisp"
7460 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
7461 (string-append (assoc-ref inputs "hdf5")
7462 "/lib/libhdf5.so")))
7463 (substitute* "gsl-cffi/gsl-cffi.lisp"
7464 (("define-foreign-library gsl-cffi" all)
7465 (string-append all " (:unix "
7466 (assoc-ref inputs "gsl")
7467 "/lib/libgsl.so)")))
7468 #t)))))
7469 (synopsis "Common Lisp data analysis library")
7470 (description
7471 "CL-ANA is a data analysis library in Common Lisp providing tabular and
7472 binned data analysis along with nonlinear least squares fitting and
7473 visualization.")
7474 (home-page "https://github.com/ghollisjr/cl-ana")
7475 (license license:gpl3))))
7476
7477 (define-public cl-ana
7478 (sbcl-package->cl-source-package sbcl-cl-ana))
7479
7480 (define-public sbcl-archive
7481 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
7482 (revision "1"))
7483 (package
7484 (name "sbcl-archive")
7485 (version (git-version "0.9" revision commit))
7486 (source (origin
7487 (method git-fetch)
7488 (uri (git-reference
7489 (url "https://github.com/sharplispers/archive")
7490 (commit commit)))
7491 (file-name (git-file-name name version))
7492 (sha256
7493 (base32
7494 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
7495 (build-system asdf-build-system/sbcl)
7496 (inputs
7497 `(("cl-fad" ,sbcl-cl-fad)
7498 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7499 (synopsis "Common Lisp library for tar and cpio archives")
7500 (description
7501 "This is a Common Lisp library to read and write disk-based file
7502 archives such as those generated by the tar and cpio programs on Unix.")
7503 (home-page "https://github.com/sharplispers/archive")
7504 (license license:bsd-3))))
7505
7506 (define-public cl-archive
7507 (sbcl-package->cl-source-package sbcl-archive))
7508
7509 (define-public ecl-archive
7510 (sbcl-package->ecl-package sbcl-archive))
7511
7512 (define-public sbcl-misc-extensions
7513 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
7514 (revision "1"))
7515 (package
7516 (name "sbcl-misc-extensions")
7517 (version (git-version "3.3" revision commit))
7518 (source
7519 (origin
7520 (method git-fetch)
7521 (uri (git-reference
7522 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
7523 (commit commit)))
7524 (file-name (git-file-name name version))
7525 (sha256
7526 (base32
7527 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
7528 (build-system asdf-build-system/sbcl)
7529 (synopsis "Collection of small macros and extensions for Common Lisp")
7530 (description
7531 "This project is intended as a catchall for small, general-purpose
7532 extensions to Common Lisp. It contains:
7533
7534 @itemize
7535 @item @code{new-let}, a macro that combines and generalizes @code{let},
7536 @code{let*} and @code{multiple-value-bind},
7537 @item @code{gmap}, an iteration macro that generalizes @code{map}.
7538 @end itemize\n")
7539 (home-page "https://common-lisp.net/project/misc-extensions/")
7540 (license license:public-domain))))
7541
7542 (define-public cl-misc-extensions
7543 (sbcl-package->cl-source-package sbcl-misc-extensions))
7544
7545 (define-public ecl-misc-extensions
7546 (sbcl-package->ecl-package sbcl-misc-extensions))
7547
7548 (define-public sbcl-mt19937
7549 (package
7550 (name "sbcl-mt19937")
7551 (version "1.1")
7552 (source
7553 (origin
7554 (method url-fetch)
7555 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
7556 "mt19937-latest.tar.gz"))
7557 (sha256
7558 (base32
7559 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
7560 (build-system asdf-build-system/sbcl)
7561 (synopsis "Mersenne Twister pseudo-random number generator")
7562 (description
7563 "MT19937 is a portable Mersenne Twister pseudo-random number generator
7564 for Common Lisp.")
7565 (home-page "https://www.cliki.net/mt19937")
7566 (license license:public-domain)))
7567
7568 (define-public cl-mt19937
7569 (sbcl-package->cl-source-package sbcl-mt19937))
7570
7571 (define-public ecl-mt19937
7572 (sbcl-package->ecl-package sbcl-mt19937))
7573
7574 (define-public sbcl-fset
7575 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
7576 (revision "1"))
7577 (package
7578 (name "sbcl-fset")
7579 (version (git-version "1.3.2" revision commit))
7580 (source
7581 (origin
7582 (method git-fetch)
7583 (uri (git-reference
7584 (url "https://github.com/slburson/fset")
7585 (commit commit)))
7586 (file-name (git-file-name name version))
7587 (sha256
7588 (base32
7589 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
7590 (snippet '(begin
7591 ;; Remove obsolete copy of system definition.
7592 (delete-file "Code/fset.asd")
7593 #t))))
7594 (build-system asdf-build-system/sbcl)
7595 (inputs
7596 `(("misc-extensions" ,sbcl-misc-extensions)
7597 ("mt19937" ,sbcl-mt19937)
7598 ("named-readtables" ,sbcl-named-readtables)))
7599 (synopsis "Functional set-theoretic collections library")
7600 (description
7601 "FSet is a functional set-theoretic collections library for Common Lisp.
7602 Functional means that all update operations return a new collection rather than
7603 modifying an existing one in place. Set-theoretic means that collections may
7604 be nested arbitrarily with no additional programmer effort; for instance, sets
7605 may contain sets, maps may be keyed by sets, etc.")
7606 (home-page "https://common-lisp.net/project/fset/Site/index.html")
7607 (license license:llgpl))))
7608
7609 (define-public cl-fset
7610 (sbcl-package->cl-source-package sbcl-fset))
7611
7612 (define-public ecl-fset
7613 (package
7614 (inherit (sbcl-package->ecl-package sbcl-fset))
7615 (arguments
7616 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
7617 '(#:tests? #f))))
7618
7619 (define-public sbcl-cl-cont
7620 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
7621 (revision "1"))
7622 (package
7623 (name "sbcl-cl-cont")
7624 (version (git-version "0.3.8" revision commit))
7625 (source
7626 (origin
7627 (method git-fetch)
7628 (uri (git-reference
7629 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
7630 (commit commit)))
7631 (file-name (git-file-name name version))
7632 (sha256
7633 (base32
7634 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
7635 (build-system asdf-build-system/sbcl)
7636 (inputs
7637 `(("alexandria" ,sbcl-alexandria)
7638 ("closer-mop" ,sbcl-closer-mop)))
7639 (native-inputs
7640 `(("rt" ,sbcl-rt)))
7641 (synopsis "Delimited continuations for Common Lisp")
7642 (description
7643 "This is a library that implements delimited continuations by
7644 transforming Common Lisp code to continuation passing style.")
7645 (home-page "https://common-lisp.net/project/cl-cont/")
7646 (license license:llgpl))))
7647
7648 (define-public cl-cont
7649 (sbcl-package->cl-source-package sbcl-cl-cont))
7650
7651 (define-public ecl-cl-cont
7652 (sbcl-package->ecl-package sbcl-cl-cont))
7653
7654 (define-public sbcl-cl-coroutine
7655 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
7656 (revision "1"))
7657 (package
7658 (name "sbcl-cl-coroutine")
7659 (version (git-version "0.1" revision commit))
7660 (source
7661 (origin
7662 (method git-fetch)
7663 (uri (git-reference
7664 (url "https://github.com/takagi/cl-coroutine")
7665 (commit commit)))
7666 (file-name (git-file-name name version))
7667 (sha256
7668 (base32
7669 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
7670 (build-system asdf-build-system/sbcl)
7671 (inputs
7672 `(("alexandria" ,sbcl-alexandria)
7673 ("cl-cont" ,sbcl-cl-cont)))
7674 (native-inputs
7675 `(("prove" ,sbcl-prove)))
7676 (arguments
7677 `(;; TODO: Fix the tests. They fail with:
7678 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
7679 #:tests? #f
7680 #:phases
7681 (modify-phases %standard-phases
7682 (add-after 'unpack 'fix-tests
7683 (lambda _
7684 (substitute* "cl-coroutine-test.asd"
7685 (("cl-test-more")
7686 "prove"))
7687 #t)))))
7688 (synopsis "Coroutine library for Common Lisp")
7689 (description
7690 "This is a coroutine library for Common Lisp implemented using the
7691 continuations of the @code{cl-cont} library.")
7692 (home-page "https://github.com/takagi/cl-coroutine")
7693 (license license:llgpl))))
7694
7695 (define-public cl-coroutine
7696 (sbcl-package->cl-source-package sbcl-cl-coroutine))
7697
7698 (define-public ecl-cl-coroutine
7699 (sbcl-package->ecl-package sbcl-cl-coroutine))
7700
7701 (define-public sbcl-vom
7702 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
7703 (revision "1"))
7704 (package
7705 (name "sbcl-vom")
7706 (version (git-version "0.1.4" revision commit))
7707 (source
7708 (origin
7709 (method git-fetch)
7710 (uri (git-reference
7711 (url "https://github.com/orthecreedence/vom")
7712 (commit commit)))
7713 (file-name (git-file-name name version))
7714 (sha256
7715 (base32
7716 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
7717 (build-system asdf-build-system/sbcl)
7718 (synopsis "Tiny logging utility for Common Lisp")
7719 (description
7720 "Vom is a logging library for Common Lisp. It's goal is to be useful
7721 and small. It does not provide a lot of features as other loggers do, but
7722 has a small codebase that's easy to understand and use.")
7723 (home-page "https://github.com/orthecreedence/vom")
7724 (license license:expat))))
7725
7726 (define-public cl-vom
7727 (sbcl-package->cl-source-package sbcl-vom))
7728
7729 (define-public ecl-vom
7730 (sbcl-package->ecl-package sbcl-vom))
7731
7732 (define-public sbcl-cl-libuv
7733 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
7734 (revision "1"))
7735 (package
7736 (name "sbcl-cl-libuv")
7737 (version (git-version "0.1.6" revision commit))
7738 (source
7739 (origin
7740 (method git-fetch)
7741 (uri (git-reference
7742 (url "https://github.com/orthecreedence/cl-libuv")
7743 (commit commit)))
7744 (file-name (git-file-name name version))
7745 (sha256
7746 (base32
7747 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
7748 (build-system asdf-build-system/sbcl)
7749 (inputs
7750 `(("alexandria" ,sbcl-alexandria)
7751 ("cffi" ,sbcl-cffi)
7752 ("libuv" ,libuv)))
7753 (arguments
7754 `(#:phases
7755 (modify-phases %standard-phases
7756 (add-after 'unpack 'fix-paths
7757 (lambda* (#:key inputs #:allow-other-keys)
7758 (substitute* "lib.lisp"
7759 (("/usr/lib/libuv.so")
7760 (string-append (assoc-ref inputs "libuv")
7761 "/lib/libuv.so")))
7762 #t))
7763 (add-after 'fix-paths 'fix-system-definition
7764 (lambda _
7765 (substitute* "cl-libuv.asd"
7766 (("#:cffi #:alexandria")
7767 "#:cffi #:cffi-grovel #:alexandria"))
7768 #t)))))
7769 (synopsis "Common Lisp bindings to libuv")
7770 (description
7771 "This library provides low-level libuv bindings for Common Lisp.")
7772 (home-page "https://github.com/orthecreedence/cl-libuv")
7773 (license license:expat))))
7774
7775 (define-public cl-libuv
7776 (sbcl-package->cl-source-package sbcl-cl-libuv))
7777
7778 (define-public ecl-cl-libuv
7779 (sbcl-package->ecl-package sbcl-cl-libuv))
7780
7781 (define-public sbcl-cl-async
7782 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
7783 (revision "1"))
7784 (package
7785 (name "sbcl-cl-async")
7786 (version (git-version "0.6.1" revision commit))
7787 (source
7788 (origin
7789 (method git-fetch)
7790 (uri (git-reference
7791 (url "https://github.com/orthecreedence/cl-async")
7792 (commit commit)))
7793 (file-name (git-file-name name version))
7794 (sha256
7795 (base32
7796 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
7797 (build-system asdf-build-system/sbcl)
7798 (inputs
7799 `(("babel" ,sbcl-babel)
7800 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7801 ("cffi" ,sbcl-cffi)
7802 ("cl-libuv" ,sbcl-cl-libuv)
7803 ("cl-ppcre" ,sbcl-cl-ppcre)
7804 ("fast-io" ,sbcl-fast-io)
7805 ("openssl" ,openssl)
7806 ("static-vectors" ,sbcl-static-vectors)
7807 ("trivial-features" ,sbcl-trivial-features)
7808 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
7809 ("vom" ,sbcl-vom)))
7810 (arguments
7811 `(#:asd-systems '("cl-async"
7812 "cl-async-repl"
7813 "cl-async-ssl")
7814 #:phases
7815 (modify-phases %standard-phases
7816 (add-after 'unpack 'fix-paths
7817 (lambda* (#:key inputs #:allow-other-keys)
7818 (substitute* "src/ssl/package.lisp"
7819 (("libcrypto\\.so")
7820 (string-append (assoc-ref inputs "openssl")
7821 "/lib/libcrypto.so"))
7822 (("libssl\\.so")
7823 (string-append (assoc-ref inputs "openssl")
7824 "/lib/libssl.so")))
7825 #t)))))
7826 (synopsis "Asynchronous operations for Common Lisp")
7827 (description
7828 "Cl-async is a library for general purpose, non-blocking programming in
7829 Common Lisp. It uses the libuv library as backend.")
7830 (home-page "https://orthecreedence.github.io/cl-async/")
7831 (license license:expat))))
7832
7833 (define-public cl-async
7834 (sbcl-package->cl-source-package sbcl-cl-async))
7835
7836 (define-public ecl-cl-async
7837 (sbcl-package->ecl-package sbcl-cl-async))
7838
7839 (define-public sbcl-blackbird
7840 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
7841 (revision "1"))
7842 (package
7843 (name "sbcl-blackbird")
7844 (version (git-version "0.5.2" revision commit))
7845 (source
7846 (origin
7847 (method git-fetch)
7848 (uri (git-reference
7849 (url "https://github.com/orthecreedence/blackbird")
7850 (commit commit)))
7851 (file-name (git-file-name name version))
7852 (sha256
7853 (base32
7854 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
7855 (build-system asdf-build-system/sbcl)
7856 (inputs
7857 `(("vom" ,sbcl-vom)))
7858 (native-inputs
7859 `(("cl-async" ,sbcl-cl-async)
7860 ("fiveam" ,sbcl-fiveam)))
7861 (synopsis "Promise implementation for Common Lisp")
7862 (description
7863 "This is a standalone promise implementation for Common Lisp. It is
7864 the successor to the now-deprecated cl-async-future project.")
7865 (home-page "https://orthecreedence.github.io/blackbird/")
7866 (license license:expat))))
7867
7868 (define-public cl-blackbird
7869 (sbcl-package->cl-source-package sbcl-blackbird))
7870
7871 (define-public ecl-blackbird
7872 (sbcl-package->ecl-package sbcl-blackbird))
7873
7874 (define-public sbcl-cl-async-future
7875 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
7876 (revision "1"))
7877 (package
7878 (name "sbcl-cl-async-future")
7879 (version (git-version "0.4.4.1" revision commit))
7880 (source
7881 (origin
7882 (method git-fetch)
7883 (uri (git-reference
7884 (url "https://github.com/orthecreedence/cl-async-future")
7885 (commit commit)))
7886 (file-name (git-file-name name version))
7887 (sha256
7888 (base32
7889 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
7890 (build-system asdf-build-system/sbcl)
7891 (inputs
7892 `(("blackbird" ,sbcl-blackbird)))
7893 (native-inputs
7894 `(("cl-async" ,sbcl-cl-async)
7895 ("eos" ,sbcl-eos)))
7896 (synopsis "Futures implementation for Common Lisp")
7897 (description
7898 "This is futures implementation for Common Lisp. It plugs in nicely
7899 to cl-async.")
7900 (home-page "https://orthecreedence.github.io/cl-async/future")
7901 (license license:expat))))
7902
7903 (define-public cl-async-future
7904 (sbcl-package->cl-source-package sbcl-cl-async-future))
7905
7906 (define-public ecl-cl-async-future
7907 (sbcl-package->ecl-package sbcl-cl-async-future))
7908
7909 (define-public sbcl-green-threads
7910 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
7911 (revision "1"))
7912 (package
7913 (name "sbcl-green-threads")
7914 (version (git-version "0.3" revision commit))
7915 (source
7916 (origin
7917 (method git-fetch)
7918 (uri (git-reference
7919 (url "https://github.com/thezerobit/green-threads")
7920 (commit commit)))
7921 (file-name (git-file-name name version))
7922 (sha256
7923 (base32
7924 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
7925 (build-system asdf-build-system/sbcl)
7926 (inputs
7927 `(("cl-async-future" ,sbcl-cl-async-future)
7928 ("cl-cont" ,sbcl-cl-cont)))
7929 (native-inputs
7930 `(("prove" ,sbcl-prove)))
7931 (arguments
7932 `(;; TODO: Fix the tests. They fail with:
7933 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
7934 #:tests? #f
7935 #:phases
7936 (modify-phases %standard-phases
7937 (add-after 'unpack 'fix-tests
7938 (lambda _
7939 (substitute* "green-threads-test.asd"
7940 (("cl-test-more")
7941 "prove"))
7942 #t)))))
7943 (synopsis "Cooperative multitasking library for Common Lisp")
7944 (description
7945 "This library allows for cooperative multitasking with help of cl-cont
7946 for continuations. It tries to mimic the API of bordeaux-threads as much as
7947 possible.")
7948 (home-page "https://github.com/thezerobit/green-threads")
7949 (license license:bsd-3))))
7950
7951 (define-public cl-green-threads
7952 (sbcl-package->cl-source-package sbcl-green-threads))
7953
7954 (define-public ecl-green-threads
7955 (sbcl-package->ecl-package sbcl-green-threads))
7956
7957 (define-public sbcl-cl-base32
7958 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
7959 (revision "1"))
7960 (package
7961 (name "sbcl-cl-base32")
7962 (version (git-version "0.1" revision commit))
7963 (source
7964 (origin
7965 (method git-fetch)
7966 (uri (git-reference
7967 (url "https://github.com/hargettp/cl-base32")
7968 (commit commit)))
7969 (file-name (git-file-name name version))
7970 (sha256
7971 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
7972 (build-system asdf-build-system/sbcl)
7973 (native-inputs
7974 `(("lisp-unit" ,sbcl-lisp-unit)))
7975 (synopsis "Common Lisp library for base32 encoding and decoding")
7976 (description
7977 "This package provides functions for base32 encoding and decoding as
7978 defined in RFC4648.")
7979 (home-page "https://github.com/hargettp/cl-base32")
7980 (license license:expat))))
7981
7982 (define-public cl-base32
7983 (sbcl-package->cl-source-package sbcl-cl-base32))
7984
7985 (define-public ecl-cl-base32
7986 (sbcl-package->ecl-package sbcl-cl-base32))
7987
7988 (define-public sbcl-cl-z85
7989 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
7990 (revision "1"))
7991 (package
7992 (name "sbcl-cl-z85")
7993 (version (git-version "1.0" revision commit))
7994 (source
7995 (origin
7996 (method git-fetch)
7997 (uri (git-reference
7998 (url "https://github.com/glv2/cl-z85")
7999 (commit commit)))
8000 (file-name (git-file-name name version))
8001 (sha256
8002 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8003 (build-system asdf-build-system/sbcl)
8004 (native-inputs
8005 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8006 ("fiveam" ,sbcl-fiveam)))
8007 (synopsis "Common Lisp library for Z85 encoding and decoding")
8008 (description
8009 "This package provides functions to encode or decode byte vectors or
8010 byte streams using the Z85 format, which is a base-85 encoding used by
8011 ZeroMQ.")
8012 (home-page "https://github.com/glv2/cl-z85")
8013 (license license:gpl3+))))
8014
8015 (define-public cl-z85
8016 (sbcl-package->cl-source-package sbcl-cl-z85))
8017
8018 (define-public ecl-cl-z85
8019 (sbcl-package->ecl-package sbcl-cl-z85))
8020
8021 (define-public sbcl-ltk
8022 (package
8023 (name "sbcl-ltk")
8024 (version "0.992")
8025 (source
8026 (origin
8027 (method git-fetch)
8028 (uri (git-reference
8029 (url "https://github.com/herth/ltk")
8030 (commit version)))
8031 (file-name (git-file-name name version))
8032 (sha256
8033 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8034 (build-system asdf-build-system/sbcl)
8035 (inputs
8036 `(("imagemagick" ,imagemagick)
8037 ("tk" ,tk)))
8038 (arguments
8039 `(#:asd-systems '("ltk"
8040 "ltk-mw"
8041 "ltk-remote")
8042 #:tests? #f
8043 #:phases
8044 (modify-phases %standard-phases
8045 (add-after 'unpack 'fix-paths
8046 (lambda* (#:key inputs #:allow-other-keys)
8047 (substitute* "ltk/ltk.lisp"
8048 (("#-freebsd \"wish\"")
8049 (string-append "#-freebsd \""
8050 (assoc-ref inputs "tk")
8051 "/bin/wish\""))
8052 (("do-execute \"convert\"")
8053 (string-append "do-execute \""
8054 (assoc-ref inputs "imagemagick")
8055 "/bin/convert\"")))
8056 #t))
8057 (add-after 'unpack 'fix-build
8058 (lambda _
8059 (substitute* "ltk/ltk-remote.lisp"
8060 (("\\(:export")
8061 "(:shadow #:raise) (:export"))
8062 #t)))))
8063 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8064 (description
8065 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8066 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8067 (home-page "http://www.peter-herth.de/ltk/")
8068 (license license:llgpl)))
8069
8070 (define-public cl-ltk
8071 (sbcl-package->cl-source-package sbcl-ltk))
8072
8073 (define-public ecl-ltk
8074 (sbcl-package->ecl-package sbcl-ltk))
8075
8076 (define-public sbcl-cl-lex
8077 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8078 (revision "1"))
8079 (package
8080 (name "sbcl-cl-lex")
8081 (version (git-version "1.1.3" revision commit))
8082 (source
8083 (origin
8084 (method git-fetch)
8085 (uri (git-reference
8086 (url "https://github.com/djr7C4/cl-lex")
8087 (commit commit)))
8088 (file-name (git-file-name name version))
8089 (sha256
8090 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8091 (build-system asdf-build-system/sbcl)
8092 (inputs
8093 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8094 (synopsis "Common Lisp macros for generating lexical analyzers")
8095 (description
8096 "This is a Common Lisp library providing a set of macros for generating
8097 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8098 be used with @code{cl-yacc}.")
8099 (home-page "https://github.com/djr7C4/cl-lex")
8100 (license license:gpl3))))
8101
8102 (define-public cl-lex
8103 (sbcl-package->cl-source-package sbcl-cl-lex))
8104
8105 (define-public ecl-cl-lex
8106 (sbcl-package->ecl-package sbcl-cl-lex))
8107
8108 (define-public sbcl-clunit2
8109 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8110 (revision "1"))
8111 (package
8112 (name "sbcl-clunit2")
8113 (version (git-version "0.2.4" revision commit))
8114 (source
8115 (origin
8116 (method git-fetch)
8117 (uri (git-reference
8118 (url "https://notabug.org/cage/clunit2.git")
8119 (commit commit)))
8120 (file-name (git-file-name name version))
8121 (sha256
8122 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8123 (build-system asdf-build-system/sbcl)
8124 (synopsis "Unit testing framework for Common Lisp")
8125 (description
8126 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8127 easy to use so that you can quickly start testing.")
8128 (home-page "https://notabug.org/cage/clunit2")
8129 (license license:expat))))
8130
8131 (define-public cl-clunit2
8132 (sbcl-package->cl-source-package sbcl-clunit2))
8133
8134 (define-public ecl-clunit2
8135 (sbcl-package->ecl-package sbcl-clunit2))
8136
8137 (define-public sbcl-cl-colors2
8138 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8139 (revision "1"))
8140 (package
8141 (name "sbcl-cl-colors2")
8142 (version (git-version "0.2.1" revision commit))
8143 (source
8144 (origin
8145 (method git-fetch)
8146 (uri (git-reference
8147 (url "https://notabug.org/cage/cl-colors2.git")
8148 (commit commit)))
8149 (file-name (git-file-name name version))
8150 (sha256
8151 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8152 (build-system asdf-build-system/sbcl)
8153 (native-inputs
8154 `(("clunit2" ,sbcl-clunit2)))
8155 (inputs
8156 `(("alexandria" ,sbcl-alexandria)
8157 ("cl-ppcre" ,sbcl-cl-ppcre)))
8158 (synopsis "Color library for Common Lisp")
8159 (description
8160 "This is a very simple color library for Common Lisp, providing:
8161
8162 @itemize
8163 @item Types for representing colors in HSV and RGB spaces.
8164 @item Simple conversion functions between the above types (and also
8165 hexadecimal representation for RGB).
8166 @item Some predefined colors (currently X11 color names -- of course
8167 the library does not depend on X11).
8168 @end itemize\n")
8169 (home-page "https://notabug.org/cage/cl-colors2")
8170 (license license:boost1.0))))
8171
8172 (define-public cl-colors2
8173 (sbcl-package->cl-source-package sbcl-cl-colors2))
8174
8175 (define-public ecl-cl-colors2
8176 (sbcl-package->ecl-package sbcl-cl-colors2))
8177
8178 (define-public sbcl-cl-jpeg
8179 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8180 (revision "1"))
8181 (package
8182 (name "sbcl-cl-jpeg")
8183 (version (git-version "2.8" revision commit))
8184 (source
8185 (origin
8186 (method git-fetch)
8187 (uri (git-reference
8188 (url "https://github.com/sharplispers/cl-jpeg")
8189 (commit commit)))
8190 (file-name (git-file-name name version))
8191 (sha256
8192 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8193 (build-system asdf-build-system/sbcl)
8194 (synopsis "JPEG image library for Common Lisp")
8195 (description
8196 "This is a baseline JPEG codec written in Common Lisp. It can be used
8197 for reading and writing JPEG image files.")
8198 (home-page "https://github.com/sharplispers/cl-jpeg")
8199 (license license:bsd-3))))
8200
8201 (define-public cl-jpeg
8202 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8203
8204 (define-public ecl-cl-jpeg
8205 (sbcl-package->ecl-package sbcl-cl-jpeg))
8206
8207 (define-public sbcl-nodgui
8208 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8209 (revision "1"))
8210 (package
8211 (name "sbcl-nodgui")
8212 (version (git-version "0.0.5" revision commit))
8213 (source
8214 (origin
8215 (method git-fetch)
8216 (uri (git-reference
8217 (url "https://notabug.org/cage/nodgui.git")
8218 (commit commit)))
8219 (file-name (git-file-name name version))
8220 (sha256
8221 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8222 (build-system asdf-build-system/sbcl)
8223 (inputs
8224 `(("alexandria" ,sbcl-alexandria)
8225 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8226 ("cl-colors2" ,sbcl-cl-colors2)
8227 ("cl-jpeg" ,sbcl-cl-jpeg)
8228 ("cl-lex" ,sbcl-cl-lex)
8229 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8230 ("cl-unicode" ,sbcl-cl-unicode)
8231 ("cl-yacc" ,sbcl-cl-yacc)
8232 ("clunit2" ,sbcl-clunit2)
8233 ("named-readtables" ,sbcl-named-readtables)
8234 ("parse-number" ,sbcl-parse-number)
8235 ("tk" ,tk)))
8236 (arguments
8237 `(#:phases (modify-phases %standard-phases
8238 (add-after 'unpack 'fix-paths
8239 (lambda* (#:key inputs #:allow-other-keys)
8240 (substitute* "src/wish-communication.lisp"
8241 (("#-freebsd \"wish\"")
8242 (string-append "#-freebsd \""
8243 (assoc-ref inputs "tk")
8244 "/bin/wish\"")))
8245 #t)))))
8246 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8247 (description
8248 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8249 toolkit. It also provides a few additional widgets more than the standard Tk
8250 ones.")
8251 (home-page "https://www.autistici.org/interzona/nodgui.html")
8252 (license license:llgpl))))
8253
8254 (define-public cl-nodgui
8255 (sbcl-package->cl-source-package sbcl-nodgui))
8256
8257 (define-public ecl-nodgui
8258 (sbcl-package->ecl-package sbcl-nodgui))
8259
8260 (define-public sbcl-salza2
8261 (package
8262 (name "sbcl-salza2")
8263 (version "2.0.9")
8264 (source
8265 (origin
8266 (method git-fetch)
8267 (uri (git-reference
8268 (url "https://github.com/xach/salza2")
8269 (commit (string-append "release-" version))))
8270 (file-name (git-file-name name version))
8271 (sha256
8272 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8273 (build-system asdf-build-system/sbcl)
8274 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8275 (description
8276 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8277 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8278 respectively.")
8279 (home-page "https://www.xach.com/lisp/salza2/")
8280 (license license:bsd-2)))
8281
8282 (define-public cl-salza2
8283 (sbcl-package->cl-source-package sbcl-salza2))
8284
8285 (define-public ecl-salza2
8286 (sbcl-package->ecl-package sbcl-salza2))
8287
8288 (define-public sbcl-png-read
8289 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
8290 (revision "1"))
8291 (package
8292 (name "sbcl-png-read")
8293 (version (git-version "0.3.1" revision commit))
8294 (source
8295 (origin
8296 (method git-fetch)
8297 (uri (git-reference
8298 (url "https://github.com/Ramarren/png-read")
8299 (commit commit)))
8300 (file-name (git-file-name name version))
8301 (sha256
8302 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
8303 (build-system asdf-build-system/sbcl)
8304 (inputs
8305 `(("babel" ,sbcl-babel)
8306 ("chipz" ,sbcl-chipz)
8307 ("iterate" ,sbcl-iterate)))
8308 (synopsis "PNG decoder for Common Lisp")
8309 (description "This is a Common Lisp library for reading PNG images.")
8310 (home-page "https://github.com/Ramarren/png-read")
8311 (license license:bsd-3))))
8312
8313 (define-public cl-png-read
8314 (sbcl-package->cl-source-package sbcl-png-read))
8315
8316 (define-public ecl-png-read
8317 (sbcl-package->ecl-package sbcl-png-read))
8318
8319 (define-public sbcl-zpng
8320 (package
8321 (name "sbcl-zpng")
8322 (version "1.2.2")
8323 (source
8324 (origin
8325 (method git-fetch)
8326 (uri (git-reference
8327 (url "https://github.com/xach/zpng")
8328 (commit (string-append "release-" version))))
8329 (file-name (git-file-name name version))
8330 (sha256
8331 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
8332 (build-system asdf-build-system/sbcl)
8333 (inputs
8334 `(("salza2" ,sbcl-salza2)))
8335 (synopsis "PNG encoder for Common Lisp")
8336 (description "This is a Common Lisp library for creating PNG images.")
8337 (home-page "https://www.xach.com/lisp/zpng/")
8338 (license license:bsd-2)))
8339
8340 (define-public cl-zpng
8341 (sbcl-package->cl-source-package sbcl-zpng))
8342
8343 (define-public ecl-zpng
8344 (sbcl-package->ecl-package sbcl-zpng))
8345
8346 (define-public sbcl-cl-qrencode
8347 (package
8348 (name "sbcl-cl-qrencode")
8349 (version "0.1.2")
8350 (source
8351 (origin
8352 (method git-fetch)
8353 (uri (git-reference
8354 (url "https://github.com/jnjcc/cl-qrencode")
8355 (commit (string-append "v" version))))
8356 (file-name (git-file-name name version))
8357 (sha256
8358 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
8359 (build-system asdf-build-system/sbcl)
8360 (native-inputs
8361 `(("lisp-unit" ,sbcl-lisp-unit)))
8362 (inputs
8363 `(("zpng" ,sbcl-zpng)))
8364 (synopsis "QR code encoder for Common Lisp")
8365 (description
8366 "This Common Lisp library provides function to make QR codes and to save
8367 them as PNG files.")
8368 (home-page "https://github.com/jnjcc/cl-qrencode")
8369 (license license:gpl2+)))
8370
8371 (define-public cl-qrencode
8372 (sbcl-package->cl-source-package sbcl-cl-qrencode))
8373
8374 (define-public ecl-cl-qrencode
8375 (sbcl-package->ecl-package sbcl-cl-qrencode))
8376
8377 (define-public sbcl-hdf5-cffi
8378 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
8379 (revision "1"))
8380 (package
8381 (name "sbcl-hdf5-cffi")
8382 (version (git-version "1.8.18" revision commit))
8383 (source
8384 (origin
8385 (method git-fetch)
8386 (uri (git-reference
8387 (url "https://github.com/hdfgroup/hdf5-cffi")
8388 (commit commit)))
8389 (file-name (git-file-name name version))
8390 (sha256
8391 (base32
8392 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
8393 (build-system asdf-build-system/sbcl)
8394 (synopsis "Common Lisp bindings for the HDF5 library")
8395 (description
8396 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
8397 (home-page "https://github.com/hdfgroup/hdf5-cffi")
8398 (license (license:non-copyleft
8399 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
8400 commit
8401 "/LICENSE")))
8402 (inputs
8403 `(("cffi" ,sbcl-cffi)
8404 ("hdf5" ,hdf5-1.10)))
8405 (native-inputs
8406 `(("fiveam" ,sbcl-fiveam)))
8407 (arguments
8408 `(#:test-asd-file "hdf5-cffi.test.asd"
8409 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
8410 ;; I don't know if there is a way to tell asdf-build-system to load
8411 ;; an additional system first, so tests are disabled.
8412 #:tests? #f
8413 #:phases
8414 (modify-phases %standard-phases
8415 (add-after 'unpack 'fix-paths
8416 (lambda* (#:key inputs #:allow-other-keys)
8417 (substitute* "src/library.lisp"
8418 (("libhdf5.so")
8419 (string-append
8420 (assoc-ref inputs "hdf5")
8421 "/lib/libhdf5.so")))))
8422 (add-after 'unpack 'fix-dependencies
8423 (lambda* (#:key inputs #:allow-other-keys)
8424 (substitute* "hdf5-cffi.asd"
8425 ((":depends-on \\(:cffi\\)")
8426 ":depends-on (:cffi :cffi-grovel)"))
8427 (substitute* "hdf5-cffi.test.asd"
8428 ((":depends-on \\(:cffi :hdf5-cffi")
8429 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
8430
8431 (define-public cl-hdf5-cffi
8432 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
8433
8434 (define-public ecl-hdf5-cffi
8435 (sbcl-package->ecl-package sbcl-hdf5-cffi))
8436
8437 (define-public sbcl-cl-randist
8438 (package
8439 (name "sbcl-cl-randist")
8440 (version "0.4.2")
8441 (source
8442 (origin
8443 (method git-fetch)
8444 (uri (git-reference
8445 (url "https://github.com/lvaruzza/cl-randist")
8446 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
8447 (file-name (git-file-name name version))
8448 (sha256
8449 (base32
8450 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
8451 (build-system asdf-build-system/sbcl)
8452 (synopsis "Random distributions for Common Lisp")
8453 (description
8454 "Manual translation from C to Common Lisp of some random number
8455 generation functions from the GSL library.")
8456 (home-page "https://github.com/lvaruzza/cl-randist")
8457 (license license:bsd-2)
8458 (arguments
8459 `(#:tests? #f))))
8460
8461 (define-public cl-randist
8462 (sbcl-package->cl-source-package sbcl-cl-randist))
8463
8464 (define-public ecl-cl-randist
8465 (sbcl-package->ecl-package sbcl-cl-randist))
8466
8467 (define-public sbcl-float-features
8468 (package
8469 (name "sbcl-float-features")
8470 (version "1.0.0")
8471 (source
8472 (origin
8473 (method git-fetch)
8474 (uri (git-reference
8475 (url "https://github.com/Shinmera/float-features")
8476 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
8477 (file-name (git-file-name name version))
8478 (sha256
8479 (base32
8480 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
8481 (build-system asdf-build-system/sbcl)
8482 (synopsis "Common Lisp IEEE float portability library")
8483 (description
8484 "Portability library for IEEE float features that are not
8485 covered by the Common Lisp standard.")
8486 (home-page "https://github.com/Shinmera/float-features")
8487 (license license:zlib)
8488 (inputs
8489 `(("documentation-utils" ,sbcl-documentation-utils)))
8490 (arguments
8491 `(#:tests? #f))))
8492
8493 (define-public cl-float-features
8494 (sbcl-package->cl-source-package sbcl-float-features))
8495
8496 (define-public ecl-float-features
8497 (sbcl-package->ecl-package sbcl-float-features))
8498
8499 (define-public sbcl-function-cache
8500 (package
8501 (name "sbcl-function-cache")
8502 (version "1.0.3")
8503 (source
8504 (origin
8505 (method git-fetch)
8506 (uri (git-reference
8507 (url "https://github.com/AccelerationNet/function-cache")
8508 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
8509 (file-name (git-file-name name version))
8510 (sha256
8511 (base32
8512 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
8513 (build-system asdf-build-system/sbcl)
8514 (synopsis "Function caching / memoization library for Common Lisp")
8515 (description
8516 "A common lisp library that provides extensible function result
8517 caching based on arguments (an expanded form of memoization).")
8518 (home-page "https://github.com/AccelerationNet/function-cache")
8519 (license
8520 (license:non-copyleft
8521 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
8522 (inputs
8523 `(("alexandria" ,sbcl-alexandria)
8524 ("cl-interpol" ,sbcl-cl-interpol)
8525 ("iterate" ,sbcl-iterate)
8526 ("symbol-munger" ,sbcl-symbol-munger)
8527 ("closer-mop" ,sbcl-closer-mop)))
8528 (arguments
8529 `(#:tests? #f))))
8530
8531 (define-public cl-function-cache
8532 (sbcl-package->cl-source-package sbcl-function-cache))
8533
8534 (define-public ecl-function-cache
8535 (sbcl-package->ecl-package sbcl-function-cache))
8536
8537 (define-public sbcl-type-r
8538 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
8539 (revision "1"))
8540 (package
8541 (name "sbcl-type-r")
8542 (version (git-version "0.0.0" revision commit))
8543 (source
8544 (origin
8545 (method git-fetch)
8546 (uri (git-reference
8547 (url "https://github.com/guicho271828/type-r")
8548 (commit commit)))
8549 (file-name (git-file-name name version))
8550 (sha256
8551 (base32
8552 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
8553 (build-system asdf-build-system/sbcl)
8554 (synopsis "Parser interface for Common Lisp built-in compound types")
8555 (description
8556 "Collections of accessor functions and patterns to access
8557 the elements in compound type specifier, e.g. @code{dimensions} in
8558 @code{(array element-type dimensions)}")
8559 (home-page "https://github.com/guicho271828/type-r")
8560 (license license:lgpl3+)
8561 (inputs
8562 `(("trivia" ,sbcl-trivia)
8563 ("alexandria" ,sbcl-alexandria)))
8564 (native-inputs
8565 `(("fiveam" ,sbcl-fiveam)))
8566 (arguments
8567 `(#:test-asd-file "type-r.test.asd")))))
8568
8569 (define-public cl-type-r
8570 (sbcl-package->cl-source-package sbcl-type-r))
8571
8572 (define-public ecl-type-r
8573 (sbcl-package->ecl-package sbcl-type-r))
8574
8575 (define-public sbcl-trivialib-type-unify
8576 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
8577 (revision "1"))
8578 (package
8579 (name "sbcl-trivialib-type-unify")
8580 (version (git-version "0.1" revision commit))
8581 (source
8582 (origin
8583 (method git-fetch)
8584 (uri (git-reference
8585 (url "https://github.com/guicho271828/trivialib.type-unify")
8586 (commit commit)))
8587 (file-name (git-file-name name version))
8588 (sha256
8589 (base32
8590 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
8591 (build-system asdf-build-system/sbcl)
8592 (synopsis "Common Lisp type unification")
8593 (description
8594 "Unifies a parametrized type specifier against an actual type specifier.
8595 Importantly, it handles complicated array-subtypes and number-related types
8596 correctly.")
8597 (home-page "https://github.com/guicho271828/trivialib.type-unify")
8598 (license license:lgpl3+)
8599 (inputs
8600 `(("alexandria" ,sbcl-alexandria)
8601 ("trivia" ,sbcl-trivia)
8602 ("introspect-environment" ,sbcl-introspect-environment)
8603 ("type-r" ,sbcl-type-r)))
8604 (native-inputs
8605 `(("fiveam" ,sbcl-fiveam)))
8606 (arguments
8607 `(#:asd-systems '("trivialib.type-unify")
8608 #:test-asd-file "trivialib.type-unify.test.asd")))))
8609
8610 (define-public cl-trivialib-type-unify
8611 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
8612
8613 (define-public ecl-trivialib-type-unify
8614 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
8615
8616 (define-public sbcl-specialized-function
8617 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
8618 (revision "2"))
8619 (package
8620 (name "sbcl-specialized-function")
8621 (version (git-version "0.0.0" revision commit))
8622 (source
8623 (origin
8624 (method git-fetch)
8625 (uri (git-reference
8626 (url "https://github.com/numcl/specialized-function")
8627 (commit commit)))
8628 (file-name (git-file-name name version))
8629 (sha256
8630 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
8631 (build-system asdf-build-system/sbcl)
8632 (synopsis "Julia-like dispatch for Common Lisp")
8633 (description
8634 "This library is part of NUMCL. It provides a macro
8635 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
8636 lazily compiling a type-specific version of the function from the same
8637 code. The main target of this macro is speed.")
8638 (home-page "https://github.com/numcl/specialized-function")
8639 (license license:lgpl3+)
8640 (inputs
8641 `(("trivia" ,sbcl-trivia)
8642 ("alexandria" ,sbcl-alexandria)
8643 ("iterate" ,sbcl-iterate)
8644 ("lisp-namespace" ,sbcl-lisp-namespace)
8645 ("type-r" ,sbcl-type-r)
8646 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
8647 (native-inputs
8648 `(("fiveam" ,sbcl-fiveam)))
8649 (arguments
8650 `(#:asd-files '("specialized-function.asd")
8651 #:test-asd-file "specialized-function.test.asd"
8652 ;; Tests fail because they try to use an internal symbol of SBCL
8653 ;; that does not exists in recent versions:
8654 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
8655 #:tests? #f)))))
8656
8657 (define-public cl-specialized-function
8658 (sbcl-package->cl-source-package sbcl-specialized-function))
8659
8660 (define-public ecl-specialized-function
8661 (sbcl-package->ecl-package sbcl-specialized-function))
8662
8663 (define-public sbcl-constantfold
8664 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
8665 (revision "1"))
8666 (package
8667 (name "sbcl-constantfold")
8668 (version (git-version "0.1" revision commit))
8669 (source
8670 (origin
8671 (method git-fetch)
8672 (uri (git-reference
8673 (url "https://github.com/numcl/constantfold")
8674 (commit commit)))
8675 (file-name (git-file-name name version))
8676 (sha256
8677 (base32
8678 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
8679 (build-system asdf-build-system/sbcl)
8680 (synopsis "Support library for numcl")
8681 (description
8682 "Support library for numcl. Registers a function as an
8683 additional form that is considered as a candidate for a constant.")
8684 (home-page "https://github.com/numcl/constantfold")
8685 (license license:lgpl3+)
8686 (inputs
8687 `(("trivia" ,sbcl-trivia)
8688 ("alexandria" ,sbcl-alexandria)
8689 ("iterate" ,sbcl-iterate)
8690 ("lisp-namespace" ,sbcl-lisp-namespace)))
8691 (native-inputs
8692 `(("fiveam" ,sbcl-fiveam)))
8693 (arguments
8694 `(#:asd-files '("constantfold.asd")
8695 #:test-asd-file "constantfold.test.asd")))))
8696
8697 (define-public cl-constantfold
8698 (sbcl-package->cl-source-package sbcl-constantfold))
8699
8700 (define-public ecl-constantfold
8701 (sbcl-package->ecl-package sbcl-constantfold))
8702
8703 (define-public sbcl-gtype
8704 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
8705 (revision "2"))
8706 (package
8707 (name "sbcl-gtype")
8708 (version (git-version "0.1" revision commit))
8709 (source
8710 (origin
8711 (method git-fetch)
8712 (uri (git-reference
8713 (url "https://github.com/numcl/gtype")
8714 (commit commit)))
8715 (file-name (git-file-name name version))
8716 (sha256
8717 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
8718 (build-system asdf-build-system/sbcl)
8719 (synopsis "C++/Julia-like parametric types in Common Lisp")
8720 (description
8721 "Support library for numcl that provides Julia-like runtime parametric
8722 type correctness in Common Lisp. It is based on CLtL2 extensions.")
8723 (home-page "https://github.com/numcl/gtype")
8724 (license license:lgpl3+)
8725 (inputs
8726 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
8727 ("trivial-cltl2" ,sbcl-trivial-cltl2)
8728 ("trivia" ,sbcl-trivia)
8729 ("alexandria" ,sbcl-alexandria)
8730 ("iterate" ,sbcl-iterate)
8731 ("type-r" ,sbcl-type-r)))
8732 (native-inputs
8733 `(("fiveam" ,sbcl-fiveam)))
8734 (arguments
8735 `(#:asd-files '("gtype.asd")
8736 #:test-asd-file "gtype.test.asd")))))
8737
8738 (define-public cl-gtype
8739 (sbcl-package->cl-source-package sbcl-gtype))
8740
8741 (define-public ecl-gtype
8742 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
8743 (package
8744 (inherit pkg)
8745 (arguments
8746 (substitute-keyword-arguments (package-arguments pkg)
8747 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
8748 ((#:tests? _ #f) #f))))))
8749
8750 (define-public sbcl-numcl
8751 (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a")
8752 (revision "2"))
8753 (package
8754 (name "sbcl-numcl")
8755 (version (git-version "0.1.0" revision commit))
8756 (source
8757 (origin
8758 (method git-fetch)
8759 (uri (git-reference
8760 (url "https://github.com/numcl/numcl")
8761 (commit commit)))
8762 (file-name (git-file-name name version))
8763 (sha256
8764 (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4"))))
8765 (build-system asdf-build-system/sbcl)
8766 (synopsis "Numpy clone in Common Lisp")
8767 (description
8768 "This is a Numpy clone in Common Lisp. At the moment the
8769 library is written in pure Common Lisp, focusing more on correctness
8770 and usefulness, not speed. Track the progress at
8771 @url{https://github.com/numcl/numcl/projects/1}.")
8772 (home-page "https://github.com/numcl/numcl")
8773 (license license:lgpl3+)
8774 (inputs
8775 `(("trivia" ,sbcl-trivia)
8776 ("alexandria" ,sbcl-alexandria)
8777 ("iterate" ,sbcl-iterate)
8778 ("lisp-namespace" ,sbcl-lisp-namespace)
8779 ("type-r" ,sbcl-type-r)
8780 ("constantfold" ,sbcl-constantfold)
8781 ("cl-randist" ,sbcl-cl-randist)
8782 ("float-features" ,sbcl-float-features)
8783 ("function-cache" ,sbcl-function-cache)
8784 ("specialized-function" ,sbcl-specialized-function)
8785 ("gtype" ,sbcl-gtype)))
8786 (native-inputs
8787 `(("fiveam" ,sbcl-fiveam)))
8788 (arguments
8789 `(#:asd-files '("numcl.asd")
8790 #:test-asd-file "numcl.test.asd"
8791 ;; Tests fail on SBCL with "Heap exhausted, game over",
8792 ;; but they pass on ECL.
8793 #:tests? #f)))))
8794
8795 (define-public cl-numcl
8796 (sbcl-package->cl-source-package sbcl-numcl))
8797
8798 (define-public ecl-numcl
8799 (let ((pkg (sbcl-package->ecl-package sbcl-numcl)))
8800 (package
8801 (inherit pkg)
8802 (arguments
8803 (substitute-keyword-arguments (package-arguments pkg)
8804 ((#:tests? _ #f) #t))))))
8805
8806 (define-public sbcl-pzmq
8807 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
8808 (revision "1"))
8809 (package
8810 (name "sbcl-pzmq")
8811 (version (git-version "0.0.0" revision commit))
8812 (source
8813 (origin
8814 (method git-fetch)
8815 (uri (git-reference
8816 (url "https://github.com/orivej/pzmq")
8817 (commit commit)))
8818 (file-name (git-file-name name version))
8819 (sha256
8820 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
8821 (build-system asdf-build-system/sbcl)
8822 (native-inputs
8823 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
8824 ("fiveam" ,sbcl-fiveam)
8825 ("let-plus" ,sbcl-let-plus)))
8826 (inputs
8827 `(("cffi" ,sbcl-cffi)
8828 ("zeromq" ,zeromq)))
8829 (arguments
8830 `(#:phases (modify-phases %standard-phases
8831 (add-after 'unpack 'fix-paths
8832 (lambda* (#:key inputs #:allow-other-keys)
8833 (substitute* "c-api.lisp"
8834 (("\"libzmq")
8835 (string-append "\""
8836 (assoc-ref inputs "zeromq")
8837 "/lib/libzmq")))
8838 #t)))))
8839 (synopsis "Common Lisp bindings for the ZeroMQ library")
8840 (description "This Common Lisp library provides bindings for the ZeroMQ
8841 lightweight messaging kernel.")
8842 (home-page "https://github.com/orivej/pzmq")
8843 (license license:unlicense))))
8844
8845 (define-public cl-pzmq
8846 (sbcl-package->cl-source-package sbcl-pzmq))
8847
8848 (define-public ecl-pzmq
8849 (sbcl-package->ecl-package sbcl-pzmq))
8850
8851 (define-public sbcl-clss
8852 (let ((revision "1")
8853 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
8854 (package
8855 (name "sbcl-clss")
8856 (version (git-version "0.3.1" revision commit))
8857 (source
8858 (origin
8859 (method git-fetch)
8860 (uri
8861 (git-reference
8862 (url "https://github.com/Shinmera/clss")
8863 (commit commit)))
8864 (sha256
8865 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
8866 (file-name (git-file-name name version))))
8867 (inputs
8868 `(("array-utils" ,sbcl-array-utils)
8869 ("plump" ,sbcl-plump)))
8870 (build-system asdf-build-system/sbcl)
8871 (synopsis "DOM tree searching engine based on CSS selectors")
8872 (description "CLSS is a DOM traversal engine based on CSS
8873 selectors. It makes use of the Plump-DOM and is used by lQuery.")
8874 (home-page "https://github.com/Shinmera/clss")
8875 (license license:zlib))))
8876
8877 (define-public cl-clss
8878 (sbcl-package->cl-source-package sbcl-clss))
8879
8880 (define-public ecl-clss
8881 (sbcl-package->ecl-package sbcl-clss))
8882
8883 (define-public sbcl-lquery
8884 (let ((revision "1")
8885 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
8886 (package
8887 (name "sbcl-lquery")
8888 (version (git-version "3.2.1" revision commit))
8889 (source
8890 (origin
8891 (method git-fetch)
8892 (uri
8893 (git-reference
8894 (url "https://github.com/Shinmera/lquery")
8895 (commit commit)))
8896 (sha256
8897 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
8898 (file-name (git-file-name name version))))
8899 (native-inputs
8900 `(("fiveam" ,sbcl-fiveam)))
8901 (inputs
8902 `(("array-utils" ,sbcl-array-utils)
8903 ("form-fiddle" ,sbcl-form-fiddle)
8904 ("plump" ,sbcl-plump)
8905 ("clss" ,sbcl-clss)))
8906 (build-system asdf-build-system/sbcl)
8907 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
8908 (description "@code{lQuery} is a DOM manipulation library written in
8909 Common Lisp, inspired by and based on the jQuery syntax and
8910 functions. It uses Plump and CLSS as DOM and selector engines. The
8911 main idea behind lQuery is to provide a simple interface for crawling
8912 and modifying HTML sites, as well as to allow for an alternative
8913 approach to templating.")
8914 (home-page "https://github.com/Shinmera/lquery")
8915 (license license:zlib))))
8916
8917 (define-public cl-lquery
8918 (sbcl-package->cl-source-package sbcl-lquery))
8919
8920 (define-public ecl-lquery
8921 (sbcl-package->ecl-package sbcl-lquery))
8922
8923 (define-public sbcl-cl-mysql
8924 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
8925 (revision "1"))
8926 (package
8927 (name "sbcl-cl-mysql")
8928 (version (git-version "0.1" revision commit))
8929 (source
8930 (origin
8931 (method git-fetch)
8932 (uri (git-reference
8933 (url "https://github.com/hackinghat/cl-mysql")
8934 (commit commit)))
8935 (file-name (git-file-name name version))
8936 (sha256
8937 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
8938 (build-system asdf-build-system/sbcl)
8939 (native-inputs
8940 `(("stefil" ,sbcl-stefil)))
8941 (inputs
8942 `(("cffi" ,sbcl-cffi)
8943 ("mariadb-lib" ,mariadb "lib")))
8944 (arguments
8945 `(#:tests? #f ; TODO: Tests require a running server
8946 #:phases
8947 (modify-phases %standard-phases
8948 (add-after 'unpack 'fix-paths
8949 (lambda* (#:key inputs #:allow-other-keys)
8950 (substitute* "system.lisp"
8951 (("libmysqlclient_r" all)
8952 (string-append (assoc-ref inputs "mariadb-lib")
8953 "/lib/"
8954 all)))
8955 #t)))))
8956 (synopsis "Common Lisp wrapper for MySQL")
8957 (description
8958 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
8959 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
8960 (license license:expat))))
8961
8962 (define-public cl-mysql
8963 (sbcl-package->cl-source-package sbcl-cl-mysql))
8964
8965 (define-public ecl-cl-mysql
8966 (sbcl-package->ecl-package sbcl-cl-mysql))
8967
8968 (define-public sbcl-postmodern
8969 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
8970 (revision "1"))
8971 (package
8972 (name "sbcl-postmodern")
8973 (version (git-version "1.19" revision commit))
8974 (source
8975 (origin
8976 (method git-fetch)
8977 (uri (git-reference
8978 (url "https://github.com/marijnh/Postmodern")
8979 (commit commit)))
8980 (file-name (git-file-name name version))
8981 (sha256
8982 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
8983 (build-system asdf-build-system/sbcl)
8984 (native-inputs
8985 `(("fiveam" ,sbcl-fiveam)))
8986 (inputs
8987 `(("alexandria" ,sbcl-alexandria)
8988 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8989 ("closer-mop" ,sbcl-closer-mop)
8990 ("global-vars" ,sbcl-global-vars)
8991 ("md5" ,sbcl-md5)
8992 ("split-sequence" ,sbcl-split-sequence)
8993 ("usocket" ,sbcl-usocket)))
8994 (arguments
8995 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
8996 ;; cl-postgres/tests and s-sql/tests.
8997 `(#:tests? #f
8998 #:asd-systems '("postmodern"
8999 "simple-date/postgres-glue")))
9000 (synopsis "Common Lisp library for interacting with PostgreSQL")
9001 (description
9002 "@code{postmodern} is a Common Lisp library for interacting with
9003 PostgreSQL databases. It provides the following features:
9004
9005 @itemize
9006 @item Efficient communication with the database server without need for
9007 foreign libraries.
9008 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9009 @item A syntax for mixing SQL and Lisp code.
9010 @item Convenient support for prepared statements and stored procedures.
9011 @item A metaclass for simple database-access objects.
9012 @end itemize\n")
9013 (home-page "https://marijnhaverbeke.nl/postmodern/")
9014 (license license:zlib))))
9015
9016 (define-public cl-postmodern
9017 (sbcl-package->cl-source-package sbcl-postmodern))
9018
9019 (define-public ecl-postmodern
9020 (package
9021 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9022 (arguments
9023 `(#:tests? #f
9024 #:asd-systems '("postmodern"
9025 "simple-date/postgres-glue")
9026 #:phases
9027 (modify-phases %standard-phases
9028 (add-after 'unpack 'fix-build
9029 (lambda _
9030 (substitute* "cl-postgres.asd"
9031 (("\\) \"usocket\"")
9032 " :ecl) \"usocket\""))
9033 #t)))))))
9034
9035 (define-public sbcl-dbi
9036 ;; Master includes a breaking change which other packages depend on since
9037 ;; Quicklisp decided to follow it:
9038 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9039 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9040 (package
9041 (name "sbcl-dbi")
9042 (version (git-version "0.9.4" "1" commit))
9043 (source
9044 (origin
9045 (method git-fetch)
9046 (uri (git-reference
9047 (url "https://github.com/fukamachi/cl-dbi")
9048 (commit commit)))
9049 (file-name (git-file-name name version))
9050 (sha256
9051 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9052 (build-system asdf-build-system/sbcl)
9053 (native-inputs
9054 `(("rove" ,sbcl-rove)
9055 ("trivial-types" ,sbcl-trivial-types)))
9056 (inputs
9057 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9058 ("cl-mysql" ,sbcl-cl-mysql)
9059 ("cl-sqlite" ,sbcl-cl-sqlite)
9060 ("closer-mop" ,sbcl-closer-mop)
9061 ("postmodern" ,sbcl-postmodern)
9062 ("split-sequence" ,sbcl-split-sequence)
9063 ("trivial-garbage" ,sbcl-trivial-garbage)))
9064 (arguments
9065 `(#:asd-systems '("dbi"
9066 "dbd-mysql"
9067 "dbd-postgres"
9068 "dbd-sqlite3")))
9069 (synopsis "Database independent interface for Common Lisp")
9070 (description
9071 "@code{dbi} is a Common Lisp library providing a database independent
9072 interface for MySQL, PostgreSQL and SQLite.")
9073 (home-page "https://github.com/fukamachi/cl-dbi")
9074 (license license:llgpl))))
9075
9076 (define-public cl-dbi
9077 (sbcl-package->cl-source-package sbcl-dbi))
9078
9079 (define-public ecl-dbi
9080 (sbcl-package->ecl-package sbcl-dbi))
9081
9082 (define-public sbcl-uffi
9083 (package
9084 (name "sbcl-uffi")
9085 (version "2.1.2")
9086 (source
9087 (origin
9088 (method git-fetch)
9089 (uri (git-reference
9090 (url "http://git.kpe.io/uffi.git")
9091 (commit (string-append "v" version))))
9092 (file-name (git-file-name name version))
9093 (sha256
9094 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9095 (build-system asdf-build-system/sbcl)
9096 (arguments
9097 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
9098 #:asd-files '("uffi.asd")
9099 #:phases
9100 (modify-phases %standard-phases
9101 (add-after 'unpack 'fix-permissions
9102 (lambda _
9103 (make-file-writable "doc/html.tar.gz")
9104 #t)))))
9105 (synopsis "Universal foreign function library for Common Lisp")
9106 (description
9107 "UFFI provides a universal foreign function interface (FFI)
9108 for Common Lisp.")
9109 (home-page "http://quickdocs.org/uffi/")
9110 (license license:llgpl)))
9111
9112 (define-public cl-uffi
9113 (package
9114 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9115 (arguments
9116 `(#:phases
9117 ;; asdf-build-system/source has its own phases and does not inherit
9118 ;; from asdf-build-system/sbcl phases.
9119 (modify-phases %standard-phases/source
9120 ;; Already done in SBCL package.
9121 (delete 'reset-gzip-timestamps))))))
9122
9123 (define-public sbcl-clsql
9124 (package
9125 (name "sbcl-clsql")
9126 (version "6.7.0")
9127 (source
9128 (origin
9129 (method git-fetch)
9130 (uri (git-reference
9131 (url "http://git.kpe.io/clsql.git")
9132 (commit (string-append "v" version))))
9133 (file-name (git-file-name name version))
9134 (sha256
9135 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9136 (snippet
9137 '(begin
9138 ;; Remove precompiled libraries.
9139 (delete-file "db-mysql/clsql_mysql.dll")
9140 (delete-file "uffi/clsql_uffi.dll")
9141 (delete-file "uffi/clsql_uffi.lib")
9142 #t))))
9143 (build-system asdf-build-system/sbcl)
9144 (native-inputs
9145 `(("rt" ,sbcl-rt)))
9146 (inputs
9147 `(("cffi" ,sbcl-cffi)
9148 ("md5" ,sbcl-md5)
9149 ("mysql" ,mysql)
9150 ("postgresql" ,postgresql)
9151 ("postmodern" ,sbcl-postmodern)
9152 ("sqlite" ,sqlite)
9153 ("uffi" ,sbcl-uffi)
9154 ("zlib" ,zlib)))
9155 (arguments
9156 `(#:asd-files '("clsql.asd"
9157 "clsql-uffi.asd"
9158 "clsql-sqlite3.asd"
9159 "clsql-postgresql.asd"
9160 "clsql-postgresql-socket3.asd"
9161 "clsql-mysql.asd")
9162 #:asd-systems '("clsql"
9163 "clsql-sqlite3"
9164 "clsql-postgresql"
9165 "clsql-postgresql-socket3"
9166 "clsql-mysql")
9167 #:phases
9168 (modify-phases %standard-phases
9169 (add-after 'unpack 'fix-permissions
9170 (lambda _
9171 (make-file-writable "doc/html.tar.gz")
9172 #t))
9173 (add-after 'unpack 'fix-build
9174 (lambda _
9175 (substitute* "clsql-uffi.asd"
9176 (("\\(:version uffi \"2.0\"\\)")
9177 "uffi"))
9178 (substitute* "db-postgresql/postgresql-api.lisp"
9179 (("\\(data :cstring\\)")
9180 "(data :string)"))
9181 #t))
9182 (add-after 'unpack 'fix-paths
9183 (lambda* (#:key inputs outputs #:allow-other-keys)
9184 (substitute* "db-sqlite3/sqlite3-loader.lisp"
9185 (("libsqlite3")
9186 (string-append (assoc-ref inputs "sqlite")
9187 "/lib/libsqlite3")))
9188 (substitute* "db-postgresql/postgresql-loader.lisp"
9189 (("libpq")
9190 (string-append (assoc-ref inputs "postgresql")
9191 "/lib/libpq")))
9192 (let ((lib (string-append "#p\""
9193 (assoc-ref outputs "out")
9194 "/lib/\"")))
9195 (substitute* "clsql-mysql.asd"
9196 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
9197 lib))
9198 (substitute* "db-mysql/mysql-loader.lisp"
9199 (("libmysqlclient" all)
9200 (string-append (assoc-ref inputs "mysql") "/lib/" all))
9201 (("clsql-mysql-system::\\*library-file-dir\\*")
9202 lib)))
9203 #t))
9204 (add-before 'build 'build-helper-library
9205 (lambda* (#:key inputs outputs #:allow-other-keys)
9206 (let* ((mysql (assoc-ref inputs "mysql"))
9207 (inc-dir (string-append mysql "/include/mysql"))
9208 (lib-dir (string-append mysql "/lib"))
9209 (shared-lib-dir (string-append (assoc-ref outputs "out")
9210 "/lib"))
9211 (shared-lib (string-append shared-lib-dir
9212 "/clsql_mysql.so")))
9213 (mkdir-p shared-lib-dir)
9214 (invoke "gcc" "-fPIC" "-shared"
9215 "-I" inc-dir
9216 "db-mysql/clsql_mysql.c"
9217 "-Wl,-soname=clsql_mysql"
9218 "-L" lib-dir "-lmysqlclient" "-lz"
9219 "-o" shared-lib)
9220 #t)))
9221 (add-after 'unpack 'fix-tests
9222 (lambda _
9223 (substitute* "clsql.asd"
9224 (("clsql-tests :force t")
9225 "clsql-tests"))
9226 #t)))))
9227 (synopsis "Common Lisp SQL Interface library")
9228 (description
9229 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
9230 Xanalys CommonSQL interface for Lispworks. It provides low-level database
9231 interfaces as well as a functional and an object oriented interface.")
9232 (home-page "http://clsql.kpe.io/")
9233 (license license:llgpl)))
9234
9235 (define-public cl-clsql
9236 (package
9237 (inherit (sbcl-package->cl-source-package sbcl-clsql))
9238 (native-inputs
9239 `(("rt" ,cl-rt)))
9240 (inputs
9241 `(("mysql" ,mysql)
9242 ("postgresql" ,postgresql)
9243 ("sqlite" ,sqlite)
9244 ("zlib" ,zlib)))
9245 (propagated-inputs
9246 `(("cffi" ,cl-cffi)
9247 ("md5" ,cl-md5)
9248 ("postmodern" ,cl-postmodern)
9249 ("uffi" ,cl-uffi)))
9250 (arguments
9251 `(#:phases
9252 ;; asdf-build-system/source has its own phases and does not inherit
9253 ;; from asdf-build-system/sbcl phases.
9254 (modify-phases %standard-phases/source
9255 (add-after 'unpack 'fix-permissions
9256 (lambda _
9257 (make-file-writable "doc/html.tar.gz")
9258 #t)))))))
9259
9260 (define-public ecl-clsql
9261 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
9262 (package
9263 (inherit pkg)
9264 (inputs
9265 (alist-delete "uffi" (package-inputs pkg)))
9266 (arguments
9267 (substitute-keyword-arguments (package-arguments pkg)
9268 ((#:asd-files asd-files '())
9269 `(cons "clsql-cffi.asd" ,asd-files)))))))
9270
9271 (define-public sbcl-sycamore
9272 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
9273 (package
9274 (name "sbcl-sycamore")
9275 (version "0.0.20120604")
9276 (source
9277 (origin
9278 (method git-fetch)
9279 (uri (git-reference
9280 (url "https://github.com/ndantam/sycamore/")
9281 (commit commit)))
9282 (file-name (git-file-name name version))
9283 (sha256
9284 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
9285 (build-system asdf-build-system/sbcl)
9286 (inputs
9287 `(("alexandria" ,sbcl-alexandria)
9288 ("cl-ppcre" ,sbcl-cl-ppcre)))
9289 (synopsis "Purely functional data structure library in Common Lisp")
9290 (description
9291 "Sycamore is a fast, purely functional data structure library in Common Lisp.
9292 If features:
9293
9294 @itemize
9295 @item Fast, purely functional weight-balanced binary trees.
9296 @item Leaf nodes are simple-vectors, greatly reducing tree height.
9297 @item Interfaces for tree Sets and Maps (dictionaries).
9298 @item Ropes.
9299 @item Purely functional pairing heaps.
9300 @item Purely functional amortized queue.
9301 @end itemize\n")
9302 (home-page "http://ndantam.github.io/sycamore/")
9303 (license license:bsd-3))))
9304
9305 (define-public cl-sycamore
9306 (sbcl-package->cl-source-package sbcl-sycamore))
9307
9308 (define-public ecl-sycamore
9309 (sbcl-package->ecl-package sbcl-sycamore))
9310
9311 (define-public sbcl-trivial-package-local-nicknames
9312 (package
9313 (name "sbcl-trivial-package-local-nicknames")
9314 (version "0.2")
9315 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
9316 (source
9317 (origin
9318 (method git-fetch)
9319 (uri (git-reference
9320 (url home-page)
9321 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
9322 (file-name (git-file-name name version))
9323 (sha256
9324 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
9325 (build-system asdf-build-system/sbcl)
9326 (synopsis "Common Lisp compatibility library for package local nicknames")
9327 (description
9328 "This library is a portable compatibility layer around package local nicknames (PLN).
9329 This was done so there is a portability library for the PLN API not included
9330 in DEFPACKAGE.")
9331 (license license:unlicense)))
9332
9333 (define-public cl-trivial-package-local-nicknames
9334 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
9335
9336 (define-public ecl-trivial-package-local-nicknames
9337 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
9338
9339 (define-public sbcl-enchant
9340 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
9341 (package
9342 (name "sbcl-enchant")
9343 (version (git-version "0.0.0" "1" commit))
9344 (home-page "https://github.com/tlikonen/cl-enchant")
9345 (source
9346 (origin
9347 (method git-fetch)
9348 (uri (git-reference
9349 (url home-page)
9350 (commit commit)))
9351 (file-name (git-file-name name version))
9352 (sha256
9353 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
9354 (build-system asdf-build-system/sbcl)
9355 (inputs
9356 `(("enchant" ,enchant)
9357 ("cffi" ,sbcl-cffi)))
9358 (arguments
9359 `(#:phases
9360 (modify-phases %standard-phases
9361 (add-after 'unpack 'fix-paths
9362 (lambda* (#:key inputs #:allow-other-keys)
9363 (substitute* "load-enchant.lisp"
9364 (("libenchant")
9365 (string-append
9366 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
9367 (synopsis "Common Lisp interface for the Enchant spell-checker library")
9368 (description
9369 "Enchant is a Common Lisp interface for the Enchant spell-checker
9370 library. The Enchant library is a generic spell-checker library which uses
9371 other spell-checkers transparently as back-end. The library supports the
9372 multiple checkers, including Aspell and Hunspell.")
9373 (license license:public-domain))))
9374
9375 (define-public cl-enchant
9376 (sbcl-package->cl-source-package sbcl-enchant))
9377
9378 (define-public ecl-enchant
9379 (sbcl-package->ecl-package sbcl-enchant))
9380
9381 (define-public sbcl-cl-change-case
9382 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
9383 (package
9384 (name "sbcl-cl-change-case")
9385 (version (git-version "0.1.0" "1" commit))
9386 (home-page "https://github.com/rudolfochrist/cl-change-case")
9387 (source
9388 (origin
9389 (method git-fetch)
9390 (uri (git-reference
9391 (url home-page)
9392 (commit commit)))
9393 (file-name (git-file-name name version))
9394 (sha256
9395 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
9396 (build-system asdf-build-system/sbcl)
9397 (inputs
9398 `(("cl-ppcre" ,sbcl-cl-ppcre)
9399 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
9400 (native-inputs
9401 `(("fiveam" ,sbcl-fiveam)))
9402 (arguments
9403 '(;; FIXME: Test pass but phase fails with 'Component
9404 ;; "cl-change-case-test" not found, required by'.
9405 #:tests? #f
9406 #:test-asd-file "cl-change-case-test.asd"))
9407 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
9408 (description
9409 "@code{cl-change-case} is library to convert strings between camelCase,
9410 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
9411 (license license:llgpl))))
9412
9413 (define-public cl-change-case
9414 (sbcl-package->cl-source-package sbcl-cl-change-case))
9415
9416 (define-public ecl-cl-change-case
9417 (sbcl-package->ecl-package sbcl-cl-change-case))
9418
9419 (define-public sbcl-moptilities
9420 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
9421 (package
9422 (name "sbcl-moptilities")
9423 (version (git-version "0.3.13" "1" commit))
9424 (home-page "https://github.com/gwkkwg/moptilities/")
9425 (source
9426 (origin
9427 (method git-fetch)
9428 (uri (git-reference
9429 (url home-page)
9430 (commit commit)))
9431 (file-name (git-file-name name version))
9432 (sha256
9433 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
9434 (build-system asdf-build-system/sbcl)
9435 (inputs
9436 `(("closer-mop" ,sbcl-closer-mop)))
9437 (native-inputs
9438 `(("lift" ,sbcl-lift)))
9439 (arguments
9440 `(#:phases
9441 (modify-phases %standard-phases
9442 (add-after 'unpack 'fix-tests
9443 (lambda _
9444 (substitute* "lift-standard.config"
9445 ((":relative-to lift-test")
9446 ":relative-to moptilities-test"))
9447 #t)))))
9448 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
9449 (description
9450 "MOP utilities provide a common interface between Lisps and make the
9451 MOP easier to use.")
9452 (license license:expat))))
9453
9454 (define-public cl-moptilities
9455 (sbcl-package->cl-source-package sbcl-moptilities))
9456
9457 (define-public sbcl-osicat
9458 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
9459 (package
9460 (name "sbcl-osicat")
9461 (version (git-version "0.7.0" "1" commit))
9462 (home-page "http://www.common-lisp.net/project/osicat/")
9463 (source
9464 (origin
9465 (method git-fetch)
9466 (uri (git-reference
9467 (url "https://github.com/osicat/osicat")
9468 (commit commit)))
9469 (file-name (git-file-name name version))
9470 (sha256
9471 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
9472 (build-system asdf-build-system/sbcl)
9473 (inputs
9474 `(("alexandria" ,sbcl-alexandria)
9475 ("cffi" ,sbcl-cffi)
9476 ("trivial-features" ,sbcl-trivial-features)))
9477 (native-inputs
9478 `(("rt" ,sbcl-rt)))
9479 (synopsis "Operating system interface for Common Lisp")
9480 (description
9481 "Osicat is a lightweight operating system interface for Common Lisp on
9482 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
9483 accompaniment to the standard ANSI facilities.")
9484 (license license:expat))))
9485
9486 (define-public cl-osicat
9487 (sbcl-package->cl-source-package sbcl-osicat))
9488
9489 (define-public ecl-osicat
9490 (sbcl-package->ecl-package sbcl-osicat))
9491
9492 (define-public sbcl-clx-xembed
9493 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
9494 (revision "1"))
9495 (package
9496 (name "sbcl-clx-xembed")
9497 (version (git-version "0.1" revision commit))
9498 (home-page "https://github.com/laynor/clx-xembed")
9499 (source
9500 (origin
9501 (method git-fetch)
9502 (uri (git-reference
9503 (url "https://github.com/laynor/clx-xembed")
9504 (commit commit)))
9505 (file-name (git-file-name name version))
9506 (sha256
9507 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
9508 (build-system asdf-build-system/sbcl)
9509 (arguments
9510 `(#:asd-systems '("xembed")))
9511 (inputs
9512 `(("sbcl-clx" ,sbcl-clx)))
9513 (synopsis "CL(x) xembed protocol implementation ")
9514 (description "CL(x) xembed protocol implementation")
9515 ;; MIT License
9516 (license license:expat))))
9517
9518 (define-public cl-clx-xembed
9519 (sbcl-package->cl-source-package sbcl-clx-xembed))
9520
9521 (define-public ecl-clx-xembed
9522 (sbcl-package->ecl-package sbcl-clx-xembed))
9523
9524 (define-public sbcl-quantile-estimator
9525 (package
9526 (name "sbcl-quantile-estimator")
9527 (version "0.0.1")
9528 (source
9529 (origin
9530 (method git-fetch)
9531 (uri (git-reference
9532 (url "https://github.com/deadtrickster/quantile-estimator.cl")
9533 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
9534 (file-name (git-file-name name version))
9535 (sha256
9536 (base32
9537 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
9538 (build-system asdf-build-system/sbcl)
9539 (arguments
9540 '(#:asd-files '("quantile-estimator.asd")))
9541 (inputs
9542 `(("alexandria" ,sbcl-alexandria)))
9543 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
9544 (synopsis
9545 "Effective computation of biased quantiles over data streams")
9546 (description
9547 "Common Lisp implementation of Graham Cormode and S.
9548 Muthukrishnan's Effective Computation of Biased Quantiles over Data
9549 Streams in ICDE’05.")
9550 (license license:expat)))
9551
9552 (define-public cl-quantile-estimator
9553 (sbcl-package->cl-source-package sbcl-quantile-estimator))
9554
9555 (define-public ecl-quantile-estimator
9556 (sbcl-package->ecl-package sbcl-quantile-estimator))
9557
9558 (define-public sbcl-prometheus
9559 (package
9560 (name "sbcl-prometheus")
9561 (version "0.4.1")
9562 (source
9563 (origin
9564 (method git-fetch)
9565 (uri (git-reference
9566 (url "https://github.com/deadtrickster/prometheus.cl")
9567 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
9568 (file-name (git-file-name name version))
9569 (sha256
9570 (base32
9571 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
9572 (build-system asdf-build-system/sbcl)
9573 (inputs
9574 `(("alexandria" ,sbcl-alexandria)
9575 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9576 ("cffi" ,sbcl-cffi)
9577 ("cl-fad" ,sbcl-cl-fad)
9578 ("cl-ppcre" ,sbcl-cl-ppcre)
9579 ("drakma" ,sbcl-drakma)
9580 ("hunchentoot" ,sbcl-hunchentoot)
9581 ("local-time" ,sbcl-local-time)
9582 ("quantile-estimator" ,sbcl-quantile-estimator)
9583 ("salza2" ,sbcl-salza2)
9584 ("split-sequence" ,sbcl-split-sequence)
9585 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
9586 (arguments
9587 '(#:asd-files '("prometheus.asd"
9588 "prometheus.collectors.sbcl.asd"
9589 "prometheus.collectors.process.asd"
9590 "prometheus.formats.text.asd"
9591 "prometheus.exposers.hunchentoot.asd"
9592 "prometheus.pushgateway.asd")
9593 #:asd-systems '("prometheus"
9594 "prometheus.collectors.sbcl"
9595 "prometheus.collectors.process"
9596 "prometheus.formats.text"
9597 "prometheus.exposers.hunchentoot"
9598 "prometheus.pushgateway")))
9599 (home-page "https://github.com/deadtrickster/prometheus.cl")
9600 (synopsis "Prometheus.io Common Lisp client")
9601 (description "Prometheus.io Common Lisp client.")
9602 (license license:expat)))
9603
9604 (define-public cl-prometheus
9605 (sbcl-package->cl-source-package sbcl-prometheus))
9606
9607 (define-public ecl-prometheus
9608 (sbcl-package->ecl-package sbcl-prometheus))
9609
9610 (define-public sbcl-uuid
9611 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
9612 (package
9613 (name "sbcl-uuid")
9614 (version (git-version "2012.12.26" "1" commit))
9615 (source
9616 (origin
9617 (method git-fetch)
9618 (uri (git-reference
9619 (url "https://github.com/dardoria/uuid")
9620 (commit commit)))
9621 (file-name (git-file-name name version))
9622 (sha256
9623 (base32
9624 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
9625 (build-system asdf-build-system/sbcl)
9626 (inputs
9627 `(("ironclad" ,sbcl-ironclad)
9628 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
9629 (home-page "https://github.com/dardoria/uuid")
9630 (synopsis
9631 "Common Lisp implementation of UUIDs according to RFC4122")
9632 (description
9633 "Common Lisp implementation of UUIDs according to RFC4122.")
9634 (license license:llgpl))))
9635
9636 (define-public cl-uuid
9637 (sbcl-package->cl-source-package sbcl-uuid))
9638
9639 (define-public ecl-uuid
9640 (sbcl-package->ecl-package sbcl-uuid))
9641
9642 (define-public sbcl-dissect
9643 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
9644 (package
9645 (name "sbcl-dissect")
9646 (version (git-version "1.0.0" "1" commit))
9647 (source
9648 (origin
9649 (method git-fetch)
9650 (uri (git-reference
9651 (url "https://github.com/Shinmera/dissect")
9652 (commit commit)))
9653 (file-name (git-file-name name version))
9654 (sha256
9655 (base32
9656 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
9657 (build-system asdf-build-system/sbcl)
9658 (inputs
9659 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9660 (home-page "https://shinmera.github.io/dissect/")
9661 (synopsis
9662 "Introspection library for the call stack and restarts")
9663 (description
9664 "Dissect is a small Common Lisp library for introspecting the call stack
9665 and active restarts.")
9666 (license license:zlib))))
9667
9668 (define-public cl-dissect
9669 (sbcl-package->cl-source-package sbcl-dissect))
9670
9671 (define-public ecl-dissect
9672 (sbcl-package->ecl-package sbcl-dissect))
9673
9674 (define-public sbcl-rove
9675 (package
9676 (name "sbcl-rove")
9677 (version "0.9.6")
9678 (source
9679 (origin
9680 (method git-fetch)
9681 (uri (git-reference
9682 (url "https://github.com/fukamachi/rove")
9683 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
9684 (file-name (git-file-name name version))
9685 (sha256
9686 (base32
9687 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
9688 (build-system asdf-build-system/sbcl)
9689 (inputs
9690 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9691 ("dissect" ,sbcl-dissect)
9692 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9693 (home-page "https://github.com/fukamachi/rove")
9694 (synopsis
9695 "Yet another common lisp testing library")
9696 (description
9697 "Rove is a unit testing framework for Common Lisp applications.
9698 This is intended to be a successor of Prove.")
9699 (license license:bsd-3)))
9700
9701 (define-public cl-rove
9702 (sbcl-package->cl-source-package sbcl-rove))
9703
9704 (define-public ecl-rove
9705 (sbcl-package->ecl-package sbcl-rove))
9706
9707 (define-public sbcl-exponential-backoff
9708 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
9709 (package
9710 (name "sbcl-exponential-backoff")
9711 (version (git-version "0" "1" commit))
9712 (source
9713 (origin
9714 (method git-fetch)
9715 (uri (git-reference
9716 (url "https://github.com/death/exponential-backoff")
9717 (commit commit)))
9718 (file-name (git-file-name name version))
9719 (sha256
9720 (base32
9721 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
9722 (build-system asdf-build-system/sbcl)
9723 (home-page "https://github.com/death/exponential-backoff")
9724 (synopsis "Exponential backoff algorithm in Common Lisp")
9725 (description
9726 "An implementation of the exponential backoff algorithm in Common Lisp.
9727 Inspired by the implementation found in Chromium. Read the header file to
9728 learn about each of the parameters.")
9729 (license license:expat))))
9730
9731 (define-public cl-exponential-backoff
9732 (sbcl-package->cl-source-package sbcl-exponential-backoff))
9733
9734 (define-public ecl-exponential-backoff
9735 (sbcl-package->ecl-package sbcl-exponential-backoff))
9736
9737 (define-public sbcl-sxql
9738 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
9739 (package
9740 (name "sbcl-sxql")
9741 (version (git-version "0.1.0" "1" commit))
9742 (source
9743 (origin
9744 (method git-fetch)
9745 (uri (git-reference
9746 (url "https://github.com/fukamachi/sxql")
9747 (commit commit)))
9748 (file-name (git-file-name name version))
9749 (sha256
9750 (base32
9751 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
9752 (build-system asdf-build-system/sbcl)
9753 (arguments
9754 `(#:test-asd-file "sxql-test.asd"))
9755 (inputs
9756 `(("alexandria" ,sbcl-alexandria)
9757 ("cl-syntax" ,sbcl-cl-syntax)
9758 ("iterate" ,sbcl-iterate)
9759 ("optima" ,sbcl-optima)
9760 ("split-sequence" ,sbcl-split-sequence)
9761 ("trivial-types" ,sbcl-trivial-types)))
9762 (native-inputs
9763 `(("prove" ,sbcl-prove)))
9764 (home-page "https://github.com/fukamachi/sxql")
9765 (synopsis "SQL generator for Common Lisp")
9766 (description "SQL generator for Common Lisp.")
9767 (license license:bsd-3))))
9768
9769 (define-public cl-sxql
9770 (sbcl-package->cl-source-package sbcl-sxql))
9771
9772 (define-public ecl-sxql
9773 (sbcl-package->ecl-package sbcl-sxql))
9774
9775 (define-public sbcl-1am
9776 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
9777 (package
9778 (name "sbcl-1am")
9779 (version (git-version "0.0" "1" commit))
9780 (source
9781 (origin
9782 (method git-fetch)
9783 (uri (git-reference
9784 (url "https://github.com/lmj/1am")
9785 (commit commit)))
9786 (file-name (git-file-name name version))
9787 (sha256
9788 (base32
9789 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
9790 (build-system asdf-build-system/sbcl)
9791 (arguments
9792 `(#:asd-systems '("1am")))
9793 (home-page "https://github.com/lmj/1am")
9794 (synopsis "Minimal testing framework for Common Lisp")
9795 (description "A minimal testing framework for Common Lisp.")
9796 (license license:expat))))
9797
9798 (define-public cl-1am
9799 (sbcl-package->cl-source-package sbcl-1am))
9800
9801 (define-public ecl-1am
9802 (sbcl-package->ecl-package sbcl-1am))
9803
9804 (define-public sbcl-cl-ascii-table
9805 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
9806 (revision "1"))
9807 (package
9808 (name "sbcl-cl-ascii-table")
9809 (version (git-version "0.0.0" revision commit))
9810 (source
9811 (origin
9812 (method git-fetch)
9813 (uri (git-reference
9814 (url "https://github.com/telephil/cl-ascii-table")
9815 (commit commit)))
9816 (file-name (git-file-name name version))
9817 (sha256
9818 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
9819 (build-system asdf-build-system/sbcl)
9820 (synopsis "Library to make ascii-art tables")
9821 (description
9822 "This is a Common Lisp library to present tabular data in ascii-art
9823 tables.")
9824 (home-page "https://github.com/telephil/cl-ascii-table")
9825 (license license:expat))))
9826
9827 (define-public cl-ascii-table
9828 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
9829
9830 (define-public ecl-cl-ascii-table
9831 (sbcl-package->ecl-package sbcl-cl-ascii-table))
9832
9833 (define-public sbcl-cl-rdkafka
9834 (package
9835 (name "sbcl-cl-rdkafka")
9836 (version "1.0.2")
9837 (source
9838 (origin
9839 (method git-fetch)
9840 (uri (git-reference
9841 (url "https://github.com/SahilKang/cl-rdkafka")
9842 (commit (string-append "v" version))))
9843 (file-name (git-file-name name version))
9844 (sha256
9845 (base32
9846 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
9847 (build-system asdf-build-system/sbcl)
9848 (arguments
9849 `(#:tests? #f ; Attempts to connect to locally running Kafka
9850 #:phases
9851 (modify-phases %standard-phases
9852 (add-after 'unpack 'fix-paths
9853 (lambda* (#:key inputs #:allow-other-keys)
9854 (substitute* "src/low-level/librdkafka-bindings.lisp"
9855 (("librdkafka" all)
9856 (string-append (assoc-ref inputs "librdkafka") "/lib/"
9857 all))))))))
9858 (inputs
9859 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9860 ("cffi" ,sbcl-cffi)
9861 ("librdkafka" ,librdkafka)
9862 ("lparallel" ,sbcl-lparallel)
9863 ("trivial-garbage" ,sbcl-trivial-garbage)))
9864 (home-page "https://github.com/SahilKang/cl-rdkafka")
9865 (synopsis "Common Lisp client library for Apache Kafka")
9866 (description "A Common Lisp client library for Apache Kafka.")
9867 (license license:gpl3)))
9868
9869 (define-public cl-rdkafka
9870 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
9871
9872 (define-public ecl-cl-rdkafka
9873 (sbcl-package->ecl-package sbcl-cl-rdkafka))
9874
9875 (define-public sbcl-acclimation
9876 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
9877 (package
9878 (name "sbcl-acclimation")
9879 (version (git-version "0.0.0" "1" commit))
9880 (source
9881 (origin
9882 (method git-fetch)
9883 (uri (git-reference
9884 (url "https://github.com/robert-strandh/Acclimation")
9885 (commit commit)))
9886 (file-name (git-file-name name version))
9887 (sha256
9888 (base32
9889 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
9890 (build-system asdf-build-system/sbcl)
9891 (home-page "https://github.com/robert-strandh/Acclimation")
9892 (synopsis "Internationalization library for Common Lisp")
9893 (description "This project is meant to provide tools for
9894 internationalizing Common Lisp programs.
9895
9896 One important aspect of internationalization is of course the language used in
9897 error messages, documentation strings, etc. But with this project we provide
9898 tools for all other aspects of internationalization as well, including dates,
9899 weight, temperature, names of physical quantitites, etc.")
9900 (license license:bsd-2))))
9901
9902 (define-public cl-acclimation
9903 (sbcl-package->cl-source-package sbcl-acclimation))
9904
9905 (define-public ecl-acclimation
9906 (sbcl-package->ecl-package sbcl-acclimation))
9907
9908 (define-public sbcl-clump
9909 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
9910 (package
9911 (name "sbcl-clump")
9912 (version (git-version "0.0.0" "1" commit))
9913 (source
9914 (origin
9915 (method git-fetch)
9916 (uri (git-reference
9917 (url "https://github.com/robert-strandh/Clump")
9918 (commit commit)))
9919 (file-name (git-file-name name version))
9920 (sha256
9921 (base32
9922 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
9923 (inputs
9924 `(("acclimation" ,sbcl-acclimation)))
9925 (build-system asdf-build-system/sbcl)
9926 (home-page "https://github.com/robert-strandh/Clump")
9927 (synopsis "Collection of tree implementations for Common Lisp")
9928 (description "The purpose of this library is to provide a collection of
9929 implementations of trees.
9930
9931 In contrast to existing libraries such as cl-containers, it does not impose a
9932 particular use for the trees. Instead, it aims for a stratified design,
9933 allowing client code to choose between different levels of abstraction.
9934
9935 As a consequence of this policy, low-level interfaces are provided where
9936 the concrete representation is exposed, but also high level interfaces
9937 where the trees can be used as search trees or as trees that represent
9938 sequences of objects.")
9939 (license license:bsd-2))))
9940
9941 (define-public cl-clump
9942 (sbcl-package->cl-source-package sbcl-clump))
9943
9944 (define-public ecl-clump
9945 (sbcl-package->ecl-package sbcl-clump))
9946
9947 (define-public sbcl-cluffer
9948 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
9949 (package
9950 (name "sbcl-cluffer")
9951 (version (git-version "0.0.0" "1" commit))
9952 (source
9953 (origin
9954 (method git-fetch)
9955 (uri (git-reference
9956 (url "https://github.com/robert-strandh/cluffer")
9957 (commit commit)))
9958 (file-name (git-file-name name version))
9959 (sha256
9960 (base32
9961 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
9962 (build-system asdf-build-system/sbcl)
9963 (inputs
9964 `(("acclimation" ,sbcl-acclimation)
9965 ("clump" ,sbcl-clump)))
9966 (home-page "https://github.com/robert-strandh/cluffer")
9967 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
9968 (description "Cluffer is a library for representing the buffer of a text
9969 editor. As such, it defines a set of CLOS protocols for client code to
9970 interact with the buffer contents in various ways, and it supplies different
9971 implementations of those protocols for different purposes.")
9972 (license license:bsd-2))))
9973
9974 (define-public cl-cluffer
9975 (sbcl-package->cl-source-package sbcl-cluffer))
9976
9977 (define-public ecl-cluffer
9978 (sbcl-package->ecl-package sbcl-cluffer))
9979
9980 (define-public sbcl-cl-libsvm-format
9981 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
9982 (revision "0"))
9983 (package
9984 (name "sbcl-cl-libsvm-format")
9985 (version (git-version "0.1.0" revision commit))
9986 (source
9987 (origin
9988 (method git-fetch)
9989 (uri (git-reference
9990 (url "https://github.com/masatoi/cl-libsvm-format")
9991 (commit commit)))
9992 (file-name (git-file-name name version))
9993 (sha256
9994 (base32
9995 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
9996 (build-system asdf-build-system/sbcl)
9997 (native-inputs
9998 `(("prove" ,sbcl-prove)))
9999 (inputs
10000 `(("alexandria" ,sbcl-alexandria)))
10001 (synopsis "LibSVM data format reader for Common Lisp")
10002 (description
10003 "This Common Lisp library provides a fast reader for data in LibSVM
10004 format.")
10005 (home-page "https://github.com/masatoi/cl-libsvm-format")
10006 (license license:expat))))
10007
10008 (define-public cl-libsvm-format
10009 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10010
10011 (define-public ecl-cl-libsvm-format
10012 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10013
10014 (define-public sbcl-cl-online-learning
10015 (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423")
10016 (revision "0"))
10017 (package
10018 (name "sbcl-cl-online-learning")
10019 (version (git-version "0.5" revision commit))
10020 (source
10021 (origin
10022 (method git-fetch)
10023 (uri (git-reference
10024 (url "https://github.com/masatoi/cl-online-learning")
10025 (commit commit)))
10026 (file-name (git-file-name name version))
10027 (sha256
10028 (base32
10029 "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq"))))
10030 (build-system asdf-build-system/sbcl)
10031 (native-inputs
10032 `(("prove" ,sbcl-prove)))
10033 (inputs
10034 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10035 ("cl-store" ,sbcl-cl-store)))
10036 (arguments
10037 `(;; FIXME: Tests pass but then the check phase crashes
10038 #:tests? #f))
10039 (synopsis "Online Machine Learning for Common Lisp")
10040 (description
10041 "This library contains a collection of machine learning algorithms for
10042 online linear classification written in Common Lisp.")
10043 (home-page "https://github.com/masatoi/cl-online-learning")
10044 (license license:expat))))
10045
10046 (define-public cl-online-learning
10047 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10048
10049 (define-public ecl-cl-online-learning
10050 (sbcl-package->ecl-package sbcl-cl-online-learning))
10051
10052 (define-public sbcl-cl-random-forest
10053 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
10054 (revision "1"))
10055 (package
10056 (name "sbcl-cl-random-forest")
10057 (version (git-version "0.1" revision commit))
10058 (source
10059 (origin
10060 (method git-fetch)
10061 (uri (git-reference
10062 (url "https://github.com/masatoi/cl-random-forest")
10063 (commit commit)))
10064 (file-name (git-file-name name version))
10065 (sha256
10066 (base32
10067 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
10068 (build-system asdf-build-system/sbcl)
10069 (native-inputs
10070 `(("prove" ,sbcl-prove)
10071 ("trivial-garbage" ,sbcl-trivial-garbage)))
10072 (inputs
10073 `(("alexandria" ,sbcl-alexandria)
10074 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10075 ("cl-online-learning" ,sbcl-cl-online-learning)
10076 ("lparallel" ,sbcl-lparallel)))
10077 (arguments
10078 `(#:tests? #f)) ; The tests download data from the Internet
10079 (synopsis "Random Forest and Global Refinement for Common Lisp")
10080 (description
10081 "CL-random-forest is an implementation of Random Forest for multiclass
10082 classification and univariate regression written in Common Lisp. It also
10083 includes an implementation of Global Refinement of Random Forest.")
10084 (home-page "https://github.com/masatoi/cl-random-forest")
10085 (license license:expat))))
10086
10087 (define-public cl-random-forest
10088 (sbcl-package->cl-source-package sbcl-cl-random-forest))
10089
10090 (define-public ecl-cl-random-forest
10091 (sbcl-package->ecl-package sbcl-cl-random-forest))
10092
10093 (define-public sbcl-bordeaux-fft
10094 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
10095 (revision "0"))
10096 (package
10097 (name "sbcl-bordeaux-fft")
10098 (version (git-version "1.0.1" revision commit))
10099 (source
10100 (origin
10101 (method git-fetch)
10102 (uri (git-reference
10103 (url "https://github.com/ahefner/bordeaux-fft")
10104 (commit commit)))
10105 (file-name (git-file-name name version))
10106 (sha256
10107 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
10108 (build-system asdf-build-system/sbcl)
10109 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
10110 (synopsis "Fast Fourier Transform for Common Lisp")
10111 (description
10112 "The Bordeaux-FFT library provides a reasonably efficient implementation
10113 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
10114 portable Common Lisp.")
10115 (license license:gpl2+))))
10116
10117 (define-public cl-bordeaux-fft
10118 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
10119
10120 (define-public ecl-bordeaux-fft
10121 (sbcl-package->ecl-package sbcl-bordeaux-fft))
10122
10123 (define-public sbcl-napa-fft3
10124 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
10125 (revision "0"))
10126 (package
10127 (name "sbcl-napa-fft3")
10128 (version (git-version "0.0.1" revision commit))
10129 (source
10130 (origin
10131 (method git-fetch)
10132 (uri (git-reference
10133 (url "https://github.com/pkhuong/Napa-FFT3")
10134 (commit commit)))
10135 (file-name (git-file-name name version))
10136 (sha256
10137 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
10138 (build-system asdf-build-system/sbcl)
10139 (home-page "https://github.com/pkhuong/Napa-FFT3")
10140 (synopsis "Fast Fourier Transform routines in Common Lisp")
10141 (description
10142 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
10143 buildings blocks to express common operations that involve DFTs: filtering,
10144 convolutions, etc.")
10145 (license license:bsd-3))))
10146
10147 (define-public cl-napa-fft3
10148 (sbcl-package->cl-source-package sbcl-napa-fft3))
10149
10150 (define-public sbcl-cl-tga
10151 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
10152 (revision "0"))
10153 (package
10154 (name "sbcl-cl-tga")
10155 (version (git-version "0.0.0" revision commit))
10156 (source
10157 (origin
10158 (method git-fetch)
10159 (uri (git-reference
10160 (url "https://github.com/fisxoj/cl-tga")
10161 (commit commit)))
10162 (file-name (git-file-name name version))
10163 (sha256
10164 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
10165 (build-system asdf-build-system/sbcl)
10166 (home-page "https://github.com/fisxoj/cl-tga")
10167 (synopsis "TGA file loader for Common Lisp")
10168 (description
10169 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
10170 programs. It's a very simple library, and, at the moment, only supports
10171 non-RLE encoded forms of the files.")
10172 (license license:expat))))
10173
10174 (define-public cl-tga
10175 (sbcl-package->cl-source-package sbcl-cl-tga))
10176
10177 (define-public ecl-cl-tga
10178 (sbcl-package->ecl-package sbcl-cl-tga))
10179
10180 (define-public sbcl-com.gigamonkeys.binary-data
10181 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
10182 (revision "0"))
10183 (package
10184 (name "sbcl-com.gigamonkeys.binary-data")
10185 (version (git-version "0.0.0" revision commit))
10186 (source
10187 (origin
10188 (method git-fetch)
10189 (uri (git-reference
10190 (url "https://github.com/gigamonkey/monkeylib-binary-data")
10191 (commit commit)))
10192 (file-name (git-file-name name version))
10193 (sha256
10194 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
10195 (build-system asdf-build-system/sbcl)
10196 (inputs
10197 `(("alexandria" ,sbcl-alexandria)))
10198 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
10199 (synopsis "Common Lisp library for reading and writing binary data")
10200 (description
10201 "This a Common Lisp library for reading and writing binary data. It is
10202 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
10203 (license license:bsd-3))))
10204
10205 (define-public cl-com.gigamonkeys.binary-data
10206 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
10207
10208 (define-public ecl-com.gigamonkeys.binary-data
10209 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
10210
10211 (define-public sbcl-deflate
10212 (package
10213 (name "sbcl-deflate")
10214 (version "1.0.3")
10215 (source
10216 (origin
10217 (method git-fetch)
10218 (uri (git-reference
10219 (url "https://github.com/pmai/Deflate")
10220 (commit (string-append "release-" version))))
10221 (file-name (git-file-name name version))
10222 (sha256
10223 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
10224 (build-system asdf-build-system/sbcl)
10225 (home-page "https://github.com/pmai/Deflate")
10226 (synopsis "Native deflate decompression for Common Lisp")
10227 (description
10228 "This library is an implementation of Deflate (RFC 1951) decompression,
10229 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
10230 wrappers of deflate streams. It currently does not handle compression.")
10231 (license license:expat)))
10232
10233 (define-public cl-deflate
10234 (sbcl-package->cl-source-package sbcl-deflate))
10235
10236 (define-public ecl-deflate
10237 (sbcl-package->ecl-package sbcl-deflate))
10238
10239 (define-public sbcl-skippy
10240 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
10241 (revision "0"))
10242 (package
10243 (name "sbcl-skippy")
10244 (version (git-version "1.3.12" revision commit))
10245 (source
10246 (origin
10247 (method git-fetch)
10248 (uri (git-reference
10249 (url "https://github.com/xach/skippy")
10250 (commit commit)))
10251 (file-name (git-file-name name version))
10252 (sha256
10253 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
10254 (build-system asdf-build-system/sbcl)
10255 (home-page "https://xach.com/lisp/skippy/")
10256 (synopsis "Common Lisp library for GIF images")
10257 (description
10258 "Skippy is a Common Lisp library to read and write GIF image files.")
10259 (license license:bsd-2))))
10260
10261 (define-public cl-skippy
10262 (sbcl-package->cl-source-package sbcl-skippy))
10263
10264 (define-public ecl-skippy
10265 (sbcl-package->ecl-package sbcl-skippy))
10266
10267 (define-public sbcl-cl-freetype2
10268 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
10269 (revision "0"))
10270 (package
10271 (name "sbcl-cl-freetype2")
10272 (version (git-version "1.1" revision commit))
10273 (source
10274 (origin
10275 (method git-fetch)
10276 (uri (git-reference
10277 (url "https://github.com/rpav/cl-freetype2")
10278 (commit commit)))
10279 (file-name (git-file-name name version))
10280 (sha256
10281 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
10282 (build-system asdf-build-system/sbcl)
10283 (native-inputs
10284 `(("fiveam" ,sbcl-fiveam)))
10285 (inputs
10286 `(("alexandria" ,sbcl-alexandria)
10287 ("cffi" ,sbcl-cffi)
10288 ("freetype" ,freetype)
10289 ("trivial-garbage" ,sbcl-trivial-garbage)))
10290 (arguments
10291 `(#:phases
10292 (modify-phases %standard-phases
10293 (add-after 'unpack 'fix-paths
10294 (lambda* (#:key inputs #:allow-other-keys)
10295 (substitute* "src/ffi/ft2-lib.lisp"
10296 (("\"libfreetype\"")
10297 (string-append "\"" (assoc-ref inputs "freetype")
10298 "/lib/libfreetype\"")))
10299 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
10300 (("-I/usr/include/freetype")
10301 (string-append "-I" (assoc-ref inputs "freetype")
10302 "/include/freetype")))
10303 #t)))))
10304 (home-page "https://github.com/rpav/cl-freetype2")
10305 (synopsis "Common Lisp bindings for Freetype 2")
10306 (description
10307 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
10308 geared toward both using Freetype directly by providing a simplified API, as
10309 well as providing access to the underlying C structures and functions for use
10310 with other libraries which may also use Freetype.")
10311 (license license:bsd-3))))
10312
10313 (define-public cl-freetype2
10314 (sbcl-package->cl-source-package sbcl-cl-freetype2))
10315
10316 (define-public ecl-cl-freetype2
10317 (sbcl-package->ecl-package sbcl-cl-freetype2))
10318
10319 (define-public sbcl-opticl-core
10320 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
10321 (revision "0"))
10322 (package
10323 (name "sbcl-opticl-core")
10324 (version (git-version "0.0.0" revision commit))
10325 (source
10326 (origin
10327 (method git-fetch)
10328 (uri (git-reference
10329 (url "https://github.com/slyrus/opticl-core")
10330 (commit commit)))
10331 (file-name (git-file-name name version))
10332 (sha256
10333 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
10334 (build-system asdf-build-system/sbcl)
10335 (inputs
10336 `(("alexandria" ,sbcl-alexandria)))
10337 (home-page "https://github.com/slyrus/opticl-core")
10338 (synopsis "Core classes and pixel access macros for Opticl")
10339 (description
10340 "This Common Lisp library contains the core classes and pixel access
10341 macros for the Opticl image processing library.")
10342 (license license:bsd-2))))
10343
10344 (define-public cl-opticl-core
10345 (sbcl-package->cl-source-package sbcl-opticl-core))
10346
10347 (define-public ecl-opticl-core
10348 (sbcl-package->ecl-package sbcl-opticl-core))
10349
10350 (define-public sbcl-retrospectiff
10351 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
10352 (revision "0"))
10353 (package
10354 (name "sbcl-retrospectiff")
10355 (version (git-version "0.2" revision commit))
10356 (source
10357 (origin
10358 (method git-fetch)
10359 (uri (git-reference
10360 (url "https://github.com/slyrus/retrospectiff")
10361 (commit commit)))
10362 (file-name (git-file-name name version))
10363 (sha256
10364 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
10365 (build-system asdf-build-system/sbcl)
10366 (native-inputs
10367 `(("fiveam" ,sbcl-fiveam)))
10368 (inputs
10369 `(("cl-jpeg" ,sbcl-cl-jpeg)
10370 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
10371 ("deflate" ,sbcl-deflate)
10372 ("flexi-streams" ,sbcl-flexi-streams)
10373 ("ieee-floats" ,sbcl-ieee-floats)
10374 ("opticl-core" ,sbcl-opticl-core)))
10375 (home-page "https://github.com/slyrus/retrospectiff")
10376 (synopsis "Common Lisp library for TIFF images")
10377 (description
10378 "Retrospectiff is a common lisp library for reading and writing images
10379 in the TIFF (Tagged Image File Format) format.")
10380 (license license:bsd-2))))
10381
10382 (define-public cl-retrospectif
10383 (sbcl-package->cl-source-package sbcl-retrospectiff))
10384
10385 (define-public ecl-retrospectiff
10386 (sbcl-package->ecl-package sbcl-retrospectiff))
10387
10388 (define-public sbcl-mmap
10389 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
10390 (revision "0"))
10391 (package
10392 (name "sbcl-mmap")
10393 (version (git-version "1.0.0" revision commit))
10394 (source
10395 (origin
10396 (method git-fetch)
10397 (uri (git-reference
10398 (url "https://github.com/Shinmera/mmap")
10399 (commit commit)))
10400 (file-name (git-file-name name version))
10401 (sha256
10402 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
10403 (build-system asdf-build-system/sbcl)
10404 (native-inputs
10405 `(("alexandria" ,sbcl-alexandria)
10406 ("cffi" ,sbcl-cffi)
10407 ("parachute" ,sbcl-parachute)
10408 ("trivial-features" ,sbcl-trivial-features)))
10409 (inputs
10410 `(("cffi" ,sbcl-cffi)
10411 ("documentation-utils" ,sbcl-documentation-utils)))
10412 (home-page "https://shinmera.github.io/mmap/")
10413 (synopsis "File memory mapping for Common Lisp")
10414 (description
10415 "This is a utility library providing access to the @emph{mmap} family of
10416 functions in a portable way. It allows you to directly map a file into the
10417 address space of your process without having to manually read it into memory
10418 sequentially. Typically this is much more efficient for files that are larger
10419 than a few Kb.")
10420 (license license:zlib))))
10421
10422 (define-public cl-mmap
10423 (sbcl-package->cl-source-package sbcl-mmap))
10424
10425 (define-public ecl-mmap
10426 (sbcl-package->ecl-package sbcl-mmap))
10427
10428 (define-public sbcl-3bz
10429 (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed")
10430 (revision "0"))
10431 (package
10432 (name "sbcl-3bz")
10433 (version (git-version "0.0.0" revision commit))
10434 (source
10435 (origin
10436 (method git-fetch)
10437 (uri (git-reference
10438 (url "https://github.com/3b/3bz")
10439 (commit commit)))
10440 (file-name (git-file-name name version))
10441 (sha256
10442 (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj"))))
10443 (build-system asdf-build-system/sbcl)
10444 (inputs
10445 `(("alexandria" ,sbcl-alexandria)
10446 ("babel" ,sbcl-babel)
10447 ("cffi" ,sbcl-cffi)
10448 ("mmap" ,sbcl-mmap)
10449 ("nibbles" ,sbcl-nibbles)
10450 ("trivial-features" ,sbcl-trivial-features)))
10451 (arguments
10452 ;; FIXME: Without the following line, the build fails (see issue 41437).
10453 `(#:asd-systems '("3bz")))
10454 (home-page "https://github.com/3b/3bz")
10455 (synopsis "Deflate decompression for Common Lisp")
10456 (description
10457 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
10458 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
10459 foreign pointers (for use with mmap and similar, etc), and from CL octet
10460 vectors and streams.")
10461 (license license:expat))))
10462
10463 (define-public cl-3bz
10464 (sbcl-package->cl-source-package sbcl-3bz))
10465
10466 (define-public ecl-3bz
10467 (sbcl-package->ecl-package sbcl-3bz))
10468
10469 (define-public sbcl-zpb-exif
10470 (package
10471 (name "sbcl-zpb-exif")
10472 (version "1.2.4")
10473 (source
10474 (origin
10475 (method git-fetch)
10476 (uri (git-reference
10477 (url "https://github.com/xach/zpb-exif")
10478 (commit (string-append "release-" version))))
10479 (file-name (git-file-name name version))
10480 (sha256
10481 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
10482 (build-system asdf-build-system/sbcl)
10483 (home-page "https://xach.com/lisp/zpb-exif/")
10484 (synopsis "EXIF information extractor for Common Lisp")
10485 (description
10486 "This is a Common Lisp library to extract EXIF information from image
10487 files.")
10488 (license license:bsd-2)))
10489
10490 (define-public cl-zpb-exif
10491 (sbcl-package->cl-source-package sbcl-zpb-exif))
10492
10493 (define-public ecl-zpb-exif
10494 (sbcl-package->ecl-package sbcl-zpb-exif))
10495
10496 (define-public sbcl-pngload
10497 (package
10498 (name "sbcl-pngload")
10499 (version "2.0.0")
10500 (source
10501 (origin
10502 (method git-fetch)
10503 (uri (git-reference
10504 (url "https://github.com/bufferswap/pngload")
10505 (commit version)))
10506 (file-name (git-file-name name version))
10507 (sha256
10508 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
10509 (build-system asdf-build-system/sbcl)
10510 (inputs
10511 `(("3bz" ,sbcl-3bz)
10512 ("alexandria" ,sbcl-alexandria)
10513 ("cffi" ,sbcl-cffi)
10514 ("mmap" ,sbcl-mmap)
10515 ("parse-float" ,sbcl-parse-float)
10516 ("static-vectors" ,sbcl-static-vectors)
10517 ("swap-bytes" ,sbcl-swap-bytes)
10518 ("zpb-exif" ,sbcl-zpb-exif)))
10519 (arguments
10520 ;; Test suite disabled because of a dependency cycle.
10521 ;; pngload tests depend on opticl which depends on pngload.
10522 '(#:tests? #f))
10523 (home-page "https://github.com/bufferswap/pngload")
10524 (synopsis "PNG image decoder for Common Lisp")
10525 (description
10526 "This is a Common Lisp library to load images in the PNG image format,
10527 both from files on disk, or streams in memory.")
10528 (license license:expat)))
10529
10530 (define-public cl-pngload
10531 (sbcl-package->cl-source-package sbcl-pngload))
10532
10533 (define-public ecl-pngload
10534 (sbcl-package->ecl-package sbcl-pngload))
10535
10536 (define-public sbcl-opticl
10537 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
10538 (revision "0"))
10539 (package
10540 (name "sbcl-opticl")
10541 (version (git-version "0.0.0" revision commit))
10542 (source
10543 (origin
10544 (method git-fetch)
10545 (uri (git-reference
10546 (url "https://github.com/slyrus/opticl")
10547 (commit commit)))
10548 (file-name (git-file-name name version))
10549 (sha256
10550 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
10551 (build-system asdf-build-system/sbcl)
10552 (native-inputs
10553 `(("fiveam" ,sbcl-fiveam)))
10554 (inputs
10555 `(("alexandria" ,sbcl-alexandria)
10556 ("cl-jpeg" ,sbcl-cl-jpeg)
10557 ("cl-tga" ,sbcl-cl-tga)
10558 ("png-read" ,sbcl-png-read)
10559 ("pngload" ,sbcl-pngload)
10560 ("retrospectiff" ,sbcl-retrospectiff)
10561 ("skippy" ,sbcl-skippy)
10562 ("zpng" ,sbcl-zpng)))
10563 (arguments
10564 '(#:asd-files '("opticl.asd")))
10565 (home-page "https://github.com/slyrus/opticl")
10566 (synopsis "Image processing library for Common Lisp")
10567 (description
10568 "Opticl is a Common Lisp library for representing, processing, loading,
10569 and saving 2-dimensional pixel-based images.")
10570 (license license:bsd-2))))
10571
10572 (define-public cl-opticl
10573 (sbcl-package->cl-source-package sbcl-opticl))
10574
10575 (define-public ecl-opticl
10576 (sbcl-package->ecl-package sbcl-opticl))
10577
10578 (define-public sbcl-mcclim
10579 (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7")
10580 (revision "0"))
10581 (package
10582 (name "sbcl-mcclim")
10583 (version (git-version "0.9.7" revision commit))
10584 (source
10585 (origin
10586 (method git-fetch)
10587 (uri (git-reference
10588 (url "https://github.com/mcclim/mcclim")
10589 (commit commit)))
10590 (file-name (git-file-name name version))
10591 (sha256
10592 (base32 "0jijfgkwas6xnpp5wiii6slcx9pgsalngacb8zm29x6pamx2193h"))))
10593 (build-system asdf-build-system/sbcl)
10594 (native-inputs
10595 `(("fiveam" ,sbcl-fiveam)
10596 ("pkg-config" ,pkg-config)))
10597 (inputs
10598 `(("alexandria" ,sbcl-alexandria)
10599 ("babel" ,sbcl-babel)
10600 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10601 ("cl-freetype2" ,sbcl-cl-freetype2)
10602 ("cl-pdf" ,sbcl-cl-pdf)
10603 ("cffi" ,sbcl-cffi)
10604 ("cl-unicode" ,sbcl-cl-unicode)
10605 ("cl-vectors" ,sbcl-cl-vectors)
10606 ("closer-mop" ,sbcl-closer-mop)
10607 ("clx" ,sbcl-clx)
10608 ("flexi-streams" ,sbcl-flexi-streams)
10609 ("flexichain" ,sbcl-flexichain)
10610 ("font-dejavu" ,font-dejavu)
10611 ("fontconfig" ,fontconfig)
10612 ("freetype" ,freetype)
10613 ("harfbuzz" ,harfbuzz)
10614 ("log4cl" ,sbcl-log4cl)
10615 ("opticl" ,sbcl-opticl)
10616 ("spatial-trees" ,sbcl-spatial-trees)
10617 ("swank" ,sbcl-slime-swank)
10618 ("trivial-features" ,sbcl-trivial-features)
10619 ("trivial-garbage" ,sbcl-trivial-garbage)
10620 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
10621 ("zpb-ttf" ,sbcl-zpb-ttf)))
10622 (arguments
10623 '(#:asd-systems '("mcclim"
10624 "clim-examples")
10625 #:phases
10626 (modify-phases %standard-phases
10627 (add-after 'unpack 'fix-paths
10628 (lambda* (#:key inputs #:allow-other-keys)
10629 ;; mcclim-truetype uses DejaVu as default font and
10630 ;; sets the path at build time.
10631 (substitute* "Extensions/fonts/fontconfig.lisp"
10632 (("/usr/share/fonts/truetype/dejavu/")
10633 (string-append (assoc-ref inputs "font-dejavu")
10634 "/share/fonts/truetype/")))
10635 (substitute* "Extensions/fontconfig/src/functions.lisp"
10636 (("libfontconfig\\.so")
10637 (string-append (assoc-ref inputs "fontconfig")
10638 "/lib/libfontconfig.so")))
10639 (substitute* "Extensions/harfbuzz/src/functions.lisp"
10640 (("libharfbuzz\\.so")
10641 (string-append (assoc-ref inputs "harfbuzz")
10642 "/lib/libharfbuzz.so")))
10643 #t))
10644 (add-after 'unpack 'fix-build
10645 (lambda _
10646 ;; The cffi-grovel system does not get loaded automatically,
10647 ;; so we load it explicitly.
10648 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
10649 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
10650 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
10651 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
10652 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
10653 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
10654 #t)))))
10655 (home-page "https://common-lisp.net/project/mcclim/")
10656 (synopsis "Common Lisp GUI toolkit")
10657 (description
10658 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
10659 specification}, a toolkit for writing GUIs in Common Lisp.")
10660 (license license:lgpl2.1+))))
10661
10662 (define-public cl-mcclim
10663 (sbcl-package->cl-source-package sbcl-mcclim))
10664
10665 (define-public ecl-mcclim
10666 (sbcl-package->ecl-package sbcl-mcclim))
10667
10668 (define-public sbcl-cl-inflector
10669 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
10670 (revision "1"))
10671 (package
10672 (name "sbcl-cl-inflector")
10673 (version (git-version "0.2" revision commit))
10674 (source
10675 (origin
10676 (method git-fetch)
10677 (uri (git-reference
10678 (url "https://github.com/AccelerationNet/cl-inflector")
10679 (commit commit)))
10680 (file-name (git-file-name name version))
10681 (sha256
10682 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
10683 (build-system asdf-build-system/sbcl)
10684 (native-inputs
10685 `(("lisp-unit2" ,sbcl-lisp-unit2)))
10686 (inputs
10687 `(("alexandria" ,sbcl-alexandria)
10688 ("cl-ppcre" ,sbcl-cl-ppcre)))
10689 (home-page "https://github.com/AccelerationNet/cl-inflector")
10690 (synopsis "Library to pluralize/singularize English and Portuguese words")
10691 (description
10692 "This is a common lisp library to easily pluralize and singularize
10693 English and Portuguese words. This is a port of the ruby ActiveSupport
10694 Inflector module.")
10695 (license license:expat))))
10696
10697 (define-public cl-inflector
10698 (sbcl-package->cl-source-package sbcl-cl-inflector))
10699
10700 (define-public ecl-cl-inflector
10701 (sbcl-package->ecl-package sbcl-cl-inflector))
10702
10703 (define-public sbcl-qbase64
10704 (package
10705 (name "sbcl-qbase64")
10706 (version "0.3.0")
10707 (source
10708 (origin
10709 (method git-fetch)
10710 (uri (git-reference
10711 (url "https://github.com/chaitanyagupta/qbase64")
10712 (commit version)))
10713 (file-name (git-file-name name version))
10714 (sha256
10715 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
10716 (build-system asdf-build-system/sbcl)
10717 (inputs
10718 `(("metabang-bind" ,sbcl-metabang-bind)
10719 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10720 (native-inputs
10721 `(("fiveam" ,sbcl-fiveam)))
10722 (home-page "https://github.com/chaitanyagupta/qbase64")
10723 (synopsis "Base64 encoder and decoder for Common Lisp")
10724 (description "@code{qbase64} provides a fast and flexible base64 encoder
10725 and decoder for Common Lisp.")
10726 (license license:bsd-3)))
10727
10728 (define-public cl-qbase64
10729 (sbcl-package->cl-source-package sbcl-qbase64))
10730
10731 (define-public ecl-qbase64
10732 (sbcl-package->ecl-package sbcl-qbase64))
10733
10734 (define-public sbcl-lw-compat
10735 ;; No release since 2013.
10736 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
10737 (package
10738 (name "sbcl-lw-compat")
10739 (version (git-version "1.0.0" "1" commit))
10740 (source
10741 (origin
10742 (method git-fetch)
10743 (uri (git-reference
10744 (url "https://github.com/pcostanza/lw-compat/")
10745 (commit commit)))
10746 (file-name (git-file-name name version))
10747 (sha256
10748 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
10749 (build-system asdf-build-system/sbcl)
10750 (home-page "https://github.com/pcostanza/lw-compat/")
10751 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
10752 (description "This package contains a few utility functions from the
10753 LispWorks library that are used in software such as ContextL.")
10754 (license license:expat))))
10755
10756 (define-public cl-lw-compat
10757 (sbcl-package->cl-source-package sbcl-lw-compat))
10758
10759 (define-public ecl-lw-compat
10760 (sbcl-package->ecl-package sbcl-lw-compat))
10761
10762 (define-public sbcl-contextl
10763 ;; No release since 2013.
10764 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
10765 (package
10766 (name "sbcl-contextl")
10767 (version (git-version "1.0.0" "1" commit))
10768 (source
10769 (origin
10770 (method git-fetch)
10771 (uri (git-reference
10772 (url "https://github.com/pcostanza/contextl/")
10773 (commit commit)))
10774 (file-name (git-file-name name version))
10775 (sha256
10776 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
10777 (build-system asdf-build-system/sbcl)
10778 (inputs
10779 `(("closer-mop" ,sbcl-closer-mop)
10780 ("lw-compat" ,sbcl-lw-compat)))
10781 (home-page "https://github.com/pcostanza/contextl")
10782 (synopsis "Context-oriented programming for Common Lisp")
10783 (description "ContextL is a CLOS extension for Context-Oriented
10784 Programming (COP).
10785
10786 Find overview of ContextL's features in an overview paper:
10787 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
10788 overview article about COP which also contains some ContextL examples:
10789 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
10790 (license license:expat))))
10791
10792 (define-public cl-contextl
10793 (sbcl-package->cl-source-package sbcl-contextl))
10794
10795 (define-public ecl-contextl
10796 (sbcl-package->ecl-package sbcl-contextl))
10797
10798 (define-public sbcl-hu.dwim.common-lisp
10799 (package
10800 (name "sbcl-hu.dwim.common-lisp")
10801 (version "2015-07-09")
10802 (source
10803 (origin
10804 (method url-fetch)
10805 (uri (string-append
10806 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
10807 version "/hu.dwim.common-lisp-"
10808 (string-replace-substring version "-" "")
10809 "-darcs.tgz"))
10810 (sha256
10811 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
10812 (build-system asdf-build-system/sbcl)
10813 (native-inputs
10814 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
10815 (home-page "http://dwim.hu/")
10816 (synopsis "Redefine some standard Common Lisp names")
10817 (description "This library is a redefinition of the standard Common Lisp
10818 package that includes a number of renames and shadows. ")
10819 (license license:public-domain)))
10820
10821 (define-public cl-hu.dwim.common-lisp
10822 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
10823
10824 (define-public ecl-hu.dwim.common-lisp
10825 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
10826
10827 (define-public sbcl-hu.dwim.common
10828 (package
10829 (name "sbcl-hu.dwim.common")
10830 (version "2015-07-09")
10831 (source
10832 (origin
10833 (method url-fetch)
10834 (uri (string-append
10835 "http://beta.quicklisp.org/archive/hu.dwim.common/"
10836 version "/hu.dwim.common-"
10837 (string-replace-substring version "-" "")
10838 "-darcs.tgz"))
10839 (sha256
10840 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
10841 (build-system asdf-build-system/sbcl)
10842 (native-inputs
10843 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
10844 (inputs
10845 `(("alexandria" ,sbcl-alexandria)
10846 ("anaphora" ,sbcl-anaphora)
10847 ("closer-mop" ,sbcl-closer-mop)
10848 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
10849 ("iterate" ,sbcl-iterate)
10850 ("metabang-bind" ,sbcl-metabang-bind)))
10851 (home-page "http://dwim.hu/")
10852 (synopsis "Common Lisp library shared by other hu.dwim systems")
10853 (description "This package contains a support library for other
10854 hu.dwim systems.")
10855 (license license:public-domain)))
10856
10857 (define-public cl-hu.dwim.common
10858 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
10859
10860 (define-public ecl-hu.dwim.common
10861 (sbcl-package->ecl-package sbcl-hu.dwim.common))
10862
10863 (define-public sbcl-hu.dwim.defclass-star
10864 (package
10865 (name "sbcl-hu.dwim.defclass-star")
10866 (version "2015-07-09")
10867 (source
10868 (origin
10869 (method url-fetch)
10870 (uri (string-append
10871 "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/"
10872 version "/hu.dwim.defclass-star-"
10873 (string-replace-substring version "-" "")
10874 "-darcs.tgz"))
10875 (sha256
10876 (base32 "032982lyp0hm0ssxlyh572whi2hr4j1nqkyqlllaj373v0dbs3vs"))))
10877 (build-system asdf-build-system/sbcl)
10878 (native-inputs
10879 `(;; These 2 inputs are only needed tests which are disabled, see below.
10880 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
10881 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
10882 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
10883 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
10884 (arguments
10885 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
10886 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
10887 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
10888 #:tests? #f))
10889 (home-page "http://dwim.hu/?_x=dfxn&_f=mRIMfonK")
10890 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
10891 (description "@code{defclass-star} provides defclass* and defcondition* to
10892 simplify class and condition declarations. Features include:
10893
10894 @itemize
10895 @item Automatically export all or select slots at compile time.
10896 @item Define the @code{:initarg} and @code{:accessor} automatically.
10897 @item Specify a name transformer for both the @code{:initarg} and
10898 @code{:accessor}, etc.
10899 @item Specify the @code{:initform} as second slot value.
10900 @end itemize
10901
10902 See
10903 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
10904 for an example.")
10905 (license license:public-domain)))
10906
10907 (define-public cl-hu.dwim.defclass-star
10908 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
10909
10910 (define-public ecl-hu.dwim.defclass-star
10911 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
10912
10913 (define-public sbcl-livesupport
10914 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
10915 (revision "1"))
10916 (package
10917 (name "sbcl-livesupport")
10918 (version (git-version "0.0.0" revision commit))
10919 (source
10920 (origin
10921 (method git-fetch)
10922 (uri (git-reference
10923 (url "https://github.com/cbaggers/livesupport")
10924 (commit commit)))
10925 (file-name (git-file-name name version))
10926 (sha256
10927 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
10928 (build-system asdf-build-system/sbcl)
10929 (home-page "https://github.com/cbaggers/livesupport")
10930 (synopsis "Some helpers that make livecoding a little easier")
10931 (description "This package provides a macro commonly used in livecoding to
10932 enable continuing when errors are raised. Simply wrap around a chunk of code
10933 and it provides a restart called @code{continue} which ignores the error and
10934 carrys on from the end of the body.")
10935 (license license:bsd-2))))
10936
10937 (define-public cl-livesupport
10938 (sbcl-package->cl-source-package sbcl-livesupport))
10939
10940 (define-public ecl-livesupport
10941 (sbcl-package->ecl-package sbcl-livesupport))
10942
10943 (define-public sbcl-envy
10944 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
10945 (revision "1"))
10946 (package
10947 (name "sbcl-envy")
10948 (version (git-version "0.1" revision commit))
10949 (home-page "https://github.com/fukamachi/envy")
10950 (source
10951 (origin
10952 (method git-fetch)
10953 (uri (git-reference
10954 (url home-page)
10955 (commit commit)))
10956 (file-name (git-file-name name version))
10957 (sha256
10958 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
10959 (build-system asdf-build-system/sbcl)
10960 ;; (native-inputs ; Only for tests.
10961 ;; `(("prove" ,sbcl-prove)
10962 ;; ("osicat" ,sbcl-osicat)))
10963 (arguments
10964 '(#:phases
10965 (modify-phases %standard-phases
10966 (add-after 'unpack 'fix-tests
10967 (lambda _
10968 (substitute* "envy-test.asd"
10969 (("cl-test-more") "prove"))
10970 #t)))
10971 ;; Tests fail with
10972 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
10973 ;; like xsubseq. Why?
10974 #:tests? #f))
10975 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
10976 (description "Envy is a configuration manager for various applications.
10977 Envy uses an environment variable to determine a configuration to use. This
10978 can separate configuration system from an implementation.")
10979 (license license:bsd-2))))
10980
10981 (define-public cl-envy
10982 (sbcl-package->cl-source-package sbcl-envy))
10983
10984 (define-public ecl-envy
10985 (sbcl-package->ecl-package sbcl-envy))
10986
10987 (define-public sbcl-mito
10988 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
10989 (revision "1"))
10990 (package
10991 (name "sbcl-mito")
10992 (version (git-version "0.1" revision commit))
10993 (home-page "https://github.com/fukamachi/mito")
10994 (source
10995 (origin
10996 (method git-fetch)
10997 (uri (git-reference
10998 (url home-page)
10999 (commit commit)))
11000 (file-name (git-file-name name version))
11001 (sha256
11002 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
11003 (build-system asdf-build-system/sbcl)
11004 (native-inputs
11005 `(("prove" ,sbcl-prove)))
11006 (inputs
11007 `(("alexandria" ,sbcl-alexandria)
11008 ("cl-ppcre" ,sbcl-cl-ppcre)
11009 ("cl-reexport" ,sbcl-cl-reexport)
11010 ("closer-mop" ,sbcl-closer-mop)
11011 ("dbi" ,sbcl-dbi)
11012 ("dissect" ,sbcl-dissect)
11013 ("esrap" ,sbcl-esrap)
11014 ("local-time" ,sbcl-local-time)
11015 ("optima" ,sbcl-optima)
11016 ("sxql" ,sbcl-sxql)
11017 ("uuid" ,sbcl-uuid)))
11018 (arguments
11019 '(#:phases
11020 (modify-phases %standard-phases
11021 (add-after 'unpack 'remove-non-functional-tests
11022 (lambda _
11023 (substitute* "mito-test.asd"
11024 (("\\(:test-file \"db/mysql\"\\)") "")
11025 (("\\(:test-file \"db/postgres\"\\)") "")
11026 (("\\(:test-file \"dao\"\\)") "")
11027 ;; TODO: migration/sqlite3 should work, re-enable once
11028 ;; upstream has fixed it:
11029 ;; https://github.com/fukamachi/mito/issues/70
11030 (("\\(:test-file \"migration/sqlite3\"\\)") "")
11031 (("\\(:test-file \"migration/mysql\"\\)") "")
11032 (("\\(:test-file \"migration/postgres\"\\)") "")
11033 (("\\(:test-file \"postgres-types\"\\)") "")
11034 (("\\(:test-file \"mixin\"\\)") ""))
11035 #t)))
11036 ;; TODO: While all enabled tests pass, the phase fails with:
11037 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
11038 #:tests? #f))
11039 (synopsis "ORM for Common Lisp with migrations and relationships support")
11040 (description "Mito is yet another object relational mapper, and it aims
11041 to be a successor of Integral.
11042
11043 @itemize
11044 @item Support MySQL, PostgreSQL and SQLite3.
11045 @item Add id (serial/uuid primary key), created_at and updated_at by default
11046 like Ruby's ActiveRecord.
11047 @item Migrations.
11048 @item Database schema versioning.
11049 @end itemize\n")
11050 (license license:llgpl))))
11051
11052 (define-public cl-mito
11053 (sbcl-package->cl-source-package sbcl-mito))
11054
11055 (define-public ecl-mito
11056 (sbcl-package->ecl-package sbcl-mito))
11057
11058 (define-public sbcl-kebab
11059 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
11060 (revision "1"))
11061 (package
11062 (name "sbcl-kebab")
11063 (version (git-version "0.1" revision commit))
11064 (home-page "https://github.com/pocket7878/kebab")
11065 (source
11066 (origin
11067 (method git-fetch)
11068 (uri (git-reference
11069 (url home-page)
11070 (commit commit)))
11071 (file-name (git-file-name name version))
11072 (sha256
11073 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
11074 (build-system asdf-build-system/sbcl)
11075 (inputs
11076 `(("cl-ppcre" ,sbcl-cl-ppcre)
11077 ("alexandria" ,sbcl-alexandria)
11078 ("cl-interpol" ,sbcl-cl-interpol)
11079 ("split-sequence" ,sbcl-split-sequence)))
11080 (native-inputs
11081 `(("prove" ,sbcl-prove)))
11082 (arguments
11083 ;; Tests passes but the phase fails with
11084 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
11085 `(#:tests? #f))
11086 (synopsis "Common Lisp case converter")
11087 (description "This Common Lisp library converts strings, symbols and
11088 keywords between any of the following typographical cases: PascalCase,
11089 camelCase, snake_case, kebab-case (lisp-case).")
11090 (license license:llgpl))))
11091
11092 (define-public cl-kebab
11093 (sbcl-package->cl-source-package sbcl-kebab))
11094
11095 (define-public ecl-kebab
11096 (sbcl-package->ecl-package sbcl-kebab))
11097
11098 (define-public sbcl-datafly
11099 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
11100 (revision "1"))
11101 (package
11102 (name "sbcl-datafly")
11103 (version (git-version "0.1" revision commit))
11104 (home-page "https://github.com/fukamachi/datafly")
11105 (source
11106 (origin
11107 (method git-fetch)
11108 (uri (git-reference
11109 (url home-page)
11110 (commit commit)))
11111 (file-name (git-file-name name version))
11112 (sha256
11113 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
11114 (build-system asdf-build-system/sbcl)
11115 (inputs
11116 `(("alexandria" ,sbcl-alexandria)
11117 ("iterate" ,sbcl-iterate)
11118 ("optima" ,sbcl-optima)
11119 ("trivial-types" ,sbcl-trivial-types)
11120 ("closer-mop" ,sbcl-closer-mop)
11121 ("cl-syntax" ,sbcl-cl-syntax)
11122 ("sxql" ,sbcl-sxql)
11123 ("dbi" ,sbcl-dbi)
11124 ("babel" ,sbcl-babel)
11125 ("local-time" ,sbcl-local-time)
11126 ("function-cache" ,sbcl-function-cache)
11127 ("jonathan" ,sbcl-jonathan)
11128 ("kebab" ,sbcl-kebab)
11129 ("log4cl" ,sbcl-log4cl)))
11130 (native-inputs
11131 `(("prove" ,sbcl-prove)))
11132 (arguments
11133 ;; TODO: Tests fail with
11134 ;; While evaluating the form starting at line 22, column 0
11135 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
11136 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
11137 ;; {10009F8083}>:
11138 ;; Error when binding parameter 1 to value NIL.
11139 ;; Code RANGE: column index out of range.
11140 `(#:tests? #f))
11141 (synopsis "Lightweight database library for Common Lisp")
11142 (description "Datafly is a lightweight database library for Common Lisp.")
11143 (license license:bsd-3))))
11144
11145 (define-public cl-datafly
11146 (sbcl-package->cl-source-package sbcl-datafly))
11147
11148 (define-public ecl-datafly
11149 (sbcl-package->ecl-package sbcl-datafly))
11150
11151 (define-public sbcl-do-urlencode
11152 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
11153 (revision "1"))
11154 (package
11155 (name "sbcl-do-urlencode")
11156 (version (git-version "0.0.0" revision commit))
11157 (home-page "https://github.com/drdo/do-urlencode")
11158 (source
11159 (origin
11160 (method git-fetch)
11161 (uri (git-reference
11162 (url home-page)
11163 (commit commit)))
11164 (file-name (git-file-name name version))
11165 (sha256
11166 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
11167 (build-system asdf-build-system/sbcl)
11168 (inputs
11169 `(("alexandria" ,sbcl-alexandria)
11170 ("babel" ,sbcl-babel)))
11171 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
11172 (description "This library provides trivial percent encoding and
11173 decoding functions for URLs.")
11174 (license license:isc))))
11175
11176 (define-public cl-do-urlencode
11177 (sbcl-package->cl-source-package sbcl-do-urlencode))
11178
11179 (define-public ecl-do-urlencode
11180 (sbcl-package->ecl-package sbcl-do-urlencode))
11181
11182 (define-public sbcl-cl-emb
11183 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
11184 (revision "1"))
11185 (package
11186 (name "sbcl-cl-emb")
11187 (version (git-version "0.4.3" revision commit))
11188 (home-page "https://common-lisp.net/project/cl-emb/")
11189 (source
11190 (origin
11191 (method git-fetch)
11192 (uri (git-reference
11193 (url "https://github.com/38a938c2/cl-emb")
11194 (commit commit)))
11195 (file-name (git-file-name name version))
11196 (sha256
11197 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
11198 (build-system asdf-build-system/sbcl)
11199 (inputs
11200 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11201 (synopsis "Templating system for Common Lisp")
11202 (description "A mixture of features from eRuby and HTML::Template. You
11203 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
11204 that and not limited to a certain server or text format.")
11205 (license license:llgpl))))
11206
11207 (define-public cl-emb
11208 (sbcl-package->cl-source-package sbcl-cl-emb))
11209
11210 (define-public ecl-cl-emb
11211 (sbcl-package->ecl-package sbcl-cl-emb))
11212
11213 (define-public sbcl-cl-project
11214 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
11215 (revision "1"))
11216 (package
11217 (name "sbcl-cl-project")
11218 (version (git-version "0.3.1" revision commit))
11219 (home-page "https://github.com/fukamachi/cl-project")
11220 (source
11221 (origin
11222 (method git-fetch)
11223 (uri (git-reference
11224 (url home-page)
11225 (commit commit)))
11226 (file-name (git-file-name name version))
11227 (sha256
11228 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
11229 (build-system asdf-build-system/sbcl)
11230 (inputs
11231 `(("cl-emb" ,sbcl-cl-emb)
11232 ("cl-ppcre" ,sbcl-cl-ppcre)
11233 ("local-time" ,sbcl-local-time)
11234 ("prove" ,sbcl-prove)))
11235 (arguments
11236 ;; Tests depend on caveman, which in turns depends on cl-project.
11237 '(#:tests? #f
11238 #:asd-files '("cl-project.asd")))
11239 (synopsis "Generate a skeleton for modern Common Lisp projects")
11240 (description "This library provides a modern project skeleton generator.
11241 In contract with other generators, CL-Project generates one package per file
11242 and encourages unit testing by generating a system for unit testing, so you
11243 can begin writing unit tests as soon as the project is generated.")
11244 (license license:llgpl))))
11245
11246 (define-public cl-project
11247 (sbcl-package->cl-source-package sbcl-cl-project))
11248
11249 (define-public ecl-cl-project
11250 (sbcl-package->ecl-package sbcl-cl-project))
11251
11252 (define-public sbcl-caveman
11253 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
11254 (revision "1"))
11255 (package
11256 (name "sbcl-caveman")
11257 (version (git-version "2.4.0" revision commit))
11258 (home-page "http://8arrow.org/caveman/")
11259 (source
11260 (origin
11261 (method git-fetch)
11262 (uri (git-reference
11263 (url "https://github.com/fukamachi/caveman/")
11264 (commit commit)))
11265 (file-name (git-file-name name version))
11266 (sha256
11267 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
11268 (build-system asdf-build-system/sbcl)
11269 (inputs
11270 `(("ningle" ,cl-ningle)
11271 ("lack" ,sbcl-lack)
11272 ("cl-project" ,sbcl-cl-project)
11273 ("dbi" ,sbcl-dbi)
11274 ("cl-syntax" ,sbcl-cl-syntax)
11275 ("myway" ,sbcl-myway)
11276 ("quri" ,sbcl-quri)))
11277 (native-inputs
11278 `(("usocket" ,sbcl-usocket)
11279 ("dexador" ,sbcl-dexador)))
11280 (arguments
11281 `(#:asd-files '("caveman2.asd")
11282 #:asd-systems '("caveman2")
11283 #:phases
11284 (modify-phases %standard-phases
11285 (add-after 'unpack 'remove-v1
11286 (lambda _
11287 (delete-file-recursively "v1")
11288 (for-each delete-file
11289 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
11290 ;; TODO: Tests fail with:
11291 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
11292 ;; While evaluating the form starting at line 38, column 0
11293 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
11294 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
11295 ;; {10009F8083}>:
11296 ;; Component "myapp573" not found
11297 #:tests? #f))
11298 (synopsis "Lightweight web application framework in Common Lisp")
11299 (description "Caveman is intended to be a collection of common parts for
11300 web applications. Caveman2 has three design goals:
11301
11302 @itemize
11303 @item Be extensible.
11304 @item Be practical.
11305 @item Don't force anything.
11306 @end itemize\n")
11307 (license license:llgpl))))
11308
11309 (define-public cl-caveman
11310 (package
11311 (inherit
11312 (sbcl-package->cl-source-package sbcl-caveman))
11313 (propagated-inputs
11314 `(("ningle" ,cl-ningle)))))
11315
11316 (define-public ecl-caveman
11317 (sbcl-package->ecl-package sbcl-caveman))
11318
11319 (define-public sbcl-lambda-fiddle
11320 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
11321 (revision "1"))
11322 (package
11323 (name "sbcl-lambda-fiddle")
11324 (version (git-version "1.0.0" revision commit))
11325 (source
11326 (origin
11327 (method git-fetch)
11328 (uri (git-reference
11329 (url "https://github.com/Shinmera/lambda-fiddle")
11330 (commit commit)))
11331 (file-name (git-file-name name version))
11332 (sha256
11333 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
11334 (build-system asdf-build-system/sbcl)
11335 (home-page "https://github.com/Shinmera/lambda-fiddle")
11336 (synopsis "Collection of utilities to process lambda-lists")
11337 (description "This collection of utilities is useful in contexts where
11338 you want a macro that uses lambda-lists in some fashion but need more precise
11339 processing.")
11340 (license license:zlib))))
11341
11342 (define-public cl-lambda-fiddle
11343 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
11344
11345 (define-public ecl-lambda-fiddle
11346 (sbcl-package->ecl-package sbcl-lambda-fiddle))
11347
11348 (define-public sbcl-xmls
11349 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
11350 (revision "1"))
11351 (package
11352 (name "sbcl-xmls")
11353 (version (git-version "3.0.2" revision commit))
11354 (source
11355 (origin
11356 (method git-fetch)
11357 (uri (git-reference
11358 (url "https://github.com/rpgoldman/xmls")
11359 (commit commit)))
11360 (file-name (git-file-name name version))
11361 (sha256
11362 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
11363 (native-inputs
11364 `(("fiveam" ,sbcl-fiveam)))
11365 (build-system asdf-build-system/sbcl)
11366 (home-page "https://github.com/rpgoldman/xmls")
11367 (synopsis "Non-validating XML parser for Common Lisp")
11368 (description "Xmls is a self-contained, easily embedded parser that
11369 recognizes a useful subset of the XML spec. It provides a simple mapping from
11370 XML to Lisp structures or s-expressions and back.")
11371 (license license:bsd-2))))
11372
11373 (define-public cl-xmls
11374 (sbcl-package->cl-source-package sbcl-xmls))
11375
11376 (define-public ecl-xmls
11377 (sbcl-package->ecl-package sbcl-xmls))
11378
11379 (define-public sbcl-geco
11380 (package
11381 (name "sbcl-geco")
11382 (version "2.1.1")
11383 (source
11384 (origin
11385 (method git-fetch)
11386 (uri (git-reference
11387 (url "https://github.com/gpwwjr/GECO")
11388 (commit (string-append "v" version))))
11389 (file-name (git-file-name "geco" version))
11390 (sha256
11391 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
11392 (build-system asdf-build-system/sbcl)
11393 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
11394 (synopsis "Genetic algorithm toolkit for Common Lisp")
11395 (description
11396 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
11397 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
11398 (license license:lgpl2.1+)))
11399
11400 (define-public cl-geco
11401 (sbcl-package->cl-source-package sbcl-geco))
11402
11403 (define-public ecl-geco
11404 (sbcl-package->ecl-package sbcl-geco))
11405
11406 (define-public sbcl-html-entities
11407 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
11408 (package
11409 (name "sbcl-html-entities")
11410 (version (git-version "0.02" "1" commit))
11411 (source
11412 (origin
11413 (method git-fetch)
11414 (uri (git-reference
11415 (url "https://github.com/BnMcGn/html-entities/")
11416 (commit commit)))
11417 (file-name (git-file-name name version))
11418 (sha256
11419 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
11420 (build-system asdf-build-system/sbcl)
11421 (inputs
11422 `(("ppcre" ,sbcl-cl-ppcre)))
11423 (native-inputs
11424 `(("fiveam" ,sbcl-fiveam)))
11425 (home-page "https://github.com/BnMcGn/html-entities/")
11426 (synopsis "Encode and decode entities in HTML with Common Lisp")
11427 (description "Html-entities is a Common Lisp library that lets you
11428 encode and decode entities in HTML.")
11429 (license license:expat))))
11430
11431 (define-public cl-html-entities
11432 (sbcl-package->cl-source-package sbcl-html-entities))
11433
11434 (define-public ecl-html-entities
11435 (sbcl-package->ecl-package sbcl-html-entities))
11436
11437 (define-public sbcl-quicksearch
11438 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
11439 (package
11440 (name "sbcl-quicksearch")
11441 (version (git-version "0.01.04" "1" commit))
11442 (source
11443 (origin
11444 (method git-fetch)
11445 (uri (git-reference
11446 (url "https://github.com/tkych/quicksearch/")
11447 (commit commit)))
11448 (file-name (git-file-name name version))
11449 (sha256
11450 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
11451 (build-system asdf-build-system/sbcl)
11452 (inputs
11453 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11454 ("iterate" ,sbcl-iterate)
11455 ("alexandria" ,sbcl-alexandria)
11456 ("anaphora" ,sbcl-anaphora)
11457 ("ppcre" ,sbcl-cl-ppcre)
11458 ("drakma" ,sbcl-drakma)
11459 ("html-entities" ,sbcl-html-entities)
11460 ("yason" ,sbcl-yason)
11461 ("flexi-streams" ,sbcl-flexi-streams)
11462 ("do-urlencode" ,sbcl-do-urlencode)))
11463 (home-page "https://github.com/tkych/quicksearch/")
11464 (synopsis "Search Engine Interface for Common Lisp packages")
11465 (description "Quicksearch is a search-engine-interface for Common Lisp.
11466 The goal of Quicksearch is to find the Common Lisp library quickly. For
11467 example, if you will find the library about json, just type @code{(qs:?
11468 'json)} at REPL.
11469
11470 The function @code{quicksearch} searches for Common Lisp projects in
11471 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
11472 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
11473 (license license:expat))))
11474
11475 (define-public cl-quicksearch
11476 (sbcl-package->cl-source-package sbcl-quicksearch))
11477
11478 (define-public ecl-quicksearch
11479 (sbcl-package->ecl-package sbcl-quicksearch))
11480
11481 (define-public sbcl-agutil
11482 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
11483 (package
11484 (name "sbcl-agutil")
11485 (version (git-version "0.0.1" "1" commit))
11486 (source
11487 (origin
11488 (method git-fetch)
11489 (uri (git-reference
11490 (url "https://github.com/alex-gutev/agutil/")
11491 (commit commit)))
11492 (file-name (git-file-name name version))
11493 (sha256
11494 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
11495 (build-system asdf-build-system/sbcl)
11496 (inputs
11497 `(("alexandria" ,sbcl-alexandria)
11498 ("trivia" ,sbcl-trivia)))
11499 (home-page "https://github.com/alex-gutev/agutil/")
11500 (synopsis "Collection of Common Lisp utilities")
11501 (description "A collection of Common Lisp utility functions and macros
11502 mostly not found in other utility packages.")
11503 (license license:expat))))
11504
11505 (define-public cl-agutil
11506 (sbcl-package->cl-source-package sbcl-agutil))
11507
11508 (define-public ecl-agutil
11509 (sbcl-package->ecl-package sbcl-agutil))
11510
11511 (define-public sbcl-custom-hash-table
11512 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
11513 (package
11514 (name "sbcl-custom-hash-table")
11515 (version (git-version "0.3" "1" commit))
11516 (source
11517 (origin
11518 (method git-fetch)
11519 (uri (git-reference
11520 (url "https://github.com/metawilm/cl-custom-hash-table")
11521 (commit commit)))
11522 (file-name (git-file-name name version))
11523 (sha256
11524 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
11525 (build-system asdf-build-system/sbcl)
11526 (arguments
11527 '(#:asd-files '("cl-custom-hash-table.asd")
11528 #:asd-systems '("cl-custom-hash-table")))
11529 (home-page "https://github.com/metawilm/cl-custom-hash-table")
11530 (synopsis "Custom hash tables for Common Lisp")
11531 (description "This library allows creation of hash tables with arbitrary
11532 @code{test}/@code{hash} functions, in addition to the @code{test} functions
11533 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
11534 @code{EQUALP}), even in implementations that don't support this functionality
11535 directly.")
11536 (license license:expat))))
11537
11538 (define-public cl-custom-hash-table
11539 (sbcl-package->cl-source-package sbcl-custom-hash-table))
11540
11541 (define-public ecl-custom-hash-table
11542 (sbcl-package->ecl-package sbcl-custom-hash-table))
11543
11544 (define-public sbcl-collectors
11545 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
11546 (package
11547 (name "sbcl-collectors")
11548 (version (git-version "0.1" "1" commit))
11549 (source
11550 (origin
11551 (method git-fetch)
11552 (uri (git-reference
11553 (url "https://github.com/AccelerationNet/collectors")
11554 (commit commit)))
11555 (file-name (git-file-name name version))
11556 (sha256
11557 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
11558 (build-system asdf-build-system/sbcl)
11559 (inputs
11560 `(("alexandria" ,sbcl-alexandria)
11561 ("closer-mop" ,sbcl-closer-mop)
11562 ("symbol-munger" ,sbcl-symbol-munger)))
11563 (native-inputs
11564 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11565 (home-page "https://github.com/AccelerationNet/collectors/")
11566 (synopsis "Common lisp library providing collector macros")
11567 (description "A small collection of common lisp macros to make
11568 collecting values easier.")
11569 (license license:bsd-3))))
11570
11571 (define-public cl-collectors
11572 (sbcl-package->cl-source-package sbcl-collectors))
11573
11574 (define-public ecl-collectors
11575 (sbcl-package->ecl-package sbcl-collectors))
11576
11577 (define-public sbcl-cl-environments
11578 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
11579 (package
11580 (name "sbcl-cl-environments")
11581 (version (git-version "0.2.3" "1" commit))
11582 (source
11583 (origin
11584 (method git-fetch)
11585 (uri (git-reference
11586 (url "https://github.com/alex-gutev/cl-environments")
11587 (commit commit)))
11588 (file-name (git-file-name name version))
11589 (sha256
11590 (base32
11591 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
11592 (build-system asdf-build-system/sbcl)
11593 (propagated-inputs
11594 `(("alexandria" ,cl-alexandria)
11595 ("anaphora" ,cl-anaphora)
11596 ("collectors" ,cl-collectors)
11597 ("optima" ,cl-optima)))
11598 (native-inputs
11599 `(("prove" ,sbcl-prove)))
11600 (home-page "https://github.com/alex-gutev/cl-environments")
11601 (synopsis "Implements the Common Lisp standard environment access API")
11602 (description "This library provides a uniform API, as specified in Common
11603 Lisp the Language 2, for accessing information about variable and function
11604 bindings from implementation-defined lexical environment objects. All major
11605 Common Lisp implementations are supported, even those which don't support the
11606 CLTL2 environment access API.")
11607 (license license:expat))))
11608
11609 (define-public cl-environments
11610 (sbcl-package->cl-source-package sbcl-cl-environments))
11611
11612 (define-public ecl-environments
11613 (sbcl-package->ecl-package sbcl-cl-environments))
11614
11615 (define-public sbcl-static-dispatch
11616 (package
11617 (name "sbcl-static-dispatch")
11618 (version "0.3")
11619 (source
11620 (origin
11621 (method git-fetch)
11622 (uri (git-reference
11623 (url "https://github.com/alex-gutev/static-dispatch")
11624 (commit (string-append "v" version))))
11625 (file-name (git-file-name name version))
11626 (sha256
11627 (base32 "1wp5yz8liqqic3yifqf33qhccd755pd7ycvsq1j4i7k3f1wm18i0"))))
11628 (build-system asdf-build-system/sbcl)
11629 (inputs
11630 `(("agutil" ,sbcl-agutil)
11631 ("alexandria" ,sbcl-alexandria)
11632 ("anaphora" ,sbcl-anaphora)
11633 ("arrows" ,sbcl-arrows)
11634 ("closer-mop" ,sbcl-closer-mop)
11635 ("iterate" ,sbcl-iterate)
11636 ("trivia" ,sbcl-trivia)))
11637 (propagated-inputs
11638 ;; FIXME: `sbcl-cl-environments' input fails with
11639 ;;
11640 ;; compiling #<CL-SOURCE-FILE "collectors" "collectors">
11641 ;; Unhandled SB-INT:SIMPLE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
11642 ;; {1008238213}>:
11643 ;; Error opening #P"/.../cl-environments/src/common/package-tmp5GEXGEG5.fasl":
11644 ;; Permission denied
11645 `(("cl-environments" ,cl-environments)))
11646 (native-inputs
11647 `(("prove" ,sbcl-prove)))
11648 (arguments
11649 `(#:phases
11650 (modify-phases %standard-phases
11651 ;; Use `arrows' instead of cl-arrows which is abandoned and unlicensed.
11652 ;; https://github.com/nightfly19/cl-arrows/issues/5
11653 (add-after 'unpack 'use-arrows-instead-of-cl-arrows
11654 (lambda _
11655 (for-each
11656 (lambda (file)
11657 (substitute* file
11658 ((":cl-arrows") ":arrows")))
11659 '("static-dispatch.asd"
11660 "src/package.lisp"
11661 "test/methods.lisp"
11662 "test/test.lisp")))))))
11663 (home-page "https://github.com/alex-gutev/static-dispatch")
11664 (synopsis "Static generic function dispatch for Common Lisp")
11665 (description "Static dispatch is a Common Lisp library, inspired by
11666 @code{inlined-generic-function}, which allows standard Common Lisp generic
11667 function dispatch to be performed statically (at compile time) rather than
11668 dynamically (runtime). This is similar to what is known as \"overloading\" in
11669 languages such as C++ and Java.
11670
11671 The purpose of static dispatch is to provide an optimization in cases where
11672 the usual dynamic dispatch is too slow, and the dynamic features of generic
11673 functions, such as adding/removing methods at runtime are not required. An
11674 example of such a case is a generic equality comparison function. Currently
11675 generic functions are considered far too slow to implement generic arithmetic
11676 and comparison operations when used heavily in numeric code.")
11677 (license license:expat)))
11678
11679 (define-public cl-static-dispatch
11680 (sbcl-package->cl-source-package sbcl-static-dispatch))
11681
11682 (define-public ecl-static-dispatch
11683 (sbcl-package->ecl-package sbcl-static-dispatch))
11684
11685 (define-public sbcl-generic-cl
11686 ;; Latest commit includes a necessary fix for our Guix build.
11687 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
11688 (package
11689 (name "sbcl-generic-cl")
11690 (version (git-version "0.7.1" "1" commit))
11691 (source
11692 (origin
11693 (method git-fetch)
11694 (uri (git-reference
11695 (url "https://github.com/alex-gutev/generic-cl")
11696 (commit commit)))
11697 (file-name (git-file-name name version))
11698 (sha256
11699 (base32
11700 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
11701 (build-system asdf-build-system/sbcl)
11702 (inputs
11703 `(("agutil" ,sbcl-agutil)
11704 ("alexandria" ,sbcl-alexandria)
11705 ("anaphora" ,sbcl-anaphora)
11706 ("arrows" ,sbcl-arrows)
11707 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
11708 ("trivia" ,sbcl-trivia)))
11709 (propagated-inputs
11710 ;; FIXME: Same error as for `sbcl-static-dispatch'.
11711 `(("static-dispatch" ,cl-static-dispatch)))
11712 (native-inputs
11713 `(("prove" ,sbcl-prove)))
11714 (arguments
11715 ;; Tests fail because SBCL head size is not high enough.
11716 ;; https://github.com/alex-gutev/generic-cl/issues/6
11717 `(#:tests? #f))
11718 (home-page "https://alex-gutev.github.io/generic-cl/")
11719 (synopsis "Generic function interface to standard Common Lisp functions")
11720 (description "@code{generic-cl} provides a generic function wrapper over
11721 various functions in the Common Lisp standard, such as equality predicates and
11722 sequence operations. The goal of this wrapper is to provide a standard
11723 interface to common operations, such as testing for the equality of two
11724 objects, which is extensible to user-defined types.")
11725 (license license:expat))))
11726
11727 (define-public cl-generic-cl
11728 (sbcl-package->cl-source-package sbcl-generic-cl))
11729
11730 (define-public ecl-generic-cl
11731 (sbcl-package->ecl-package sbcl-generic-cl))
11732
11733 (define-public sbcl-defpackage-plus
11734 (let ((revision "0")
11735 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
11736 (package
11737 (name "sbcl-defpackage-plus")
11738 (version (git-version "1.0" revision commit))
11739 (source
11740 (origin
11741 (method git-fetch)
11742 (uri (git-reference
11743 (url "https://github.com/rpav/defpackage-plus")
11744 (commit commit)))
11745 (file-name (git-file-name name version))
11746 (sha256
11747 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
11748 (build-system asdf-build-system/sbcl)
11749 (inputs
11750 `(("alexandria" ,sbcl-alexandria)))
11751 (home-page "https://github.com/rpav/defpackage-plus")
11752 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
11753 (description
11754 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
11755 predictable cross-platform behavior and some utilities useful for versioning.")
11756 (license license:bsd-2))))
11757
11758 (define-public cl-defpackage-plus
11759 (sbcl-package->cl-source-package sbcl-defpackage-plus))
11760
11761 (define-public ecl-defpackage-plus
11762 (sbcl-package->ecl-package sbcl-defpackage-plus))
11763
11764 (define-public sbcl-deploy
11765 ;; tagged branch is outdated
11766 (let ((revision "1")
11767 (commit "59fd49719ef651a8fc11750bcfb337f132cff75f"))
11768 (package
11769 (name "sbcl-deploy")
11770 (version (git-version "1.0.0" revision commit))
11771 (source
11772 (origin
11773 (method git-fetch)
11774 (uri (git-reference
11775 (url "https://github.com/Shinmera/deploy")
11776 (commit commit)))
11777 (file-name (git-file-name name version))
11778 (sha256
11779 (base32 "1vl2116z4kw2pd3qd3n6mmg8g0mnwxr9dgddk86g7j1bis1z8k9a"))))
11780 (build-system asdf-build-system/sbcl)
11781 (inputs
11782 `(("cffi" ,sbcl-cffi)
11783 ("documentation-utils" ,sbcl-documentation-utils)))
11784 (arguments
11785 '(#:asd-files '("deploy.asd")))
11786 (home-page "https://shinmera.github.io/deploy/")
11787 (synopsis "Deployment tools for standalone Common Lisp application")
11788 (description
11789 "This is a system to help you easily and quickly deploy standalone
11790 common lisp applications as binaries. Specifically it is geared towards
11791 applications with foreign library dependencies that run some kind of GUI.")
11792 (license license:artistic2.0))))
11793
11794 (define-public cl-deploy
11795 (sbcl-package->cl-source-package sbcl-deploy))
11796
11797 (define-public ecl-deploy
11798 (sbcl-package->ecl-package sbcl-deploy))
11799
11800 (define-public sbcl-deeds
11801 ;; taged branch is outdated
11802 (let ((revision "1")
11803 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
11804 (package
11805 (name "sbcl-deeds")
11806 (version (git-version "1.1.1" revision commit))
11807 (source
11808 (origin
11809 (method git-fetch)
11810 (uri (git-reference
11811 (url "https://github.com/Shinmera/deeds")
11812 (commit commit)))
11813 (file-name (git-file-name name version))
11814 (sha256
11815 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
11816 (build-system asdf-build-system/sbcl)
11817 (inputs
11818 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11819 ("closer-mop" ,sbcl-closer-mop)
11820 ("form-fiddle" ,sbcl-form-fiddle)
11821 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
11822 (home-page "https://github.com/Shinmera/deeds")
11823 (synopsis "Extensible Event Delivery System")
11824 (description
11825 "@code{deeds} allows for efficient event delivery to multiple handlers
11826 with a complex event filtering system.")
11827 (license license:zlib))))
11828
11829 (define-public cl-deeds
11830 (sbcl-package->cl-source-package sbcl-deeds))
11831
11832 (define-public ecl-deeds
11833 (sbcl-package->ecl-package sbcl-deeds))
11834
11835 (define-public sbcl-make-hash
11836 ;; no tagged branch
11837 (let ((revision "1")
11838 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
11839 (package
11840 (name "sbcl-make-hash")
11841 (version (git-version "1.0.2" revision commit))
11842 (source
11843 (origin
11844 (method git-fetch)
11845 (uri (git-reference
11846 (url "https://github.com/genovese/make-hash")
11847 (commit commit)))
11848 (file-name (git-file-name name version))
11849 (sha256
11850 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
11851 (build-system asdf-build-system/sbcl)
11852 (home-page "https://github.com/genovese/make-hash")
11853 (synopsis "Common Lisp package for flexible hash table creation")
11854 (description
11855 "This is a Common Lisp package for hash table creation with flexible,
11856 extensible initializers.")
11857 (license license:bsd-3))))
11858
11859 (define-public cl-make-hash
11860 (sbcl-package->cl-source-package sbcl-make-hash))
11861
11862 (define-public ecl-make-hash
11863 (sbcl-package->ecl-package sbcl-make-hash))
11864
11865 (define-public sbcl-claw-support
11866 (package
11867 (name "sbcl-claw-support")
11868 (version "1.0.0")
11869 (source
11870 (origin
11871 (method git-fetch)
11872 (uri (git-reference
11873 (url "https://github.com/borodust/claw-support")
11874 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
11875 (file-name (git-file-name name version))
11876 (sha256
11877 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
11878 (build-system asdf-build-system/sbcl)
11879 (home-page "https://github.com/borodust/claw-support")
11880 (synopsis "Support routines for claw")
11881 (description
11882 "This package provides support routines for the @code{claw} Common Lisp
11883 package.")
11884 (license license:expat)))
11885
11886 (define-public cl-claw-support
11887 (sbcl-package->cl-source-package sbcl-claw-support))
11888
11889 (define-public ecl-claw-support
11890 (sbcl-package->ecl-package sbcl-claw-support))
11891
11892 (define-public sbcl-array-operations
11893 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
11894 (revision "0"))
11895 (package
11896 (name "sbcl-array-operations")
11897 (version (git-version "0.0.0" revision commit))
11898 (source
11899 (origin
11900 (method git-fetch)
11901 (uri (git-reference
11902 (url "https://github.com/bendudson/array-operations")
11903 (commit commit)))
11904 (file-name (git-file-name "array-operations" version))
11905 (sha256
11906 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
11907 (build-system asdf-build-system/sbcl)
11908 (native-inputs
11909 `(("alexandria" ,sbcl-alexandria)
11910 ("clunit2" ,sbcl-clunit2)))
11911 (inputs
11912 `(("let-plus" ,sbcl-let-plus)))
11913 (synopsis "Simple array operations library for Common Lisp")
11914 (description
11915 "This library is a collection of functions and macros for manipulating
11916 Common Lisp arrays and performing numerical calculations with them.")
11917 (home-page "https://github.com/bendudson/array-operations")
11918 (license license:expat))))
11919
11920 (define-public cl-array-operations
11921 (sbcl-package->cl-source-package sbcl-array-operations))
11922
11923 (define-public ecl-array-operations
11924 (sbcl-package->ecl-package sbcl-array-operations))
11925
11926 (define-public sbcl-clml
11927 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
11928 (revision "0"))
11929 (package
11930 (name "sbcl-clml")
11931 (version (git-version "0.0.0" revision commit))
11932 (source
11933 (origin
11934 (method git-fetch)
11935 (uri (git-reference
11936 (url "https://github.com/mmaul/clml")
11937 (commit commit)))
11938 (file-name (git-file-name "clml" version))
11939 (sha256
11940 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
11941 ;; TODO: Remove this when the patch has been merged upstream.
11942 (patches (search-patches "sbcl-clml-fix-types.patch"))))
11943 (build-system asdf-build-system/sbcl)
11944 (inputs
11945 `(("alexandia" ,sbcl-alexandria)
11946 ("array-operations" ,sbcl-array-operations)
11947 ("cl-fad" ,sbcl-cl-fad)
11948 ("cl-ppcre" ,sbcl-cl-ppcre)
11949 ("drakma" ,sbcl-drakma)
11950 ("introspect-environment" ,sbcl-introspect-environment)
11951 ("iterate" ,sbcl-iterate)
11952 ("lparallel" ,sbcl-lparallel)
11953 ("parse-number" ,sbcl-parse-number)
11954 ("split-sequence" ,sbcl-split-sequence)
11955 ("trivial-garbage" ,sbcl-trivial-garbage)))
11956 (synopsis "Common Lisp machine learning library")
11957 (description
11958 "CLML (Common Lisp Machine Learning) is a high performance and large
11959 scale statistical machine learning package")
11960 (home-page "https://mmaul.github.io/clml/")
11961 (license license:llgpl))))
11962
11963 (define-public cl-clml
11964 (sbcl-package->cl-source-package sbcl-clml))
11965
11966 (define-public sbcl-utm-ups
11967 (let ((commit "780f1d8ab6290ad2be0f40e2cddc2535fa6fe979")
11968 (revision "0"))
11969 (package
11970 (name "sbcl-utm-ups")
11971 (version (git-version "1.0" revision commit))
11972 (source
11973 (origin
11974 (method git-fetch)
11975 (uri (git-reference
11976 (url "https://github.com/glv2/utm-ups")
11977 (commit commit)))
11978 (file-name (git-file-name "utm-ups" version))
11979 (sha256
11980 (base32 "0l3kr2m56skf5cx3kkkdcis7msmidcsixx9fqjapkcjsj8x67aqq"))))
11981 (build-system asdf-build-system/sbcl)
11982 (native-inputs
11983 `(("fiveam" ,sbcl-fiveam)))
11984 (synopsis
11985 "Convert coordinates between latitude/longitude and UTM or UPS")
11986 (description
11987 "This a Common Lisp library to convert geographic coordinates between
11988 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
11989 Polar Stereographic).")
11990 (home-page "https://github.com/glv2/utm-ups")
11991 (license license:gpl3+))))
11992
11993 (define-public cl-utm-ups
11994 (sbcl-package->cl-source-package sbcl-utm-ups))
11995
11996 (define-public ecl-utm-ups
11997 (sbcl-package->ecl-package sbcl-utm-ups))
11998
11999 (define-public sbcl-mgrs
12000 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
12001 (revision "0"))
12002 (package
12003 (name "sbcl-mgrs")
12004 (version (git-version "1.0" revision commit))
12005 (source
12006 (origin
12007 (method git-fetch)
12008 (uri (git-reference
12009 (url "https://github.com/glv2/mgrs")
12010 (commit commit)))
12011 (file-name (git-file-name "mgrs" version))
12012 (sha256
12013 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
12014 (build-system asdf-build-system/sbcl)
12015 (native-inputs
12016 `(("fiveam" ,sbcl-fiveam)))
12017 (inputs
12018 `(("utm-ups" ,sbcl-utm-ups)))
12019 (synopsis
12020 "Convert coordinates between latitude/longitude and MGRS")
12021 (description
12022 "This a Common Lisp library to convert geographic coordinates between
12023 latitude/longitude and MGRS.")
12024 (home-page "https://github.com/glv2/mgrs")
12025 (license license:gpl3+))))
12026
12027 (define-public cl-mgrs
12028 (sbcl-package->cl-source-package sbcl-mgrs))
12029
12030 (define-public ecl-mgrs
12031 (sbcl-package->ecl-package sbcl-mgrs))
12032
12033 (define-public sbcl-maidenhead
12034 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
12035 (revision "0"))
12036 (package
12037 (name "sbcl-maidenhead")
12038 (version (git-version "1.0" revision commit))
12039 (source
12040 (origin
12041 (method git-fetch)
12042 (uri (git-reference
12043 (url "https://github.com/glv2/maidenhead")
12044 (commit commit)))
12045 (file-name (git-file-name "maidenhead" version))
12046 (sha256
12047 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
12048 (build-system asdf-build-system/sbcl)
12049 (native-inputs
12050 `(("fiveam" ,sbcl-fiveam)))
12051 (synopsis
12052 "Convert coordinates between latitude/longitude and Maidenhead")
12053 (description
12054 "This a Common Lisp library to convert geographic coordinates between
12055 latitude/longitude and Maidenhead locator system.")
12056 (home-page "https://github.com/glv2/maidenhead")
12057 (license license:gpl3+))))
12058
12059 (define-public cl-maidenhead
12060 (sbcl-package->cl-source-package sbcl-maidenhead))
12061
12062 (define-public ecl-maidenhead
12063 (sbcl-package->ecl-package sbcl-maidenhead))
12064
12065 (define-public sbcl-olc
12066 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
12067 (revision "0"))
12068 (package
12069 (name "sbcl-olc")
12070 (version (git-version "1.0" revision commit))
12071 (source
12072 (origin
12073 (method git-fetch)
12074 (uri (git-reference
12075 (url "https://github.com/glv2/olc")
12076 (commit commit)))
12077 (file-name (git-file-name "olc" version))
12078 (sha256
12079 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
12080 (build-system asdf-build-system/sbcl)
12081 (native-inputs
12082 `(("fiveam" ,sbcl-fiveam)))
12083 (synopsis
12084 "Convert coordinates between latitude/longitude and Open Location Code")
12085 (description
12086 "This a Common Lisp library to convert geographic coordinates between
12087 latitude/longitude and Open Location Code.")
12088 (home-page "https://github.com/glv2/olc")
12089 (license license:gpl3+))))
12090
12091 (define-public cl-olc
12092 (sbcl-package->cl-source-package sbcl-olc))
12093
12094 (define-public ecl-olc
12095 (sbcl-package->ecl-package sbcl-olc))
12096
12097 (define-public sbcl-regex
12098 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
12099 (package
12100 (name "sbcl-regex")
12101 (version (git-version "1" "1" commit))
12102 (source
12103 (origin
12104 (method git-fetch)
12105 (uri (git-reference
12106 (url "https://github.com/michaelw/regex/")
12107 (commit commit)))
12108 (file-name (git-file-name name version))
12109 (sha256
12110 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
12111 (build-system asdf-build-system/sbcl)
12112 (home-page "https://github.com/michaelw/regex/")
12113 (synopsis "Regular expression engine for Common Lisp")
12114 (description
12115 "This Common Lisp package provides a regular expression engine.")
12116 (license license:bsd-2))))
12117
12118 (define-public cl-regex
12119 (sbcl-package->cl-source-package sbcl-regex))
12120
12121 (define-public ecl-regex
12122 (sbcl-package->ecl-package sbcl-regex))
12123
12124 (define-public sbcl-clawk
12125 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
12126 (package
12127 (name "sbcl-clawk")
12128 (version (git-version "4" "1" commit))
12129 (source
12130 (origin
12131 (method git-fetch)
12132 (uri (git-reference
12133 (url "https://github.com/sharplispers/clawk")
12134 (commit commit)))
12135 (file-name (git-file-name name version))
12136 (sha256
12137 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
12138 (build-system asdf-build-system/sbcl)
12139 (inputs
12140 `(("sbcl-regex" ,sbcl-regex)))
12141 (home-page "https://github.com/sharplispers/clawk")
12142 (synopsis "Common Lisp AWK")
12143 (description
12144 "CLAWK is an AWK implementation embedded into Common Lisp.")
12145 (license license:bsd-2))))
12146
12147 (define-public cl-clawk
12148 (sbcl-package->cl-source-package sbcl-clawk))
12149
12150 (define-public ecl-clawk
12151 (sbcl-package->ecl-package sbcl-clawk))
12152
12153 (define-public sbcl-check-it
12154 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
12155 (package
12156 (name "sbcl-check-it")
12157 (version (git-version "0.1.0" "1" commit))
12158 (source
12159 (origin
12160 (method git-fetch)
12161 (uri (git-reference
12162 (url "https://github.com/DalekBaldwin/check-it/")
12163 (commit commit)))
12164 (file-name (git-file-name name version))
12165 (sha256
12166 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
12167 (build-system asdf-build-system/sbcl)
12168 (inputs
12169 `(("alexandria" ,sbcl-alexandria)
12170 ("closer-mop" ,sbcl-closer-mop)
12171 ("optima" ,sbcl-optima)))
12172 (native-inputs
12173 `(("stefil" ,sbcl-stefil)))
12174 (home-page "https://github.com/arclanguage/Clamp")
12175 (synopsis "Randomized specification-based testing for Common Lisp")
12176 (description
12177 "This is a randomized property-based testing library for Common Lisp.
12178 Rather than being a full-fledged general test framework in its own right, it's
12179 designed to embed randomized tests in whatever framework you like.")
12180 (license license:llgpl))))
12181
12182 (define-public cl-check-it
12183 (sbcl-package->cl-source-package sbcl-check-it))
12184
12185 (define-public ecl-check-it
12186 (sbcl-package->ecl-package sbcl-check-it))
12187
12188 (define-public sbcl-clamp
12189 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
12190 (package
12191 (name "sbcl-clamp")
12192 (version (git-version "0.3" "1" commit))
12193 (source
12194 (origin
12195 (method git-fetch)
12196 (uri (git-reference
12197 (url "https://github.com/arclanguage/Clamp")
12198 (commit commit)))
12199 (file-name (git-file-name name version))
12200 (sha256
12201 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
12202 (build-system asdf-build-system/sbcl)
12203 (inputs
12204 `(("iterate" ,sbcl-iterate)
12205 ("cl-syntax" ,sbcl-cl-syntax)))
12206 (native-inputs
12207 `(("cl-unit" ,sbcl-clunit)
12208 ("check-it" ,sbcl-check-it)))
12209 (arguments
12210 `(#:phases
12211 (modify-phases %standard-phases
12212 (add-after 'unpack 'fix-build
12213 (lambda _
12214 (substitute* "clamp.asd"
12215 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
12216 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
12217 #t)))))
12218 (home-page "https://github.com/arclanguage/Clamp")
12219 (synopsis "Common Lisp with Arc macros and procedures")
12220 (description
12221 "Clamp is an attempt to bring the powerful, but verbose, language of
12222 Common Lisp up to the terseness of Arc.
12223
12224 There are two parts to Clamp. There is the core of Clamp, which implements
12225 the utilities of Arc that are easily converted from Arc to Common Lisp. The
12226 other part is the \"experimental\" part. It contains features of Arc that are
12227 not so easy to copy (ssyntax, argument destructuring, etc.).")
12228 (license license:artistic2.0))))
12229
12230 (define-public cl-clamp
12231 (sbcl-package->cl-source-package sbcl-clamp))
12232
12233 (define-public ecl-clamp
12234 (sbcl-package->ecl-package sbcl-clamp))
12235
12236 (define-public sbcl-trivial-shell
12237 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
12238 (package
12239 (name "sbcl-trivial-shell")
12240 (version (git-version "0.2.0" "1" commit))
12241 (source
12242 (origin
12243 (method git-fetch)
12244 (uri (git-reference
12245 (url "https://github.com/gwkkwg/trivial-shell")
12246 (commit commit)))
12247 (file-name (git-file-name name version))
12248 (sha256
12249 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
12250 (build-system asdf-build-system/sbcl)
12251 (native-inputs
12252 `(("lift" ,sbcl-lift)))
12253 (home-page "http://common-lisp.net/project/trivial-shell/")
12254 (synopsis "Common Lisp access to the shell")
12255 (description
12256 "A simple Common-Lisp interface to the underlying operating system.
12257 It's independent of the implementation and operating system.")
12258 (license license:expat))))
12259
12260 (define-public cl-trivial-shell
12261 (sbcl-package->cl-source-package sbcl-trivial-shell))
12262
12263 (define-public ecl-trivial-shell
12264 (sbcl-package->ecl-package sbcl-trivial-shell))
12265
12266 (define-public sbcl-clesh
12267 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
12268 (package
12269 (name "sbcl-clesh")
12270 (version (git-version "0.0.0" "1" commit))
12271 (source
12272 (origin
12273 (method git-fetch)
12274 (uri (git-reference
12275 (url "https://github.com/Neronus/Clesh")
12276 (commit commit)))
12277 (file-name (git-file-name name version))
12278 (sha256
12279 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
12280 (build-system asdf-build-system/sbcl)
12281 (inputs
12282 `(("trivial-shell" ,sbcl-trivial-shell)
12283 ("named-readtables" ,sbcl-named-readtables)))
12284 (home-page "https://github.com/Neronus/Clesh")
12285 (synopsis "Embed shell code in Common Lisp")
12286 (description
12287 "This is a very short and simple program, written in Common Lisp, that
12288 extends Common Lisp to embed shell code in a manner similar to Perl's
12289 backtick. It has been forked from SHELISP.")
12290 (license license:bsd-2))))
12291
12292 (define-public cl-clesh
12293 (sbcl-package->cl-source-package sbcl-clesh))
12294
12295 (define-public ecl-clesh
12296 (sbcl-package->ecl-package sbcl-clesh))
12297
12298 (define-public sbcl-trivial-download
12299 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
12300 (package
12301 (name "sbcl-trivial-download")
12302 (version (git-version "0.3" "1" commit))
12303 (source
12304 (origin
12305 (method git-fetch)
12306 (uri (git-reference
12307 (url "https://github.com/eudoxia0/trivial-download/")
12308 (commit commit)))
12309 (file-name (git-file-name name version))
12310 (sha256
12311 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
12312 (build-system asdf-build-system/sbcl)
12313 (inputs
12314 `(("drakma" ,sbcl-drakma)))
12315 (home-page "https://github.com/eudoxia0/trivial-download/")
12316 (synopsis "Download files from Common Lisp")
12317 (description
12318 "@code{trivial-download} allows you to download files from the Internet
12319 from Common Lisp. It provides a progress bar.")
12320 (license license:bsd-2))))
12321
12322 (define-public cl-trivial-download
12323 (sbcl-package->cl-source-package sbcl-trivial-download))
12324
12325 (define-public ecl-trivial-download
12326 (sbcl-package->ecl-package sbcl-trivial-download))
12327
12328 (define-public sbcl-gtwiwtg
12329 (package
12330 (name "sbcl-gtwiwtg")
12331 (version "0.1.1")
12332 (source
12333 (origin
12334 (method git-fetch)
12335 (uri (git-reference
12336 (url "https://github.com/cbeo/gtwiwtg/")
12337 (commit version)))
12338 (file-name (git-file-name name version))
12339 (sha256
12340 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
12341 (build-system asdf-build-system/sbcl)
12342 (native-inputs
12343 `(("osicat" ,sbcl-osicat)
12344 ("prove" ,sbcl-prove)))
12345 (home-page "https://github.com/cbeo/gtwiwtg/")
12346 (synopsis "Naive generators for Common Lisp")
12347 (description
12348 "The GTWIWTG library (Generators The Way I Want Them Generated --
12349 technically not generators, but iterators) is meant to be small, explorable,
12350 and understandable.")
12351 (license license:gpl3)))
12352
12353 (define-public cl-gtwiwtg
12354 (sbcl-package->cl-source-package sbcl-gtwiwtg))
12355
12356 (define-public ecl-gtwiwtg
12357 (sbcl-package->ecl-package sbcl-gtwiwtg))
12358
12359 (define-public sbcl-cl-progress-bar
12360 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
12361 (package
12362 (name "sbcl-cl-progress-bar")
12363 (version (git-version "0.0.0" "1" commit))
12364 (source
12365 (origin
12366 (method git-fetch)
12367 (uri (git-reference
12368 (url "https://github.com/sirherrbatka/cl-progress-bar/")
12369 (commit commit)))
12370 (file-name (git-file-name name version))
12371 (sha256
12372 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
12373 (build-system asdf-build-system/sbcl)
12374 (inputs
12375 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12376 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
12377 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
12378 (synopsis "Progress bars in Common Lisp")
12379 (description
12380 "This library provides almost the same code as used inside Quicklisp
12381 for drawning progress bars")
12382 (license license:expat))))
12383
12384 (define-public cl-progress-bar
12385 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
12386
12387 (define-public ecl-cl-progress-bar
12388 (sbcl-package->ecl-package sbcl-cl-progress-bar))
12389
12390 (define-public sbcl-repl-utilities
12391 (let ((commit "e0de9c92e774f77cab1a4cd92e2ac922ac3a807e"))
12392 (package
12393 (name "sbcl-repl-utilities")
12394 (version (git-version "0.0.0" "1" commit))
12395 (source
12396 (origin
12397 (method git-fetch)
12398 (uri (git-reference
12399 (url "https://github.com/m-n/repl-utilities/")
12400 (commit commit)))
12401 (file-name (git-file-name name version))
12402 (sha256
12403 (base32 "1r5icmw3ha5y77kvzqni3a9bcd66d9pz5mjsbw04xg3jk0d15cgz"))))
12404 (build-system asdf-build-system/sbcl)
12405 (home-page "https://github.com/m-n/repl-utilities")
12406 (synopsis "Ease common tasks at the Common Lisp REPL")
12407 (description
12408 "@code{repl-utilities} is a set of utilities which ease life at the
12409 REPL. It includes three sorts of features: introspective procedures,
12410 miscellaneous utility functions, and, pulling them together, methods to
12411 conveniently keep these symbols and optionally additional symbols available in
12412 whichever package you switch to.")
12413 (license license:bsd-2))))
12414
12415 (define-public cl-repl-utilities
12416 (sbcl-package->cl-source-package sbcl-repl-utilities))
12417
12418 (define-public ecl-repl-utilities
12419 (sbcl-package->ecl-package sbcl-repl-utilities))
12420
12421 (define-public sbcl-supertrace
12422 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
12423 (package
12424 (name "sbcl-supertrace")
12425 (version (git-version "0.1.0" "1" commit))
12426 (source
12427 (origin
12428 (method git-fetch)
12429 (uri (git-reference
12430 (url "https://github.com/fukamachi/supertrace")
12431 (commit commit)))
12432 (file-name (git-file-name name version))
12433 (sha256
12434 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
12435 (build-system asdf-build-system/sbcl)
12436 (native-inputs
12437 `(("cffi-grovel" ,sbcl-cffi)
12438 ("rove" ,sbcl-rove)
12439 ("cl-ppcre" ,sbcl-cl-ppcre)
12440 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
12441 (inputs
12442 `(("cffi" ,sbcl-cffi)))
12443 (home-page "https://github.com/fukamachi/supertrace")
12444 (synopsis "Improved Common Lisp tracing for debugging and profiling")
12445 (description
12446 "Supertrace provides a superior Common Lisp @code{trace} functionality
12447 for debugging and profiling real world applications.")
12448 (license license:bsd-2))))
12449
12450 (define-public cl-supertrace
12451 (sbcl-package->cl-source-package sbcl-supertrace))
12452
12453 (define-public ecl-supertrace
12454 (sbcl-package->ecl-package sbcl-supertrace))
12455
12456 (define-public sbcl-trivial-benchmark
12457 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
12458 (package
12459 (name "sbcl-trivial-benchmark")
12460 (version (git-version "2.0.0" "1" commit))
12461 (source
12462 (origin
12463 (method git-fetch)
12464 (uri (git-reference
12465 (url "https://github.com/Shinmera/trivial-benchmark/")
12466 (commit commit)))
12467 (file-name (git-file-name name version))
12468 (sha256
12469 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
12470 (build-system asdf-build-system/sbcl)
12471 (inputs
12472 `(("alexandria" ,sbcl-alexandria)))
12473 (home-page "http://shinmera.github.io/trivial-benchmark/")
12474 (synopsis "Easy to use benchmarking system for Common Lisp")
12475 (description
12476 "Trivial-Benchmark runs a block of code many times and outputs some
12477 statistical data for it. On SBCL this includes the data from @code{time}, for
12478 all other implementations just the @code{real-time} and @code{run-time} data.
12479 However, you can extend the system by adding your own @code{metrics} to it, or
12480 even by adding additional statistical @code{compute}ations. ")
12481 (license license:zlib))))
12482
12483 (define-public cl-trivial-benchmark
12484 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
12485
12486 (define-public ecl-trivial-benchmark
12487 (sbcl-package->ecl-package sbcl-trivial-benchmark))
12488
12489 (define-public sbcl-glyphs
12490 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
12491 (package
12492 (name "sbcl-glyphs")
12493 (version (git-version "0.0.0" "1" commit))
12494 (source
12495 (origin
12496 (method git-fetch)
12497 (uri (git-reference
12498 (url "https://github.com/ahungry/glyphs/")
12499 (commit commit)))
12500 (file-name (git-file-name name version))
12501 (sha256
12502 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
12503 (build-system asdf-build-system/sbcl)
12504 (inputs
12505 `(("cl-ppcre" ,sbcl-cl-ppcre)
12506 ("parenscript" ,sbcl-parenscript)
12507 ("named-readtables" ,sbcl-named-readtables)))
12508 (home-page "https://github.com/ahungry/glyphs/")
12509 (synopsis "Reduce Common Lisp verbosity")
12510 (description
12511 "This library is a little experiment in reducing verbosity in Common
12512 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
12513 (license license:gpl3))))
12514
12515 (define-public cl-glyphs
12516 (sbcl-package->cl-source-package sbcl-glyphs))
12517
12518 (define-public ecl-glyphs
12519 (sbcl-package->ecl-package sbcl-glyphs))
12520
12521 (define-public sbcl-zs3
12522 (package
12523 (name "sbcl-zs3")
12524 (version "1.3.3")
12525 (source
12526 (origin
12527 (method git-fetch)
12528 (uri
12529 (git-reference
12530 (url "https://github.com/xach/zs3")
12531 (commit (string-append "release-" version))))
12532 (file-name (git-file-name "zs3" version))
12533 (sha256
12534 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
12535 (build-system asdf-build-system/sbcl)
12536 (inputs
12537 `(("drakma" ,sbcl-drakma)
12538 ("alexandria" ,sbcl-alexandria)
12539 ("cxml" ,sbcl-cxml)
12540 ("ironclad" ,sbcl-ironclad)
12541 ("puri" ,sbcl-puri)
12542 ("cl-base64" ,sbcl-cl-base64)))
12543 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
12544 (description "This is ZS3, a library for working with Amazon's Simple Storage
12545 Service (S3) and CloudFront service from Common Lisp.")
12546 (home-page "https://github.com/xach/zs3")
12547 (license license:bsd-2)))
12548
12549 (define-public cl-zs3
12550 (sbcl-package->cl-source-package sbcl-zs3))
12551
12552 (define-public ecl-zs3
12553 (sbcl-package->ecl-package sbcl-zs3))
12554
12555 (define-public sbcl-simple-neural-network
12556 (package
12557 (name "sbcl-simple-neural-network")
12558 (version "3.1")
12559 (source
12560 (origin
12561 (method git-fetch)
12562 (uri (git-reference
12563 (url "https://github.com/glv2/simple-neural-network")
12564 (commit (string-append "v" version))))
12565 (file-name (git-file-name "simple-neural-network" version))
12566 (sha256
12567 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
12568 (build-system asdf-build-system/sbcl)
12569 (native-inputs
12570 `(("chipz" ,sbcl-chipz)
12571 ("fiveam" ,sbcl-fiveam)))
12572 (inputs
12573 `(("cl-store" ,sbcl-cl-store)
12574 ("lparallel" ,sbcl-lparallel)))
12575 (arguments
12576 `(#:phases
12577 (modify-phases %standard-phases
12578 (add-after 'check 'remove-test-data
12579 (lambda* (#:key outputs #:allow-other-keys)
12580 (let ((out (assoc-ref outputs "out")))
12581 (for-each delete-file (find-files out "\\.gz$"))))))))
12582 (synopsis "Simple neural network in Common Lisp")
12583 (description
12584 "@code{simple-neural-network} is a Common Lisp library for creating,
12585 training and using basic neural networks. The networks created by this
12586 library are feedforward neural networks trained using backpropagation.")
12587 (home-page "https://github.com/glv2/simple-neural-network")
12588 (license license:gpl3+)))
12589
12590 (define-public cl-simple-neural-network
12591 (sbcl-package->cl-source-package sbcl-simple-neural-network))
12592
12593 (define-public ecl-simple-neural-network
12594 (sbcl-package->ecl-package sbcl-simple-neural-network))