gnu: sbcl-cl-slug: Fix typos in synopsis & description.
[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, 2021 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, 2021 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, 2021 Adam Kandur <rndd@tuta.io>
23 ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
24 ;;; Copyright © 2021 Aurora <rind38@disroot.org>
25 ;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
26 ;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
27 ;;; Copyright © 2021 Cage <cage-dev@twistfold.it>
28 ;;;
29 ;;; This file is part of GNU Guix.
30 ;;;
31 ;;; GNU Guix is free software; you can redistribute it and/or modify it
32 ;;; under the terms of the GNU General Public License as published by
33 ;;; the Free Software Foundation; either version 3 of the License, or (at
34 ;;; your option) any later version.
35 ;;;
36 ;;; GNU Guix is distributed in the hope that it will be useful, but
37 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
38 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
39 ;;; GNU General Public License for more details.
40 ;;;
41 ;;; You should have received a copy of the GNU General Public License
42 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
43
44 ;;; This file only contains Common Lisp libraries.
45 ;;; Common Lisp compilers and tooling go to lisp.scm.
46 ;;; Common Lisp applications should go to the most appropriate file,
47 ;;; e.g. StumpWM is in wm.scm.
48
49 (define-module (gnu packages lisp-xyz)
50 #:use-module (gnu packages)
51 #:use-module ((guix licenses) #:prefix license:)
52 #:use-module (guix packages)
53 #:use-module (guix download)
54 #:use-module (guix git-download)
55 #:use-module (guix hg-download)
56 #:use-module (guix utils)
57 #:use-module (guix build-system asdf)
58 #:use-module (guix build-system trivial)
59 #:use-module (gnu packages base)
60 #:use-module (gnu packages c)
61 #:use-module (gnu packages compression)
62 #:use-module (gnu packages databases)
63 #:use-module (gnu packages enchant)
64 #:use-module (gnu packages file)
65 #:use-module (gnu packages fonts)
66 #:use-module (gnu packages fontutils)
67 #:use-module (gnu packages gl)
68 #:use-module (gnu packages glib)
69 #:use-module (gnu packages gtk)
70 #:use-module (gnu packages imagemagick)
71 #:use-module (gnu packages libevent)
72 #:use-module (gnu packages libffi)
73 #:use-module (gnu packages linux)
74 #:use-module (gnu packages lisp)
75 #:use-module (gnu packages maths)
76 #:use-module (gnu packages mp3)
77 #:use-module (gnu packages ncurses)
78 #:use-module (gnu packages networking)
79 #:use-module (gnu packages pkg-config)
80 #:use-module (gnu packages python)
81 #:use-module (gnu packages python-xyz)
82 #:use-module (gnu packages sqlite)
83 #:use-module (gnu packages tcl)
84 #:use-module (gnu packages tls)
85 #:use-module (gnu packages video)
86 #:use-module (gnu packages web)
87 #:use-module (gnu packages webkit)
88 #:use-module (gnu packages xdisorg)
89 #:use-module (ice-9 match)
90 #:use-module (srfi srfi-1)
91 #:use-module (srfi srfi-19))
92
93 (define-public sbcl-alexandria
94 (package
95 (name "sbcl-alexandria")
96 (version "1.2")
97 (source
98 (origin
99 (method git-fetch)
100 (uri (git-reference
101 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
102 (commit (string-append "v" version))))
103 (sha256
104 (base32
105 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
106 (file-name (git-file-name name version))))
107 (build-system asdf-build-system/sbcl)
108 (native-inputs
109 `(("rt" ,sbcl-rt)))
110 (synopsis "Collection of portable utilities for Common Lisp")
111 (description
112 "Alexandria is a collection of portable utilities. It does not contain
113 conceptual extensions to Common Lisp. It is conservative in scope, and
114 portable between implementations.")
115 (home-page "https://common-lisp.net/project/alexandria/")
116 (license license:public-domain)))
117
118 (define-public cl-alexandria
119 (sbcl-package->cl-source-package sbcl-alexandria))
120
121 (define-public ecl-alexandria
122 (sbcl-package->ecl-package sbcl-alexandria))
123
124 (define-public sbcl-bodge-utilities
125 (let ((commit "6304bac4abe06d53579e2c0fc4437d14ff077d9f")
126 (revision "1"))
127 (package
128 (name "sbcl-bodge-utilities")
129 (version (git-version "1.0.0" revision commit))
130 (source
131 (origin
132 (method git-fetch)
133 (uri (git-reference
134 (url "https://github.com/borodust/bodge-utilities")
135 (commit commit)))
136 (file-name (git-file-name "bodge-utilities" version))
137 (sha256
138 (base32 "1z1blj05q71vzh323qwyn9p3xs7v0mq2yhwfyzza5libp37wqm3c"))))
139 (build-system asdf-build-system/sbcl)
140 (inputs
141 `(("alexandria" ,sbcl-alexandria)
142 ("cffi" ,sbcl-cffi)
143 ("claw" ,sbcl-claw)
144 ("dissect" ,sbcl-dissect)
145 ("local-time" ,sbcl-local-time)
146 ("log4cl" ,sbcl-log4cl)
147 ("split-sequence" ,sbcl-split-sequence)
148 ("static-vectors" ,sbcl-static-vectors)
149 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
150 (home-page "https://github.com/borodust/bodge-utilities")
151 (synopsis "Common Lisp utilities library for CL-BODGE")
152 (description
153 "This Common Lisp library provides utilities for the @emph{Bodge} library
154 collection.")
155 (license license:expat))))
156
157 (define-public ecl-bodge-utilities
158 (sbcl-package->ecl-package sbcl-bodge-utilities))
159
160 (define-public cl-bodge-utilities
161 (sbcl-package->cl-source-package sbcl-bodge-utilities))
162
163 (define-public sbcl-golden-utils
164 (let ((commit "62a5cb948a011eb26e7a89f56d5839a3334b4100")
165 (revision "2"))
166 (package
167 (name "sbcl-golden-utils")
168 (version (git-version "0.0.0" revision commit))
169 (source
170 (origin
171 (method git-fetch)
172 (uri (git-reference
173 (url "https://git.mfiano.net/mfiano/golden-utils")
174 (commit commit)))
175 (file-name (git-file-name "golden-utils" version))
176 (sha256
177 (base32 "13mvxqwd1nmpq8h5hb1s60wyqdj7ji4haxrqr0sy3csyqa8aq2j8"))))
178 (build-system asdf-build-system/sbcl)
179 (inputs
180 `(("alexandria" ,sbcl-alexandria)))
181 (home-page "https://git.mfiano.net/mfiano/golden-utils")
182 (synopsis "Common Lisp utility library")
183 (description
184 "This is a Common Lisp library providing various utilities.")
185 (license license:expat))))
186
187 (define-public ecl-golden-utils
188 (sbcl-package->ecl-package sbcl-golden-utils))
189
190 (define-public cl-golden-utils
191 (sbcl-package->cl-source-package sbcl-golden-utils))
192
193 (define-public sbcl-asdf-finalizers
194 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
195 (revision "1"))
196 (package
197 (name "sbcl-asdf-finalizers")
198 (version (git-version "0.0.0" revision commit))
199 (source
200 (origin
201 (method git-fetch)
202 (uri (git-reference
203 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
204 (commit commit)))
205 (file-name (git-file-name name version))
206 (sha256
207 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
208 (build-system asdf-build-system/sbcl)
209 (native-inputs
210 `(("fare-utils" ,sbcl-fare-utils)
211 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
212 (arguments
213 `(#:asd-files '("asdf-finalizers.asd"
214 "list-of.asd"
215 "asdf-finalizers-test.asd")
216 #:asd-systems '("asdf-finalizers"
217 "list-of")))
218 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
219 (synopsis "Enforced calling of finalizers for Lisp code")
220 (description "This library allows you to implement and enforce proper
221 finalization of compile-time constructs while building Lisp source files.
222
223 It produces two systems: asdf-finalizers and list-of.")
224 (license license:expat))))
225
226 (define-public ecl-asdf-finalizers
227 (sbcl-package->ecl-package sbcl-asdf-finalizers))
228
229 (define-public cl-asdf-finalizers
230 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
231
232 (define-public sbcl-net.didierverna.asdf-flv
233 (package
234 (name "sbcl-net.didierverna.asdf-flv")
235 (version "2.1")
236 (source
237 (origin
238 (method git-fetch)
239 (uri (git-reference
240 (url "https://github.com/didierverna/asdf-flv")
241 (commit (string-append "version-" version))))
242 (file-name (git-file-name "asdf-flv" version))
243 (sha256
244 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
245 (build-system asdf-build-system/sbcl)
246 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
247 (description "ASDF-FLV provides support for file-local variables through
248 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
249 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
250 dynamic binding is created before processing the file, so that any
251 modification to the variable becomes essentially file-local.
252
253 In order to make one or several variables file-local, use the macros
254 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
255 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
256 (license (license:non-copyleft
257 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
258 "GNU All-Permissive License"))))
259
260 (define-public cl-net.didierverna.asdf-flv
261 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
262
263 (define-public ecl-net.didierverna.asdf-flv
264 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
265
266 (define-public sbcl-command-line-arguments
267 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
268 (revision "1"))
269 (package
270 (name "sbcl-command-line-arguments")
271 (version (git-version "2.0.0" revision commit))
272 (source
273 (origin
274 (method git-fetch)
275 (uri (git-reference
276 (url "https://github.com/fare/command-line-arguments")
277 (commit commit)))
278 (file-name (git-file-name name version))
279 (sha256
280 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
281 (build-system asdf-build-system/sbcl)
282 (home-page "https://github.com/fare/command-line-arguments")
283 (synopsis "Trivial command-line argument parsing library for Common Lisp")
284 (description "This is a library to abstract away the parsing of
285 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
286 or cl-launch for portable processing of command-line arguments.")
287 (license license:expat))))
288
289 (define-public ecl-command-line-arguments
290 (sbcl-package->ecl-package sbcl-command-line-arguments))
291
292 (define-public cl-command-line-arguments
293 (sbcl-package->cl-source-package sbcl-command-line-arguments))
294
295 (define-public sbcl-fiveam
296 (package
297 (name "sbcl-fiveam")
298 (version "1.4.1")
299 (source
300 (origin
301 (method git-fetch)
302 (uri (git-reference
303 (url "https://github.com/sionescu/fiveam")
304 (commit (string-append "v" version))))
305 (file-name (git-file-name "fiveam" version))
306 (sha256
307 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
308 (inputs
309 `(("alexandria" ,sbcl-alexandria)
310 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
311 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
312 (build-system asdf-build-system/sbcl)
313 (synopsis "Common Lisp testing framework")
314 (description "FiveAM is a simple (as far as writing and running tests
315 goes) regression testing framework. It has been designed with Common Lisp's
316 interactive development model in mind.")
317 (home-page "https://common-lisp.net/project/fiveam/")
318 (license license:bsd-3)))
319
320 (define-public cl-fiveam
321 (sbcl-package->cl-source-package sbcl-fiveam))
322
323 (define-public ecl-fiveam
324 (sbcl-package->ecl-package sbcl-fiveam))
325
326 (define-public sbcl-cl-irc
327 (let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
328 (revision "0"))
329 (package
330 (name "sbcl-cl-irc")
331 (version (git-version "0.9.2" revision commit))
332 (source
333 (origin
334 (method git-fetch)
335 (uri (git-reference
336 (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
337 (commit commit)))
338 (file-name (git-file-name "cl-irc" version))
339 (sha256
340 (base32 "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
341 (build-system asdf-build-system/sbcl)
342 (native-inputs
343 ;; Tests only.
344 `(("rt" ,sbcl-rt)))
345 (inputs
346 `(("cl+ssl" ,sbcl-cl+ssl)
347 ("flexi-streams" ,sbcl-flexi-streams)
348 ("split-sequence" ,sbcl-split-sequence)
349 ("usocket" ,sbcl-usocket)))
350 (arguments
351 `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
352 ;; found by guix otherwise.
353 #:asd-files '("cl-irc.asd")
354 #:test-asd-file "test/cl-irc-test.asd"))
355 (synopsis "IRC client library for Common Lisp")
356 (description "@code{cl-irc} is a Common Lisp IRC client library that
357 features (partial) DCC, CTCP and all relevant commands from the IRC
358 RFCs (RFC2810, RFC2811 and RFC2812).
359
360 Features:
361 @itemize
362 @item implements all commands in the RFCs
363 @item extra convenience commands such as op/deop, ban, ignore, etc.
364 @item partial DCC SEND/CHAT support
365 @item event driven model with hooks makes interfacing easy
366 @item the user can keep multiple connections
367 @item all CTCP commands
368 @end itemize\n")
369 (home-page "https://common-lisp.net/project/cl-irc/")
370 (license license:bsd-2))))
371
372 (define-public cl-irc
373 (sbcl-package->cl-source-package sbcl-cl-irc))
374
375 (define-public ecl-cl-irc
376 (sbcl-package->ecl-package sbcl-cl-irc))
377
378 (define-public sbcl-trivial-timeout
379 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
380 (revision "1"))
381 (package
382 (name "sbcl-trivial-timeout")
383 (version (git-version "0.1.5" revision commit))
384 (source
385 (origin
386 (method git-fetch)
387 (uri (git-reference
388 (url "https://github.com/gwkkwg/trivial-timeout/")
389 (commit commit)))
390 (file-name (git-file-name "trivial-timeout" version))
391 (sha256
392 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
393 (build-system asdf-build-system/sbcl)
394 (native-inputs
395 `(("lift" ,sbcl-lift)))
396 (arguments
397 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
398 ;; tests use some deprecated functionality and keep failing.
399 `(#:tests? #f))
400 (home-page "https://github.com/gwkkwg/trivial-timeout/")
401 (synopsis "Timeout library for Common Lisp")
402 (description
403 "This library provides an OS and implementation independent access to
404 timeouts.")
405 (license license:expat))))
406
407 (define-public ecl-trivial-timeout
408 (sbcl-package->ecl-package sbcl-trivial-timeout))
409
410 (define-public cl-trivial-timeout
411 (sbcl-package->cl-source-package sbcl-trivial-timeout))
412
413 (define-public sbcl-bordeaux-threads
414 (package
415 (name "sbcl-bordeaux-threads")
416 (version "0.8.8")
417 (source (origin
418 (method git-fetch)
419 (uri (git-reference
420 (url "https://github.com/sionescu/bordeaux-threads")
421 (commit (string-append "v" version))))
422 (sha256
423 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
424 (file-name
425 (git-file-name "bordeaux-threads" version))))
426 (inputs `(("alexandria" ,sbcl-alexandria)))
427 (native-inputs `(("fiveam" ,sbcl-fiveam)))
428 (build-system asdf-build-system/sbcl)
429 (synopsis "Portable shared-state concurrency library for Common Lisp")
430 (description "BORDEAUX-THREADS is a proposed standard for a minimal
431 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
432 support.")
433 (home-page "https://common-lisp.net/project/bordeaux-threads/")
434 (license license:x11)))
435
436 (define-public cl-bordeaux-threads
437 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
438
439 (define-public ecl-bordeaux-threads
440 (sbcl-package->ecl-package sbcl-bordeaux-threads))
441
442 (define-public sbcl-trivial-gray-streams
443 (let ((revision "1")
444 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
445 (package
446 (name "sbcl-trivial-gray-streams")
447 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
448 (source
449 (origin
450 (method git-fetch)
451 (uri
452 (git-reference
453 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
454 (commit commit)))
455 (sha256
456 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
457 (file-name
458 (string-append "trivial-gray-streams-" version "-checkout"))))
459 (build-system asdf-build-system/sbcl)
460 (synopsis "Compatibility layer for Gray streams implementations")
461 (description "Gray streams is an interface proposed for inclusion with
462 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
463 popular CL implementations implement it. This package provides an extremely
464 thin compatibility layer for gray streams.")
465 (home-page "https://www.cliki.net/trivial-gray-streams")
466 (license license:x11))))
467
468 (define-public cl-trivial-gray-streams
469 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
470
471 (define-public ecl-trivial-gray-streams
472 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
473
474 (define-public sbcl-fiasco
475 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
476 (revision "1"))
477 (package
478 (name "sbcl-fiasco")
479 (version (git-version "0.0.1" revision commit))
480 (source
481 (origin
482 (method git-fetch)
483 (uri (git-reference
484 (url "https://github.com/joaotavora/fiasco")
485 (commit commit)))
486 (file-name (git-file-name "fiasco" version))
487 (sha256
488 (base32
489 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
490 (build-system asdf-build-system/sbcl)
491 (inputs
492 `(("alexandria" ,sbcl-alexandria)
493 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
494 (synopsis "Simple and powerful test framework for Common Lisp")
495 (description "A Common Lisp test framework that treasures your failures,
496 logical continuation of Stefil. It focuses on interactive debugging.")
497 (home-page "https://github.com/joaotavora/fiasco")
498 ;; LICENCE specifies this is public-domain unless the legislation
499 ;; doesn't allow or recognize it. In that case it falls back to a
500 ;; permissive licence.
501 (license (list license:public-domain
502 (license:x11-style "file://LICENCE"))))))
503
504 (define-public cl-fiasco
505 (sbcl-package->cl-source-package sbcl-fiasco))
506
507 (define-public ecl-fiasco
508 (sbcl-package->ecl-package sbcl-fiasco))
509
510 (define-public sbcl-flexi-streams
511 (package
512 (name "sbcl-flexi-streams")
513 (version "1.0.18")
514 (source
515 (origin
516 (method git-fetch)
517 (uri (git-reference
518 (url "https://github.com/edicl/flexi-streams")
519 (commit (string-append "v" version))))
520 (file-name (git-file-name "flexi-streams" version))
521 (sha256
522 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
523 (build-system asdf-build-system/sbcl)
524 (arguments
525 `(#:phases
526 (modify-phases %standard-phases
527 (add-after 'unpack 'make-git-checkout-writable
528 (lambda _
529 (for-each make-file-writable (find-files "."))
530 #t)))))
531 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
532 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
533 (description "Flexi-streams is an implementation of \"virtual\" bivalent
534 streams that can be layered atop real binary or bivalent streams and that can
535 be used to read and write character data in various single- or multi-octet
536 encodings which can be changed on the fly. It also supplies in-memory binary
537 streams which are similar to string streams.")
538 (home-page "http://weitz.de/flexi-streams/")
539 (license license:bsd-3)))
540
541 (define-public cl-flexi-streams
542 (sbcl-package->cl-source-package sbcl-flexi-streams))
543
544 (define-public ecl-flexi-streams
545 (sbcl-package->ecl-package sbcl-flexi-streams))
546
547 (define-public sbcl-cl-abnf
548 ;; There are no releases
549 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
550 (revision "1"))
551 (package
552 (name "sbcl-cl-abnf")
553 (version (git-version "0.0.0" revision commit))
554 (source
555 (origin
556 (method git-fetch)
557 (uri (git-reference
558 (url "https://github.com/dimitri/cl-abnf")
559 (commit commit)))
560 (file-name (git-file-name "cl-abnf" version))
561 (sha256
562 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
563 (build-system asdf-build-system/sbcl)
564 (inputs
565 `(("cl-ppcre" ,sbcl-cl-ppcre)
566 ("esrap" ,sbcl-esrap)))
567 (arguments
568 `(#:asd-systems '("abnf")))
569 (home-page "https://github.com/dimitri/cl-abnf")
570 (synopsis "ABNF parser generator for Common Lisp")
571 (description "This Common Lisp library implements a parser generator for
572 the ABNF grammar format as described in RFC2234. The generated parser is a
573 regular expression scanner provided by the cl-ppcre lib, which means that we
574 can't parse recursive grammar definition. One such definition is the ABNF
575 definition as given by the RFC. Fortunately, as you have this lib, you most
576 probably don't need to generate another parser to handle that particular ABNF
577 grammar.")
578 (license license:expat))))
579
580 (define-public cl-abnf
581 (sbcl-package->cl-source-package sbcl-cl-abnf))
582
583 (define-public ecl-cl-abnf
584 (sbcl-package->ecl-package sbcl-cl-abnf))
585
586 (define-public sbcl-cl-ppcre
587 (package
588 (name "sbcl-cl-ppcre")
589 (version "2.1.1")
590 (source
591 (origin
592 (method git-fetch)
593 (uri (git-reference
594 (url "https://github.com/edicl/cl-ppcre")
595 (commit (string-append "v" version))))
596 (file-name (git-file-name "cl-ppcre" version))
597 (sha256
598 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
599 (build-system asdf-build-system/sbcl)
600 (native-inputs
601 `(("flexi-streams" ,sbcl-flexi-streams)))
602 (arguments
603 `(#:phases
604 (modify-phases %standard-phases
605 (add-after 'unpack 'disable-ppcre-unicode
606 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
607 ;; to work around the circular dependency between edicl/cl-ppcre
608 ;; and edicl/cl-unicode.
609 (lambda _
610 (delete-file "cl-ppcre-unicode.asd")
611 #t)))))
612 (synopsis "Portable regular expression library for Common Lisp")
613 (description "CL-PPCRE is a portable regular expression library for Common
614 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
615 compatible with ANSI-compliant Common Lisp implementations.")
616 (home-page "http://weitz.de/cl-ppcre/")
617 (license license:bsd-2)))
618
619 (define-public cl-ppcre
620 (sbcl-package->cl-source-package sbcl-cl-ppcre))
621
622 (define-public ecl-cl-ppcre
623 (sbcl-package->ecl-package sbcl-cl-ppcre))
624
625 (define-public sbcl-parse
626 (let ((commit "2351ee78acac065fcf10b8713d3f404e2e910786")
627 (revision "1"))
628 (package
629 (name "sbcl-parse")
630 (version (git-version "1.0" revision commit))
631 (source
632 (origin
633 (method git-fetch)
634 (uri (git-reference
635 (url "https://github.com/massung/parse")
636 (commit commit)))
637 (file-name (git-file-name "parse" version))
638 (sha256
639 (base32 "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy"))))
640 (build-system asdf-build-system/sbcl)
641 (home-page "https://github.com/massung/parse")
642 (synopsis "Monadic parsing for Common Lisp")
643 (description
644 "PARSE is a simple token parsing library for Common Lisp.")
645 (license license:asl2.0))))
646
647 (define-public ecl-parse
648 (sbcl-package->ecl-package sbcl-parse))
649
650 (define-public cl-parse
651 (sbcl-package->cl-source-package sbcl-parse))
652
653 (define-public sbcl-re
654 (let ((commit "cfbc1f482970221e80d445080a188fd5c755cd2c")
655 (revision "1"))
656 (package
657 (name "sbcl-re")
658 (version (git-version "1.0" revision commit))
659 (source
660 (origin
661 (method git-fetch)
662 (uri (git-reference
663 (url "https://github.com/massung/re")
664 (commit commit)))
665 (file-name (git-file-name "re" version))
666 (sha256
667 (base32 "1y2gq2sckspnq8118bix55p2j43dk9qn3p8a2rplp1ip2qxqbb1i"))))
668 (build-system asdf-build-system/sbcl)
669 (inputs
670 `(("parse" ,sbcl-parse)))
671 (home-page "https://github.com/massung/re")
672 (synopsis "Lua-style Pattern Matching for Common Lisp")
673 (description
674 "RE is a small, portable, lightweight, and quick, regular
675 expression library for Common Lisp. It is a non-recursive, backtracing VM.")
676 (license license:asl2.0))))
677
678 (define-public ecl-re
679 (sbcl-package->ecl-package sbcl-re))
680
681 (define-public cl-re
682 (sbcl-package->cl-source-package sbcl-re))
683
684 (define-public sbcl-ubiquitous
685 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
686 (revision "1"))
687 (package
688 (name "sbcl-ubiquitous")
689 (version (git-version "2.0.0" revision commit))
690 (source
691 (origin
692 (method git-fetch)
693 (uri (git-reference
694 (url "https://github.com/Shinmera/ubiquitous")
695 (commit commit)))
696 (file-name (git-file-name "ubiquitous" version))
697 (sha256
698 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
699 (build-system asdf-build-system/sbcl)
700 (inputs
701 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
702 (arguments
703 '(#:asd-systems '("ubiquitous"
704 "ubiquitous-concurrent")))
705 (home-page "https://shinmera.github.io/ubiquitous/")
706 (synopsis "Application configuration mechanism for Common Lisp")
707 (description
708 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
709 configuration storage. It automatically takes care of finding a suitable place
710 to save your data, and provides simple functions to access and modify the data
711 within.")
712 (license license:zlib))))
713
714 (define-public ecl-ubiquitous
715 (sbcl-package->ecl-package sbcl-ubiquitous))
716
717 (define-public cl-ubiquitous
718 (sbcl-package->cl-source-package sbcl-ubiquitous))
719
720 (define-public sbcl-uax-15
721 (package
722 (name "sbcl-uax-15")
723 (version "0.1.1")
724 (source
725 (origin
726 (method git-fetch)
727 (uri (git-reference
728 (url "https://github.com/sabracrolleton/uax-15")
729 (commit (string-append "v" version))))
730 (file-name (git-file-name "uax-15" version))
731 (sha256
732 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
733 (build-system asdf-build-system/sbcl)
734 (arguments
735 `(#:asd-systems
736 '("uax-15")))
737 (native-inputs
738 `(("fiveam" ,sbcl-fiveam)))
739 (inputs
740 `(("cl-ppcre" ,sbcl-cl-ppcre)
741 ("split-sequence" ,sbcl-split-sequence)))
742 (home-page "https://github.com/sabracrolleton/uax-15")
743 (synopsis "Common Lisp implementation of unicode normalization functions")
744 (description
745 "This package provides supports for unicode normalization, RFC8264 and
746 RFC7564.")
747 (license license:expat)))
748
749 (define-public cl-uax-15
750 (sbcl-package->cl-source-package sbcl-uax-15))
751
752 (define-public ecl-uax-15
753 (sbcl-package->ecl-package sbcl-uax-15))
754
755 (define-public sbcl-cl-unicode
756 (package
757 (name "sbcl-cl-unicode")
758 (version "0.1.6")
759 (source (origin
760 (method git-fetch)
761 (uri (git-reference
762 (url "https://github.com/edicl/cl-unicode")
763 (commit (string-append "v" version))))
764 (file-name (git-file-name name version))
765 (sha256
766 (base32
767 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
768 (build-system asdf-build-system/sbcl)
769 (native-inputs
770 `(("flexi-streams" ,sbcl-flexi-streams)))
771 (inputs
772 `(("cl-ppcre" ,sbcl-cl-ppcre)))
773 (home-page "http://weitz.de/cl-unicode/")
774 (synopsis "Portable Unicode library for Common Lisp")
775 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
776 is compatible with perl. It is pretty fast, thread-safe, and compatible with
777 ANSI-compliant Common Lisp implementations.")
778 (license license:bsd-2)))
779
780 (define-public ecl-cl-unicode
781 (sbcl-package->ecl-package sbcl-cl-unicode))
782
783 (define-public cl-unicode
784 (sbcl-package->cl-source-package sbcl-cl-unicode))
785
786 (define-public sbcl-cl-ppcre-unicode
787 (package (inherit sbcl-cl-ppcre)
788 (name "sbcl-cl-ppcre-unicode")
789 (inputs
790 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
791 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
792 (arguments
793 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
794 #:phases
795 (modify-phases %standard-phases
796 (add-after 'unpack 'disable-ppcre
797 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
798 ;; to work around the circular dependency between edicl/cl-ppcre
799 ;; and edicl/cl-unicode.
800 (lambda _
801 (delete-file "cl-ppcre.asd")
802 #t)))))))
803
804 (define-public cl-ppcre-unicode
805 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
806
807 (define-public ecl-cl-ppcre-unicode
808 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
809
810 (define-public sbcl-zpb-ttf
811 (package
812 (name "sbcl-zpb-ttf")
813 (version "1.0.3")
814 (source
815 (origin
816 (method git-fetch)
817 (uri (git-reference
818 (url "https://github.com/xach/zpb-ttf")
819 (commit (string-append "release-" version))))
820 (file-name (git-file-name name version))
821 (sha256
822 (base32
823 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
824 (build-system asdf-build-system/sbcl)
825 (home-page "https://github.com/xach/zpb-ttf")
826 (synopsis "TrueType font file access for Common Lisp")
827 (description
828 "ZPB-TTF is a TrueType font file parser that provides an interface for
829 reading typographic metrics, glyph outlines, and other information from the
830 file.")
831 (license license:bsd-2)))
832
833 (define-public ecl-zpb-ttf
834 (sbcl-package->ecl-package sbcl-zpb-ttf))
835
836 (define-public cl-zpb-ttf
837 (sbcl-package->cl-source-package sbcl-zpb-ttf))
838
839 (define-public sbcl-cl-vectors
840 (package
841 (name "sbcl-cl-vectors")
842 (version "0.1.5")
843 (source
844 (origin
845 (method url-fetch)
846 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
847 "files/cl-vectors-" version ".tar.gz"))
848 (sha256
849 (base32
850 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
851 (build-system asdf-build-system/sbcl)
852 (inputs
853 `(("zpb-ttf" ,sbcl-zpb-ttf)))
854 (arguments
855 '(#:asd-systems '("cl-vectors"
856 "cl-paths-ttf")))
857 (home-page "http://projects.tuxee.net/cl-vectors/")
858 (synopsis "Create, transform and render anti-aliased vectorial paths")
859 (description
860 "This is a pure Common Lisp library to create, transform and render
861 anti-aliased vectorial paths.")
862 (license license:expat)))
863
864 (define-public ecl-cl-vectors
865 (sbcl-package->ecl-package sbcl-cl-vectors))
866
867 (define-public cl-vectors
868 (sbcl-package->cl-source-package sbcl-cl-vectors))
869
870 (define-public sbcl-spatial-trees
871 ;; There have been no releases.
872 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
873 (revision "1"))
874 (package
875 (name "sbcl-spatial-trees")
876 (version (git-version "0" revision commit))
877 (source
878 (origin
879 (method git-fetch)
880 (uri (git-reference
881 (url "https://github.com/rpav/spatial-trees")
882 (commit commit)))
883 (file-name (git-file-name name version))
884 (sha256
885 (base32
886 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
887 (build-system asdf-build-system/sbcl)
888 (arguments
889 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
890 #:test-asd-file "spatial-trees.test.asd"))
891 (native-inputs
892 `(("fiveam" ,sbcl-fiveam)))
893 (home-page "https://github.com/rpav/spatial-trees")
894 (synopsis "Dynamic index data structures for spatially-extended data")
895 (description
896 "Spatial-trees is a set of dynamic index data structures for
897 spatially-extended data.")
898 (license license:bsd-3))))
899
900 (define-public ecl-spatial-trees
901 (sbcl-package->ecl-package sbcl-spatial-trees))
902
903 (define-public cl-spatial-trees
904 (sbcl-package->cl-source-package sbcl-spatial-trees))
905
906 (define-public sbcl-flexichain
907 ;; There are no releases.
908 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
909 (revision "1"))
910 (package
911 (name "sbcl-flexichain")
912 (version "1.5.1")
913 (source
914 (origin
915 (method git-fetch)
916 (uri (git-reference
917 (url "https://github.com/robert-strandh/Flexichain")
918 (commit commit)))
919 (file-name (git-file-name name version))
920 (sha256
921 (base32
922 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
923 (build-system asdf-build-system/sbcl)
924 (home-page "https://github.com/robert-strandh/Flexichain.git")
925 (synopsis "Dynamically add elements to or remove them from sequences")
926 (description
927 "This package provides an implementation of the flexichain protocol,
928 allowing client code to dynamically add elements to, and delete elements from
929 a sequence (or chain) of such elements.")
930 (license license:lgpl2.1+))))
931
932 (define-public ecl-flexichain
933 (sbcl-package->ecl-package sbcl-flexichain))
934
935 (define-public cl-flexichain
936 (sbcl-package->cl-source-package sbcl-flexichain))
937
938 (define-public sbcl-cl-pdf
939 ;; There are no releases
940 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
941 (revision "1"))
942 (package
943 (name "sbcl-cl-pdf")
944 (version (git-version "0" revision commit))
945 (source
946 (origin
947 (method git-fetch)
948 (uri (git-reference
949 (url "https://github.com/mbattyani/cl-pdf")
950 (commit commit)))
951 (file-name (git-file-name name version))
952 (sha256
953 (base32
954 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
955 (build-system asdf-build-system/sbcl)
956 (inputs
957 `(("iterate" ,sbcl-iterate)
958 ("zpb-ttf" ,sbcl-zpb-ttf)))
959 (home-page "https://github.com/mbattyani/cl-pdf")
960 (synopsis "Common Lisp library for generating PDF files")
961 (description
962 "CL-PDF is a cross-platform Common Lisp library for generating PDF
963 files.")
964 (license license:bsd-2))))
965
966 (define-public ecl-cl-pdf
967 (sbcl-package->ecl-package sbcl-cl-pdf))
968
969 (define-public cl-pdf
970 (sbcl-package->cl-source-package sbcl-cl-pdf))
971
972 (define-public sbcl-clx
973 (package
974 (name "sbcl-clx")
975 (version "0.7.5")
976 (source
977 (origin
978 (method git-fetch)
979 (uri
980 (git-reference
981 (url "https://github.com/sharplispers/clx")
982 (commit version)))
983 (sha256
984 (base32
985 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
986 (file-name (string-append "clx-" version))))
987 (build-system asdf-build-system/sbcl)
988 (native-inputs
989 `(("fiasco" ,sbcl-fiasco)))
990 (home-page "https://www.cliki.net/portable-clx")
991 (synopsis "X11 client library for Common Lisp")
992 (description "CLX is an X11 client library for Common Lisp. The code was
993 originally taken from a CMUCL distribution, was modified somewhat in order to
994 make it compile and run under SBCL, then a selection of patches were added
995 from other CLXes around the net.")
996 (license license:x11)))
997
998 (define-public cl-clx
999 (sbcl-package->cl-source-package sbcl-clx))
1000
1001 (define-public ecl-clx
1002 (sbcl-package->ecl-package sbcl-clx))
1003
1004 (define-public sbcl-clx-truetype
1005 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
1006 (revision "1"))
1007 (package
1008 (name "sbcl-clx-truetype")
1009 (version (git-version "0.0.1" revision commit))
1010 (source
1011 (origin
1012 (method git-fetch)
1013 (uri (git-reference
1014 (url "https://github.com/l04m33/clx-truetype")
1015 (commit commit)))
1016 (file-name (git-file-name name version))
1017 (sha256
1018 (base32
1019 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
1020 (modules '((guix build utils)))
1021 (snippet
1022 '(begin
1023 (substitute* "package.lisp"
1024 ((":export") ":export\n :+font-cache-filename+"))
1025 #t))))
1026 (build-system asdf-build-system/sbcl)
1027 (inputs
1028 `(("clx" ,sbcl-clx)
1029 ("zpb-ttf" ,sbcl-zpb-ttf)
1030 ("cl-vectors" ,sbcl-cl-vectors)
1031 ("cl-fad" ,sbcl-cl-fad)
1032 ("cl-store" ,sbcl-cl-store)
1033 ("trivial-features" ,sbcl-trivial-features)))
1034 (home-page "https://github.com/l04m33/clx-truetype")
1035 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
1036 (description "CLX-TrueType is pure common lisp solution for
1037 antialiased TrueType font rendering using CLX and XRender extension.")
1038 (license license:expat))))
1039
1040 (define-public cl-clx-truetype
1041 (sbcl-package->cl-source-package sbcl-clx-truetype))
1042
1043 (define-public ecl-clx-truetype
1044 (sbcl-package->ecl-package sbcl-clx-truetype))
1045
1046 (define-public sbcl-slynk
1047 (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309"))
1048 (package
1049 (name "sbcl-slynk")
1050 (version (git-version "1.0.43" "4" commit))
1051 (source
1052 (origin
1053 (method git-fetch)
1054 (uri
1055 (git-reference
1056 (url "https://github.com/joaotavora/sly")
1057 (commit commit)))
1058 (sha256
1059 (base32 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"))
1060 (file-name (git-file-name "slynk" version))))
1061 (build-system asdf-build-system/sbcl)
1062 (outputs '("out" "image"))
1063 (arguments
1064 `(#:phases
1065 (modify-phases %standard-phases
1066 (add-after 'create-asdf-configuration 'build-image
1067 (lambda* (#:key outputs #:allow-other-keys)
1068 (build-image (string-append
1069 (assoc-ref %outputs "image")
1070 "/bin/slynk")
1071 %outputs
1072 #:dependencies '("slynk"
1073 "slynk/arglists"
1074 "slynk/fancy-inspector"
1075 "slynk/package-fu"
1076 "slynk/mrepl"
1077 "slynk/trace-dialog"
1078 "slynk/profiler"
1079 "slynk/stickers"
1080 "slynk/indentation"
1081 "slynk/retro"))
1082 #t)))))
1083 (synopsis "Common Lisp IDE for Emacs")
1084 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
1085 It also features a completely redesigned REPL based on Emacs's own
1086 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
1087 button interface. Everything can be copied to the REPL. One can create
1088 multiple inspectors with independent history.")
1089 (home-page "https://github.com/joaotavora/sly")
1090 (license license:public-domain)
1091 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
1092
1093 (define-public cl-slynk
1094 (sbcl-package->cl-source-package sbcl-slynk))
1095
1096 (define-public ecl-slynk
1097 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
1098 (package
1099 (inherit pkg)
1100 (outputs '("out"))
1101 (arguments
1102 (substitute-keyword-arguments (package-arguments pkg)
1103 ((#:phases phases)
1104 `(modify-phases ,phases
1105 (delete 'build-image))))))))
1106
1107 (define-public sbcl-parse-js
1108 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
1109 (revision "1"))
1110 (package
1111 (name "sbcl-parse-js")
1112 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
1113 (source
1114 (origin
1115 (method git-fetch)
1116 (uri (git-reference
1117 (url "http://marijn.haverbeke.nl/git/parse-js")
1118 (commit commit)))
1119 (file-name (string-append name "-" commit "-checkout"))
1120 (sha256
1121 (base32
1122 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
1123 (build-system asdf-build-system/sbcl)
1124 (home-page "https://marijnhaverbeke.nl/parse-js/")
1125 (synopsis "Parse JavaScript")
1126 (description "Parse-js is a Common Lisp package for parsing
1127 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
1128 (license license:zlib))))
1129
1130 (define-public cl-parse-js
1131 (sbcl-package->cl-source-package sbcl-parse-js))
1132
1133 (define-public ecl-parse-js
1134 (sbcl-package->ecl-package sbcl-parse-js))
1135
1136 (define-public sbcl-parse-number
1137 (package
1138 (name "sbcl-parse-number")
1139 (version "1.7")
1140 (source
1141 (origin
1142 (method git-fetch)
1143 (uri (git-reference
1144 (url "https://github.com/sharplispers/parse-number/")
1145 (commit (string-append "v" version))))
1146 (file-name (git-file-name name version))
1147 (sha256
1148 (base32
1149 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
1150 (build-system asdf-build-system/sbcl)
1151 (home-page "https://www.cliki.net/PARSE-NUMBER")
1152 (synopsis "Parse numbers")
1153 (description "@code{parse-number} is a library of functions for parsing
1154 strings into one of the standard Common Lisp number types without using the
1155 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1156 the string into one of the standard Common Lisp number types, if possible, or
1157 else @code{parse-number} signals an error of type @code{invalid-number}.")
1158 (license license:bsd-3)))
1159
1160 (define-public cl-parse-number
1161 (sbcl-package->cl-source-package sbcl-parse-number))
1162
1163 (define-public ecl-parse-number
1164 (sbcl-package->ecl-package sbcl-parse-number))
1165
1166 (define-public sbcl-iterate
1167 (package
1168 (name "sbcl-iterate")
1169 (version "1.5")
1170 (source
1171 (origin
1172 (method url-fetch)
1173 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1174 "iterate-" version ".tar.gz"))
1175 (sha256
1176 (base32
1177 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1178 (build-system asdf-build-system/sbcl)
1179 (native-inputs
1180 `(("rt" ,sbcl-rt)))
1181 (home-page "https://common-lisp.net/project/iterate/")
1182 (synopsis "Iteration construct for Common Lisp")
1183 (description "@code{iterate} is an iteration construct for Common Lisp.
1184 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1185
1186 @itemize
1187 @item it is extensible,
1188 @item it helps editors like Emacs indent iterate forms by having a more
1189 lisp-like syntax, and
1190 @item it isn't part of the ANSI standard for Common Lisp.
1191 @end itemize\n")
1192 (license license:expat)))
1193
1194 (define-public cl-iterate
1195 (sbcl-package->cl-source-package sbcl-iterate))
1196
1197 (define-public ecl-iterate
1198 (sbcl-package->ecl-package sbcl-iterate))
1199
1200 (define-public sbcl-cl-uglify-js
1201 ;; There have been many bug fixes since the 2010 release.
1202 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1203 (revision "1"))
1204 (package
1205 (name "sbcl-cl-uglify-js")
1206 (version (string-append "0.1-" revision "." (string-take commit 9)))
1207 (source
1208 (origin
1209 (method git-fetch)
1210 (uri (git-reference
1211 (url "https://github.com/mishoo/cl-uglify-js")
1212 (commit commit)))
1213 (file-name (git-file-name name version))
1214 (sha256
1215 (base32
1216 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1217 (build-system asdf-build-system/sbcl)
1218 (inputs
1219 `(("sbcl-parse-js" ,sbcl-parse-js)
1220 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1221 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1222 ("sbcl-parse-number" ,sbcl-parse-number)
1223 ("sbcl-iterate" ,sbcl-iterate)))
1224 (home-page "https://github.com/mishoo/cl-uglify-js")
1225 (synopsis "JavaScript compressor library for Common Lisp")
1226 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1227 compressor. It works on data produced by @code{parse-js} to generate a
1228 @dfn{minified} version of the code. Currently it can:
1229
1230 @itemize
1231 @item reduce variable names (usually to single letters)
1232 @item join consecutive @code{var} statements
1233 @item resolve simple binary expressions
1234 @item group most consecutive statements using the @code{sequence} operator (comma)
1235 @item remove unnecessary blocks
1236 @item convert @code{IF} expressions in various ways that result in smaller code
1237 @item remove some unreachable code
1238 @end itemize\n")
1239 (license license:zlib))))
1240
1241 (define-public cl-uglify-js
1242 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1243
1244 (define-public ecl-cl-uglify-js
1245 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1246
1247 (define-public uglify-js
1248 (package
1249 (inherit sbcl-cl-uglify-js)
1250 (name "uglify-js")
1251 (build-system trivial-build-system)
1252 (arguments
1253 `(#:modules ((guix build utils))
1254 #:builder
1255 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1256 (script (string-append bin "uglify-js")))
1257 (use-modules (guix build utils))
1258 (mkdir-p bin)
1259 (with-output-to-file script
1260 (lambda _
1261 (format #t "#!~a/bin/sbcl --script
1262
1263 (require :asdf)
1264 (asdf:initialize-source-registry
1265 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1266 (asdf:initialize-output-translations
1267 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1268 (assoc-ref %build-inputs "sbcl")
1269 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1270 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1271 ;; FIXME: cannot use progn here because otherwise it fails to
1272 ;; find cl-uglify-js.
1273 (for-each
1274 write
1275 '(;; Quiet, please!
1276 (let ((*standard-output* (make-broadcast-stream))
1277 (*error-output* (make-broadcast-stream)))
1278 (asdf:load-system :cl-uglify-js))
1279 (let ((file (cadr *posix-argv*)))
1280 (if file
1281 (format t "~a"
1282 (cl-uglify-js:ast-gen-code
1283 (cl-uglify-js:ast-mangle
1284 (cl-uglify-js:ast-squeeze
1285 (with-open-file (in file)
1286 (parse-js:parse-js in))))
1287 :beautify nil))
1288 (progn
1289 (format *error-output*
1290 "Please provide a JavaScript file.~%")
1291 (sb-ext:exit :code 1))))))))
1292 (chmod script #o755)
1293 #t)))
1294 (inputs
1295 `(("sbcl" ,sbcl)
1296 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1297 (synopsis "JavaScript compressor")))
1298
1299 (define-public sbcl-cl-strings
1300 (let ((revision "1")
1301 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1302 (package
1303 (name "sbcl-cl-strings")
1304 (version (git-version "0.0.0" revision commit))
1305 (source
1306 (origin
1307 (method git-fetch)
1308 (uri (git-reference
1309 (url "https://github.com/diogoalexandrefranco/cl-strings")
1310 (commit commit)))
1311 (sha256
1312 (base32
1313 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1314 (file-name (string-append "cl-strings-" version "-checkout"))))
1315 (build-system asdf-build-system/sbcl)
1316 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1317 (description
1318 "@command{cl-strings} is a small, portable, dependency-free set of
1319 utilities that make it even easier to manipulate text in Common Lisp. It has
1320 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1321 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1322 (license license:expat))))
1323
1324 (define-public cl-strings
1325 (sbcl-package->cl-source-package sbcl-cl-strings))
1326
1327 (define-public ecl-cl-strings
1328 (sbcl-package->ecl-package sbcl-cl-strings))
1329
1330 (define-public sbcl-trivial-features
1331 ;; No release since 2014.
1332 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1333 (package
1334 (name "sbcl-trivial-features")
1335 (version (git-version "0.8" "1" commit))
1336 (source
1337 (origin
1338 (method git-fetch)
1339 (uri (git-reference
1340 (url "https://github.com/trivial-features/trivial-features")
1341 (commit commit)))
1342 (file-name (git-file-name "trivial-features" version))
1343 (sha256
1344 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1345 (build-system asdf-build-system/sbcl)
1346 (arguments
1347 '(#:asd-files '("trivial-features.asd")
1348 #:tests? #f))
1349 (home-page "https://cliki.net/trivial-features")
1350 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1351 (description "Trivial-features ensures that @code{*FEATURES*} is
1352 consistent across multiple Common Lisp implementations.")
1353 (license license:expat))))
1354
1355 (define-public cl-trivial-features
1356 (sbcl-package->cl-source-package sbcl-trivial-features))
1357
1358 (define-public ecl-trivial-features
1359 (sbcl-package->ecl-package sbcl-trivial-features))
1360
1361 (define-public sbcl-hu.dwim.asdf
1362 (let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59"))
1363 (package
1364 (name "sbcl-hu.dwim.asdf")
1365 (version "20200724")
1366 (source
1367 (origin
1368 (method git-fetch)
1369 (uri (git-reference
1370 (url "https://github.com/hu-dwim/hu.dwim.asdf")
1371 (commit commit)))
1372 (file-name (git-file-name name version))
1373 (sha256
1374 (base32
1375 "0p81jalilkaqw832a12s35q0z6rrarxjasm1jy6h4fvyj9pf0zkx"))))
1376 (build-system asdf-build-system/sbcl)
1377 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1378 (synopsis "Extensions to ASDF")
1379 (description "Various ASDF extensions such as attached test and
1380 documentation system, explicit development support, etc.")
1381 (license license:public-domain))))
1382
1383 (define-public cl-hu.dwim.asdf
1384 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1385
1386 (define-public ecl-hu.dwim.asdf
1387 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1388
1389 (define-public sbcl-hu.dwim.stefil
1390 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
1391 (package
1392 (name "sbcl-hu.dwim.stefil")
1393 (version (git-version "0.0.0" "2" commit))
1394 (source
1395 (origin
1396 (method git-fetch)
1397 (uri
1398 (git-reference
1399 (url "https://github.com/hu-dwim/hu.dwim.stefil")
1400 (commit commit)))
1401 (sha256
1402 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
1403 (file-name (git-file-name "hu.dwim.stefil" version))))
1404 (build-system asdf-build-system/sbcl)
1405 (native-inputs
1406 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1407 (inputs
1408 `(("sbcl-alexandria" ,sbcl-alexandria)))
1409 (home-page "http://dwim.hu/project/hu.dwim.stefil")
1410 (synopsis "Simple test framework")
1411 (description "Stefil is a simple test framework for Common Lisp,
1412 with a focus on interactive development.")
1413 (license license:public-domain))))
1414
1415 (define-public cl-hu.dwim.stefil
1416 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1417
1418 (define-public ecl-hu.dwim.stefil
1419 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1420
1421 (define-public sbcl-babel
1422 ;; No release since 2014.
1423 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1424 (package
1425 (name "sbcl-babel")
1426 (version (git-version "0.5.0" "1" commit))
1427 (source
1428 (origin
1429 (method git-fetch)
1430 (uri (git-reference
1431 (url "https://github.com/cl-babel/babel")
1432 (commit commit)))
1433 (file-name (git-file-name "babel" version))
1434 (sha256
1435 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1436 (build-system asdf-build-system/sbcl)
1437 (native-inputs
1438 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1439 (inputs
1440 `(("sbcl-alexandria" ,sbcl-alexandria)
1441 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1442 (home-page "https://common-lisp.net/project/babel/")
1443 (synopsis "Charset encoding and decoding library")
1444 (description "Babel is a charset encoding and decoding library, not unlike
1445 GNU libiconv, but completely written in Common Lisp.")
1446 (license license:expat))))
1447
1448 (define-public cl-babel
1449 (sbcl-package->cl-source-package sbcl-babel))
1450
1451 (define-public ecl-babel
1452 (sbcl-package->ecl-package sbcl-babel))
1453
1454 (define-public sbcl-cl-yacc
1455 (package
1456 (name "sbcl-cl-yacc")
1457 (version "0.3")
1458 (source
1459 (origin
1460 (method git-fetch)
1461 (uri (git-reference
1462 (url "https://github.com/jech/cl-yacc")
1463 (commit (string-append "cl-yacc-" version))))
1464 (sha256
1465 (base32
1466 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1467 (file-name (string-append "cl-yacc-" version "-checkout"))))
1468 (build-system asdf-build-system/sbcl)
1469 (arguments
1470 `(#:asd-systems '("yacc")))
1471 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1472 (description
1473 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1474 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1475
1476 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1477 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1478 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1479 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1480 (license license:expat)))
1481
1482 (define-public cl-yacc
1483 (sbcl-package->cl-source-package sbcl-cl-yacc))
1484
1485 (define-public ecl-cl-yacc
1486 (sbcl-package->ecl-package sbcl-cl-yacc))
1487
1488 (define-public sbcl-eager-future2
1489 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1490 (package
1491 (name "sbcl-eager-future2")
1492 (version (git-version "0.0.0" "1" commit))
1493 (source
1494 (origin
1495 (method git-fetch)
1496 (uri (git-reference
1497 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1498 (commit commit)))
1499 (file-name (git-file-name name version))
1500 (sha256
1501 (base32
1502 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1503 (build-system asdf-build-system/sbcl)
1504 (inputs
1505 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1506 ("trivial-garbage" ,sbcl-trivial-garbage)))
1507 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1508 (description
1509 "Eager Future2 is a Common Lisp library that provides composable
1510 concurrency primitives that unify parallel and lazy evaluation, are integrated
1511 with the Common Lisp condition system, and have automatic resource
1512 management.")
1513 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1514 (license license:lgpl3+))))
1515
1516 (define-public cl-eager-future2
1517 (sbcl-package->cl-source-package sbcl-eager-future2))
1518
1519 (define-public ecl-eager-future2
1520 (sbcl-package->ecl-package sbcl-eager-future2))
1521
1522 (define-public sbcl-jpl-util
1523 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1524 (package
1525 (name "sbcl-jpl-util")
1526 (version "20151005")
1527 (source
1528 (origin
1529 (method git-fetch)
1530 (uri (git-reference
1531 ;; Quicklisp uses this fork.
1532 (url "https://github.com/hawkir/cl-jpl-util")
1533 (commit commit)))
1534 (file-name
1535 (git-file-name "jpl-util" version))
1536 (sha256
1537 (base32
1538 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1539 (build-system asdf-build-system/sbcl)
1540 (synopsis "Collection of Common Lisp utility functions and macros")
1541 (description
1542 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1543 and macros, primarily for software projects written in CL by the author.")
1544 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1545 (license license:isc))))
1546
1547 (define-public cl-jpl-util
1548 (sbcl-package->cl-source-package sbcl-jpl-util))
1549
1550 (define-public ecl-jpl-util
1551 (sbcl-package->ecl-package sbcl-jpl-util))
1552
1553 (define-public sbcl-piping
1554 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1555 (revision "1"))
1556 (package
1557 (name "sbcl-piping")
1558 (version (git-version "2.0.0" revision commit))
1559 (source
1560 (origin
1561 (method git-fetch)
1562 (uri (git-reference
1563 (url "https://github.com/Shinmera/piping/")
1564 (commit commit)))
1565 (file-name (git-file-name "piping" version))
1566 (sha256
1567 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1568 (build-system asdf-build-system/sbcl)
1569 (home-page "https://shinmera.github.io/piping/")
1570 (synopsis "Library to enable simple message pipelines")
1571 (description
1572 "This is a Common Lisp library to enable simple message pipelines.")
1573 (license license:zlib))))
1574
1575 (define-public ecl-piping
1576 (sbcl-package->ecl-package sbcl-piping))
1577
1578 (define-public cl-piping
1579 (sbcl-package->cl-source-package sbcl-piping))
1580
1581 (define-public sbcl-cl-pcg
1582 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1583 (revision "1"))
1584 (package
1585 (name "sbcl-cl-pcg")
1586 (version (git-version "1.0.0" revision commit))
1587 (source
1588 (origin
1589 (method git-fetch)
1590 (uri (git-reference
1591 (url "https://github.com/sjl/cl-pcg")
1592 (commit commit)))
1593 (file-name (git-file-name "cl-pcg" version))
1594 (sha256
1595 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1596 (build-system asdf-build-system/sbcl)
1597 (native-inputs
1598 `(("1am" ,sbcl-1am)))
1599 (home-page "https://github.com/sjl/cl-pcg")
1600 (synopsis "Permuted congruential generators in Common Lisp")
1601 (description
1602 "This is a bare-bones Permuted Congruential Generator implementation in
1603 pure Common Lisp.")
1604 (license license:expat))))
1605
1606 (define-public ecl-cl-pcg
1607 (sbcl-package->ecl-package sbcl-cl-pcg))
1608
1609 (define-public cl-pcg
1610 (sbcl-package->cl-source-package sbcl-cl-pcg))
1611
1612 (define-public sbcl-seedable-rng
1613 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1614 (revision "1"))
1615 (package
1616 (name "sbcl-seedable-rng")
1617 (version (git-version "0.0.0" revision commit))
1618 (source
1619 (origin
1620 (method git-fetch)
1621 (uri (git-reference
1622 (url "https://git.mfiano.net/mfiano/seedable-rng")
1623 (commit commit)))
1624 (file-name (git-file-name "seedable-rng" version))
1625 (sha256
1626 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1627 (build-system asdf-build-system/sbcl)
1628 (inputs
1629 `(("cl-pcg" ,sbcl-cl-pcg)
1630 ("golden-utils" ,sbcl-golden-utils)
1631 ("ironclad" ,sbcl-ironclad)))
1632 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1633 (synopsis "Common Lisp random number generator")
1634 (description
1635 "SEEDABLE-RNG provides a convenient means of generating random numbers
1636 that are seedable with deterministic results across hardware and Common Lisp
1637 implementations.")
1638 (license license:expat))))
1639
1640 (define-public ecl-seedable-rng
1641 (sbcl-package->ecl-package sbcl-seedable-rng))
1642
1643 (define-public cl-seedable-rng
1644 (sbcl-package->cl-source-package sbcl-seedable-rng))
1645
1646 (define-public sbcl-jpl-queues
1647 (package
1648 (name "sbcl-jpl-queues")
1649 (version "0.1")
1650 (source
1651 (origin
1652 (method url-fetch)
1653 (uri (string-append
1654 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1655 version
1656 ".tar.gz"))
1657 (sha256
1658 (base32
1659 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1660 (build-system asdf-build-system/sbcl)
1661 (inputs
1662 `(("jpl-util" ,sbcl-jpl-util)
1663 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1664 (arguments
1665 ;; Tests seem to be broken.
1666 `(#:tests? #f))
1667 (synopsis "Common Lisp library implementing a few different kinds of queues")
1668 (description
1669 "A Common Lisp library implementing a few different kinds of queues:
1670
1671 @itemize
1672 @item Bounded and unbounded FIFO queues.
1673 @item Lossy bounded FIFO queues that drop elements when full.
1674 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1675 @end itemize
1676
1677 Additionally, a synchronization wrapper is provided to make any queue
1678 conforming to the @command{jpl-queues} API thread-safe for lightweight
1679 multithreading applications. (See Calispel for a more sophisticated CL
1680 multithreaded message-passing library with timeouts and alternation among
1681 several blockable channels.)")
1682 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1683 (license license:isc)))
1684
1685 (define-public cl-jpl-queues
1686 (sbcl-package->cl-source-package sbcl-jpl-queues))
1687
1688 (define-public ecl-jpl-queues
1689 (sbcl-package->ecl-package sbcl-jpl-queues))
1690
1691 (define-public sbcl-calispel
1692 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1693 (package
1694 (name "sbcl-calispel")
1695 (version (git-version "0.1" "1" commit))
1696 (source
1697 (origin
1698 (method git-fetch)
1699 (uri (git-reference
1700 ;; This fork replaces the dependency on the obsolete
1701 ;; eager-future with eager-future2.
1702 (url "https://github.com/hawkir/calispel")
1703 (commit commit)))
1704 (file-name (git-file-name name version))
1705 (sha256
1706 (base32
1707 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1708 (build-system asdf-build-system/sbcl)
1709 (inputs
1710 `(("jpl-queues" ,sbcl-jpl-queues)
1711 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1712 (native-inputs
1713 `(("eager-future2" ,sbcl-eager-future2)))
1714 (synopsis "Thread-safe message-passing channels in Common Lisp")
1715 (description
1716 "Calispel is a Common Lisp library for thread-safe message-passing
1717 channels, in the style of the occam programming language, also known as
1718 communicating sequential processes (CSP). See
1719 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1720
1721 Calispel channels let one thread communicate with another, facilitating
1722 unidirectional communication of any Lisp object. Channels may be unbuffered,
1723 where a sender waits for a receiver (or vice versa) before either operation can
1724 continue, or channels may be buffered with flexible policy options.
1725
1726 Because sending and receiving on a channel may block, either operation can time
1727 out after a specified amount of time.
1728
1729 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1730 @code{select()}): given a sequence of operations, any or all of which may
1731 block, alternation selects the first operation that doesn't block and executes
1732 associated code. Alternation can also time out, executing an \"otherwise\"
1733 clause if no operation becomes available within a set amount of time.
1734
1735 Calispel is a message-passing library, and as such leaves the role of
1736 threading abstractions and utilities left to be filled by complementary
1737 libraries such as Bordeaux-Threads and Eager Future.")
1738 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1739 (license license:isc))))
1740
1741 (define-public cl-calispel
1742 (sbcl-package->cl-source-package sbcl-calispel))
1743
1744 (define-public ecl-calispel
1745 (sbcl-package->ecl-package sbcl-calispel))
1746
1747 (define-public sbcl-eos
1748 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1749 (revision "2"))
1750 (package
1751 (name "sbcl-eos")
1752 (version (git-version "0.0.0" revision commit))
1753 (source
1754 (origin
1755 (method git-fetch)
1756 (uri (git-reference
1757 (url "https://github.com/adlai/Eos")
1758 (commit commit)))
1759 (sha256
1760 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1761 (file-name (git-file-name "eos" version))))
1762 (build-system asdf-build-system/sbcl)
1763 (synopsis "Unit Testing for Common Lisp")
1764 (description
1765 "Eos was a unit testing library for Common Lisp.
1766 It began as a fork of FiveAM; however, FiveAM development has continued, while
1767 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1768 (home-page "https://github.com/adlai/Eos")
1769 (license license:expat))))
1770
1771 (define-public cl-eos
1772 (sbcl-package->cl-source-package sbcl-eos))
1773
1774 (define-public ecl-eos
1775 (sbcl-package->ecl-package sbcl-eos))
1776
1777 (define-public sbcl-esrap
1778 (let ((commit "da6b24fb18bdb8e7e177bcf2820cdaf0b560deb6")
1779 (revision "1"))
1780 (package
1781 (name "sbcl-esrap")
1782 (version (git-version "0.18" revision commit))
1783 (source
1784 (origin
1785 (method git-fetch)
1786 (uri (git-reference
1787 (url "https://github.com/scymtym/esrap")
1788 (commit commit)))
1789 (sha256
1790 (base32 "12vf3bxwzf8icnf6rw1xalvm7493cfbb46r2vlhc09s59djkf39q"))
1791 (file-name (git-file-name "esrap" version))))
1792 (build-system asdf-build-system/sbcl)
1793 (native-inputs
1794 `(("fiveam" ,sbcl-fiveam)))
1795 (inputs
1796 `(("alexandria" ,sbcl-alexandria)))
1797 (synopsis "Common Lisp packrat parser")
1798 (description
1799 "This is a packrat parser for Common Lisp.
1800 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1801
1802 @itemize
1803 @item dynamic redefinition of nonterminals
1804 @item inline grammars
1805 @item semantic predicates
1806 @item introspective facilities (describing grammars, tracing, setting breaks)
1807 @item left-recursive grammars
1808 @item functions as terminals
1809 @item accurate, customizable parse error reports
1810 @end itemize\n")
1811 (home-page "https://scymtym.github.io/esrap/")
1812 (license license:expat))))
1813
1814 (define-public cl-esrap
1815 (sbcl-package->cl-source-package sbcl-esrap))
1816
1817 (define-public ecl-esrap
1818 (sbcl-package->ecl-package sbcl-esrap))
1819
1820 (define-public sbcl-split-sequence
1821 (package
1822 (name "sbcl-split-sequence")
1823 (version "2.0.0")
1824 (source
1825 (origin
1826 (method git-fetch)
1827 (uri (git-reference
1828 (url "https://github.com/sharplispers/split-sequence")
1829 (commit (string-append "v" version))))
1830 (sha256
1831 (base32
1832 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1833 (file-name (git-file-name "split-sequence" version))))
1834 (build-system asdf-build-system/sbcl)
1835 (native-inputs
1836 `(("fiveam" ,sbcl-fiveam)))
1837 (synopsis "Member of the Common Lisp Utilities family of programs")
1838 (description
1839 "Splits sequence into a list of subsequences delimited by objects
1840 satisfying the test.")
1841 (home-page "https://cliki.net/split-sequence")
1842 (license license:expat)))
1843
1844 (define-public cl-split-sequence
1845 (sbcl-package->cl-source-package sbcl-split-sequence))
1846
1847 (define-public ecl-split-sequence
1848 (sbcl-package->ecl-package sbcl-split-sequence))
1849
1850 (define-public sbcl-html-encode
1851 (package
1852 (name "sbcl-html-encode")
1853 (version "1.2")
1854 (source
1855 (origin
1856 (method url-fetch)
1857 (uri (string-append
1858 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1859 version ".tgz"))
1860 (sha256
1861 (base32
1862 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1863 (file-name (string-append "colorize" version "-checkout"))))
1864 (build-system asdf-build-system/sbcl)
1865 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1866 (description
1867 "A library for encoding text in various web-savvy encodings.")
1868 (home-page "http://quickdocs.org/html-encode/")
1869 (license license:expat)))
1870
1871 (define-public cl-html-encode
1872 (sbcl-package->cl-source-package sbcl-html-encode))
1873
1874 (define-public ecl-html-encode
1875 (sbcl-package->ecl-package sbcl-html-encode))
1876
1877 (define-public sbcl-colorize
1878 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1879 (package
1880 (name "sbcl-colorize")
1881 (version (git-version "0.0.0" "1" commit))
1882 (source
1883 (origin
1884 (method git-fetch)
1885 (uri (git-reference
1886 (url "https://github.com/kingcons/colorize")
1887 (commit commit)))
1888 (sha256
1889 (base32
1890 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1891 (file-name (git-file-name "colorize" version))))
1892 (build-system asdf-build-system/sbcl)
1893 (inputs
1894 `(("alexandria" ,sbcl-alexandria)
1895 ("split-sequence" ,sbcl-split-sequence)
1896 ("html-encode" ,sbcl-html-encode)))
1897 (synopsis "Common Lisp for syntax highlighting")
1898 (description
1899 "@command{colorize} is a Lisp library for syntax highlighting
1900 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1901 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1902 (home-page "https://github.com/kingcons/colorize")
1903 ;; TODO: Missing license?
1904 (license license:expat))))
1905
1906 (define-public cl-colorize
1907 (sbcl-package->cl-source-package sbcl-colorize))
1908
1909 (define-public ecl-colorize
1910 (sbcl-package->ecl-package sbcl-colorize))
1911
1912 (define-public sbcl-3bmd
1913 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1914 (revision "2"))
1915 (package
1916 (name "sbcl-3bmd")
1917 (version (git-version "0.0.0" revision commit))
1918 (source
1919 (origin
1920 (method git-fetch)
1921 (uri (git-reference
1922 (url "https://github.com/3b/3bmd")
1923 (commit commit)))
1924 (sha256
1925 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1926 (file-name (git-file-name "3bmd" version))))
1927 (build-system asdf-build-system/sbcl)
1928 (arguments
1929 ;; FIXME: #41437 - Build fails when package name starts from a digit
1930 `(#:asd-systems
1931 '("3bmd"
1932 "3bmd-ext-definition-lists"
1933 "3bmd-ext-math"
1934 "3bmd-ext-tables"
1935 "3bmd-ext-wiki-links"
1936 "3bmd-youtube"
1937 "3bmd-ext-code-blocks")))
1938 (inputs
1939 `(("alexandria" ,sbcl-alexandria)
1940 ("colorize" ,sbcl-colorize)
1941 ("esrap" ,sbcl-esrap)
1942 ("split-sequence" ,sbcl-split-sequence)))
1943 (home-page "https://github.com/3b/3bmd")
1944 (synopsis "Markdown processor in Command Lisp using esrap parser")
1945 (description
1946 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1947 for parsing, and grammar based on @command{peg-markdown}.")
1948 (license license:expat))))
1949
1950 (define-public cl-3bmd
1951 (sbcl-package->cl-source-package sbcl-3bmd))
1952
1953 (define-public ecl-3bmd
1954 (sbcl-package->ecl-package sbcl-3bmd))
1955
1956 (define-public sbcl-cl-fad
1957 (package
1958 (name "sbcl-cl-fad")
1959 (version "0.7.6")
1960 (source
1961 (origin
1962 (method git-fetch)
1963 (uri (git-reference
1964 (url "https://github.com/edicl/cl-fad/")
1965 (commit (string-append "v" version))))
1966 (sha256
1967 (base32
1968 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1969 (file-name (string-append "cl-fad" version "-checkout"))))
1970 (build-system asdf-build-system/sbcl)
1971 (inputs
1972 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1973 (synopsis "Portable pathname library for Common Lisp")
1974 (description
1975 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1976 Lisp's standard pathname functions. It is intended to provide some
1977 unification between current CL implementations on Windows, OS X, Linux, and
1978 Unix. Most of the code was written by Peter Seibel for his book Practical
1979 Common Lisp.")
1980 (home-page "https://edicl.github.io/cl-fad/")
1981 (license license:bsd-2)))
1982
1983 (define-public cl-fad
1984 (sbcl-package->cl-source-package sbcl-cl-fad))
1985
1986 (define-public ecl-cl-fad
1987 (sbcl-package->ecl-package sbcl-cl-fad))
1988
1989 (define-public sbcl-fn
1990 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
1991 (revision "1"))
1992 (package
1993 (name "sbcl-fn")
1994 (version (git-version "0.0.0" revision commit))
1995 (source
1996 (origin
1997 (method git-fetch)
1998 (uri (git-reference
1999 (url "https://github.com/cbaggers/fn")
2000 (commit commit)))
2001 (file-name (git-file-name "fn" version))
2002 (sha256
2003 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
2004 (build-system asdf-build-system/sbcl)
2005 (inputs
2006 `(("named-readtables" ,sbcl-named-readtables)))
2007 (home-page "https://github.com/cbaggers/fn")
2008 (synopsis "Macros for lambda brevity")
2009 (description
2010 "This is a Common Lisp library providing lambda shorthand macros aiming
2011 to be used in cases where the word @emph{lambda} and the arguments are longer
2012 than the body of the lambda.")
2013 (license license:public-domain))))
2014
2015 (define-public ecl-fn
2016 (sbcl-package->ecl-package sbcl-fn))
2017
2018 (define-public cl-fn
2019 (sbcl-package->cl-source-package sbcl-fn))
2020
2021 (define-public sbcl-rt
2022 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
2023 (revision "1"))
2024 (package
2025 (name "sbcl-rt")
2026 (version (git-version "1990.12.19" revision commit))
2027 (source
2028 (origin
2029 (method git-fetch)
2030 (uri (git-reference
2031 (url "http://git.kpe.io/rt.git")
2032 (commit commit)))
2033 (file-name (git-file-name name version))
2034 (sha256
2035 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
2036 (build-system asdf-build-system/sbcl)
2037 (synopsis "MIT Regression Tester")
2038 (description
2039 "RT provides a framework for writing regression test suites.")
2040 (home-page "https://www.cliki.net/rt")
2041 (license license:expat))))
2042
2043 (define-public cl-rt
2044 (sbcl-package->cl-source-package sbcl-rt))
2045
2046 (define-public ecl-rt
2047 (sbcl-package->ecl-package sbcl-rt))
2048
2049 (define-public sbcl-nibbles
2050 ;; No tagged release since 2018.
2051 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
2052 (revision "1"))
2053 (package
2054 (name "sbcl-nibbles")
2055 (version (git-version "0.14" revision commit))
2056 (source
2057 (origin
2058 (method git-fetch)
2059 (uri (git-reference
2060 (url "https://github.com/sharplispers/nibbles/")
2061 (commit commit)))
2062 (sha256
2063 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
2064 (file-name (git-file-name "nibbles" version))))
2065 (build-system asdf-build-system/sbcl)
2066 (native-inputs
2067 ;; Tests only.
2068 `(("rt" ,sbcl-rt)))
2069 (synopsis
2070 "Common Lisp library for accessing octet-addressed blocks of data")
2071 (description
2072 "When dealing with network protocols and file formats, it's common to
2073 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
2074 flavors. Common Lisp sort of supports this by specifying :element-type for
2075 streams, but that facility is underspecified and there's nothing similar for
2076 read/write from octet vectors. What most people wind up doing is rolling their
2077 own small facility for their particular needs and calling it a day.
2078
2079 This library attempts to be comprehensive and centralize such
2080 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
2081 vectors in signed or unsigned flavors are provided; these functions are also
2082 SETFable. Since it's sometimes desirable to read/write directly from streams,
2083 functions for doing so are also provided. On some implementations,
2084 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
2085 also be supported.")
2086 (home-page "https://github.com/sharplispers/nibbles")
2087 (license license:bsd-3))))
2088
2089 (define-public cl-nibbles
2090 (sbcl-package->cl-source-package sbcl-nibbles))
2091
2092 (define-public ecl-nibbles
2093 (sbcl-package->ecl-package sbcl-nibbles))
2094
2095 (define-public sbcl-ironclad
2096 (package
2097 (name "sbcl-ironclad")
2098 (version "0.55")
2099 (source
2100 (origin
2101 (method git-fetch)
2102 (uri (git-reference
2103 (url "https://github.com/sharplispers/ironclad/")
2104 (commit (string-append "v" version))))
2105 (sha256
2106 (base32 "1w4slnc4143w1gcff1wxsivzb8kcji0bpd7y9rld3sabay0qprwl"))
2107 (file-name (git-file-name name version))))
2108 (build-system asdf-build-system/sbcl)
2109 (native-inputs
2110 ;; Tests only.
2111 `(("rt" ,sbcl-rt)))
2112 (inputs
2113 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2114 ("flexi-streams" ,sbcl-flexi-streams)))
2115 (synopsis "Cryptographic toolkit written in Common Lisp")
2116 (description
2117 "Ironclad is a cryptography library written entirely in Common Lisp.
2118 It includes support for several popular ciphers, digests, MACs and public key
2119 cryptography algorithms. For several implementations that support Gray
2120 streams, support is included for convenient stream wrappers.")
2121 (home-page "https://github.com/sharplispers/ironclad")
2122 (license license:bsd-3)))
2123
2124 (define-public cl-ironclad
2125 (sbcl-package->cl-source-package sbcl-ironclad))
2126
2127 (define-public ecl-ironclad
2128 (sbcl-package->ecl-package sbcl-ironclad))
2129
2130 (define-public sbcl-named-readtables
2131 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2132 (revision "3"))
2133 (package
2134 (name "sbcl-named-readtables")
2135 (version (git-version "0.9" revision commit))
2136 (source
2137 (origin
2138 (method git-fetch)
2139 (uri (git-reference
2140 (url "https://github.com/melisgl/named-readtables")
2141 (commit commit)))
2142 (sha256
2143 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
2144 (file-name (git-file-name "named-readtables" version))))
2145 (build-system asdf-build-system/sbcl)
2146 (home-page "https://github.com/melisgl/named-readtables/")
2147 (synopsis "Library that creates a namespace for named readtables")
2148 (description
2149 "Named readtables is a library that creates a namespace for named
2150 readtables, which is akin to package namespacing in Common Lisp.")
2151 (license license:bsd-3))))
2152
2153 (define-public cl-named-readtables
2154 (sbcl-package->cl-source-package sbcl-named-readtables))
2155
2156 (define-public ecl-named-readtables
2157 (sbcl-package->ecl-package sbcl-named-readtables))
2158
2159 (define-public sbcl-py-configparser
2160 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2161 ;; time 8y ago, it looks like abandoned. VCS of the project:
2162 ;; https://svn.common-lisp.net/py-configparser/trunk
2163 (package
2164 (name "sbcl-py-configparser")
2165 (version "1.0.3")
2166 (source
2167 (origin
2168 (method url-fetch)
2169 (uri (string-append
2170 "https://common-lisp.net/project/py-configparser/releases/"
2171 "py-configparser-" version ".tar.gz"))
2172 (sha256
2173 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2174 (build-system asdf-build-system/sbcl)
2175 (inputs
2176 `(("parse-number" ,sbcl-parse-number)))
2177 (home-page "http://common-lisp.net/project/py-configparser/")
2178 (synopsis "ConfigParser Python module functionality for Common Lisp")
2179 (description "The py-configparser package implements the ConfigParser
2180 Python module functionality in Common Lisp. In short, it implements reading
2181 and writing of .INI-file style configuration files with sections containing
2182 key/value pairs of configuration options. In line with the functionalities in
2183 the python module, does this package implement basic interpolation of option
2184 values in other options.")
2185 (license license:expat)))
2186
2187 (define-public cl-py-configparser
2188 (sbcl-package->cl-source-package sbcl-py-configparser))
2189
2190 (define-public ecl-py-configparser
2191 (sbcl-package->ecl-package sbcl-py-configparser))
2192
2193 (define-public sbcl-pythonic-string-reader
2194 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2195 (package
2196 (name "sbcl-pythonic-string-reader")
2197 (version (git-version "0.0.0" "1" commit))
2198 (source
2199 (origin
2200 (method git-fetch)
2201 (uri (git-reference
2202 (url "https://github.com/smithzvk/pythonic-string-reader/")
2203 (commit commit)))
2204 (sha256
2205 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2206 (file-name (git-file-name "pythonic-string-reader" version))))
2207 (build-system asdf-build-system/sbcl)
2208 (inputs
2209 `(("named-readtables" ,sbcl-named-readtables)))
2210 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2211 (synopsis "Read table modification inspired by Python's three quote strings")
2212 (description "This piece of code sets up some reader macros that make it
2213 simpler to input string literals which contain backslashes and double quotes
2214 This is very useful for writing complicated docstrings and, as it turns out,
2215 writing code that contains string literals that contain code themselves.")
2216 (license license:bsd-3))))
2217
2218 (define-public cl-pythonic-string-reader
2219 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2220
2221 (define-public ecl-pythonic-string-reader
2222 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2223
2224 (define-public sbcl-slime-swank
2225 (package
2226 (name "sbcl-slime-swank")
2227 (version "2.26")
2228 (source
2229 (origin
2230 (file-name (git-file-name "slime-swank" version))
2231 (method git-fetch)
2232 (uri (git-reference
2233 (url "https://github.com/slime/slime/")
2234 (commit (string-append "v" version))))
2235 (sha256
2236 (base32
2237 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2238 (build-system asdf-build-system/sbcl)
2239 (arguments
2240 '(#:asd-systems '("swank")))
2241 (home-page "https://github.com/slime/slime")
2242 (synopsis "Common Lisp Swank server")
2243 (description
2244 "This is only useful if you want to start a Swank server in a Lisp
2245 processes that doesn't run under Emacs. Lisp processes created by
2246 @command{M-x slime} automatically start the server.")
2247 (license (list license:gpl2+ license:public-domain))))
2248
2249 (define-public cl-slime-swank
2250 (sbcl-package->cl-source-package sbcl-slime-swank))
2251
2252 (define-public ecl-slime-swank
2253 (sbcl-package->ecl-package sbcl-slime-swank))
2254
2255 (define-public sbcl-mgl-pax
2256 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2257 (revision "2"))
2258 (package
2259 (name "sbcl-mgl-pax")
2260 (version (git-version "0.0.3" revision commit))
2261 (source
2262 (origin
2263 (method git-fetch)
2264 (uri (git-reference
2265 (url "https://github.com/melisgl/mgl-pax")
2266 (commit commit)))
2267 (sha256
2268 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2269 (file-name (git-file-name "mgl-pax" version))))
2270 (build-system asdf-build-system/sbcl)
2271 (inputs
2272 `(("3bmd" ,sbcl-3bmd)
2273 ("babel" ,sbcl-babel)
2274 ("cl-fad" ,sbcl-cl-fad)
2275 ("ironclad" ,sbcl-ironclad)
2276 ("named-readtables" ,sbcl-named-readtables)
2277 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2278 ("swank" ,sbcl-slime-swank)))
2279 (synopsis "Exploratory programming environment and documentation generator")
2280 (description
2281 "PAX provides an extremely poor man's Explorable Programming
2282 environment. Narrative primarily lives in so called sections that mix markdown
2283 docstrings with references to functions, variables, etc, all of which should
2284 probably have their own docstrings.
2285
2286 The primary focus is on making code easily explorable by using SLIME's
2287 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2288 fanciness in Emacs Integration. Generating documentation from sections and all
2289 the referenced items in Markdown or HTML format is also implemented.
2290
2291 With the simplistic tools provided, one may accomplish similar effects as with
2292 Literate Programming, but documentation is generated from code, not vice versa
2293 and there is no support for chunking yet. Code is first, code must look
2294 pretty, documentation is code.")
2295 (home-page "http://quotenil.com/")
2296 (license license:expat))))
2297
2298 (define-public cl-mgl-pax
2299 (sbcl-package->cl-source-package sbcl-mgl-pax))
2300
2301 (define-public ecl-mgl-pax
2302 (sbcl-package->ecl-package sbcl-mgl-pax))
2303
2304 (define-public sbcl-mssql
2305 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2306 (revision "1"))
2307 (package
2308 (name "sbcl-mssql")
2309 (version (git-version "0.0.3" revision commit))
2310 (source
2311 (origin
2312 (method git-fetch)
2313 (uri (git-reference
2314 (url "https://github.com/archimag/cl-mssql")
2315 (commit commit)))
2316 (file-name (git-file-name "cl-mssql" version))
2317 (sha256
2318 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2319 (build-system asdf-build-system/sbcl)
2320 (inputs
2321 `(("cffi" ,sbcl-cffi)
2322 ("freetds" ,freetds)
2323 ("garbage-pools" ,sbcl-garbage-pools)
2324 ("iterate" ,sbcl-iterate)
2325 ("parse-number" ,sbcl-parse-number)))
2326 (arguments
2327 `(#:phases
2328 (modify-phases %standard-phases
2329 (add-after 'unpack 'fix-paths
2330 (lambda* (#:key inputs #:allow-other-keys)
2331 (substitute* "src/mssql.lisp"
2332 (("libsybdb" all)
2333 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2334 #t)))))
2335 (home-page "https://github.com/archimag/cl-mssql")
2336 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2337 (description
2338 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2339 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2340 project.")
2341 (license license:llgpl))))
2342
2343 (define-public ecl-mssql
2344 (sbcl-package->ecl-package sbcl-mssql))
2345
2346 (define-public cl-mssql
2347 (sbcl-package->cl-source-package sbcl-mssql))
2348
2349 (define-public sbcl-lisp-unit
2350 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2351 (package
2352 (name "sbcl-lisp-unit")
2353 (version (git-version "0.0.0" "1" commit))
2354 (source
2355 (origin
2356 (method git-fetch)
2357 (uri (git-reference
2358 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2359 (commit commit)))
2360 (sha256
2361 (base32
2362 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2363 (file-name (git-file-name "lisp-unit" version))))
2364 (build-system asdf-build-system/sbcl)
2365 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2366 (description
2367 "@command{lisp-unit} is a Common Lisp library that supports unit
2368 testing. It is an extension of the library written by Chris Riesbeck.")
2369 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2370 (license license:expat))))
2371
2372 (define-public cl-lisp-unit
2373 (sbcl-package->cl-source-package sbcl-lisp-unit))
2374
2375 (define-public ecl-lisp-unit
2376 (sbcl-package->ecl-package sbcl-lisp-unit))
2377
2378 (define-public sbcl-anaphora
2379 (package
2380 (name "sbcl-anaphora")
2381 (version "0.9.6")
2382 (source
2383 (origin
2384 (method git-fetch)
2385 (uri (git-reference
2386 (url "https://github.com/tokenrove/anaphora")
2387 (commit version)))
2388 (sha256
2389 (base32
2390 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2391 (file-name (git-file-name "anaphora" version))))
2392 (build-system asdf-build-system/sbcl)
2393 (native-inputs
2394 `(("rt" ,sbcl-rt)))
2395 (synopsis "The anaphoric macro collection from Hell")
2396 (description
2397 "Anaphora is the anaphoric macro collection from Hell: it includes many
2398 new fiends in addition to old friends like @command{aif} and
2399 @command{awhen}.")
2400 (home-page "https://github.com/tokenrove/anaphora")
2401 (license license:public-domain)))
2402
2403 (define-public cl-anaphora
2404 (sbcl-package->cl-source-package sbcl-anaphora))
2405
2406 (define-public ecl-anaphora
2407 (sbcl-package->ecl-package sbcl-anaphora))
2408
2409 (define-public sbcl-lift
2410 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2411 (revision "2"))
2412 (package
2413 (name "sbcl-lift")
2414 (version (git-version "1.7.1" revision commit))
2415 (source
2416 (origin
2417 (method git-fetch)
2418 (uri (git-reference
2419 (url "https://github.com/gwkkwg/lift")
2420 (commit commit)))
2421 (sha256
2422 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2423 (file-name (git-file-name "lift" version))
2424 (modules '((guix build utils)))
2425 (snippet
2426 ;; Don't keep the bundled website
2427 `(begin
2428 (delete-file-recursively "website")
2429 #t))))
2430 (build-system asdf-build-system/sbcl)
2431 (arguments
2432 ;; The tests require a debugger, but we run with the debugger disabled.
2433 '(#:tests? #f))
2434 (synopsis "LIsp Framework for Testing")
2435 (description
2436 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2437 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2438 testcases are organized into hierarchical testsuites each of which can have
2439 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2440 supports randomized testing, benchmarking, profiling, and reporting.")
2441 (home-page "https://github.com/gwkkwg/lift")
2442 (license license:expat))))
2443
2444 (define-public cl-lift
2445 (sbcl-package->cl-source-package sbcl-lift))
2446
2447 (define-public ecl-lift
2448 (sbcl-package->ecl-package sbcl-lift))
2449
2450 (define-public sbcl-let-plus
2451 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2452 (package
2453 (name "sbcl-let-plus")
2454 (version (git-version "0.0.0" "1" commit))
2455 (source
2456 (origin
2457 (method git-fetch)
2458 (uri (git-reference
2459 (url "https://github.com/sharplispers/let-plus")
2460 (commit commit)))
2461 (sha256
2462 (base32
2463 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2464 (file-name (git-file-name "let-plus" version))))
2465 (build-system asdf-build-system/sbcl)
2466 (inputs
2467 `(("alexandria" ,sbcl-alexandria)
2468 ("anaphora" ,sbcl-anaphora)))
2469 (native-inputs
2470 `(("lift" ,sbcl-lift)))
2471 (synopsis "Destructuring extension of let*")
2472 (description
2473 "This library implements the let+ macro, which is a dectructuring
2474 extension of let*. It features:
2475
2476 @itemize
2477 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2478 not counting tests)
2479 @item Placeholder macros allow editor hints and syntax highlighting
2480 @item @command{&ign} for ignored values (in forms where that makes sense)
2481 @item Very easy to extend
2482 @end itemize\n")
2483 (home-page "https://github.com/sharplispers/let-plus")
2484 (license license:boost1.0))))
2485
2486 (define-public cl-let-plus
2487 (sbcl-package->cl-source-package sbcl-let-plus))
2488
2489 (define-public ecl-let-plus
2490 (sbcl-package->ecl-package sbcl-let-plus))
2491
2492 (define-public sbcl-cl-colors
2493 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2494 (package
2495 (name "sbcl-cl-colors")
2496 (version (git-version "0.0.0" "1" commit))
2497 (source
2498 (origin
2499 (method git-fetch)
2500 (uri (git-reference
2501 (url "https://github.com/tpapp/cl-colors")
2502 (commit commit)))
2503 (sha256
2504 (base32
2505 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2506 (file-name (git-file-name "cl-colors" version))))
2507 (build-system asdf-build-system/sbcl)
2508 (inputs
2509 `(("alexandria" ,sbcl-alexandria)
2510 ("let-plus" ,sbcl-let-plus)))
2511 (synopsis "Simple color library for Common Lisp")
2512 (description
2513 "This is a very simple color library for Common Lisp, providing
2514
2515 @itemize
2516 @item Types for representing colors in HSV and RGB spaces.
2517 @item Simple conversion functions between the above types (and also
2518 hexadecimal representation for RGB).
2519 @item Some predefined colors (currently X11 color names – of course the
2520 library does not depend on X11).Because color in your terminal is nice.
2521 @end itemize
2522
2523 This library is no longer supported by its author.")
2524 (home-page "https://github.com/tpapp/cl-colors")
2525 (license license:boost1.0))))
2526
2527 (define-public cl-colors
2528 (sbcl-package->cl-source-package sbcl-cl-colors))
2529
2530 (define-public ecl-cl-colors
2531 (sbcl-package->ecl-package sbcl-cl-colors))
2532
2533 (define-public sbcl-cl-ansi-text
2534 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2535 (package
2536 (name "sbcl-cl-ansi-text")
2537 (version (git-version "1.0.0" "1" commit))
2538 (source
2539 (origin
2540 (method git-fetch)
2541 (uri (git-reference
2542 (url "https://github.com/pnathan/cl-ansi-text")
2543 (commit commit)))
2544 (sha256
2545 (base32
2546 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2547 (file-name (git-file-name "cl-ansi-text" version))))
2548 (build-system asdf-build-system/sbcl)
2549 (inputs
2550 `(("alexandria" ,sbcl-alexandria)
2551 ("cl-colors" ,sbcl-cl-colors)))
2552 (native-inputs
2553 `(("fiveam" ,sbcl-fiveam)))
2554 (synopsis "ANSI terminal color implementation for Common Lisp")
2555 (description
2556 "@command{cl-ansi-text} provides utilities which enable printing to an
2557 ANSI terminal with colored text. It provides the macro @command{with-color}
2558 which causes everything printed in the body to be displayed with the provided
2559 color. It further provides functions which will print the argument with the
2560 named color.")
2561 (home-page "https://github.com/pnathan/cl-ansi-text")
2562 (license license:llgpl))))
2563
2564 (define-public cl-ansi-text
2565 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2566
2567 (define-public ecl-cl-ansi-text
2568 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2569
2570 (define-public sbcl-prove
2571 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2572 (package
2573 (name "sbcl-prove")
2574 (version (git-version "1.0.0" "1" commit))
2575 (source
2576 (origin
2577 (method git-fetch)
2578 (uri (git-reference
2579 (url "https://github.com/fukamachi/prove")
2580 (commit commit)))
2581 (sha256
2582 (base32
2583 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2584 (file-name (git-file-name "prove" version))))
2585 (build-system asdf-build-system/sbcl)
2586 (inputs
2587 `(("alexandria" ,sbcl-alexandria)
2588 ("cl-ppcre" ,sbcl-cl-ppcre)
2589 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2590 (synopsis "Yet another unit testing framework for Common Lisp")
2591 (description
2592 "This project was originally called @command{cl-test-more}.
2593 @command{prove} is yet another unit testing framework for Common Lisp. The
2594 advantages of @command{prove} are:
2595
2596 @itemize
2597 @item Various simple functions for testing and informative error messages
2598 @item ASDF integration
2599 @item Extensible test reporters
2600 @item Colorizes the report if it's available (note for SLIME)
2601 @item Reports test durations
2602 @end itemize\n")
2603 (home-page "https://github.com/fukamachi/prove")
2604 (license license:expat))))
2605
2606 (define-public cl-prove
2607 (sbcl-package->cl-source-package sbcl-prove))
2608
2609 (define-public ecl-prove
2610 (sbcl-package->ecl-package sbcl-prove))
2611
2612 (define-public sbcl-proc-parse
2613 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2614 (package
2615 (name "sbcl-proc-parse")
2616 (version (git-version "0.0.0" "1" commit))
2617 (source
2618 (origin
2619 (method git-fetch)
2620 (uri (git-reference
2621 (url "https://github.com/fukamachi/proc-parse")
2622 (commit commit)))
2623 (sha256
2624 (base32
2625 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2626 (file-name (git-file-name "proc-parse" version))))
2627 (build-system asdf-build-system/sbcl)
2628 (inputs
2629 `(("alexandria" ,sbcl-alexandria)
2630 ("babel" ,sbcl-babel)))
2631 (native-inputs
2632 `(("prove" ,sbcl-prove)))
2633 (arguments
2634 ;; TODO: Tests don't find "proc-parse-test", why?
2635 `(#:tests? #f))
2636 (synopsis "Procedural vector parser")
2637 (description
2638 "This is a string/octets parser library for Common Lisp with speed and
2639 readability in mind. Unlike other libraries, the code is not a
2640 pattern-matching-like, but a char-by-char procedural parser.")
2641 (home-page "https://github.com/fukamachi/proc-parse")
2642 (license license:bsd-2))))
2643
2644 (define-public cl-proc-parse
2645 (sbcl-package->cl-source-package sbcl-proc-parse))
2646
2647 (define-public ecl-proc-parse
2648 (sbcl-package->ecl-package sbcl-proc-parse))
2649
2650 (define-public sbcl-parse-float
2651 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2652 (revision "2"))
2653 (package
2654 (name "sbcl-parse-float")
2655 (version (git-version "0.0.0" revision commit))
2656 (source
2657 (origin
2658 (method git-fetch)
2659 (uri (git-reference
2660 (url "https://github.com/soemraws/parse-float")
2661 (commit commit)))
2662 (sha256
2663 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2664 (file-name (git-file-name "proc-parse" version))))
2665 (build-system asdf-build-system/sbcl)
2666 (arguments
2667 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2668 `(#:asd-systems '("parse-float" "parse-float-tests")))
2669 (native-inputs
2670 `(("lisp-unit" ,sbcl-lisp-unit)))
2671 (inputs
2672 `(("alexandria" ,sbcl-alexandria)))
2673 (home-page "https://github.com/soemraws/parse-float")
2674 (synopsis "Parse a floating point value from a string in Common Lisp")
2675 (description
2676 "This package exports the following function to parse floating-point
2677 values from a string in Common Lisp.")
2678 (license license:public-domain))))
2679
2680 (define-public cl-parse-float
2681 (sbcl-package->cl-source-package sbcl-parse-float))
2682
2683 (define-public ecl-parse-float
2684 (sbcl-package->ecl-package sbcl-parse-float))
2685
2686 (define-public sbcl-cl-string-match
2687 (let ((revision "1")
2688 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2689 (package
2690 (name "sbcl-cl-string-match")
2691 (version (git-version "0" revision changeset))
2692 (source
2693 (origin
2694 (method hg-fetch)
2695 (uri (hg-reference
2696 (url "https://bitbucket.org/vityok/cl-string-match/")
2697 (changeset changeset)))
2698 (sha256
2699 (base32
2700 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2701 (file-name (git-file-name "cl-string-match" version))))
2702 (build-system asdf-build-system/sbcl)
2703 (inputs
2704 `(("alexandria" ,sbcl-alexandria)
2705 ("babel" ,sbcl-babel)
2706 ("iterate" ,sbcl-iterate)
2707 ("jpl-queues" ,sbcl-jpl-queues)
2708 ("jpl-util" ,sbcl-jpl-util)
2709 ("mgl-pax" ,sbcl-mgl-pax)
2710 ("parse-float" ,sbcl-parse-float)
2711 ("proc-parse" ,sbcl-proc-parse)
2712 ("yacc" ,sbcl-cl-yacc)))
2713 ;; TODO: Tests are not evaluated properly.
2714 (native-inputs
2715 ;; For testing:
2716 `(("lisp-unit" ,sbcl-lisp-unit)))
2717 (arguments
2718 `(#:tests? #f))
2719 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2720 (description
2721 "@command{cl-strings} is a small, portable, dependency-free set of
2722 utilities that make it even easier to manipulate text in Common Lisp. It has
2723 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2724 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2725 (license license:bsd-3))))
2726
2727 (define-public cl-string-match
2728 (sbcl-package->cl-source-package sbcl-cl-string-match))
2729
2730 (define-public ecl-cl-string-match
2731 (sbcl-package->ecl-package sbcl-cl-string-match))
2732
2733 (define-public sbcl-ptester
2734 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2735 (revision "1"))
2736 (package
2737 (name "sbcl-ptester")
2738 (version (git-version "2.1.3" revision commit))
2739 (source
2740 (origin
2741 (method git-fetch)
2742 (uri (git-reference
2743 (url "http://git.kpe.io/ptester.git")
2744 (commit commit)))
2745 (file-name (git-file-name name version))
2746 (sha256
2747 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2748 (build-system asdf-build-system/sbcl)
2749 (home-page "http://quickdocs.org/ptester/")
2750 (synopsis "Portable test harness package")
2751 (description
2752 "@command{ptester} is a portable testing framework based on Franz's
2753 tester module.")
2754 (license license:llgpl))))
2755
2756 (define-public cl-ptester
2757 (sbcl-package->cl-source-package sbcl-ptester))
2758
2759 (define-public ecl-ptester
2760 (sbcl-package->ecl-package sbcl-ptester))
2761
2762 (define-public sbcl-puri
2763 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2764 (revision "2"))
2765 (package
2766 (name "sbcl-puri")
2767 (version (git-version "1.5.7" revision commit))
2768 (source
2769 (origin
2770 (method git-fetch)
2771 (uri (git-reference
2772 (url "http://git.kpe.io/puri.git")
2773 (commit commit)))
2774 (file-name (git-file-name "puri" version))
2775 (sha256
2776 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2777 (build-system asdf-build-system/sbcl)
2778 (native-inputs
2779 `(("ptester" ,sbcl-ptester)))
2780 (home-page "http://puri.kpe.io/")
2781 (synopsis "Portable URI Library")
2782 (description
2783 "This is a portable Universal Resource Identifier library for Common
2784 Lisp programs. It parses URI according to the RFC 2396 specification.")
2785 (license license:llgpl))))
2786
2787 (define-public cl-puri
2788 (sbcl-package->cl-source-package sbcl-puri))
2789
2790 (define-public ecl-puri
2791 (sbcl-package->ecl-package sbcl-puri))
2792
2793 (define-public sbcl-qmynd
2794 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2795 (revision "1"))
2796 (package
2797 (name "sbcl-qmynd")
2798 (version (git-version "1.0.0" revision commit))
2799 (source
2800 (origin
2801 (method git-fetch)
2802 (uri (git-reference
2803 (url "https://github.com/qitab/qmynd")
2804 (commit commit)))
2805 (file-name (git-file-name name version))
2806 (sha256
2807 (base32
2808 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2809 (build-system asdf-build-system/sbcl)
2810 (inputs
2811 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2812 ("babel" ,sbcl-babel)
2813 ("chipz" ,sbcl-chipz)
2814 ("cl+ssl" ,sbcl-cl+ssl)
2815 ("flexi-streams" ,sbcl-flexi-streams)
2816 ("ironclad" ,sbcl-ironclad)
2817 ("salza2" ,sbcl-salza2)
2818 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2819 ("usocket" ,sbcl-usocket)))
2820 (home-page "https://github.com/qitab/qmynd")
2821 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2822 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2823 library that directly talks to a MySQL server in its native network protocol.
2824
2825 It's a part of QITAB umbrella project.")
2826 (license license:expat))))
2827
2828 (define-public ecl-qmynd
2829 (sbcl-package->ecl-package sbcl-qmynd))
2830
2831 (define-public cl-qmynd
2832 (sbcl-package->cl-source-package sbcl-qmynd))
2833
2834 (define-public sbcl-queues
2835 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2836 (package
2837 (name "sbcl-queues")
2838 (version (git-version "0.0.0" "1" commit))
2839 (source
2840 (origin
2841 (method git-fetch)
2842 (uri (git-reference
2843 (url "https://github.com/oconnore/queues")
2844 (commit commit)))
2845 (file-name (git-file-name "queues" version))
2846 (sha256
2847 (base32
2848 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2849 (build-system asdf-build-system/sbcl)
2850 (inputs
2851 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2852 (arguments
2853 '(#:asd-systems '("queues"
2854 "queues.simple-queue"
2855 "queues.simple-cqueue"
2856 "queues.priority-queue"
2857 "queues.priority-cqueue")))
2858 (home-page "https://github.com/oconnore/queues")
2859 (synopsis "Common Lisp queue library")
2860 (description
2861 "This is a simple queue library for Common Lisp with features such as
2862 non-consing thread safe queues and fibonacci priority queues.")
2863 (license license:expat))))
2864
2865 (define-public cl-queues
2866 (sbcl-package->cl-source-package sbcl-queues))
2867
2868 (define-public ecl-queues
2869 (sbcl-package->ecl-package sbcl-queues))
2870
2871 (define-public sbcl-glsl-packing
2872 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2873 (revision "1"))
2874 (package
2875 (name "sbcl-glsl-packing")
2876 (version (git-version "0.0.0" revision commit))
2877 (source
2878 (origin
2879 (method git-fetch)
2880 (uri (git-reference
2881 (url "https://github.com/3b/glsl-packing/")
2882 (commit commit)))
2883 (file-name (git-file-name "glsl-packing" version))
2884 (sha256
2885 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2886 (build-system asdf-build-system/sbcl)
2887 (inputs
2888 `(("alexandria" ,sbcl-alexandria)))
2889 (home-page "https://github.com/3b/glsl-packing/")
2890 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2891 (description
2892 "This is a Common Lisp library to calculate std140 or std430 layouts for
2893 a glsl UBO/SSBO.")
2894 (license license:expat))))
2895
2896 (define-public ecl-glsl-packing
2897 (sbcl-package->ecl-package sbcl-glsl-packing))
2898
2899 (define-public cl-glsl-packing
2900 (sbcl-package->cl-source-package sbcl-glsl-packing))
2901
2902 (define-public sbcl-glsl-spec
2903 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2904 (revision "1"))
2905 (package
2906 (name "sbcl-glsl-spec")
2907 (version (git-version "0.0.0" revision commit))
2908 (source
2909 (origin
2910 (method git-fetch)
2911 (uri (git-reference
2912 (url "https://github.com/cbaggers/glsl-spec")
2913 (commit commit)))
2914 (file-name (git-file-name "glsl-spec" version))
2915 (sha256
2916 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2917 (build-system asdf-build-system/sbcl)
2918 (arguments
2919 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2920 (home-page "https://github.com/cbaggers/glsl-spec")
2921 (synopsis "Common Lisp GLSL specification as a datastructure")
2922 (description
2923 "This package contains the specification of all functions and variables
2924 from GLSL as data.")
2925 (license license:unlicense))))
2926
2927 (define-public ecl-glsl-spec
2928 (sbcl-package->ecl-package sbcl-glsl-spec))
2929
2930 (define-public cl-glsl-spec
2931 (sbcl-package->cl-source-package sbcl-glsl-spec))
2932
2933 (define-public sbcl-rtg-math
2934 (let ((commit "29fc5b3d0028a4a11a82355ecc8cca62662c69e0")
2935 (revision "1"))
2936 (package
2937 (name "sbcl-rtg-math")
2938 (version (git-version "0.0.0" revision commit))
2939 (source
2940 (origin
2941 (method git-fetch)
2942 (uri (git-reference
2943 (url "https://github.com/cbaggers/rtg-math")
2944 (commit commit)))
2945 (file-name (git-file-name "rtg-math" version))
2946 (sha256
2947 (base32 "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x"))))
2948 (build-system asdf-build-system/sbcl)
2949 (inputs
2950 `(("alexandria" ,sbcl-alexandria)
2951 ("documentation-utils" ,sbcl-documentation-utils)
2952 ("glsl-symbols" ,sbcl-glsl-spec)))
2953 (home-page "https://github.com/cbaggers/rtg-math")
2954 (synopsis "Common Lisp library of game-related math functions")
2955 (description
2956 "RTG-MATH provides a selection of the math routines most commonly needed
2957 for making realtime graphics in Lisp.")
2958 (license license:bsd-2))))
2959
2960 (define-public ecl-rtg-math
2961 (sbcl-package->ecl-package sbcl-rtg-math))
2962
2963 (define-public cl-rtg-math
2964 (sbcl-package->cl-source-package sbcl-rtg-math))
2965
2966 (define-public sbcl-varjo
2967 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
2968 (revision "1"))
2969 (package
2970 (name "sbcl-varjo")
2971 (version (git-version "0.0.0" revision commit))
2972 (source
2973 (origin
2974 (method git-fetch)
2975 (uri (git-reference
2976 (url "https://github.com/cbaggers/varjo")
2977 (commit commit)))
2978 (file-name (git-file-name "varjo" version))
2979 (sha256
2980 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
2981 (build-system asdf-build-system/sbcl)
2982 (native-inputs
2983 `(("fiveam" ,sbcl-fiveam)))
2984 (inputs
2985 `(("alexandria" ,sbcl-alexandria)
2986 ("cl-ppcre" ,sbcl-cl-ppcre)
2987 ("documentation-utils" ,sbcl-documentation-utils)
2988 ("fn" ,sbcl-fn)
2989 ("glsl-spec" ,sbcl-glsl-spec)
2990 ("named-readtables" ,sbcl-named-readtables)
2991 ("parse-float" ,sbcl-parse-float)
2992 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
2993 (home-page "https://github.com/cbaggers/varjo")
2994 (synopsis "Lisp to GLSL Language Translator")
2995 (description
2996 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
2997 compiles. It aims to be as close to Common Lisp as possible, but naturally it
2998 is statically typed so there are differences.")
2999 (license license:bsd-2))))
3000
3001 (define-public ecl-varjo
3002 (sbcl-package->ecl-package sbcl-varjo))
3003
3004 (define-public cl-varjo
3005 (sbcl-package->cl-source-package sbcl-varjo))
3006
3007 (define-public sbcl-cffi
3008 (package
3009 (name "sbcl-cffi")
3010 (version "0.23.0")
3011 (source
3012 (origin
3013 (method git-fetch)
3014 (uri (git-reference
3015 (url "https://github.com/cffi/cffi")
3016 (commit (string-append "v" version))))
3017 (file-name (git-file-name "cffi-bootstrap" version))
3018 (sha256
3019 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
3020 (build-system asdf-build-system/sbcl)
3021 (inputs
3022 `(("alexandria" ,sbcl-alexandria)
3023 ("babel" ,sbcl-babel)
3024 ("libffi" ,libffi)
3025 ("trivial-features" ,sbcl-trivial-features)))
3026 (native-inputs
3027 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3028 ("pkg-config" ,pkg-config)
3029 ("rt" ,sbcl-rt)))
3030 (arguments
3031 '(#:phases
3032 (modify-phases %standard-phases
3033 (add-after 'unpack 'fix-arm-support
3034 (lambda _
3035 ;; This is apparently deprecated since libffi-3.3.
3036 (substitute* "libffi/libffi-types.lisp"
3037 (("\\\(\\\(:unix64.*") ")\n"))
3038 #t))
3039 (add-after 'unpack 'fix-paths
3040 (lambda* (#:key inputs #:allow-other-keys)
3041 (substitute* "libffi/libffi.lisp"
3042 (("libffi.so.7" all) (string-append
3043 (assoc-ref inputs "libffi")
3044 "/lib/" all)))
3045 (substitute* "toolchain/c-toolchain.lisp"
3046 (("\"cc\"") (format #f "~S" (which "gcc"))))))
3047 (add-after 'build 'install-headers
3048 (lambda* (#:key outputs #:allow-other-keys)
3049 (install-file "grovel/common.h"
3050 (string-append
3051 (assoc-ref outputs "out")
3052 "/include/grovel")))))
3053 #:asd-files '("cffi.asd"
3054 "cffi-toolchain.asd"
3055 "cffi-grovel.asd"
3056 "cffi-libffi.asd"
3057 "cffi-uffi-compat.asd")
3058 #:asd-systems '("cffi"
3059 "cffi-libffi"
3060 "cffi-uffi-compat")))
3061 (home-page "https://common-lisp.net/project/cffi/")
3062 (synopsis "Common Foreign Function Interface for Common Lisp")
3063 (description "The Common Foreign Function Interface (CFFI)
3064 purports to be a portable foreign function interface for Common Lisp.
3065 The CFFI library is composed of a Lisp-implementation-specific backend
3066 in the CFFI-SYS package, and a portable frontend in the CFFI
3067 package.")
3068 (license license:expat)))
3069
3070 (define-public cl-cffi
3071 (sbcl-package->cl-source-package sbcl-cffi))
3072
3073 (define-public ecl-cffi
3074 (sbcl-package->ecl-package sbcl-cffi))
3075
3076 (define-public sbcl-cffi-c-ref
3077 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
3078 (revision "0"))
3079 (package
3080 (name "sbcl-cffi-c-ref")
3081 (version (git-version "1.0" revision commit))
3082 (source
3083 (origin
3084 (method git-fetch)
3085 (uri (git-reference
3086 (url "https://github.com/borodust/cffi-c-ref")
3087 (commit commit)))
3088 (sha256
3089 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
3090 (file-name (git-file-name "cffi-c-ref" version))))
3091 (build-system asdf-build-system/sbcl)
3092 (inputs
3093 `(("alexandria" ,sbcl-alexandria)
3094 ("cffi" ,sbcl-cffi)))
3095 (synopsis "Streamlined access to foreign memory")
3096 (description
3097 "This Common Lisp library provides macros to access foreign memory.")
3098 (home-page "https://github.com/borodust/cffi-c-ref")
3099 (license license:expat))))
3100
3101 (define-public cl-cffi-c-ref
3102 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
3103
3104 (define-public ecl-cffi-c-ref
3105 (sbcl-package->ecl-package sbcl-cffi-c-ref))
3106
3107 (define-public sbcl-cl-sqlite
3108 (package
3109 (name "sbcl-cl-sqlite")
3110 (version "0.2.1")
3111 (source
3112 (origin
3113 (method git-fetch)
3114 (uri (git-reference
3115 (url "https://github.com/dmitryvk/cl-sqlite")
3116 (commit version)))
3117 (file-name (git-file-name "cl-sqlite" version))
3118 (sha256
3119 (base32
3120 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
3121 (build-system asdf-build-system/sbcl)
3122 (inputs
3123 `(("iterate" ,sbcl-iterate)
3124 ("cffi" ,sbcl-cffi)
3125 ("sqlite" ,sqlite)))
3126 (native-inputs
3127 `(("fiveam" ,sbcl-fiveam)
3128 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
3129 (arguments
3130 `(#:asd-systems '("sqlite")
3131 #:phases
3132 (modify-phases %standard-phases
3133 (add-after 'unpack 'fix-paths
3134 (lambda* (#:key inputs #:allow-other-keys)
3135 (substitute* "sqlite-ffi.lisp"
3136 (("libsqlite3" all) (string-append
3137 (assoc-ref inputs "sqlite")"/lib/" all))))))))
3138 (home-page "https://common-lisp.net/project/cl-sqlite/")
3139 (synopsis "Common Lisp binding for SQLite")
3140 (description
3141 "The @command{cl-sqlite} package is an interface to the SQLite embedded
3142 relational database engine.")
3143 (license license:public-domain)))
3144
3145 (define-public cl-sqlite
3146 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3147
3148 (define-public ecl-cl-sqlite
3149 (sbcl-package->ecl-package sbcl-cl-sqlite))
3150
3151 (define-public sbcl-parenscript
3152 ;; Source archives are overwritten on every release, we use the Git repo instead.
3153 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
3154 (package
3155 (name "sbcl-parenscript")
3156 (version (git-version "2.7.1" "1" commit))
3157 (source
3158 (origin
3159 (method git-fetch)
3160 (uri (git-reference
3161 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3162 (commit commit)))
3163 (file-name (git-file-name "parenscript" version))
3164 (sha256
3165 (base32
3166 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
3167 (build-system asdf-build-system/sbcl)
3168 (inputs
3169 `(("cl-ppcre" ,sbcl-cl-ppcre)
3170 ("anaphora" ,sbcl-anaphora)
3171 ("named-readtables" ,sbcl-named-readtables)))
3172 (home-page "https://common-lisp.net/project/parenscript/")
3173 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3174 (description
3175 "Parenscript is a translator from an extended subset of Common Lisp to
3176 JavaScript. Parenscript code can run almost identically on both the
3177 browser (as JavaScript) and server (as Common Lisp).
3178
3179 Parenscript code is treated the same way as Common Lisp code, making the full
3180 power of Lisp macros available for JavaScript. This provides a web
3181 development environment that is unmatched in its ability to reduce code
3182 duplication and provide advanced meta-programming facilities to web
3183 developers.
3184
3185 At the same time, Parenscript is different from almost all other \"language
3186 X\" to JavaScript translators in that it imposes almost no overhead:
3187
3188 @itemize
3189 @item No run-time dependencies: Any piece of Parenscript code is runnable
3190 as-is. There are no JavaScript files to include.
3191 @item Native types: Parenscript works entirely with native JavaScript data
3192 types. There are no new types introduced, and object prototypes are not
3193 touched.
3194 @item Native calling convention: Any JavaScript code can be called without the
3195 need for bindings. Likewise, Parenscript can be used to make efficient,
3196 self-contained JavaScript libraries.
3197 @item Readable code: Parenscript generates concise, formatted, idiomatic
3198 JavaScript code. Identifier names are preserved. This enables seamless
3199 debugging in tools like Firebug.
3200 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
3201 Lisp features. The generated code is almost as fast as hand-written
3202 JavaScript.
3203 @end itemize\n")
3204 (license license:bsd-3))))
3205
3206 (define-public cl-parenscript
3207 (sbcl-package->cl-source-package sbcl-parenscript))
3208
3209 (define-public ecl-parenscript
3210 (sbcl-package->ecl-package sbcl-parenscript))
3211
3212 (define-public sbcl-cl-json
3213 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3214 (package
3215 (name "sbcl-cl-json")
3216 (version (git-version "0.5" "1" commit))
3217 (source
3218 (origin
3219 (method git-fetch)
3220 (uri (git-reference
3221 (url "https://github.com/hankhero/cl-json")
3222 (commit commit)))
3223 (file-name (git-file-name "cl-json" version))
3224 (sha256
3225 (base32
3226 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3227 (build-system asdf-build-system/sbcl)
3228 (native-inputs
3229 `(("fiveam" ,sbcl-fiveam)))
3230 (home-page "https://github.com/hankhero/cl-json")
3231 (synopsis "JSON encoder and decoder for Common-Lisp")
3232 (description
3233 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3234 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3235 and the decoder are highly customizable; at the same time, the default
3236 settings ensure a very simple mode of operation, similar to that provided by
3237 @command{yason} or @command{st-json}.")
3238 (license license:expat))))
3239
3240 (define-public cl-json
3241 (sbcl-package->cl-source-package sbcl-cl-json))
3242
3243 (define-public ecl-cl-json
3244 (sbcl-package->ecl-package sbcl-cl-json))
3245
3246 (define-public sbcl-unix-opts
3247 (package
3248 (name "sbcl-unix-opts")
3249 (version "0.1.7")
3250 (source
3251 (origin
3252 (method git-fetch)
3253 (uri (git-reference
3254 (url "https://github.com/libre-man/unix-opts")
3255 (commit version)))
3256 (file-name (git-file-name "unix-opts" version))
3257 (sha256
3258 (base32
3259 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3260 (build-system asdf-build-system/sbcl)
3261 (home-page "https://github.com/hankhero/cl-json")
3262 (synopsis "Unix-style command line options parser")
3263 (description
3264 "This is a minimalistic parser of command line options. The main
3265 advantage of the library is the ability to concisely define command line
3266 options once and then use this definition for parsing and extraction of
3267 command line arguments, as well as printing description of command line
3268 options (you get --help for free). This way you don't need to repeat
3269 yourself. Also, @command{unix-opts} doesn't depend on anything and
3270 precisely controls the behavior of the parser via Common Lisp restarts.")
3271 (license license:expat)))
3272
3273 (define-public cl-unix-opts
3274 (sbcl-package->cl-source-package sbcl-unix-opts))
3275
3276 (define-public ecl-unix-opts
3277 (sbcl-package->ecl-package sbcl-unix-opts))
3278
3279 (define-public sbcl-trivial-garbage
3280 (package
3281 (name "sbcl-trivial-garbage")
3282 (version "0.21")
3283 (source
3284 (origin
3285 (method git-fetch)
3286 (uri (git-reference
3287 (url "https://github.com/trivial-garbage/trivial-garbage")
3288 (commit (string-append "v" version))))
3289 (file-name (git-file-name "trivial-garbage" version))
3290 (sha256
3291 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3292 (build-system asdf-build-system/sbcl)
3293 (native-inputs
3294 `(("rt" ,sbcl-rt)))
3295 (home-page "https://common-lisp.net/project/trivial-garbage/")
3296 (synopsis "Portable GC-related APIs for Common Lisp")
3297 (description "@command{trivial-garbage} provides a portable API to
3298 finalizers, weak hash-tables and weak pointers on all major implementations of
3299 the Common Lisp programming language.")
3300 (license license:public-domain)))
3301
3302 (define-public cl-trivial-garbage
3303 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3304
3305 (define-public ecl-trivial-garbage
3306 (sbcl-package->ecl-package sbcl-trivial-garbage))
3307
3308 (define-public sbcl-closer-mop
3309 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3310 (package
3311 (name "sbcl-closer-mop")
3312 (version (git-version "1.0.0" "2" commit))
3313 (source
3314 (origin
3315 (method git-fetch)
3316 (uri (git-reference
3317 (url "https://github.com/pcostanza/closer-mop")
3318 (commit commit)))
3319 (sha256
3320 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3321 (file-name (git-file-name "closer-mop" version ))))
3322 (build-system asdf-build-system/sbcl)
3323 (home-page "https://github.com/pcostanza/closer-mop")
3324 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3325 (description "Closer to MOP is a compatibility layer that rectifies many
3326 of the absent or incorrect CLOS MOP features across a broad range of Common
3327 Lisp implementations.")
3328 (license license:expat))))
3329
3330 (define-public cl-closer-mop
3331 (sbcl-package->cl-source-package sbcl-closer-mop))
3332
3333 (define-public ecl-closer-mop
3334 (sbcl-package->ecl-package sbcl-closer-mop))
3335
3336 (define-public sbcl-cl-cffi-gtk
3337 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3338 (package
3339 (name "sbcl-cl-cffi-gtk")
3340 (version (git-version "0.11.2" "2" commit))
3341 (source
3342 (origin
3343 (method git-fetch)
3344 (uri (git-reference
3345 (url "https://github.com/Ferada/cl-cffi-gtk/")
3346 (commit commit)))
3347 (file-name (git-file-name "cl-cffi-gtk" version))
3348 (sha256
3349 (base32
3350 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3351 (build-system asdf-build-system/sbcl)
3352 (native-inputs
3353 `(("fiveam" ,sbcl-fiveam)))
3354 (inputs
3355 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3356 ("cairo" ,cairo)
3357 ("cffi" ,sbcl-cffi)
3358 ("closer-mop" ,sbcl-closer-mop)
3359 ("gdk-pixbuf" ,gdk-pixbuf)
3360 ("glib" ,glib)
3361 ("gtk" ,gtk+)
3362 ("iterate" ,sbcl-iterate)
3363 ("pango" ,pango)
3364 ("trivial-features" ,sbcl-trivial-features)
3365 ("trivial-garbage" ,sbcl-trivial-garbage)))
3366 (arguments
3367 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3368 "glib/cl-cffi-gtk-glib.asd"
3369 "gobject/cl-cffi-gtk-gobject.asd"
3370 "gio/cl-cffi-gtk-gio.asd"
3371 "cairo/cl-cffi-gtk-cairo.asd"
3372 "pango/cl-cffi-gtk-pango.asd"
3373 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3374 "gdk/cl-cffi-gtk-gdk.asd")
3375 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3376 ;; TODO: Tests fail with memory fault.
3377 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3378 #:tests? #f
3379 #:phases
3380 (modify-phases %standard-phases
3381 (add-after 'unpack 'fix-paths
3382 (lambda* (#:key inputs #:allow-other-keys)
3383 (substitute* "glib/glib.init.lisp"
3384 (("libglib|libgthread" all)
3385 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3386 (substitute* "gobject/gobject.init.lisp"
3387 (("libgobject" all)
3388 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3389 (substitute* "gio/gio.init.lisp"
3390 (("libgio" all)
3391 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3392 (substitute* "cairo/cairo.init.lisp"
3393 (("libcairo" all)
3394 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3395 (substitute* "pango/pango.init.lisp"
3396 (("libpango" all)
3397 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3398 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3399 (("libgdk_pixbuf" all)
3400 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3401 (substitute* "gdk/gdk.init.lisp"
3402 (("libgdk" all)
3403 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3404 (substitute* "gdk/gdk.package.lisp"
3405 (("libgtk" all)
3406 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3407 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3408 (synopsis "Common Lisp binding for GTK+3")
3409 (description
3410 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3411 is a library for creating graphical user interfaces.")
3412 (license license:lgpl3))))
3413
3414 (define-public cl-cffi-gtk
3415 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3416
3417 (define-public ecl-cl-cffi-gtk
3418 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3419
3420 (define-public sbcl-cl-webkit
3421 (let ((commit "db855639d4a13f6ba296959cf11635b6b67421bf"))
3422 (package
3423 (name "sbcl-cl-webkit")
3424 (version (git-version "2.4" "13" commit))
3425 (source
3426 (origin
3427 (method git-fetch)
3428 (uri (git-reference
3429 (url "https://github.com/joachifm/cl-webkit")
3430 (commit commit)))
3431 (file-name (git-file-name "cl-webkit" version))
3432 (sha256
3433 (base32
3434 "01alj5bfsh2983pwpdy0zpa2rvl4kl0mqzs08ff46is3cb8fqs0g"))))
3435 (build-system asdf-build-system/sbcl)
3436 (inputs
3437 `(("cffi" ,sbcl-cffi)
3438 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3439 ("webkitgtk" ,webkitgtk)))
3440 (arguments
3441 `(#:asd-systems '("cl-webkit2")
3442 #:phases
3443 (modify-phases %standard-phases
3444 (add-after 'unpack 'fix-paths
3445 (lambda* (#:key inputs #:allow-other-keys)
3446 (substitute* "webkit2/webkit2.init.lisp"
3447 (("libwebkit2gtk" all)
3448 (string-append
3449 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3450 (home-page "https://github.com/joachifm/cl-webkit")
3451 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3452 (description
3453 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3454 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3455 browsing capabilities to an application, leveraging the full power of the
3456 WebKit browsing engine.")
3457 (license license:expat))))
3458
3459 (define-public cl-webkit
3460 (sbcl-package->cl-source-package sbcl-cl-webkit))
3461
3462 (define-public ecl-cl-webkit
3463 (sbcl-package->ecl-package sbcl-cl-webkit))
3464
3465 (define-public sbcl-lparallel
3466 (package
3467 (name "sbcl-lparallel")
3468 (version "2.8.4")
3469 (source
3470 (origin
3471 (method git-fetch)
3472 (uri (git-reference
3473 (url "https://github.com/lmj/lparallel/")
3474 (commit (string-append "lparallel-" version))))
3475 (file-name (git-file-name "lparallel" version))
3476 (sha256
3477 (base32
3478 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3479 (build-system asdf-build-system/sbcl)
3480 (inputs
3481 `(("alexandria" ,sbcl-alexandria)
3482 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3483 ("trivial-garbage" ,sbcl-trivial-garbage)))
3484 (arguments
3485 `(#:phases
3486 (modify-phases %standard-phases
3487 (add-after 'unpack 'fix-dependency
3488 ;; lparallel loads a SBCL specific system in its asd file. This is
3489 ;; not carried over into the fasl which is generated. In order for
3490 ;; it to be carried over, it needs to be listed as a dependency.
3491 (lambda _
3492 (substitute* "lparallel.asd"
3493 ((":depends-on \\(:alexandria" all)
3494 (string-append all " #+sbcl :sb-cltl2"))))))))
3495 (home-page "https://lparallel.org/")
3496 (synopsis "Parallelism for Common Lisp")
3497 (description
3498 "@command{lparallel} is a library for parallel programming in Common
3499 Lisp, featuring:
3500
3501 @itemize
3502 @item a simple model of task submission with receiving queue,
3503 @item constructs for expressing fine-grained parallelism,
3504 @item asynchronous condition handling across thread boundaries,
3505 @item parallel versions of map, reduce, sort, remove, and many others,
3506 @item promises, futures, and delayed evaluation constructs,
3507 @item computation trees for parallelizing interconnected tasks,
3508 @item bounded and unbounded FIFO queues,
3509 @item high and low priority tasks,
3510 @item task killing by category,
3511 @item integrated timeouts.
3512 @end itemize\n")
3513 (license license:expat)))
3514
3515 (define-public cl-lparallel
3516 (sbcl-package->cl-source-package sbcl-lparallel))
3517
3518 (define-public ecl-lparallel
3519 (package
3520 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3521 (arguments
3522 ;; TODO: Find why the tests get stuck forever; disable them for now.
3523 `(#:tests? #f))))
3524
3525 (define-public sbcl-cl-markup
3526 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3527 (package
3528 (name "sbcl-cl-markup")
3529 (version (git-version "0.1" "1" commit))
3530 (source
3531 (origin
3532 (method git-fetch)
3533 (uri (git-reference
3534 (url "https://github.com/arielnetworks/cl-markup/")
3535 (commit commit)))
3536 (file-name (git-file-name "cl-markup" version))
3537 (sha256
3538 (base32
3539 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3540 (build-system asdf-build-system/sbcl)
3541 (home-page "https://github.com/arielnetworks/cl-markup/")
3542 (synopsis "Markup generation library for Common Lisp")
3543 (description
3544 "A modern markup generation library for Common Lisp that features:
3545
3546 @itemize
3547 @item Fast (even faster through compiling the code)
3548 @item Safety
3549 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3550 @item Output with doctype
3551 @item Direct output to stream
3552 @end itemize\n")
3553 (license license:lgpl3+))))
3554
3555 (define-public cl-markup
3556 (sbcl-package->cl-source-package sbcl-cl-markup))
3557
3558 (define-public ecl-cl-markup
3559 (sbcl-package->ecl-package sbcl-cl-markup))
3560
3561 (define-public sbcl-cl-mustache
3562 (package
3563 (name "sbcl-cl-mustache")
3564 (version "0.12.1")
3565 (source
3566 (origin
3567 (method git-fetch)
3568 (uri (git-reference
3569 (url "https://github.com/kanru/cl-mustache")
3570 (commit (string-append "v" version))))
3571 (file-name (git-file-name "cl-mustache" version))
3572 (sha256
3573 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3574 (build-system asdf-build-system/sbcl)
3575 (home-page "https://github.com/kanru/cl-mustache")
3576 (synopsis "Common Lisp Mustache template renderer")
3577 (description "This is a Common Lisp implementation for the Mustache
3578 template system. More details on the standard are available at
3579 @url{https://mustache.github.io}.")
3580 (license license:expat)))
3581
3582 (define-public cl-mustache
3583 (sbcl-package->cl-source-package sbcl-cl-mustache))
3584
3585 (define-public ecl-cl-mustache
3586 (sbcl-package->ecl-package sbcl-cl-mustache))
3587
3588 (define-public sbcl-cl-css
3589 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3590 (package
3591 (name "sbcl-cl-css")
3592 (version (git-version "0.1" "1" commit))
3593 (source
3594 (origin
3595 (method git-fetch)
3596 (uri (git-reference
3597 (url "https://github.com/inaimathi/cl-css/")
3598 (commit commit)))
3599 (file-name (git-file-name "cl-css" version))
3600 (sha256
3601 (base32
3602 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3603 (build-system asdf-build-system/sbcl)
3604 (home-page "https://github.com/inaimathi/cl-css/")
3605 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3606 (description
3607 "This is a dead-simple, non validating, inline CSS generator for Common
3608 Lisp. Its goals are axiomatic syntax, simple implementation to support
3609 portability, and boilerplate reduction in CSS.")
3610 (license license:expat))))
3611
3612 (define-public cl-css
3613 (sbcl-package->cl-source-package sbcl-cl-css))
3614
3615 (define-public ecl-cl-css
3616 (sbcl-package->ecl-package sbcl-cl-css))
3617
3618 (define-public sbcl-portable-threads
3619 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3620 (package
3621 (name "sbcl-portable-threads")
3622 (version (git-version "2.3" "2" commit))
3623 (source
3624 (origin
3625 (method git-fetch)
3626 (uri (git-reference
3627 (url "https://github.com/binghe/portable-threads/")
3628 (commit commit)))
3629 (file-name (git-file-name "portable-threads" version))
3630 (sha256
3631 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3632 (build-system asdf-build-system/sbcl)
3633 (arguments
3634 `(;; Tests seem broken.
3635 #:tests? #f))
3636 (home-page "https://github.com/binghe/portable-threads")
3637 (synopsis "Portable threads API for Common Lisp")
3638 (description
3639 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3640 Lisp (from GBBopen project).")
3641 (license license:asl2.0))))
3642
3643 (define-public cl-portable-threads
3644 (sbcl-package->cl-source-package sbcl-portable-threads))
3645
3646 (define-public ecl-portable-threads
3647 (sbcl-package->ecl-package sbcl-portable-threads))
3648
3649 (define-public sbcl-usocket
3650 (package
3651 (name "sbcl-usocket")
3652 (version "0.8.3")
3653 (source
3654 (origin
3655 (method git-fetch)
3656 (uri (git-reference
3657 (url "https://github.com/usocket/usocket/")
3658 (commit (string-append "v" version))))
3659 (file-name (git-file-name "usocket" version))
3660 (sha256
3661 (base32
3662 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3663 (build-system asdf-build-system/sbcl)
3664 (native-inputs
3665 `(("rt" ,sbcl-rt)))
3666 (inputs
3667 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3668 ("split-sequence" ,sbcl-split-sequence)))
3669 (arguments
3670 `(#:tests? #f ; FIXME: Tests need network access?
3671 #:asd-systems '("usocket"
3672 "usocket-server")))
3673 (home-page "https://common-lisp.net/project/usocket/")
3674 (synopsis "Universal socket library for Common Lisp")
3675 (description
3676 "This library strives to provide a portable TCP/IP and UDP/IP socket
3677 interface for as many Common Lisp implementations as possible, while keeping
3678 the abstraction and portability layer as thin as possible.")
3679 (license license:expat)))
3680
3681 (define-public cl-usocket
3682 (sbcl-package->cl-source-package sbcl-usocket))
3683
3684 (define-public ecl-usocket
3685 (sbcl-package->ecl-package sbcl-usocket))
3686
3687 (define-public sbcl-s-xml
3688 (package
3689 (name "sbcl-s-xml")
3690 (version "3")
3691 (source
3692 (origin
3693 (method url-fetch)
3694 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3695 (sha256
3696 (base32
3697 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3698 (build-system asdf-build-system/sbcl)
3699 (home-page "https://common-lisp.net/project/s-xml/")
3700 (synopsis "Simple XML parser implemented in Common Lisp")
3701 (description
3702 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3703 parser implementation has the following features:
3704
3705 @itemize
3706 @item It works (handling many common XML usages).
3707 @item It is very small (the core is about 700 lines of code, including
3708 comments and whitespace).
3709 @item It has a core API that is simple, efficient and pure functional, much
3710 like that from SSAX (see also http://ssax.sourceforge.net).
3711 @item It supports different DOM models: an XSML-based one, an LXML-based one
3712 and a classic xml-element struct based one.
3713 @item It is reasonably time and space efficient (internally avoiding garbage
3714 generatation as much as possible).
3715 @item It does support CDATA.
3716 @item It should support the same character sets as your Common Lisp
3717 implementation.
3718 @item It does support XML name spaces.
3719 @end itemize
3720
3721 This XML parser implementation has the following limitations:
3722
3723 @itemize
3724 @item It does not support any special tags (like processing instructions).
3725 @item It is not validating, even skips DTD's all together.
3726 @end itemize\n")
3727 (license license:lgpl3+)))
3728
3729 (define-public cl-s-xml
3730 (sbcl-package->cl-source-package sbcl-s-xml))
3731
3732 (define-public ecl-s-xml
3733 (sbcl-package->ecl-package sbcl-s-xml))
3734
3735 (define-public sbcl-s-xml-rpc
3736 (package
3737 (name "sbcl-s-xml-rpc")
3738 (version "7")
3739 (source
3740 (origin
3741 (method url-fetch)
3742 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3743 (sha256
3744 (base32
3745 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3746 (build-system asdf-build-system/sbcl)
3747 (inputs
3748 `(("s-xml" ,sbcl-s-xml)))
3749 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3750 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3751 (description
3752 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3753 client and server.")
3754 (license license:lgpl3+)))
3755
3756 (define-public cl-s-xml-rpc
3757 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3758
3759 (define-public ecl-s-xml-rpc
3760 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3761
3762 (define-public sbcl-trivial-arguments
3763 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3764 (revision "1"))
3765 (package
3766 (name "sbcl-trivial-arguments")
3767 (version (git-version "1.1.0" revision commit))
3768 (source
3769 (origin
3770 (method git-fetch)
3771 (uri (git-reference
3772 (url "https://github.com/Shinmera/trivial-arguments")
3773 (commit commit)))
3774 (file-name (git-file-name "trivial-arguments" version))
3775 (sha256
3776 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3777 (build-system asdf-build-system/sbcl)
3778 (home-page "https://github.com/Shinmera/trivial-arguments")
3779 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3780 (description
3781 "This is a simple library to retrieve the argument list of a function.")
3782 (license license:zlib))))
3783
3784 (define-public ecl-trivial-arguments
3785 (sbcl-package->ecl-package sbcl-trivial-arguments))
3786
3787 (define-public cl-trivial-arguments
3788 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3789
3790 (define-public sbcl-trivial-clipboard
3791 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3792 (package
3793 (name "sbcl-trivial-clipboard")
3794 (version (git-version "0.0.0.0" "4" commit))
3795 (source
3796 (origin
3797 (method git-fetch)
3798 (uri (git-reference
3799 (url "https://github.com/snmsts/trivial-clipboard")
3800 (commit commit)))
3801 (file-name (git-file-name "trivial-clipboard" version))
3802 (sha256
3803 (base32
3804 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3805 (build-system asdf-build-system/sbcl)
3806 (inputs
3807 `(("xclip" ,xclip)))
3808 (native-inputs
3809 `(("fiveam" ,sbcl-fiveam)))
3810 (arguments
3811 `(#:phases
3812 (modify-phases %standard-phases
3813 (add-after 'unpack 'fix-paths
3814 (lambda* (#:key inputs #:allow-other-keys)
3815 (substitute* "src/text.lisp"
3816 (("\"xclip\"")
3817 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3818 (home-page "https://github.com/snmsts/trivial-clipboard")
3819 (synopsis "Access system clipboard in Common Lisp")
3820 (description
3821 "@command{trivial-clipboard} gives access to the system clipboard.")
3822 (license license:expat))))
3823
3824 (define-public cl-trivial-clipboard
3825 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3826
3827 (define-public ecl-trivial-clipboard
3828 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3829
3830 (define-public sbcl-trivial-backtrace
3831 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3832 (revision "1"))
3833 (package
3834 (name "sbcl-trivial-backtrace")
3835 (version (git-version "0.0.0" revision commit))
3836 (source
3837 (origin
3838 (method git-fetch)
3839 (uri (git-reference
3840 (url "https://github.com/gwkkwg/trivial-backtrace")
3841 (commit commit)))
3842 (file-name (git-file-name "trivial-backtrace" version))
3843 (sha256
3844 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3845 (build-system asdf-build-system/sbcl)
3846 (inputs
3847 `(("sbcl-lift" ,sbcl-lift)))
3848 (arguments
3849 `(#:phases
3850 (modify-phases %standard-phases
3851 (add-after 'check 'delete-test-results
3852 (lambda* (#:key outputs #:allow-other-keys)
3853 (let ((test-results (string-append (assoc-ref outputs "out")
3854 "/share/common-lisp/"
3855 (%lisp-type)
3856 "/trivial-backtrace"
3857 "/test-results")))
3858 (when (file-exists? test-results)
3859 (delete-file-recursively test-results)))
3860 #t)))))
3861 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3862 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3863 (description
3864 "One of the many things that didn't quite get into the Common Lisp
3865 standard was how to get a Lisp to output its call stack when something has
3866 gone wrong. As such, each Lisp has developed its own notion of what to
3867 display, how to display it, and what sort of arguments can be used to
3868 customize it. @code{trivial-backtrace} is a simple solution to generating a
3869 backtrace portably.")
3870 (license license:expat))))
3871
3872 (define-public cl-trivial-backtrace
3873 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3874
3875 (define-public ecl-trivial-backtrace
3876 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3877
3878 (define-public sbcl-rfc2388
3879 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3880 (revision "1"))
3881 (package
3882 (name "sbcl-rfc2388")
3883 (version (git-version "0.0.0" revision commit))
3884 (source
3885 (origin
3886 (method git-fetch)
3887 (uri (git-reference
3888 (url "https://github.com/jdz/rfc2388")
3889 (commit commit)))
3890 (file-name (git-file-name "rfc2388" version))
3891 (sha256
3892 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3893 (build-system asdf-build-system/sbcl)
3894 (home-page "https://github.com/jdz/rfc2388/")
3895 (synopsis "An implementation of RFC 2388 in Common Lisp")
3896 (description
3897 "This package contains an implementation of RFC 2388, which is used to
3898 process form data posted with HTTP POST method using enctype
3899 \"multipart/form-data\".")
3900 (license license:bsd-2))))
3901
3902 (define-public cl-rfc2388
3903 (sbcl-package->cl-source-package sbcl-rfc2388))
3904
3905 (define-public ecl-rfc2388
3906 (sbcl-package->ecl-package sbcl-rfc2388))
3907
3908 (define-public sbcl-md5
3909 (package
3910 (name "sbcl-md5")
3911 (version "2.0.4")
3912 (source
3913 (origin
3914 (method git-fetch)
3915 (uri (git-reference
3916 (url "https://github.com/pmai/md5")
3917 (commit (string-append "release-" version))))
3918 (file-name (git-file-name "md5" version))
3919 (sha256
3920 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3921 (build-system asdf-build-system/sbcl)
3922 (home-page "https://github.com/pmai/md5")
3923 (synopsis
3924 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3925 (description
3926 "This package implements The MD5 Message-Digest Algorithm, as defined in
3927 RFC 1321 by R. Rivest, published April 1992.")
3928 (license license:public-domain)))
3929
3930 (define-public cl-md5
3931 (sbcl-package->cl-source-package sbcl-md5))
3932
3933 (define-public ecl-md5
3934 (package
3935 (inherit (sbcl-package->ecl-package sbcl-md5))
3936 (inputs
3937 `(("flexi-streams" ,ecl-flexi-streams)))))
3938
3939 (define-public sbcl-cl+ssl
3940 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3941 (revision "1"))
3942 (package
3943 (name "sbcl-cl+ssl")
3944 (version (git-version "0.0.0" revision commit))
3945 (source
3946 (origin
3947 (method git-fetch)
3948 (uri (git-reference
3949 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3950 (commit commit)))
3951 (file-name (git-file-name "cl+ssl" version))
3952 (sha256
3953 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3954 (build-system asdf-build-system/sbcl)
3955 (arguments
3956 '(#:phases
3957 (modify-phases %standard-phases
3958 (add-after 'unpack 'fix-paths
3959 (lambda* (#:key inputs #:allow-other-keys)
3960 (substitute* "src/reload.lisp"
3961 (("libssl.so" all)
3962 (string-append
3963 (assoc-ref inputs "openssl") "/lib/" all))))))))
3964 (inputs
3965 `(("openssl" ,openssl)
3966 ("sbcl-cffi" ,sbcl-cffi)
3967 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3968 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3969 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3970 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3971 ("sbcl-alexandria" ,sbcl-alexandria)
3972 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3973 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3974 (synopsis "Common Lisp bindings to OpenSSL")
3975 (description
3976 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3977 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3978 Development into CL+SSL was done by David Lichteblau.")
3979 (license license:expat))))
3980
3981 (define-public cl-cl+ssl
3982 (sbcl-package->cl-source-package sbcl-cl+ssl))
3983
3984 (define-public ecl-cl+ssl
3985 (sbcl-package->ecl-package sbcl-cl+ssl))
3986
3987 (define-public sbcl-kmrcl
3988 (let ((version "1.111")
3989 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3990 (revision "1"))
3991 (package
3992 (name "sbcl-kmrcl")
3993 (version (git-version version revision commit))
3994 (source
3995 (origin
3996 (method git-fetch)
3997 (uri (git-reference
3998 (url "http://git.kpe.io/kmrcl.git/")
3999 (commit commit)))
4000 (file-name (git-file-name name version))
4001 (sha256
4002 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
4003 (build-system asdf-build-system/sbcl)
4004 (inputs
4005 `(("sbcl-rt" ,sbcl-rt)))
4006 (home-page "http://files.kpe.io/kmrcl/")
4007 (synopsis "General utilities for Common Lisp programs")
4008 (description
4009 "KMRCL is a collection of utilities used by a number of Kevin
4010 Rosenberg's Common Lisp packages.")
4011 (license license:llgpl))))
4012
4013 (define-public cl-kmrcl
4014 (sbcl-package->cl-source-package sbcl-kmrcl))
4015
4016 (define-public ecl-kmrcl
4017 (sbcl-package->ecl-package sbcl-kmrcl))
4018
4019 (define-public sbcl-cl-base64
4020 ;; 3.3.4 tests are broken, upstream fixes them.
4021 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
4022 (package
4023 (name "sbcl-cl-base64")
4024 (version (git-version "3.3.4" "1" commit))
4025 (source
4026 (origin
4027 (method git-fetch)
4028 (uri (git-reference
4029 (url "http://git.kpe.io/cl-base64.git/")
4030 (commit commit)))
4031 (file-name (git-file-name name version))
4032 (sha256
4033 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
4034 (build-system asdf-build-system/sbcl)
4035 (native-inputs ; For tests.
4036 `(("sbcl-ptester" ,sbcl-ptester)
4037 ("sbcl-kmrcl" ,sbcl-kmrcl)))
4038 (home-page "http://files.kpe.io/cl-base64/")
4039 (synopsis
4040 "Common Lisp package to encode and decode base64 with URI support")
4041 (description
4042 "This package provides highly optimized base64 encoding and decoding.
4043 Besides conversion to and from strings, integer conversions are supported.
4044 Encoding with Uniform Resource Identifiers is supported by using a modified
4045 encoding table that uses only URI-compatible characters.")
4046 (license license:bsd-3))))
4047
4048 (define-public cl-base64
4049 (sbcl-package->cl-source-package sbcl-cl-base64))
4050
4051 (define-public ecl-cl-base64
4052 (sbcl-package->ecl-package sbcl-cl-base64))
4053
4054 (define-public sbcl-chunga
4055 (package
4056 (name "sbcl-chunga")
4057 (version "1.1.7")
4058 (source
4059 (origin
4060 (method git-fetch)
4061 (uri (git-reference
4062 (url "https://github.com/edicl/chunga")
4063 (commit (string-append "v" version))))
4064 (file-name (git-file-name name version))
4065 (sha256
4066 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
4067 (build-system asdf-build-system/sbcl)
4068 (inputs
4069 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4070 (home-page "https://edicl.github.io/chunga/")
4071 (synopsis "Portable chunked streams for Common Lisp")
4072 (description
4073 "Chunga implements streams capable of chunked encoding on demand as
4074 defined in RFC 2616.")
4075 (license license:bsd-2)))
4076
4077 (define-public cl-chunga
4078 (sbcl-package->cl-source-package sbcl-chunga))
4079
4080 (define-public ecl-chunga
4081 (sbcl-package->ecl-package sbcl-chunga))
4082
4083 (define-public sbcl-cl-who
4084 (let ((version "1.1.4")
4085 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
4086 (revision "1"))
4087 (package
4088 (name "sbcl-cl-who")
4089 (version (git-version version revision commit))
4090 (source
4091 (origin
4092 (method git-fetch)
4093 (uri (git-reference
4094 (url "https://github.com/edicl/cl-who")
4095 (commit commit)))
4096 (file-name (git-file-name name version))
4097 (sha256
4098 (base32
4099 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
4100 (build-system asdf-build-system/sbcl)
4101 (native-inputs
4102 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4103 (home-page "https://edicl.github.io/cl-who/")
4104 (synopsis "Yet another Lisp markup language")
4105 (description
4106 "There are plenty of Lisp Markup Languages out there - every Lisp
4107 programmer seems to write at least one during his career - and CL-WHO (where
4108 WHO means \"with-html-output\" for want of a better acronym) is probably just
4109 as good or bad as the next one.")
4110 (license license:bsd-2))))
4111
4112 (define-public cl-who
4113 (sbcl-package->cl-source-package sbcl-cl-who))
4114
4115 (define-public ecl-cl-who
4116 (sbcl-package->ecl-package sbcl-cl-who))
4117
4118 (define-public sbcl-chipz
4119 (let ((version "0.8")
4120 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
4121 (revision "1"))
4122 (package
4123 (name "sbcl-chipz")
4124 (version (git-version version revision commit))
4125 (source
4126 (origin
4127 (method git-fetch)
4128 (uri (git-reference
4129 (url "https://github.com/froydnj/chipz")
4130 (commit commit)))
4131 (file-name (git-file-name name version))
4132 (sha256
4133 (base32
4134 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
4135 (build-system asdf-build-system/sbcl)
4136 (native-inputs
4137 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4138 (home-page "http://method-combination.net/lisp/chipz/")
4139 (synopsis
4140 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
4141 data")
4142 (description
4143 "DEFLATE data, defined in RFC1951, forms the core of popular
4144 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4145 Chipz also provides for decompressing data in those formats as well. BZIP2 is
4146 the format used by the popular compression tool bzip2.")
4147 ;; The author describes it as "MIT-like"
4148 (license license:expat))))
4149
4150 (define-public cl-chipz
4151 (sbcl-package->cl-source-package sbcl-chipz))
4152
4153 (define-public ecl-chipz
4154 (sbcl-package->ecl-package sbcl-chipz))
4155
4156 (define-public sbcl-drakma
4157 (package
4158 (name "sbcl-drakma")
4159 (version "2.0.7")
4160 (source
4161 (origin
4162 (method git-fetch)
4163 (uri (git-reference
4164 (url "https://github.com/edicl/drakma")
4165 (commit (string-append "v" version))))
4166 (file-name (git-file-name name version))
4167 (sha256
4168 (base32
4169 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4170 (build-system asdf-build-system/sbcl)
4171 (inputs
4172 `(("sbcl-puri" ,sbcl-puri)
4173 ("sbcl-cl-base64" ,sbcl-cl-base64)
4174 ("sbcl-chunga" ,sbcl-chunga)
4175 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4176 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4177 ("sbcl-chipz" ,sbcl-chipz)
4178 ("sbcl-usocket" ,sbcl-usocket)
4179 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4180 (native-inputs
4181 `(("sbcl-fiveam" ,sbcl-fiveam)))
4182 (home-page "https://edicl.github.io/drakma/")
4183 (synopsis "HTTP client written in Common Lisp")
4184 (description
4185 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
4186 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4187 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
4188 (license license:bsd-2)))
4189
4190 (define-public cl-drakma
4191 (sbcl-package->cl-source-package sbcl-drakma))
4192
4193 (define-public ecl-drakma
4194 (sbcl-package->ecl-package sbcl-drakma))
4195
4196 (define-public sbcl-hunchentoot
4197 (package
4198 (name "sbcl-hunchentoot")
4199 (version "1.2.38")
4200 (source
4201 (origin
4202 (method git-fetch)
4203 (uri (git-reference
4204 (url "https://github.com/edicl/hunchentoot")
4205 (commit (string-append "v" version))))
4206 (file-name (git-file-name "hunchentoot" version))
4207 (sha256
4208 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4209 (build-system asdf-build-system/sbcl)
4210 (native-inputs
4211 `(("sbcl-cl-who" ,sbcl-cl-who)
4212 ("sbcl-drakma" ,sbcl-drakma)))
4213 (inputs
4214 `(("sbcl-chunga" ,sbcl-chunga)
4215 ("sbcl-cl-base64" ,sbcl-cl-base64)
4216 ("sbcl-cl-fad" ,sbcl-cl-fad)
4217 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4218 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4219 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4220 ("sbcl-md5" ,sbcl-md5)
4221 ("sbcl-rfc2388" ,sbcl-rfc2388)
4222 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4223 ("sbcl-usocket" ,sbcl-usocket)))
4224 (home-page "https://edicl.github.io/hunchentoot/")
4225 (synopsis "Web server written in Common Lisp")
4226 (description
4227 "Hunchentoot is a web server written in Common Lisp and at the same
4228 time a toolkit for building dynamic websites. As a stand-alone web server,
4229 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4230 connections (keep-alive), and SSL.")
4231 (license license:bsd-2)))
4232
4233 (define-public cl-hunchentoot
4234 (sbcl-package->cl-source-package sbcl-hunchentoot))
4235
4236 (define-public ecl-hunchentoot
4237 (package
4238 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4239 (arguments
4240 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4241 '(#:tests? #f))))
4242
4243 (define-public sbcl-trivial-types
4244 (package
4245 (name "sbcl-trivial-types")
4246 (version "0.0.1")
4247 (source
4248 (origin
4249 (method git-fetch)
4250 (uri (git-reference
4251 (url "https://github.com/m2ym/trivial-types")
4252 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4253 (file-name (git-file-name name version))
4254 (sha256
4255 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4256 (build-system asdf-build-system/sbcl)
4257 (home-page "https://github.com/m2ym/trivial-types")
4258 (synopsis "Trivial type definitions for Common Lisp")
4259 (description
4260 "TRIVIAL-TYPES provides missing but important type definitions such as
4261 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4262 (license license:llgpl)))
4263
4264 (define-public cl-trivial-types
4265 (sbcl-package->cl-source-package sbcl-trivial-types))
4266
4267 (define-public ecl-trivial-types
4268 (sbcl-package->ecl-package sbcl-trivial-types))
4269
4270 (define-public sbcl-cl-annot
4271 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4272 (revision "1"))
4273 (package
4274 (name "sbcl-cl-annot")
4275 (version (git-version "0.0.0" revision commit))
4276 (source
4277 (origin
4278 (method git-fetch)
4279 (uri (git-reference
4280 (url "https://github.com/m2ym/cl-annot")
4281 (commit commit)))
4282 (file-name (git-file-name name version))
4283 (sha256
4284 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4285 (build-system asdf-build-system/sbcl)
4286 (inputs
4287 `(("sbcl-alexandria" ,sbcl-alexandria)))
4288 (home-page "https://github.com/m2ym/cl-annot")
4289 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4290 (description
4291 "@code{cl-annot} is an general annotation library for Common Lisp.")
4292 (license license:llgpl))))
4293
4294 (define-public cl-annot
4295 (sbcl-package->cl-source-package sbcl-cl-annot))
4296
4297 (define-public ecl-cl-annot
4298 (sbcl-package->ecl-package sbcl-cl-annot))
4299
4300 (define-public sbcl-cl-syntax
4301 (package
4302 (name "sbcl-cl-syntax")
4303 (version "0.0.3")
4304 (source
4305 (origin
4306 (method git-fetch)
4307 (uri (git-reference
4308 (url "https://github.com/m2ym/cl-syntax")
4309 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4310 (file-name (git-file-name "cl-syntax" version))
4311 (sha256
4312 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4313 (build-system asdf-build-system/sbcl)
4314 (inputs
4315 `(("cl-annot" ,sbcl-cl-annot)
4316 ("cl-interpol" ,sbcl-cl-interpol)
4317 ("named-readtables" ,sbcl-named-readtables)
4318 ("trivial-types" ,sbcl-trivial-types)))
4319 (arguments
4320 '(#:asd-systems '("cl-syntax"
4321 "cl-syntax-annot"
4322 "cl-syntax-interpol")))
4323 (home-page "https://github.com/m2ym/cl-syntax")
4324 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4325 (description
4326 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4327 (license license:llgpl)))
4328
4329 (define-public cl-syntax
4330 (sbcl-package->cl-source-package sbcl-cl-syntax))
4331
4332 (define-public ecl-cl-syntax
4333 (sbcl-package->ecl-package sbcl-cl-syntax))
4334
4335 (define-public sbcl-cl-utilities
4336 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4337 (revision "1"))
4338 (package
4339 (name "sbcl-cl-utilities")
4340 (version (git-version "0.0.0" revision commit))
4341 (source
4342 (origin
4343 (method url-fetch)
4344 (uri
4345 (string-append
4346 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4347 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4348 (sha256
4349 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4350 (build-system asdf-build-system/sbcl)
4351 (arguments
4352 '(#:phases
4353 (modify-phases %standard-phases
4354 (add-after 'unpack 'fix-paths
4355 (lambda* (#:key inputs #:allow-other-keys)
4356 (substitute* "rotate-byte.lisp"
4357 (("in-package :cl-utilities)" all)
4358 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4359 (home-page "http://common-lisp.net/project/cl-utilities")
4360 (synopsis "A collection of semi-standard utilities")
4361 (description
4362 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4363 is a collection of Common Lisp Utilities, things that everybody writes since
4364 they're not part of the official standard. There are some very useful things
4365 there; the only problems are that they aren't implemented as well as you'd
4366 like (some aren't implemented at all) and they aren't conveniently packaged
4367 and maintained. It takes quite a bit of work to carefully implement utilities
4368 for common use, commented and documented, with error checking placed
4369 everywhere some dumb user might make a mistake.")
4370 (license license:public-domain))))
4371
4372 (define-public cl-utilities
4373 (sbcl-package->cl-source-package sbcl-cl-utilities))
4374
4375 (define-public ecl-cl-utilities
4376 (sbcl-package->ecl-package sbcl-cl-utilities))
4377
4378 (define-public sbcl-map-set
4379 (let ((commit "7b4b545b68b8")
4380 (revision "1"))
4381 (package
4382 (name "sbcl-map-set")
4383 (version (git-version "0.0.0" revision commit))
4384 (source
4385 (origin
4386 (method url-fetch)
4387 (uri (string-append
4388 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4389 commit ".tar.gz"))
4390 (sha256
4391 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4392 (build-system asdf-build-system/sbcl)
4393 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4394 (synopsis "Set-like data structure")
4395 (description
4396 "Implementation of a set-like data structure with constant time
4397 addition, removal, and random selection.")
4398 (license license:bsd-3))))
4399
4400 (define-public cl-map-set
4401 (sbcl-package->cl-source-package sbcl-map-set))
4402
4403 (define-public ecl-map-set
4404 (sbcl-package->ecl-package sbcl-map-set))
4405
4406 (define-public sbcl-quri
4407 (package
4408 (name "sbcl-quri")
4409 (version "0.3.0")
4410 (source
4411 (origin
4412 (method git-fetch)
4413 (uri (git-reference
4414 (url "https://github.com/fukamachi/quri")
4415 (commit version)))
4416 (file-name (git-file-name name version))
4417 (sha256
4418 (base32 "1pkvpiwwhx2fcknr7x47h7036ypkg8xzsskqbl5z315ipfmi8s2m"))))
4419 (build-system asdf-build-system/sbcl)
4420 (arguments
4421 ;; Test system must be loaded before, otherwise tests fail with:
4422 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4423 ;; "quri">.
4424 '(#:asd-systems '("quri-test"
4425 "quri")))
4426 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4427 (inputs `(("sbcl-babel" ,sbcl-babel)
4428 ("sbcl-split-sequence" ,sbcl-split-sequence)
4429 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4430 ("sbcl-alexandria" ,sbcl-alexandria)))
4431 (home-page "https://github.com/fukamachi/quri")
4432 (synopsis "Yet another URI library for Common Lisp")
4433 (description
4434 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4435 Lisp. It is intended to be a replacement of PURI.")
4436 (license license:bsd-3)))
4437
4438 (define-public cl-quri
4439 (sbcl-package->cl-source-package sbcl-quri))
4440
4441 (define-public ecl-quri
4442 (sbcl-package->ecl-package sbcl-quri))
4443
4444 (define-public sbcl-myway
4445 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4446 (revision "1"))
4447 (package
4448 (name "sbcl-myway")
4449 (version (git-version "0.1.0" revision commit))
4450 (source
4451 (origin
4452 (method git-fetch)
4453 (uri (git-reference
4454 (url "https://github.com/fukamachi/myway")
4455 (commit commit)))
4456 (file-name (git-file-name "myway" version))
4457 (sha256
4458 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4459 (build-system asdf-build-system/sbcl)
4460 (arguments
4461 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4462 ;; by #<SYSTEM "myway">. Why?
4463 '(#:tests? #f))
4464 (native-inputs
4465 `(("sbcl-prove" ,sbcl-prove)))
4466 (inputs
4467 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4468 ("sbcl-quri" ,sbcl-quri)
4469 ("sbcl-map-set" ,sbcl-map-set)))
4470 (home-page "https://github.com/fukamachi/myway")
4471 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4472 (description "My Way is a Sinatra-compatible URL routing library.")
4473 (license license:llgpl))))
4474
4475 (define-public cl-myway
4476 (sbcl-package->cl-source-package sbcl-myway))
4477
4478 (define-public ecl-myway
4479 (sbcl-package->ecl-package sbcl-myway))
4480
4481 (define-public sbcl-xsubseq
4482 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4483 (revision "1"))
4484 (package
4485 (name "sbcl-xsubseq")
4486 (version (git-version "0.0.1" revision commit))
4487 (source
4488 (origin
4489 (method git-fetch)
4490 (uri (git-reference
4491 (url "https://github.com/fukamachi/xsubseq")
4492 (commit commit)))
4493 (file-name (git-file-name name version))
4494 (sha256
4495 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4496 (build-system asdf-build-system/sbcl)
4497 (arguments
4498 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4499 ;; required by #<SYSTEM "xsubseq">. Why?
4500 '(#:tests? #f))
4501 (native-inputs
4502 `(("sbcl-prove" ,sbcl-prove)))
4503 (home-page "https://github.com/fukamachi/xsubseq")
4504 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4505 (description
4506 "XSubseq provides functions to be able to handle \"subseq\"s more
4507 effieiently.")
4508 (license license:bsd-2))))
4509
4510 (define-public cl-xsubseq
4511 (sbcl-package->cl-source-package sbcl-xsubseq))
4512
4513 (define-public ecl-xsubseq
4514 (sbcl-package->ecl-package sbcl-xsubseq))
4515
4516 (define-public sbcl-smart-buffer
4517 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4518 (revision "1"))
4519 (package
4520 (name "sbcl-smart-buffer")
4521 (version (git-version "0.0.1" revision commit))
4522 (source
4523 (origin
4524 (method git-fetch)
4525 (uri (git-reference
4526 (url "https://github.com/fukamachi/smart-buffer")
4527 (commit commit)))
4528 (file-name (git-file-name name version))
4529 (sha256
4530 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4531 (build-system asdf-build-system/sbcl)
4532 (arguments
4533 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4534 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4535 `(#:tests? #f))
4536 (native-inputs
4537 `(("sbcl-prove" ,sbcl-prove)))
4538 (inputs
4539 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4540 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4541 (home-page "https://github.com/fukamachi/smart-buffer")
4542 (synopsis "Smart octets buffer")
4543 (description
4544 "Smart-buffer provides an output buffer which changes the destination
4545 depending on content size.")
4546 (license license:bsd-3))))
4547
4548 (define-public cl-smart-buffer
4549 (sbcl-package->cl-source-package sbcl-smart-buffer))
4550
4551 (define-public ecl-smart-buffer
4552 (sbcl-package->ecl-package sbcl-smart-buffer))
4553
4554 (define-public sbcl-fast-http
4555 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4556 (revision "2"))
4557 (package
4558 (name "sbcl-fast-http")
4559 (version (git-version "0.2.0" revision commit))
4560 (source
4561 (origin
4562 (method git-fetch)
4563 (uri (git-reference
4564 (url "https://github.com/fukamachi/fast-http")
4565 (commit commit)))
4566 (file-name (git-file-name name version))
4567 (sha256
4568 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4569 (build-system asdf-build-system/sbcl)
4570 (arguments
4571 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4572 ;; required by #<SYSTEM "fast-http">. Why?
4573 `(#:tests? #f))
4574 (native-inputs
4575 `(("sbcl-prove" ,sbcl-prove)
4576 ("cl-syntax" ,sbcl-cl-syntax)))
4577 (inputs
4578 `(("sbcl-alexandria" ,sbcl-alexandria)
4579 ("sbcl-proc-parse" ,sbcl-proc-parse)
4580 ("sbcl-xsubseq" ,sbcl-xsubseq)
4581 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4582 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4583 (home-page "https://github.com/fukamachi/fast-http")
4584 (synopsis "HTTP request/response parser for Common Lisp")
4585 (description
4586 "@code{fast-http} is a HTTP request/response protocol parser for Common
4587 Lisp.")
4588 ;; Author specified the MIT license
4589 (license license:expat))))
4590
4591 (define-public cl-fast-http
4592 (sbcl-package->cl-source-package sbcl-fast-http))
4593
4594 (define-public ecl-fast-http
4595 (sbcl-package->ecl-package sbcl-fast-http))
4596
4597 (define-public sbcl-static-vectors
4598 (package
4599 (name "sbcl-static-vectors")
4600 (version "1.8.6")
4601 (source
4602 (origin
4603 (method git-fetch)
4604 (uri (git-reference
4605 (url "https://github.com/sionescu/static-vectors")
4606 (commit (string-append "v" version))))
4607 (file-name (git-file-name name version))
4608 (sha256
4609 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4610 (native-inputs
4611 `(("sbcl-fiveam" ,sbcl-fiveam)))
4612 (inputs
4613 `(("sbcl-alexandria" ,sbcl-alexandria)
4614 ("sbcl-cffi" ,sbcl-cffi)))
4615 (build-system asdf-build-system/sbcl)
4616 (home-page "https://github.com/sionescu/static-vectors")
4617 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4618 (description
4619 "With @code{static-vectors}, you can create vectors allocated in static
4620 memory.")
4621 (license license:expat)))
4622
4623 (define-public cl-static-vectors
4624 (sbcl-package->cl-source-package sbcl-static-vectors))
4625
4626 (define-public ecl-static-vectors
4627 (sbcl-package->ecl-package sbcl-static-vectors))
4628
4629 (define-public sbcl-marshal
4630 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4631 (revision "1"))
4632 (package
4633 (name "sbcl-marshal")
4634 (version (git-version "1.3.0" revision commit))
4635 (source
4636 (origin
4637 (method git-fetch)
4638 (uri (git-reference
4639 (url "https://github.com/wlbr/cl-marshal")
4640 (commit commit)))
4641 (file-name (git-file-name name version))
4642 (sha256
4643 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4644 (build-system asdf-build-system/sbcl)
4645 (home-page "https://github.com/wlbr/cl-marshal")
4646 (synopsis "Simple (de)serialization of Lisp datastructures")
4647 (description
4648 "Simple and fast marshalling of Lisp datastructures. Convert any object
4649 into a string representation, put it on a stream an revive it from there.
4650 Only minimal changes required to make your CLOS objects serializable.")
4651 (license license:expat))))
4652
4653 (define-public cl-marshal
4654 (sbcl-package->cl-source-package sbcl-marshal))
4655
4656 (define-public ecl-marshal
4657 (sbcl-package->ecl-package sbcl-marshal))
4658
4659 (define-public sbcl-checkl
4660 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4661 (revision "1"))
4662 (package
4663 (name "sbcl-checkl")
4664 (version (git-version "0.0.0" revision commit))
4665 (source
4666 (origin
4667 (method git-fetch)
4668 (uri (git-reference
4669 (url "https://github.com/rpav/CheckL")
4670 (commit commit)))
4671 (file-name (git-file-name name version))
4672 (sha256
4673 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4674 (build-system asdf-build-system/sbcl)
4675 (arguments
4676 ;; Error while trying to load definition for system checkl-test from
4677 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4678 ;; is undefined.
4679 '(#:asd-files '("checkl.asd")
4680 #:tests? #f))
4681 (native-inputs
4682 `(("sbcl-fiveam" ,sbcl-fiveam)))
4683 (inputs
4684 `(("sbcl-marshal" ,sbcl-marshal)))
4685 (home-page "https://github.com/rpav/CheckL/")
4686 (synopsis "Dynamic testing for Common Lisp")
4687 (description
4688 "CheckL lets you write tests dynamically, it checks resulting values
4689 against the last run.")
4690 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4691 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4692 ;; stronger of the two and so I think only listing this should suffice.
4693 (license license:llgpl))))
4694
4695 (define-public cl-checkl
4696 (sbcl-package->cl-source-package sbcl-checkl))
4697
4698 (define-public ecl-checkl
4699 (sbcl-package->ecl-package sbcl-checkl))
4700
4701 (define-public sbcl-fast-io
4702 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4703 (revision "2"))
4704 (package
4705 (name "sbcl-fast-io")
4706 (version (git-version "1.0.0" revision commit))
4707 (source
4708 (origin
4709 (method git-fetch)
4710 (uri (git-reference
4711 (url "https://github.com/rpav/fast-io")
4712 (commit commit)))
4713 (file-name (git-file-name name version))
4714 (sha256
4715 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4716 (build-system asdf-build-system/sbcl)
4717 (arguments
4718 ;; Error while trying to load definition for system fast-io-test from
4719 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4720 ;; is undefined.
4721 '(#:tests? #f
4722 #:asd-files '("fast-io.asd")))
4723 (native-inputs
4724 `(("sbcl-fiveam" ,sbcl-fiveam)
4725 ("sbcl-checkl" ,sbcl-checkl)))
4726 (inputs
4727 `(("sbcl-alexandria" ,sbcl-alexandria)
4728 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4729 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4730 (home-page "https://github.com/rpav/fast-io")
4731 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4732 (description
4733 "Fast-io is about improving performance to octet-vectors and octet
4734 streams (though primarily the former, while wrapping the latter).")
4735 ;; Author specifies this as NewBSD which is an alias
4736 (license license:bsd-3))))
4737
4738 (define-public cl-fast-io
4739 (sbcl-package->cl-source-package sbcl-fast-io))
4740
4741 (define-public ecl-fast-io
4742 (sbcl-package->ecl-package sbcl-fast-io))
4743
4744 (define-public sbcl-jonathan
4745 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4746 (revision "1"))
4747 (package
4748 (name "sbcl-jonathan")
4749 (version (git-version "0.1.0" revision commit))
4750 (source
4751 (origin
4752 (method git-fetch)
4753 (uri (git-reference
4754 (url "https://github.com/Rudolph-Miller/jonathan")
4755 (commit commit)))
4756 (file-name (git-file-name name version))
4757 (sha256
4758 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4759 (build-system asdf-build-system/sbcl)
4760 (arguments
4761 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4762 ;; required by #<SYSTEM "jonathan">. Why?
4763 `(#:tests? #f))
4764 (native-inputs
4765 `(("sbcl-prove" ,sbcl-prove)))
4766 (inputs
4767 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4768 ("sbcl-fast-io" ,sbcl-fast-io)
4769 ("sbcl-proc-parse" ,sbcl-proc-parse)
4770 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4771 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4772 (synopsis "JSON encoder and decoder")
4773 (description
4774 "High performance JSON encoder and decoder. Currently support: SBCL,
4775 CCL.")
4776 ;; Author specifies the MIT license
4777 (license license:expat))))
4778
4779 (define-public cl-jonathan
4780 (sbcl-package->cl-source-package sbcl-jonathan))
4781
4782 (define-public ecl-jonathan
4783 (sbcl-package->ecl-package sbcl-jonathan))
4784
4785 (define-public sbcl-http-body
4786 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4787 (revision "1"))
4788 (package
4789 (name "sbcl-http-body")
4790 (version (git-version "0.1.0" revision commit))
4791 (source
4792 (origin
4793 (method git-fetch)
4794 (uri (git-reference
4795 (url "https://github.com/fukamachi/http-body")
4796 (commit commit)))
4797 (file-name (git-file-name name version))
4798 (sha256
4799 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4800 (build-system asdf-build-system/sbcl)
4801 (arguments
4802 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4803 ;; found, required by #<SYSTEM "http-body">. Why?
4804 `(#:tests? #f))
4805 (native-inputs
4806 `(("sbcl-prove" ,sbcl-prove)))
4807 (inputs
4808 `(("sbcl-fast-http" ,sbcl-fast-http)
4809 ("sbcl-jonathan" ,sbcl-jonathan)
4810 ("sbcl-quri" ,sbcl-quri)))
4811 (home-page "https://github.com/fukamachi/http-body")
4812 (synopsis "HTTP POST data parser")
4813 (description
4814 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4815 supports application/x-www-form-urlencoded, application/json, and
4816 multipart/form-data.")
4817 (license license:bsd-2))))
4818
4819 (define-public cl-http-body
4820 (sbcl-package->cl-source-package sbcl-http-body))
4821
4822 (define-public ecl-http-body
4823 (sbcl-package->ecl-package sbcl-http-body))
4824
4825 (define-public sbcl-circular-streams
4826 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4827 (revision "1"))
4828 (package
4829 (name "sbcl-circular-streams")
4830 (version (git-version "0.1.0" revision commit))
4831 (source
4832 (origin
4833 (method git-fetch)
4834 (uri (git-reference
4835 (url "https://github.com/fukamachi/circular-streams")
4836 (commit commit)))
4837 (file-name (git-file-name name version))
4838 (sha256
4839 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4840 (build-system asdf-build-system/sbcl)
4841 (arguments
4842 ;; The tests depend on cl-test-more which is now prove. Prove
4843 ;; tests aren't working for some reason.
4844 `(#:tests? #f))
4845 (inputs
4846 `(("sbcl-fast-io" ,sbcl-fast-io)
4847 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4848 (home-page "https://github.com/fukamachi/circular-streams")
4849 (synopsis "Circularly readable streams for Common Lisp")
4850 (description
4851 "Circular-Streams allows you to read streams circularly by wrapping real
4852 streams. Once you reach end-of-file of a stream, it's file position will be
4853 reset to 0 and you're able to read it again.")
4854 (license license:llgpl))))
4855
4856 (define-public cl-circular-streams
4857 (sbcl-package->cl-source-package sbcl-circular-streams))
4858
4859 (define-public ecl-circular-streams
4860 (sbcl-package->ecl-package sbcl-circular-streams))
4861
4862 (define-public sbcl-lack
4863 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4864 (revision "1"))
4865 (package
4866 (name "sbcl-lack")
4867 (version (git-version "0.1.0" revision commit))
4868 (source
4869 (origin
4870 (method git-fetch)
4871 (uri (git-reference
4872 (url "https://github.com/fukamachi/lack")
4873 (commit commit)))
4874 (file-name (git-file-name "lack" version))
4875 (sha256
4876 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4877 (build-system asdf-build-system/sbcl)
4878 (native-inputs
4879 `(("prove" ,sbcl-prove)))
4880 (inputs
4881 `(("circular-streams" ,sbcl-circular-streams)
4882 ("http-body" ,sbcl-http-body)
4883 ("ironclad" ,sbcl-ironclad)
4884 ("local-time" ,sbcl-local-time)
4885 ("quri" ,sbcl-quri)
4886 ("trivial-mimes" ,sbcl-trivial-mimes)))
4887 (arguments
4888 '(#:asd-systems '("lack"
4889 "lack-request"
4890 "lack-response"
4891 "lack-component"
4892 "lack-util"
4893 "lack-middleware-backtrace"
4894 "lack-middleware-static")
4895 #:test-asd-file "t-lack.asd"
4896 ;; XXX: Component :CLACK not found
4897 #:tests? #f))
4898 (home-page "https://github.com/fukamachi/lack")
4899 (synopsis "Lack, the core of Clack")
4900 (description
4901 "Lack is a Common Lisp library which allows web applications to be
4902 constructed of modular components. It was originally a part of Clack, however
4903 it's going to be rewritten as an individual project since Clack v2 with
4904 performance and simplicity in mind.")
4905 (license license:llgpl))))
4906
4907 (define-public cl-lack
4908 (sbcl-package->cl-source-package sbcl-lack))
4909
4910 (define-public ecl-lack
4911 (sbcl-package->ecl-package sbcl-lack))
4912
4913 (define-public sbcl-local-time
4914 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4915 (revision "2"))
4916 (package
4917 (name "sbcl-local-time")
4918 (version (git-version "1.0.6" revision commit))
4919 (source
4920 (origin
4921 (method git-fetch)
4922 (uri (git-reference
4923 (url "https://github.com/dlowe-net/local-time")
4924 (commit commit)))
4925 (file-name (git-file-name name version))
4926 (sha256
4927 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4928 (build-system asdf-build-system/sbcl)
4929 (native-inputs
4930 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4931 (home-page "https://common-lisp.net/project/local-time/")
4932 (synopsis "Time manipulation library for Common Lisp")
4933 (description
4934 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4935 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4936 Long Painful History of Time\".")
4937 (license license:expat))))
4938
4939 (define-public cl-local-time
4940 (sbcl-package->cl-source-package sbcl-local-time))
4941
4942 (define-public ecl-local-time
4943 (sbcl-package->ecl-package sbcl-local-time))
4944
4945 (define-public sbcl-chronicity
4946 (package
4947 (name "sbcl-chronicity")
4948 (version "0.4.1")
4949 (source
4950 (origin
4951 (method git-fetch)
4952 (uri (git-reference
4953 (url "https://github.com/chaitanyagupta/chronicity")
4954 (commit (string-append "v" version))))
4955 (file-name (git-file-name "chronicity" version))
4956 (sha256
4957 (base32 "0rzrl9is2v1aqbm0sym0qx3blnpd0bl13dkkmll6mb3983k2mkax"))))
4958 (build-system asdf-build-system/sbcl)
4959 (native-inputs
4960 `(("lisp-unit" ,sbcl-lisp-unit)))
4961 (inputs
4962 `(("cl-interpol" ,sbcl-cl-interpol)
4963 ("cl-ppcre" ,sbcl-cl-ppcre)
4964 ("local-time" ,sbcl-local-time)))
4965 (home-page "https://github.com/chaitanyagupta/chronicity")
4966 (synopsis "Natural language date and time parser for Common Lisp")
4967 (description
4968 "CHRONICITY is Common Lisp natural language date and time parser inspired
4969 by Ruby's @code{Chronic}.")
4970 (license license:bsd-3)))
4971
4972 (define-public ecl-chronicity
4973 (sbcl-package->ecl-package sbcl-chronicity))
4974
4975 (define-public cl-chronicity
4976 (sbcl-package->cl-source-package sbcl-chronicity))
4977
4978 (define-public sbcl-trivial-mimes
4979 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4980 (revision "2"))
4981 (package
4982 (name "sbcl-trivial-mimes")
4983 (version (git-version "1.1.0" revision commit))
4984 (source
4985 (origin
4986 (method git-fetch)
4987 (uri (git-reference
4988 (url "https://github.com/Shinmera/trivial-mimes")
4989 (commit commit)))
4990 (file-name (git-file-name name version))
4991 (sha256
4992 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4993 (build-system asdf-build-system/sbcl)
4994 (native-inputs
4995 `(("stefil" ,sbcl-hu.dwim.stefil)))
4996 (inputs
4997 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4998 (home-page "https://shinmera.github.io/trivial-mimes/")
4999 (synopsis "Tiny Common Lisp library to detect mime types in files")
5000 (description
5001 "This is a teensy library that provides some functions to determine the
5002 mime-type of a file.")
5003 (license license:zlib))))
5004
5005 (define-public cl-trivial-mimes
5006 (sbcl-package->cl-source-package sbcl-trivial-mimes))
5007
5008 (define-public ecl-trivial-mimes
5009 (sbcl-package->ecl-package sbcl-trivial-mimes))
5010
5011 (define-public sbcl-ningle
5012 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
5013 (revision "1"))
5014 (package
5015 (name "sbcl-ningle")
5016 (version (git-version "0.3.0" revision commit))
5017 (source
5018 (origin
5019 (method git-fetch)
5020 (uri (git-reference
5021 (url "https://github.com/fukamachi/ningle")
5022 (commit commit)))
5023 (file-name (git-file-name name version))
5024 (sha256
5025 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
5026 (build-system asdf-build-system/sbcl)
5027 (arguments
5028 ;; TODO: pull in clack-test
5029 '(#:tests? #f
5030 #:phases
5031 (modify-phases %standard-phases
5032 (delete 'cleanup-files)
5033 (delete 'cleanup)
5034 (add-before 'cleanup 'combine-fasls
5035 (lambda* (#:key outputs #:allow-other-keys)
5036 (let* ((out (assoc-ref outputs "out"))
5037 (lib (string-append out "/lib/sbcl"))
5038 (ningle-path (string-append lib "/ningle"))
5039 (fasl-files (find-files out "\\.fasl$")))
5040 (mkdir-p ningle-path)
5041 (let ((fasl-path (lambda (name)
5042 (string-append ningle-path
5043 "/"
5044 (basename name)
5045 "--system.fasl"))))
5046 (for-each (lambda (file)
5047 (rename-file file
5048 (fasl-path
5049 (basename file ".fasl"))))
5050 fasl-files))
5051 fasl-files)
5052 #t)))))
5053 (native-inputs
5054 `(("sbcl-prove" ,sbcl-prove)))
5055 (inputs
5056 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
5057 ("sbcl-myway" ,sbcl-myway)
5058 ("sbcl-lack" ,sbcl-lack)
5059 ("sbcl-alexandria" ,sbcl-alexandria)
5060 ("sbcl-babel" ,sbcl-babel)))
5061 (home-page "https://8arrow.org/ningle/")
5062 (synopsis "Super micro framework for Common Lisp")
5063 (description
5064 "Ningle is a lightweight web application framework for Common Lisp.")
5065 (license license:llgpl))))
5066
5067 (define-public cl-ningle
5068 (sbcl-package->cl-source-package sbcl-ningle))
5069
5070 (define-public ecl-ningle
5071 (sbcl-package->ecl-package sbcl-ningle))
5072
5073 (define-public sbcl-cl-fastcgi
5074 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
5075 (revision "2"))
5076 (package
5077 (name "sbcl-cl-fastcgi")
5078 (version (git-version "0.2" revision commit))
5079 (source
5080 (origin
5081 (method git-fetch)
5082 (uri (git-reference
5083 (url "https://github.com/KDr2/cl-fastcgi/")
5084 (commit commit)))
5085 (file-name (git-file-name name version))
5086 (sha256
5087 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
5088 (build-system asdf-build-system/sbcl)
5089 (inputs
5090 `(("usocket" ,sbcl-usocket)
5091 ("cffi" ,sbcl-cffi)
5092 ("fcgi" ,fcgi)))
5093 (arguments
5094 `(#:phases
5095 (modify-phases %standard-phases
5096 (add-after 'unpack 'fix-paths
5097 (lambda* (#:key inputs #:allow-other-keys)
5098 (substitute* "cl-fastcgi.lisp"
5099 (("\"libfcgi.so\"")
5100 (string-append
5101 "\""
5102 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
5103 (home-page "https://kdr2.com/project/cl-fastcgi.html")
5104 (synopsis "FastCGI wrapper for Common Lisp")
5105 (description
5106 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
5107 mostly Common Lisp implementation.")
5108 (license license:bsd-2))))
5109
5110 (define-public cl-fastcgi
5111 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
5112
5113 (define-public ecl-cl-fastcgi
5114 (sbcl-package->ecl-package sbcl-cl-fastcgi))
5115
5116 (define-public sbcl-clack
5117 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
5118 (revision "1"))
5119 (package
5120 (name "sbcl-clack")
5121 (version (git-version "2.0.0" revision commit))
5122 (source
5123 (origin
5124 (method git-fetch)
5125 (uri (git-reference
5126 (url "https://github.com/fukamachi/clack")
5127 (commit commit)))
5128 (file-name (git-file-name name version))
5129 (sha256
5130 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
5131 (build-system asdf-build-system/sbcl)
5132 (inputs
5133 `(("alexandria" ,sbcl-alexandria)
5134 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5135 ("cl-fastcgi" ,sbcl-cl-fastcgi)
5136 ("flexi-streams" ,sbcl-flexi-streams)
5137 ("hunchentoot" ,sbcl-hunchentoot)
5138 ("lack" ,sbcl-lack)
5139 ("split-sequence" ,sbcl-split-sequence)
5140 ("usocket" ,sbcl-usocket)
5141 ("quri" ,sbcl-quri)))
5142 (arguments
5143 '(#:asd-systems '("clack"
5144 "clack-handler-fcgi"
5145 "clack-socket"
5146 "clack-handler-hunchentoot")))
5147 (home-page "https://github.com/fukamachi/clack")
5148 (synopsis "Web Application Environment for Common Lisp")
5149 (description
5150 "Clack is a web application environment for Common Lisp inspired by
5151 Python's WSGI and Ruby's Rack.")
5152 (license license:llgpl))))
5153
5154 (define-public cl-clack
5155 (sbcl-package->cl-source-package sbcl-clack))
5156
5157 (define-public ecl-clack
5158 (sbcl-package->ecl-package sbcl-clack))
5159
5160 (define-public sbcl-cl-log
5161 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
5162 (revision "1"))
5163 (package
5164 (name "sbcl-cl-log")
5165 (version "1.0.1")
5166 (source
5167 (origin
5168 (method git-fetch)
5169 (uri (git-reference
5170 (url "https://github.com/nicklevine/cl-log")
5171 (commit commit)))
5172 (sha256
5173 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5174 (file-name (git-file-name "cl-log" version))))
5175 (build-system asdf-build-system/sbcl)
5176 (synopsis "Common Lisp general purpose logging utility")
5177 (description "CL-LOG is a general purpose logging utility, loosely modelled
5178 in some respects after Gary King's Log5. Its features include: logging to
5179 several destinations at once, via \"messengers\", each messenger is tailored to
5180 accept some log messages and reject others, and this tailoring can be changed
5181 on-the-fly, very rapid processing of messages which are rejected by all
5182 messengers, fully independent use of the utility by several different
5183 sub-systems in an application, support for messengers which cl:format text to a
5184 stream, support for messengers which do not invoke cl:format, timestamps in
5185 theory accurate to internal-time-units-per-second.")
5186 (home-page "https://github.com/nicklevine/cl-log")
5187 (license license:expat))))
5188
5189 (define-public cl-log
5190 (sbcl-package->cl-source-package sbcl-cl-log))
5191
5192 (define-public ecl-cl-log
5193 (sbcl-package->ecl-package sbcl-cl-log))
5194
5195 (define-public sbcl-log4cl
5196 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
5197 (revision "1"))
5198 (package
5199 (name "sbcl-log4cl")
5200 (version (git-version "1.1.3" revision commit))
5201 (source
5202 (origin
5203 (method git-fetch)
5204 (uri (git-reference
5205 (url "https://github.com/sharplispers/log4cl")
5206 (commit commit)))
5207 (file-name (git-file-name "log4cl" version))
5208 (sha256
5209 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5210 (build-system asdf-build-system/sbcl)
5211 (native-inputs
5212 `(("stefil" ,sbcl-stefil)))
5213 (inputs
5214 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5215 (home-page "https://github.com/7max/log4cl")
5216 (synopsis "Common Lisp logging framework, modeled after Log4J")
5217 (description
5218 "This is a Common Lisp logging framework that can log at various levels
5219 and mix text with expressions.")
5220 (license license:asl2.0))))
5221
5222 (define-public cl-log4cl
5223 (sbcl-package->cl-source-package sbcl-log4cl))
5224
5225 (define-public ecl-log4cl
5226 (sbcl-package->ecl-package sbcl-log4cl))
5227
5228 (define-public sbcl-printv
5229 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5230 (revision "1"))
5231 (package
5232 (name "sbcl-printv")
5233 (version (git-version "0.1.0" revision commit))
5234 (source
5235 (origin
5236 (method git-fetch)
5237 (uri (git-reference
5238 (url "https://github.com/danlentz/printv")
5239 (commit commit)))
5240 (file-name (git-file-name "printv" version))
5241 (sha256
5242 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5243 (build-system asdf-build-system/sbcl)
5244 (home-page "https://github.com/danlentz/printv")
5245 (synopsis "Common Lisp tracing and debug-logging macro")
5246 (description
5247 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5248 macro for Common Lisp.")
5249 (license license:asl2.0))))
5250
5251 (define-public ecl-printv
5252 (sbcl-package->ecl-package sbcl-printv))
5253
5254 (define-public cl-printv
5255 (sbcl-package->cl-source-package sbcl-printv))
5256
5257 (define-public sbcl-cl-debug
5258 (let ((commit "b334280806104ee7f7d3aec666bf7e08d2f89b31")
5259 (revision "1"))
5260 (package
5261 (name "sbcl-cl-debug")
5262 (version (git-version "1.0.0" revision commit))
5263 (source
5264 (origin
5265 (method git-fetch)
5266 (uri (git-reference
5267 (url "https://github.com/kmx-io/cl-debug")
5268 (commit commit)))
5269 (file-name (git-file-name "cl-debug" version))
5270 (sha256
5271 (base32 "0w5vxbjsgr3zfpivdmghmhzxskfdvm1p34c8whwps2xlhypxsa78"))))
5272 (build-system asdf-build-system/sbcl)
5273 (home-page "https://github.com/kmx-io/cl-debug")
5274 (synopsis "Common Lisp cross-package debugging facility")
5275 (description
5276 "CL-DEBUG provides a unified way to enable or disable debug-specific code.
5277 Debugging code can be enabled or disabled relative to program features denoted
5278 by either a symbol or a keyword.")
5279 (license license:isc))))
5280
5281 (define-public ecl-cl-debug
5282 (sbcl-package->ecl-package sbcl-cl-debug))
5283
5284 (define-public cl-debug
5285 (sbcl-package->cl-source-package sbcl-cl-debug))
5286
5287 (define-public sbcl-verbose
5288 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5289 (revision "1"))
5290 (package
5291 (name "sbcl-verbose")
5292 (version (git-version "2.0.0" revision commit))
5293 (source
5294 (origin
5295 (method git-fetch)
5296 (uri (git-reference
5297 (url "https://github.com/Shinmera/verbose/")
5298 (commit commit)))
5299 (file-name (git-file-name "verbose" version))
5300 (sha256
5301 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5302 (build-system asdf-build-system/sbcl)
5303 (inputs
5304 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5305 ("dissect" ,sbcl-dissect)
5306 ("documentation-utils" ,sbcl-documentation-utils)
5307 ("local-time" ,sbcl-local-time)
5308 ("piping" ,sbcl-piping)))
5309 (home-page "https://shinmera.github.io/verbose/")
5310 (synopsis "Logging framework using the piping library")
5311 (description
5312 "This is a Common Lisp library providing logging faciltiy similar to
5313 @code{CL-LOG} and @code{LOG4CL}.")
5314 (license license:zlib))))
5315
5316 (define-public ecl-verbose
5317 (sbcl-package->ecl-package sbcl-verbose))
5318
5319 (define-public cl-verbose
5320 (sbcl-package->cl-source-package sbcl-verbose))
5321
5322 (define-public sbcl-find-port
5323 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5324 (revision "1"))
5325 (package
5326 (name "sbcl-find-port")
5327 (build-system asdf-build-system/sbcl)
5328 (version "0.1")
5329 (home-page "https://github.com/eudoxia0/find-port")
5330 (source
5331 (origin
5332 (method git-fetch)
5333 (uri (git-reference
5334 (url home-page)
5335 (commit commit)))
5336 (file-name (git-file-name name version))
5337 (sha256
5338 (base32
5339 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5340 (native-inputs
5341 `(("fiveam" ,sbcl-fiveam)))
5342 (inputs
5343 `(("sbcl-usocket" ,sbcl-usocket)))
5344 (synopsis "Find open ports programmatically in Common Lisp")
5345 (description "This is a small Common Lisp library that finds an open
5346 port within a range.")
5347 (license license:expat))))
5348
5349 (define-public cl-find-port
5350 (sbcl-package->cl-source-package sbcl-find-port))
5351
5352 (define-public ecl-find-port
5353 (sbcl-package->ecl-package sbcl-find-port))
5354
5355 (define-public sbcl-clunit
5356 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5357 (revision "1"))
5358 (package
5359 (name "sbcl-clunit")
5360 (version (git-version "0.2.3" revision commit))
5361 (source
5362 (origin
5363 (method git-fetch)
5364 (uri (git-reference
5365 (url "https://github.com/tgutu/clunit")
5366 (commit commit)))
5367 (file-name (git-file-name name version))
5368 (sha256
5369 (base32
5370 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5371 (build-system asdf-build-system/sbcl)
5372 (synopsis "CLUnit is a Common Lisp unit testing framework")
5373 (description
5374 "CLUnit is a Common Lisp unit testing framework. It is designed
5375 to be easy to use so that you can quickly start testing. CLUnit
5376 provides a rich set of features aimed at improving your unit testing
5377 experience.")
5378 (home-page "https://tgutu.github.io/clunit/")
5379 ;; MIT License
5380 (license license:expat))))
5381
5382 (define-public cl-clunit
5383 (sbcl-package->cl-source-package sbcl-clunit))
5384
5385 (define-public ecl-clunit
5386 (sbcl-package->ecl-package sbcl-clunit))
5387
5388 (define-public sbcl-py4cl
5389 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5390 (revision "1"))
5391 (package
5392 (name "sbcl-py4cl")
5393 (version (git-version "0.0.0" revision commit))
5394 (source
5395 (origin
5396 (method git-fetch)
5397 (uri (git-reference
5398 (url "https://github.com/bendudson/py4cl")
5399 (commit commit)))
5400 (file-name (git-file-name name version))
5401 (sha256
5402 (base32
5403 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5404 (modules '((guix build utils)))))
5405 (build-system asdf-build-system/sbcl)
5406 (native-inputs
5407 `(("sbcl-clunit" ,sbcl-clunit)))
5408 (inputs
5409 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5410 (propagated-inputs
5411 ;; This package doesn't do anything without python available
5412 `(("python" ,python)
5413 ;; For multi-dimensional array support
5414 ("python-numpy" ,python-numpy)))
5415 (arguments
5416 '(#:phases
5417 (modify-phases %standard-phases
5418 (add-after 'unpack 'replace-*base-directory*-var
5419 (lambda* (#:key outputs #:allow-other-keys)
5420 ;; In the ASD, the author makes an attempt to
5421 ;; programatically determine the location of the
5422 ;; source-code so lisp can call into "py4cl.py". We can
5423 ;; hard-code this since we know where this file will
5424 ;; reside.
5425 (substitute* "src/callpython.lisp"
5426 (("py4cl/config:\\*base-directory\\*")
5427 (string-append
5428 "\""
5429 (assoc-ref outputs "out")
5430 "/share/common-lisp/sbcl-source/py4cl/"
5431 "\""))))))))
5432 (synopsis "Call python from Common Lisp")
5433 (description
5434 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5435 Lisp to interact with Python code. It uses streams to communicate with a
5436 separate python process, the approach taken by cl4py. This is different to
5437 the CFFI approach used by burgled-batteries, but has the same goal.")
5438 (home-page "https://github.com/bendudson/py4cl")
5439 ;; MIT License
5440 (license license:expat))))
5441
5442 (define-public cl-py4cl
5443 (sbcl-package->cl-source-package sbcl-py4cl))
5444
5445 (define-public ecl-py4cl
5446 (sbcl-package->ecl-package sbcl-py4cl))
5447
5448 (define-public sbcl-parse-declarations
5449 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5450 (revision "1"))
5451 (package
5452 (name "sbcl-parse-declarations")
5453 (version (git-version "1.0.0" revision commit))
5454 (source
5455 (origin
5456 (method git-fetch)
5457 (uri (git-reference
5458 (url (string-append
5459 "https://gitlab.common-lisp.net/parse-declarations/"
5460 "parse-declarations.git"))
5461 (commit commit)))
5462 (file-name (git-file-name name version))
5463 (sha256
5464 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5465 (build-system asdf-build-system/sbcl)
5466 (arguments
5467 `(#:asd-systems '("parse-declarations-1.0")))
5468 (home-page "https://common-lisp.net/project/parse-declarations/")
5469 (synopsis "Parse, filter, and build declarations")
5470 (description
5471 "Parse-Declarations is a Common Lisp library to help writing
5472 macros which establish bindings. To be semantically correct, such
5473 macros must take user declarations into account, as these may affect
5474 the bindings they establish. Yet the ANSI standard of Common Lisp does
5475 not provide any operators to work with declarations in a convenient,
5476 high-level way. This library provides such operators.")
5477 ;; MIT License
5478 (license license:expat))))
5479
5480 (define-public cl-parse-declarations
5481 (sbcl-package->cl-source-package sbcl-parse-declarations))
5482
5483 (define-public ecl-parse-declarations
5484 (sbcl-package->ecl-package sbcl-parse-declarations))
5485
5486 (define-public sbcl-cl-quickcheck
5487 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5488 (revision "1"))
5489 (package
5490 (name "sbcl-cl-quickcheck")
5491 (version (git-version "0.0.4" revision commit))
5492 (source
5493 (origin
5494 (method git-fetch)
5495 (uri (git-reference
5496 (url "https://github.com/mcandre/cl-quickcheck")
5497 (commit commit)))
5498 (file-name (git-file-name name version))
5499 (sha256
5500 (base32
5501 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5502 (build-system asdf-build-system/sbcl)
5503 (synopsis
5504 "Common Lisp port of the QuickCheck unit test framework")
5505 (description
5506 "Common Lisp port of the QuickCheck unit test framework")
5507 (home-page "https://github.com/mcandre/cl-quickcheck")
5508 ;; MIT
5509 (license license:expat))))
5510
5511 (define-public cl-quickcheck
5512 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5513
5514 (define-public ecl-cl-quickcheck
5515 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5516
5517 (define-public sbcl-burgled-batteries3
5518 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5519 (revision "2"))
5520 (package
5521 (name "sbcl-burgled-batteries3")
5522 (version (git-version "0.0.0" revision commit))
5523 (source
5524 (origin
5525 (method git-fetch)
5526 (uri (git-reference
5527 (url "https://github.com/snmsts/burgled-batteries3")
5528 (commit commit)))
5529 (file-name (git-file-name name version))
5530 (sha256
5531 (base32
5532 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5533 (build-system asdf-build-system/sbcl)
5534 (arguments
5535 `(#:tests? #f
5536 #:modules (((guix build python-build-system) #:select (python-version))
5537 ,@%asdf-build-system-modules)
5538 #:imported-modules ((guix build python-build-system)
5539 ,@%asdf-build-system-modules)
5540 #:phases
5541 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5542 (add-after 'unpack 'set-*cpython-include-dir*-var
5543 (lambda* (#:key inputs #:allow-other-keys)
5544 (let ((python (assoc-ref inputs "python")))
5545 (setenv "BB_PYTHON3_INCLUDE_DIR"
5546 (string-append python "/include/python"
5547 (python-version python)))
5548 (setenv "BB_PYTHON3_DYLIB"
5549 (string-append python "/lib/libpython3.so"))
5550 #t)))
5551 (add-after 'unpack 'adjust-for-python-3.8
5552 (lambda _
5553 ;; This method is no longer part of the public API.
5554 (substitute* "ffi-interface.lisp"
5555 ((".*PyEval_ReInitThreads.*")
5556 ""))
5557 #t)))))
5558 (native-inputs
5559 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5560 ("sbcl-lift" ,sbcl-lift)
5561 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5562 (inputs
5563 `(("python" ,python)
5564 ("sbcl-cffi" ,sbcl-cffi)
5565 ("sbcl-alexandria" , sbcl-alexandria)
5566 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5567 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5568 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5569 (description
5570 "This package provides a shim between Python3 (specifically, the
5571 CPython implementation of Python) and Common Lisp.")
5572 (home-page "https://github.com/snmsts/burgled-batteries3")
5573 (license license:expat))))
5574
5575 (define-public cl-burgled-batteries3
5576 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5577
5578 (define-public ecl-burgled-batteries3
5579 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5580
5581 (define-public sbcl-metabang-bind
5582 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5583 (revision "1"))
5584 (package
5585 (name "sbcl-metabang-bind")
5586 (version (git-version "0.8.0" revision commit))
5587 (source
5588 (origin
5589 (method git-fetch)
5590 (uri (git-reference
5591 (url "https://github.com/gwkkwg/metabang-bind")
5592 (commit commit)))
5593 (file-name (git-file-name name version))
5594 (sha256
5595 (base32
5596 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5597 (build-system asdf-build-system/sbcl)
5598 (native-inputs
5599 `(("sbcl-lift" ,sbcl-lift)))
5600 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5601 (description
5602 "Bind extends the idea of of let and destructing to provide a uniform
5603 syntax for all your accessor needs. It combines @code{let},
5604 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5605 editing, property or association-lists, and @code{multiple-value-bind} and a
5606 whole lot more into a single form.")
5607 (home-page "https://common-lisp.net/project/metabang-bind/")
5608 ;; MIT License
5609 (license license:expat))))
5610
5611 (define-public cl-metabang-bind
5612 (sbcl-package->cl-source-package sbcl-metabang-bind))
5613
5614 (define-public ecl-metabang-bind
5615 (sbcl-package->ecl-package sbcl-metabang-bind))
5616
5617 (define-public sbcl-fare-utils
5618 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5619 (revision "1"))
5620 (package
5621 (name "sbcl-fare-utils")
5622 (version (git-version "1.0.0.5" revision commit))
5623 (source
5624 (origin
5625 (method git-fetch)
5626 (uri
5627 (git-reference
5628 (url
5629 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5630 (commit commit)))
5631 (file-name (git-file-name name version))
5632 (sha256
5633 (base32
5634 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5635 (build-system asdf-build-system/sbcl)
5636 (arguments
5637 `(#:test-asd-file "test/fare-utils-test.asd"))
5638 (native-inputs
5639 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5640 (synopsis "Collection of utilities and data structures")
5641 (description
5642 "fare-utils is a small collection of utilities. It contains a lot of
5643 basic everyday functions and macros.")
5644 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5645 ;; MIT License
5646 (license license:expat))))
5647
5648 (define-public cl-fare-utils
5649 (sbcl-package->cl-source-package sbcl-fare-utils))
5650
5651 (define-public ecl-fare-utils
5652 (sbcl-package->ecl-package sbcl-fare-utils))
5653
5654 (define-public sbcl-trivial-utf-8
5655 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5656 (revision "1"))
5657 (package
5658 (name "sbcl-trivial-utf-8")
5659 (version (git-version "0.0.0" revision commit))
5660 (source
5661 (origin
5662 (method git-fetch)
5663 (uri
5664 (git-reference
5665 (url (string-append "https://gitlab.common-lisp.net/"
5666 "trivial-utf-8/trivial-utf-8.git"))
5667 (commit commit)))
5668 (file-name (git-file-name name version))
5669 (sha256
5670 (base32
5671 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5672 (arguments
5673 ;; Guix incorrectly assumes the "8" is part of the version
5674 ;; number and lobs it off.
5675 `(#:asd-systems '("trivial-utf-8")))
5676 (build-system asdf-build-system/sbcl)
5677 (synopsis "UTF-8 input/output library")
5678 (description
5679 "The Babel library solves a similar problem while understanding more
5680 encodings. Trivial UTF-8 was written before Babel existed, but for new
5681 projects you might be better off going with Babel. The one plus that Trivial
5682 UTF-8 has is that it doesn't depend on any other libraries.")
5683 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5684 (license license:bsd-3))))
5685
5686 (define-public cl-trivial-utf-8
5687 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5688
5689 (define-public ecl-trivial-utf-8
5690 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5691
5692 (define-public sbcl-idna
5693 (package
5694 (name "sbcl-idna")
5695 (build-system asdf-build-system/sbcl)
5696 (version "0.2.2")
5697 (home-page "https://github.com/antifuchs/idna")
5698 (source
5699 (origin
5700 (method git-fetch)
5701 (uri (git-reference
5702 (url home-page)
5703 (commit version)))
5704 (file-name (git-file-name name version))
5705 (sha256
5706 (base32
5707 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5708 (inputs
5709 `(("split-sequence" ,sbcl-split-sequence)))
5710 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5711 (description "This Common Lisp library provides string encoding and
5712 decoding routines for IDNA, the International Domain Names in Applications.")
5713 (license license:expat)))
5714
5715 (define-public cl-idna
5716 (sbcl-package->cl-source-package sbcl-idna))
5717
5718 (define-public ecl-idna
5719 (sbcl-package->ecl-package sbcl-idna))
5720
5721 (define-public sbcl-swap-bytes
5722 (package
5723 (name "sbcl-swap-bytes")
5724 (build-system asdf-build-system/sbcl)
5725 (version "1.2")
5726 (home-page "https://github.com/sionescu/swap-bytes")
5727 (source
5728 (origin
5729 (method git-fetch)
5730 (uri (git-reference
5731 (url home-page)
5732 (commit (string-append "v" version))))
5733 (file-name (git-file-name name version))
5734 (sha256
5735 (base32
5736 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5737 (inputs
5738 `(("trivial-features" ,sbcl-trivial-features)))
5739 (native-inputs
5740 `(("fiveam" ,sbcl-fiveam)))
5741 (synopsis "Efficient endianness conversion for Common Lisp")
5742 (description "This Common Lisp library provides optimized byte-swapping
5743 primitives. The library can change endianness of unsigned integers of length
5744 1/2/4/8. Very useful in implementing various network protocols and file
5745 formats.")
5746 (license license:expat)))
5747
5748 (define-public cl-swap-bytes
5749 (sbcl-package->cl-source-package sbcl-swap-bytes))
5750
5751 (define-public ecl-swap-bytes
5752 (sbcl-package->ecl-package sbcl-swap-bytes))
5753
5754 (define-public sbcl-iolib
5755 ;; Latest release is from June 2017.
5756 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5757 (revision "2"))
5758 (package
5759 (name "sbcl-iolib")
5760 (version (git-version "0.8.3" revision commit))
5761 (home-page "https://github.com/sionescu/iolib")
5762 (source
5763 (origin
5764 (method git-fetch)
5765 (uri (git-reference
5766 (url home-page)
5767 (commit commit)))
5768 (file-name (git-file-name name version))
5769 (sha256
5770 (base32
5771 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5772 (build-system asdf-build-system/sbcl)
5773 (inputs
5774 `(("alexandria" ,sbcl-alexandria)
5775 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5776 ("cffi" ,sbcl-cffi)
5777 ("idna" ,sbcl-idna)
5778 ("libfixposix" ,libfixposix)
5779 ("split-sequence" ,sbcl-split-sequence)
5780 ("swap-bytes" ,sbcl-swap-bytes)))
5781 (arguments
5782 '(#:asd-files '("iolib.asdf.asd"
5783 "iolib.conf.asd"
5784 "iolib.common-lisp.asd"
5785 "iolib.base.asd"
5786 "iolib.asd")
5787 #:phases
5788 (modify-phases %standard-phases
5789 (add-after 'unpack 'fix-paths
5790 (lambda* (#:key inputs #:allow-other-keys)
5791 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5792 (("\\(:default \"libfixposix\"\\)")
5793 (string-append
5794 "(:default \""
5795 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5796 ;; Socket tests need Internet access, disable them.
5797 (substitute* "iolib.asd"
5798 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5799 "")))))))
5800 (synopsis "Common Lisp I/O library")
5801 (description "IOlib is to be a better and more modern I/O library than
5802 the standard Common Lisp library. It contains a socket library, a DNS
5803 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5804 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5805 (license license:expat))))
5806
5807 (define-public cl-iolib
5808 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5809 (package
5810 (inherit parent)
5811 (propagated-inputs
5812 ;; Need header to compile.
5813 `(("libfixposix" ,libfixposix)
5814 ,@(package-propagated-inputs parent))))))
5815
5816 (define-public ecl-iolib
5817 (sbcl-package->ecl-package sbcl-iolib))
5818
5819 (define-public sbcl-ieee-floats
5820 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5821 (revision "1"))
5822 (package
5823 (name "sbcl-ieee-floats")
5824 (build-system asdf-build-system/sbcl)
5825 (version (git-version "20170924" revision commit))
5826 (home-page "https://github.com/marijnh/ieee-floats/")
5827 (source
5828 (origin
5829 (method git-fetch)
5830 (uri (git-reference
5831 (url home-page)
5832 (commit commit)))
5833 (file-name (git-file-name name version))
5834 (sha256
5835 (base32
5836 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5837 (native-inputs
5838 `(("fiveam" ,sbcl-fiveam)))
5839 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5840 (description "This is a Common Lisp library that converts
5841 floating point values to IEEE 754 binary representation.")
5842 (license license:bsd-3))))
5843
5844 (define-public cl-ieee-floats
5845 (sbcl-package->cl-source-package sbcl-ieee-floats))
5846
5847 (define-public ecl-ieee-floats
5848 (sbcl-package->ecl-package sbcl-ieee-floats))
5849
5850 (define sbcl-closure-common
5851 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5852 (revision "1"))
5853 (package
5854 (name "sbcl-closure-common")
5855 (build-system asdf-build-system/sbcl)
5856 (version (git-version "20101006" revision commit))
5857 (home-page "https://common-lisp.net/project/cxml/")
5858 (source
5859 (origin
5860 (method git-fetch)
5861 (uri (git-reference
5862 (url "https://github.com/sharplispers/closure-common")
5863 (commit commit)))
5864 (file-name (git-file-name name version))
5865 (sha256
5866 (base32
5867 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5868 (inputs
5869 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5870 ("babel" ,sbcl-babel)))
5871 (synopsis "Support Common Lisp library for CXML")
5872 (description "Closure-common is an internal helper library. The name
5873 Closure is a reference to the web browser it was originally written for.")
5874 ;; TODO: License?
5875 (license #f))))
5876
5877 (define-public sbcl-cxml
5878 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5879 (revision "1"))
5880 (package
5881 (name "sbcl-cxml")
5882 (version (git-version "0.0.0" revision commit))
5883 (source
5884 (origin
5885 (method git-fetch)
5886 (uri (git-reference
5887 (url "https://github.com/sharplispers/cxml")
5888 (commit commit)))
5889 (file-name (git-file-name name version))
5890 (sha256
5891 (base32
5892 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5893 (build-system asdf-build-system/sbcl)
5894 (inputs
5895 `(("closure-common" ,sbcl-closure-common)
5896 ("puri" ,sbcl-puri)
5897 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5898 (synopsis "Common Lisp XML parser")
5899 (description "CXML implements a namespace-aware, validating XML 1.0
5900 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5901 offered, one SAX-like, the other similar to StAX.")
5902 (home-page "https://common-lisp.net/project/cxml/")
5903 (license license:llgpl))))
5904
5905 (define-public cl-cxml
5906 (sbcl-package->cl-source-package sbcl-cxml))
5907
5908 (define-public ecl-cxml
5909 (sbcl-package->ecl-package sbcl-cxml))
5910
5911 (define-public sbcl-cl-reexport
5912 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5913 (revision "1"))
5914 (package
5915 (name "sbcl-cl-reexport")
5916 (build-system asdf-build-system/sbcl)
5917 (version (git-version "0.1" revision commit))
5918 (home-page "https://github.com/takagi/cl-reexport")
5919 (source
5920 (origin
5921 (method git-fetch)
5922 (uri (git-reference
5923 (url home-page)
5924 (commit commit)))
5925 (file-name (git-file-name name version))
5926 (sha256
5927 (base32
5928 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5929 (inputs
5930 `(("alexandria" ,sbcl-alexandria)))
5931 (arguments
5932 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5933 `(#:tests? #f))
5934 (synopsis "HTTP cookie manager for Common Lisp")
5935 (description "cl-cookie is a Common Lisp library featuring parsing of
5936 cookie headers, cookie creation, cookie jar creation and more.")
5937 (license license:llgpl))))
5938
5939 (define-public cl-reexport
5940 (sbcl-package->cl-source-package sbcl-cl-reexport))
5941
5942 (define-public ecl-cl-reexport
5943 (sbcl-package->ecl-package sbcl-cl-reexport))
5944
5945 (define-public sbcl-cl-cookie
5946 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5947 (revision "1"))
5948 (package
5949 (name "sbcl-cl-cookie")
5950 (build-system asdf-build-system/sbcl)
5951 (version (git-version "0.9.10" revision commit))
5952 (home-page "https://github.com/fukamachi/cl-cookie")
5953 (source
5954 (origin
5955 (method git-fetch)
5956 (uri (git-reference
5957 (url home-page)
5958 (commit commit)))
5959 (file-name (git-file-name name version))
5960 (sha256
5961 (base32
5962 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5963 (inputs
5964 `(("proc-parse" ,sbcl-proc-parse)
5965 ("alexandria" ,sbcl-alexandria)
5966 ("quri" ,sbcl-quri)
5967 ("cl-ppcre" ,sbcl-cl-ppcre)
5968 ("local-time" ,sbcl-local-time)))
5969 (native-inputs
5970 `(("prove" ,sbcl-prove)))
5971 (arguments
5972 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5973 `(#:tests? #f))
5974 (synopsis "HTTP cookie manager for Common Lisp")
5975 (description "cl-cookie is a Common Lisp library featuring parsing of
5976 cookie headers, cookie creation, cookie jar creation and more.")
5977 (license license:bsd-2))))
5978
5979 (define-public cl-cookie
5980 (sbcl-package->cl-source-package sbcl-cl-cookie))
5981
5982 (define-public ecl-cl-cookie
5983 (sbcl-package->ecl-package sbcl-cl-cookie))
5984
5985 (define-public sbcl-dexador
5986 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5987 (revision "1"))
5988 (package
5989 (name "sbcl-dexador")
5990 (build-system asdf-build-system/sbcl)
5991 (version "0.9.14" )
5992 (home-page "https://github.com/fukamachi/dexador")
5993 (source
5994 (origin
5995 (method git-fetch)
5996 (uri (git-reference
5997 (url home-page)
5998 (commit commit)))
5999 (file-name (git-file-name name version))
6000 (sha256
6001 (base32
6002 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
6003 (inputs
6004 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
6005 ("babel" ,sbcl-babel)
6006 ("usocket" ,sbcl-usocket)
6007 ("fast-http" ,sbcl-fast-http)
6008 ("quri" ,sbcl-quri)
6009 ("fast-io" ,sbcl-fast-io)
6010 ("chunga" ,sbcl-chunga)
6011 ("cl-ppcre" ,sbcl-cl-ppcre)
6012 ("cl-cookie" ,sbcl-cl-cookie)
6013 ("trivial-mimes" ,sbcl-trivial-mimes)
6014 ("chipz" ,sbcl-chipz)
6015 ("cl-base64" ,sbcl-cl-base64)
6016 ("cl-reexport" ,sbcl-cl-reexport)
6017 ("cl+ssl" ,sbcl-cl+ssl)
6018 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6019 ("alexandria" ,sbcl-alexandria)))
6020 (native-inputs
6021 `(("prove" ,sbcl-prove)
6022 ("lack" ,sbcl-lack)
6023 ("clack" ,sbcl-clack)
6024 ("babel" ,sbcl-babel)
6025 ("alexandria" ,sbcl-alexandria)
6026 ("cl-ppcre" ,sbcl-cl-ppcre)
6027 ("local-time" ,sbcl-local-time)
6028 ("trivial-features" ,sbcl-trivial-features)))
6029 (arguments
6030 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
6031 `(#:tests? #f
6032 #:phases
6033 (modify-phases %standard-phases
6034 (add-after 'unpack 'fix-permissions
6035 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
6036 (synopsis "Yet another HTTP client for Common Lisp")
6037 (description "Dexador is yet another HTTP client for Common Lisp with
6038 neat APIs and connection-pooling. It is meant to supersede Drakma.")
6039 (license license:expat))))
6040
6041 (define-public cl-dexador
6042 (package
6043 (inherit (sbcl-package->cl-source-package sbcl-dexador))
6044 (arguments
6045 `(#:phases
6046 ;; asdf-build-system/source has its own phases and does not inherit
6047 ;; from asdf-build-system/sbcl phases.
6048 (modify-phases %standard-phases/source
6049 ;; Already done in SBCL package.
6050 (delete 'reset-gzip-timestamps))))))
6051
6052 (define-public ecl-dexador
6053 (sbcl-package->ecl-package sbcl-dexador))
6054
6055 (define-public sbcl-lisp-namespace
6056 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
6057 (revision "1"))
6058 (package
6059 (name "sbcl-lisp-namespace")
6060 (build-system asdf-build-system/sbcl)
6061 (version (git-version "0.1" revision commit))
6062 (home-page "https://github.com/guicho271828/lisp-namespace")
6063 (source
6064 (origin
6065 (method git-fetch)
6066 (uri (git-reference
6067 (url home-page)
6068 (commit commit)))
6069 (file-name (git-file-name name version))
6070 (sha256
6071 (base32
6072 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
6073 (inputs
6074 `(("alexandria" ,sbcl-alexandria)))
6075 (native-inputs
6076 `(("fiveam" ,sbcl-fiveam)))
6077 (arguments
6078 `(#:test-asd-file "lisp-namespace.test.asd"
6079 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
6080 #:tests? #f))
6081 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
6082 (description "Common Lisp already has major 2 namespaces, function
6083 namespace and value namespace (or variable namespace), but there are actually
6084 more — e.g., class namespace.
6085 This library offers macros to deal with symbols from any namespace.")
6086 (license license:llgpl))))
6087
6088 (define-public cl-lisp-namespace
6089 (sbcl-package->cl-source-package sbcl-lisp-namespace))
6090
6091 (define-public ecl-lisp-namespace
6092 (sbcl-package->ecl-package sbcl-lisp-namespace))
6093
6094 (define-public sbcl-trivial-cltl2
6095 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
6096 (revision "2"))
6097 (package
6098 (name "sbcl-trivial-cltl2")
6099 (build-system asdf-build-system/sbcl)
6100 (version (git-version "0.1.1" revision commit))
6101 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
6102 (source
6103 (origin
6104 (method git-fetch)
6105 (uri (git-reference
6106 (url home-page)
6107 (commit commit)))
6108 (file-name (git-file-name name version))
6109 (sha256
6110 (base32
6111 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
6112 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
6113 (description "This library is a portable compatibility layer around
6114 \"Common Lisp the Language, 2nd
6115 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
6116 and it exports symbols from implementation-specific packages.")
6117 (license license:llgpl))))
6118
6119 (define-public cl-trivial-cltl2
6120 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
6121
6122 (define-public ecl-trivial-cltl2
6123 (sbcl-package->ecl-package sbcl-trivial-cltl2))
6124
6125 (define-public sbcl-introspect-environment
6126 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
6127 (revision "1"))
6128 (package
6129 (name "sbcl-introspect-environment")
6130 (build-system asdf-build-system/sbcl)
6131 (version (git-version "0.1" revision commit))
6132 (home-page "https://github.com/Bike/introspect-environment")
6133 (source
6134 (origin
6135 (method git-fetch)
6136 (uri (git-reference
6137 (url home-page)
6138 (commit commit)))
6139 (file-name (git-file-name name version))
6140 (sha256
6141 (base32
6142 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
6143 (native-inputs
6144 `(("fiveam" ,sbcl-fiveam)))
6145 (synopsis "Common Lisp environment introspection portability layer")
6146 (description "This library is a small interface to portable but
6147 nonstandard introspection of Common Lisp environments. It is intended to
6148 allow a bit more compile-time introspection of environments in Common Lisp.
6149
6150 Quite a bit of information is available at the time a macro or compiler-macro
6151 runs; inlining info, type declarations, that sort of thing. This information
6152 is all standard - any Common Lisp program can @code{(declare (integer x))} and
6153 such.
6154
6155 This info ought to be accessible through the standard @code{&environment}
6156 parameters, but it is not. Several implementations keep the information for
6157 their own purposes but do not make it available to user programs, because
6158 there is no standard mechanism to do so.
6159
6160 This library uses implementation-specific hooks to make information available
6161 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
6162 implementations have implementations of the functions that do as much as they
6163 can and/or provide reasonable defaults.")
6164 (license license:wtfpl2))))
6165
6166 (define-public cl-introspect-environment
6167 (sbcl-package->cl-source-package sbcl-introspect-environment))
6168
6169 (define-public ecl-introspect-environment
6170 (sbcl-package->ecl-package sbcl-introspect-environment))
6171
6172 (define-public sbcl-type-i
6173 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
6174 (revision "2"))
6175 (package
6176 (name "sbcl-type-i")
6177 (build-system asdf-build-system/sbcl)
6178 (version (git-version "0.1" revision commit))
6179 (home-page "https://github.com/guicho271828/type-i")
6180 (source
6181 (origin
6182 (method git-fetch)
6183 (uri (git-reference
6184 (url home-page)
6185 (commit commit)))
6186 (file-name (git-file-name name version))
6187 (sha256
6188 (base32
6189 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
6190 (inputs
6191 `(("alexandria" ,sbcl-alexandria)
6192 ("introspect-environment" ,sbcl-introspect-environment)
6193 ("trivia.trivial" ,sbcl-trivia.trivial)))
6194 (native-inputs
6195 `(("fiveam" ,sbcl-fiveam)))
6196 (arguments
6197 `(#:test-asd-file "type-i.test.asd"))
6198 (synopsis "Type inference utility on unary predicates for Common Lisp")
6199 (description "This library tries to provide a way to detect what kind of
6200 type the given predicate is trying to check. This is different from inferring
6201 the return type of a function.")
6202 (license license:llgpl))))
6203
6204 (define-public cl-type-i
6205 (sbcl-package->cl-source-package sbcl-type-i))
6206
6207 (define-public ecl-type-i
6208 (package
6209 (inherit (sbcl-package->ecl-package sbcl-type-i))
6210 (arguments
6211 ;; The tests get stuck indefinitly
6212 '(#:tests? #f))))
6213
6214 (define-public sbcl-optima
6215 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6216 (revision "1"))
6217 (package
6218 (name "sbcl-optima")
6219 (build-system asdf-build-system/sbcl)
6220 (version (git-version "1.0" revision commit))
6221 (home-page "https://github.com/m2ym/optima")
6222 (source
6223 (origin
6224 (method git-fetch)
6225 (uri (git-reference
6226 (url home-page)
6227 (commit commit)))
6228 (file-name (git-file-name name version))
6229 (sha256
6230 (base32
6231 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6232 (inputs
6233 `(("alexandria" ,sbcl-alexandria)
6234 ("closer-mop" ,sbcl-closer-mop)))
6235 (native-inputs
6236 `(("eos" ,sbcl-eos)))
6237 (arguments
6238 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6239 `(#:tests? #f
6240 #:test-asd-file "optima.test.asd"))
6241 (synopsis "Optimized pattern matching library for Common Lisp")
6242 (description "Optima is a fast pattern matching library which uses
6243 optimizing techniques widely used in the functional programming world.")
6244 (license license:expat))))
6245
6246 (define-public cl-optima
6247 (sbcl-package->cl-source-package sbcl-optima))
6248
6249 (define-public ecl-optima
6250 (sbcl-package->ecl-package sbcl-optima))
6251
6252 (define-public sbcl-fare-quasiquote
6253 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6254 (revision "1"))
6255 (package
6256 (name "sbcl-fare-quasiquote")
6257 (build-system asdf-build-system/sbcl)
6258 (version (git-version "1.0.1" revision commit))
6259 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6260 (source
6261 (origin
6262 (method git-fetch)
6263 (uri (git-reference
6264 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6265 "fare-quasiquote.git"))
6266 (commit commit)))
6267 (file-name (git-file-name name version))
6268 (sha256
6269 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6270 (inputs
6271 `(("fare-utils" ,sbcl-fare-utils)
6272 ("named-readtables" ,sbcl-named-readtables)
6273 ("optima" ,sbcl-optima)))
6274 (arguments
6275 ;; XXX: Circular dependencies: Tests depend on subsystems,
6276 ;; which depend on the main systems.
6277 `(#:tests? #f
6278 #:asd-systems '("fare-quasiquote"
6279 "fare-quasiquote-extras")
6280 #:phases
6281 (modify-phases %standard-phases
6282 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6283 ;; commits after 1.0.0.5, but ASDF fails to read the
6284 ;; "-REVISION-COMMIT" part generated by Guix.
6285 (add-after 'unpack 'patch-requirement
6286 (lambda _
6287 (substitute* "fare-quasiquote.asd"
6288 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6289 "\"fare-utils\""))
6290 (substitute* "fare-quasiquote-optima.asd"
6291 (("\\(:version \"optima\" \"1\\.0\"\\)")
6292 "\"optima\""))
6293 #t)))))
6294 (synopsis "Pattern-matching friendly implementation of quasiquote")
6295 (description "The main purpose of this n+2nd reimplementation of
6296 quasiquote is enable matching of quasiquoted patterns, using Optima or
6297 Trivia.")
6298 (license license:expat))))
6299
6300 (define-public cl-fare-quasiquote
6301 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6302
6303 (define-public ecl-fare-quasiquote
6304 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6305
6306 ;;; Split the trivia package in two to work around the circular dependency
6307 ;;; between guicho271828/trivia and guicho271828/type-i.
6308 (define-public sbcl-trivia.trivial
6309 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6310 (revision "3"))
6311 (package
6312 (name "sbcl-trivia.trivial")
6313 (version (git-version "0.0.0" revision commit))
6314 (source
6315 (origin
6316 (method git-fetch)
6317 (uri (git-reference
6318 (url "https://github.com/guicho271828/trivia")
6319 (commit commit)))
6320 (file-name (git-file-name "trivia" version))
6321 (sha256
6322 (base32
6323 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6324 (build-system asdf-build-system/sbcl)
6325 (inputs
6326 `(("alexandria" ,sbcl-alexandria)
6327 ("closer-mop" ,sbcl-closer-mop)
6328 ("lisp-namespace" ,sbcl-lisp-namespace)
6329 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6330 (arguments
6331 '(#:phases
6332 (modify-phases %standard-phases
6333 (add-after 'unpack 'fix-build
6334 (lambda _
6335 (for-each delete-file
6336 '("trivia.balland2006.asd"
6337 "trivia.ppcre.asd"
6338 "trivia.quasiquote.asd"
6339 "trivia.cffi.asd"
6340 "trivia.asd"
6341 "trivia.test.asd"))
6342 #t)))))
6343 (synopsis "Pattern matching in Common Lisp")
6344 (description "Trivia is a pattern matching compiler that is compatible
6345 with Optima, another pattern matching library for Common Lisp. It is meant to
6346 be faster and more extensible than Optima.")
6347 (home-page "https://github.com/guicho271828/trivia")
6348 (license license:llgpl))))
6349
6350 (define-public cl-trivia.trivial
6351 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6352
6353 (define-public ecl-trivia.trivial
6354 (sbcl-package->ecl-package sbcl-trivia.trivial))
6355
6356 (define-public sbcl-trivia
6357 (package
6358 (inherit sbcl-trivia.trivial)
6359 (name "sbcl-trivia")
6360 (native-inputs
6361 `(("fiveam" ,sbcl-fiveam)
6362 ("optima" ,sbcl-optima)))
6363 (inputs
6364 `(("alexandria" ,sbcl-alexandria)
6365 ("cffi" ,sbcl-cffi)
6366 ("cl-ppcre" ,sbcl-cl-ppcre)
6367 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6368 ("iterate" ,sbcl-iterate)
6369 ("trivia.trivial" ,sbcl-trivia.trivial)
6370 ("type-i" ,sbcl-type-i)))
6371 (arguments
6372 '(#:asd-systems '("trivia"
6373 "trivia.ppcre"
6374 "trivia.quasiquote"
6375 "trivia.cffi")
6376 #:test-asd-file "trivia.test.asd"
6377 #:phases
6378 (modify-phases %standard-phases
6379 (add-after 'unpack 'fix-build
6380 (lambda _
6381 (for-each delete-file
6382 '("trivia.level0.asd"
6383 "trivia.level1.asd"
6384 "trivia.level2.asd"
6385 "trivia.trivial.asd"))
6386 #t)))))))
6387
6388 (define-public cl-trivia
6389 (sbcl-package->cl-source-package sbcl-trivia))
6390
6391 (define-public ecl-trivia
6392 (sbcl-package->ecl-package sbcl-trivia))
6393
6394 (define-public sbcl-mk-string-metrics
6395 (package
6396 (name "sbcl-mk-string-metrics")
6397 (version "0.1.2")
6398 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6399 (source (origin
6400 (method git-fetch)
6401 (uri (git-reference
6402 (url home-page)
6403 (commit version)))
6404 (sha256
6405 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6406 (file-name (git-file-name name version))))
6407 (build-system asdf-build-system/sbcl)
6408 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6409 (description "This library implements efficient algorithms that calculate
6410 various string metrics in Common Lisp:
6411
6412 @itemize
6413 @item Damerau-Levenshtein distance
6414 @item Hamming distance
6415 @item Jaccard similarity coefficient
6416 @item Jaro distance
6417 @item Jaro-Winkler distance
6418 @item Levenshtein distance
6419 @item Normalized Damerau-Levenshtein distance
6420 @item Normalized Levenshtein distance
6421 @item Overlap coefficient
6422 @end itemize\n")
6423 (license license:x11)))
6424
6425 (define-public cl-mk-string-metrics
6426 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6427
6428 (define-public ecl-mk-string-metrics
6429 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6430
6431 (define-public sbcl-cl-str
6432 (package
6433 (name "sbcl-cl-str")
6434 (version "0.19")
6435 (home-page "https://github.com/vindarel/cl-str")
6436 (source (origin
6437 (method git-fetch)
6438 (uri (git-reference
6439 (url home-page)
6440 (commit version)))
6441 (sha256
6442 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6443 (file-name (git-file-name name version))))
6444 (build-system asdf-build-system/sbcl)
6445 (inputs
6446 `(("cl-ppcre" ,sbcl-cl-ppcre)
6447 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6448 ("cl-change-case" ,sbcl-cl-change-case)))
6449 (native-inputs
6450 `(("prove" ,sbcl-prove)))
6451 (arguments
6452 `(#:asd-systems '("str")
6453 #:test-asd-file "str.test.asd"))
6454 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6455 (description "A modern and consistent Common Lisp string manipulation
6456 library that focuses on modernity, simplicity and discoverability:
6457 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6458 @code{str:concat strings} instead of an unusual format construct; one
6459 discoverable library instead of many; consistency and composability, where
6460 @code{s} is always the last argument, which makes it easier to feed pipes and
6461 arrows.")
6462 (license license:expat)))
6463
6464 (define-public cl-str
6465 (sbcl-package->cl-source-package sbcl-cl-str))
6466
6467 (define-public ecl-cl-str
6468 (sbcl-package->ecl-package sbcl-cl-str))
6469
6470 (define-public sbcl-cl-xmlspam
6471 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6472 (package
6473 (name "sbcl-cl-xmlspam")
6474 (build-system asdf-build-system/sbcl)
6475 (version (git-version "0.0.0" "1" commit))
6476 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6477 (source
6478 (origin
6479 (method git-fetch)
6480 (uri (git-reference
6481 (url home-page)
6482 (commit commit)))
6483 (file-name (string-append name "-" version))
6484 (sha256
6485 (base32
6486 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6487 (inputs
6488 `(("cxml" ,sbcl-cxml)
6489 ("cl-ppcre" ,sbcl-cl-ppcre)))
6490 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6491 (description "CXML does an excellent job at parsing XML elements, but what
6492 do you do when you have a XML file that's larger than you want to fit in
6493 memory, and you want to extract some information from it? Writing code to deal
6494 with SAX events, or even using Klacks, quickly becomes tedious.
6495 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6496 to write code that mirrors the structure of the XML that it's parsing. It
6497 also makes it easy to shift paradigms when necessary - the usual Lisp control
6498 constructs can be used interchangeably with pattern matching, and the full
6499 power of CXML is available when necessary.")
6500 (license license:bsd-3))))
6501
6502 (define-public cl-xmlspam
6503 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6504
6505 (define-public ecl-cl-xmlspam
6506 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6507
6508 (define-public sbcl-dbus
6509 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6510 (revision "1"))
6511 (package
6512 (name "sbcl-dbus")
6513 (version (git-version "20190408" revision commit))
6514 (home-page "https://github.com/death/dbus")
6515 (source
6516 (origin
6517 (method git-fetch)
6518 (uri (git-reference
6519 (url home-page)
6520 (commit commit)))
6521 (file-name (git-file-name name version))
6522 (sha256
6523 (base32
6524 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6525 (build-system asdf-build-system/sbcl)
6526 (inputs
6527 `(("alexandria" ,sbcl-alexandria)
6528 ("trivial-garbage" ,sbcl-trivial-garbage)
6529 ("babel" ,sbcl-babel)
6530 ("iolib" ,sbcl-iolib)
6531 ("ieee-floats" ,sbcl-ieee-floats)
6532 ("flexi-streams" ,sbcl-flexi-streams)
6533 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6534 ("ironclad" ,sbcl-ironclad)))
6535 (synopsis "D-Bus client library for Common Lisp")
6536 (description "This is a Common Lisp library that publishes D-Bus
6537 objects as well as send and notify other objects connected to a bus.")
6538 (license license:bsd-2))))
6539
6540 (define-public cl-dbus
6541 (sbcl-package->cl-source-package sbcl-dbus))
6542
6543 (define-public ecl-dbus
6544 (sbcl-package->ecl-package sbcl-dbus))
6545
6546 (define-public sbcl-cl-hooks
6547 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6548 (revision "1"))
6549 (package
6550 (name "sbcl-cl-hooks")
6551 (build-system asdf-build-system/sbcl)
6552 (version (git-version "0.2.1" revision commit))
6553 (home-page "https://github.com/scymtym/architecture.hooks")
6554 (source
6555 (origin
6556 (method git-fetch)
6557 (uri (git-reference
6558 (url home-page)
6559 (commit commit)))
6560 (file-name (git-file-name name version))
6561 (sha256
6562 (base32
6563 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6564 (inputs
6565 `(("alexandria" ,sbcl-alexandria)
6566 ("let-plus" ,sbcl-let-plus)
6567 ("trivial-garbage" ,sbcl-trivial-garbage)
6568 ("closer-mop" ,sbcl-closer-mop)))
6569 (native-inputs
6570 `(("fiveam" ,sbcl-fiveam)))
6571 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6572 (description "A hook, in the present context, is a certain kind of
6573 extension point in a program that allows interleaving the execution of
6574 arbitrary code with the execution of a the program without introducing any
6575 coupling between the two. Hooks are used extensively in the extensible editor
6576 Emacs.
6577
6578 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6579 possible using the flexible multi-method dispatch mechanism. It may even seem
6580 that the concept of hooks does not provide any benefits over the possibilities
6581 of CLOS. However, there are some differences:
6582
6583 @itemize
6584
6585 @item There can be only one method for each combination of specializers and
6586 qualifiers. As a result this kind of extension point cannot be used by
6587 multiple extensions independently.
6588 @item Removing code previously attached via a @code{:before}, @code{:after} or
6589 @code{:around} method can be cumbersome.
6590 @item There could be other or even multiple extension points besides @code{:before}
6591 and @code{:after} in a single method.
6592 @item Attaching codes to individual objects using eql specializers can be
6593 cumbersome.
6594 @item Introspection of code attached a particular extension point is
6595 cumbersome since this requires enumerating and inspecting the methods of a
6596 generic function.
6597 @end itemize
6598
6599 This library tries to complement some of these weaknesses of method-based
6600 extension-points via the concept of hooks.")
6601 (license license:llgpl))))
6602
6603 (define-public cl-hooks
6604 (sbcl-package->cl-source-package sbcl-cl-hooks))
6605
6606 (define-public ecl-cl-hooks
6607 (sbcl-package->ecl-package sbcl-cl-hooks))
6608
6609 (define-public sbcl-cl-autowrap
6610 (let ((revision "1")
6611 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6612 ;; no taged branches
6613 (package
6614 (name "sbcl-cl-autowrap")
6615 (version (git-version "1.0" revision commit))
6616 (source
6617 (origin
6618 (method git-fetch)
6619 (uri (git-reference
6620 (url "https://github.com/rpav/cl-autowrap")
6621 (commit commit)))
6622 (file-name (git-file-name name version))
6623 (sha256
6624 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6625 (build-system asdf-build-system/sbcl)
6626 (inputs
6627 `(("alexandria" ,sbcl-alexandria)
6628 ("cffi" ,sbcl-cffi)
6629 ("cl-json" ,sbcl-cl-json)
6630 ("cl-ppcre" ,sbcl-cl-ppcre)
6631 ("defpackage-plus" ,sbcl-defpackage-plus)
6632 ("trivial-features" ,sbcl-trivial-features)))
6633 (home-page "https://github.com/rpav/cl-autowrap")
6634 (synopsis "FFI wrapper generator for Common Lisp")
6635 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6636 (license license:bsd-2))))
6637
6638 (define-public cl-autowrap
6639 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6640
6641 (define-public ecl-cl-autowrap
6642 (sbcl-package->ecl-package sbcl-cl-autowrap))
6643
6644 (define-public sbcl-s-sysdeps
6645 ;; No release since 2013.
6646 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6647 (revision "2"))
6648 (package
6649 (name "sbcl-s-sysdeps")
6650 (build-system asdf-build-system/sbcl)
6651 (version (git-version "1" revision commit))
6652 (home-page "https://github.com/svenvc/s-sysdeps")
6653 (source
6654 (origin
6655 (method git-fetch)
6656 (uri (git-reference
6657 (url home-page)
6658 (commit commit)))
6659 (file-name (git-file-name name version))
6660 (sha256
6661 (base32
6662 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6663 (inputs
6664 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6665 ("usocket" ,sbcl-usocket)))
6666 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6667 (description "@code{s-sysdeps} is an abstraction layer over platform
6668 dependent functionality. This simple package is used as a building block in a
6669 number of other open source projects.
6670
6671 @code{s-sysdeps} abstracts:
6672
6673 @itemize
6674 @item managing processes,
6675 @item implementing a standard TCP/IP server,
6676 @item opening a client TCP/IP socket stream,
6677 @item working with process locks.
6678 @end itemize\n")
6679 (license license:llgpl))))
6680
6681 (define-public cl-s-sysdeps
6682 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6683
6684 (define-public ecl-s-sysdeps
6685 (sbcl-package->ecl-package sbcl-s-sysdeps))
6686
6687 (define-public sbcl-cl-prevalence
6688 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6689 (revision "4"))
6690 (package
6691 (name "sbcl-cl-prevalence")
6692 (build-system asdf-build-system/sbcl)
6693 (version (git-version "5" revision commit))
6694 (home-page "https://github.com/40ants/cl-prevalence")
6695 (source
6696 (origin
6697 (method git-fetch)
6698 (uri (git-reference
6699 (url home-page)
6700 (commit commit)))
6701 (file-name (git-file-name name version))
6702 (sha256
6703 (base32
6704 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6705 (inputs
6706 `(("s-sysdeps" ,sbcl-s-sysdeps)
6707 ("s-xml" ,sbcl-s-xml)))
6708 (native-inputs
6709 `(("fiveam" ,sbcl-fiveam)))
6710 (synopsis "Implementation of object prevalence for Common Lisp")
6711 (description "This Common Lisp library implements object prevalence (see
6712 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6713 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6714 classes and cyclic data structures are supported.")
6715 (license license:llgpl))))
6716
6717 (define-public cl-prevalence
6718 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6719
6720 (define-public ecl-cl-prevalence
6721 (sbcl-package->ecl-package sbcl-cl-prevalence))
6722
6723 (define-public sbcl-series
6724 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6725 (revision "1"))
6726 (package
6727 (name "sbcl-series")
6728 (version (git-version "2.2.11" revision commit))
6729 (source
6730 (origin
6731 (method git-fetch)
6732 (uri (git-reference
6733 (url "git://git.code.sf.net/p/series/series")
6734 (commit commit)))
6735 (file-name (git-file-name name version))
6736 (sha256
6737 (base32
6738 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6739 (build-system asdf-build-system/sbcl)
6740 (arguments
6741 ;; Disable the tests, they are apparently buggy and I didn't find
6742 ;; a simple way to make them run and pass.
6743 '(#:tests? #f))
6744 (synopsis "Series data structure for Common Lisp")
6745 (description
6746 "This Common Lisp library provides a series data structure much like
6747 a sequence, with similar kinds of operations. The difference is that in many
6748 situations, operations on series may be composed functionally and yet execute
6749 iteratively, without the need to construct intermediate series values
6750 explicitly. In this manner, series provide both the clarity of a functional
6751 programming style and the efficiency of an iterative programming style.")
6752 (home-page "http://series.sourceforge.net/")
6753 (license license:expat))))
6754
6755 (define-public cl-series
6756 (sbcl-package->cl-source-package sbcl-series))
6757
6758 (define-public ecl-series
6759 (sbcl-package->ecl-package sbcl-series))
6760
6761 (define-public sbcl-periods
6762 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6763 (revision "2"))
6764 (package
6765 (name "sbcl-periods")
6766 (version (git-version "0.0.2" revision commit))
6767 (source
6768 (origin
6769 (method git-fetch)
6770 (uri (git-reference
6771 (url "https://github.com/jwiegley/periods")
6772 (commit commit)))
6773 (file-name (git-file-name name version))
6774 (sha256
6775 (base32
6776 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6777 (build-system asdf-build-system/sbcl)
6778 (inputs
6779 `(("local-time" ,sbcl-local-time)
6780 ("series" ,sbcl-series)))
6781 (arguments
6782 '(#:asd-systems '("periods"
6783 "periods-series")))
6784 (synopsis "Common Lisp library for manipulating date/time objects")
6785 (description
6786 "Periods is a Common Lisp library providing a set of utilities for
6787 manipulating times, distances between times, and both contiguous and
6788 discontiguous ranges of time.")
6789 (home-page "https://github.com/jwiegley/periods")
6790 (license license:bsd-3))))
6791
6792 (define-public cl-periods
6793 (sbcl-package->cl-source-package sbcl-periods))
6794
6795 (define-public ecl-periods
6796 (sbcl-package->ecl-package sbcl-periods))
6797
6798 (define-public sbcl-metatilities-base
6799 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6800 (revision "1"))
6801 (package
6802 (name "sbcl-metatilities-base")
6803 (version (git-version "0.6.6" revision commit))
6804 (source
6805 (origin
6806 (method git-fetch)
6807 (uri (git-reference
6808 (url "https://github.com/gwkkwg/metatilities-base")
6809 (commit commit)))
6810 (file-name (git-file-name name version))
6811 (sha256
6812 (base32
6813 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6814 (build-system asdf-build-system/sbcl)
6815 (native-inputs
6816 `(("lift" ,sbcl-lift)))
6817 (synopsis "Core of the metatilities Common Lisp library")
6818 (description
6819 "Metatilities-base is the core of the metatilities Common Lisp library
6820 which implements a set of utilities.")
6821 (home-page "https://common-lisp.net/project/metatilities-base/")
6822 (license license:expat))))
6823
6824 (define-public cl-metatilities-base
6825 (sbcl-package->cl-source-package sbcl-metatilities-base))
6826
6827 (define-public ecl-metatilities-base
6828 (sbcl-package->ecl-package sbcl-metatilities-base))
6829
6830 (define-public sbcl-cl-containers
6831 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6832 (revision "3"))
6833 (package
6834 (name "sbcl-cl-containers")
6835 (version (git-version "0.12.1" revision commit))
6836 (source
6837 (origin
6838 (method git-fetch)
6839 (uri (git-reference
6840 (url "https://github.com/gwkkwg/cl-containers")
6841 (commit commit)))
6842 (file-name (git-file-name name version))
6843 (sha256
6844 (base32
6845 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6846 (build-system asdf-build-system/sbcl)
6847 (native-inputs
6848 `(("lift" ,sbcl-lift)))
6849 (inputs
6850 `(("metatilities-base" ,sbcl-metatilities-base)))
6851 (arguments
6852 '(#:asd-files '("cl-containers.asd")
6853 #:phases
6854 (modify-phases %standard-phases
6855 (add-after 'unpack 'relax-version-checks
6856 (lambda _
6857 (substitute* "cl-containers.asd"
6858 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6859 "\"metatilities-base\""))
6860 (substitute* "cl-containers-test.asd"
6861 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6862 "\"lift\""))
6863 #t)))))
6864 (synopsis "Container library for Common Lisp")
6865 (description
6866 "Common Lisp ships with a set of powerful built in data structures
6867 including the venerable list, full featured arrays, and hash-tables.
6868 CL-containers enhances and builds on these structures by adding containers
6869 that are not available in native Lisp (for example: binary search trees,
6870 red-black trees, sparse arrays and so on), and by providing a standard
6871 interface so that they are simpler to use and so that changing design
6872 decisions becomes significantly easier.")
6873 (home-page "https://common-lisp.net/project/cl-containers/")
6874 (license license:expat))))
6875
6876 (define-public cl-containers
6877 (sbcl-package->cl-source-package sbcl-cl-containers))
6878
6879 (define-public ecl-cl-containers
6880 (sbcl-package->ecl-package sbcl-cl-containers))
6881
6882 (define-public sbcl-xlunit
6883 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6884 (revision "1"))
6885 (package
6886 (name "sbcl-xlunit")
6887 (version (git-version "0.6.3" revision commit))
6888 (source
6889 (origin
6890 (method git-fetch)
6891 (uri (git-reference
6892 (url "http://git.kpe.io/xlunit.git")
6893 (commit commit)))
6894 (file-name (git-file-name name version))
6895 (sha256
6896 (base32
6897 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6898 (build-system asdf-build-system/sbcl)
6899 (arguments
6900 '(#:phases
6901 (modify-phases %standard-phases
6902 (add-after 'unpack 'fix-tests
6903 (lambda _
6904 (substitute* "xlunit.asd"
6905 ((" :force t") ""))
6906 #t)))))
6907 (synopsis "Unit testing package for Common Lisp")
6908 (description
6909 "The XLUnit package is a toolkit for building test suites. It is based
6910 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6911 (home-page "http://quickdocs.org/xlunit/")
6912 (license license:bsd-3))))
6913
6914 (define-public cl-xlunit
6915 (sbcl-package->cl-source-package sbcl-xlunit))
6916
6917 (define-public ecl-xlunit
6918 (sbcl-package->ecl-package sbcl-xlunit))
6919
6920 (define-public sbcl-cambl
6921 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6922 (revision "1"))
6923 (package
6924 (name "sbcl-cambl")
6925 (version (git-version "4.0.0" revision commit))
6926 (source
6927 (origin
6928 (method git-fetch)
6929 (uri (git-reference
6930 (url "https://github.com/jwiegley/cambl")
6931 (commit commit)))
6932 (file-name (git-file-name "cambl" version))
6933 (sha256
6934 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6935 (build-system asdf-build-system/sbcl)
6936 (native-inputs
6937 `(("xlunit" ,sbcl-xlunit)))
6938 (inputs
6939 `(("alexandria" ,sbcl-alexandria)
6940 ("cl-containers" ,sbcl-cl-containers)
6941 ("local-time" ,sbcl-local-time)
6942 ("periods" ,sbcl-periods)))
6943 (arguments
6944 '(#:asd-files '("fprog.asd"
6945 "cambl.asd")))
6946 (synopsis "Commoditized amounts and balances for Common Lisp")
6947 (description
6948 "CAMBL is a Common Lisp library providing a convenient facility for
6949 working with commoditized values. It does not allow compound units (and so is
6950 not suited for scientific operations) but does work rather nicely for the
6951 purpose of financial calculations.")
6952 (home-page "https://github.com/jwiegley/cambl")
6953 (license license:bsd-3))))
6954
6955 (define-public cl-cambl
6956 (sbcl-package->cl-source-package sbcl-cambl))
6957
6958 (define-public ecl-cambl
6959 (sbcl-package->ecl-package sbcl-cambl))
6960
6961 (define-public sbcl-cl-ledger
6962 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6963 (revision "1"))
6964 (package
6965 (name "sbcl-cl-ledger")
6966 (version (git-version "4.0.0" revision commit))
6967 (source
6968 (origin
6969 (method git-fetch)
6970 (uri (git-reference
6971 (url "https://github.com/ledger/cl-ledger")
6972 (commit commit)))
6973 (file-name (git-file-name name version))
6974 (sha256
6975 (base32
6976 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6977 (build-system asdf-build-system/sbcl)
6978 (inputs
6979 `(("cambl" ,sbcl-cambl)
6980 ("cl-ppcre" ,sbcl-cl-ppcre)
6981 ("local-time" ,sbcl-local-time)
6982 ("periods" ,sbcl-periods)))
6983 (arguments
6984 '(#:phases
6985 (modify-phases %standard-phases
6986 (add-after 'unpack 'fix-system-definition
6987 (lambda _
6988 (substitute* "cl-ledger.asd"
6989 ((" :build-operation program-op") "")
6990 ((" :build-pathname \"cl-ledger\"") "")
6991 ((" :entry-point \"ledger::main\"") ""))
6992 #t)))))
6993 (synopsis "Common Lisp port of the Ledger accounting system")
6994 (description
6995 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6996 system.")
6997 (home-page "https://github.com/ledger/cl-ledger")
6998 (license license:bsd-3))))
6999
7000 (define-public cl-ledger
7001 (sbcl-package->cl-source-package sbcl-cl-ledger))
7002
7003 (define-public ecl-cl-ledger
7004 (sbcl-package->ecl-package sbcl-cl-ledger))
7005
7006 (define-public sbcl-bst
7007 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
7008 (revision "0"))
7009 (package
7010 (name "sbcl-bst")
7011 (version (git-version "2.0" revision commit))
7012 (source
7013 (origin
7014 (method git-fetch)
7015 (uri (git-reference
7016 (url "https://github.com/glv2/bst")
7017 (commit commit)))
7018 (file-name (git-file-name name version))
7019 (sha256
7020 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
7021 (build-system asdf-build-system/sbcl)
7022 (native-inputs
7023 `(("alexandria" ,sbcl-alexandria)
7024 ("fiveam" ,sbcl-fiveam)))
7025 (synopsis "Binary search tree for Common Lisp")
7026 (description
7027 "BST is a Common Lisp library for working with binary search trees that
7028 can contain any kind of values.")
7029 (home-page "https://github.com/glv2/bst")
7030 (license license:gpl3))))
7031
7032 (define-public cl-bst
7033 (sbcl-package->cl-source-package sbcl-bst))
7034
7035 (define-public ecl-bst
7036 (sbcl-package->ecl-package sbcl-bst))
7037
7038 (define-public sbcl-cl-octet-streams
7039 (package
7040 (name "sbcl-cl-octet-streams")
7041 (version "1.2")
7042 (source
7043 (origin
7044 (method git-fetch)
7045 (uri (git-reference
7046 (url "https://github.com/glv2/cl-octet-streams")
7047 (commit (string-append "v" version))))
7048 (file-name (git-file-name name version))
7049 (sha256
7050 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
7051 (build-system asdf-build-system/sbcl)
7052 (native-inputs
7053 `(("fiveam" ,sbcl-fiveam)))
7054 (inputs
7055 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7056 (synopsis "In-memory octet streams for Common Lisp")
7057 (description
7058 "CL-octet-streams is a library implementing in-memory octet
7059 streams for Common Lisp. It was inspired by the trivial-octet-streams and
7060 cl-plumbing libraries.")
7061 (home-page "https://github.com/glv2/cl-octet-streams")
7062 (license license:gpl3+)))
7063
7064 (define-public cl-octet-streams
7065 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7066
7067 (define-public ecl-cl-octet-streams
7068 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7069
7070 (define-public sbcl-lzlib
7071 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
7072 (revision "2"))
7073 (package
7074 (name "sbcl-lzlib")
7075 (version (git-version "1.1" revision commit))
7076 (source
7077 (origin
7078 (method git-fetch)
7079 (uri (git-reference
7080 (url "https://github.com/glv2/cl-lzlib")
7081 (commit commit)))
7082 (file-name (git-file-name name version))
7083 (sha256
7084 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
7085 (build-system asdf-build-system/sbcl)
7086 (native-inputs
7087 `(("fiveam" ,sbcl-fiveam)))
7088 (inputs
7089 `(("cffi" ,sbcl-cffi)
7090 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7091 ("lparallel" ,sbcl-lparallel)
7092 ("lzlib" ,lzlib)))
7093 (arguments
7094 '(#:phases
7095 (modify-phases %standard-phases
7096 (add-after 'unpack 'fix-paths
7097 (lambda* (#:key inputs #:allow-other-keys)
7098 (substitute* "src/lzlib.lisp"
7099 (("liblz\\.so")
7100 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7101 #t)))))
7102 (synopsis "Common Lisp library for lzip (de)compression")
7103 (description
7104 "This Common Lisp library provides functions for lzip (LZMA)
7105 compression/decompression using bindings to the lzlib C library.")
7106 (home-page "https://github.com/glv2/cl-lzlib")
7107 (license license:gpl3+))))
7108
7109 (define-public cl-lzlib
7110 (sbcl-package->cl-source-package sbcl-lzlib))
7111
7112 (define-public ecl-lzlib
7113 (sbcl-package->ecl-package sbcl-lzlib))
7114
7115 (define-public sbcl-chanl
7116 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7117 (revision "1"))
7118 (package
7119 (name "sbcl-chanl")
7120 (version (git-version "0.4.1" revision commit))
7121 (source
7122 (origin
7123 (method git-fetch)
7124 (uri (git-reference
7125 (url "https://github.com/zkat/chanl")
7126 (commit commit)))
7127 (file-name (git-file-name name version))
7128 (sha256
7129 (base32
7130 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
7131 (build-system asdf-build-system/sbcl)
7132 (native-inputs
7133 `(("fiveam" ,sbcl-fiveam)))
7134 (inputs
7135 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7136 (synopsis "Portable channel-based concurrency for Common Lisp")
7137 (description "Common Lisp library for channel-based concurrency. In
7138 a nutshell, you create various threads sequentially executing tasks you need
7139 done, and use channel objects to communicate and synchronize the state of these
7140 threads.")
7141 (home-page "https://github.com/zkat/chanl")
7142 (license (list license:expat license:bsd-3)))))
7143
7144 (define-public cl-chanl
7145 (sbcl-package->cl-source-package sbcl-chanl))
7146
7147 (define-public ecl-chanl
7148 (sbcl-package->ecl-package sbcl-chanl))
7149
7150 (define-public sbcl-cl-store
7151 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7152 (revision "1"))
7153 (package
7154 (name "sbcl-cl-store")
7155 (version (git-version "0.8.11" revision commit))
7156 (source
7157 (origin
7158 (method git-fetch)
7159 (uri (git-reference
7160 (url "https://github.com/skypher/cl-store")
7161 (commit commit)))
7162 (file-name (git-file-name name version))
7163 (sha256
7164 (base32
7165 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
7166 (build-system asdf-build-system/sbcl)
7167 (native-inputs
7168 `(("rt" ,sbcl-rt)))
7169 (synopsis "Common Lisp library to serialize data")
7170 (description
7171 "CL-STORE is a portable serialization package which should give you the
7172 ability to store all Common Lisp data types into streams.")
7173 (home-page "https://www.common-lisp.net/project/cl-store/")
7174 (license license:expat))))
7175
7176 (define-public cl-store
7177 (sbcl-package->cl-source-package sbcl-cl-store))
7178
7179 (define-public ecl-cl-store
7180 (sbcl-package->ecl-package sbcl-cl-store))
7181
7182 (define-public sbcl-specialization-store
7183 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
7184 (revision "1"))
7185 (package
7186 (name "sbcl-specialization-store")
7187 (version (git-version "0.0.5" revision commit))
7188 (source
7189 (origin
7190 (method git-fetch)
7191 (uri (git-reference
7192 (url "https://github.com/markcox80/specialization-store")
7193 (commit commit)))
7194 (file-name (git-file-name "specialization-store" version))
7195 (sha256
7196 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
7197 (build-system asdf-build-system/sbcl)
7198 (native-inputs
7199 `(("fiveam" ,sbcl-fiveam)))
7200 (inputs
7201 `(("alexandria" ,sbcl-alexandria)
7202 ("introspect-environment" ,sbcl-introspect-environment)))
7203 (home-page "https://github.com/markcox80/specialization-store")
7204 (synopsis "Different type of generic function for Common Lisp")
7205 (description
7206 "SPECIALIZATION-STORE system provides a new kind of function, called
7207 a store function, whose behavior depends on the types of objects passed to the
7208 function.")
7209 (license license:bsd-2))))
7210
7211 (define-public ecl-specialization-store
7212 (package
7213 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7214 (arguments
7215 ;; TODO: Find why the tests get stuck forever; disable them for now.
7216 `(#:tests? #f))))
7217
7218 (define-public cl-specialization-store
7219 (sbcl-package->cl-source-package sbcl-specialization-store))
7220
7221 (define-public sbcl-cl-gobject-introspection
7222 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7223 (revision "1"))
7224 (package
7225 (name "sbcl-cl-gobject-introspection")
7226 (version (git-version "0.3" revision commit))
7227 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7228 (source
7229 (origin
7230 (method git-fetch)
7231 (uri (git-reference
7232 (url home-page)
7233 (commit commit)))
7234 (file-name (git-file-name name version))
7235 (sha256
7236 (base32
7237 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
7238 (build-system asdf-build-system/sbcl)
7239 (inputs
7240 `(("alexandria" ,sbcl-alexandria)
7241 ("cffi" ,sbcl-cffi)
7242 ("iterate" ,sbcl-iterate)
7243 ("trivial-garbage" ,sbcl-trivial-garbage)
7244 ("glib" ,glib)
7245 ("gobject-introspection" ,gobject-introspection)))
7246 (native-inputs
7247 `(("fiveam" ,sbcl-fiveam)))
7248 (arguments
7249 '(#:phases
7250 (modify-phases %standard-phases
7251 (add-after 'unpack 'fix-paths
7252 (lambda* (#:key inputs #:allow-other-keys)
7253 (substitute* "src/init.lisp"
7254 (("libgobject-2\\.0\\.so")
7255 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7256 (("libgirepository-1\\.0\\.so")
7257 (string-append (assoc-ref inputs "gobject-introspection")
7258 "/lib/libgirepository-1.0.so")))
7259 #t)))))
7260 (synopsis "Common Lisp bindings to GObject Introspection")
7261 (description
7262 "This library is a bridge between Common Lisp and GObject
7263 Introspection, which enables Common Lisp programs to access the full interface
7264 of C+GObject libraries without the need of writing dedicated bindings.")
7265 (license (list license:bsd-3
7266 ;; Tests are under a different license.
7267 license:llgpl)))))
7268
7269 (define-public cl-gobject-introspection
7270 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7271
7272 (define-public ecl-cl-gobject-introspection
7273 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7274
7275 (define-public sbcl-cl-slug
7276 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7277 (revision "1"))
7278 (package
7279 (name "sbcl-cl-slug")
7280 (version (git-version "0.4.1" revision commit))
7281 (source
7282 (origin
7283 (method git-fetch)
7284 (uri (git-reference
7285 (url "https://github.com/EuAndreh/cl-slug")
7286 (commit commit)))
7287 (file-name (git-file-name "cl-slug" version))
7288 (sha256
7289 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7290 (build-system asdf-build-system/sbcl)
7291 (arguments
7292 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7293 #:asd-systems '("cl-slug-test" "cl-slug")))
7294 (native-inputs
7295 `(("prove" ,sbcl-prove)))
7296 (inputs
7297 `(("ppcre" ,sbcl-cl-ppcre)))
7298 (home-page "https://github.com/EuAndreh/cl-slug")
7299 (synopsis "Multi-language slug formatter")
7300 (description
7301 "This is a small Common Lisp library to make slugs, mainly for URIs,
7302 from English and beyond.")
7303 (license license:llgpl))))
7304
7305 (define-public ecl-cl-slug
7306 (sbcl-package->ecl-package sbcl-cl-slug))
7307
7308 (define-public cl-slug
7309 (sbcl-package->cl-source-package sbcl-cl-slug))
7310
7311 (define-public sbcl-string-case
7312 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7313 (revision "0"))
7314 (package
7315 (name "sbcl-string-case")
7316 (version (git-version "0.0.2" revision commit))
7317 (home-page "https://github.com/pkhuong/string-case")
7318 (source
7319 (origin
7320 (method git-fetch)
7321 (uri (git-reference
7322 (url home-page)
7323 (commit commit)))
7324 (file-name (git-file-name name version))
7325 (sha256
7326 (base32
7327 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7328 (build-system asdf-build-system/sbcl)
7329 (synopsis "Efficient string= case in Common Lisp")
7330 (description
7331 "@code{string-case} is a Common Lisp macro that generates specialised decision
7332 trees to dispatch on string equality.")
7333 (license license:bsd-3))))
7334
7335 (define-public cl-string-case
7336 (sbcl-package->cl-source-package sbcl-string-case))
7337
7338 (define-public ecl-string-case
7339 (sbcl-package->ecl-package sbcl-string-case))
7340
7341 (define-public sbcl-garbage-pools
7342 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7343 (revision "1"))
7344 (package
7345 (name "sbcl-garbage-pools")
7346 (version (git-version "0.1.2" revision commit))
7347 (source
7348 (origin
7349 (method git-fetch)
7350 (uri (git-reference
7351 (url "https://github.com/archimag/garbage-pools")
7352 (commit commit)))
7353 (file-name (git-file-name name version))
7354 (sha256
7355 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7356 (build-system asdf-build-system/sbcl)
7357 (home-page "https://github.com/archimag/garbage-pools")
7358 (synopsis "Resource management pools for Common Lisp")
7359 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7360 Pools for resource management.")
7361 (license license:expat))))
7362
7363 (define-public ecl-garbage-pools
7364 (sbcl-package->ecl-package sbcl-garbage-pools))
7365
7366 (define-public cl-garbage-pools
7367 (sbcl-package->cl-source-package sbcl-garbage-pools))
7368
7369 (define-public sbcl-global-vars
7370 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7371 (revision "0"))
7372 (package
7373 (name "sbcl-global-vars")
7374 (version (git-version "1.0.0" revision commit))
7375 (home-page "https://github.com/lmj/global-vars")
7376 (source
7377 (origin
7378 (method git-fetch)
7379 (uri (git-reference
7380 (url home-page)
7381 (commit commit)))
7382 (file-name (git-file-name name version))
7383 (sha256
7384 (base32
7385 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7386 (build-system asdf-build-system/sbcl)
7387 (synopsis "Efficient global variables in Common Lisp")
7388 (description
7389 "In Common Lisp, a special variable that is never dynamically bound
7390 typically serves as a stand-in for a global variable. The @code{global-vars}
7391 library provides true global variables that are implemented by some compilers.
7392 An attempt to rebind a global variable properly results in a compiler error.
7393 That is, a global variable cannot be dynamically bound.
7394
7395 Global variables therefore allow us to communicate an intended usage that
7396 differs from special variables. Global variables are also more efficient than
7397 special variables, especially in the presence of threads.")
7398 (license license:expat))))
7399
7400 (define-public cl-global-vars
7401 (sbcl-package->cl-source-package sbcl-global-vars))
7402
7403 (define-public ecl-global-vars
7404 (sbcl-package->ecl-package sbcl-global-vars))
7405
7406 (define-public sbcl-trivial-file-size
7407 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7408 (revision "0"))
7409 (package
7410 (name "sbcl-trivial-file-size")
7411 (version (git-version "0.0.0" revision commit))
7412 (home-page "https://github.com/ruricolist/trivial-file-size")
7413 (source
7414 (origin
7415 (method git-fetch)
7416 (uri (git-reference
7417 (url home-page)
7418 (commit commit)))
7419 (file-name (git-file-name name version))
7420 (sha256
7421 (base32
7422 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7423 (build-system asdf-build-system/sbcl)
7424 (native-inputs
7425 `(("fiveam" ,sbcl-fiveam)))
7426 (synopsis "Size of a file in bytes in Common Lisp")
7427 (description
7428 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7429 is to open the file with an element type of (unsigned-byte 8) and then
7430 calculate the length of the stream. This is less than ideal. In most cases
7431 it is better to get the size of the file from its metadata, using a system
7432 call.
7433
7434 This library exports a single function, file-size-in-octets. It returns the
7435 size of a file in bytes, using system calls when possible.")
7436 (license license:expat))))
7437
7438 (define-public cl-trivial-file-size
7439 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7440
7441 (define-public ecl-trivial-file-size
7442 (sbcl-package->ecl-package sbcl-trivial-file-size))
7443
7444 (define-public sbcl-trivial-macroexpand-all
7445 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7446 (revision "0"))
7447 (package
7448 (name "sbcl-trivial-macroexpand-all")
7449 (version (git-version "0.0.0" revision commit))
7450 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7451 (source
7452 (origin
7453 (method git-fetch)
7454 (uri (git-reference
7455 (url home-page)
7456 (commit commit)))
7457 (file-name (git-file-name name version))
7458 (sha256
7459 (base32
7460 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7461 (build-system asdf-build-system/sbcl)
7462 (native-inputs
7463 `(("fiveam" ,sbcl-fiveam)))
7464 (synopsis "Portable macroexpand-all for Common Lisp")
7465 (description
7466 "This library provides a macroexpand-all function that calls the
7467 implementation specific equivalent.")
7468 (license license:unlicense))))
7469
7470 (define-public cl-trivial-macroexpand-all
7471 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7472
7473 (define-public ecl-trivial-macroexpand-all
7474 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7475
7476 (define-public sbcl-serapeum
7477 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7478 (revision "4"))
7479 (package
7480 (name "sbcl-serapeum")
7481 (version (git-version "0.0.0" revision commit))
7482 (home-page "https://github.com/ruricolist/serapeum")
7483 (source
7484 (origin
7485 (method git-fetch)
7486 (uri (git-reference
7487 (url home-page)
7488 (commit commit)))
7489 (file-name (git-file-name name version))
7490 (sha256
7491 (base32
7492 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7493 (build-system asdf-build-system/sbcl)
7494 (inputs
7495 `(("alexandria" ,sbcl-alexandria)
7496 ("trivia" ,sbcl-trivia)
7497 ("split-sequence" ,sbcl-split-sequence)
7498 ("string-case" ,sbcl-string-case)
7499 ("parse-number" ,sbcl-parse-number)
7500 ("trivial-garbage" ,sbcl-trivial-garbage)
7501 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7502 ("named-readtables" ,sbcl-named-readtables)
7503 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7504 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7505 ("global-vars" ,sbcl-global-vars)
7506 ("trivial-file-size" ,sbcl-trivial-file-size)
7507 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7508 (native-inputs
7509 `(("fiveam" ,sbcl-fiveam)
7510 ("local-time" ,sbcl-local-time)))
7511 (arguments
7512 '(#:phases
7513 (modify-phases %standard-phases
7514 (add-after 'unpack 'disable-failing-tests
7515 (lambda* (#:key inputs #:allow-other-keys)
7516 (substitute* "serapeum.asd"
7517 ;; Guix does not have Quicklisp, and probably never will.
7518 (("\\(:file \"quicklisp\"\\)") ""))
7519 #t)))))
7520 (synopsis "Common Lisp utility library beyond Alexandria")
7521 (description
7522 "Serapeum is a conservative library of Common Lisp utilities. It is a
7523 supplement, not a competitor, to Alexandria.")
7524 (license license:expat))))
7525
7526 (define-public cl-serapeum
7527 (sbcl-package->cl-source-package sbcl-serapeum))
7528
7529 (define-public ecl-serapeum
7530 (sbcl-package->ecl-package sbcl-serapeum))
7531
7532 (define-public sbcl-arrows
7533 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7534 (revision "0"))
7535 (package
7536 (name "sbcl-arrows")
7537 (version (git-version "0.2.0" revision commit))
7538 (source
7539 (origin
7540 (method git-fetch)
7541 (uri (git-reference
7542 (url "https://gitlab.com/Harleqin/arrows.git")
7543 (commit commit)))
7544 (file-name (git-file-name name version))
7545 (sha256
7546 (base32
7547 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7548 (build-system asdf-build-system/sbcl)
7549 (native-inputs
7550 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7551 (synopsis "Clojure-like arrow macros for Common Lisp")
7552 (description
7553 "This library implements the @code{->} and @code{->>} macros from
7554 Clojure, as well as several expansions on the idea.")
7555 (home-page "https://gitlab.com/Harleqin/arrows")
7556 (license license:public-domain))))
7557
7558 (define-public cl-arrows
7559 (sbcl-package->cl-source-package sbcl-arrows))
7560
7561 (define-public ecl-arrows
7562 (sbcl-package->ecl-package sbcl-arrows))
7563
7564 (define-public sbcl-simple-parallel-tasks
7565 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7566 (revision "1"))
7567 (package
7568 (name "sbcl-simple-parallel-tasks")
7569 (version (git-version "1.0" revision commit))
7570 (source
7571 (origin
7572 (method git-fetch)
7573 (uri (git-reference
7574 (url "https://github.com/glv2/simple-parallel-tasks")
7575 (commit commit)))
7576 (file-name (git-file-name name version))
7577 (sha256
7578 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7579 (build-system asdf-build-system/sbcl)
7580 (native-inputs
7581 `(("fiveam" ,sbcl-fiveam)))
7582 (inputs
7583 `(("chanl" ,sbcl-chanl)))
7584 (synopsis "Common Lisp library to evaluate some forms in parallel")
7585 (description "This is a simple Common Lisp library to evaluate some
7586 forms in parallel.")
7587 (home-page "https://github.com/glv2/simple-parallel-tasks")
7588 (license license:gpl3))))
7589
7590 (define-public cl-simple-parallel-tasks
7591 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7592
7593 (define-public ecl-simple-parallel-tasks
7594 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7595
7596 (define-public sbcl-cl-heap
7597 (package
7598 (name "sbcl-cl-heap")
7599 (version "0.1.6")
7600 (source
7601 (origin
7602 (method url-fetch)
7603 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7604 "cl-heap_" version ".tar.gz"))
7605 (sha256
7606 (base32
7607 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7608 (build-system asdf-build-system/sbcl)
7609 (native-inputs
7610 `(("xlunit" ,sbcl-xlunit)))
7611 (arguments
7612 `(#:test-asd-file "cl-heap-tests.asd"))
7613 (synopsis "Heap and priority queue data structures for Common Lisp")
7614 (description
7615 "CL-HEAP provides various implementations of heap data structures (a
7616 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7617 (home-page "https://common-lisp.net/project/cl-heap/")
7618 (license license:gpl3+)))
7619
7620 (define-public cl-heap
7621 (sbcl-package->cl-source-package sbcl-cl-heap))
7622
7623 (define-public ecl-cl-heap
7624 (sbcl-package->ecl-package sbcl-cl-heap))
7625
7626 (define-public sbcl-curry-compose-reader-macros
7627 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7628 (revision "0"))
7629 (package
7630 (name "sbcl-curry-compose-reader-macros")
7631 (version (git-version "1.0.0" revision commit))
7632 (source
7633 (origin
7634 (method git-fetch)
7635 (uri
7636 (git-reference
7637 (url "https://github.com/eschulte/curry-compose-reader-macros")
7638 (commit commit)))
7639 (file-name (git-file-name name version))
7640 (sha256
7641 (base32
7642 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7643 (build-system asdf-build-system/sbcl)
7644 (inputs
7645 `(("alexandria" ,sbcl-alexandria)
7646 ("named-readtables" ,sbcl-named-readtables)))
7647 (synopsis "Reader macros for partial application and composition")
7648 (description
7649 "This Common Lisp library provides reader macros for concise expression
7650 of function partial application and composition.")
7651 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7652 (license license:public-domain))))
7653
7654 (define-public cl-curry-compose-reader-macros
7655 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7656
7657 (define-public ecl-curry-compose-reader-macros
7658 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7659
7660 (define-public sbcl-yason
7661 (package
7662 (name "sbcl-yason")
7663 (version "0.7.7")
7664 (source
7665 (origin
7666 (method git-fetch)
7667 (uri (git-reference
7668 (url "https://github.com/phmarek/yason")
7669 (commit (string-append "v" version))))
7670 (file-name (git-file-name name version))
7671 (sha256
7672 (base32
7673 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7674 (build-system asdf-build-system/sbcl)
7675 (inputs
7676 `(("alexandria" ,sbcl-alexandria)
7677 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7678 (synopsis "Common Lisp JSON parser/encoder")
7679 (description
7680 "YASON is a Common Lisp library for encoding and decoding data in the
7681 JSON interchange format.")
7682 (home-page "https://github.com/phmarek/yason")
7683 (license license:bsd-3)))
7684
7685 (define-public cl-yason
7686 (sbcl-package->cl-source-package sbcl-yason))
7687
7688 (define-public ecl-yason
7689 (sbcl-package->ecl-package sbcl-yason))
7690
7691 (define-public sbcl-stefil
7692 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7693 (revision "0"))
7694 (package
7695 (name "sbcl-stefil")
7696 (version (git-version "0.1" revision commit))
7697 (source
7698 (origin
7699 (method git-fetch)
7700 (uri (git-reference
7701 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7702 (commit commit)))
7703 (file-name (git-file-name name version))
7704 (sha256
7705 (base32
7706 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7707 (build-system asdf-build-system/sbcl)
7708 (inputs
7709 `(("alexandria" ,sbcl-alexandria)
7710 ("iterate" ,sbcl-iterate)
7711 ("metabang-bind" ,sbcl-metabang-bind)
7712 ("swank" ,sbcl-slime-swank)))
7713 (arguments
7714 '(#:phases
7715 (modify-phases %standard-phases
7716 (add-after 'unpack 'drop-unnecessary-dependency
7717 (lambda _
7718 (substitute* "package.lisp"
7719 ((":stefil-system") ""))
7720 #t)))))
7721 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7722 (synopsis "Simple test framework")
7723 (description
7724 "Stefil is a simple test framework for Common Lisp, with a focus on
7725 interactive development.")
7726 (license license:public-domain))))
7727
7728 (define-public cl-stefil
7729 (sbcl-package->cl-source-package sbcl-stefil))
7730
7731 (define-public ecl-stefil
7732 (sbcl-package->ecl-package sbcl-stefil))
7733
7734 (define-public sbcl-graph
7735 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7736 (revision "0"))
7737 (package
7738 (name "sbcl-graph")
7739 (version (git-version "0.0.0" revision commit))
7740 (source
7741 (origin
7742 (method git-fetch)
7743 (uri
7744 (git-reference
7745 (url "https://github.com/eschulte/graph")
7746 (commit commit)))
7747 (file-name (git-file-name name version))
7748 (sha256
7749 (base32
7750 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7751 (build-system asdf-build-system/sbcl)
7752 (native-inputs
7753 `(("stefil" ,sbcl-stefil)))
7754 (inputs
7755 `(("alexandria" ,sbcl-alexandria)
7756 ("cl-heap" ,sbcl-cl-heap)
7757 ("cl-ppcre" ,sbcl-cl-ppcre)
7758 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7759 ("metabang-bind" ,sbcl-metabang-bind)
7760 ("named-readtables" ,sbcl-named-readtables)
7761 ("yason" ,sbcl-yason)))
7762 (arguments
7763 '(#:asd-systems '("graph"
7764 "graph/dot"
7765 "graph/json")))
7766 (synopsis "Graph data structure and algorithms for Common Lisp")
7767 (description
7768 "The GRAPH Common Lisp library provides a data structures to represent
7769 graphs, as well as some graph manipulation and analysis algorithms (shortest
7770 path, maximum flow, minimum spanning tree, etc.).")
7771 (home-page "https://eschulte.github.io/graph/")
7772 (license license:gpl3+))))
7773
7774 (define-public cl-graph
7775 (sbcl-package->cl-source-package sbcl-graph))
7776
7777 (define-public ecl-graph
7778 (sbcl-package->ecl-package sbcl-graph))
7779
7780 (define-public sbcl-trivial-indent
7781 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7782 (revision "0"))
7783 (package
7784 (name "sbcl-trivial-indent")
7785 (version (git-version "1.0.0" revision commit))
7786 (source
7787 (origin
7788 (method git-fetch)
7789 (uri
7790 (git-reference
7791 (url "https://github.com/Shinmera/trivial-indent")
7792 (commit commit)))
7793 (file-name (git-file-name name version))
7794 (sha256
7795 (base32
7796 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7797 (build-system asdf-build-system/sbcl)
7798 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7799 (description
7800 "This library allows you to define custom indentation hints for your
7801 macros if the one recognised by SLIME automatically produces unwanted
7802 results.")
7803 (home-page "https://shinmera.github.io/trivial-indent/")
7804 (license license:zlib))))
7805
7806 (define-public cl-trivial-indent
7807 (sbcl-package->cl-source-package sbcl-trivial-indent))
7808
7809 (define-public ecl-trivial-indent
7810 (sbcl-package->ecl-package sbcl-trivial-indent))
7811
7812 (define-public sbcl-documentation-utils
7813 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7814 (revision "0"))
7815 (package
7816 (name "sbcl-documentation-utils")
7817 (version (git-version "1.2.0" revision commit))
7818 (source
7819 (origin
7820 (method git-fetch)
7821 (uri
7822 (git-reference
7823 (url "https://github.com/Shinmera/documentation-utils")
7824 (commit commit)))
7825 (file-name (git-file-name name version))
7826 (sha256
7827 (base32
7828 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7829 (build-system asdf-build-system/sbcl)
7830 (inputs
7831 `(("trivial-indent" ,sbcl-trivial-indent)))
7832 (synopsis "Few simple tools to document Common Lisp libraries")
7833 (description
7834 "This is a small library to help you with managing the Common Lisp
7835 docstrings for your library.")
7836 (home-page "https://shinmera.github.io/documentation-utils/")
7837 (license license:zlib))))
7838
7839 (define-public cl-documentation-utils
7840 (sbcl-package->cl-source-package sbcl-documentation-utils))
7841
7842 (define-public ecl-documentation-utils
7843 (sbcl-package->ecl-package sbcl-documentation-utils))
7844
7845 (define-public sbcl-documentation-utils-extensions
7846 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7847 (package
7848 (name "sbcl-documentation-utils-extensions")
7849 (version (git-version "0.0.0" "1" commit))
7850 (source
7851 (origin
7852 (method git-fetch)
7853 (uri
7854 (git-reference
7855 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7856 (commit commit)))
7857 (file-name (git-file-name name version))
7858 (sha256
7859 (base32
7860 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7861 (build-system asdf-build-system/sbcl)
7862 (inputs
7863 `(("documentation-utils" ,sbcl-documentation-utils)))
7864 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7865 (synopsis "Set of extensions for documentation-utils")
7866 (description
7867 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7868 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7869 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7870 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7871 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7872 gathered documentation with find-documentation function. Execute code stored
7873 in documentation with @code{execute-documentation}. See the examples in the
7874 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7875 for more information.")
7876 (license license:expat))))
7877
7878 (define-public cl-documentation-utils-extensions
7879 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7880
7881 (define-public ecl-documentation-utils-extensions
7882 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7883
7884 (define-public sbcl-form-fiddle
7885 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7886 (revision "0"))
7887 (package
7888 (name "sbcl-form-fiddle")
7889 (version (git-version "1.1.0" revision commit))
7890 (source
7891 (origin
7892 (method git-fetch)
7893 (uri
7894 (git-reference
7895 (url "https://github.com/Shinmera/form-fiddle")
7896 (commit commit)))
7897 (file-name (git-file-name name version))
7898 (sha256
7899 (base32
7900 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7901 (build-system asdf-build-system/sbcl)
7902 (inputs
7903 `(("documentation-utils" ,sbcl-documentation-utils)))
7904 (synopsis "Utilities to destructure Common Lisp lambda forms")
7905 (description
7906 "Often times we need to destructure a form definition in a Common Lisp
7907 macro. This library provides a set of simple utilities to help with that.")
7908 (home-page "https://shinmera.github.io/form-fiddle/")
7909 (license license:zlib))))
7910
7911 (define-public cl-form-fiddle
7912 (sbcl-package->cl-source-package sbcl-form-fiddle))
7913
7914 (define-public ecl-form-fiddle
7915 (sbcl-package->ecl-package sbcl-form-fiddle))
7916
7917 (define-public sbcl-parachute
7918 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7919 (revision "0"))
7920 (package
7921 (name "sbcl-parachute")
7922 (version (git-version "1.1.1" revision commit))
7923 (source
7924 (origin
7925 (method git-fetch)
7926 (uri
7927 (git-reference
7928 (url "https://github.com/Shinmera/parachute")
7929 (commit commit)))
7930 (file-name (git-file-name name version))
7931 (sha256
7932 (base32
7933 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7934 (build-system asdf-build-system/sbcl)
7935 (inputs
7936 `(("documentation-utils" ,sbcl-documentation-utils)
7937 ("form-fiddle" ,sbcl-form-fiddle)))
7938 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7939 (description
7940 "Parachute is a simple-to-use and extensible testing framework.
7941 In Parachute, things are organised as a bunch of named tests within a package.
7942 Each test can contain a bunch of test forms that make up its body.")
7943 (home-page "https://shinmera.github.io/parachute/")
7944 (license license:zlib))))
7945
7946 (define-public cl-parachute
7947 (sbcl-package->cl-source-package sbcl-parachute))
7948
7949 (define-public ecl-parachute
7950 (sbcl-package->ecl-package sbcl-parachute))
7951
7952 (define-public sbcl-array-utils
7953 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7954 (revision "0"))
7955 (package
7956 (name "sbcl-array-utils")
7957 (version (git-version "1.1.1" revision commit))
7958 (source
7959 (origin
7960 (method git-fetch)
7961 (uri
7962 (git-reference
7963 (url "https://github.com/Shinmera/array-utils")
7964 (commit commit)))
7965 (file-name (git-file-name name version))
7966 (sha256
7967 (base32
7968 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7969 (build-system asdf-build-system/sbcl)
7970 (native-inputs
7971 `(("parachute" ,sbcl-parachute)))
7972 (inputs
7973 `(("documentation-utils" ,sbcl-documentation-utils)))
7974 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7975 (description
7976 "A miniature toolkit that contains some useful shifting/popping/pushing
7977 functions for arrays and vectors. Originally from Plump.")
7978 (home-page "https://shinmera.github.io/array-utils/")
7979 (license license:zlib))))
7980
7981 (define-public cl-array-utils
7982 (sbcl-package->cl-source-package sbcl-array-utils))
7983
7984 (define-public ecl-array-utils
7985 (sbcl-package->ecl-package sbcl-array-utils))
7986
7987 (define-public sbcl-plump
7988 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7989 (revision "1"))
7990 (package
7991 (name "sbcl-plump")
7992 (version (git-version "2.0.0" revision commit))
7993 (source
7994 (origin
7995 (method git-fetch)
7996 (uri
7997 (git-reference
7998 (url "https://github.com/Shinmera/plump")
7999 (commit commit)))
8000 (file-name (git-file-name name version))
8001 (sha256
8002 (base32
8003 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
8004 (build-system asdf-build-system/sbcl)
8005 (inputs
8006 `(("array-utils" ,sbcl-array-utils)
8007 ("documentation-utils" ,sbcl-documentation-utils)))
8008 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
8009 (description
8010 "Plump is a parser for HTML/XML-like documents, focusing on being
8011 lenient towards invalid markup. It can handle things like invalid attributes,
8012 bad closing tag order, unencoded entities, inexistent tag types, self-closing
8013 tags and so on. It parses documents to a class representation and offers a
8014 small set of DOM functions to manipulate it. It can be extended to parse to
8015 your own classes.")
8016 (home-page "https://shinmera.github.io/plump/")
8017 (license license:zlib))))
8018
8019 (define-public cl-plump
8020 (sbcl-package->cl-source-package sbcl-plump))
8021
8022 (define-public ecl-plump
8023 (sbcl-package->ecl-package sbcl-plump))
8024
8025 ;;; Split the antik package in two to work around the circular dependency
8026 ;;; between antik/antik and antik/gsll.
8027 (define-public sbcl-antik-base
8028 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
8029 (revision "1"))
8030 (package
8031 (name "sbcl-antik-base")
8032 (version (git-version "0.0.0" revision commit))
8033 (source
8034 (origin
8035 (method git-fetch)
8036 (uri (git-reference
8037 (url "https://gitlab.common-lisp.net/antik/antik.git")
8038 (commit commit)))
8039 (file-name (git-file-name name version))
8040 (sha256
8041 (base32
8042 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
8043 (build-system asdf-build-system/sbcl)
8044 (inputs
8045 `(("alexandria" ,sbcl-alexandria)
8046 ("cffi" ,sbcl-cffi)
8047 ("cl-ppcre" ,sbcl-cl-ppcre)
8048 ("drakma" ,sbcl-drakma)
8049 ("fare-utils" ,sbcl-fare-utils)
8050 ("iterate" ,sbcl-iterate)
8051 ("metabang-bind" ,sbcl-metabang-bind)
8052 ("named-readtables" ,sbcl-named-readtables)
8053 ("split-sequence" ,sbcl-split-sequence)
8054 ("static-vectors" ,sbcl-static-vectors)
8055 ("trivial-garbage" ,sbcl-trivial-garbage)
8056 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
8057 (native-inputs
8058 `(("lisp-unit" ,sbcl-lisp-unit)))
8059 (arguments
8060 '(#:asd-systems '("antik-base"
8061 "foreign-array")
8062 #:phases
8063 (modify-phases %standard-phases
8064 (add-after 'unpack 'fix-build
8065 (lambda _
8066 (for-each delete-file
8067 '("antik.asd"
8068 "physical-dimension.asd"
8069 "science-data.asd"))
8070 #t)))))
8071 (synopsis "Scientific and engineering computation in Common Lisp")
8072 (description
8073 "Antik provides a foundation for scientific and engineering
8074 computation in Common Lisp. It is designed not only to facilitate
8075 numerical computations, but to permit the use of numerical computation
8076 libraries and the interchange of data and procedures, whether
8077 foreign (non-Lisp) or Lisp libraries. It is named after the
8078 Antikythera mechanism, one of the oldest examples of a scientific
8079 computer known.")
8080 (home-page "https://common-lisp.net/project/antik/")
8081 (license license:gpl3))))
8082
8083 (define-public cl-antik-base
8084 (sbcl-package->cl-source-package sbcl-antik-base))
8085
8086 (define-public ecl-antik-base
8087 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
8088 (package
8089 (inherit pkg)
8090 (arguments
8091 (substitute-keyword-arguments (package-arguments pkg)
8092 ((#:phases phases)
8093 `(modify-phases ,phases
8094 (add-after 'unpack 'fix-readtable
8095 (lambda _
8096 (substitute* "input-output/readtable.lisp"
8097 (("#-ccl")
8098 "#-(or ccl ecl)"))
8099 #t)))))))))
8100
8101 (define-public sbcl-gsll
8102 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
8103 (revision "1"))
8104 (package
8105 (name "sbcl-gsll")
8106 (version (git-version "0.0.0" revision commit))
8107 (source
8108 (origin
8109 (method git-fetch)
8110 (uri (git-reference
8111 (url "https://gitlab.common-lisp.net/antik/gsll.git")
8112 (commit commit)))
8113 (file-name (git-file-name name version))
8114 (sha256
8115 (base32
8116 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
8117 (build-system asdf-build-system/sbcl)
8118 (native-inputs
8119 `(("lisp-unit" ,sbcl-lisp-unit)))
8120 (inputs
8121 `(("alexandria" ,sbcl-alexandria)
8122 ("antik-base" ,sbcl-antik-base)
8123 ("cffi" ,sbcl-cffi)
8124 ("gsl" ,gsl)
8125 ("metabang-bind" ,sbcl-metabang-bind)
8126 ("trivial-features" ,sbcl-trivial-features)
8127 ("trivial-garbage" ,sbcl-trivial-garbage)))
8128 (arguments
8129 `(#:tests? #f
8130 #:phases
8131 (modify-phases %standard-phases
8132 (add-after 'unpack 'fix-cffi-paths
8133 (lambda* (#:key inputs #:allow-other-keys)
8134 (substitute* "gsll.asd"
8135 ((":depends-on \\(#:foreign-array")
8136 ":depends-on (#:foreign-array #:cffi-libffi"))
8137 (substitute* "init/init.lisp"
8138 (("libgslcblas.so" all)
8139 (string-append
8140 (assoc-ref inputs "gsl") "/lib/" all)))
8141 (substitute* "init/init.lisp"
8142 (("libgsl.so" all)
8143 (string-append
8144 (assoc-ref inputs "gsl") "/lib/" all))))))))
8145 (synopsis "GNU Scientific Library for Lisp")
8146 (description
8147 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8148 GNU Scientific Library (GSL) from Common Lisp. This library provides a
8149 full range of common mathematical operations useful to scientific and
8150 engineering applications. The design of the GSLL interface is such
8151 that access to most of the GSL library is possible in a Lisp-natural
8152 way; the intent is that the user not be hampered by the restrictions
8153 of the C language in which GSL has been written. GSLL thus provides
8154 interactive use of GSL for getting quick answers, even for someone not
8155 intending to program in Lisp.")
8156 (home-page "https://common-lisp.net/project/gsll/")
8157 (license license:gpl3))))
8158
8159 (define-public cl-gsll
8160 (sbcl-package->cl-source-package sbcl-gsll))
8161
8162 (define-public ecl-gsll
8163 (sbcl-package->ecl-package sbcl-gsll))
8164
8165 (define-public sbcl-antik
8166 (package
8167 (inherit sbcl-antik-base)
8168 (name "sbcl-antik")
8169 (inputs
8170 `(("antik-base" ,sbcl-antik-base)
8171 ("gsll" ,sbcl-gsll)))
8172 (arguments
8173 '(#:asd-systems '("antik"
8174 "science-data")
8175 #:phases
8176 (modify-phases %standard-phases
8177 (add-after 'unpack 'fix-build
8178 (lambda _
8179 (for-each delete-file
8180 '("antik-base.asd"
8181 "foreign-array.asd"))
8182 #t)))))))
8183
8184 (define-public cl-antik
8185 (sbcl-package->cl-source-package sbcl-antik))
8186
8187 (define-public sbcl-cl-interpol
8188 (let ((commit "70a1137f41dd8889004dbab9536b1adeac2497aa")
8189 (revision "1"))
8190 (package
8191 (name "sbcl-cl-interpol")
8192 (version (git-version "0.2.7" revision commit))
8193 (source
8194 (origin
8195 (method git-fetch)
8196 (uri (git-reference
8197 (url "https://github.com/edicl/cl-interpol")
8198 (commit commit)))
8199 (file-name (git-file-name "cl-interpol" version))
8200 (sha256
8201 (base32
8202 "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490"))))
8203 (build-system asdf-build-system/sbcl)
8204 (inputs
8205 `(("cl-unicode" ,sbcl-cl-unicode)
8206 ("named-readtables" ,sbcl-named-readtables)))
8207 (native-inputs
8208 `(("flexi-streams" ,sbcl-flexi-streams)))
8209 (synopsis "String interpolation for Common Lisp")
8210 (description
8211 "CL-INTERPOL is a library for Common Lisp which modifies the
8212 reader so that you can have interpolation within strings similar to
8213 Perl or Unix Shell scripts. It also provides various ways to insert
8214 arbitrary characters into literal strings even if your editor/IDE
8215 doesn't support them.")
8216 (home-page "https://edicl.github.io/cl-interpol/")
8217 (license license:bsd-3))))
8218
8219 (define-public cl-interpol
8220 (sbcl-package->cl-source-package sbcl-cl-interpol))
8221
8222 (define-public ecl-cl-interpol
8223 (sbcl-package->ecl-package sbcl-cl-interpol))
8224
8225 (define-public sbcl-symbol-munger
8226 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8227 (revision "1"))
8228 (package
8229 (name "sbcl-symbol-munger")
8230 (version (git-version "0.0.1" revision commit))
8231 (source
8232 (origin
8233 (method git-fetch)
8234 (uri (git-reference
8235 (url "https://github.com/AccelerationNet/symbol-munger")
8236 (commit commit)))
8237 (file-name (git-file-name name version))
8238 (sha256
8239 (base32
8240 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8241 (build-system asdf-build-system/sbcl)
8242 (inputs
8243 `(("alexandria" ,sbcl-alexandria)
8244 ("iterate" ,sbcl-iterate)))
8245 (arguments
8246 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8247 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8248 '(#:tests? #f))
8249 (synopsis
8250 "Capitalization and spacing conversion functions for Common Lisp")
8251 (description
8252 "This is a Common Lisp library to change the capitalization and spacing
8253 of a string or a symbol. It can convert to and from Lisp, english, underscore
8254 and camel-case rules.")
8255 (home-page "https://github.com/AccelerationNet/symbol-munger")
8256 ;; The package declares a BSD license, but all of the license
8257 ;; text is MIT.
8258 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8259 (license license:expat))))
8260
8261 (define-public cl-symbol-munger
8262 (sbcl-package->cl-source-package sbcl-symbol-munger))
8263
8264 (define-public ecl-symbol-munger
8265 (sbcl-package->ecl-package sbcl-symbol-munger))
8266
8267 (define-public sbcl-lisp-unit2
8268 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8269 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8270 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8271 (revision "1"))
8272 (package
8273 (name "sbcl-lisp-unit2")
8274 (version (git-version "0.2.0" revision commit))
8275 (source
8276 (origin
8277 (method git-fetch)
8278 (uri (git-reference
8279 (url "https://github.com/AccelerationNet/lisp-unit2")
8280 (commit commit)))
8281 (file-name (git-file-name name version))
8282 (sha256
8283 (base32
8284 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8285 (build-system asdf-build-system/sbcl)
8286 (inputs
8287 `(("alexandria" ,sbcl-alexandria)
8288 ("cl-interpol" ,sbcl-cl-interpol)
8289 ("iterate" ,sbcl-iterate)
8290 ("symbol-munger" ,sbcl-symbol-munger)))
8291 (synopsis "Test Framework for Common Lisp")
8292 (description
8293 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8294 style of JUnit for Java. It is a new version of the lisp-unit library written
8295 by Chris Riesbeck.")
8296 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8297 (license license:expat))))
8298
8299 (define-public cl-lisp-unit2
8300 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8301
8302 (define-public ecl-lisp-unit2
8303 (sbcl-package->ecl-package sbcl-lisp-unit2))
8304
8305 (define-public sbcl-cl-csv
8306 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8307 (revision "2"))
8308 (package
8309 (name "sbcl-cl-csv")
8310 (version (git-version "1.0.6" revision commit))
8311 (source
8312 (origin
8313 (method git-fetch)
8314 (uri (git-reference
8315 (url "https://github.com/AccelerationNet/cl-csv")
8316 (commit commit)))
8317 (file-name (git-file-name name version))
8318 (sha256
8319 (base32
8320 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8321 (build-system asdf-build-system/sbcl)
8322 (arguments
8323 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8324 `(#:tests? #f))
8325 (inputs
8326 `(("alexandria" ,sbcl-alexandria)
8327 ("cl-interpol" ,sbcl-cl-interpol)
8328 ("iterate" ,sbcl-iterate)))
8329 (native-inputs
8330 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8331 (synopsis "Common lisp library for comma-separated values")
8332 (description
8333 "This is a Common Lisp library providing functions to read/write CSV
8334 from/to strings, streams and files.")
8335 (home-page "https://github.com/AccelerationNet/cl-csv")
8336 (license license:bsd-3))))
8337
8338 (define-public cl-csv
8339 (sbcl-package->cl-source-package sbcl-cl-csv))
8340
8341 (define-public ecl-cl-csv
8342 (sbcl-package->ecl-package sbcl-cl-csv))
8343
8344 (define-public sbcl-external-program
8345 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8346 (revision "1"))
8347 (package
8348 (name "sbcl-external-program")
8349 (version (git-version "0.0.6" revision commit))
8350 (source
8351 (origin
8352 (method git-fetch)
8353 (uri (git-reference
8354 (url "https://github.com/sellout/external-program")
8355 (commit commit)))
8356 (file-name (git-file-name name version))
8357 (sha256
8358 (base32
8359 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8360 (build-system asdf-build-system/sbcl)
8361 (inputs
8362 `(("trivial-features" ,sbcl-trivial-features)))
8363 (native-inputs
8364 `(("fiveam" ,sbcl-fiveam)))
8365 (synopsis "Common Lisp library for running external programs")
8366 (description
8367 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8368 process. It is an attempt to make the RUN-PROGRAM functionality in
8369 implementations like SBCL and CCL as portable as possible without
8370 sacrificing much in the way of power.")
8371 (home-page "https://github.com/sellout/external-program")
8372 (license license:llgpl))))
8373
8374 (define-public cl-external-program
8375 (sbcl-package->cl-source-package sbcl-external-program))
8376
8377 (define-public ecl-external-program
8378 (sbcl-package->ecl-package sbcl-external-program))
8379
8380 (define-public sbcl-cl-ana
8381 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8382 (revision "1"))
8383 (package
8384 (name "sbcl-cl-ana")
8385 (version (git-version "0.0.0" revision commit))
8386 (source
8387 (origin
8388 (method git-fetch)
8389 (uri (git-reference
8390 (url "https://github.com/ghollisjr/cl-ana")
8391 (commit commit)))
8392 (file-name (git-file-name name version))
8393 (sha256
8394 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8395 (build-system asdf-build-system/sbcl)
8396 (native-inputs
8397 `(("cl-fad" ,sbcl-cl-fad)))
8398 (inputs
8399 `(("alexandria" ,sbcl-alexandria)
8400 ("antik" ,sbcl-antik)
8401 ("cffi" ,sbcl-cffi)
8402 ("cl-csv" ,sbcl-cl-csv)
8403 ("closer-mop" ,sbcl-closer-mop)
8404 ("external-program" ,sbcl-external-program)
8405 ("gsl" ,gsl)
8406 ("gsll" ,sbcl-gsll)
8407 ("hdf5" ,hdf5-parallel-openmpi)
8408 ("iterate" ,sbcl-iterate)
8409 ("libffi" ,libffi)
8410 ("split-sequence" ,sbcl-split-sequence)))
8411 (arguments
8412 `(#:phases
8413 (modify-phases %standard-phases
8414 (add-after 'unpack 'fix-paths
8415 (lambda* (#:key inputs #:allow-other-keys)
8416 (substitute* "hdf-cffi/hdf-cffi.lisp"
8417 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8418 (string-append (assoc-ref inputs "hdf5")
8419 "/lib/libhdf5.so")))
8420 (substitute* "gsl-cffi/gsl-cffi.lisp"
8421 (("define-foreign-library gsl-cffi" all)
8422 (string-append all " (:unix "
8423 (assoc-ref inputs "gsl")
8424 "/lib/libgsl.so)")))
8425 #t)))))
8426 (synopsis "Common Lisp data analysis library")
8427 (description
8428 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8429 binned data analysis along with nonlinear least squares fitting and
8430 visualization.")
8431 (home-page "https://github.com/ghollisjr/cl-ana")
8432 (license license:gpl3))))
8433
8434 (define-public cl-ana
8435 (sbcl-package->cl-source-package sbcl-cl-ana))
8436
8437 (define-public sbcl-archive
8438 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8439 (revision "1"))
8440 (package
8441 (name "sbcl-archive")
8442 (version (git-version "0.9" revision commit))
8443 (source (origin
8444 (method git-fetch)
8445 (uri (git-reference
8446 (url "https://github.com/sharplispers/archive")
8447 (commit commit)))
8448 (file-name (git-file-name name version))
8449 (sha256
8450 (base32
8451 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8452 (build-system asdf-build-system/sbcl)
8453 (inputs
8454 `(("cl-fad" ,sbcl-cl-fad)
8455 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8456 (synopsis "Common Lisp library for tar and cpio archives")
8457 (description
8458 "This is a Common Lisp library to read and write disk-based file
8459 archives such as those generated by the tar and cpio programs on Unix.")
8460 (home-page "https://github.com/sharplispers/archive")
8461 (license license:bsd-3))))
8462
8463 (define-public cl-archive
8464 (sbcl-package->cl-source-package sbcl-archive))
8465
8466 (define-public ecl-archive
8467 (sbcl-package->ecl-package sbcl-archive))
8468
8469 (define-public sbcl-misc-extensions
8470 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8471 (revision "1"))
8472 (package
8473 (name "sbcl-misc-extensions")
8474 (version (git-version "3.3" revision commit))
8475 (source
8476 (origin
8477 (method git-fetch)
8478 (uri (git-reference
8479 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8480 (commit commit)))
8481 (file-name (git-file-name name version))
8482 (sha256
8483 (base32
8484 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8485 (build-system asdf-build-system/sbcl)
8486 (synopsis "Collection of small macros and extensions for Common Lisp")
8487 (description
8488 "This project is intended as a catchall for small, general-purpose
8489 extensions to Common Lisp. It contains:
8490
8491 @itemize
8492 @item @code{new-let}, a macro that combines and generalizes @code{let},
8493 @code{let*} and @code{multiple-value-bind},
8494 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8495 @end itemize\n")
8496 (home-page "https://common-lisp.net/project/misc-extensions/")
8497 (license license:public-domain))))
8498
8499 (define-public cl-misc-extensions
8500 (sbcl-package->cl-source-package sbcl-misc-extensions))
8501
8502 (define-public ecl-misc-extensions
8503 (sbcl-package->ecl-package sbcl-misc-extensions))
8504
8505 (define-public sbcl-mt19937
8506 (package
8507 (name "sbcl-mt19937")
8508 (version "1.1")
8509 (source
8510 (origin
8511 (method url-fetch)
8512 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8513 "mt19937-latest.tar.gz"))
8514 (sha256
8515 (base32
8516 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8517 (build-system asdf-build-system/sbcl)
8518 (synopsis "Mersenne Twister pseudo-random number generator")
8519 (description
8520 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8521 for Common Lisp.")
8522 (home-page "https://www.cliki.net/mt19937")
8523 (license license:public-domain)))
8524
8525 (define-public cl-mt19937
8526 (sbcl-package->cl-source-package sbcl-mt19937))
8527
8528 (define-public ecl-mt19937
8529 (sbcl-package->ecl-package sbcl-mt19937))
8530
8531 (define-public sbcl-fset
8532 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8533 (revision "1"))
8534 (package
8535 (name "sbcl-fset")
8536 (version (git-version "1.3.2" revision commit))
8537 (source
8538 (origin
8539 (method git-fetch)
8540 (uri (git-reference
8541 (url "https://github.com/slburson/fset")
8542 (commit commit)))
8543 (file-name (git-file-name name version))
8544 (sha256
8545 (base32
8546 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8547 (snippet '(begin
8548 ;; Remove obsolete copy of system definition.
8549 (delete-file "Code/fset.asd")
8550 #t))))
8551 (build-system asdf-build-system/sbcl)
8552 (inputs
8553 `(("misc-extensions" ,sbcl-misc-extensions)
8554 ("mt19937" ,sbcl-mt19937)
8555 ("named-readtables" ,sbcl-named-readtables)))
8556 (synopsis "Functional set-theoretic collections library")
8557 (description
8558 "FSet is a functional set-theoretic collections library for Common Lisp.
8559 Functional means that all update operations return a new collection rather than
8560 modifying an existing one in place. Set-theoretic means that collections may
8561 be nested arbitrarily with no additional programmer effort; for instance, sets
8562 may contain sets, maps may be keyed by sets, etc.")
8563 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8564 (license license:llgpl))))
8565
8566 (define-public cl-fset
8567 (sbcl-package->cl-source-package sbcl-fset))
8568
8569 (define-public ecl-fset
8570 (package
8571 (inherit (sbcl-package->ecl-package sbcl-fset))
8572 (arguments
8573 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8574 '(#:tests? #f))))
8575
8576 (define-public sbcl-cl-cont
8577 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8578 (revision "1"))
8579 (package
8580 (name "sbcl-cl-cont")
8581 (version (git-version "0.3.8" revision commit))
8582 (source
8583 (origin
8584 (method git-fetch)
8585 (uri (git-reference
8586 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8587 (commit commit)))
8588 (file-name (git-file-name name version))
8589 (sha256
8590 (base32
8591 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8592 (build-system asdf-build-system/sbcl)
8593 (inputs
8594 `(("alexandria" ,sbcl-alexandria)
8595 ("closer-mop" ,sbcl-closer-mop)))
8596 (native-inputs
8597 `(("rt" ,sbcl-rt)))
8598 (synopsis "Delimited continuations for Common Lisp")
8599 (description
8600 "This is a library that implements delimited continuations by
8601 transforming Common Lisp code to continuation passing style.")
8602 (home-page "https://common-lisp.net/project/cl-cont/")
8603 (license license:llgpl))))
8604
8605 (define-public cl-cont
8606 (sbcl-package->cl-source-package sbcl-cl-cont))
8607
8608 (define-public ecl-cl-cont
8609 (sbcl-package->ecl-package sbcl-cl-cont))
8610
8611 (define-public sbcl-cl-coroutine
8612 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8613 (revision "1"))
8614 (package
8615 (name "sbcl-cl-coroutine")
8616 (version (git-version "0.1" revision commit))
8617 (source
8618 (origin
8619 (method git-fetch)
8620 (uri (git-reference
8621 (url "https://github.com/takagi/cl-coroutine")
8622 (commit commit)))
8623 (file-name (git-file-name name version))
8624 (sha256
8625 (base32
8626 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8627 (build-system asdf-build-system/sbcl)
8628 (inputs
8629 `(("alexandria" ,sbcl-alexandria)
8630 ("cl-cont" ,sbcl-cl-cont)))
8631 (native-inputs
8632 `(("prove" ,sbcl-prove)))
8633 (arguments
8634 `(;; TODO: Fix the tests. They fail with:
8635 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8636 #:tests? #f
8637 #:phases
8638 (modify-phases %standard-phases
8639 (add-after 'unpack 'fix-tests
8640 (lambda _
8641 (substitute* "cl-coroutine-test.asd"
8642 (("cl-test-more")
8643 "prove"))
8644 #t)))))
8645 (synopsis "Coroutine library for Common Lisp")
8646 (description
8647 "This is a coroutine library for Common Lisp implemented using the
8648 continuations of the @code{cl-cont} library.")
8649 (home-page "https://github.com/takagi/cl-coroutine")
8650 (license license:llgpl))))
8651
8652 (define-public cl-coroutine
8653 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8654
8655 (define-public ecl-cl-coroutine
8656 (sbcl-package->ecl-package sbcl-cl-coroutine))
8657
8658 (define-public sbcl-vas-string-metrics
8659 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8660 (revision "1"))
8661 (package
8662 (name "sbcl-vas-string-metrics")
8663 (version (git-version "0.0.0" revision commit))
8664 (source
8665 (origin
8666 (method git-fetch)
8667 (uri (git-reference
8668 (url "https://github.com/vsedach/vas-string-metrics")
8669 (commit commit)))
8670 (file-name (git-file-name "vas-string-metrics" version))
8671 (sha256
8672 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8673 (build-system asdf-build-system/sbcl)
8674 (arguments
8675 `(#:test-asd-file "test.vas-string-metrics.asd"))
8676 (home-page "https://github.com/vsedach/vas-string-metrics")
8677 (synopsis "String distance algorithms for Common Lisp")
8678 (description
8679 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8680 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8681 algorithms.")
8682 (license license:lgpl3+))))
8683
8684 (define-public ecl-vas-string-metrics
8685 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8686
8687 (define-public cl-vas-string-metrics
8688 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8689
8690 (define-public sbcl-vom
8691 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8692 (revision "1"))
8693 (package
8694 (name "sbcl-vom")
8695 (version (git-version "0.1.4" revision commit))
8696 (source
8697 (origin
8698 (method git-fetch)
8699 (uri (git-reference
8700 (url "https://github.com/orthecreedence/vom")
8701 (commit commit)))
8702 (file-name (git-file-name name version))
8703 (sha256
8704 (base32
8705 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8706 (build-system asdf-build-system/sbcl)
8707 (synopsis "Tiny logging utility for Common Lisp")
8708 (description
8709 "Vom is a logging library for Common Lisp. It's goal is to be useful
8710 and small. It does not provide a lot of features as other loggers do, but
8711 has a small codebase that's easy to understand and use.")
8712 (home-page "https://github.com/orthecreedence/vom")
8713 (license license:expat))))
8714
8715 (define-public cl-vom
8716 (sbcl-package->cl-source-package sbcl-vom))
8717
8718 (define-public ecl-vom
8719 (sbcl-package->ecl-package sbcl-vom))
8720
8721 (define-public sbcl-cl-libuv
8722 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8723 (revision "1"))
8724 (package
8725 (name "sbcl-cl-libuv")
8726 (version (git-version "0.1.6" revision commit))
8727 (source
8728 (origin
8729 (method git-fetch)
8730 (uri (git-reference
8731 (url "https://github.com/orthecreedence/cl-libuv")
8732 (commit commit)))
8733 (file-name (git-file-name name version))
8734 (sha256
8735 (base32
8736 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8737 (build-system asdf-build-system/sbcl)
8738 (inputs
8739 `(("alexandria" ,sbcl-alexandria)
8740 ("cffi" ,sbcl-cffi)
8741 ("libuv" ,libuv)))
8742 (arguments
8743 `(#:phases
8744 (modify-phases %standard-phases
8745 (add-after 'unpack 'fix-paths
8746 (lambda* (#:key inputs #:allow-other-keys)
8747 (substitute* "lib.lisp"
8748 (("/usr/lib/libuv.so")
8749 (string-append (assoc-ref inputs "libuv")
8750 "/lib/libuv.so")))
8751 #t))
8752 (add-after 'fix-paths 'fix-system-definition
8753 (lambda _
8754 (substitute* "cl-libuv.asd"
8755 (("#:cffi #:alexandria")
8756 "#:cffi #:cffi-grovel #:alexandria"))
8757 #t)))))
8758 (synopsis "Common Lisp bindings to libuv")
8759 (description
8760 "This library provides low-level libuv bindings for Common Lisp.")
8761 (home-page "https://github.com/orthecreedence/cl-libuv")
8762 (license license:expat))))
8763
8764 (define-public cl-libuv
8765 (sbcl-package->cl-source-package sbcl-cl-libuv))
8766
8767 (define-public ecl-cl-libuv
8768 (sbcl-package->ecl-package sbcl-cl-libuv))
8769
8770 (define-public sbcl-cl-async
8771 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8772 (revision "1"))
8773 (package
8774 (name "sbcl-cl-async")
8775 (version (git-version "0.6.1" revision commit))
8776 (source
8777 (origin
8778 (method git-fetch)
8779 (uri (git-reference
8780 (url "https://github.com/orthecreedence/cl-async")
8781 (commit commit)))
8782 (file-name (git-file-name name version))
8783 (sha256
8784 (base32
8785 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8786 (build-system asdf-build-system/sbcl)
8787 (inputs
8788 `(("babel" ,sbcl-babel)
8789 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8790 ("cffi" ,sbcl-cffi)
8791 ("cl-libuv" ,sbcl-cl-libuv)
8792 ("cl-ppcre" ,sbcl-cl-ppcre)
8793 ("fast-io" ,sbcl-fast-io)
8794 ("openssl" ,openssl)
8795 ("static-vectors" ,sbcl-static-vectors)
8796 ("trivial-features" ,sbcl-trivial-features)
8797 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8798 ("vom" ,sbcl-vom)))
8799 (arguments
8800 `(#:asd-systems '("cl-async"
8801 "cl-async-repl"
8802 "cl-async-ssl")
8803 #:phases
8804 (modify-phases %standard-phases
8805 (add-after 'unpack 'fix-paths
8806 (lambda* (#:key inputs #:allow-other-keys)
8807 (substitute* "src/ssl/package.lisp"
8808 (("libcrypto\\.so")
8809 (string-append (assoc-ref inputs "openssl")
8810 "/lib/libcrypto.so"))
8811 (("libssl\\.so")
8812 (string-append (assoc-ref inputs "openssl")
8813 "/lib/libssl.so")))
8814 #t)))))
8815 (synopsis "Asynchronous operations for Common Lisp")
8816 (description
8817 "Cl-async is a library for general purpose, non-blocking programming in
8818 Common Lisp. It uses the libuv library as backend.")
8819 (home-page "https://orthecreedence.github.io/cl-async/")
8820 (license license:expat))))
8821
8822 (define-public cl-async
8823 (sbcl-package->cl-source-package sbcl-cl-async))
8824
8825 (define-public ecl-cl-async
8826 (sbcl-package->ecl-package sbcl-cl-async))
8827
8828 (define-public sbcl-blackbird
8829 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8830 (revision "1"))
8831 (package
8832 (name "sbcl-blackbird")
8833 (version (git-version "0.5.2" revision commit))
8834 (source
8835 (origin
8836 (method git-fetch)
8837 (uri (git-reference
8838 (url "https://github.com/orthecreedence/blackbird")
8839 (commit commit)))
8840 (file-name (git-file-name name version))
8841 (sha256
8842 (base32
8843 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8844 (build-system asdf-build-system/sbcl)
8845 (inputs
8846 `(("vom" ,sbcl-vom)))
8847 (native-inputs
8848 `(("cl-async" ,sbcl-cl-async)
8849 ("fiveam" ,sbcl-fiveam)))
8850 (synopsis "Promise implementation for Common Lisp")
8851 (description
8852 "This is a standalone promise implementation for Common Lisp. It is
8853 the successor to the now-deprecated cl-async-future project.")
8854 (home-page "https://orthecreedence.github.io/blackbird/")
8855 (license license:expat))))
8856
8857 (define-public cl-blackbird
8858 (sbcl-package->cl-source-package sbcl-blackbird))
8859
8860 (define-public ecl-blackbird
8861 (sbcl-package->ecl-package sbcl-blackbird))
8862
8863 (define-public sbcl-cl-async-future
8864 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8865 (revision "1"))
8866 (package
8867 (name "sbcl-cl-async-future")
8868 (version (git-version "0.4.4.1" revision commit))
8869 (source
8870 (origin
8871 (method git-fetch)
8872 (uri (git-reference
8873 (url "https://github.com/orthecreedence/cl-async-future")
8874 (commit commit)))
8875 (file-name (git-file-name name version))
8876 (sha256
8877 (base32
8878 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8879 (build-system asdf-build-system/sbcl)
8880 (inputs
8881 `(("blackbird" ,sbcl-blackbird)))
8882 (native-inputs
8883 `(("cl-async" ,sbcl-cl-async)
8884 ("eos" ,sbcl-eos)))
8885 (synopsis "Futures implementation for Common Lisp")
8886 (description
8887 "This is futures implementation for Common Lisp. It plugs in nicely
8888 to cl-async.")
8889 (home-page "https://orthecreedence.github.io/cl-async/future")
8890 (license license:expat))))
8891
8892 (define-public cl-async-future
8893 (sbcl-package->cl-source-package sbcl-cl-async-future))
8894
8895 (define-public ecl-cl-async-future
8896 (sbcl-package->ecl-package sbcl-cl-async-future))
8897
8898 (define-public sbcl-green-threads
8899 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8900 (revision "1"))
8901 (package
8902 (name "sbcl-green-threads")
8903 (version (git-version "0.3" revision commit))
8904 (source
8905 (origin
8906 (method git-fetch)
8907 (uri (git-reference
8908 (url "https://github.com/thezerobit/green-threads")
8909 (commit commit)))
8910 (file-name (git-file-name name version))
8911 (sha256
8912 (base32
8913 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8914 (build-system asdf-build-system/sbcl)
8915 (inputs
8916 `(("cl-async-future" ,sbcl-cl-async-future)
8917 ("cl-cont" ,sbcl-cl-cont)))
8918 (native-inputs
8919 `(("prove" ,sbcl-prove)))
8920 (arguments
8921 `(;; TODO: Fix the tests. They fail with:
8922 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8923 #:tests? #f
8924 #:phases
8925 (modify-phases %standard-phases
8926 (add-after 'unpack 'fix-tests
8927 (lambda _
8928 (substitute* "green-threads-test.asd"
8929 (("cl-test-more")
8930 "prove"))
8931 #t)))))
8932 (synopsis "Cooperative multitasking library for Common Lisp")
8933 (description
8934 "This library allows for cooperative multitasking with help of cl-cont
8935 for continuations. It tries to mimic the API of bordeaux-threads as much as
8936 possible.")
8937 (home-page "https://github.com/thezerobit/green-threads")
8938 (license license:bsd-3))))
8939
8940 (define-public cl-green-threads
8941 (sbcl-package->cl-source-package sbcl-green-threads))
8942
8943 (define-public ecl-green-threads
8944 (sbcl-package->ecl-package sbcl-green-threads))
8945
8946 (define-public sbcl-cl-base32
8947 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8948 (revision "1"))
8949 (package
8950 (name "sbcl-cl-base32")
8951 (version (git-version "0.1" revision commit))
8952 (source
8953 (origin
8954 (method git-fetch)
8955 (uri (git-reference
8956 (url "https://github.com/hargettp/cl-base32")
8957 (commit commit)))
8958 (file-name (git-file-name name version))
8959 (sha256
8960 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8961 (build-system asdf-build-system/sbcl)
8962 (native-inputs
8963 `(("lisp-unit" ,sbcl-lisp-unit)))
8964 (synopsis "Common Lisp library for base32 encoding and decoding")
8965 (description
8966 "This package provides functions for base32 encoding and decoding as
8967 defined in RFC4648.")
8968 (home-page "https://github.com/hargettp/cl-base32")
8969 (license license:expat))))
8970
8971 (define-public cl-base32
8972 (sbcl-package->cl-source-package sbcl-cl-base32))
8973
8974 (define-public ecl-cl-base32
8975 (sbcl-package->ecl-package sbcl-cl-base32))
8976
8977 (define-public sbcl-cl-z85
8978 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8979 (revision "1"))
8980 (package
8981 (name "sbcl-cl-z85")
8982 (version (git-version "1.0" revision commit))
8983 (source
8984 (origin
8985 (method git-fetch)
8986 (uri (git-reference
8987 (url "https://github.com/glv2/cl-z85")
8988 (commit commit)))
8989 (file-name (git-file-name name version))
8990 (sha256
8991 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8992 (build-system asdf-build-system/sbcl)
8993 (native-inputs
8994 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8995 ("fiveam" ,sbcl-fiveam)))
8996 (synopsis "Common Lisp library for Z85 encoding and decoding")
8997 (description
8998 "This package provides functions to encode or decode byte vectors or
8999 byte streams using the Z85 format, which is a base-85 encoding used by
9000 ZeroMQ.")
9001 (home-page "https://github.com/glv2/cl-z85")
9002 (license license:gpl3+))))
9003
9004 (define-public cl-z85
9005 (sbcl-package->cl-source-package sbcl-cl-z85))
9006
9007 (define-public ecl-cl-z85
9008 (sbcl-package->ecl-package sbcl-cl-z85))
9009
9010 (define-public sbcl-ltk
9011 (package
9012 (name "sbcl-ltk")
9013 (version "0.992")
9014 (source
9015 (origin
9016 (method git-fetch)
9017 (uri (git-reference
9018 (url "https://github.com/herth/ltk")
9019 (commit version)))
9020 (file-name (git-file-name name version))
9021 (sha256
9022 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9023 (build-system asdf-build-system/sbcl)
9024 (inputs
9025 `(("imagemagick" ,imagemagick)
9026 ("tk" ,tk)))
9027 (arguments
9028 `(#:asd-systems '("ltk"
9029 "ltk-mw"
9030 "ltk-remote")
9031 #:tests? #f
9032 #:phases
9033 (modify-phases %standard-phases
9034 (add-after 'unpack 'fix-paths
9035 (lambda* (#:key inputs #:allow-other-keys)
9036 (substitute* "ltk/ltk.lisp"
9037 (("#-freebsd \"wish\"")
9038 (string-append "#-freebsd \""
9039 (assoc-ref inputs "tk")
9040 "/bin/wish\""))
9041 (("do-execute \"convert\"")
9042 (string-append "do-execute \""
9043 (assoc-ref inputs "imagemagick")
9044 "/bin/convert\"")))
9045 #t))
9046 (add-after 'unpack 'fix-build
9047 (lambda _
9048 (substitute* "ltk/ltk-remote.lisp"
9049 (("\\(:export")
9050 "(:shadow #:raise) (:export"))
9051 #t)))))
9052 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9053 (description
9054 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9055 in pure Common Lisp and does not require any Tk knowledge for its usage.")
9056 (home-page "http://www.peter-herth.de/ltk/")
9057 (license license:llgpl)))
9058
9059 (define-public cl-ltk
9060 (sbcl-package->cl-source-package sbcl-ltk))
9061
9062 (define-public ecl-ltk
9063 (sbcl-package->ecl-package sbcl-ltk))
9064
9065 (define-public sbcl-cl-lex
9066 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9067 (revision "1"))
9068 (package
9069 (name "sbcl-cl-lex")
9070 (version (git-version "1.1.3" revision commit))
9071 (source
9072 (origin
9073 (method git-fetch)
9074 (uri (git-reference
9075 (url "https://github.com/djr7C4/cl-lex")
9076 (commit commit)))
9077 (file-name (git-file-name name version))
9078 (sha256
9079 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9080 (build-system asdf-build-system/sbcl)
9081 (inputs
9082 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9083 (synopsis "Common Lisp macros for generating lexical analyzers")
9084 (description
9085 "This is a Common Lisp library providing a set of macros for generating
9086 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9087 be used with @code{cl-yacc}.")
9088 (home-page "https://github.com/djr7C4/cl-lex")
9089 (license license:gpl3))))
9090
9091 (define-public cl-lex
9092 (sbcl-package->cl-source-package sbcl-cl-lex))
9093
9094 (define-public ecl-cl-lex
9095 (sbcl-package->ecl-package sbcl-cl-lex))
9096
9097 (define-public sbcl-clunit2
9098 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9099 (revision "1"))
9100 (package
9101 (name "sbcl-clunit2")
9102 (version (git-version "0.2.4" revision commit))
9103 (source
9104 (origin
9105 (method git-fetch)
9106 (uri (git-reference
9107 (url "https://notabug.org/cage/clunit2.git")
9108 (commit commit)))
9109 (file-name (git-file-name name version))
9110 (sha256
9111 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9112 (build-system asdf-build-system/sbcl)
9113 (synopsis "Unit testing framework for Common Lisp")
9114 (description
9115 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9116 easy to use so that you can quickly start testing.")
9117 (home-page "https://notabug.org/cage/clunit2")
9118 (license license:expat))))
9119
9120 (define-public cl-clunit2
9121 (sbcl-package->cl-source-package sbcl-clunit2))
9122
9123 (define-public ecl-clunit2
9124 (sbcl-package->ecl-package sbcl-clunit2))
9125
9126 (define-public sbcl-cl-colors2
9127 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9128 (revision "1"))
9129 (package
9130 (name "sbcl-cl-colors2")
9131 (version (git-version "0.2.1" revision commit))
9132 (source
9133 (origin
9134 (method git-fetch)
9135 (uri (git-reference
9136 (url "https://notabug.org/cage/cl-colors2.git")
9137 (commit commit)))
9138 (file-name (git-file-name name version))
9139 (sha256
9140 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9141 (build-system asdf-build-system/sbcl)
9142 (native-inputs
9143 `(("clunit2" ,sbcl-clunit2)))
9144 (inputs
9145 `(("alexandria" ,sbcl-alexandria)
9146 ("cl-ppcre" ,sbcl-cl-ppcre)))
9147 (synopsis "Color library for Common Lisp")
9148 (description
9149 "This is a very simple color library for Common Lisp, providing:
9150
9151 @itemize
9152 @item Types for representing colors in HSV and RGB spaces.
9153 @item Simple conversion functions between the above types (and also
9154 hexadecimal representation for RGB).
9155 @item Some predefined colors (currently X11 color names -- of course
9156 the library does not depend on X11).
9157 @end itemize\n")
9158 (home-page "https://notabug.org/cage/cl-colors2")
9159 (license license:boost1.0))))
9160
9161 (define-public cl-colors2
9162 (sbcl-package->cl-source-package sbcl-cl-colors2))
9163
9164 (define-public ecl-cl-colors2
9165 (sbcl-package->ecl-package sbcl-cl-colors2))
9166
9167 (define-public sbcl-cl-jpeg
9168 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9169 (revision "1"))
9170 (package
9171 (name "sbcl-cl-jpeg")
9172 (version (git-version "2.8" revision commit))
9173 (source
9174 (origin
9175 (method git-fetch)
9176 (uri (git-reference
9177 (url "https://github.com/sharplispers/cl-jpeg")
9178 (commit commit)))
9179 (file-name (git-file-name name version))
9180 (sha256
9181 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
9182 (build-system asdf-build-system/sbcl)
9183 (synopsis "JPEG image library for Common Lisp")
9184 (description
9185 "This is a baseline JPEG codec written in Common Lisp. It can be used
9186 for reading and writing JPEG image files.")
9187 (home-page "https://github.com/sharplispers/cl-jpeg")
9188 (license license:bsd-3))))
9189
9190 (define-public cl-jpeg
9191 (sbcl-package->cl-source-package sbcl-cl-jpeg))
9192
9193 (define-public ecl-cl-jpeg
9194 (sbcl-package->ecl-package sbcl-cl-jpeg))
9195
9196 (define-public sbcl-nodgui
9197 (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
9198 (revision "1"))
9199 (package
9200 (name "sbcl-nodgui")
9201 (version (git-version "0.1.1" revision commit))
9202 (source
9203 (origin
9204 (method git-fetch)
9205 (uri (git-reference
9206 (url "https://notabug.org/cage/nodgui.git")
9207 (commit commit)))
9208 (file-name (git-file-name "nodgui" version))
9209 (sha256
9210 (base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib"))))
9211 (build-system asdf-build-system/sbcl)
9212 (inputs
9213 `(("alexandria" ,sbcl-alexandria)
9214 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9215 ("cl-colors2" ,sbcl-cl-colors2)
9216 ("cl-jpeg" ,sbcl-cl-jpeg)
9217 ("cl-lex" ,sbcl-cl-lex)
9218 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9219 ("cl-unicode" ,sbcl-cl-unicode)
9220 ("cl-yacc" ,sbcl-cl-yacc)
9221 ("clunit2" ,sbcl-clunit2)
9222 ("named-readtables" ,sbcl-named-readtables)
9223 ("parse-number" ,sbcl-parse-number)
9224 ("tk" ,tk)))
9225 (arguments
9226 `(#:phases (modify-phases %standard-phases
9227 (add-after 'unpack 'fix-paths
9228 (lambda* (#:key inputs #:allow-other-keys)
9229 (substitute* "src/wish-communication.lisp"
9230 (("#-freebsd \"wish\"")
9231 (string-append "#-freebsd \""
9232 (assoc-ref inputs "tk")
9233 "/bin/wish\"")))
9234 #t)))))
9235 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9236 (description
9237 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9238 toolkit. It also provides a few additional widgets more than the standard Tk
9239 ones.")
9240 (home-page "https://www.autistici.org/interzona/nodgui.html")
9241 (license license:llgpl))))
9242
9243 (define-public cl-nodgui
9244 (sbcl-package->cl-source-package sbcl-nodgui))
9245
9246 (define-public ecl-nodgui
9247 (sbcl-package->ecl-package sbcl-nodgui))
9248
9249 (define-public sbcl-salza2
9250 (package
9251 (name "sbcl-salza2")
9252 (version "2.0.9")
9253 (source
9254 (origin
9255 (method git-fetch)
9256 (uri (git-reference
9257 (url "https://github.com/xach/salza2")
9258 (commit (string-append "release-" version))))
9259 (file-name (git-file-name name version))
9260 (sha256
9261 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9262 (build-system asdf-build-system/sbcl)
9263 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9264 (description
9265 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9266 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9267 respectively.")
9268 (home-page "https://www.xach.com/lisp/salza2/")
9269 (license license:bsd-2)))
9270
9271 (define-public cl-salza2
9272 (sbcl-package->cl-source-package sbcl-salza2))
9273
9274 (define-public ecl-salza2
9275 (sbcl-package->ecl-package sbcl-salza2))
9276
9277 (define-public sbcl-origin
9278 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9279 (revision "1"))
9280 (package
9281 (name "sbcl-origin")
9282 (version (git-version "2.0.0" revision commit))
9283 (source
9284 (origin
9285 (method git-fetch)
9286 (uri (git-reference
9287 (url "https://git.mfiano.net/mfiano/origin")
9288 (commit commit)))
9289 (file-name (git-file-name "origin" version))
9290 (sha256
9291 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9292 (build-system asdf-build-system/sbcl)
9293 (native-inputs
9294 `(("parachute" ,sbcl-parachute)))
9295 (inputs
9296 `(("golden-utils" ,sbcl-golden-utils)
9297 ("specialization-store" ,sbcl-specialization-store)))
9298 (home-page "https://git.mfiano.net/mfiano/origin")
9299 (synopsis "Common Lisp graphics math library")
9300 (description
9301 "This is a native Common Lisp graphics math library with an emphasis on
9302 performance and correctness.")
9303 (license license:expat))))
9304
9305 (define-public ecl-origin
9306 (sbcl-package->ecl-package sbcl-origin))
9307
9308 (define-public cl-origin
9309 (sbcl-package->cl-source-package sbcl-origin))
9310
9311 (define-public sbcl-png-read
9312 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9313 (revision "1"))
9314 (package
9315 (name "sbcl-png-read")
9316 (version (git-version "0.3.1" revision commit))
9317 (source
9318 (origin
9319 (method git-fetch)
9320 (uri (git-reference
9321 (url "https://github.com/Ramarren/png-read")
9322 (commit commit)))
9323 (file-name (git-file-name name version))
9324 (sha256
9325 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9326 (build-system asdf-build-system/sbcl)
9327 (inputs
9328 `(("babel" ,sbcl-babel)
9329 ("chipz" ,sbcl-chipz)
9330 ("iterate" ,sbcl-iterate)))
9331 (synopsis "PNG decoder for Common Lisp")
9332 (description "This is a Common Lisp library for reading PNG images.")
9333 (home-page "https://github.com/Ramarren/png-read")
9334 (license license:bsd-3))))
9335
9336 (define-public cl-png-read
9337 (sbcl-package->cl-source-package sbcl-png-read))
9338
9339 (define-public ecl-png-read
9340 (sbcl-package->ecl-package sbcl-png-read))
9341
9342 (define-public sbcl-3b-bmfont
9343 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9344 (revision "1"))
9345 (package
9346 (name "sbcl-3b-bmfont")
9347 (version (git-version "0.0.1" revision commit))
9348 (source
9349 (origin
9350 (method git-fetch)
9351 (uri (git-reference
9352 (url "https://github.com/3b/3b-bmfont/")
9353 (commit commit)))
9354 (file-name (git-file-name "3b-bmfont" version))
9355 (sha256
9356 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9357 (build-system asdf-build-system/sbcl)
9358 (arguments
9359 `(#:asd-systems
9360 '("3b-bmfont"
9361 "3b-bmfont/text"
9362 "3b-bmfont/common"
9363 "3b-bmfont/xml"
9364 "3b-bmfont/json")))
9365 (inputs
9366 `(("alexandria" ,sbcl-alexandria)
9367 ("cxml" ,sbcl-cxml)
9368 ("flexi-streams" ,sbcl-flexi-streams)
9369 ("jsown" ,sbcl-jsown)
9370 ("split-sequence" ,sbcl-split-sequence)))
9371 (home-page "https://github.com/3b/3b-bmfont/")
9372 (synopsis "Read/write bmfont metadata files")
9373 (description
9374 "This is a Common Lisp library which provides functionality to
9375 read/write Bit Map Font (BMF) into text, JSON and XML.")
9376 (license license:expat))))
9377
9378 (define-public ecl-3b-bmfont
9379 (sbcl-package->ecl-package sbcl-3b-bmfont))
9380
9381 (define-public cl-3b-bmfont
9382 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9383
9384 (define-public sbcl-zpng
9385 (package
9386 (name "sbcl-zpng")
9387 (version "1.2.2")
9388 (source
9389 (origin
9390 (method git-fetch)
9391 (uri (git-reference
9392 (url "https://github.com/xach/zpng")
9393 (commit (string-append "release-" version))))
9394 (file-name (git-file-name name version))
9395 (sha256
9396 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9397 (build-system asdf-build-system/sbcl)
9398 (inputs
9399 `(("salza2" ,sbcl-salza2)))
9400 (synopsis "PNG encoder for Common Lisp")
9401 (description "This is a Common Lisp library for creating PNG images.")
9402 (home-page "https://www.xach.com/lisp/zpng/")
9403 (license license:bsd-2)))
9404
9405 (define-public cl-zpng
9406 (sbcl-package->cl-source-package sbcl-zpng))
9407
9408 (define-public ecl-zpng
9409 (sbcl-package->ecl-package sbcl-zpng))
9410
9411 (define-public sbcl-cl-qrencode
9412 (package
9413 (name "sbcl-cl-qrencode")
9414 (version "0.1.2")
9415 (source
9416 (origin
9417 (method git-fetch)
9418 (uri (git-reference
9419 (url "https://github.com/jnjcc/cl-qrencode")
9420 (commit (string-append "v" version))))
9421 (file-name (git-file-name name version))
9422 (sha256
9423 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9424 (build-system asdf-build-system/sbcl)
9425 (native-inputs
9426 `(("lisp-unit" ,sbcl-lisp-unit)))
9427 (inputs
9428 `(("zpng" ,sbcl-zpng)))
9429 (synopsis "QR code encoder for Common Lisp")
9430 (description
9431 "This Common Lisp library provides function to make QR codes and to save
9432 them as PNG files.")
9433 (home-page "https://github.com/jnjcc/cl-qrencode")
9434 (license license:gpl2+)))
9435
9436 (define-public cl-qrencode
9437 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9438
9439 (define-public ecl-cl-qrencode
9440 (sbcl-package->ecl-package sbcl-cl-qrencode))
9441
9442 (define-public sbcl-hdf5-cffi
9443 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9444 (revision "1"))
9445 (package
9446 (name "sbcl-hdf5-cffi")
9447 (version (git-version "1.8.18" revision commit))
9448 (source
9449 (origin
9450 (method git-fetch)
9451 (uri (git-reference
9452 (url "https://github.com/hdfgroup/hdf5-cffi")
9453 (commit commit)))
9454 (file-name (git-file-name name version))
9455 (sha256
9456 (base32
9457 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9458 (build-system asdf-build-system/sbcl)
9459 (synopsis "Common Lisp bindings for the HDF5 library")
9460 (description
9461 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9462 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9463 (license (license:non-copyleft
9464 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9465 commit
9466 "/LICENSE")))
9467 (inputs
9468 `(("cffi" ,sbcl-cffi)
9469 ("hdf5" ,hdf5-1.10)))
9470 (native-inputs
9471 `(("fiveam" ,sbcl-fiveam)))
9472 (arguments
9473 `(#:test-asd-file "hdf5-cffi.test.asd"
9474 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9475 ;; I don't know if there is a way to tell asdf-build-system to load
9476 ;; an additional system first, so tests are disabled.
9477 #:tests? #f
9478 #:phases
9479 (modify-phases %standard-phases
9480 (add-after 'unpack 'fix-paths
9481 (lambda* (#:key inputs #:allow-other-keys)
9482 (substitute* "src/library.lisp"
9483 (("libhdf5.so")
9484 (string-append
9485 (assoc-ref inputs "hdf5")
9486 "/lib/libhdf5.so")))))
9487 (add-after 'unpack 'fix-dependencies
9488 (lambda* (#:key inputs #:allow-other-keys)
9489 (substitute* "hdf5-cffi.asd"
9490 ((":depends-on \\(:cffi\\)")
9491 ":depends-on (:cffi :cffi-grovel)"))
9492 (substitute* "hdf5-cffi.test.asd"
9493 ((":depends-on \\(:cffi :hdf5-cffi")
9494 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9495
9496 (define-public cl-hdf5-cffi
9497 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9498
9499 (define-public ecl-hdf5-cffi
9500 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9501
9502 (define-public sbcl-cl-randist
9503 (package
9504 (name "sbcl-cl-randist")
9505 (version "0.4.2")
9506 (source
9507 (origin
9508 (method git-fetch)
9509 (uri (git-reference
9510 (url "https://github.com/lvaruzza/cl-randist")
9511 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9512 (file-name (git-file-name name version))
9513 (sha256
9514 (base32
9515 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9516 (build-system asdf-build-system/sbcl)
9517 (synopsis "Random distributions for Common Lisp")
9518 (description
9519 "Manual translation from C to Common Lisp of some random number
9520 generation functions from the GSL library.")
9521 (home-page "https://github.com/lvaruzza/cl-randist")
9522 (license license:bsd-2)
9523 (arguments
9524 `(#:tests? #f))))
9525
9526 (define-public cl-randist
9527 (sbcl-package->cl-source-package sbcl-cl-randist))
9528
9529 (define-public ecl-cl-randist
9530 (sbcl-package->ecl-package sbcl-cl-randist))
9531
9532 (define-public sbcl-float-features
9533 (package
9534 (name "sbcl-float-features")
9535 (version "1.0.0")
9536 (source
9537 (origin
9538 (method git-fetch)
9539 (uri (git-reference
9540 (url "https://github.com/Shinmera/float-features")
9541 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9542 (file-name (git-file-name name version))
9543 (sha256
9544 (base32
9545 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9546 (build-system asdf-build-system/sbcl)
9547 (synopsis "Common Lisp IEEE float portability library")
9548 (description
9549 "Portability library for IEEE float features that are not
9550 covered by the Common Lisp standard.")
9551 (home-page "https://github.com/Shinmera/float-features")
9552 (license license:zlib)
9553 (inputs
9554 `(("documentation-utils" ,sbcl-documentation-utils)))
9555 (arguments
9556 `(#:tests? #f))))
9557
9558 (define-public cl-float-features
9559 (sbcl-package->cl-source-package sbcl-float-features))
9560
9561 (define-public ecl-float-features
9562 (sbcl-package->ecl-package sbcl-float-features))
9563
9564 (define-public sbcl-function-cache
9565 (package
9566 (name "sbcl-function-cache")
9567 (version "1.0.3")
9568 (source
9569 (origin
9570 (method git-fetch)
9571 (uri (git-reference
9572 (url "https://github.com/AccelerationNet/function-cache")
9573 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9574 (file-name (git-file-name name version))
9575 (sha256
9576 (base32
9577 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9578 (build-system asdf-build-system/sbcl)
9579 (synopsis "Function caching / memoization library for Common Lisp")
9580 (description
9581 "A common lisp library that provides extensible function result
9582 caching based on arguments (an expanded form of memoization).")
9583 (home-page "https://github.com/AccelerationNet/function-cache")
9584 (license
9585 (license:non-copyleft
9586 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9587 (inputs
9588 `(("alexandria" ,sbcl-alexandria)
9589 ("cl-interpol" ,sbcl-cl-interpol)
9590 ("iterate" ,sbcl-iterate)
9591 ("symbol-munger" ,sbcl-symbol-munger)
9592 ("closer-mop" ,sbcl-closer-mop)))
9593 (arguments
9594 `(#:tests? #f))))
9595
9596 (define-public cl-function-cache
9597 (sbcl-package->cl-source-package sbcl-function-cache))
9598
9599 (define-public ecl-function-cache
9600 (sbcl-package->ecl-package sbcl-function-cache))
9601
9602 (define-public sbcl-type-r
9603 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9604 (revision "1"))
9605 (package
9606 (name "sbcl-type-r")
9607 (version (git-version "0.0.0" revision commit))
9608 (source
9609 (origin
9610 (method git-fetch)
9611 (uri (git-reference
9612 (url "https://github.com/guicho271828/type-r")
9613 (commit commit)))
9614 (file-name (git-file-name name version))
9615 (sha256
9616 (base32
9617 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9618 (build-system asdf-build-system/sbcl)
9619 (synopsis "Parser interface for Common Lisp built-in compound types")
9620 (description
9621 "Collections of accessor functions and patterns to access
9622 the elements in compound type specifier, e.g. @code{dimensions} in
9623 @code{(array element-type dimensions)}")
9624 (home-page "https://github.com/guicho271828/type-r")
9625 (license license:lgpl3+)
9626 (inputs
9627 `(("trivia" ,sbcl-trivia)
9628 ("alexandria" ,sbcl-alexandria)))
9629 (native-inputs
9630 `(("fiveam" ,sbcl-fiveam)))
9631 (arguments
9632 `(#:test-asd-file "type-r.test.asd")))))
9633
9634 (define-public cl-type-r
9635 (sbcl-package->cl-source-package sbcl-type-r))
9636
9637 (define-public ecl-type-r
9638 (sbcl-package->ecl-package sbcl-type-r))
9639
9640 (define-public sbcl-trivialib-type-unify
9641 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9642 (revision "1"))
9643 (package
9644 (name "sbcl-trivialib-type-unify")
9645 (version (git-version "0.1" revision commit))
9646 (source
9647 (origin
9648 (method git-fetch)
9649 (uri (git-reference
9650 (url "https://github.com/guicho271828/trivialib.type-unify")
9651 (commit commit)))
9652 (file-name (git-file-name name version))
9653 (sha256
9654 (base32
9655 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9656 (build-system asdf-build-system/sbcl)
9657 (synopsis "Common Lisp type unification")
9658 (description
9659 "Unifies a parametrized type specifier against an actual type specifier.
9660 Importantly, it handles complicated array-subtypes and number-related types
9661 correctly.")
9662 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9663 (license license:lgpl3+)
9664 (inputs
9665 `(("alexandria" ,sbcl-alexandria)
9666 ("trivia" ,sbcl-trivia)
9667 ("introspect-environment" ,sbcl-introspect-environment)
9668 ("type-r" ,sbcl-type-r)))
9669 (native-inputs
9670 `(("fiveam" ,sbcl-fiveam)))
9671 (arguments
9672 `(#:asd-systems '("trivialib.type-unify")
9673 #:test-asd-file "trivialib.type-unify.test.asd")))))
9674
9675 (define-public cl-trivialib-type-unify
9676 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9677
9678 (define-public ecl-trivialib-type-unify
9679 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9680
9681 (define-public sbcl-specialized-function
9682 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9683 (revision "2"))
9684 (package
9685 (name "sbcl-specialized-function")
9686 (version (git-version "0.0.0" revision commit))
9687 (source
9688 (origin
9689 (method git-fetch)
9690 (uri (git-reference
9691 (url "https://github.com/numcl/specialized-function")
9692 (commit commit)))
9693 (file-name (git-file-name name version))
9694 (sha256
9695 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9696 (build-system asdf-build-system/sbcl)
9697 (synopsis "Julia-like dispatch for Common Lisp")
9698 (description
9699 "This library is part of NUMCL. It provides a macro
9700 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9701 lazily compiling a type-specific version of the function from the same
9702 code. The main target of this macro is speed.")
9703 (home-page "https://github.com/numcl/specialized-function")
9704 (license license:lgpl3+)
9705 (inputs
9706 `(("trivia" ,sbcl-trivia)
9707 ("alexandria" ,sbcl-alexandria)
9708 ("iterate" ,sbcl-iterate)
9709 ("lisp-namespace" ,sbcl-lisp-namespace)
9710 ("type-r" ,sbcl-type-r)
9711 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9712 (native-inputs
9713 `(("fiveam" ,sbcl-fiveam)))
9714 (arguments
9715 `(#:asd-files '("specialized-function.asd")
9716 #:test-asd-file "specialized-function.test.asd"
9717 ;; Tests fail because they try to use an internal symbol of SBCL
9718 ;; that does not exists in recent versions:
9719 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9720 #:tests? #f)))))
9721
9722 (define-public cl-specialized-function
9723 (sbcl-package->cl-source-package sbcl-specialized-function))
9724
9725 (define-public ecl-specialized-function
9726 (sbcl-package->ecl-package sbcl-specialized-function))
9727
9728 (define-public sbcl-constantfold
9729 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9730 (revision "1"))
9731 (package
9732 (name "sbcl-constantfold")
9733 (version (git-version "0.1" revision commit))
9734 (source
9735 (origin
9736 (method git-fetch)
9737 (uri (git-reference
9738 (url "https://github.com/numcl/constantfold")
9739 (commit commit)))
9740 (file-name (git-file-name name version))
9741 (sha256
9742 (base32
9743 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9744 (build-system asdf-build-system/sbcl)
9745 (synopsis "Support library for numcl")
9746 (description
9747 "Support library for numcl. Registers a function as an
9748 additional form that is considered as a candidate for a constant.")
9749 (home-page "https://github.com/numcl/constantfold")
9750 (license license:lgpl3+)
9751 (inputs
9752 `(("trivia" ,sbcl-trivia)
9753 ("alexandria" ,sbcl-alexandria)
9754 ("iterate" ,sbcl-iterate)
9755 ("lisp-namespace" ,sbcl-lisp-namespace)))
9756 (native-inputs
9757 `(("fiveam" ,sbcl-fiveam)))
9758 (arguments
9759 `(#:asd-files '("constantfold.asd")
9760 #:test-asd-file "constantfold.test.asd")))))
9761
9762 (define-public cl-constantfold
9763 (sbcl-package->cl-source-package sbcl-constantfold))
9764
9765 (define-public ecl-constantfold
9766 (sbcl-package->ecl-package sbcl-constantfold))
9767
9768 (define-public sbcl-gtype
9769 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9770 (revision "2"))
9771 (package
9772 (name "sbcl-gtype")
9773 (version (git-version "0.1" revision commit))
9774 (source
9775 (origin
9776 (method git-fetch)
9777 (uri (git-reference
9778 (url "https://github.com/numcl/gtype")
9779 (commit commit)))
9780 (file-name (git-file-name name version))
9781 (sha256
9782 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9783 (build-system asdf-build-system/sbcl)
9784 (synopsis "C++/Julia-like parametric types in Common Lisp")
9785 (description
9786 "Support library for numcl that provides Julia-like runtime parametric
9787 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9788 (home-page "https://github.com/numcl/gtype")
9789 (license license:lgpl3+)
9790 (inputs
9791 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9792 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9793 ("trivia" ,sbcl-trivia)
9794 ("alexandria" ,sbcl-alexandria)
9795 ("iterate" ,sbcl-iterate)
9796 ("type-r" ,sbcl-type-r)))
9797 (native-inputs
9798 `(("fiveam" ,sbcl-fiveam)))
9799 (arguments
9800 `(#:asd-files '("gtype.asd")
9801 #:test-asd-file "gtype.test.asd")))))
9802
9803 (define-public cl-gtype
9804 (sbcl-package->cl-source-package sbcl-gtype))
9805
9806 (define-public ecl-gtype
9807 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9808 (package
9809 (inherit pkg)
9810 (arguments
9811 (substitute-keyword-arguments (package-arguments pkg)
9812 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9813 ((#:tests? _ #f) #f))))))
9814
9815 (define-public sbcl-numcl
9816 (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
9817 (revision "1"))
9818 (package
9819 (name "sbcl-numcl")
9820 (version (git-version "0.2.0" revision commit))
9821 (source
9822 (origin
9823 (method git-fetch)
9824 (uri (git-reference
9825 (url "https://github.com/numcl/numcl")
9826 (commit commit)))
9827 (file-name (git-file-name "numcl" version))
9828 (sha256
9829 (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
9830 (build-system asdf-build-system/sbcl)
9831 (arguments
9832 `(#:test-asd-file "numcl.test.asd"
9833 #:asd-files '("numcl.asd")))
9834 (native-inputs
9835 `(("fiveam" ,sbcl-fiveam)))
9836 (inputs
9837 `(("alexandria" ,sbcl-alexandria)
9838 ("cl-randist" ,sbcl-cl-randist)
9839 ("constantfold" ,sbcl-constantfold)
9840 ("float-features" ,sbcl-float-features)
9841 ("function-cache" ,sbcl-function-cache)
9842 ("gtype" ,sbcl-gtype)
9843 ("iterate" ,sbcl-iterate)
9844 ("lisp-namespace" ,sbcl-lisp-namespace)
9845 ("specialized-function" ,sbcl-specialized-function)
9846 ("trivia" ,sbcl-trivia)
9847 ("type-r" ,sbcl-type-r)))
9848 (home-page "https://numcl.github.io/numcl/")
9849 (synopsis "Numpy clone in Common Lisp")
9850 (description
9851 "This package is a Python Numpy clone implemented in pure Common Lisp.")
9852 (license license:lgpl3+))))
9853
9854 (define-public cl-numcl
9855 (sbcl-package->cl-source-package sbcl-numcl))
9856
9857 (define-public ecl-numcl
9858 (sbcl-package->ecl-package sbcl-numcl))
9859
9860 (define-public sbcl-pzmq
9861 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9862 (revision "1"))
9863 (package
9864 (name "sbcl-pzmq")
9865 (version (git-version "0.0.0" revision commit))
9866 (source
9867 (origin
9868 (method git-fetch)
9869 (uri (git-reference
9870 (url "https://github.com/orivej/pzmq")
9871 (commit commit)))
9872 (file-name (git-file-name name version))
9873 (sha256
9874 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9875 (build-system asdf-build-system/sbcl)
9876 (native-inputs
9877 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9878 ("fiveam" ,sbcl-fiveam)
9879 ("let-plus" ,sbcl-let-plus)))
9880 (inputs
9881 `(("cffi" ,sbcl-cffi)
9882 ("zeromq" ,zeromq)))
9883 (arguments
9884 `(#:phases (modify-phases %standard-phases
9885 (add-after 'unpack 'fix-paths
9886 (lambda* (#:key inputs #:allow-other-keys)
9887 (substitute* "c-api.lisp"
9888 (("\"libzmq")
9889 (string-append "\""
9890 (assoc-ref inputs "zeromq")
9891 "/lib/libzmq")))
9892 #t)))))
9893 (synopsis "Common Lisp bindings for the ZeroMQ library")
9894 (description "This Common Lisp library provides bindings for the ZeroMQ
9895 lightweight messaging kernel.")
9896 (home-page "https://github.com/orivej/pzmq")
9897 (license license:unlicense))))
9898
9899 (define-public cl-pzmq
9900 (sbcl-package->cl-source-package sbcl-pzmq))
9901
9902 (define-public ecl-pzmq
9903 (sbcl-package->ecl-package sbcl-pzmq))
9904
9905 (define-public sbcl-clss
9906 (let ((revision "1")
9907 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9908 (package
9909 (name "sbcl-clss")
9910 (version (git-version "0.3.1" revision commit))
9911 (source
9912 (origin
9913 (method git-fetch)
9914 (uri
9915 (git-reference
9916 (url "https://github.com/Shinmera/clss")
9917 (commit commit)))
9918 (sha256
9919 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9920 (file-name (git-file-name name version))))
9921 (inputs
9922 `(("array-utils" ,sbcl-array-utils)
9923 ("plump" ,sbcl-plump)))
9924 (build-system asdf-build-system/sbcl)
9925 (synopsis "DOM tree searching engine based on CSS selectors")
9926 (description "CLSS is a DOM traversal engine based on CSS
9927 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9928 (home-page "https://github.com/Shinmera/clss")
9929 (license license:zlib))))
9930
9931 (define-public cl-clss
9932 (sbcl-package->cl-source-package sbcl-clss))
9933
9934 (define-public ecl-clss
9935 (sbcl-package->ecl-package sbcl-clss))
9936
9937 (define-public sbcl-lquery
9938 (let ((revision "1")
9939 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9940 (package
9941 (name "sbcl-lquery")
9942 (version (git-version "3.2.1" revision commit))
9943 (source
9944 (origin
9945 (method git-fetch)
9946 (uri
9947 (git-reference
9948 (url "https://github.com/Shinmera/lquery")
9949 (commit commit)))
9950 (sha256
9951 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9952 (file-name (git-file-name name version))))
9953 (native-inputs
9954 `(("fiveam" ,sbcl-fiveam)))
9955 (inputs
9956 `(("array-utils" ,sbcl-array-utils)
9957 ("form-fiddle" ,sbcl-form-fiddle)
9958 ("plump" ,sbcl-plump)
9959 ("clss" ,sbcl-clss)))
9960 (build-system asdf-build-system/sbcl)
9961 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9962 (description "@code{lQuery} is a DOM manipulation library written in
9963 Common Lisp, inspired by and based on the jQuery syntax and
9964 functions. It uses Plump and CLSS as DOM and selector engines. The
9965 main idea behind lQuery is to provide a simple interface for crawling
9966 and modifying HTML sites, as well as to allow for an alternative
9967 approach to templating.")
9968 (home-page "https://github.com/Shinmera/lquery")
9969 (license license:zlib))))
9970
9971 (define-public cl-lquery
9972 (sbcl-package->cl-source-package sbcl-lquery))
9973
9974 (define-public ecl-lquery
9975 (sbcl-package->ecl-package sbcl-lquery))
9976
9977 (define-public sbcl-cl-mysql
9978 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9979 (revision "1"))
9980 (package
9981 (name "sbcl-cl-mysql")
9982 (version (git-version "0.1" revision commit))
9983 (source
9984 (origin
9985 (method git-fetch)
9986 (uri (git-reference
9987 (url "https://github.com/hackinghat/cl-mysql")
9988 (commit commit)))
9989 (file-name (git-file-name name version))
9990 (sha256
9991 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9992 (build-system asdf-build-system/sbcl)
9993 (native-inputs
9994 `(("stefil" ,sbcl-stefil)))
9995 (inputs
9996 `(("cffi" ,sbcl-cffi)
9997 ("mariadb-lib" ,mariadb "lib")))
9998 (arguments
9999 `(#:tests? #f ; TODO: Tests require a running server
10000 #:phases
10001 (modify-phases %standard-phases
10002 (add-after 'unpack 'fix-paths
10003 (lambda* (#:key inputs #:allow-other-keys)
10004 (substitute* "system.lisp"
10005 (("libmysqlclient_r" all)
10006 (string-append (assoc-ref inputs "mariadb-lib")
10007 "/lib/"
10008 all)))
10009 #t)))))
10010 (synopsis "Common Lisp wrapper for MySQL")
10011 (description
10012 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10013 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10014 (license license:expat))))
10015
10016 (define-public cl-mysql
10017 (sbcl-package->cl-source-package sbcl-cl-mysql))
10018
10019 (define-public ecl-cl-mysql
10020 (sbcl-package->ecl-package sbcl-cl-mysql))
10021
10022 (define-public sbcl-postmodern
10023 (package
10024 (name "sbcl-postmodern")
10025 (version "1.32.9")
10026 (source
10027 (origin
10028 (method git-fetch)
10029 (uri (git-reference
10030 (url "https://github.com/marijnh/Postmodern")
10031 (commit (string-append "v" version))))
10032 (file-name (git-file-name name version))
10033 (sha256
10034 (base32 "137jci4hn4vlxf48y39k0di27kc89kvxy3brmn3vl9xq56sy6mhz"))))
10035 (build-system asdf-build-system/sbcl)
10036 (native-inputs
10037 `(("fiveam" ,sbcl-fiveam)))
10038 (inputs
10039 `(("alexandria" ,sbcl-alexandria)
10040 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10041 ("cl-base64" ,sbcl-cl-base64)
10042 ("cl-unicode" ,sbcl-cl-unicode)
10043 ("closer-mop" ,sbcl-closer-mop)
10044 ("global-vars" ,sbcl-global-vars)
10045 ("ironclad" ,sbcl-ironclad)
10046 ("local-time" ,sbcl-local-time)
10047 ("md5" ,sbcl-md5)
10048 ("split-sequence" ,sbcl-split-sequence)
10049 ("uax-15" ,sbcl-uax-15)
10050 ("usocket" ,sbcl-usocket)))
10051 (arguments
10052 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
10053 ;; step, some functionality in `local-time' prevents passing tests.
10054 ;; Error:
10055 ;;
10056 ;; Can't create directory
10057 ;; /gnu/store
10058 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
10059 ;; /lib/common-lisp/sbcl/local-time/src/integration/
10060 ;;
10061 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
10062 ;; issue is resolved but it required live test database to connect to now.
10063 ;; Keep tests switched off.
10064 `(#:tests? #f
10065 #:asd-systems '("cl-postgres"
10066 "s-sql"
10067 "postmodern"
10068 "simple-date"
10069 "simple-date/postgres-glue")))
10070 (synopsis "Common Lisp library for interacting with PostgreSQL")
10071 (description
10072 "@code{postmodern} is a Common Lisp library for interacting with
10073 PostgreSQL databases. It provides the following features:
10074
10075 @itemize
10076 @item Efficient communication with the database server without need for
10077 foreign libraries.
10078 @item Support for UTF-8 on Unicode-aware Lisp implementations.
10079 @item A syntax for mixing SQL and Lisp code.
10080 @item Convenient support for prepared statements and stored procedures.
10081 @item A metaclass for simple database-access objects.
10082 @end itemize\n
10083
10084 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
10085
10086 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
10087 to support storing and retrieving time-related SQL types. It is not loaded by
10088 default and you can use local-time (which has support for timezones) instead.
10089
10090 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
10091 any Lisp values inside, and doing as much as possible of the work at compile
10092 time.
10093
10094 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
10095 server over a socket.
10096
10097 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
10098 level functions, a very simple data access object that can be mapped directly to
10099 database tables and some convient utilities. It then tries to put all these
10100 things together into a convenient programming interface")
10101 (home-page "https://marijnhaverbeke.nl/postmodern/")
10102 (license license:zlib)))
10103
10104 (define-public cl-postmodern
10105 (sbcl-package->cl-source-package sbcl-postmodern))
10106
10107 (define-public ecl-postmodern
10108 (package
10109 (inherit (sbcl-package->ecl-package sbcl-postmodern))
10110 (arguments
10111 `(#:tests? #f
10112 #:asd-systems '("cl-postgres"
10113 "s-sql"
10114 "postmodern"
10115 "simple-date"
10116 "simple-date/postgres-glue")
10117 #:phases
10118 (modify-phases %standard-phases
10119 (add-after 'unpack 'fix-build
10120 (lambda _
10121 (substitute* "cl-postgres.asd"
10122 ((":or :sbcl :allegro :ccl :clisp" all)
10123 (string-append all " :ecl")))
10124 #t)))))))
10125
10126 (define-public sbcl-db3
10127 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
10128 (revision "1"))
10129 (package
10130 (name "sbcl-db3")
10131 (version (git-version "0.0.0" revision commit))
10132 (source
10133 (origin
10134 (method git-fetch)
10135 (uri (git-reference
10136 (url "https://github.com/dimitri/cl-db3")
10137 (commit commit)))
10138 (file-name (git-file-name "cl-db3" version))
10139 (sha256
10140 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
10141 (build-system asdf-build-system/sbcl)
10142 (home-page "https://github.com/dimitri/cl-db3")
10143 (synopsis "Common Lisp library to read dBase III database files")
10144 (description
10145 "This is a Common Lisp library for processing data found in dBase III
10146 database files (dbf and db3 files).")
10147 (license license:public-domain))))
10148
10149 (define-public ecl-db3
10150 (sbcl-package->ecl-package sbcl-db3))
10151
10152 (define-public cl-db3
10153 (sbcl-package->cl-source-package sbcl-db3))
10154
10155 (define-public sbcl-dbi
10156 ;; Master includes a breaking change which other packages depend on since
10157 ;; Quicklisp decided to follow it:
10158 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
10159 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
10160 (package
10161 (name "sbcl-dbi")
10162 (version (git-version "0.9.4" "1" commit))
10163 (source
10164 (origin
10165 (method git-fetch)
10166 (uri (git-reference
10167 (url "https://github.com/fukamachi/cl-dbi")
10168 (commit commit)))
10169 (file-name (git-file-name name version))
10170 (sha256
10171 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
10172 (build-system asdf-build-system/sbcl)
10173 (native-inputs
10174 `(("rove" ,sbcl-rove)
10175 ("trivial-types" ,sbcl-trivial-types)))
10176 (inputs
10177 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10178 ("cl-mysql" ,sbcl-cl-mysql)
10179 ("cl-sqlite" ,sbcl-cl-sqlite)
10180 ("closer-mop" ,sbcl-closer-mop)
10181 ("postmodern" ,sbcl-postmodern)
10182 ("split-sequence" ,sbcl-split-sequence)
10183 ("trivial-garbage" ,sbcl-trivial-garbage)))
10184 (arguments
10185 `(#:asd-systems '("dbi"
10186 "dbd-mysql"
10187 "dbd-postgres"
10188 "dbd-sqlite3")))
10189 (synopsis "Database independent interface for Common Lisp")
10190 (description
10191 "@code{dbi} is a Common Lisp library providing a database independent
10192 interface for MySQL, PostgreSQL and SQLite.")
10193 (home-page "https://github.com/fukamachi/cl-dbi")
10194 (license license:llgpl))))
10195
10196 (define-public cl-dbi
10197 (sbcl-package->cl-source-package sbcl-dbi))
10198
10199 (define-public ecl-dbi
10200 (sbcl-package->ecl-package sbcl-dbi))
10201
10202 (define-public sbcl-uffi
10203 (package
10204 (name "sbcl-uffi")
10205 (version "2.1.2")
10206 (source
10207 (origin
10208 (method git-fetch)
10209 (uri (git-reference
10210 (url "http://git.kpe.io/uffi.git")
10211 (commit (string-append "v" version))))
10212 (file-name (git-file-name name version))
10213 (sha256
10214 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10215 (build-system asdf-build-system/sbcl)
10216 (arguments
10217 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10218 #:asd-files '("uffi.asd")
10219 #:phases
10220 (modify-phases %standard-phases
10221 (add-after 'unpack 'fix-permissions
10222 (lambda _
10223 (make-file-writable "doc/html.tar.gz")
10224 #t)))))
10225 (synopsis "Universal foreign function library for Common Lisp")
10226 (description
10227 "UFFI provides a universal foreign function interface (FFI)
10228 for Common Lisp.")
10229 (home-page "http://quickdocs.org/uffi/")
10230 (license license:llgpl)))
10231
10232 (define-public cl-uffi
10233 (package
10234 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10235 (arguments
10236 `(#:phases
10237 ;; asdf-build-system/source has its own phases and does not inherit
10238 ;; from asdf-build-system/sbcl phases.
10239 (modify-phases %standard-phases/source
10240 ;; Already done in SBCL package.
10241 (delete 'reset-gzip-timestamps))))))
10242
10243 (define-public sbcl-clsql
10244 (package
10245 (name "sbcl-clsql")
10246 (version "6.7.0")
10247 (source
10248 (origin
10249 (method git-fetch)
10250 (uri (git-reference
10251 (url "http://git.kpe.io/clsql.git")
10252 (commit (string-append "v" version))))
10253 (file-name (git-file-name name version))
10254 (sha256
10255 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10256 (snippet
10257 '(begin
10258 ;; Remove precompiled libraries.
10259 (delete-file "db-mysql/clsql_mysql.dll")
10260 (delete-file "uffi/clsql_uffi.dll")
10261 (delete-file "uffi/clsql_uffi.lib")
10262 #t))))
10263 (build-system asdf-build-system/sbcl)
10264 (native-inputs
10265 `(("rt" ,sbcl-rt)))
10266 (inputs
10267 `(("cffi" ,sbcl-cffi)
10268 ("md5" ,sbcl-md5)
10269 ("mysql" ,mysql)
10270 ("postgresql" ,postgresql)
10271 ("postmodern" ,sbcl-postmodern)
10272 ("sqlite" ,sqlite)
10273 ("uffi" ,sbcl-uffi)
10274 ("zlib" ,zlib)))
10275 (arguments
10276 `(#:asd-files '("clsql.asd"
10277 "clsql-uffi.asd"
10278 "clsql-sqlite3.asd"
10279 "clsql-postgresql.asd"
10280 "clsql-postgresql-socket3.asd"
10281 "clsql-mysql.asd")
10282 #:asd-systems '("clsql"
10283 "clsql-sqlite3"
10284 "clsql-postgresql"
10285 "clsql-postgresql-socket3"
10286 "clsql-mysql")
10287 #:phases
10288 (modify-phases %standard-phases
10289 (add-after 'unpack 'fix-permissions
10290 (lambda _
10291 (make-file-writable "doc/html.tar.gz")
10292 #t))
10293 (add-after 'unpack 'fix-build
10294 (lambda _
10295 (substitute* "clsql-uffi.asd"
10296 (("\\(:version uffi \"2.0\"\\)")
10297 "uffi"))
10298 (substitute* "db-postgresql/postgresql-api.lisp"
10299 (("\\(data :cstring\\)")
10300 "(data :string)"))
10301 #t))
10302 (add-after 'unpack 'fix-paths
10303 (lambda* (#:key inputs outputs #:allow-other-keys)
10304 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10305 (("libsqlite3")
10306 (string-append (assoc-ref inputs "sqlite")
10307 "/lib/libsqlite3")))
10308 (substitute* "db-postgresql/postgresql-loader.lisp"
10309 (("libpq")
10310 (string-append (assoc-ref inputs "postgresql")
10311 "/lib/libpq")))
10312 (let ((lib (string-append "#p\""
10313 (assoc-ref outputs "out")
10314 "/lib/\"")))
10315 (substitute* "clsql-mysql.asd"
10316 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10317 lib))
10318 (substitute* "db-mysql/mysql-loader.lisp"
10319 (("libmysqlclient" all)
10320 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10321 (("clsql-mysql-system::\\*library-file-dir\\*")
10322 lib)))
10323 #t))
10324 (add-before 'build 'build-helper-library
10325 (lambda* (#:key inputs outputs #:allow-other-keys)
10326 (let* ((mysql (assoc-ref inputs "mysql"))
10327 (inc-dir (string-append mysql "/include/mysql"))
10328 (lib-dir (string-append mysql "/lib"))
10329 (shared-lib-dir (string-append (assoc-ref outputs "out")
10330 "/lib"))
10331 (shared-lib (string-append shared-lib-dir
10332 "/clsql_mysql.so")))
10333 (mkdir-p shared-lib-dir)
10334 (invoke "gcc" "-fPIC" "-shared"
10335 "-I" inc-dir
10336 "db-mysql/clsql_mysql.c"
10337 "-Wl,-soname=clsql_mysql"
10338 "-L" lib-dir "-lmysqlclient" "-lz"
10339 "-o" shared-lib)
10340 #t)))
10341 (add-after 'unpack 'fix-tests
10342 (lambda _
10343 (substitute* "clsql.asd"
10344 (("clsql-tests :force t")
10345 "clsql-tests"))
10346 #t)))))
10347 (synopsis "Common Lisp SQL Interface library")
10348 (description
10349 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10350 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10351 interfaces as well as a functional and an object oriented interface.")
10352 (home-page "http://clsql.kpe.io/")
10353 (license license:llgpl)))
10354
10355 (define-public cl-clsql
10356 (package
10357 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10358 (native-inputs
10359 `(("rt" ,cl-rt)))
10360 (inputs
10361 `(("mysql" ,mysql)
10362 ("postgresql" ,postgresql)
10363 ("sqlite" ,sqlite)
10364 ("zlib" ,zlib)))
10365 (propagated-inputs
10366 `(("cffi" ,cl-cffi)
10367 ("md5" ,cl-md5)
10368 ("postmodern" ,cl-postmodern)
10369 ("uffi" ,cl-uffi)))
10370 (arguments
10371 `(#:phases
10372 ;; asdf-build-system/source has its own phases and does not inherit
10373 ;; from asdf-build-system/sbcl phases.
10374 (modify-phases %standard-phases/source
10375 (add-after 'unpack 'fix-permissions
10376 (lambda _
10377 (make-file-writable "doc/html.tar.gz")
10378 #t)))))))
10379
10380 (define-public ecl-clsql
10381 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10382 (package
10383 (inherit pkg)
10384 (inputs
10385 (alist-delete "uffi" (package-inputs pkg)))
10386 (arguments
10387 (substitute-keyword-arguments (package-arguments pkg)
10388 ((#:asd-files asd-files '())
10389 `(cons "clsql-cffi.asd" ,asd-files)))))))
10390
10391 (define-public sbcl-sycamore
10392 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10393 (package
10394 (name "sbcl-sycamore")
10395 (version "0.0.20120604")
10396 (source
10397 (origin
10398 (method git-fetch)
10399 (uri (git-reference
10400 (url "https://github.com/ndantam/sycamore/")
10401 (commit commit)))
10402 (file-name (git-file-name name version))
10403 (sha256
10404 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10405 (build-system asdf-build-system/sbcl)
10406 (inputs
10407 `(("alexandria" ,sbcl-alexandria)
10408 ("cl-ppcre" ,sbcl-cl-ppcre)))
10409 (synopsis "Purely functional data structure library in Common Lisp")
10410 (description
10411 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10412 If features:
10413
10414 @itemize
10415 @item Fast, purely functional weight-balanced binary trees.
10416 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10417 @item Interfaces for tree Sets and Maps (dictionaries).
10418 @item Ropes.
10419 @item Purely functional pairing heaps.
10420 @item Purely functional amortized queue.
10421 @end itemize\n")
10422 (home-page "http://ndantam.github.io/sycamore/")
10423 (license license:bsd-3))))
10424
10425 (define-public cl-sycamore
10426 (sbcl-package->cl-source-package sbcl-sycamore))
10427
10428 (define-public ecl-sycamore
10429 (sbcl-package->ecl-package sbcl-sycamore))
10430
10431 (define-public sbcl-trivial-package-local-nicknames
10432 (package
10433 (name "sbcl-trivial-package-local-nicknames")
10434 (version "0.2")
10435 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10436 (source
10437 (origin
10438 (method git-fetch)
10439 (uri (git-reference
10440 (url home-page)
10441 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10442 (file-name (git-file-name name version))
10443 (sha256
10444 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10445 (build-system asdf-build-system/sbcl)
10446 (synopsis "Common Lisp compatibility library for package local nicknames")
10447 (description
10448 "This library is a portable compatibility layer around package local nicknames (PLN).
10449 This was done so there is a portability library for the PLN API not included
10450 in DEFPACKAGE.")
10451 (license license:unlicense)))
10452
10453 (define-public cl-trivial-package-local-nicknames
10454 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10455
10456 (define-public ecl-trivial-package-local-nicknames
10457 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10458
10459 (define-public sbcl-enchant
10460 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10461 (package
10462 (name "sbcl-enchant")
10463 (version (git-version "0.0.0" "1" commit))
10464 (home-page "https://github.com/tlikonen/cl-enchant")
10465 (source
10466 (origin
10467 (method git-fetch)
10468 (uri (git-reference
10469 (url home-page)
10470 (commit commit)))
10471 (file-name (git-file-name name version))
10472 (sha256
10473 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10474 (build-system asdf-build-system/sbcl)
10475 (inputs
10476 `(("enchant" ,enchant)
10477 ("cffi" ,sbcl-cffi)))
10478 (arguments
10479 `(#:phases
10480 (modify-phases %standard-phases
10481 (add-after 'unpack 'fix-paths
10482 (lambda* (#:key inputs #:allow-other-keys)
10483 (substitute* "load-enchant.lisp"
10484 (("libenchant")
10485 (string-append
10486 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10487 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10488 (description
10489 "Enchant is a Common Lisp interface for the Enchant spell-checker
10490 library. The Enchant library is a generic spell-checker library which uses
10491 other spell-checkers transparently as back-end. The library supports the
10492 multiple checkers, including Aspell and Hunspell.")
10493 (license license:public-domain))))
10494
10495 (define-public cl-enchant
10496 (sbcl-package->cl-source-package sbcl-enchant))
10497
10498 (define-public ecl-enchant
10499 (sbcl-package->ecl-package sbcl-enchant))
10500
10501 (define-public sbcl-cl-change-case
10502 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10503 (revision "1"))
10504 (package
10505 (name "sbcl-cl-change-case")
10506 (version (git-version "0.2.0" revision commit))
10507 (home-page "https://github.com/rudolfochrist/cl-change-case")
10508 (source
10509 (origin
10510 (method git-fetch)
10511 (uri (git-reference
10512 (url home-page)
10513 (commit commit)))
10514 (file-name (git-file-name "cl-change-case" version))
10515 (sha256
10516 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10517 (build-system asdf-build-system/sbcl)
10518 (inputs
10519 `(("cl-ppcre" ,sbcl-cl-ppcre)
10520 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10521 (native-inputs
10522 `(("fiveam" ,sbcl-fiveam)))
10523 (synopsis
10524 "Convert Common Lisp strings between camelCase, PascalCase and more")
10525 (description
10526 "@code{cl-change-case} is a library to convert strings between
10527 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10528 (license license:llgpl))))
10529
10530 (define-public cl-change-case
10531 (sbcl-package->cl-source-package sbcl-cl-change-case))
10532
10533 (define-public ecl-cl-change-case
10534 (sbcl-package->ecl-package sbcl-cl-change-case))
10535
10536 (define-public sbcl-modularize
10537 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10538 (revision "1"))
10539 (package
10540 (name "sbcl-modularize")
10541 (version (git-version "1.0.0" revision commit))
10542 (source
10543 (origin
10544 (method git-fetch)
10545 (uri (git-reference
10546 (url "https://github.com/Shinmera/modularize")
10547 (commit commit)))
10548 (file-name (git-file-name name version))
10549 (sha256
10550 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10551 (build-system asdf-build-system/sbcl)
10552 (arguments
10553 `(#:test-asd-file "modularize-test-module.asd"
10554 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10555 #:asd-systems '("modularize" "modularize-test-module")))
10556 (inputs
10557 `(("documentation-utils" ,sbcl-documentation-utils)
10558 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10559 (home-page "https://shinmera.github.io/modularize/")
10560 (synopsis "Common Lisp modularization framework")
10561 (description
10562 "@code{MODULARIZE} is an attempt at providing a common interface to
10563 segregate major application components. This is achieved by adding special
10564 treatment to packages. Each module is a package that is specially registered,
10565 which allows it to interact and co-exist with other modules in better ways. For
10566 instance, by adding module definition options you can introduce mechanisms to
10567 tie modules together in functionality, hook into each other and so on.")
10568 (license license:zlib))))
10569
10570 (define-public ecl-modularize
10571 (sbcl-package->ecl-package sbcl-modularize))
10572
10573 (define-public cl-modularize
10574 (sbcl-package->cl-source-package sbcl-modularize))
10575
10576 (define-public sbcl-modularize-hooks
10577 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10578 (revision "1"))
10579 (package
10580 (name "sbcl-modularize-hooks")
10581 (version (git-version "1.0.2" revision commit))
10582 (source
10583 (origin
10584 (method git-fetch)
10585 (uri (git-reference
10586 (url "https://github.com/Shinmera/modularize-hooks")
10587 (commit commit)))
10588 (file-name (git-file-name "modularize-hooks" version))
10589 (sha256
10590 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10591 (build-system asdf-build-system/sbcl)
10592 (inputs
10593 `(("closer-mop" ,sbcl-closer-mop)
10594 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10595 ("modularize" ,sbcl-modularize)
10596 ("trivial-arguments" ,sbcl-trivial-arguments)))
10597 (home-page "https://shinmera.github.io/modularize-hooks/")
10598 (synopsis "Generic hooks and triggers extension for Modularize")
10599 (description
10600 "This is a simple extension to @code{MODULARIZE} that allows modules to
10601 define and trigger hooks, which other modules can hook on to.")
10602 (license license:zlib))))
10603
10604 (define-public ecl-modularize-hooks
10605 (sbcl-package->ecl-package sbcl-modularize-hooks))
10606
10607 (define-public cl-modularize-hooks
10608 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10609
10610 (define-public sbcl-modularize-interfaces
10611 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10612 (revision "1"))
10613 (package
10614 (name "sbcl-modularize-interfaces")
10615 (version (git-version "0.9.3" revision commit))
10616 (source
10617 (origin
10618 (method git-fetch)
10619 (uri (git-reference
10620 (url "https://github.com/Shinmera/modularize-interfaces")
10621 (commit commit)))
10622 (file-name (git-file-name "modularize-interfaces" version))
10623 (sha256
10624 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10625 (build-system asdf-build-system/sbcl)
10626 (inputs
10627 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10628 ("modularize" ,sbcl-modularize)
10629 ("trivial-arguments" ,sbcl-trivial-arguments)
10630 ("trivial-indent" ,sbcl-trivial-indent)))
10631 (home-page "https://shinmera.github.io/modularize-interfaces/")
10632 (synopsis "Programmatical interfaces extension for Modularize")
10633 (description
10634 "This is an extension to @code{MODULARIZE} that allows your application
10635 to define interfaces in-code that serve both as a primary documentation and as
10636 compliance control.")
10637 (license license:zlib))))
10638
10639 (define-public ecl-modularize-interfaces
10640 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10641
10642 (define-public cl-modularize-interfaces
10643 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10644
10645 (define-public sbcl-moptilities
10646 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10647 (package
10648 (name "sbcl-moptilities")
10649 (version (git-version "0.3.13" "1" commit))
10650 (home-page "https://github.com/gwkkwg/moptilities/")
10651 (source
10652 (origin
10653 (method git-fetch)
10654 (uri (git-reference
10655 (url home-page)
10656 (commit commit)))
10657 (file-name (git-file-name name version))
10658 (sha256
10659 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10660 (build-system asdf-build-system/sbcl)
10661 (inputs
10662 `(("closer-mop" ,sbcl-closer-mop)))
10663 (native-inputs
10664 `(("lift" ,sbcl-lift)))
10665 (arguments
10666 `(#:phases
10667 (modify-phases %standard-phases
10668 (add-after 'unpack 'fix-tests
10669 (lambda _
10670 (substitute* "lift-standard.config"
10671 ((":relative-to lift-test")
10672 ":relative-to moptilities-test"))
10673 #t)))))
10674 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10675 (description
10676 "MOP utilities provide a common interface between Lisps and make the
10677 MOP easier to use.")
10678 (license license:expat))))
10679
10680 (define-public cl-moptilities
10681 (sbcl-package->cl-source-package sbcl-moptilities))
10682
10683 (define-public sbcl-osicat
10684 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10685 (package
10686 (name "sbcl-osicat")
10687 (version (git-version "0.7.0" "1" commit))
10688 (home-page "http://www.common-lisp.net/project/osicat/")
10689 (source
10690 (origin
10691 (method git-fetch)
10692 (uri (git-reference
10693 (url "https://github.com/osicat/osicat")
10694 (commit commit)))
10695 (file-name (git-file-name name version))
10696 (sha256
10697 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10698 (build-system asdf-build-system/sbcl)
10699 (inputs
10700 `(("alexandria" ,sbcl-alexandria)
10701 ("cffi" ,sbcl-cffi)
10702 ("trivial-features" ,sbcl-trivial-features)))
10703 (native-inputs
10704 `(("rt" ,sbcl-rt)))
10705 (synopsis "Operating system interface for Common Lisp")
10706 (description
10707 "Osicat is a lightweight operating system interface for Common Lisp on
10708 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10709 accompaniment to the standard ANSI facilities.")
10710 (license license:expat))))
10711
10712 (define-public cl-osicat
10713 (sbcl-package->cl-source-package sbcl-osicat))
10714
10715 (define-public ecl-osicat
10716 (sbcl-package->ecl-package sbcl-osicat))
10717
10718 (define-public sbcl-clx-xembed
10719 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10720 (revision "1"))
10721 (package
10722 (name "sbcl-clx-xembed")
10723 (version (git-version "0.1" revision commit))
10724 (home-page "https://github.com/laynor/clx-xembed")
10725 (source
10726 (origin
10727 (method git-fetch)
10728 (uri (git-reference
10729 (url "https://github.com/laynor/clx-xembed")
10730 (commit commit)))
10731 (file-name (git-file-name name version))
10732 (sha256
10733 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10734 (build-system asdf-build-system/sbcl)
10735 (arguments
10736 `(#:asd-systems '("xembed")))
10737 (inputs
10738 `(("sbcl-clx" ,sbcl-clx)))
10739 (synopsis "CL(x) xembed protocol implementation ")
10740 (description "CL(x) xembed protocol implementation")
10741 ;; MIT License
10742 (license license:expat))))
10743
10744 (define-public cl-clx-xembed
10745 (sbcl-package->cl-source-package sbcl-clx-xembed))
10746
10747 (define-public ecl-clx-xembed
10748 (sbcl-package->ecl-package sbcl-clx-xembed))
10749
10750 (define-public sbcl-quantile-estimator
10751 (package
10752 (name "sbcl-quantile-estimator")
10753 (version "0.0.1")
10754 (source
10755 (origin
10756 (method git-fetch)
10757 (uri (git-reference
10758 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10759 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10760 (file-name (git-file-name name version))
10761 (sha256
10762 (base32
10763 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10764 (build-system asdf-build-system/sbcl)
10765 (arguments
10766 '(#:asd-files '("quantile-estimator.asd")))
10767 (inputs
10768 `(("alexandria" ,sbcl-alexandria)))
10769 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10770 (synopsis
10771 "Effective computation of biased quantiles over data streams")
10772 (description
10773 "Common Lisp implementation of Graham Cormode and S.
10774 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10775 Streams in ICDE’05.")
10776 (license license:expat)))
10777
10778 (define-public cl-quantile-estimator
10779 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10780
10781 (define-public ecl-quantile-estimator
10782 (sbcl-package->ecl-package sbcl-quantile-estimator))
10783
10784 (define-public sbcl-prometheus
10785 (package
10786 (name "sbcl-prometheus")
10787 (version "0.4.1")
10788 (source
10789 (origin
10790 (method git-fetch)
10791 (uri (git-reference
10792 (url "https://github.com/deadtrickster/prometheus.cl")
10793 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10794 (file-name (git-file-name name version))
10795 (sha256
10796 (base32
10797 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10798 (build-system asdf-build-system/sbcl)
10799 (inputs
10800 `(("alexandria" ,sbcl-alexandria)
10801 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10802 ("cffi" ,sbcl-cffi)
10803 ("cl-fad" ,sbcl-cl-fad)
10804 ("cl-ppcre" ,sbcl-cl-ppcre)
10805 ("drakma" ,sbcl-drakma)
10806 ("hunchentoot" ,sbcl-hunchentoot)
10807 ("local-time" ,sbcl-local-time)
10808 ("quantile-estimator" ,sbcl-quantile-estimator)
10809 ("salza2" ,sbcl-salza2)
10810 ("split-sequence" ,sbcl-split-sequence)
10811 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10812 (arguments
10813 '(#:asd-files '("prometheus.asd"
10814 "prometheus.collectors.sbcl.asd"
10815 "prometheus.collectors.process.asd"
10816 "prometheus.formats.text.asd"
10817 "prometheus.exposers.hunchentoot.asd"
10818 "prometheus.pushgateway.asd")
10819 #:asd-systems '("prometheus"
10820 "prometheus.collectors.sbcl"
10821 "prometheus.collectors.process"
10822 "prometheus.formats.text"
10823 "prometheus.exposers.hunchentoot"
10824 "prometheus.pushgateway")))
10825 (home-page "https://github.com/deadtrickster/prometheus.cl")
10826 (synopsis "Prometheus.io Common Lisp client")
10827 (description "Prometheus.io Common Lisp client.")
10828 (license license:expat)))
10829
10830 (define-public cl-prometheus
10831 (sbcl-package->cl-source-package sbcl-prometheus))
10832
10833 (define-public ecl-prometheus
10834 (sbcl-package->ecl-package sbcl-prometheus))
10835
10836 (define-public sbcl-uuid
10837 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10838 (package
10839 (name "sbcl-uuid")
10840 (version (git-version "2012.12.26" "1" commit))
10841 (source
10842 (origin
10843 (method git-fetch)
10844 (uri (git-reference
10845 (url "https://github.com/dardoria/uuid")
10846 (commit commit)))
10847 (file-name (git-file-name name version))
10848 (sha256
10849 (base32
10850 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10851 (build-system asdf-build-system/sbcl)
10852 (inputs
10853 `(("ironclad" ,sbcl-ironclad)
10854 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10855 (home-page "https://github.com/dardoria/uuid")
10856 (synopsis
10857 "Common Lisp implementation of UUIDs according to RFC4122")
10858 (description
10859 "Common Lisp implementation of UUIDs according to RFC4122.")
10860 (license license:llgpl))))
10861
10862 (define-public cl-uuid
10863 (sbcl-package->cl-source-package sbcl-uuid))
10864
10865 (define-public ecl-uuid
10866 (sbcl-package->ecl-package sbcl-uuid))
10867
10868 (define-public sbcl-dissect
10869 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10870 (package
10871 (name "sbcl-dissect")
10872 (version (git-version "1.0.0" "1" commit))
10873 (source
10874 (origin
10875 (method git-fetch)
10876 (uri (git-reference
10877 (url "https://github.com/Shinmera/dissect")
10878 (commit commit)))
10879 (file-name (git-file-name name version))
10880 (sha256
10881 (base32
10882 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10883 (build-system asdf-build-system/sbcl)
10884 (inputs
10885 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10886 (home-page "https://shinmera.github.io/dissect/")
10887 (synopsis
10888 "Introspection library for the call stack and restarts")
10889 (description
10890 "Dissect is a small Common Lisp library for introspecting the call stack
10891 and active restarts.")
10892 (license license:zlib))))
10893
10894 (define-public cl-dissect
10895 (sbcl-package->cl-source-package sbcl-dissect))
10896
10897 (define-public ecl-dissect
10898 (sbcl-package->ecl-package sbcl-dissect))
10899
10900 (define-public sbcl-rove
10901 (package
10902 (name "sbcl-rove")
10903 (version "0.9.6")
10904 (source
10905 (origin
10906 (method git-fetch)
10907 (uri (git-reference
10908 (url "https://github.com/fukamachi/rove")
10909 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10910 (file-name (git-file-name name version))
10911 (sha256
10912 (base32
10913 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10914 (build-system asdf-build-system/sbcl)
10915 (inputs
10916 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10917 ("dissect" ,sbcl-dissect)
10918 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10919 (home-page "https://github.com/fukamachi/rove")
10920 (synopsis
10921 "Yet another common lisp testing library")
10922 (description
10923 "Rove is a unit testing framework for Common Lisp applications.
10924 This is intended to be a successor of Prove.")
10925 (license license:bsd-3)))
10926
10927 (define-public cl-rove
10928 (sbcl-package->cl-source-package sbcl-rove))
10929
10930 (define-public ecl-rove
10931 (sbcl-package->ecl-package sbcl-rove))
10932
10933 (define-public sbcl-exponential-backoff
10934 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10935 (package
10936 (name "sbcl-exponential-backoff")
10937 (version (git-version "0" "1" commit))
10938 (source
10939 (origin
10940 (method git-fetch)
10941 (uri (git-reference
10942 (url "https://github.com/death/exponential-backoff")
10943 (commit commit)))
10944 (file-name (git-file-name name version))
10945 (sha256
10946 (base32
10947 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10948 (build-system asdf-build-system/sbcl)
10949 (home-page "https://github.com/death/exponential-backoff")
10950 (synopsis "Exponential backoff algorithm in Common Lisp")
10951 (description
10952 "An implementation of the exponential backoff algorithm in Common Lisp.
10953 Inspired by the implementation found in Chromium. Read the header file to
10954 learn about each of the parameters.")
10955 (license license:expat))))
10956
10957 (define-public cl-exponential-backoff
10958 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10959
10960 (define-public ecl-exponential-backoff
10961 (sbcl-package->ecl-package sbcl-exponential-backoff))
10962
10963 (define-public sbcl-sxql
10964 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10965 (package
10966 (name "sbcl-sxql")
10967 (version (git-version "0.1.0" "1" commit))
10968 (source
10969 (origin
10970 (method git-fetch)
10971 (uri (git-reference
10972 (url "https://github.com/fukamachi/sxql")
10973 (commit commit)))
10974 (file-name (git-file-name name version))
10975 (sha256
10976 (base32
10977 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10978 (build-system asdf-build-system/sbcl)
10979 (arguments
10980 `(#:test-asd-file "sxql-test.asd"))
10981 (inputs
10982 `(("alexandria" ,sbcl-alexandria)
10983 ("cl-syntax" ,sbcl-cl-syntax)
10984 ("iterate" ,sbcl-iterate)
10985 ("optima" ,sbcl-optima)
10986 ("split-sequence" ,sbcl-split-sequence)
10987 ("trivial-types" ,sbcl-trivial-types)))
10988 (native-inputs
10989 `(("prove" ,sbcl-prove)))
10990 (home-page "https://github.com/fukamachi/sxql")
10991 (synopsis "SQL generator for Common Lisp")
10992 (description "SQL generator for Common Lisp.")
10993 (license license:bsd-3))))
10994
10995 (define-public cl-sxql
10996 (sbcl-package->cl-source-package sbcl-sxql))
10997
10998 (define-public ecl-sxql
10999 (sbcl-package->ecl-package sbcl-sxql))
11000
11001 (define-public sbcl-1am
11002 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11003 (package
11004 (name "sbcl-1am")
11005 (version (git-version "0.0" "1" commit))
11006 (source
11007 (origin
11008 (method git-fetch)
11009 (uri (git-reference
11010 (url "https://github.com/lmj/1am")
11011 (commit commit)))
11012 (file-name (git-file-name name version))
11013 (sha256
11014 (base32
11015 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11016 (build-system asdf-build-system/sbcl)
11017 (arguments
11018 `(#:asd-systems '("1am")))
11019 (home-page "https://github.com/lmj/1am")
11020 (synopsis "Minimal testing framework for Common Lisp")
11021 (description "A minimal testing framework for Common Lisp.")
11022 (license license:expat))))
11023
11024 (define-public cl-1am
11025 (sbcl-package->cl-source-package sbcl-1am))
11026
11027 (define-public ecl-1am
11028 (sbcl-package->ecl-package sbcl-1am))
11029
11030 (define-public sbcl-cl-ascii-table
11031 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11032 (revision "1"))
11033 (package
11034 (name "sbcl-cl-ascii-table")
11035 (version (git-version "0.0.0" revision commit))
11036 (source
11037 (origin
11038 (method git-fetch)
11039 (uri (git-reference
11040 (url "https://github.com/telephil/cl-ascii-table")
11041 (commit commit)))
11042 (file-name (git-file-name name version))
11043 (sha256
11044 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11045 (build-system asdf-build-system/sbcl)
11046 (synopsis "Library to make ascii-art tables")
11047 (description
11048 "This is a Common Lisp library to present tabular data in ascii-art
11049 tables.")
11050 (home-page "https://github.com/telephil/cl-ascii-table")
11051 (license license:expat))))
11052
11053 (define-public cl-ascii-table
11054 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11055
11056 (define-public ecl-cl-ascii-table
11057 (sbcl-package->ecl-package sbcl-cl-ascii-table))
11058
11059 (define-public sbcl-cl-rdkafka
11060 (package
11061 (name "sbcl-cl-rdkafka")
11062 (version "1.1.0")
11063 (source
11064 (origin
11065 (method git-fetch)
11066 (uri (git-reference
11067 (url "https://github.com/SahilKang/cl-rdkafka")
11068 (commit (string-append "v" version))))
11069 (file-name (git-file-name name version))
11070 (sha256
11071 (base32
11072 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
11073 (build-system asdf-build-system/sbcl)
11074 (arguments
11075 `(#:tests? #f ; Attempts to connect to locally running Kafka
11076 #:phases
11077 (modify-phases %standard-phases
11078 (add-after 'unpack 'fix-paths
11079 (lambda* (#:key inputs #:allow-other-keys)
11080 (substitute* "src/low-level/librdkafka-bindings.lisp"
11081 (("librdkafka" all)
11082 (string-append (assoc-ref inputs "librdkafka") "/lib/"
11083 all))))))))
11084 (inputs
11085 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11086 ("cffi" ,sbcl-cffi)
11087 ("librdkafka" ,librdkafka)
11088 ("lparallel" ,sbcl-lparallel)
11089 ("trivial-garbage" ,sbcl-trivial-garbage)))
11090 (home-page "https://github.com/SahilKang/cl-rdkafka")
11091 (synopsis "Common Lisp client library for Apache Kafka")
11092 (description "A Common Lisp client library for Apache Kafka.")
11093 (license license:gpl3)))
11094
11095 (define-public cl-rdkafka
11096 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
11097
11098 (define-public ecl-cl-rdkafka
11099 (sbcl-package->ecl-package sbcl-cl-rdkafka))
11100
11101 (define-public sbcl-acclimation
11102 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11103 (package
11104 (name "sbcl-acclimation")
11105 (version (git-version "0.0.0" "1" commit))
11106 (source
11107 (origin
11108 (method git-fetch)
11109 (uri (git-reference
11110 (url "https://github.com/robert-strandh/Acclimation")
11111 (commit commit)))
11112 (file-name (git-file-name name version))
11113 (sha256
11114 (base32
11115 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11116 (build-system asdf-build-system/sbcl)
11117 (home-page "https://github.com/robert-strandh/Acclimation")
11118 (synopsis "Internationalization library for Common Lisp")
11119 (description "This project is meant to provide tools for
11120 internationalizing Common Lisp programs.
11121
11122 One important aspect of internationalization is of course the language used in
11123 error messages, documentation strings, etc. But with this project we provide
11124 tools for all other aspects of internationalization as well, including dates,
11125 weight, temperature, names of physical quantitites, etc.")
11126 (license license:bsd-2))))
11127
11128 (define-public cl-acclimation
11129 (sbcl-package->cl-source-package sbcl-acclimation))
11130
11131 (define-public ecl-acclimation
11132 (sbcl-package->ecl-package sbcl-acclimation))
11133
11134 (define-public sbcl-clump
11135 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
11136 (package
11137 (name "sbcl-clump")
11138 (version (git-version "0.0.0" "1" commit))
11139 (source
11140 (origin
11141 (method git-fetch)
11142 (uri (git-reference
11143 (url "https://github.com/robert-strandh/Clump")
11144 (commit commit)))
11145 (file-name (git-file-name name version))
11146 (sha256
11147 (base32
11148 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
11149 (inputs
11150 `(("acclimation" ,sbcl-acclimation)))
11151 (build-system asdf-build-system/sbcl)
11152 (home-page "https://github.com/robert-strandh/Clump")
11153 (synopsis "Collection of tree implementations for Common Lisp")
11154 (description "The purpose of this library is to provide a collection of
11155 implementations of trees.
11156
11157 In contrast to existing libraries such as cl-containers, it does not impose a
11158 particular use for the trees. Instead, it aims for a stratified design,
11159 allowing client code to choose between different levels of abstraction.
11160
11161 As a consequence of this policy, low-level interfaces are provided where
11162 the concrete representation is exposed, but also high level interfaces
11163 where the trees can be used as search trees or as trees that represent
11164 sequences of objects.")
11165 (license license:bsd-2))))
11166
11167 (define-public cl-clump
11168 (sbcl-package->cl-source-package sbcl-clump))
11169
11170 (define-public ecl-clump
11171 (sbcl-package->ecl-package sbcl-clump))
11172
11173 (define-public sbcl-cluffer
11174 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
11175 (package
11176 (name "sbcl-cluffer")
11177 (version (git-version "0.0.0" "1" commit))
11178 (source
11179 (origin
11180 (method git-fetch)
11181 (uri (git-reference
11182 (url "https://github.com/robert-strandh/cluffer")
11183 (commit commit)))
11184 (file-name (git-file-name name version))
11185 (sha256
11186 (base32
11187 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
11188 (build-system asdf-build-system/sbcl)
11189 (inputs
11190 `(("acclimation" ,sbcl-acclimation)
11191 ("clump" ,sbcl-clump)))
11192 (home-page "https://github.com/robert-strandh/cluffer")
11193 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
11194 (description "Cluffer is a library for representing the buffer of a text
11195 editor. As such, it defines a set of CLOS protocols for client code to
11196 interact with the buffer contents in various ways, and it supplies different
11197 implementations of those protocols for different purposes.")
11198 (license license:bsd-2))))
11199
11200 (define-public cl-cluffer
11201 (sbcl-package->cl-source-package sbcl-cluffer))
11202
11203 (define-public ecl-cluffer
11204 (sbcl-package->ecl-package sbcl-cluffer))
11205
11206 (define-public sbcl-cl-libsvm-format
11207 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11208 (revision "0"))
11209 (package
11210 (name "sbcl-cl-libsvm-format")
11211 (version (git-version "0.1.0" revision commit))
11212 (source
11213 (origin
11214 (method git-fetch)
11215 (uri (git-reference
11216 (url "https://github.com/masatoi/cl-libsvm-format")
11217 (commit commit)))
11218 (file-name (git-file-name name version))
11219 (sha256
11220 (base32
11221 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11222 (build-system asdf-build-system/sbcl)
11223 (native-inputs
11224 `(("prove" ,sbcl-prove)))
11225 (inputs
11226 `(("alexandria" ,sbcl-alexandria)))
11227 (synopsis "LibSVM data format reader for Common Lisp")
11228 (description
11229 "This Common Lisp library provides a fast reader for data in LibSVM
11230 format.")
11231 (home-page "https://github.com/masatoi/cl-libsvm-format")
11232 (license license:expat))))
11233
11234 (define-public cl-libsvm-format
11235 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11236
11237 (define-public ecl-cl-libsvm-format
11238 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11239
11240 (define-public sbcl-cl-online-learning
11241 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11242 (revision "1"))
11243 (package
11244 (name "sbcl-cl-online-learning")
11245 (version (git-version "0.5" revision commit))
11246 (source
11247 (origin
11248 (method git-fetch)
11249 (uri (git-reference
11250 (url "https://github.com/masatoi/cl-online-learning")
11251 (commit commit)))
11252 (file-name (git-file-name "cl-online-learning" version))
11253 (sha256
11254 (base32
11255 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
11256 (build-system asdf-build-system/sbcl)
11257 (native-inputs
11258 `(("prove" ,sbcl-prove)))
11259 (inputs
11260 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11261 ("cl-store" ,sbcl-cl-store)))
11262 (arguments
11263 `(#:test-asd-file "cl-online-learning-test.asd"
11264 #:asd-systems '("cl-online-learning-test"
11265 "cl-online-learning")))
11266 (home-page "https://github.com/masatoi/cl-online-learning")
11267 (synopsis "Online Machine Learning for Common Lisp")
11268 (description
11269 "This library contains a collection of machine learning algorithms for
11270 online linear classification written in Common Lisp.")
11271 (license license:expat))))
11272
11273 (define-public cl-online-learning
11274 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11275
11276 (define-public ecl-cl-online-learning
11277 (sbcl-package->ecl-package sbcl-cl-online-learning))
11278
11279 (define-public sbcl-cl-mpg123
11280 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11281 (revision "1"))
11282 (package
11283 (name "sbcl-cl-mpg123")
11284 (version (git-version "1.0.0" revision commit))
11285 (source
11286 (origin
11287 (method git-fetch)
11288 (uri (git-reference
11289 (url "https://github.com/Shirakumo/cl-mpg123")
11290 (commit commit)))
11291 (file-name (git-file-name "cl-mpg123" version))
11292 (sha256
11293 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11294 (modules '((guix build utils)))
11295 (snippet
11296 '(begin
11297 ;; Remove bundled pre-compiled libraries.
11298 (delete-file-recursively "static")
11299 #t))))
11300 (build-system asdf-build-system/sbcl)
11301 (arguments
11302 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11303 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11304 #:phases
11305 (modify-phases %standard-phases
11306 (add-after 'unpack 'fix-paths
11307 (lambda* (#:key inputs #:allow-other-keys)
11308 (substitute* "low-level.lisp"
11309 (("libmpg123.so" all)
11310 (string-append (assoc-ref inputs "libmpg123")
11311 "/lib/" all))))))))
11312 (inputs
11313 `(("cffi" ,sbcl-cffi)
11314 ("cl-out123" ,sbcl-cl-out123)
11315 ("documentation-utils" ,sbcl-documentation-utils)
11316 ("libmpg123" ,mpg123)
11317 ("trivial-features" ,sbcl-trivial-features)
11318 ("trivial-garbage" ,sbcl-trivial-garbage)
11319 ("verbose" ,sbcl-verbose)))
11320 (home-page "https://shirakumo.github.io/cl-mpg123/")
11321 (synopsis "Common Lisp bindings to libmpg123")
11322 (description
11323 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11324 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11325 files.")
11326 (license license:zlib))))
11327
11328 (define-public ecl-cl-mpg123
11329 (sbcl-package->ecl-package sbcl-cl-mpg123))
11330
11331 (define-public cl-mpg123
11332 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11333
11334 (define-public sbcl-cl-out123
11335 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11336 (revision "1"))
11337 (package
11338 (name "sbcl-cl-out123")
11339 (version (git-version "1.0.0" revision commit))
11340 (source
11341 (origin
11342 (method git-fetch)
11343 (uri (git-reference
11344 (url "https://github.com/Shirakumo/cl-out123")
11345 (commit commit)))
11346 (file-name (git-file-name "cl-out123" version))
11347 (sha256
11348 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11349 (modules '((guix build utils)))
11350 (snippet
11351 '(begin
11352 ;; Remove bundled pre-compiled libraries.
11353 (delete-file-recursively "static")
11354 #t))))
11355 (build-system asdf-build-system/sbcl)
11356 (arguments
11357 `(#:phases
11358 (modify-phases %standard-phases
11359 (add-after 'unpack 'fix-paths
11360 (lambda* (#:key inputs #:allow-other-keys)
11361 (substitute* "low-level.lisp"
11362 (("libout123.so" all)
11363 (string-append (assoc-ref inputs "libout123")
11364 "/lib/" all)))))
11365 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11366 ;; exported macro `without-interrupts' it's moved to `mp' package
11367 ;; https://github.com/Shirakumo/cl-out123/issues/2
11368 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11369 (add-after 'unpack 'fix-ecl-package-name
11370 (lambda _
11371 (substitute* "wrapper.lisp"
11372 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11373 #t)))))
11374 (inputs
11375 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11376 ("cffi" ,sbcl-cffi)
11377 ("documentation-utils" ,sbcl-documentation-utils)
11378 ("libout123" ,mpg123)
11379 ("trivial-features" ,sbcl-trivial-features)
11380 ("trivial-garbage" ,sbcl-trivial-garbage)))
11381 (home-page "https://shirakumo.github.io/cl-out123/")
11382 (synopsis "Common Lisp bindings to libout123")
11383 (description
11384 "This is a bindings library to @code{libout123} which allows easy
11385 cross-platform audio playback.")
11386 (license license:zlib))))
11387
11388 (define-public ecl-cl-out123
11389 (sbcl-package->ecl-package sbcl-cl-out123))
11390
11391 (define-public cl-out123
11392 (sbcl-package->cl-source-package sbcl-cl-out123))
11393
11394 (define-public sbcl-cl-random-forest
11395 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11396 (revision "1"))
11397 (package
11398 (name "sbcl-cl-random-forest")
11399 (version (git-version "0.1" revision commit))
11400 (source
11401 (origin
11402 (method git-fetch)
11403 (uri (git-reference
11404 (url "https://github.com/masatoi/cl-random-forest")
11405 (commit commit)))
11406 (file-name (git-file-name name version))
11407 (sha256
11408 (base32
11409 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11410 (build-system asdf-build-system/sbcl)
11411 (native-inputs
11412 `(("prove" ,sbcl-prove)
11413 ("trivial-garbage" ,sbcl-trivial-garbage)))
11414 (inputs
11415 `(("alexandria" ,sbcl-alexandria)
11416 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11417 ("cl-online-learning" ,sbcl-cl-online-learning)
11418 ("lparallel" ,sbcl-lparallel)))
11419 (arguments
11420 `(#:tests? #f)) ; The tests download data from the Internet
11421 (synopsis "Random Forest and Global Refinement for Common Lisp")
11422 (description
11423 "CL-random-forest is an implementation of Random Forest for multiclass
11424 classification and univariate regression written in Common Lisp. It also
11425 includes an implementation of Global Refinement of Random Forest.")
11426 (home-page "https://github.com/masatoi/cl-random-forest")
11427 (license license:expat))))
11428
11429 (define-public cl-random-forest
11430 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11431
11432 (define-public ecl-cl-random-forest
11433 (sbcl-package->ecl-package sbcl-cl-random-forest))
11434
11435 (define-public sbcl-bordeaux-fft
11436 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11437 (revision "0"))
11438 (package
11439 (name "sbcl-bordeaux-fft")
11440 (version (git-version "1.0.1" revision commit))
11441 (source
11442 (origin
11443 (method git-fetch)
11444 (uri (git-reference
11445 (url "https://github.com/ahefner/bordeaux-fft")
11446 (commit commit)))
11447 (file-name (git-file-name name version))
11448 (sha256
11449 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11450 (build-system asdf-build-system/sbcl)
11451 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11452 (synopsis "Fast Fourier Transform for Common Lisp")
11453 (description
11454 "The Bordeaux-FFT library provides a reasonably efficient implementation
11455 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11456 portable Common Lisp.")
11457 (license license:gpl2+))))
11458
11459 (define-public cl-bordeaux-fft
11460 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11461
11462 (define-public ecl-bordeaux-fft
11463 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11464
11465 (define-public sbcl-napa-fft3
11466 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11467 (revision "0"))
11468 (package
11469 (name "sbcl-napa-fft3")
11470 (version (git-version "0.0.1" revision commit))
11471 (source
11472 (origin
11473 (method git-fetch)
11474 (uri (git-reference
11475 (url "https://github.com/pkhuong/Napa-FFT3")
11476 (commit commit)))
11477 (file-name (git-file-name name version))
11478 (sha256
11479 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11480 (build-system asdf-build-system/sbcl)
11481 (home-page "https://github.com/pkhuong/Napa-FFT3")
11482 (synopsis "Fast Fourier Transform routines in Common Lisp")
11483 (description
11484 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11485 buildings blocks to express common operations that involve DFTs: filtering,
11486 convolutions, etc.")
11487 (license license:bsd-3))))
11488
11489 (define-public cl-napa-fft3
11490 (sbcl-package->cl-source-package sbcl-napa-fft3))
11491
11492 (define-public sbcl-cl-tga
11493 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11494 (revision "0"))
11495 (package
11496 (name "sbcl-cl-tga")
11497 (version (git-version "0.0.0" revision commit))
11498 (source
11499 (origin
11500 (method git-fetch)
11501 (uri (git-reference
11502 (url "https://github.com/fisxoj/cl-tga")
11503 (commit commit)))
11504 (file-name (git-file-name name version))
11505 (sha256
11506 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11507 (build-system asdf-build-system/sbcl)
11508 (home-page "https://github.com/fisxoj/cl-tga")
11509 (synopsis "TGA file loader for Common Lisp")
11510 (description
11511 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11512 programs. It's a very simple library, and, at the moment, only supports
11513 non-RLE encoded forms of the files.")
11514 (license license:expat))))
11515
11516 (define-public cl-tga
11517 (sbcl-package->cl-source-package sbcl-cl-tga))
11518
11519 (define-public ecl-cl-tga
11520 (sbcl-package->ecl-package sbcl-cl-tga))
11521
11522 (define-public sbcl-com.gigamonkeys.binary-data
11523 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11524 (revision "0"))
11525 (package
11526 (name "sbcl-com.gigamonkeys.binary-data")
11527 (version (git-version "0.0.0" revision commit))
11528 (source
11529 (origin
11530 (method git-fetch)
11531 (uri (git-reference
11532 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11533 (commit commit)))
11534 (file-name (git-file-name name version))
11535 (sha256
11536 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11537 (build-system asdf-build-system/sbcl)
11538 (inputs
11539 `(("alexandria" ,sbcl-alexandria)))
11540 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11541 (synopsis "Common Lisp library for reading and writing binary data")
11542 (description
11543 "This a Common Lisp library for reading and writing binary data. It is
11544 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11545 (license license:bsd-3))))
11546
11547 (define-public cl-com.gigamonkeys.binary-data
11548 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11549
11550 (define-public ecl-com.gigamonkeys.binary-data
11551 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11552
11553 (define-public sbcl-deflate
11554 (package
11555 (name "sbcl-deflate")
11556 (version "1.0.3")
11557 (source
11558 (origin
11559 (method git-fetch)
11560 (uri (git-reference
11561 (url "https://github.com/pmai/Deflate")
11562 (commit (string-append "release-" version))))
11563 (file-name (git-file-name name version))
11564 (sha256
11565 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11566 (build-system asdf-build-system/sbcl)
11567 (home-page "https://github.com/pmai/Deflate")
11568 (synopsis "Native deflate decompression for Common Lisp")
11569 (description
11570 "This library is an implementation of Deflate (RFC 1951) decompression,
11571 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11572 wrappers of deflate streams. It currently does not handle compression.")
11573 (license license:expat)))
11574
11575 (define-public cl-deflate
11576 (sbcl-package->cl-source-package sbcl-deflate))
11577
11578 (define-public ecl-deflate
11579 (sbcl-package->ecl-package sbcl-deflate))
11580
11581 (define-public sbcl-skippy
11582 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11583 (revision "0"))
11584 (package
11585 (name "sbcl-skippy")
11586 (version (git-version "1.3.12" revision commit))
11587 (source
11588 (origin
11589 (method git-fetch)
11590 (uri (git-reference
11591 (url "https://github.com/xach/skippy")
11592 (commit commit)))
11593 (file-name (git-file-name name version))
11594 (sha256
11595 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11596 (build-system asdf-build-system/sbcl)
11597 (home-page "https://xach.com/lisp/skippy/")
11598 (synopsis "Common Lisp library for GIF images")
11599 (description
11600 "Skippy is a Common Lisp library to read and write GIF image files.")
11601 (license license:bsd-2))))
11602
11603 (define-public cl-skippy
11604 (sbcl-package->cl-source-package sbcl-skippy))
11605
11606 (define-public ecl-skippy
11607 (sbcl-package->ecl-package sbcl-skippy))
11608
11609 (define-public sbcl-cl-freetype2
11610 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11611 (revision "0"))
11612 (package
11613 (name "sbcl-cl-freetype2")
11614 (version (git-version "1.1" revision commit))
11615 (source
11616 (origin
11617 (method git-fetch)
11618 (uri (git-reference
11619 (url "https://github.com/rpav/cl-freetype2")
11620 (commit commit)))
11621 (file-name (git-file-name name version))
11622 (sha256
11623 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11624 (build-system asdf-build-system/sbcl)
11625 (native-inputs
11626 `(("fiveam" ,sbcl-fiveam)))
11627 (inputs
11628 `(("alexandria" ,sbcl-alexandria)
11629 ("cffi" ,sbcl-cffi)
11630 ("freetype" ,freetype)
11631 ("trivial-garbage" ,sbcl-trivial-garbage)))
11632 (arguments
11633 `(#:phases
11634 (modify-phases %standard-phases
11635 (add-after 'unpack 'fix-paths
11636 (lambda* (#:key inputs #:allow-other-keys)
11637 (substitute* "src/ffi/ft2-lib.lisp"
11638 (("\"libfreetype\"")
11639 (string-append "\"" (assoc-ref inputs "freetype")
11640 "/lib/libfreetype\"")))
11641 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11642 (("-I/usr/include/freetype")
11643 (string-append "-I" (assoc-ref inputs "freetype")
11644 "/include/freetype")))
11645 #t)))))
11646 (home-page "https://github.com/rpav/cl-freetype2")
11647 (synopsis "Common Lisp bindings for Freetype 2")
11648 (description
11649 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11650 geared toward both using Freetype directly by providing a simplified API, as
11651 well as providing access to the underlying C structures and functions for use
11652 with other libraries which may also use Freetype.")
11653 (license license:bsd-3))))
11654
11655 (define-public cl-freetype2
11656 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11657
11658 (define-public ecl-cl-freetype2
11659 (sbcl-package->ecl-package sbcl-cl-freetype2))
11660
11661 (define-public sbcl-opticl-core
11662 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11663 (revision "0"))
11664 (package
11665 (name "sbcl-opticl-core")
11666 (version (git-version "0.0.0" revision commit))
11667 (source
11668 (origin
11669 (method git-fetch)
11670 (uri (git-reference
11671 (url "https://github.com/slyrus/opticl-core")
11672 (commit commit)))
11673 (file-name (git-file-name name version))
11674 (sha256
11675 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11676 (build-system asdf-build-system/sbcl)
11677 (inputs
11678 `(("alexandria" ,sbcl-alexandria)))
11679 (home-page "https://github.com/slyrus/opticl-core")
11680 (synopsis "Core classes and pixel access macros for Opticl")
11681 (description
11682 "This Common Lisp library contains the core classes and pixel access
11683 macros for the Opticl image processing library.")
11684 (license license:bsd-2))))
11685
11686 (define-public cl-opticl-core
11687 (sbcl-package->cl-source-package sbcl-opticl-core))
11688
11689 (define-public ecl-opticl-core
11690 (sbcl-package->ecl-package sbcl-opticl-core))
11691
11692 (define-public sbcl-retrospectiff
11693 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11694 (revision "0"))
11695 (package
11696 (name "sbcl-retrospectiff")
11697 (version (git-version "0.2" revision commit))
11698 (source
11699 (origin
11700 (method git-fetch)
11701 (uri (git-reference
11702 (url "https://github.com/slyrus/retrospectiff")
11703 (commit commit)))
11704 (file-name (git-file-name name version))
11705 (sha256
11706 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11707 (build-system asdf-build-system/sbcl)
11708 (native-inputs
11709 `(("fiveam" ,sbcl-fiveam)))
11710 (inputs
11711 `(("cl-jpeg" ,sbcl-cl-jpeg)
11712 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11713 ("deflate" ,sbcl-deflate)
11714 ("flexi-streams" ,sbcl-flexi-streams)
11715 ("ieee-floats" ,sbcl-ieee-floats)
11716 ("opticl-core" ,sbcl-opticl-core)))
11717 (home-page "https://github.com/slyrus/retrospectiff")
11718 (synopsis "Common Lisp library for TIFF images")
11719 (description
11720 "Retrospectiff is a common lisp library for reading and writing images
11721 in the TIFF (Tagged Image File Format) format.")
11722 (license license:bsd-2))))
11723
11724 (define-public cl-retrospectif
11725 (sbcl-package->cl-source-package sbcl-retrospectiff))
11726
11727 (define-public ecl-retrospectiff
11728 (sbcl-package->ecl-package sbcl-retrospectiff))
11729
11730 (define-public sbcl-mmap
11731 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11732 (revision "0"))
11733 (package
11734 (name "sbcl-mmap")
11735 (version (git-version "1.0.0" revision commit))
11736 (source
11737 (origin
11738 (method git-fetch)
11739 (uri (git-reference
11740 (url "https://github.com/Shinmera/mmap")
11741 (commit commit)))
11742 (file-name (git-file-name name version))
11743 (sha256
11744 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11745 (build-system asdf-build-system/sbcl)
11746 (native-inputs
11747 `(("alexandria" ,sbcl-alexandria)
11748 ("cffi" ,sbcl-cffi)
11749 ("parachute" ,sbcl-parachute)
11750 ("trivial-features" ,sbcl-trivial-features)))
11751 (inputs
11752 `(("cffi" ,sbcl-cffi)
11753 ("documentation-utils" ,sbcl-documentation-utils)))
11754 (home-page "https://shinmera.github.io/mmap/")
11755 (synopsis "File memory mapping for Common Lisp")
11756 (description
11757 "This is a utility library providing access to the @emph{mmap} family of
11758 functions in a portable way. It allows you to directly map a file into the
11759 address space of your process without having to manually read it into memory
11760 sequentially. Typically this is much more efficient for files that are larger
11761 than a few Kb.")
11762 (license license:zlib))))
11763
11764 (define-public cl-mmap
11765 (sbcl-package->cl-source-package sbcl-mmap))
11766
11767 (define-public ecl-mmap
11768 (sbcl-package->ecl-package sbcl-mmap))
11769
11770 (define-public sbcl-3bz
11771 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11772 (revision "1"))
11773 (package
11774 (name "sbcl-3bz")
11775 (version (git-version "0.0.0" revision commit))
11776 (source
11777 (origin
11778 (method git-fetch)
11779 (uri (git-reference
11780 (url "https://github.com/3b/3bz")
11781 (commit commit)))
11782 (file-name (git-file-name name version))
11783 (sha256
11784 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11785 (build-system asdf-build-system/sbcl)
11786 (inputs
11787 `(("alexandria" ,sbcl-alexandria)
11788 ("babel" ,sbcl-babel)
11789 ("cffi" ,sbcl-cffi)
11790 ("mmap" ,sbcl-mmap)
11791 ("nibbles" ,sbcl-nibbles)
11792 ("trivial-features" ,sbcl-trivial-features)))
11793 (arguments
11794 ;; FIXME: #41437 - Build fails when package name starts from a digit
11795 `(#:asd-systems '("3bz")))
11796 (home-page "https://github.com/3b/3bz")
11797 (synopsis "Deflate decompression for Common Lisp")
11798 (description
11799 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11800 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11801 foreign pointers (for use with mmap and similar, etc), and from CL octet
11802 vectors and streams.")
11803 (license license:expat))))
11804
11805 (define-public cl-3bz
11806 (sbcl-package->cl-source-package sbcl-3bz))
11807
11808 (define-public ecl-3bz
11809 (sbcl-package->ecl-package sbcl-3bz))
11810
11811 (define-public sbcl-zpb-exif
11812 (package
11813 (name "sbcl-zpb-exif")
11814 (version "1.2.4")
11815 (source
11816 (origin
11817 (method git-fetch)
11818 (uri (git-reference
11819 (url "https://github.com/xach/zpb-exif")
11820 (commit (string-append "release-" version))))
11821 (file-name (git-file-name name version))
11822 (sha256
11823 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11824 (build-system asdf-build-system/sbcl)
11825 (home-page "https://xach.com/lisp/zpb-exif/")
11826 (synopsis "EXIF information extractor for Common Lisp")
11827 (description
11828 "This is a Common Lisp library to extract EXIF information from image
11829 files.")
11830 (license license:bsd-2)))
11831
11832 (define-public cl-zpb-exif
11833 (sbcl-package->cl-source-package sbcl-zpb-exif))
11834
11835 (define-public ecl-zpb-exif
11836 (sbcl-package->ecl-package sbcl-zpb-exif))
11837
11838 (define-public sbcl-pngload
11839 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
11840 (revision "2"))
11841 (package
11842 (name "sbcl-pngload")
11843 (version (git-version "2.0.0" revision commit))
11844 (source
11845 (origin
11846 (method git-fetch)
11847 (uri (git-reference
11848 (url "https://git.mfiano.net/mfiano/pngload.git")
11849 (commit commit)))
11850 (file-name (git-file-name "pngload" version))
11851 (sha256
11852 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
11853 (build-system asdf-build-system/sbcl)
11854 (inputs
11855 `(("3bz" ,sbcl-3bz)
11856 ("alexandria" ,sbcl-alexandria)
11857 ("cffi" ,sbcl-cffi)
11858 ("mmap" ,sbcl-mmap)
11859 ("parse-float" ,sbcl-parse-float)
11860 ("static-vectors" ,sbcl-static-vectors)
11861 ("swap-bytes" ,sbcl-swap-bytes)
11862 ("zpb-exif" ,sbcl-zpb-exif)))
11863 (arguments
11864 ;; Test suite disabled because of a dependency cycle.
11865 ;; pngload tests depend on opticl which depends on pngload.
11866 '(#:tests? #f))
11867 (home-page "https://git.mfiano.net/mfiano/pngload.git")
11868 (synopsis "PNG image decoder for Common Lisp")
11869 (description
11870 "This is a Common Lisp library to load images in the PNG image format,
11871 both from files on disk, or streams in memory.")
11872 (license license:expat))))
11873
11874 (define-public cl-pngload
11875 (sbcl-package->cl-source-package sbcl-pngload))
11876
11877 (define-public ecl-pngload
11878 (sbcl-package->ecl-package sbcl-pngload))
11879
11880 (define-public sbcl-opticl
11881 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11882 (revision "0"))
11883 (package
11884 (name "sbcl-opticl")
11885 (version (git-version "0.0.0" revision commit))
11886 (source
11887 (origin
11888 (method git-fetch)
11889 (uri (git-reference
11890 (url "https://github.com/slyrus/opticl")
11891 (commit commit)))
11892 (file-name (git-file-name name version))
11893 (sha256
11894 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11895 (build-system asdf-build-system/sbcl)
11896 (native-inputs
11897 `(("fiveam" ,sbcl-fiveam)))
11898 (inputs
11899 `(("alexandria" ,sbcl-alexandria)
11900 ("cl-jpeg" ,sbcl-cl-jpeg)
11901 ("cl-tga" ,sbcl-cl-tga)
11902 ("png-read" ,sbcl-png-read)
11903 ("pngload" ,sbcl-pngload)
11904 ("retrospectiff" ,sbcl-retrospectiff)
11905 ("skippy" ,sbcl-skippy)
11906 ("zpng" ,sbcl-zpng)))
11907 (arguments
11908 '(#:asd-files '("opticl.asd")))
11909 (home-page "https://github.com/slyrus/opticl")
11910 (synopsis "Image processing library for Common Lisp")
11911 (description
11912 "Opticl is a Common Lisp library for representing, processing, loading,
11913 and saving 2-dimensional pixel-based images.")
11914 (license license:bsd-2))))
11915
11916 (define-public cl-opticl
11917 (sbcl-package->cl-source-package sbcl-opticl))
11918
11919 (define-public ecl-opticl
11920 (sbcl-package->ecl-package sbcl-opticl))
11921
11922 (define-public sbcl-mcclim
11923 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11924 (revision "1"))
11925 (package
11926 (name "sbcl-mcclim")
11927 (version (git-version "0.9.7" revision commit))
11928 (source
11929 (origin
11930 (method git-fetch)
11931 (uri (git-reference
11932 (url "https://github.com/mcclim/mcclim")
11933 (commit commit)))
11934 (file-name (git-file-name name version))
11935 (sha256
11936 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11937 (build-system asdf-build-system/sbcl)
11938 (native-inputs
11939 `(("fiveam" ,sbcl-fiveam)
11940 ("pkg-config" ,pkg-config)))
11941 (inputs
11942 `(("alexandria" ,sbcl-alexandria)
11943 ("babel" ,sbcl-babel)
11944 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11945 ("cl-freetype2" ,sbcl-cl-freetype2)
11946 ("cl-pdf" ,sbcl-cl-pdf)
11947 ("cffi" ,sbcl-cffi)
11948 ("cl-unicode" ,sbcl-cl-unicode)
11949 ("cl-vectors" ,sbcl-cl-vectors)
11950 ("closer-mop" ,sbcl-closer-mop)
11951 ("clx" ,sbcl-clx)
11952 ("flexi-streams" ,sbcl-flexi-streams)
11953 ("flexichain" ,sbcl-flexichain)
11954 ("font-dejavu" ,font-dejavu)
11955 ("fontconfig" ,fontconfig)
11956 ("freetype" ,freetype)
11957 ("harfbuzz" ,harfbuzz)
11958 ("log4cl" ,sbcl-log4cl)
11959 ("opticl" ,sbcl-opticl)
11960 ("spatial-trees" ,sbcl-spatial-trees)
11961 ("swank" ,sbcl-slime-swank)
11962 ("trivial-features" ,sbcl-trivial-features)
11963 ("trivial-garbage" ,sbcl-trivial-garbage)
11964 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11965 ("zpb-ttf" ,sbcl-zpb-ttf)))
11966 (arguments
11967 '(#:asd-systems '("mcclim"
11968 "clim-examples")
11969 #:phases
11970 (modify-phases %standard-phases
11971 (add-after 'unpack 'fix-paths
11972 (lambda* (#:key inputs #:allow-other-keys)
11973 ;; mcclim-truetype uses DejaVu as default font and
11974 ;; sets the path at build time.
11975 (substitute* "Extensions/fonts/fontconfig.lisp"
11976 (("/usr/share/fonts/truetype/dejavu/")
11977 (string-append (assoc-ref inputs "font-dejavu")
11978 "/share/fonts/truetype/")))
11979 (substitute* "Extensions/fontconfig/src/functions.lisp"
11980 (("libfontconfig\\.so")
11981 (string-append (assoc-ref inputs "fontconfig")
11982 "/lib/libfontconfig.so")))
11983 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11984 (("libharfbuzz\\.so")
11985 (string-append (assoc-ref inputs "harfbuzz")
11986 "/lib/libharfbuzz.so")))
11987 #t))
11988 (add-after 'unpack 'fix-build
11989 (lambda _
11990 ;; The cffi-grovel system does not get loaded automatically,
11991 ;; so we load it explicitly.
11992 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11993 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11994 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11995 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11996 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11997 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11998 #t)))))
11999 (home-page "https://common-lisp.net/project/mcclim/")
12000 (synopsis "Common Lisp GUI toolkit")
12001 (description
12002 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12003 specification}, a toolkit for writing GUIs in Common Lisp.")
12004 (license license:lgpl2.1+))))
12005
12006 (define-public cl-mcclim
12007 (sbcl-package->cl-source-package sbcl-mcclim))
12008
12009 (define-public ecl-mcclim
12010 (sbcl-package->ecl-package sbcl-mcclim))
12011
12012 (define-public sbcl-cl-inflector
12013 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
12014 (revision "1"))
12015 (package
12016 (name "sbcl-cl-inflector")
12017 (version (git-version "0.2" revision commit))
12018 (source
12019 (origin
12020 (method git-fetch)
12021 (uri (git-reference
12022 (url "https://github.com/AccelerationNet/cl-inflector")
12023 (commit commit)))
12024 (file-name (git-file-name name version))
12025 (sha256
12026 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
12027 (build-system asdf-build-system/sbcl)
12028 (native-inputs
12029 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12030 (inputs
12031 `(("alexandria" ,sbcl-alexandria)
12032 ("cl-ppcre" ,sbcl-cl-ppcre)))
12033 (home-page "https://github.com/AccelerationNet/cl-inflector")
12034 (synopsis "Library to pluralize/singularize English and Portuguese words")
12035 (description
12036 "This is a common lisp library to easily pluralize and singularize
12037 English and Portuguese words. This is a port of the ruby ActiveSupport
12038 Inflector module.")
12039 (license license:expat))))
12040
12041 (define-public cl-inflector
12042 (sbcl-package->cl-source-package sbcl-cl-inflector))
12043
12044 (define-public ecl-cl-inflector
12045 (sbcl-package->ecl-package sbcl-cl-inflector))
12046
12047 (define-public sbcl-ixf
12048 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
12049 (revision "1"))
12050 (package
12051 (name "sbcl-ixf")
12052 (version (git-version "0.1.0" revision commit))
12053 (source
12054 (origin
12055 (method git-fetch)
12056 (uri (git-reference
12057 (url "https://github.com/dimitri/cl-ixf")
12058 (commit commit)))
12059 (file-name (git-file-name "cl-ixf" version))
12060 (sha256
12061 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
12062 (build-system asdf-build-system/sbcl)
12063 (inputs
12064 `(("alexandria" ,sbcl-alexandria)
12065 ("babel" ,sbcl-babel)
12066 ("cl-ppcre" ,sbcl-cl-ppcre)
12067 ("ieee-floats" ,sbcl-ieee-floats)
12068 ("local-time" ,sbcl-local-time)
12069 ("md5" ,sbcl-md5)
12070 ("split-sequence" ,sbcl-split-sequence)))
12071 (home-page "https://github.com/dimitri/cl-ixf")
12072 (synopsis "Parse IBM IXF file format")
12073 (description
12074 "This is a Common Lisp library to handle the IBM PC version of the IXF
12075 (Integration Exchange Format) file format.")
12076 (license license:public-domain))))
12077
12078 (define-public ecl-ixf
12079 (sbcl-package->ecl-package sbcl-ixf))
12080
12081 (define-public cl-ixf
12082 (sbcl-package->cl-source-package sbcl-ixf))
12083
12084 (define-public sbcl-qbase64
12085 (package
12086 (name "sbcl-qbase64")
12087 (version "0.3.0")
12088 (source
12089 (origin
12090 (method git-fetch)
12091 (uri (git-reference
12092 (url "https://github.com/chaitanyagupta/qbase64")
12093 (commit version)))
12094 (file-name (git-file-name name version))
12095 (sha256
12096 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
12097 (build-system asdf-build-system/sbcl)
12098 (inputs
12099 `(("metabang-bind" ,sbcl-metabang-bind)
12100 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12101 (native-inputs
12102 `(("fiveam" ,sbcl-fiveam)))
12103 (home-page "https://github.com/chaitanyagupta/qbase64")
12104 (synopsis "Base64 encoder and decoder for Common Lisp")
12105 (description "@code{qbase64} provides a fast and flexible base64 encoder
12106 and decoder for Common Lisp.")
12107 (license license:bsd-3)))
12108
12109 (define-public cl-qbase64
12110 (sbcl-package->cl-source-package sbcl-qbase64))
12111
12112 (define-public ecl-qbase64
12113 (sbcl-package->ecl-package sbcl-qbase64))
12114
12115 (define-public sbcl-lw-compat
12116 ;; No release since 2013.
12117 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
12118 (package
12119 (name "sbcl-lw-compat")
12120 (version (git-version "1.0.0" "1" commit))
12121 (source
12122 (origin
12123 (method git-fetch)
12124 (uri (git-reference
12125 (url "https://github.com/pcostanza/lw-compat/")
12126 (commit commit)))
12127 (file-name (git-file-name name version))
12128 (sha256
12129 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
12130 (build-system asdf-build-system/sbcl)
12131 (home-page "https://github.com/pcostanza/lw-compat/")
12132 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
12133 (description "This package contains a few utility functions from the
12134 LispWorks library that are used in software such as ContextL.")
12135 (license license:expat))))
12136
12137 (define-public cl-lw-compat
12138 (sbcl-package->cl-source-package sbcl-lw-compat))
12139
12140 (define-public ecl-lw-compat
12141 (sbcl-package->ecl-package sbcl-lw-compat))
12142
12143 (define-public sbcl-contextl
12144 ;; No release since 2013.
12145 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
12146 (package
12147 (name "sbcl-contextl")
12148 (version (git-version "1.0.0" "1" commit))
12149 (source
12150 (origin
12151 (method git-fetch)
12152 (uri (git-reference
12153 (url "https://github.com/pcostanza/contextl/")
12154 (commit commit)))
12155 (file-name (git-file-name name version))
12156 (sha256
12157 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
12158 (build-system asdf-build-system/sbcl)
12159 (inputs
12160 `(("closer-mop" ,sbcl-closer-mop)
12161 ("lw-compat" ,sbcl-lw-compat)))
12162 (home-page "https://github.com/pcostanza/contextl")
12163 (synopsis "Context-oriented programming for Common Lisp")
12164 (description "ContextL is a CLOS extension for Context-Oriented
12165 Programming (COP).
12166
12167 Find overview of ContextL's features in an overview paper:
12168 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
12169 overview article about COP which also contains some ContextL examples:
12170 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
12171 (license license:expat))))
12172
12173 (define-public cl-contextl
12174 (sbcl-package->cl-source-package sbcl-contextl))
12175
12176 (define-public ecl-contextl
12177 (sbcl-package->ecl-package sbcl-contextl))
12178
12179 (define-public sbcl-hu.dwim.common-lisp
12180 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
12181 (package
12182 (name "sbcl-hu.dwim.common-lisp")
12183 (version "2021-01-27")
12184 (source
12185 (origin
12186 (method git-fetch)
12187 (uri (git-reference
12188 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
12189 (commit commit)))
12190 (file-name (git-file-name name version))
12191 (sha256
12192 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
12193 (build-system asdf-build-system/sbcl)
12194 (native-inputs
12195 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12196 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
12197 (synopsis "Redefine some standard Common Lisp names")
12198 (description "This library is a redefinition of the standard Common Lisp
12199 package that includes a number of renames and shadows. ")
12200 (license license:public-domain))))
12201
12202 (define-public cl-hu.dwim.common-lisp
12203 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12204
12205 (define-public ecl-hu.dwim.common-lisp
12206 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
12207
12208 (define-public sbcl-hu.dwim.common
12209 (package
12210 (name "sbcl-hu.dwim.common")
12211 (version "2015-07-09")
12212 (source
12213 (origin
12214 (method url-fetch)
12215 (uri (string-append
12216 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12217 version "/hu.dwim.common-"
12218 (string-replace-substring version "-" "")
12219 "-darcs.tgz"))
12220 (sha256
12221 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12222 (build-system asdf-build-system/sbcl)
12223 (native-inputs
12224 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12225 (inputs
12226 `(("alexandria" ,sbcl-alexandria)
12227 ("anaphora" ,sbcl-anaphora)
12228 ("closer-mop" ,sbcl-closer-mop)
12229 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12230 ("iterate" ,sbcl-iterate)
12231 ("metabang-bind" ,sbcl-metabang-bind)))
12232 (home-page "http://dwim.hu/")
12233 (synopsis "Common Lisp library shared by other hu.dwim systems")
12234 (description "This package contains a support library for other
12235 hu.dwim systems.")
12236 (license license:public-domain)))
12237
12238 (define-public cl-hu.dwim.common
12239 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12240
12241 (define-public ecl-hu.dwim.common
12242 (sbcl-package->ecl-package sbcl-hu.dwim.common))
12243
12244 (define-public sbcl-hu.dwim.defclass-star
12245 (let ((commit "3086878a485074f9b2913c58267a9b764cd632fd"))
12246 (package
12247 (name "sbcl-hu.dwim.defclass-star")
12248 ;; We used to set version from the date when it was a darcs repo, so we
12249 ;; keep the year so that package gets updated on previous installs.
12250 (version (git-version "2021" "2" commit))
12251 (source
12252 (origin
12253 (method git-fetch)
12254 (uri (git-reference
12255 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12256 (commit commit)))
12257 (file-name (git-file-name name version))
12258 (sha256
12259 (base32 "19ipds9r71qymfdp4izg0l7zmvinp06adr8rdalhaq7v7mzpg83z"))))
12260 (build-system asdf-build-system/sbcl)
12261 (native-inputs
12262 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12263 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12264 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12265 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12266 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12267 (arguments
12268 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12269 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12270 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12271 #:tests? #f))
12272 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12273 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12274 (description "@code{defclass-star} provides defclass* and defcondition* to
12275 simplify class and condition declarations. Features include:
12276
12277 @itemize
12278 @item Automatically export all or select slots at compile time.
12279 @item Define the @code{:initarg} and @code{:accessor} automatically.
12280 @item Specify a name transformer for both the @code{:initarg} and
12281 @code{:accessor}, etc.
12282 @item Specify the @code{:initform} as second slot value.
12283 @end itemize
12284
12285 See
12286 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12287 for an example.")
12288 (license license:public-domain))))
12289
12290 (define-public cl-hu.dwim.defclass-star
12291 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12292
12293 (define-public ecl-hu.dwim.defclass-star
12294 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12295
12296 (define-public sbcl-livesupport
12297 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12298 (revision "1"))
12299 (package
12300 (name "sbcl-livesupport")
12301 (version (git-version "0.0.0" revision commit))
12302 (source
12303 (origin
12304 (method git-fetch)
12305 (uri (git-reference
12306 (url "https://github.com/cbaggers/livesupport")
12307 (commit commit)))
12308 (file-name (git-file-name name version))
12309 (sha256
12310 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12311 (build-system asdf-build-system/sbcl)
12312 (home-page "https://github.com/cbaggers/livesupport")
12313 (synopsis "Some helpers that make livecoding a little easier")
12314 (description "This package provides a macro commonly used in livecoding to
12315 enable continuing when errors are raised. Simply wrap around a chunk of code
12316 and it provides a restart called @code{continue} which ignores the error and
12317 carrys on from the end of the body.")
12318 (license license:bsd-2))))
12319
12320 (define-public cl-livesupport
12321 (sbcl-package->cl-source-package sbcl-livesupport))
12322
12323 (define-public ecl-livesupport
12324 (sbcl-package->ecl-package sbcl-livesupport))
12325
12326 (define-public sbcl-envy
12327 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12328 (revision "1"))
12329 (package
12330 (name "sbcl-envy")
12331 (version (git-version "0.1" revision commit))
12332 (home-page "https://github.com/fukamachi/envy")
12333 (source
12334 (origin
12335 (method git-fetch)
12336 (uri (git-reference
12337 (url home-page)
12338 (commit commit)))
12339 (file-name (git-file-name name version))
12340 (sha256
12341 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12342 (build-system asdf-build-system/sbcl)
12343 ;; (native-inputs ; Only for tests.
12344 ;; `(("prove" ,sbcl-prove)
12345 ;; ("osicat" ,sbcl-osicat)))
12346 (arguments
12347 '(#:phases
12348 (modify-phases %standard-phases
12349 (add-after 'unpack 'fix-tests
12350 (lambda _
12351 (substitute* "envy-test.asd"
12352 (("cl-test-more") "prove"))
12353 #t)))
12354 ;; Tests fail with
12355 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12356 ;; like xsubseq. Why?
12357 #:tests? #f))
12358 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12359 (description "Envy is a configuration manager for various applications.
12360 Envy uses an environment variable to determine a configuration to use. This
12361 can separate configuration system from an implementation.")
12362 (license license:bsd-2))))
12363
12364 (define-public cl-envy
12365 (sbcl-package->cl-source-package sbcl-envy))
12366
12367 (define-public ecl-envy
12368 (sbcl-package->ecl-package sbcl-envy))
12369
12370 (define-public sbcl-mito
12371 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12372 (revision "1"))
12373 (package
12374 (name "sbcl-mito")
12375 (version (git-version "0.1" revision commit))
12376 (home-page "https://github.com/fukamachi/mito")
12377 (source
12378 (origin
12379 (method git-fetch)
12380 (uri (git-reference
12381 (url home-page)
12382 (commit commit)))
12383 (file-name (git-file-name name version))
12384 (sha256
12385 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12386 (build-system asdf-build-system/sbcl)
12387 (native-inputs
12388 `(("prove" ,sbcl-prove)))
12389 (inputs
12390 `(("alexandria" ,sbcl-alexandria)
12391 ("cl-ppcre" ,sbcl-cl-ppcre)
12392 ("cl-reexport" ,sbcl-cl-reexport)
12393 ("closer-mop" ,sbcl-closer-mop)
12394 ("dbi" ,sbcl-dbi)
12395 ("dissect" ,sbcl-dissect)
12396 ("esrap" ,sbcl-esrap)
12397 ("local-time" ,sbcl-local-time)
12398 ("optima" ,sbcl-optima)
12399 ("sxql" ,sbcl-sxql)
12400 ("uuid" ,sbcl-uuid)))
12401 (arguments
12402 '(#:phases
12403 (modify-phases %standard-phases
12404 (add-after 'unpack 'remove-non-functional-tests
12405 (lambda _
12406 (substitute* "mito-test.asd"
12407 (("\\(:test-file \"db/mysql\"\\)") "")
12408 (("\\(:test-file \"db/postgres\"\\)") "")
12409 (("\\(:test-file \"dao\"\\)") "")
12410 ;; TODO: migration/sqlite3 should work, re-enable once
12411 ;; upstream has fixed it:
12412 ;; https://github.com/fukamachi/mito/issues/70
12413 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12414 (("\\(:test-file \"migration/mysql\"\\)") "")
12415 (("\\(:test-file \"migration/postgres\"\\)") "")
12416 (("\\(:test-file \"postgres-types\"\\)") "")
12417 (("\\(:test-file \"mixin\"\\)") ""))
12418 #t)))
12419 ;; TODO: While all enabled tests pass, the phase fails with:
12420 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12421 #:tests? #f))
12422 (synopsis "ORM for Common Lisp with migrations and relationships support")
12423 (description "Mito is yet another object relational mapper, and it aims
12424 to be a successor of Integral.
12425
12426 @itemize
12427 @item Support MySQL, PostgreSQL and SQLite3.
12428 @item Add id (serial/uuid primary key), created_at and updated_at by default
12429 like Ruby's ActiveRecord.
12430 @item Migrations.
12431 @item Database schema versioning.
12432 @end itemize\n")
12433 (license license:llgpl))))
12434
12435 (define-public cl-mito
12436 (sbcl-package->cl-source-package sbcl-mito))
12437
12438 (define-public ecl-mito
12439 (sbcl-package->ecl-package sbcl-mito))
12440
12441 (define-public sbcl-kebab
12442 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12443 (revision "1"))
12444 (package
12445 (name "sbcl-kebab")
12446 (version (git-version "0.1" revision commit))
12447 (home-page "https://github.com/pocket7878/kebab")
12448 (source
12449 (origin
12450 (method git-fetch)
12451 (uri (git-reference
12452 (url home-page)
12453 (commit commit)))
12454 (file-name (git-file-name name version))
12455 (sha256
12456 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12457 (build-system asdf-build-system/sbcl)
12458 (inputs
12459 `(("cl-ppcre" ,sbcl-cl-ppcre)
12460 ("alexandria" ,sbcl-alexandria)
12461 ("cl-interpol" ,sbcl-cl-interpol)
12462 ("split-sequence" ,sbcl-split-sequence)))
12463 (native-inputs
12464 `(("prove" ,sbcl-prove)))
12465 (arguments
12466 ;; Tests passes but the phase fails with
12467 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12468 `(#:tests? #f))
12469 (synopsis "Common Lisp case converter")
12470 (description "This Common Lisp library converts strings, symbols and
12471 keywords between any of the following typographical cases: PascalCase,
12472 camelCase, snake_case, kebab-case (lisp-case).")
12473 (license license:llgpl))))
12474
12475 (define-public cl-kebab
12476 (sbcl-package->cl-source-package sbcl-kebab))
12477
12478 (define-public ecl-kebab
12479 (sbcl-package->ecl-package sbcl-kebab))
12480
12481 (define-public sbcl-datafly
12482 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12483 (revision "1"))
12484 (package
12485 (name "sbcl-datafly")
12486 (version (git-version "0.1" revision commit))
12487 (home-page "https://github.com/fukamachi/datafly")
12488 (source
12489 (origin
12490 (method git-fetch)
12491 (uri (git-reference
12492 (url home-page)
12493 (commit commit)))
12494 (file-name (git-file-name name version))
12495 (sha256
12496 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12497 (build-system asdf-build-system/sbcl)
12498 (inputs
12499 `(("alexandria" ,sbcl-alexandria)
12500 ("iterate" ,sbcl-iterate)
12501 ("optima" ,sbcl-optima)
12502 ("trivial-types" ,sbcl-trivial-types)
12503 ("closer-mop" ,sbcl-closer-mop)
12504 ("cl-syntax" ,sbcl-cl-syntax)
12505 ("sxql" ,sbcl-sxql)
12506 ("dbi" ,sbcl-dbi)
12507 ("babel" ,sbcl-babel)
12508 ("local-time" ,sbcl-local-time)
12509 ("function-cache" ,sbcl-function-cache)
12510 ("jonathan" ,sbcl-jonathan)
12511 ("kebab" ,sbcl-kebab)
12512 ("log4cl" ,sbcl-log4cl)))
12513 (native-inputs
12514 `(("prove" ,sbcl-prove)))
12515 (arguments
12516 ;; TODO: Tests fail with
12517 ;; While evaluating the form starting at line 22, column 0
12518 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12519 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12520 ;; {10009F8083}>:
12521 ;; Error when binding parameter 1 to value NIL.
12522 ;; Code RANGE: column index out of range.
12523 `(#:tests? #f))
12524 (synopsis "Lightweight database library for Common Lisp")
12525 (description "Datafly is a lightweight database library for Common Lisp.")
12526 (license license:bsd-3))))
12527
12528 (define-public cl-datafly
12529 (sbcl-package->cl-source-package sbcl-datafly))
12530
12531 (define-public ecl-datafly
12532 (sbcl-package->ecl-package sbcl-datafly))
12533
12534 (define-public sbcl-do-urlencode
12535 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12536 (revision "1"))
12537 (package
12538 (name "sbcl-do-urlencode")
12539 (version (git-version "0.0.0" revision commit))
12540 (home-page "https://github.com/drdo/do-urlencode")
12541 (source
12542 (origin
12543 (method git-fetch)
12544 (uri (git-reference
12545 (url home-page)
12546 (commit commit)))
12547 (file-name (git-file-name name version))
12548 (sha256
12549 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12550 (build-system asdf-build-system/sbcl)
12551 (inputs
12552 `(("alexandria" ,sbcl-alexandria)
12553 ("babel" ,sbcl-babel)))
12554 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12555 (description "This library provides trivial percent encoding and
12556 decoding functions for URLs.")
12557 (license license:isc))))
12558
12559 (define-public cl-do-urlencode
12560 (sbcl-package->cl-source-package sbcl-do-urlencode))
12561
12562 (define-public ecl-do-urlencode
12563 (sbcl-package->ecl-package sbcl-do-urlencode))
12564
12565 (define-public sbcl-cl-emb
12566 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12567 (revision "1"))
12568 (package
12569 (name "sbcl-cl-emb")
12570 (version (git-version "0.4.3" revision commit))
12571 (home-page "https://common-lisp.net/project/cl-emb/")
12572 (source
12573 (origin
12574 (method git-fetch)
12575 (uri (git-reference
12576 (url "https://github.com/38a938c2/cl-emb")
12577 (commit commit)))
12578 (file-name (git-file-name name version))
12579 (sha256
12580 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12581 (build-system asdf-build-system/sbcl)
12582 (inputs
12583 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12584 (synopsis "Templating system for Common Lisp")
12585 (description "A mixture of features from eRuby and HTML::Template. You
12586 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12587 that and not limited to a certain server or text format.")
12588 (license license:llgpl))))
12589
12590 (define-public cl-emb
12591 (sbcl-package->cl-source-package sbcl-cl-emb))
12592
12593 (define-public ecl-cl-emb
12594 (sbcl-package->ecl-package sbcl-cl-emb))
12595
12596 (define-public sbcl-cl-project
12597 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12598 (revision "1"))
12599 (package
12600 (name "sbcl-cl-project")
12601 (version (git-version "0.3.1" revision commit))
12602 (home-page "https://github.com/fukamachi/cl-project")
12603 (source
12604 (origin
12605 (method git-fetch)
12606 (uri (git-reference
12607 (url home-page)
12608 (commit commit)))
12609 (file-name (git-file-name name version))
12610 (sha256
12611 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12612 (build-system asdf-build-system/sbcl)
12613 (inputs
12614 `(("cl-emb" ,sbcl-cl-emb)
12615 ("cl-ppcre" ,sbcl-cl-ppcre)
12616 ("local-time" ,sbcl-local-time)
12617 ("prove" ,sbcl-prove)))
12618 (arguments
12619 ;; Tests depend on caveman, which in turns depends on cl-project.
12620 '(#:tests? #f
12621 #:asd-files '("cl-project.asd")))
12622 (synopsis "Generate a skeleton for modern Common Lisp projects")
12623 (description "This library provides a modern project skeleton generator.
12624 In contract with other generators, CL-Project generates one package per file
12625 and encourages unit testing by generating a system for unit testing, so you
12626 can begin writing unit tests as soon as the project is generated.")
12627 (license license:llgpl))))
12628
12629 (define-public cl-project
12630 (sbcl-package->cl-source-package sbcl-cl-project))
12631
12632 (define-public ecl-cl-project
12633 (sbcl-package->ecl-package sbcl-cl-project))
12634
12635 (define-public sbcl-caveman
12636 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12637 (revision "1"))
12638 (package
12639 (name "sbcl-caveman")
12640 (version (git-version "2.4.0" revision commit))
12641 (home-page "http://8arrow.org/caveman/")
12642 (source
12643 (origin
12644 (method git-fetch)
12645 (uri (git-reference
12646 (url "https://github.com/fukamachi/caveman/")
12647 (commit commit)))
12648 (file-name (git-file-name name version))
12649 (sha256
12650 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12651 (build-system asdf-build-system/sbcl)
12652 (inputs
12653 `(("ningle" ,cl-ningle)
12654 ("lack" ,sbcl-lack)
12655 ("cl-project" ,sbcl-cl-project)
12656 ("dbi" ,sbcl-dbi)
12657 ("cl-syntax" ,sbcl-cl-syntax)
12658 ("myway" ,sbcl-myway)
12659 ("quri" ,sbcl-quri)))
12660 (native-inputs
12661 `(("usocket" ,sbcl-usocket)
12662 ("dexador" ,sbcl-dexador)))
12663 (arguments
12664 `(#:asd-files '("caveman2.asd")
12665 #:asd-systems '("caveman2")
12666 #:phases
12667 (modify-phases %standard-phases
12668 (add-after 'unpack 'remove-v1
12669 (lambda _
12670 (delete-file-recursively "v1")
12671 (for-each delete-file
12672 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12673 ;; TODO: Tests fail with:
12674 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12675 ;; While evaluating the form starting at line 38, column 0
12676 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12677 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12678 ;; {10009F8083}>:
12679 ;; Component "myapp573" not found
12680 #:tests? #f))
12681 (synopsis "Lightweight web application framework in Common Lisp")
12682 (description "Caveman is intended to be a collection of common parts for
12683 web applications. Caveman2 has three design goals:
12684
12685 @itemize
12686 @item Be extensible.
12687 @item Be practical.
12688 @item Don't force anything.
12689 @end itemize\n")
12690 (license license:llgpl))))
12691
12692 (define-public cl-caveman
12693 (package
12694 (inherit
12695 (sbcl-package->cl-source-package sbcl-caveman))
12696 (propagated-inputs
12697 `(("ningle" ,cl-ningle)))))
12698
12699 (define-public ecl-caveman
12700 (sbcl-package->ecl-package sbcl-caveman))
12701
12702 (define-public sbcl-lambda-fiddle
12703 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12704 (revision "1"))
12705 (package
12706 (name "sbcl-lambda-fiddle")
12707 (version (git-version "1.0.0" revision commit))
12708 (source
12709 (origin
12710 (method git-fetch)
12711 (uri (git-reference
12712 (url "https://github.com/Shinmera/lambda-fiddle")
12713 (commit commit)))
12714 (file-name (git-file-name name version))
12715 (sha256
12716 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12717 (build-system asdf-build-system/sbcl)
12718 (home-page "https://github.com/Shinmera/lambda-fiddle")
12719 (synopsis "Collection of utilities to process lambda-lists")
12720 (description "This collection of utilities is useful in contexts where
12721 you want a macro that uses lambda-lists in some fashion but need more precise
12722 processing.")
12723 (license license:zlib))))
12724
12725 (define-public cl-lambda-fiddle
12726 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12727
12728 (define-public ecl-lambda-fiddle
12729 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12730
12731 (define-public sbcl-xmls
12732 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12733 (revision "1"))
12734 (package
12735 (name "sbcl-xmls")
12736 (version (git-version "3.0.2" revision commit))
12737 (source
12738 (origin
12739 (method git-fetch)
12740 (uri (git-reference
12741 (url "https://github.com/rpgoldman/xmls")
12742 (commit commit)))
12743 (file-name (git-file-name name version))
12744 (sha256
12745 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12746 (native-inputs
12747 `(("fiveam" ,sbcl-fiveam)))
12748 (build-system asdf-build-system/sbcl)
12749 (home-page "https://github.com/rpgoldman/xmls")
12750 (synopsis "Non-validating XML parser for Common Lisp")
12751 (description "Xmls is a self-contained, easily embedded parser that
12752 recognizes a useful subset of the XML spec. It provides a simple mapping from
12753 XML to Lisp structures or s-expressions and back.")
12754 (license license:bsd-2))))
12755
12756 (define-public cl-xmls
12757 (sbcl-package->cl-source-package sbcl-xmls))
12758
12759 (define-public ecl-xmls
12760 (sbcl-package->ecl-package sbcl-xmls))
12761
12762 (define-public sbcl-geco
12763 (package
12764 (name "sbcl-geco")
12765 (version "2.1.1")
12766 (source
12767 (origin
12768 (method git-fetch)
12769 (uri (git-reference
12770 (url "https://github.com/gpwwjr/GECO")
12771 (commit (string-append "v" version))))
12772 (file-name (git-file-name "geco" version))
12773 (sha256
12774 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12775 (build-system asdf-build-system/sbcl)
12776 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12777 (synopsis "Genetic algorithm toolkit for Common Lisp")
12778 (description
12779 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12780 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12781 (license license:lgpl2.1+)))
12782
12783 (define-public cl-geco
12784 (sbcl-package->cl-source-package sbcl-geco))
12785
12786 (define-public ecl-geco
12787 (sbcl-package->ecl-package sbcl-geco))
12788
12789 (define-public sbcl-html-entities
12790 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12791 (package
12792 (name "sbcl-html-entities")
12793 (version (git-version "0.02" "1" commit))
12794 (source
12795 (origin
12796 (method git-fetch)
12797 (uri (git-reference
12798 (url "https://github.com/BnMcGn/html-entities/")
12799 (commit commit)))
12800 (file-name (git-file-name name version))
12801 (sha256
12802 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12803 (build-system asdf-build-system/sbcl)
12804 (inputs
12805 `(("ppcre" ,sbcl-cl-ppcre)))
12806 (native-inputs
12807 `(("fiveam" ,sbcl-fiveam)))
12808 (home-page "https://github.com/BnMcGn/html-entities/")
12809 (synopsis "Encode and decode entities in HTML with Common Lisp")
12810 (description "Html-entities is a Common Lisp library that lets you
12811 encode and decode entities in HTML.")
12812 (license license:expat))))
12813
12814 (define-public cl-html-entities
12815 (sbcl-package->cl-source-package sbcl-html-entities))
12816
12817 (define-public ecl-html-entities
12818 (sbcl-package->ecl-package sbcl-html-entities))
12819
12820 (define-public sbcl-quicksearch
12821 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12822 (package
12823 (name "sbcl-quicksearch")
12824 (version (git-version "0.01.04" "1" commit))
12825 (source
12826 (origin
12827 (method git-fetch)
12828 (uri (git-reference
12829 (url "https://github.com/tkych/quicksearch/")
12830 (commit commit)))
12831 (file-name (git-file-name name version))
12832 (sha256
12833 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12834 (build-system asdf-build-system/sbcl)
12835 (inputs
12836 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12837 ("iterate" ,sbcl-iterate)
12838 ("alexandria" ,sbcl-alexandria)
12839 ("anaphora" ,sbcl-anaphora)
12840 ("ppcre" ,sbcl-cl-ppcre)
12841 ("drakma" ,sbcl-drakma)
12842 ("html-entities" ,sbcl-html-entities)
12843 ("yason" ,sbcl-yason)
12844 ("flexi-streams" ,sbcl-flexi-streams)
12845 ("do-urlencode" ,sbcl-do-urlencode)))
12846 (home-page "https://github.com/tkych/quicksearch/")
12847 (synopsis "Search Engine Interface for Common Lisp packages")
12848 (description "Quicksearch is a search-engine-interface for Common Lisp.
12849 The goal of Quicksearch is to find the Common Lisp library quickly. For
12850 example, if you will find the library about json, just type @code{(qs:?
12851 'json)} at REPL.
12852
12853 The function @code{quicksearch} searches for Common Lisp projects in
12854 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12855 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12856 (license license:expat))))
12857
12858 (define-public cl-quicksearch
12859 (sbcl-package->cl-source-package sbcl-quicksearch))
12860
12861 (define-public ecl-quicksearch
12862 (sbcl-package->ecl-package sbcl-quicksearch))
12863
12864 (define-public sbcl-agutil
12865 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12866 (package
12867 (name "sbcl-agutil")
12868 (version (git-version "0.0.1" "1" commit))
12869 (source
12870 (origin
12871 (method git-fetch)
12872 (uri (git-reference
12873 (url "https://github.com/alex-gutev/agutil/")
12874 (commit commit)))
12875 (file-name (git-file-name name version))
12876 (sha256
12877 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12878 (build-system asdf-build-system/sbcl)
12879 (inputs
12880 `(("alexandria" ,sbcl-alexandria)
12881 ("trivia" ,sbcl-trivia)))
12882 (home-page "https://github.com/alex-gutev/agutil/")
12883 (synopsis "Collection of Common Lisp utilities")
12884 (description "A collection of Common Lisp utility functions and macros
12885 mostly not found in other utility packages.")
12886 (license license:expat))))
12887
12888 (define-public cl-agutil
12889 (sbcl-package->cl-source-package sbcl-agutil))
12890
12891 (define-public ecl-agutil
12892 (sbcl-package->ecl-package sbcl-agutil))
12893
12894 (define-public sbcl-custom-hash-table
12895 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12896 (package
12897 (name "sbcl-custom-hash-table")
12898 (version (git-version "0.3" "1" commit))
12899 (source
12900 (origin
12901 (method git-fetch)
12902 (uri (git-reference
12903 (url "https://github.com/metawilm/cl-custom-hash-table")
12904 (commit commit)))
12905 (file-name (git-file-name name version))
12906 (sha256
12907 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12908 (build-system asdf-build-system/sbcl)
12909 (arguments
12910 '(#:asd-files '("cl-custom-hash-table.asd")
12911 #:asd-systems '("cl-custom-hash-table")))
12912 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12913 (synopsis "Custom hash tables for Common Lisp")
12914 (description "This library allows creation of hash tables with arbitrary
12915 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12916 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12917 @code{EQUALP}), even in implementations that don't support this functionality
12918 directly.")
12919 (license license:expat))))
12920
12921 (define-public cl-custom-hash-table
12922 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12923
12924 (define-public ecl-custom-hash-table
12925 (sbcl-package->ecl-package sbcl-custom-hash-table))
12926
12927 (define-public sbcl-collectors
12928 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12929 (package
12930 (name "sbcl-collectors")
12931 (version (git-version "0.1" "1" commit))
12932 (source
12933 (origin
12934 (method git-fetch)
12935 (uri (git-reference
12936 (url "https://github.com/AccelerationNet/collectors")
12937 (commit commit)))
12938 (file-name (git-file-name name version))
12939 (sha256
12940 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12941 (build-system asdf-build-system/sbcl)
12942 (inputs
12943 `(("alexandria" ,sbcl-alexandria)
12944 ("closer-mop" ,sbcl-closer-mop)
12945 ("symbol-munger" ,sbcl-symbol-munger)))
12946 (native-inputs
12947 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12948 (home-page "https://github.com/AccelerationNet/collectors/")
12949 (synopsis "Common lisp library providing collector macros")
12950 (description "A small collection of common lisp macros to make
12951 collecting values easier.")
12952 (license license:bsd-3))))
12953
12954 (define-public cl-collectors
12955 (sbcl-package->cl-source-package sbcl-collectors))
12956
12957 (define-public ecl-collectors
12958 (sbcl-package->ecl-package sbcl-collectors))
12959
12960 (define-public sbcl-cl-environments
12961 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12962 (package
12963 (name "sbcl-cl-environments")
12964 (version (git-version "0.2.3" "1" commit))
12965 (source
12966 (origin
12967 (method git-fetch)
12968 (uri (git-reference
12969 (url "https://github.com/alex-gutev/cl-environments")
12970 (commit commit)))
12971 (file-name (git-file-name name version))
12972 (sha256
12973 (base32
12974 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12975 (build-system asdf-build-system/sbcl)
12976 (inputs
12977 `(("alexandria" ,sbcl-alexandria)
12978 ("anaphora" ,sbcl-anaphora)
12979 ("collectors" ,sbcl-collectors)
12980 ("optima" ,sbcl-optima)))
12981 (native-inputs
12982 `(("prove" ,sbcl-prove)))
12983 (home-page "https://github.com/alex-gutev/cl-environments")
12984 (synopsis "Implements the Common Lisp standard environment access API")
12985 (description "This library provides a uniform API, as specified in Common
12986 Lisp the Language 2, for accessing information about variable and function
12987 bindings from implementation-defined lexical environment objects. All major
12988 Common Lisp implementations are supported, even those which don't support the
12989 CLTL2 environment access API.")
12990 (license license:expat))))
12991
12992 (define-public cl-environments
12993 (sbcl-package->cl-source-package sbcl-cl-environments))
12994
12995 (define-public ecl-environments
12996 (sbcl-package->ecl-package sbcl-cl-environments))
12997
12998 (define-public sbcl-static-dispatch
12999 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
13000 (revision "1"))
13001 (package
13002 (name "sbcl-static-dispatch")
13003 (version (git-version "0.3" revision commit))
13004 (source
13005 (origin
13006 (method git-fetch)
13007 (uri (git-reference
13008 (url "https://github.com/alex-gutev/static-dispatch")
13009 (commit commit)))
13010 (file-name (git-file-name "static-dispatch" version))
13011 (sha256
13012 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
13013 (build-system asdf-build-system/sbcl)
13014 (native-inputs
13015 `(("prove" ,sbcl-prove)))
13016 (inputs
13017 `(("agutil" ,sbcl-agutil)
13018 ("alexandria" ,sbcl-alexandria)
13019 ("anaphora" ,sbcl-anaphora)
13020 ("arrows" ,sbcl-arrows)
13021 ("cl-environments" ,sbcl-cl-environments)
13022 ("closer-mop" ,sbcl-closer-mop)
13023 ("iterate" ,sbcl-iterate)
13024 ("trivia" ,sbcl-trivia)))
13025 (home-page "https://github.com/alex-gutev/static-dispatch")
13026 (synopsis "Static generic function dispatch for Common Lisp")
13027 (description "Static dispatch is a Common Lisp library, inspired by
13028 @code{inlined-generic-function}, which allows standard Common Lisp generic
13029 function dispatch to be performed statically (at compile time) rather than
13030 dynamically (runtime). This is similar to what is known as \"overloading\" in
13031 languages such as C++ and Java.
13032
13033 The purpose of static dispatch is to provide an optimization in cases where
13034 the usual dynamic dispatch is too slow, and the dynamic features of generic
13035 functions, such as adding/removing methods at runtime are not required. An
13036 example of such a case is a generic equality comparison function. Currently
13037 generic functions are considered far too slow to implement generic arithmetic
13038 and comparison operations when used heavily in numeric code.")
13039 (license license:expat))))
13040
13041 (define-public cl-static-dispatch
13042 (sbcl-package->cl-source-package sbcl-static-dispatch))
13043
13044 (define-public ecl-static-dispatch
13045 (sbcl-package->ecl-package sbcl-static-dispatch))
13046
13047 (define-public sbcl-generic-cl
13048 ;; Latest commit includes a necessary fix for our Guix build.
13049 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
13050 (package
13051 (name "sbcl-generic-cl")
13052 (version (git-version "0.7.1" "1" commit))
13053 (source
13054 (origin
13055 (method git-fetch)
13056 (uri (git-reference
13057 (url "https://github.com/alex-gutev/generic-cl")
13058 (commit commit)))
13059 (file-name (git-file-name name version))
13060 (sha256
13061 (base32
13062 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
13063 (build-system asdf-build-system/sbcl)
13064 (inputs
13065 `(("agutil" ,sbcl-agutil)
13066 ("alexandria" ,sbcl-alexandria)
13067 ("anaphora" ,sbcl-anaphora)
13068 ("arrows" ,sbcl-arrows)
13069 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
13070 ("static-dispatch" ,sbcl-static-dispatch)
13071 ("trivia" ,sbcl-trivia)))
13072 (native-inputs
13073 `(("prove" ,sbcl-prove)))
13074 (arguments
13075 ;; Tests fail because SBCL head size is not high enough.
13076 ;; https://github.com/alex-gutev/generic-cl/issues/6
13077 `(#:tests? #f))
13078 (home-page "https://alex-gutev.github.io/generic-cl/")
13079 (synopsis "Generic function interface to standard Common Lisp functions")
13080 (description "@code{generic-cl} provides a generic function wrapper over
13081 various functions in the Common Lisp standard, such as equality predicates and
13082 sequence operations. The goal of this wrapper is to provide a standard
13083 interface to common operations, such as testing for the equality of two
13084 objects, which is extensible to user-defined types.")
13085 (license license:expat))))
13086
13087 (define-public cl-generic-cl
13088 (sbcl-package->cl-source-package sbcl-generic-cl))
13089
13090 (define-public ecl-generic-cl
13091 (sbcl-package->ecl-package sbcl-generic-cl))
13092
13093 (define-public sbcl-defpackage-plus
13094 (let ((revision "0")
13095 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
13096 (package
13097 (name "sbcl-defpackage-plus")
13098 (version (git-version "1.0" revision commit))
13099 (source
13100 (origin
13101 (method git-fetch)
13102 (uri (git-reference
13103 (url "https://github.com/rpav/defpackage-plus")
13104 (commit commit)))
13105 (file-name (git-file-name name version))
13106 (sha256
13107 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
13108 (build-system asdf-build-system/sbcl)
13109 (inputs
13110 `(("alexandria" ,sbcl-alexandria)))
13111 (home-page "https://github.com/rpav/defpackage-plus")
13112 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
13113 (description
13114 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
13115 predictable cross-platform behavior and some utilities useful for versioning.")
13116 (license license:bsd-2))))
13117
13118 (define-public cl-defpackage-plus
13119 (sbcl-package->cl-source-package sbcl-defpackage-plus))
13120
13121 (define-public ecl-defpackage-plus
13122 (sbcl-package->ecl-package sbcl-defpackage-plus))
13123
13124 (define-public sbcl-deploy
13125 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
13126 (revision "2"))
13127 (package
13128 (name "sbcl-deploy")
13129 (version (git-version "1.0.0" revision commit))
13130 (source
13131 (origin
13132 (method git-fetch)
13133 (uri (git-reference
13134 (url "https://github.com/Shinmera/deploy")
13135 (commit commit)))
13136 (file-name (git-file-name "deploy" version))
13137 (sha256
13138 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
13139 (build-system asdf-build-system/sbcl)
13140 (arguments
13141 `(#:test-asd-file "deploy-test.asd"
13142 #:asd-files '("deploy.asd"
13143 "deploy-test.asd")))
13144 (native-inputs
13145 `(("cl-mpg123" ,sbcl-cl-mpg123)
13146 ("cl-out123" ,sbcl-cl-out123)))
13147 (inputs
13148 `(("cffi" ,sbcl-cffi)
13149 ("documentation-utils" ,sbcl-documentation-utils)
13150 ("trivial-features" ,sbcl-trivial-features)))
13151 (home-page "https://shinmera.github.io/deploy/")
13152 (synopsis "Deployment tools for standalone Common Lisp application")
13153 (description
13154 "This is a system to help you easily and quickly deploy standalone
13155 common lisp applications as binaries. Specifically it is geared towards
13156 applications with foreign library dependencies that run some kind of GUI.")
13157 (license license:artistic2.0))))
13158
13159 (define-public cl-deploy
13160 (sbcl-package->cl-source-package sbcl-deploy))
13161
13162 (define-public ecl-deploy
13163 (sbcl-package->ecl-package sbcl-deploy))
13164
13165 (define-public sbcl-deeds
13166 ;; taged branch is outdated
13167 (let ((revision "1")
13168 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
13169 (package
13170 (name "sbcl-deeds")
13171 (version (git-version "1.1.1" revision commit))
13172 (source
13173 (origin
13174 (method git-fetch)
13175 (uri (git-reference
13176 (url "https://github.com/Shinmera/deeds")
13177 (commit commit)))
13178 (file-name (git-file-name name version))
13179 (sha256
13180 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
13181 (build-system asdf-build-system/sbcl)
13182 (inputs
13183 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13184 ("closer-mop" ,sbcl-closer-mop)
13185 ("form-fiddle" ,sbcl-form-fiddle)
13186 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
13187 (home-page "https://github.com/Shinmera/deeds")
13188 (synopsis "Extensible Event Delivery System")
13189 (description
13190 "@code{deeds} allows for efficient event delivery to multiple handlers
13191 with a complex event filtering system.")
13192 (license license:zlib))))
13193
13194 (define-public cl-deeds
13195 (sbcl-package->cl-source-package sbcl-deeds))
13196
13197 (define-public ecl-deeds
13198 (sbcl-package->ecl-package sbcl-deeds))
13199
13200 (define-public sbcl-make-hash
13201 ;; no tagged branch
13202 (let ((revision "1")
13203 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13204 (package
13205 (name "sbcl-make-hash")
13206 (version (git-version "1.0.2" revision commit))
13207 (source
13208 (origin
13209 (method git-fetch)
13210 (uri (git-reference
13211 (url "https://github.com/genovese/make-hash")
13212 (commit commit)))
13213 (file-name (git-file-name name version))
13214 (sha256
13215 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13216 (build-system asdf-build-system/sbcl)
13217 (home-page "https://github.com/genovese/make-hash")
13218 (synopsis "Common Lisp package for flexible hash table creation")
13219 (description
13220 "This is a Common Lisp package for hash table creation with flexible,
13221 extensible initializers.")
13222 (license license:bsd-3))))
13223
13224 (define-public cl-make-hash
13225 (sbcl-package->cl-source-package sbcl-make-hash))
13226
13227 (define-public ecl-make-hash
13228 (sbcl-package->ecl-package sbcl-make-hash))
13229
13230 (define-public sbcl-claw-support
13231 (package
13232 (name "sbcl-claw-support")
13233 (version "1.0.0")
13234 (source
13235 (origin
13236 (method git-fetch)
13237 (uri (git-reference
13238 (url "https://github.com/borodust/claw-support")
13239 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13240 (file-name (git-file-name name version))
13241 (sha256
13242 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13243 (build-system asdf-build-system/sbcl)
13244 (home-page "https://github.com/borodust/claw-support")
13245 (synopsis "Support routines for claw")
13246 (description
13247 "This package provides support routines for the @code{claw} Common Lisp
13248 package.")
13249 (license license:expat)))
13250
13251 (define-public cl-claw-support
13252 (sbcl-package->cl-source-package sbcl-claw-support))
13253
13254 (define-public ecl-claw-support
13255 (sbcl-package->ecl-package sbcl-claw-support))
13256
13257 (define-public sbcl-claw
13258 (let ((revision "0")
13259 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13260 (package
13261 (name "sbcl-claw")
13262 (version (git-version "1.0" revision commit))
13263 (source
13264 (origin
13265 (method git-fetch)
13266 (uri (git-reference
13267 (url "https://github.com/borodust/claw")
13268 (commit commit)))
13269 (file-name (git-file-name "claw" version))
13270 (sha256
13271 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13272 (build-system asdf-build-system/sbcl)
13273 (inputs
13274 `(("alexandria" ,sbcl-alexandria)
13275 ("cffi" ,sbcl-cffi)
13276 ("cl-json" ,sbcl-cl-json)
13277 ("cl-ppcre" ,sbcl-cl-ppcre)
13278 ("claw-support" ,sbcl-claw-support)
13279 ("local-time" ,sbcl-local-time)
13280 ("trivial-features" ,sbcl-trivial-features)))
13281 (home-page "https://github.com/borodust/claw")
13282 (synopsis "Autowrapper for Common Lisp")
13283 (description
13284 "This is a Common Lisp autowrapping facility for quickly creating clean
13285 and lean bindings to C libraries.")
13286 (license license:bsd-2))))
13287
13288 (define-public cl-claw
13289 (sbcl-package->cl-source-package sbcl-claw))
13290
13291 (define-public ecl-claw
13292 (sbcl-package->ecl-package sbcl-claw))
13293
13294 (define-public sbcl-claw-utils
13295 (let ((revision "0")
13296 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13297 (package
13298 (name "sbcl-claw-utils")
13299 ;; version is not specified
13300 (version (git-version "0.0.0" revision commit))
13301 (source
13302 (origin
13303 (method git-fetch)
13304 (uri (git-reference
13305 (url "https://github.com/borodust/claw-utils")
13306 (commit commit)))
13307 (file-name (git-file-name "claw-utils" version))
13308 (sha256
13309 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13310 (build-system asdf-build-system/sbcl)
13311 (inputs
13312 `(("alexandria" ,sbcl-alexandria)
13313 ("cffi" ,sbcl-cffi)
13314 ("claw" ,sbcl-claw)))
13315 (home-page "https://github.com/borodust/claw-utils")
13316 (synopsis "Utilities for easier autowrapping")
13317 (description
13318 "This Common Lisp library contains various handy utilities to help
13319 autowrapping with @code{claw}.")
13320 (license license:expat))))
13321
13322 (define-public cl-claw-utils
13323 (sbcl-package->cl-source-package sbcl-claw-utils))
13324
13325 (define-public ecl-claw-utils
13326 (sbcl-package->ecl-package sbcl-claw-utils))
13327
13328 (define-public sbcl-array-operations
13329 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13330 (revision "0"))
13331 (package
13332 (name "sbcl-array-operations")
13333 (version (git-version "0.0.0" revision commit))
13334 (source
13335 (origin
13336 (method git-fetch)
13337 (uri (git-reference
13338 (url "https://github.com/bendudson/array-operations")
13339 (commit commit)))
13340 (file-name (git-file-name "array-operations" version))
13341 (sha256
13342 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13343 (build-system asdf-build-system/sbcl)
13344 (native-inputs
13345 `(("alexandria" ,sbcl-alexandria)
13346 ("clunit2" ,sbcl-clunit2)))
13347 (inputs
13348 `(("let-plus" ,sbcl-let-plus)))
13349 (synopsis "Simple array operations library for Common Lisp")
13350 (description
13351 "This library is a collection of functions and macros for manipulating
13352 Common Lisp arrays and performing numerical calculations with them.")
13353 (home-page "https://github.com/bendudson/array-operations")
13354 (license license:expat))))
13355
13356 (define-public cl-array-operations
13357 (sbcl-package->cl-source-package sbcl-array-operations))
13358
13359 (define-public ecl-array-operations
13360 (sbcl-package->ecl-package sbcl-array-operations))
13361
13362 (define-public sbcl-clml
13363 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13364 (revision "0"))
13365 (package
13366 (name "sbcl-clml")
13367 (version (git-version "0.0.0" revision commit))
13368 (source
13369 (origin
13370 (method git-fetch)
13371 (uri (git-reference
13372 (url "https://github.com/mmaul/clml")
13373 (commit commit)))
13374 (file-name (git-file-name "clml" version))
13375 (sha256
13376 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13377 ;; TODO: Remove this when the patch has been merged upstream.
13378 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13379 (build-system asdf-build-system/sbcl)
13380 (inputs
13381 `(("alexandia" ,sbcl-alexandria)
13382 ("array-operations" ,sbcl-array-operations)
13383 ("cl-fad" ,sbcl-cl-fad)
13384 ("cl-ppcre" ,sbcl-cl-ppcre)
13385 ("drakma" ,sbcl-drakma)
13386 ("introspect-environment" ,sbcl-introspect-environment)
13387 ("iterate" ,sbcl-iterate)
13388 ("lparallel" ,sbcl-lparallel)
13389 ("parse-number" ,sbcl-parse-number)
13390 ("split-sequence" ,sbcl-split-sequence)
13391 ("trivial-garbage" ,sbcl-trivial-garbage)))
13392 (synopsis "Common Lisp machine learning library")
13393 (description
13394 "CLML (Common Lisp Machine Learning) is a high performance and large
13395 scale statistical machine learning package")
13396 (home-page "https://mmaul.github.io/clml/")
13397 (license license:llgpl))))
13398
13399 (define-public cl-clml
13400 (sbcl-package->cl-source-package sbcl-clml))
13401
13402 (define-public sbcl-utm-ups
13403 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13404 (revision "0"))
13405 (package
13406 (name "sbcl-utm-ups")
13407 (version (git-version "1.1" revision commit))
13408 (source
13409 (origin
13410 (method git-fetch)
13411 (uri (git-reference
13412 (url "https://github.com/glv2/utm-ups")
13413 (commit commit)))
13414 (file-name (git-file-name "utm-ups" version))
13415 (sha256
13416 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13417 (build-system asdf-build-system/sbcl)
13418 (native-inputs
13419 `(("fiveam" ,sbcl-fiveam)))
13420 (synopsis
13421 "Convert coordinates between latitude/longitude and UTM or UPS")
13422 (description
13423 "This a Common Lisp library to convert geographic coordinates between
13424 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13425 Polar Stereographic).")
13426 (home-page "https://github.com/glv2/utm-ups")
13427 (license license:gpl3+))))
13428
13429 (define-public cl-utm-ups
13430 (sbcl-package->cl-source-package sbcl-utm-ups))
13431
13432 (define-public ecl-utm-ups
13433 (sbcl-package->ecl-package sbcl-utm-ups))
13434
13435 (define-public sbcl-mgrs
13436 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13437 (revision "0"))
13438 (package
13439 (name "sbcl-mgrs")
13440 (version (git-version "1.0" revision commit))
13441 (source
13442 (origin
13443 (method git-fetch)
13444 (uri (git-reference
13445 (url "https://github.com/glv2/mgrs")
13446 (commit commit)))
13447 (file-name (git-file-name "mgrs" version))
13448 (sha256
13449 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13450 (build-system asdf-build-system/sbcl)
13451 (native-inputs
13452 `(("fiveam" ,sbcl-fiveam)))
13453 (inputs
13454 `(("utm-ups" ,sbcl-utm-ups)))
13455 (synopsis
13456 "Convert coordinates between latitude/longitude and MGRS")
13457 (description
13458 "This a Common Lisp library to convert geographic coordinates between
13459 latitude/longitude and MGRS.")
13460 (home-page "https://github.com/glv2/mgrs")
13461 (license license:gpl3+))))
13462
13463 (define-public cl-mgrs
13464 (sbcl-package->cl-source-package sbcl-mgrs))
13465
13466 (define-public ecl-mgrs
13467 (sbcl-package->ecl-package sbcl-mgrs))
13468
13469 (define-public sbcl-maidenhead
13470 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13471 (revision "0"))
13472 (package
13473 (name "sbcl-maidenhead")
13474 (version (git-version "1.0" revision commit))
13475 (source
13476 (origin
13477 (method git-fetch)
13478 (uri (git-reference
13479 (url "https://github.com/glv2/maidenhead")
13480 (commit commit)))
13481 (file-name (git-file-name "maidenhead" version))
13482 (sha256
13483 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13484 (build-system asdf-build-system/sbcl)
13485 (native-inputs
13486 `(("fiveam" ,sbcl-fiveam)))
13487 (synopsis
13488 "Convert coordinates between latitude/longitude and Maidenhead")
13489 (description
13490 "This a Common Lisp library to convert geographic coordinates between
13491 latitude/longitude and Maidenhead locator system.")
13492 (home-page "https://github.com/glv2/maidenhead")
13493 (license license:gpl3+))))
13494
13495 (define-public cl-maidenhead
13496 (sbcl-package->cl-source-package sbcl-maidenhead))
13497
13498 (define-public ecl-maidenhead
13499 (sbcl-package->ecl-package sbcl-maidenhead))
13500
13501 (define-public sbcl-olc
13502 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13503 (revision "0"))
13504 (package
13505 (name "sbcl-olc")
13506 (version (git-version "1.0" revision commit))
13507 (source
13508 (origin
13509 (method git-fetch)
13510 (uri (git-reference
13511 (url "https://github.com/glv2/olc")
13512 (commit commit)))
13513 (file-name (git-file-name "olc" version))
13514 (sha256
13515 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13516 (build-system asdf-build-system/sbcl)
13517 (native-inputs
13518 `(("fiveam" ,sbcl-fiveam)))
13519 (synopsis
13520 "Convert coordinates between latitude/longitude and Open Location Code")
13521 (description
13522 "This a Common Lisp library to convert geographic coordinates between
13523 latitude/longitude and Open Location Code.")
13524 (home-page "https://github.com/glv2/olc")
13525 (license license:gpl3+))))
13526
13527 (define-public cl-olc
13528 (sbcl-package->cl-source-package sbcl-olc))
13529
13530 (define-public ecl-olc
13531 (sbcl-package->ecl-package sbcl-olc))
13532
13533 (define-public sbcl-regex
13534 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13535 (package
13536 (name "sbcl-regex")
13537 (version (git-version "1" "1" commit))
13538 (source
13539 (origin
13540 (method git-fetch)
13541 (uri (git-reference
13542 (url "https://github.com/michaelw/regex/")
13543 (commit commit)))
13544 (file-name (git-file-name name version))
13545 (sha256
13546 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13547 (build-system asdf-build-system/sbcl)
13548 (home-page "https://github.com/michaelw/regex/")
13549 (synopsis "Regular expression engine for Common Lisp")
13550 (description
13551 "This Common Lisp package provides a regular expression engine.")
13552 (license license:bsd-2))))
13553
13554 (define-public cl-regex
13555 (sbcl-package->cl-source-package sbcl-regex))
13556
13557 (define-public ecl-regex
13558 (sbcl-package->ecl-package sbcl-regex))
13559
13560 (define-public sbcl-clawk
13561 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13562 (package
13563 (name "sbcl-clawk")
13564 (version (git-version "4" "1" commit))
13565 (source
13566 (origin
13567 (method git-fetch)
13568 (uri (git-reference
13569 (url "https://github.com/sharplispers/clawk")
13570 (commit commit)))
13571 (file-name (git-file-name name version))
13572 (sha256
13573 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13574 (build-system asdf-build-system/sbcl)
13575 (inputs
13576 `(("sbcl-regex" ,sbcl-regex)))
13577 (home-page "https://github.com/sharplispers/clawk")
13578 (synopsis "Common Lisp AWK")
13579 (description
13580 "CLAWK is an AWK implementation embedded into Common Lisp.")
13581 (license license:bsd-2))))
13582
13583 (define-public cl-clawk
13584 (sbcl-package->cl-source-package sbcl-clawk))
13585
13586 (define-public ecl-clawk
13587 (sbcl-package->ecl-package sbcl-clawk))
13588
13589 (define-public sbcl-check-it
13590 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13591 (package
13592 (name "sbcl-check-it")
13593 (version (git-version "0.1.0" "1" commit))
13594 (source
13595 (origin
13596 (method git-fetch)
13597 (uri (git-reference
13598 (url "https://github.com/DalekBaldwin/check-it/")
13599 (commit commit)))
13600 (file-name (git-file-name name version))
13601 (sha256
13602 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13603 (build-system asdf-build-system/sbcl)
13604 (inputs
13605 `(("alexandria" ,sbcl-alexandria)
13606 ("closer-mop" ,sbcl-closer-mop)
13607 ("optima" ,sbcl-optima)))
13608 (native-inputs
13609 `(("stefil" ,sbcl-stefil)))
13610 (home-page "https://github.com/arclanguage/Clamp")
13611 (synopsis "Randomized specification-based testing for Common Lisp")
13612 (description
13613 "This is a randomized property-based testing library for Common Lisp.
13614 Rather than being a full-fledged general test framework in its own right, it's
13615 designed to embed randomized tests in whatever framework you like.")
13616 (license license:llgpl))))
13617
13618 (define-public cl-check-it
13619 (sbcl-package->cl-source-package sbcl-check-it))
13620
13621 (define-public ecl-check-it
13622 (sbcl-package->ecl-package sbcl-check-it))
13623
13624 (define-public sbcl-clamp
13625 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13626 (package
13627 (name "sbcl-clamp")
13628 (version (git-version "0.3" "1" commit))
13629 (source
13630 (origin
13631 (method git-fetch)
13632 (uri (git-reference
13633 (url "https://github.com/arclanguage/Clamp")
13634 (commit commit)))
13635 (file-name (git-file-name name version))
13636 (sha256
13637 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13638 (build-system asdf-build-system/sbcl)
13639 (inputs
13640 `(("iterate" ,sbcl-iterate)
13641 ("cl-syntax" ,sbcl-cl-syntax)))
13642 (native-inputs
13643 `(("cl-unit" ,sbcl-clunit)
13644 ("check-it" ,sbcl-check-it)))
13645 (arguments
13646 `(#:phases
13647 (modify-phases %standard-phases
13648 (add-after 'unpack 'fix-build
13649 (lambda _
13650 (substitute* "clamp.asd"
13651 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13652 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13653 #t)))))
13654 (home-page "https://github.com/arclanguage/Clamp")
13655 (synopsis "Common Lisp with Arc macros and procedures")
13656 (description
13657 "Clamp is an attempt to bring the powerful, but verbose, language of
13658 Common Lisp up to the terseness of Arc.
13659
13660 There are two parts to Clamp. There is the core of Clamp, which implements
13661 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13662 other part is the \"experimental\" part. It contains features of Arc that are
13663 not so easy to copy (ssyntax, argument destructuring, etc.).")
13664 (license license:artistic2.0))))
13665
13666 (define-public cl-clamp
13667 (sbcl-package->cl-source-package sbcl-clamp))
13668
13669 (define-public ecl-clamp
13670 (sbcl-package->ecl-package sbcl-clamp))
13671
13672 (define-public sbcl-trivial-shell
13673 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13674 (package
13675 (name "sbcl-trivial-shell")
13676 (version (git-version "0.2.0" "1" commit))
13677 (source
13678 (origin
13679 (method git-fetch)
13680 (uri (git-reference
13681 (url "https://github.com/gwkkwg/trivial-shell")
13682 (commit commit)))
13683 (file-name (git-file-name name version))
13684 (sha256
13685 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13686 (build-system asdf-build-system/sbcl)
13687 (native-inputs
13688 `(("lift" ,sbcl-lift)))
13689 (home-page "http://common-lisp.net/project/trivial-shell/")
13690 (synopsis "Common Lisp access to the shell")
13691 (description
13692 "A simple Common-Lisp interface to the underlying operating system.
13693 It's independent of the implementation and operating system.")
13694 (license license:expat))))
13695
13696 (define-public cl-trivial-shell
13697 (sbcl-package->cl-source-package sbcl-trivial-shell))
13698
13699 (define-public ecl-trivial-shell
13700 (sbcl-package->ecl-package sbcl-trivial-shell))
13701
13702 (define-public sbcl-clesh
13703 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13704 (package
13705 (name "sbcl-clesh")
13706 (version (git-version "0.0.0" "1" commit))
13707 (source
13708 (origin
13709 (method git-fetch)
13710 (uri (git-reference
13711 (url "https://github.com/Neronus/Clesh")
13712 (commit commit)))
13713 (file-name (git-file-name name version))
13714 (sha256
13715 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13716 (build-system asdf-build-system/sbcl)
13717 (inputs
13718 `(("trivial-shell" ,sbcl-trivial-shell)
13719 ("named-readtables" ,sbcl-named-readtables)))
13720 (home-page "https://github.com/Neronus/Clesh")
13721 (synopsis "Embed shell code in Common Lisp")
13722 (description
13723 "This is a very short and simple program, written in Common Lisp, that
13724 extends Common Lisp to embed shell code in a manner similar to Perl's
13725 backtick. It has been forked from SHELISP.")
13726 (license license:bsd-2))))
13727
13728 (define-public cl-clesh
13729 (sbcl-package->cl-source-package sbcl-clesh))
13730
13731 (define-public ecl-clesh
13732 (sbcl-package->ecl-package sbcl-clesh))
13733
13734 (define-public sbcl-trivial-channels
13735 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13736 (revision "1"))
13737 (package
13738 (name "sbcl-trivial-channels")
13739 (version (git-version "1.0" revision commit))
13740 (source
13741 (origin
13742 (method git-fetch)
13743 (uri (git-reference
13744 (url "https://github.com/rpav/trivial-channels")
13745 (commit commit)))
13746 (file-name (git-file-name "trivial-channels" version))
13747 (sha256
13748 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13749 (build-system asdf-build-system/sbcl)
13750 (inputs
13751 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13752 ("trivial-timeout" ,sbcl-trivial-timeout)))
13753 (home-page "https://github.com/rpav/trivial-channels")
13754 (synopsis "Common Lisp simple thread-safe channels with timeout")
13755 (description
13756 "It's very basic implementation of channels and queue for Common Lisp.")
13757 (license license:bsd-2))))
13758
13759 (define-public ecl-trivial-channels
13760 (sbcl-package->ecl-package sbcl-trivial-channels))
13761
13762 (define-public cl-trivial-channels
13763 (sbcl-package->cl-source-package sbcl-trivial-channels))
13764
13765 (define-public sbcl-trivial-download
13766 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13767 (package
13768 (name "sbcl-trivial-download")
13769 (version (git-version "0.3" "1" commit))
13770 (source
13771 (origin
13772 (method git-fetch)
13773 (uri (git-reference
13774 (url "https://github.com/eudoxia0/trivial-download/")
13775 (commit commit)))
13776 (file-name (git-file-name name version))
13777 (sha256
13778 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13779 (build-system asdf-build-system/sbcl)
13780 (inputs
13781 `(("drakma" ,sbcl-drakma)))
13782 (home-page "https://github.com/eudoxia0/trivial-download/")
13783 (synopsis "Download files from Common Lisp")
13784 (description
13785 "@code{trivial-download} allows you to download files from the Internet
13786 from Common Lisp. It provides a progress bar.")
13787 (license license:bsd-2))))
13788
13789 (define-public cl-trivial-download
13790 (sbcl-package->cl-source-package sbcl-trivial-download))
13791
13792 (define-public ecl-trivial-download
13793 (sbcl-package->ecl-package sbcl-trivial-download))
13794
13795 (define-public sbcl-gtwiwtg
13796 (package
13797 (name "sbcl-gtwiwtg")
13798 (version "0.1.1")
13799 (source
13800 (origin
13801 (method git-fetch)
13802 (uri (git-reference
13803 (url "https://github.com/cbeo/gtwiwtg/")
13804 (commit version)))
13805 (file-name (git-file-name name version))
13806 (sha256
13807 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13808 (build-system asdf-build-system/sbcl)
13809 (native-inputs
13810 `(("osicat" ,sbcl-osicat)
13811 ("prove" ,sbcl-prove)))
13812 (home-page "https://github.com/cbeo/gtwiwtg/")
13813 (synopsis "Naive generators for Common Lisp")
13814 (description
13815 "The GTWIWTG library (Generators The Way I Want Them Generated --
13816 technically not generators, but iterators) is meant to be small, explorable,
13817 and understandable.")
13818 (license license:gpl3)))
13819
13820 (define-public cl-gtwiwtg
13821 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13822
13823 (define-public ecl-gtwiwtg
13824 (sbcl-package->ecl-package sbcl-gtwiwtg))
13825
13826 (define-public sbcl-cl-progress-bar
13827 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13828 (package
13829 (name "sbcl-cl-progress-bar")
13830 (version (git-version "0.0.0" "1" commit))
13831 (source
13832 (origin
13833 (method git-fetch)
13834 (uri (git-reference
13835 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13836 (commit commit)))
13837 (file-name (git-file-name name version))
13838 (sha256
13839 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13840 (build-system asdf-build-system/sbcl)
13841 (inputs
13842 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13843 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13844 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13845 (synopsis "Progress bars in Common Lisp")
13846 (description
13847 "This library provides almost the same code as used inside Quicklisp
13848 for drawning progress bars")
13849 (license license:expat))))
13850
13851 (define-public cl-progress-bar
13852 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13853
13854 (define-public ecl-cl-progress-bar
13855 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13856
13857 (define-public sbcl-repl-utilities
13858 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
13859 (package
13860 (name "sbcl-repl-utilities")
13861 (version (git-version "0.0.0" "1" commit))
13862 (source
13863 (origin
13864 (method git-fetch)
13865 (uri (git-reference
13866 (url "https://github.com/m-n/repl-utilities/")
13867 (commit commit)))
13868 (file-name (git-file-name name version))
13869 (sha256
13870 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
13871 (build-system asdf-build-system/sbcl)
13872 (home-page "https://github.com/m-n/repl-utilities")
13873 (synopsis "Ease common tasks at the Common Lisp REPL")
13874 (description
13875 "@code{repl-utilities} is a set of utilities which ease life at the
13876 REPL. It includes three sorts of features: introspective procedures,
13877 miscellaneous utility functions, and, pulling them together, methods to
13878 conveniently keep these symbols and optionally additional symbols available in
13879 whichever package you switch to.")
13880 (license license:bsd-2))))
13881
13882 (define-public cl-repl-utilities
13883 (sbcl-package->cl-source-package sbcl-repl-utilities))
13884
13885 (define-public ecl-repl-utilities
13886 (sbcl-package->ecl-package sbcl-repl-utilities))
13887
13888 (define-public sbcl-supertrace
13889 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13890 (package
13891 (name "sbcl-supertrace")
13892 (version (git-version "0.1.0" "1" commit))
13893 (source
13894 (origin
13895 (method git-fetch)
13896 (uri (git-reference
13897 (url "https://github.com/fukamachi/supertrace")
13898 (commit commit)))
13899 (file-name (git-file-name name version))
13900 (sha256
13901 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13902 (build-system asdf-build-system/sbcl)
13903 (native-inputs
13904 `(("cffi-grovel" ,sbcl-cffi)
13905 ("rove" ,sbcl-rove)
13906 ("cl-ppcre" ,sbcl-cl-ppcre)
13907 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13908 (inputs
13909 `(("cffi" ,sbcl-cffi)))
13910 (home-page "https://github.com/fukamachi/supertrace")
13911 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13912 (description
13913 "Supertrace provides a superior Common Lisp @code{trace} functionality
13914 for debugging and profiling real world applications.")
13915 (license license:bsd-2))))
13916
13917 (define-public cl-supertrace
13918 (sbcl-package->cl-source-package sbcl-supertrace))
13919
13920 (define-public ecl-supertrace
13921 (sbcl-package->ecl-package sbcl-supertrace))
13922
13923 (define-public sbcl-trivial-benchmark
13924 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13925 (package
13926 (name "sbcl-trivial-benchmark")
13927 (version (git-version "2.0.0" "1" commit))
13928 (source
13929 (origin
13930 (method git-fetch)
13931 (uri (git-reference
13932 (url "https://github.com/Shinmera/trivial-benchmark/")
13933 (commit commit)))
13934 (file-name (git-file-name name version))
13935 (sha256
13936 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13937 (build-system asdf-build-system/sbcl)
13938 (inputs
13939 `(("alexandria" ,sbcl-alexandria)))
13940 (home-page "http://shinmera.github.io/trivial-benchmark/")
13941 (synopsis "Easy to use benchmarking system for Common Lisp")
13942 (description
13943 "Trivial-Benchmark runs a block of code many times and outputs some
13944 statistical data for it. On SBCL this includes the data from @code{time}, for
13945 all other implementations just the @code{real-time} and @code{run-time} data.
13946 However, you can extend the system by adding your own @code{metrics} to it, or
13947 even by adding additional statistical @code{compute}ations. ")
13948 (license license:zlib))))
13949
13950 (define-public cl-trivial-benchmark
13951 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13952
13953 (define-public ecl-trivial-benchmark
13954 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13955
13956 (define-public sbcl-glyphs
13957 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13958 (package
13959 (name "sbcl-glyphs")
13960 (version (git-version "0.0.0" "1" commit))
13961 (source
13962 (origin
13963 (method git-fetch)
13964 (uri (git-reference
13965 (url "https://github.com/ahungry/glyphs/")
13966 (commit commit)))
13967 (file-name (git-file-name name version))
13968 (sha256
13969 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13970 (build-system asdf-build-system/sbcl)
13971 (inputs
13972 `(("cl-ppcre" ,sbcl-cl-ppcre)
13973 ("parenscript" ,sbcl-parenscript)
13974 ("named-readtables" ,sbcl-named-readtables)))
13975 (home-page "https://github.com/ahungry/glyphs/")
13976 (synopsis "Reduce Common Lisp verbosity")
13977 (description
13978 "This library is a little experiment in reducing verbosity in Common
13979 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13980 (license license:gpl3))))
13981
13982 (define-public cl-glyphs
13983 (sbcl-package->cl-source-package sbcl-glyphs))
13984
13985 (define-public ecl-glyphs
13986 (sbcl-package->ecl-package sbcl-glyphs))
13987
13988 (define-public sbcl-zs3
13989 (package
13990 (name "sbcl-zs3")
13991 (version "1.3.3")
13992 (source
13993 (origin
13994 (method git-fetch)
13995 (uri
13996 (git-reference
13997 (url "https://github.com/xach/zs3")
13998 (commit (string-append "release-" version))))
13999 (file-name (git-file-name "zs3" version))
14000 (sha256
14001 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
14002 (build-system asdf-build-system/sbcl)
14003 (inputs
14004 `(("drakma" ,sbcl-drakma)
14005 ("alexandria" ,sbcl-alexandria)
14006 ("cxml" ,sbcl-cxml)
14007 ("ironclad" ,sbcl-ironclad)
14008 ("puri" ,sbcl-puri)
14009 ("cl-base64" ,sbcl-cl-base64)))
14010 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
14011 (description "This is ZS3, a library for working with Amazon's Simple Storage
14012 Service (S3) and CloudFront service from Common Lisp.")
14013 (home-page "https://github.com/xach/zs3")
14014 (license license:bsd-2)))
14015
14016 (define-public cl-zs3
14017 (sbcl-package->cl-source-package sbcl-zs3))
14018
14019 (define-public ecl-zs3
14020 (sbcl-package->ecl-package sbcl-zs3))
14021
14022 (define-public sbcl-simple-neural-network
14023 (package
14024 (name "sbcl-simple-neural-network")
14025 (version "3.1")
14026 (source
14027 (origin
14028 (method git-fetch)
14029 (uri (git-reference
14030 (url "https://github.com/glv2/simple-neural-network")
14031 (commit (string-append "v" version))))
14032 (file-name (git-file-name "simple-neural-network" version))
14033 (sha256
14034 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
14035 (build-system asdf-build-system/sbcl)
14036 (native-inputs
14037 `(("chipz" ,sbcl-chipz)
14038 ("fiveam" ,sbcl-fiveam)))
14039 (inputs
14040 `(("cl-store" ,sbcl-cl-store)
14041 ("lparallel" ,sbcl-lparallel)))
14042 (arguments
14043 `(#:phases
14044 (modify-phases %standard-phases
14045 (add-after 'check 'remove-test-data
14046 (lambda* (#:key outputs #:allow-other-keys)
14047 (let ((out (assoc-ref outputs "out")))
14048 (for-each delete-file (find-files out "\\.gz$"))))))))
14049 (synopsis "Simple neural network in Common Lisp")
14050 (description
14051 "@code{simple-neural-network} is a Common Lisp library for creating,
14052 training and using basic neural networks. The networks created by this
14053 library are feedforward neural networks trained using backpropagation.")
14054 (home-page "https://github.com/glv2/simple-neural-network")
14055 (license license:gpl3+)))
14056
14057 (define-public cl-simple-neural-network
14058 (sbcl-package->cl-source-package sbcl-simple-neural-network))
14059
14060 (define-public ecl-simple-neural-network
14061 (sbcl-package->ecl-package sbcl-simple-neural-network))
14062
14063 (define-public sbcl-zstd
14064 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
14065 (revision "1"))
14066 (package
14067 (name "sbcl-zstd")
14068 (version (git-version "1.0" revision commit))
14069 (source
14070 (origin
14071 (method git-fetch)
14072 (uri (git-reference
14073 (url "https://github.com/glv2/cl-zstd")
14074 (commit commit)))
14075 (file-name (git-file-name "cl-zstd" version))
14076 (sha256
14077 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
14078 (build-system asdf-build-system/sbcl)
14079 (native-inputs
14080 `(("fiveam" ,sbcl-fiveam)))
14081 (inputs
14082 `(("cffi" ,sbcl-cffi)
14083 ("cl-octet-streams" ,sbcl-cl-octet-streams)
14084 ("zstd-lib" ,zstd "lib")))
14085 (arguments
14086 '(#:phases
14087 (modify-phases %standard-phases
14088 (add-after 'unpack 'fix-paths
14089 (lambda* (#:key inputs #:allow-other-keys)
14090 (substitute* "src/libzstd.lisp"
14091 (("libzstd\\.so")
14092 (string-append (assoc-ref inputs "zstd-lib")
14093 "/lib/libzstd.so")))
14094 #t)))))
14095 (synopsis "Common Lisp library for Zstandard (de)compression")
14096 (description
14097 "This Common Lisp library provides functions for Zstandard
14098 compression/decompression using bindings to the libzstd C library.")
14099 (home-page "https://github.com/glv2/cl-zstd")
14100 (license license:gpl3+))))
14101
14102 (define-public cl-zstd
14103 (sbcl-package->cl-source-package sbcl-zstd))
14104
14105 (define-public ecl-zstd
14106 (sbcl-package->ecl-package sbcl-zstd))
14107
14108 (define-public sbcl-agnostic-lizard
14109 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
14110 (revision "1"))
14111 (package
14112 (name "sbcl-agnostic-lizard")
14113 (version (git-version "0.0.0" revision commit))
14114 (source
14115 (origin
14116 (method git-fetch)
14117 (uri (git-reference
14118 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14119 (commit commit)))
14120 (file-name (git-file-name name version))
14121 (sha256
14122 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
14123 (build-system asdf-build-system/sbcl)
14124 (synopsis "Almost correct portable code walker for Common Lisp")
14125 (description
14126 "Agnostic Lizard is a portable implementation of a code walker and in
14127 particular of the macroexpand-all function (and macro) that makes a best
14128 effort to be correct while not expecting much beyond what the Common Lisp
14129 standard requires.
14130
14131 It aims to be implementation-agnostic and to climb the syntax trees.")
14132 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14133 (license license:gpl3+))))
14134
14135 (define-public cl-agnostic-lizard
14136 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
14137
14138 (define-public ecl-agnostic-lizard
14139 (sbcl-package->ecl-package sbcl-agnostic-lizard))
14140
14141 (define-public sbcl-dynamic-classes
14142 (package
14143 (name "sbcl-dynamic-classes")
14144 (version "1.0.2")
14145 (source
14146 (origin
14147 (method git-fetch)
14148 (uri (git-reference
14149 (url "https://github.com/gwkkwg/dynamic-classes")
14150 (commit (string-append "version-" version))))
14151 (file-name (git-file-name "dynamic-classes" version))
14152 (sha256
14153 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
14154 (build-system asdf-build-system/sbcl)
14155 (inputs
14156 `(("metatilities-base" ,sbcl-metatilities-base)))
14157 (arguments
14158 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
14159 ;; test suites. lift-standard.config contains referances to deprecated
14160 ;; functionality.
14161 `(#:tests? #f))
14162 (home-page "https://common-lisp.net/project/dynamic-classes/")
14163 (synopsis "Dynamic class definition for Common Lisp")
14164 (description "Dynamic-Classes helps to ease the prototyping process by
14165 bringing dynamism to class definition.")
14166 (license license:expat)))
14167
14168 (define-public ecl-dynamic-classes
14169 (sbcl-package->ecl-package sbcl-dynamic-classes))
14170
14171 (define-public cl-dynamic-classes
14172 (sbcl-package->cl-source-package sbcl-dynamic-classes))
14173
14174 (define-public sbcl-cl-markdown
14175 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
14176 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
14177 ;; #:container-dynamic-classes
14178 (package
14179 (name "sbcl-cl-markdown")
14180 (version "0.10.4")
14181 (source
14182 (origin
14183 (method git-fetch)
14184 (uri (git-reference
14185 (url "https://github.com/gwkkwg/cl-markdown")
14186 (commit (string-append "version-" version))))
14187 (file-name (git-file-name "cl-markdown" version))
14188 (sha256
14189 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
14190 (build-system asdf-build-system/sbcl)
14191 (inputs
14192 `(("anaphora" ,sbcl-anaphora)
14193 ("cl-containers" ,sbcl-cl-containers)
14194 ("cl-ppcre" ,sbcl-cl-ppcre)
14195 ("dynamic-classes" ,sbcl-dynamic-classes)
14196 ("metabang-bind" ,sbcl-metabang-bind)
14197 ("metatilities-base" ,sbcl-metatilities-base)))
14198 (arguments
14199 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14200 ;; available systems, which themself are abandoned.
14201 `(#:tests? #f))
14202 (home-page "https://common-lisp.net/project/cl-markdown/")
14203 (synopsis "Common Lisp rewrite of Markdown")
14204 (description
14205 "This is an implementation of a Markdown parser in Common Lisp.")
14206 (license license:expat)))
14207
14208 (define-public ecl-cl-markdown
14209 (sbcl-package->ecl-package sbcl-cl-markdown))
14210
14211 (define-public cl-markdown
14212 (sbcl-package->cl-source-package sbcl-cl-markdown))
14213
14214 (define-public sbcl-magicffi
14215 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14216 (package
14217 (name "sbcl-magicffi")
14218 (version (git-version "0.0.0" "1" commit))
14219 (source
14220 (origin
14221 (method git-fetch)
14222 (uri (git-reference
14223 (url "https://github.com/dochang/magicffi/")
14224 (commit commit)))
14225 (file-name (git-file-name name version))
14226 (sha256
14227 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14228 (build-system asdf-build-system/sbcl)
14229 (native-inputs
14230 `(("alexandria" ,sbcl-alexandria)))
14231 (inputs
14232 `(("cffi" ,sbcl-cffi)
14233 ("ppcre" ,sbcl-cl-ppcre)
14234 ("libmagic" ,file)))
14235 (arguments
14236 `(#:phases
14237 (modify-phases %standard-phases
14238 (add-after 'unpack 'fix-paths
14239 (lambda* (#:key inputs #:allow-other-keys)
14240 (let ((magic (assoc-ref inputs "libmagic")))
14241 (substitute* "grovel.lisp"
14242 (("/usr/include/magic.h")
14243 (string-append magic "/include/magic.h")))
14244 (substitute* "api.lisp"
14245 ((":default \"libmagic\"" all)
14246 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14247 (home-page "https://common-lisp.net/project/magicffi/")
14248 (synopsis "Common Lisp interface to libmagic based on CFFI")
14249 (description
14250 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14251 determination library using @emph{magic} numbers.")
14252 (license license:bsd-2))))
14253
14254 (define-public ecl-magicffi
14255 (sbcl-package->ecl-package sbcl-magicffi))
14256
14257 (define-public cl-magicffi
14258 (sbcl-package->cl-source-package sbcl-magicffi))
14259
14260 (define-public sbcl-shlex
14261 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
14262 (package
14263 (name "sbcl-shlex")
14264 (version (git-version "0.0.0" "1" commit))
14265 (source
14266 (origin
14267 (method git-fetch)
14268 (uri (git-reference
14269 (url "https://github.com/ruricolist/cl-shlex")
14270 (commit commit)))
14271 (file-name (git-file-name name version))
14272 (sha256
14273 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
14274 (build-system asdf-build-system/sbcl)
14275 (inputs
14276 `(("alexandria" ,sbcl-alexandria)
14277 ("serapeum" ,sbcl-serapeum)
14278 ("ppcre" ,sbcl-cl-ppcre)
14279 ("unicode" ,sbcl-cl-unicode)))
14280 (home-page "https://github.com/ruricolist/cl-shlex")
14281 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14282 (description
14283 "This library contains a lexer for syntaxes that use shell-like rules
14284 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14285 standard library.")
14286 (license license:expat))))
14287
14288 (define-public ecl-shlex
14289 (sbcl-package->ecl-package sbcl-shlex))
14290
14291 (define-public cl-shlex
14292 (sbcl-package->cl-source-package sbcl-shlex))
14293
14294 (define-public sbcl-cmd
14295 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
14296 (package
14297 (name "sbcl-cmd")
14298 (version (git-version "0.0.1" "3" commit))
14299 (source
14300 (origin
14301 (method git-fetch)
14302 (uri (git-reference
14303 (url "https://github.com/ruricolist/cmd/")
14304 (commit commit)))
14305 (file-name (git-file-name name version))
14306 (sha256
14307 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
14308 (build-system asdf-build-system/sbcl)
14309 (inputs
14310 `(("alexandria" ,sbcl-alexandria)
14311 ("coreutils" ,coreutils)
14312 ("procps" ,procps)
14313 ("serapeum" ,sbcl-serapeum)
14314 ("shlex" ,sbcl-shlex)
14315 ("trivia" ,sbcl-trivia)))
14316 (arguments
14317 `(#:phases
14318 (modify-phases %standard-phases
14319 (add-after 'unpack 'fix-paths
14320 (lambda* (#:key inputs #:allow-other-keys)
14321 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14322 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14323 (substitute* "cmd.lisp"
14324 (("\\(def \\+env\\+ \"env\"\\)")
14325 (format #f "(def +env+ \"~a/env\")" bin))
14326 (("\\(def \\+kill\\+ \"kill\"\\)")
14327 (format #f "(def +kill+ \"~a/kill\")" bin))
14328 (("\\(def \\+ps\\+ \"ps\"\\)")
14329 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14330 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14331 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14332 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14333 (format #f "(def +sh+ \"~a\")" (which "sh")))
14334 (("\\(def \\+tr\\+ \"tr\"\\)")
14335 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14336 (home-page "https://github.com/ruricolist/cmd")
14337 (synopsis "Conveniently run external programs from Common Lisp")
14338 (description
14339 "A utility for running external programs, built on UIOP.
14340 Cmd is designed to be natural to use, protect against shell interpolation and
14341 be usable from multi-threaded programs.")
14342 (license license:expat))))
14343
14344 (define-public ecl-cmd
14345 (sbcl-package->ecl-package sbcl-cmd))
14346
14347 (define-public cl-cmd
14348 (sbcl-package->cl-source-package sbcl-cmd))
14349
14350 (define-public sbcl-ppath
14351 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14352 (package
14353 (name "sbcl-ppath")
14354 (version (git-version "0.1" "1" commit))
14355 (source
14356 (origin
14357 (method git-fetch)
14358 (uri (git-reference
14359 (url "https://github.com/fourier/ppath/")
14360 (commit commit)))
14361 (file-name (git-file-name name commit))
14362 (sha256
14363 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14364 (build-system asdf-build-system/sbcl)
14365 (inputs
14366 `(("alexandria" ,sbcl-alexandria)
14367 ("cffi" ,sbcl-cffi)
14368 ("osicat" ,sbcl-osicat)
14369 ("ppcre" ,sbcl-cl-ppcre)
14370 ("split-sequence" ,sbcl-split-sequence)
14371 ("trivial-features" ,sbcl-trivial-features)))
14372 (native-inputs
14373 `(("cl-fad" ,sbcl-cl-fad)
14374 ("prove" ,sbcl-prove)))
14375 (home-page "https://github.com/fourier/ppath")
14376 (synopsis "Common Lisp's implementation of the Python's os.path module")
14377 (description
14378 "This library is a path strings manipulation library inspired by
14379 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14380 major operation systems.
14381
14382 The philosophy behind is to use simple strings and \"dumb\" string
14383 manipulation functions to handle paths and filenames. Where possible the
14384 corresponding OS system functions are called.")
14385 (license license:bsd-2))))
14386
14387 (define-public ecl-ppath
14388 (sbcl-package->ecl-package sbcl-ppath))
14389
14390 (define-public cl-ppath
14391 (sbcl-package->cl-source-package sbcl-ppath))
14392
14393 (define-public sbcl-trivial-escapes
14394 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14395 (package
14396 (name "sbcl-trivial-escapes")
14397 (version (git-version "1.2.0" "1" commit))
14398 (source
14399 (origin
14400 (method git-fetch)
14401 (uri (git-reference
14402 (url "https://github.com/williamyaoh/trivial-escapes")
14403 (commit commit)))
14404 (file-name (git-file-name name commit))
14405 (sha256
14406 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14407 (build-system asdf-build-system/sbcl)
14408 (inputs
14409 `(("named-readtables" ,sbcl-named-readtables)))
14410 (native-inputs
14411 `(("fiveam" ,sbcl-fiveam)))
14412 (home-page "https://github.com/williamyaoh/trivial-escapes")
14413 (synopsis "C-style escape directives for Common Lisp")
14414 (description
14415 "This Common Lisp library interprets escape characters the same way that
14416 most other programming language do.
14417 It provides four readtables. The default one lets you write strings like this:
14418 @code{#\"This string has\na newline in it!\"}.")
14419 (license license:public-domain))))
14420
14421 (define-public ecl-trivial-escapes
14422 (sbcl-package->ecl-package sbcl-trivial-escapes))
14423
14424 (define-public cl-trivial-escapes
14425 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14426
14427 (define-public sbcl-cl-indentify
14428 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14429 (package
14430 (name "sbcl-cl-indentify")
14431 (version (git-version "0.1" "1" commit))
14432 (source
14433 (origin
14434 (method git-fetch)
14435 (uri (git-reference
14436 (url "https://github.com/yitzchak/cl-indentify")
14437 (commit commit)))
14438 (file-name (git-file-name name commit))
14439 (sha256
14440 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14441 (build-system asdf-build-system/sbcl)
14442 (inputs
14443 `(("alexandria" ,sbcl-alexandria)
14444 ("command-line-arguments" ,sbcl-command-line-arguments)
14445 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14446 (native-inputs
14447 `(("trivial-escapes" ,sbcl-trivial-escapes)
14448 ("rove" ,sbcl-rove)))
14449 (home-page "https://github.com/yitzchak/cl-indentify")
14450 (synopsis "Code beautifier for Common Lisp")
14451 (description
14452 "A library and command line utility to automatically indent Common Lisp
14453 source files.")
14454 (license license:expat))))
14455
14456 (define-public ecl-cl-indentify
14457 (sbcl-package->ecl-package sbcl-cl-indentify))
14458
14459 (define-public cl-indentify
14460 (sbcl-package->cl-source-package sbcl-cl-indentify))
14461
14462 (define-public sbcl-concrete-syntax-tree
14463 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14464 (package
14465 (name "sbcl-concrete-syntax-tree")
14466 (version (git-version "0.0.0" "1" commit))
14467 (source
14468 (origin
14469 (method git-fetch)
14470 (uri (git-reference
14471 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14472 (commit commit)))
14473 (file-name (git-file-name name commit))
14474 (sha256
14475 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14476 (build-system asdf-build-system/sbcl)
14477 (inputs
14478 `(("acclimation" ,sbcl-acclimation)))
14479 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14480 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14481 (description
14482 "This library is intended to solve the problem of source tracking for
14483 Common Lisp code.
14484
14485 By \"source tracking\", it is meant that code elements that have a known
14486 origin in the form of a position in a file or in an editor buffer are
14487 associated with some kind of information about this origin.
14488
14489 Since the exact nature of such origin information depends on the Common Lisp
14490 implementation and the purpose of wanting to track that origin, the library
14491 does not impose a particular structure of this information. Instead, it
14492 provides utilities for manipulating source code in the form of what is called
14493 concrete syntax trees (CSTs for short) that preserve this information about
14494 the origin.")
14495 (license license:bsd-2))))
14496
14497 (define-public ecl-concrete-syntax-tree
14498 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14499
14500 (define-public cl-concrete-syntax-tree
14501 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14502
14503 (define-public sbcl-eclector
14504 (package
14505 (name "sbcl-eclector")
14506 (version "0.5.0")
14507 (source
14508 (origin
14509 (method git-fetch)
14510 (uri (git-reference
14511 (url "https://github.com/s-expressionists/Eclector")
14512 (commit version)))
14513 (file-name (git-file-name name version))
14514 (sha256
14515 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14516 (build-system asdf-build-system/sbcl)
14517 (inputs
14518 `(("acclimation" ,sbcl-acclimation)
14519 ("alexandria" ,sbcl-alexandria)
14520 ("closer-mop" ,sbcl-closer-mop)
14521 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14522 (native-inputs
14523 `(("fiveam" ,sbcl-fiveam)))
14524 (arguments
14525 '(#:asd-systems '("eclector"
14526 "eclector-concrete-syntax-tree")))
14527 (home-page "https://s-expressionists.github.io/Eclector/")
14528 (synopsis "Highly customizable, portable Common Lisp reader")
14529 (description
14530 "Eclector is a portable Common Lisp reader that is highly customizable,
14531 can recover from errors and can return concrete syntax trees.
14532
14533 In contrast to many other reader implementations, eclector can recover from
14534 most errors in the input supplied to it and continue reading. This capability
14535 is realized as a restart.
14536
14537 It can also produce instances of the concrete syntax tree classes provided by
14538 the concrete syntax tree library.")
14539 (license license:bsd-2)))
14540
14541 (define-public ecl-eclector
14542 (sbcl-package->ecl-package sbcl-eclector))
14543
14544 (define-public cl-eclector
14545 (sbcl-package->cl-source-package sbcl-eclector))
14546
14547 (define-public sbcl-jsown
14548 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14549 (package
14550 (name "sbcl-jsown")
14551 (version (git-version "1.0.1" "1" commit))
14552 (source
14553 (origin
14554 (method git-fetch)
14555 (uri (git-reference
14556 (url "https://github.com/madnificent/jsown")
14557 (commit commit)))
14558 (file-name (git-file-name name commit))
14559 (sha256
14560 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14561 (build-system asdf-build-system/sbcl)
14562 (home-page "https://github.com/madnificent/jsown")
14563 (synopsis "Fast JSON reader / writer library for Common Lisp")
14564 (description
14565 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14566 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14567 functions and macros have been added to ease the burden of writing and editing
14568 @code{jsown} objects.
14569
14570 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14571 list and write them back. If you only need partial retrieval of objects,
14572 @code{jsown} allows you to select the keys which you would like to see parsed.
14573 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14574 objects themselves.")
14575 (license license:expat))))
14576
14577 (define-public ecl-jsown
14578 (sbcl-package->ecl-package sbcl-jsown))
14579
14580 (define-public cl-jsown
14581 (sbcl-package->cl-source-package sbcl-jsown))
14582
14583 (define-public sbcl-system-locale
14584 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14585 (package
14586 (name "sbcl-system-locale")
14587 (version (git-version "1.0.0" "1" commit))
14588 (source
14589 (origin
14590 (method git-fetch)
14591 (uri (git-reference
14592 (url "https://github.com/Shinmera/system-locale/")
14593 (commit commit)))
14594 (file-name (git-file-name name commit))
14595 (sha256
14596 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14597 (build-system asdf-build-system/sbcl)
14598 (inputs
14599 `(("documentation-utils" ,sbcl-documentation-utils)))
14600 (home-page "https://shinmera.github.io/system-locale/")
14601 (synopsis "Get the system's locale and language settings in Common Lisp")
14602 (description
14603 "This library retrieves locale information configured on the
14604 system. This is helpful if you want to write applications and libraries that
14605 display messages in the user's native language.")
14606 (license license:zlib))))
14607
14608 (define-public ecl-system-locale
14609 (sbcl-package->ecl-package sbcl-system-locale))
14610
14611 (define-public cl-system-locale
14612 (sbcl-package->cl-source-package sbcl-system-locale))
14613
14614 (define-public sbcl-language-codes
14615 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14616 (package
14617 (name "sbcl-language-codes")
14618 (version (git-version "1.0.0" "1" commit))
14619 (source
14620 (origin
14621 (method git-fetch)
14622 (uri (git-reference
14623 (url "https://github.com/Shinmera/language-codes")
14624 (commit commit)))
14625 (file-name (git-file-name name commit))
14626 (sha256
14627 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14628 (build-system asdf-build-system/sbcl)
14629 (inputs
14630 `(("documentation-utils" ,sbcl-documentation-utils)))
14631 (home-page "https://shinmera.github.io/language-codes/")
14632 (synopsis "Map ISO language codes to language names in Common Lisp")
14633 (description
14634 "This is a small library providing the ISO-639 language code to
14635 language name mapping.")
14636 (license license:zlib))))
14637
14638 (define-public ecl-language-codes
14639 (sbcl-package->ecl-package sbcl-language-codes))
14640
14641 (define-public cl-language-codes
14642 (sbcl-package->cl-source-package sbcl-language-codes))
14643
14644 (define-public sbcl-multilang-documentation
14645 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14646 (package
14647 (name "sbcl-multilang-documentation")
14648 (version (git-version "1.0.0" "1" commit))
14649 (source
14650 (origin
14651 (method git-fetch)
14652 (uri (git-reference
14653 (url "https://github.com/Shinmera/multilang-documentation")
14654 (commit commit)))
14655 (file-name (git-file-name name commit))
14656 (sha256
14657 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14658 (build-system asdf-build-system/sbcl)
14659 (inputs
14660 `(("documentation-utils" ,sbcl-documentation-utils)
14661 ("language-codes" ,sbcl-language-codes)
14662 ("system-locale" ,sbcl-system-locale)))
14663 (home-page "https://shinmera.github.io/multilang-documentation/")
14664 (synopsis "Add multiple languages support to Common Lisp documentation")
14665 (description
14666 "This library provides a drop-in replacement function for
14667 cl:documentation that supports multiple docstrings per-language, allowing you
14668 to write documentation that can be internationalised.")
14669 (license license:zlib))))
14670
14671 (define-public ecl-multilang-documentation
14672 (sbcl-package->ecl-package sbcl-multilang-documentation))
14673
14674 (define-public cl-multilang-documentation
14675 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14676
14677 (define-public sbcl-trivial-do
14678 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14679 (package
14680 (name "sbcl-trivial-do")
14681 (version (git-version "0.1" "1" commit))
14682 (source
14683 (origin
14684 (method git-fetch)
14685 (uri (git-reference
14686 (url "https://github.com/yitzchak/trivial-do")
14687 (commit commit)))
14688 (file-name (git-file-name name commit))
14689 (sha256
14690 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14691 (build-system asdf-build-system/sbcl)
14692 (home-page "https://github.com/yitzchak/trivial-do")
14693 (synopsis "Additional dolist style macros for Common Lisp")
14694 (description
14695 "Additional dolist style macros for Common Lisp, such as
14696 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14697 and @code{doseq*}.")
14698 (license license:zlib))))
14699
14700 (define-public ecl-trivial-do
14701 (sbcl-package->ecl-package sbcl-trivial-do))
14702
14703 (define-public cl-trivial-do
14704 (sbcl-package->cl-source-package sbcl-trivial-do))
14705
14706 (define-public sbcl-common-lisp-jupyter
14707 (let ((commit "011f60b69a3b8c70eefeafe7acb724cd00dd3e62"))
14708 (package
14709 (name "sbcl-common-lisp-jupyter")
14710 (version (git-version "0.1" "2" commit))
14711 (source
14712 (origin
14713 (method git-fetch)
14714 (uri (git-reference
14715 (url "https://github.com/yitzchak/common-lisp-jupyter")
14716 (commit commit)))
14717 (file-name (git-file-name name commit))
14718 (sha256
14719 (base32 "10jdghlcmp9p6ygrvw7g49i8f9jy71ybzn29n544fzb6g47siqhw"))))
14720 (build-system asdf-build-system/sbcl)
14721 (inputs
14722 `(("alexandria" ,sbcl-alexandria)
14723 ("babel" ,sbcl-babel)
14724 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14725 ("cl-base64" ,sbcl-cl-base64)
14726 ("cl-indentify" ,sbcl-cl-indentify)
14727 ("closer-mop" ,sbcl-closer-mop)
14728 ("eclector" ,sbcl-eclector)
14729 ("ironclad" ,sbcl-ironclad)
14730 ("iterate" ,sbcl-iterate)
14731 ("jsown" ,sbcl-jsown)
14732 ("multilang-documentation" ,sbcl-multilang-documentation)
14733 ("pzmq" ,sbcl-pzmq)
14734 ("puri" ,sbcl-puri)
14735 ("static-vectors" ,sbcl-static-vectors)
14736 ("trivial-do" ,sbcl-trivial-do)
14737 ("trivial-garbage" ,sbcl-trivial-garbage)
14738 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14739 ("trivial-mimes" ,sbcl-trivial-mimes)))
14740 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14741 (synopsis "Common Lisp kernel for Jupyter")
14742 (description
14743 "This is a Common Lisp kernel for Jupyter along with a library for
14744 building Jupyter kernels, based on Maxima-Jupyter which was based on
14745 @code{cl-jupyter}.")
14746 (license license:zlib))))
14747
14748 (define-public ecl-common-lisp-jupyter
14749 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14750
14751 (define-public cl-common-lisp-jupyter
14752 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14753
14754 (define-public sbcl-radiance
14755 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14756 (revision "1"))
14757 (package
14758 (name "sbcl-radiance")
14759 (version (git-version "2.1.2" revision commit))
14760 (source
14761 (origin
14762 (method git-fetch)
14763 (uri (git-reference
14764 (url "https://github.com/Shirakumo/radiance")
14765 (commit commit)))
14766 (file-name (git-file-name "radiance" version))
14767 (sha256
14768 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14769 (build-system asdf-build-system/sbcl)
14770 (arguments
14771 `(#:tests? #f ; TODO: The tests require some configuration.
14772 #:phases
14773 (modify-phases %standard-phases
14774 (add-after 'unpack 'disable-quicklisp
14775 (lambda _
14776 ;; Disable the automatic installation of systems by Quicklisp.
14777 ;; (Maybe there would be a way to package Quicklisp and make it
14778 ;; install things in the user's directory instead of
14779 ;; /gnu/store/...).
14780 (substitute* "interfaces.lisp"
14781 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14782 all)
14783 (string-append "#+quicklisp " all))))))))
14784 (native-inputs
14785 `(("alexandria" ,sbcl-alexandria)
14786 ("dexador" ,sbcl-dexador)
14787 ("parachute" ,sbcl-parachute)
14788 ("verbose" ,sbcl-verbose)))
14789 (inputs
14790 `(("babel" ,sbcl-babel)
14791 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14792 ("cl-ppcre" ,sbcl-cl-ppcre)
14793 ("closer-mop" ,sbcl-closer-mop)
14794 ("documentation-utils" ,sbcl-documentation-utils)
14795 ("deploy" ,sbcl-deploy)
14796 ("form-fiddle" ,sbcl-form-fiddle)
14797 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14798 ("local-time" ,sbcl-local-time)
14799 ("modularize-hooks" ,sbcl-modularize-hooks)
14800 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14801 ("puri" ,sbcl-puri)
14802 ("trivial-indent" ,sbcl-trivial-indent)
14803 ("trivial-mimes" ,sbcl-trivial-mimes)
14804 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14805 (home-page "https://shirakumo.github.io/radiance/")
14806 (synopsis "Common Lisp web application environment")
14807 (description
14808 "Radiance is a web application environment, which is sort of like a web
14809 framework, but more general, more flexible. It should let you write personal
14810 websites and generally deployable applications easily and in such a way that
14811 they can be used on practically any setup without having to undergo special
14812 adaptations.")
14813 (license license:zlib))))
14814
14815 (define-public ecl-radiance
14816 (sbcl-package->ecl-package sbcl-radiance))
14817
14818 (define-public cl-radiance
14819 (sbcl-package->cl-source-package sbcl-radiance))
14820
14821 (define-public sbcl-daemon
14822 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
14823 (revision "1"))
14824 (package
14825 (name "sbcl-daemon")
14826 (version (git-version "0.0.4" revision commit))
14827 (source
14828 (origin
14829 (method git-fetch)
14830 (uri (git-reference
14831 (url "https://github.com/snmsts/daemon")
14832 (commit commit)))
14833 (file-name (git-file-name "daemon" version))
14834 (sha256
14835 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
14836 (build-system asdf-build-system/sbcl)
14837 (inputs
14838 `(("trivial-features" ,sbcl-trivial-features)))
14839 (home-page "https://github.com/snmsts/daemon")
14840 (synopsis "Daemonize Common Lisp processes")
14841 (description
14842 "DAEMON provides the functionality of daemonizing Common Lisp processes
14843 on UNIX like platforms.")
14844 (license license:expat))))
14845
14846 (define-public ecl-daemon
14847 (sbcl-package->ecl-package sbcl-daemon))
14848
14849 (define-public cl-daemon
14850 (sbcl-package->cl-source-package sbcl-daemon))
14851
14852 (define-public sbcl-file-attributes
14853 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
14854 (package
14855 (name "sbcl-file-attributes")
14856 (version (git-version "1.0.0" "2" commit))
14857 (source
14858 (origin
14859 (method git-fetch)
14860 (uri (git-reference
14861 (url "https://github.com/Shinmera/file-attributes/")
14862 (commit commit)))
14863 (file-name (git-file-name name version))
14864 (sha256
14865 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
14866 (build-system asdf-build-system/sbcl)
14867 (inputs
14868 `(("cffi" ,sbcl-cffi)
14869 ("documentation-utils" ,sbcl-documentation-utils)
14870 ("trivial-features" ,sbcl-trivial-features)))
14871 (home-page "https://shinmera.github.io/file-attributes/")
14872 (synopsis "Access to common file attributes in Common Lisp")
14873 (description
14874 "This is a small OS portability library to retrieve and set file
14875 attributes not supported by the Common Lisp standard functions.")
14876 (license license:zlib))))
14877
14878 (define-public ecl-file-attributes
14879 (sbcl-package->ecl-package sbcl-file-attributes))
14880
14881 (define-public cl-file-attributes
14882 (sbcl-package->cl-source-package sbcl-file-attributes))
14883
14884 (define-public sbcl-cl-difflib
14885 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
14886 (revision "0"))
14887 (package
14888 (name "sbcl-cl-difflib")
14889 (version (git-version "0.2" revision commit))
14890 (source
14891 (origin
14892 (method git-fetch)
14893 (uri (git-reference
14894 (url "https://github.com/wiseman/cl-difflib")
14895 (commit commit)))
14896 (file-name
14897 (git-file-name name version))
14898 (sha256
14899 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
14900 (build-system asdf-build-system/sbcl)
14901 ;; Due to the age of this library tests use some deprecated
14902 ;; functionality and keep failing.
14903 (arguments
14904 '(#:tests? #f
14905 #:asd-files '("cl-difflib.asd")))
14906 (home-page "https://github.com/wiseman/cl-difflib")
14907 (synopsis "Compute differences between pairs of sequences")
14908 (description
14909 "A Common Lisp library for computing differences between
14910 sequences based on the Python difflib module.")
14911 (license license:expat))))
14912
14913 (define-public ecl-cl-difflib
14914 (sbcl-package->ecl-package sbcl-cl-difflib))
14915
14916 (define-public cl-difflib
14917 (sbcl-package->cl-source-package sbcl-cl-difflib))
14918
14919 (define-public sbcl-cl-html-diff
14920 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
14921 (revision "0"))
14922 (package
14923 (name "sbcl-cl-html-diff")
14924 (version (git-version "0.1" revision commit))
14925 (source
14926 (origin
14927 (method git-fetch)
14928 (uri (git-reference
14929 (url "https://github.com/wiseman/cl-html-diff")
14930 (commit commit)))
14931 (file-name
14932 (git-file-name name version))
14933 (sha256
14934 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
14935 (build-system asdf-build-system/sbcl)
14936 (inputs
14937 `(("cl-difflib" ,sbcl-cl-difflib)))
14938 (home-page "https://github.com/wiseman/cl-html-diff")
14939 (synopsis "Generate a human-readable diff of two HTML documents")
14940 (description
14941 "A Common Lisp library for generating a human-readable diff of two
14942 HTML documents.")
14943 (license license:expat))))
14944
14945 (define-public ecl-cl-html-diff
14946 (sbcl-package->ecl-package sbcl-cl-html-diff))
14947
14948 (define-public cl-html-diff
14949 (sbcl-package->cl-source-package sbcl-cl-html-diff))
14950
14951 (define-public sbcl-tooter
14952 (let ((commit "b8d4b245b1d946bc9da6f51a3d8c2dc43e4d3868")
14953 (revision "1"))
14954 (package
14955 (name "sbcl-tooter")
14956 (version (git-version "1.0.0" revision commit))
14957 (source
14958 (origin
14959 (method git-fetch)
14960 (uri (git-reference
14961 (url "https://github.com/Shinmera/tooter")
14962 (commit commit)))
14963 (file-name (git-file-name "tooter" version))
14964 (sha256
14965 (base32 "0g40dlis4dbw4p3zxz3scx27b9zm8zlzihywapf5zqrdqfx5hpq9"))))
14966 (build-system asdf-build-system/sbcl)
14967 (inputs
14968 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
14969 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
14970 ("sbcl-drakma" ,sbcl-drakma)
14971 ("sbcl-yason" ,sbcl-yason)))
14972 (synopsis "Common Lisp client library for Mastodon instances")
14973 (description
14974 "This is a Common Lisp library implementing the full v1 REST API
14975 protocol for Mastodon.")
14976 (home-page "https://shinmera.github.io/tooter/")
14977 (license license:zlib))))
14978
14979 (define-public ecl-tooter
14980 (sbcl-package->ecl-package sbcl-tooter))
14981
14982 (define-public cl-tooter
14983 (sbcl-package->cl-source-package sbcl-tooter))
14984
14985 (define-public sbcl-croatoan
14986 (let ((commit "89ecd147cf1548f569f23353b3ab656cfb74de1f")
14987 (revision "1"))
14988 (package
14989 (name "sbcl-croatoan")
14990 (version (git-version "0.0.1" revision commit))
14991 (source
14992 (origin
14993 (method git-fetch)
14994 (uri (git-reference
14995 (url "https://github.com/McParen/croatoan")
14996 (commit commit)))
14997 (file-name (git-file-name "croatoan" version))
14998 (sha256
14999 (base32 "0pk4mym88531jx0f1zmm6gmvrmdjzj2zcl2cdywdsxvjygr53zyx"))))
15000 (build-system asdf-build-system/sbcl)
15001 (arguments
15002 '(#:phases
15003 (modify-phases %standard-phases
15004 (add-after 'unpack 'fix-paths
15005 (lambda* (#:key inputs #:allow-other-keys)
15006 (substitute* "ncurses/ncurses.lisp"
15007 (("libncursesw" all)
15008 (string-append (assoc-ref inputs "ncurses")
15009 "/lib/"
15010 all))))))))
15011 (inputs
15012 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
15013 ("cffi" ,sbcl-cffi)
15014 ("ncurses" ,ncurses)
15015 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
15016 (synopsis "Common Lisp bindings for the ncurses terminal library")
15017 (description "Croatoan provides high-level Common Lisp CLOS bindings for
15018 the ncurses terminal library.")
15019 (home-page "https://github.com/McParen/croatoan")
15020 (license license:expat))))
15021
15022 (define-public ecl-croatoan
15023 (sbcl-package->ecl-package sbcl-croatoan))
15024
15025 (define-public cl-croatoan
15026 (sbcl-package->cl-source-package sbcl-croatoan))
15027
15028 (define-public sbcl-cl-spark
15029 (let ((commit "4e34bcebdcf8e45265986eb43ad4ad03bb41a581")
15030 (revision "1"))
15031 (package
15032 (name "sbcl-cl-spark")
15033 (version (git-version "0.1.13" revision commit))
15034 (source
15035 (origin
15036 (method git-fetch)
15037 (uri (git-reference
15038 (url "https://github.com/tkych/cl-spark")
15039 (commit commit)))
15040 (file-name (git-file-name "cl-spark" version))
15041 (sha256
15042 (base32 "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"))))
15043 (build-system asdf-build-system/sbcl)
15044 (native-inputs
15045 `(("fiveam" ,sbcl-fiveam)))
15046 (synopsis "Common Lisp library to make histograms")
15047 (description "This is a Common Lisp library to make histograms using
15048 UTF-8 block characters.")
15049 (home-page "https://github.com/tkych/cl-spark")
15050 (license license:expat))))
15051
15052 (define-public ecl-cl-spark
15053 (sbcl-package->ecl-package sbcl-cl-spark))
15054
15055 (define-public cl-spark
15056 (sbcl-package->cl-source-package sbcl-cl-spark))
15057
15058 (define-public sbcl-access
15059 (let ((commit "1b26db3760018cdc4624f880f0a1e0155d8f6c50")
15060 (revision "1"))
15061 (package
15062 (name "sbcl-access")
15063 (version (git-version "1.5.0" revision commit))
15064 (source
15065 (origin
15066 (method git-fetch)
15067 (uri (git-reference
15068 (url "https://github.com/sharplispers/access")
15069 (commit commit)))
15070 (file-name (git-file-name "access" version))
15071 (sha256
15072 (base32 "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5"))))
15073 (build-system asdf-build-system/sbcl)
15074 (native-inputs
15075 `(("lisp-unit2" ,sbcl-lisp-unit2)))
15076 (inputs
15077 `(("alexandria" ,sbcl-alexandria)
15078 ("anaphora" ,sbcl-anaphora)
15079 ("closer-mop" ,sbcl-closer-mop)
15080 ("interpol" ,sbcl-cl-interpol)
15081 ("iterate" ,sbcl-iterate)))
15082 (synopsis
15083 "Common lisp library to unify access to dictionary-like structures")
15084 (description
15085 "This is a Common lisp library to unify access to the most common
15086 dictionary-like data structures.")
15087 (home-page "https://github.com/sharplispers/access")
15088 (license license:bsd-3))))
15089
15090 (define-public ecl-access
15091 (sbcl-package->ecl-package sbcl-access))
15092
15093 (define-public cl-access
15094 (sbcl-package->cl-source-package sbcl-access))
15095
15096 (define-public sbcl-sxql-composer
15097 (let ((commit "2b2230cb01ae1b68e28921d99e4814046867fb75")
15098 (revision "1"))
15099 (package
15100 (name "sbcl-sxql-composer")
15101 (version (git-version "0.1" revision commit))
15102 (source
15103 (origin
15104 (method git-fetch)
15105 (uri (git-reference
15106 (url "https://github.com/mmontone/sxql-composer")
15107 (commit commit)))
15108 (file-name (git-file-name "sxql-composer" version))
15109 (sha256
15110 (base32 "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"))))
15111 (build-system asdf-build-system/sbcl)
15112 (inputs
15113 `(("sxql" ,sbcl-sxql)))
15114 (synopsis "Build and compose SXQL queries dynamically")
15115 (description
15116 "This is a Common Lisp library to build and compose SXQL queries
15117 dynamically.")
15118 (home-page "https://github.com/mmontone/sxql-composer")
15119 (license license:expat))))
15120
15121 (define-public ecl-sxql-composer
15122 (sbcl-package->ecl-package sbcl-sxql-composer))
15123
15124 (define-public cl-sxql-composer
15125 (sbcl-package->cl-source-package sbcl-sxql-composer))
15126
15127 (define-public sbcl-cl-i18n
15128 (let ((commit "fa0aa5bef8dfbdf2d72f7cc9f49e848ccbb567aa")
15129 (revision "1"))
15130 (package
15131 (name "sbcl-cl-i18n")
15132 (version (git-version "0.5.0" revision commit))
15133 (source
15134 (origin
15135 (method git-fetch)
15136 (uri (git-reference
15137 (url "https://notabug.org/cage/cl-i18n")
15138 (commit commit)))
15139 (file-name (git-file-name "cl-i18n" version))
15140 (sha256
15141 (base32 "1hpsdbb3hd79bzbrnbqgk2j3f0ispxvk91snp08fm2z3f1sds5as"))))
15142 (build-system asdf-build-system/sbcl)
15143 (inputs
15144 `(("alexandria" ,sbcl-alexandria)
15145 ("babel" ,sbcl-babel)
15146 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
15147 (synopsis "Internationalisation framework for Common Lisp")
15148 (description
15149 "This is a Gettext-style internationalisation framework for Common
15150 Lisp.")
15151 (home-page "https://notabug.org/cage/cl-i18n")
15152 (license license:llgpl))))
15153
15154 (define-public ecl-cl-i18n
15155 (sbcl-package->ecl-package sbcl-cl-i18n))
15156
15157 (define-public cl-i18n
15158 (sbcl-package->cl-source-package sbcl-cl-i18n))
15159
15160 (define-public sbcl-crypto-shortcuts
15161 (let ((commit "7efd22d80e867cd8c9f8f363d4fe7b51ee2dadc0")
15162 (revision "1"))
15163 (package
15164 (name "sbcl-crypto-shortcuts")
15165 (version (git-version "2.0.0" revision commit))
15166 (source
15167 (origin
15168 (method git-fetch)
15169 (uri (git-reference
15170 (url "https://github.com/Shinmera/crypto-shortcuts")
15171 (commit commit)))
15172 (file-name (git-file-name "crypto-shortcuts" version))
15173 (sha256
15174 (base32 "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin"))))
15175 (build-system asdf-build-system/sbcl)
15176 (inputs
15177 `(("cl-base64" ,sbcl-cl-base64)
15178 ("flexi-stream" ,sbcl-flexi-streams)
15179 ("ironclad" ,sbcl-ironclad)))
15180 (synopsis "Collection of common cryptography functions")
15181 (description
15182 "This is a collection of common cryptography functions for Common
15183 Lisp.")
15184 (home-page "https://shinmera.github.io/crypto-shortcuts/")
15185 (license license:zlib))))
15186
15187 (define-public ecl-crypto-shortcuts
15188 (sbcl-package->ecl-package sbcl-crypto-shortcuts))
15189
15190 (define-public cl-crypto-shortcuts
15191 (sbcl-package->cl-source-package sbcl-crypto-shortcuts))
15192
15193 (define-public sbcl-cl-html5-parser
15194 (let ((commit "74a92eb3a183a0afd089ea33350e816e6b9aeefa")
15195 (revision "1"))
15196 (package
15197 (name "sbcl-cl-html5-parser")
15198 (version (git-version "0.0.0" revision commit))
15199 (source
15200 (origin
15201 (method git-fetch)
15202 (uri (git-reference
15203 (url "https://github.com/rotatef/cl-html5-parser")
15204 (commit commit)))
15205 (file-name (git-file-name "cl-html5-parser" version))
15206 (sha256
15207 (base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
15208 (build-system asdf-build-system/sbcl)
15209 (arguments
15210 '(#:tests? #f
15211 #:asd-systems '("cl-html5-parser")))
15212 (inputs
15213 `(("cl-ppcre" ,sbcl-cl-ppcre)
15214 ("flexi-stream" ,sbcl-flexi-streams)
15215 ("string-case" ,sbcl-string-case)))
15216 (synopsis "HTML5 parser for Common Lisp")
15217 (description "This a Common Lisp library to parse HTML5 documents.")
15218 (home-page "https://github.com/rotatef/cl-html5-parser")
15219 (license license:lgpl3+))))
15220
15221 (define-public ecl-cl-html5-parser
15222 (sbcl-package->ecl-package sbcl-cl-html5-parser))
15223
15224 (define-public cl-html5-parser
15225 (sbcl-package->cl-source-package sbcl-cl-html5-parser))
15226
15227 (define-public sbcl-percent-encoding
15228 (let ((commit "c1224e22bc8048fbd3ebbc9329715a0c1b673170")
15229 (revision "1"))
15230 (package
15231 (name "sbcl-percent-encoding")
15232 (version (git-version "0.1" revision commit))
15233 (source
15234 (origin
15235 (method git-fetch)
15236 (uri (git-reference
15237 (url "https://github.com/llibra/percent-encoding")
15238 (commit commit)))
15239 (file-name (git-file-name "percent-encoding" version))
15240 (sha256
15241 (base32 "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"))))
15242 (build-system asdf-build-system/sbcl)
15243 (native-inputs
15244 `(("fiveam" ,sbcl-fiveam)))
15245 (inputs
15246 `(("anaphora" ,sbcl-anaphora)
15247 ("babel" ,sbcl-babel)))
15248 (synopsis "RFC 3986 percent-encoding library")
15249 (description
15250 "This is a Common Lisp library providing RFC 3986 percent-encoding.")
15251 (home-page "https://github.com/llibra/percent-encoding")
15252 (license license:expat))))
15253
15254 (define-public ecl-percent-encoding
15255 (sbcl-package->ecl-package sbcl-percent-encoding))
15256
15257 (define-public cl-percent-encoding
15258 (sbcl-package->cl-source-package sbcl-percent-encoding))
15259
15260 (define-public sbcl-cl-mount-info
15261 (let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b")
15262 (revision "1"))
15263 (package
15264 (name "sbcl-cl-mount-info")
15265 (version (git-version "0.0.1" revision commit))
15266 (source
15267 (origin
15268 (method git-fetch)
15269 (uri (git-reference
15270 (url "https://notabug.org/cage/cl-mount-info.git")
15271 (commit commit)))
15272 (file-name (git-file-name "cl-mount-info" version))
15273 (sha256
15274 (base32 "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x"))))
15275 (build-system asdf-build-system/sbcl)
15276 (inputs
15277 `(("alexandria" ,sbcl-alexandria)
15278 ("cffi" ,sbcl-cffi)
15279 ("cl-ppcre" ,sbcl-cl-ppcre)))
15280 (home-page "https://notabug.org/cage/cl-mount-info.git")
15281 (synopsis "Library to get information about mounted filesystems")
15282 (description
15283 "CL-MOUNT-INFO is a Common Lisp wrapper around @code{getmntent(3)} and
15284 related C functions to get information about the mounted file system.")
15285 (license license:lgpl3))))
15286
15287 (define-public ecl-cl-mount-info
15288 (sbcl-package->ecl-package sbcl-cl-mount-info))
15289
15290 (define-public cl-mount-info
15291 (sbcl-package->cl-source-package sbcl-cl-mount-info))
15292
15293 (define-public sbcl-cl-diskspace
15294 (let ((commit "2dce2d0387d58221c452bd76c7b9b7a7de81ef55")
15295 (revision "1"))
15296 (package
15297 (name "sbcl-cl-diskspace")
15298 (version (git-version "0.3.1" revision commit))
15299 (source
15300 (origin
15301 (method git-fetch)
15302 (uri (git-reference
15303 (url "https://github.com/muyinliu/cl-diskspace")
15304 (commit commit)))
15305 (file-name (git-file-name "cl-diskspace" version))
15306 (sha256
15307 (base32 "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"))))
15308 (build-system asdf-build-system/sbcl)
15309 (arguments
15310 `(#:phases
15311 (modify-phases %standard-phases
15312 (add-after 'unpack 'fix-paths
15313 (lambda* (#:key inputs #:allow-other-keys)
15314 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15315 (("grep")
15316 (string-append (assoc-ref inputs "grep") "/bin/grep")))
15317 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15318 (("/bin/df")
15319 (which "df")))
15320 #t)))))
15321 (inputs
15322 `(("cl-ppcre" ,sbcl-cl-ppcre)
15323 ("cffi" ,sbcl-cffi)
15324 ("grep" ,grep)))
15325 (home-page "https://github.com/muyinliu/cl-diskspace")
15326 (synopsis "Disk space information library for Common Lisp")
15327 (description
15328 "CL-DISKSPACE is a Common Lisp library to list disks with the command
15329 line tool @code{df} and get disk space information using @code{statvfs}.")
15330 (license license:isc))))
15331
15332 (define-public ecl-cl-diskspace
15333 (sbcl-package->ecl-package sbcl-cl-diskspace))
15334
15335 (define-public cl-diskspace
15336 (sbcl-package->cl-source-package sbcl-cl-diskspace))
15337
15338 (define-public sbcl-cl-cpus
15339 (package
15340 (name "sbcl-cl-cpus")
15341 (version "0.0.3")
15342 (source
15343 (origin
15344 (method git-fetch)
15345 (uri (git-reference
15346 (url "https://github.com/muyinliu/cl-cpus")
15347 (commit (string-append "v" version))))
15348 (file-name (git-file-name "cl-cpus" version))
15349 (sha256
15350 (base32 "0sdaff9hpsx7bpkkkqavmxmrrlc2d61gmqjjgn8xchncng4a0rf8"))))
15351 (build-system asdf-build-system/sbcl)
15352 (inputs
15353 `(("cffi" ,sbcl-cffi)))
15354 (home-page "https://github.com/muyinliu/cl-cpus")
15355 (synopsis "Common Lisp feature to get number of CPUs")
15356 (description
15357 "This package provides a Common Lisp system which has only one function to
15358 return the CPU count of the current system.")
15359 (license license:isc)))
15360
15361 (define-public ecl-cl-cpus
15362 (sbcl-package->ecl-package sbcl-cl-cpus))
15363
15364 (define-public cl-cpus
15365 (sbcl-package->cl-source-package sbcl-cl-cpus))
15366
15367 (define-public sbcl-fof
15368 (package
15369 (name "sbcl-fof")
15370 (version "0.1.0")
15371 (source
15372 (origin
15373 (method git-fetch)
15374 (uri (git-reference
15375 (url "https://gitlab.com/ambrevar/fof")
15376 (commit version)))
15377 (file-name (git-file-name name version))
15378 (sha256
15379 (base32 "1xdnlqrjfmgdgw58avkci881iwarv4am2vq09b14pfifmpxpzv10"))))
15380 (build-system asdf-build-system/sbcl)
15381 (arguments
15382 `(#:phases
15383 (modify-phases %standard-phases
15384 (add-after 'unpack 'fix-paths
15385 (lambda* (#:key inputs #:allow-other-keys)
15386 (substitute* "ffprobe.lisp"
15387 (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
15388 (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
15389 (assoc-ref inputs "ffmpeg") )))
15390 #t)))))
15391 (inputs
15392 `(("alexandria" ,sbcl-alexandria)
15393 ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star)
15394 ("local-time" ,sbcl-local-time)
15395 ("magicffi" ,sbcl-magicffi)
15396 ("osicat" ,sbcl-osicat)
15397 ("serapeum" ,sbcl-serapeum)
15398 ("str" ,sbcl-cl-str)
15399 ("trivia" ,sbcl-trivia)
15400 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
15401 ;; Non-CL deps:
15402 ("ffmpeg" ,ffmpeg)))
15403 (home-page "https://gitlab.com/ambrevar/fof")
15404 (synopsis "File object finder library for Common Lisp")
15405 (description
15406 "This library enable rapid file search, inspection and manipulation
15407 straight from the REPL.
15408 It aims at replacing Unix tools such as @code{find} or @code{du}.
15409 It also offers a replacement to the @code{pathname} Common Lisp API.
15410 Slot writers which commit changes to disk, e.g. permissions, modification
15411 time, etc.")
15412 (license license:gpl3+)))
15413
15414 (define-public ecl-fof
15415 (sbcl-package->ecl-package sbcl-fof))
15416
15417 (define-public cl-fof
15418 (sbcl-package->cl-source-package sbcl-fof))
15419
15420 (define-public sbcl-computable-reals
15421 (let ((commit "fdc73d75e79d0a4ce6d01c822c950ae2eb137d39"))
15422 (package
15423 (name "sbcl-computable-reals")
15424 (version (git-version "1.1.0" "1" commit))
15425 (source
15426 (origin
15427 (method git-fetch)
15428 (uri (git-reference
15429 (url "https://github.com/stylewarning/computable-reals")
15430 (commit commit)))
15431 (file-name (git-file-name name version))
15432 (sha256
15433 (base32 "0f12axi53x14l12dgf4a1lfq3p1fx7fh7sjfc0db3lk88ph9qfwl"))))
15434 (build-system asdf-build-system/sbcl)
15435 (home-page "https://github.com/stylewarning/computable-reals")
15436 (synopsis "Arbitrary-precision, re-computing real-numbers in Common Lisp")
15437 (description
15438 "This library provides arbitrary precision (floating point) real
15439 numbers in Common Lisp.")
15440 (license license:bsd-3))))
15441
15442 (define-public ecl-computable-reals
15443 (sbcl-package->ecl-package sbcl-computable-reals))
15444
15445 (define-public cl-computable-reals
15446 (sbcl-package->cl-source-package sbcl-computable-reals))
15447
15448 (define-public sbcl-html-template
15449 (package
15450 (name "sbcl-html-template")
15451 (version "0.9.2")
15452 (source
15453 (origin
15454 (method git-fetch)
15455 (uri (git-reference
15456 (url "https://github.com/edicl/html-template")
15457 (commit (string-append "v" version))))
15458 (file-name (git-file-name name version))
15459 (sha256
15460 (base32 "0wz3czvjsn4x971dsiia9f9nvvcmbkablcl75zsvxndkimc93wxb"))))
15461 (build-system asdf-build-system/sbcl)
15462 (home-page "https://edicl.github.io/html-template/")
15463 (synopsis "HTML templates from Common Lisp")
15464 (description
15465 "HTML-TEMPLATE is a Common Lisp library which can be used to fill
15466 templates with arbitrary (string) values at runtime. The result does not have
15467 to be HTML.
15468
15469 It is loosely modeled after the Perl module @code{HTML::Template} and
15470 partially compatible with a its syntax, though both libraries contain some
15471 extensions that the other does not support.
15472
15473 HTML-TEMPLATE translates templates into efficient closures which can be
15474 re-used as often as needed. It uses a cache mechanism so you can update
15475 templates while your program is running and have the changes take effect
15476 immediately.")
15477 (license license:bsd-2)))
15478
15479 (define-public ecl-html-template
15480 (sbcl-package->ecl-package sbcl-html-template))
15481
15482 (define-public cl-html-template
15483 (sbcl-package->cl-source-package sbcl-html-template))
15484
15485 (define-public sbcl-quickproject
15486 (package
15487 (name "sbcl-quickproject")
15488 (version "1.4.1")
15489 (source
15490 (origin
15491 (method git-fetch)
15492 (uri (git-reference
15493 (url "https://github.com/xach/quickproject")
15494 (commit (string-append "release-" version))))
15495 (file-name (git-file-name name version))
15496 (sha256
15497 (base32 "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6"))))
15498 (build-system asdf-build-system/sbcl)
15499 (inputs
15500 `(("cl-fad" ,sbcl-cl-fad)
15501 ("html-template" ,sbcl-html-template)))
15502 (arguments
15503 '(#:asd-files '("quickproject.asd")))
15504 (home-page "https://xach.com/lisp/quickproject/")
15505 (synopsis "Create Common Lisp project skeletons")
15506 (description
15507 "Quickproject provides a quick way to make a Common Lisp project. After
15508 creating a project, it extends the ASDF registry so the project may be
15509 immediately loaded.")
15510 (license license:expat)))
15511
15512 (define-public ecl-quickproject
15513 (sbcl-package->ecl-package sbcl-quickproject))
15514
15515 (define-public cl-quickproject
15516 (sbcl-package->cl-source-package sbcl-quickproject))
15517
15518 (define-public sbcl-bodge-math
15519 (let ((commit "9159b7faf88d440024c07110dbef2abddb20b9af")
15520 (revision "1"))
15521 (package
15522 (name "sbcl-bodge-math")
15523 (version (git-version "1.0.0" revision commit))
15524 (source
15525 (origin
15526 (method git-fetch)
15527 (uri (git-reference
15528 (url "https://github.com/borodust/bodge-math")
15529 (commit commit)))
15530 (file-name (git-file-name "bodge-math" version))
15531 (sha256
15532 (base32 "0r3vnl9lywn4ksy34apcv6j825qp7l1naddawr14v4lwacndb80v"))))
15533 (build-system asdf-build-system/sbcl)
15534 (inputs
15535 `(("bodge-utilities" ,sbcl-bodge-utilities)
15536 ("rtg-math" ,sbcl-rtg-math)))
15537 (home-page "https://github.com/borodust/bodge-math")
15538 (synopsis "Common Lisp core math utilities of BODGE library collection")
15539 (description
15540 "This Common Lisp package contains the core math utilities of the
15541 @emph{Bodge} library collection.")
15542 (license license:expat))))
15543
15544 (define-public ecl-bodge-math
15545 (sbcl-package->ecl-package sbcl-bodge-math))
15546
15547 (define-public cl-bodge-math
15548 (sbcl-package->cl-source-package sbcl-bodge-math))
15549
15550 (define-public sbcl-cl-conspack
15551 (let ((commit "fc8473bc6f929696b03b43820596b7c976c4678e")
15552 (revision "1"))
15553 (package
15554 (name "sbcl-cl-conspack")
15555 (version (git-version "0.0.0" revision commit))
15556 (source
15557 (origin
15558 (method git-fetch)
15559 (uri (git-reference
15560 (url "https://github.com/conspack/cl-conspack")
15561 (commit commit)))
15562 (file-name (git-file-name "cl-conspack" version))
15563 (sha256
15564 (base32 "0b7qzvsrpvnw12hqhjmz0b02sigj0kdjy55j4k7xzmj8684cs8bx"))))
15565 (build-system asdf-build-system/sbcl)
15566 ;; FIXME: (Sharlatan-20210331T220652+0100): Test are disabled because of:
15567 ;;
15568 ;; Error while trying to load definition for system cl-conspack-test
15569 ;; from pathname .../cl-conspack/cl-conspack-test.asd:
15570 ;; Error opening .../checkl/formalize-tmpGHU3ALSV.fasl": Permission denied
15571 ;;
15572 ;; It looks like the issues is in CheckL itself as other packages keep
15573 ;; failing test where it's in use.
15574 (arguments
15575 '(#:tests? #f
15576 #:asd-files '("cl-conspack.asd")))
15577 (native-inputs
15578 `(("checkl" ,sbcl-checkl)))
15579 (inputs
15580 `(("alexandria" ,sbcl-alexandria)
15581 ("closer-mop" ,sbcl-closer-mop)
15582 ("fast-io" ,sbcl-fast-io)
15583 ("ieee-floats" ,sbcl-ieee-floats)
15584 ("trivial-garbage" ,sbcl-trivial-garbage)
15585 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
15586 (home-page "https://github.com/conspack/cl-conspack")
15587 (synopsis "CONSPACK implementation for Common Lisp")
15588 (description
15589 "This package provides a CONSPACK implementation for Common Lisp.")
15590 (license license:bsd-3))))
15591
15592 (define-public ecl-cl-conspack
15593 (sbcl-package->ecl-package sbcl-cl-conspack))
15594
15595 (define-public cl-conspack
15596 (sbcl-package->cl-source-package sbcl-cl-conspack))
15597
15598 (define-public sbcl-cl-opengl
15599 (let ((commit "e2d83e0977b7e7ac3f3d348d8ccc7ccd04e74d59")
15600 (revision "1"))
15601 (package
15602 (name "sbcl-cl-opengl")
15603 (version (git-version "0.1.0" revision commit))
15604 (source
15605 (origin
15606 (method git-fetch)
15607 (uri (git-reference
15608 (url "https://github.com/3b/cl-opengl")
15609 (commit commit)))
15610 (file-name (git-file-name "cl-opengl" version))
15611 (sha256
15612 (base32 "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7"))))
15613 (build-system asdf-build-system/sbcl)
15614 (arguments
15615 `(#:asd-systems '("cl-opengl" "cl-glu" "cl-glut")
15616 #:phases
15617 (modify-phases %standard-phases
15618 (add-after 'unpack 'patch-lib-path
15619 (lambda* (#:key inputs #:allow-other-keys)
15620 (substitute* "gl/library.lisp"
15621 (("libGL.so" all)
15622 (string-append (assoc-ref inputs "mesa") "/lib/" all)))
15623 (substitute* "glu/library.lisp"
15624 (("libGLU.so" all)
15625 (string-append (assoc-ref inputs "glu") "/lib/" all)))
15626 (substitute* "glut/library.lisp"
15627 (("libglut.so" all)
15628 (string-append (assoc-ref inputs "freeglut") "/lib/" all)))
15629 #t)))))
15630 (inputs
15631 `(("alexandria" ,sbcl-alexandria)
15632 ("cffi" ,sbcl-cffi)
15633 ("float-features" ,sbcl-float-features)
15634 ("freeglut" ,freeglut)
15635 ("glu" ,glu)
15636 ("mesa" ,mesa)))
15637 (home-page "https://github.com/3b/cl-opengl")
15638 (synopsis "Common Lisp bindings to OpenGL, GLU and GLUT APIs")
15639 (description
15640 "This package provides a set of bindings and utilities for accessing the
15641 OpenGL (Mesa), GLU and GLUT (FreeGLUT) APIs using CFFI.")
15642 (license license:bsd-3))))
15643
15644 (define-public ecl-cl-opengl
15645 (sbcl-package->ecl-package sbcl-cl-opengl))
15646
15647 (define-public cl-opengl
15648 (sbcl-package->cl-source-package sbcl-cl-opengl))
15649
15650 (define-public sbcl-shadow
15651 (let ((commit "b2031adbfba3579b48c9d39ad997e19b79b6852f")
15652 (revision "1"))
15653 (package
15654 (name "sbcl-shadow")
15655 (version (git-version "0.0.0" revision commit))
15656 (source
15657 (origin
15658 (method git-fetch)
15659 (uri (git-reference
15660 (url "https://git.mfiano.net/mfiano/shadow")
15661 (commit commit)))
15662 (file-name (git-file-name "shadow" version))
15663 (sha256
15664 (base32 "0w1i734gkdkziin74ql2nhx7jdjxx02ylssaa6qdrvnj4br1124a"))))
15665 (build-system asdf-build-system/sbcl)
15666 (inputs
15667 `(("cffi" ,sbcl-cffi)
15668 ("cl-opengl" ,sbcl-cl-opengl)
15669 ("glsl-packing" ,sbcl-glsl-packing)
15670 ("golden-utils" ,sbcl-golden-utils)
15671 ("static-vectors" ,sbcl-static-vectors)
15672 ("varjo" ,sbcl-varjo)))
15673 (home-page "https://git.mfiano.net/mfiano/shadow")
15674 (synopsis "Management system for OpenGL shader programs")
15675 (description
15676 "This package provides a Common Lisp library for defining OpenGL shader
15677 programs. There are also functions for referencing shader programs by name,
15678 querying for basic information about them, modifying uniform variables
15679 throughout the lifecycle of an OpenGL application, and managing certain OpenGL
15680 buffer object types (UBO, SSBO currently).")
15681 (license license:expat))))
15682
15683 (define-public ecl-shadow
15684 (sbcl-package->ecl-package sbcl-shadow))
15685
15686 (define-public cl-shadow
15687 (sbcl-package->cl-source-package sbcl-shadow))
15688
15689 (define-public sbcl-umbra
15690 (let ((commit "d6ef2f6cbfa26180929061129eaf325bf17f73d8")
15691 (revision "1"))
15692 (package
15693 (name "sbcl-umbra")
15694 (version (git-version "0.0.0" revision commit))
15695 (source
15696 (origin
15697 (method git-fetch)
15698 (uri (git-reference
15699 (url "https://git.mfiano.net/mfiano/umbra")
15700 (commit commit)))
15701 (file-name (git-file-name "umbra" version))
15702 (sha256
15703 (base32 "04vyh2j00zdpb8ryxr8g81wjcmqlz9wrn55r3cypcj4qg970r5wi"))))
15704 (build-system asdf-build-system/sbcl)
15705 (inputs
15706 `(("golden-utils" ,sbcl-golden-utils)
15707 ("shadow" ,sbcl-shadow)
15708 ("varjo" ,sbcl-varjo)))
15709 (home-page "https://git.mfiano.net/mfiano/umbra")
15710 (synopsis "Common Lisp library of reusable GPU shader functions")
15711 (description
15712 "This is a Common Lisp library consisting of a collection of useful GPU
15713 shader functions, written with @code{Shadow}.")
15714 (license license:expat))))
15715
15716 (define-public ecl-umbra
15717 (sbcl-package->ecl-package sbcl-umbra))
15718
15719 (define-public cl-umbra
15720 (sbcl-package->cl-source-package sbcl-umbra))