873944ba9d83ac3654d1963fb831f2af25ed42f1
[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 ;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
29 ;;;
30 ;;; This file is part of GNU Guix.
31 ;;;
32 ;;; GNU Guix is free software; you can redistribute it and/or modify it
33 ;;; under the terms of the GNU General Public License as published by
34 ;;; the Free Software Foundation; either version 3 of the License, or (at
35 ;;; your option) any later version.
36 ;;;
37 ;;; GNU Guix is distributed in the hope that it will be useful, but
38 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
39 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40 ;;; GNU General Public License for more details.
41 ;;;
42 ;;; You should have received a copy of the GNU General Public License
43 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
44
45 ;;; This file only contains Common Lisp libraries.
46 ;;; Common Lisp compilers and tooling go to lisp.scm.
47 ;;; Common Lisp applications should go to the most appropriate file,
48 ;;; e.g. StumpWM is in wm.scm.
49
50 (define-module (gnu packages lisp-xyz)
51 #:use-module (gnu packages)
52 #:use-module ((guix licenses) #:prefix license:)
53 #:use-module (guix packages)
54 #:use-module (guix download)
55 #:use-module (guix git-download)
56 #:use-module (guix hg-download)
57 #:use-module (guix utils)
58 #:use-module (guix build-system asdf)
59 #:use-module (guix build-system trivial)
60 #:use-module (gnu packages base)
61 #:use-module (gnu packages c)
62 #:use-module (gnu packages compression)
63 #:use-module (gnu packages databases)
64 #:use-module (gnu packages enchant)
65 #:use-module (gnu packages file)
66 #:use-module (gnu packages fonts)
67 #:use-module (gnu packages fontutils)
68 #:use-module (gnu packages gl)
69 #:use-module (gnu packages glib)
70 #:use-module (gnu packages gnome)
71 #:use-module (gnu packages gtk)
72 #:use-module (gnu packages image)
73 #:use-module (gnu packages imagemagick)
74 #:use-module (gnu packages libevent)
75 #:use-module (gnu packages libffi)
76 #:use-module (gnu packages linux)
77 #:use-module (gnu packages lisp)
78 #:use-module (gnu packages maths)
79 #:use-module (gnu packages mp3)
80 #:use-module (gnu packages ncurses)
81 #:use-module (gnu packages networking)
82 #:use-module (gnu packages pkg-config)
83 #:use-module (gnu packages python)
84 #:use-module (gnu packages python-xyz)
85 #:use-module (gnu packages sdl)
86 #:use-module (gnu packages sqlite)
87 #:use-module (gnu packages tcl)
88 #:use-module (gnu packages tls)
89 #:use-module (gnu packages video)
90 #:use-module (gnu packages web)
91 #:use-module (gnu packages webkit)
92 #:use-module (gnu packages xdisorg)
93 #:use-module (ice-9 match)
94 #:use-module (srfi srfi-1)
95 #:use-module (srfi srfi-19))
96
97 (define-public sbcl-alexandria
98 (package
99 (name "sbcl-alexandria")
100 (version "1.2")
101 (source
102 (origin
103 (method git-fetch)
104 (uri (git-reference
105 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
106 (commit (string-append "v" version))))
107 (sha256
108 (base32
109 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
110 (file-name (git-file-name name version))))
111 (build-system asdf-build-system/sbcl)
112 (native-inputs
113 `(("rt" ,sbcl-rt)))
114 (synopsis "Collection of portable utilities for Common Lisp")
115 (description
116 "Alexandria is a collection of portable utilities. It does not contain
117 conceptual extensions to Common Lisp. It is conservative in scope, and
118 portable between implementations.")
119 (home-page "https://common-lisp.net/project/alexandria/")
120 (license license:public-domain)))
121
122 (define-public cl-alexandria
123 (sbcl-package->cl-source-package sbcl-alexandria))
124
125 (define-public ecl-alexandria
126 (sbcl-package->ecl-package sbcl-alexandria))
127
128 (define-public sbcl-bodge-utilities
129 (let ((commit "6304bac4abe06d53579e2c0fc4437d14ff077d9f")
130 (revision "1"))
131 (package
132 (name "sbcl-bodge-utilities")
133 (version (git-version "1.0.0" revision commit))
134 (source
135 (origin
136 (method git-fetch)
137 (uri (git-reference
138 (url "https://github.com/borodust/bodge-utilities")
139 (commit commit)))
140 (file-name (git-file-name "bodge-utilities" version))
141 (sha256
142 (base32 "1z1blj05q71vzh323qwyn9p3xs7v0mq2yhwfyzza5libp37wqm3c"))))
143 (build-system asdf-build-system/sbcl)
144 (inputs
145 `(("alexandria" ,sbcl-alexandria)
146 ("cffi" ,sbcl-cffi)
147 ("claw" ,sbcl-claw)
148 ("dissect" ,sbcl-dissect)
149 ("local-time" ,sbcl-local-time)
150 ("log4cl" ,sbcl-log4cl)
151 ("split-sequence" ,sbcl-split-sequence)
152 ("static-vectors" ,sbcl-static-vectors)
153 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
154 (home-page "https://github.com/borodust/bodge-utilities")
155 (synopsis "Common Lisp utilities library for CL-BODGE")
156 (description
157 "This Common Lisp library provides utilities for the @emph{Bodge} library
158 collection.")
159 (license license:expat))))
160
161 (define-public ecl-bodge-utilities
162 (sbcl-package->ecl-package sbcl-bodge-utilities))
163
164 (define-public cl-bodge-utilities
165 (sbcl-package->cl-source-package sbcl-bodge-utilities))
166
167 (define-public sbcl-bodge-queue
168 (let ((commit "948c9a501dcd412689952d09eb7453ec2722336a")
169 (revision "0"))
170 (package
171 (name "sbcl-bodge-queue")
172 (version (git-version "0.0.0" revision commit))
173 (source
174 (origin
175 (method git-fetch)
176 (uri (git-reference
177 (url "https://github.com/borodust/bodge-queue")
178 (commit commit)))
179 (file-name (git-file-name "bodge-queue" version))
180 (sha256
181 (base32 "148hjikqk8v2m30mj15xh89zni6szf9z3prav580qk9dqr8djjdr"))))
182 (build-system asdf-build-system/sbcl)
183 (native-inputs
184 `(("fiveam" ,sbcl-fiveam)))
185 (home-page "https://github.com/borodust/bodge-queue")
186 (synopsis "Simple queue for Common Lisp")
187 (description "This Common Lisp library provides a simple FIFO
188 implementation with no external dependencies.")
189 (license license:expat))))
190
191 (define-public cl-bodge-queue
192 (sbcl-package->cl-source-package sbcl-bodge-queue))
193
194 (define-public ecl-bodge-queue
195 (sbcl-package->ecl-package sbcl-bodge-queue))
196
197 (define-public sbcl-golden-utils
198 (let ((commit "fe1898f9abbd302b0359f017637c063173cf73e1")
199 (revision "3"))
200 (package
201 (name "sbcl-golden-utils")
202 (version (git-version "0.0.0" revision commit))
203 (source
204 (origin
205 (method git-fetch)
206 (uri (git-reference
207 (url "https://git.mfiano.net/mfiano/golden-utils")
208 (commit commit)))
209 (file-name (git-file-name "golden-utils" version))
210 (sha256
211 (base32 "1ljc8yj32lmd1d60446rzl9m0r1ar15gdzacsf6blw1kny8xlrsr"))))
212 (build-system asdf-build-system/sbcl)
213 (inputs
214 `(("alexandria" ,sbcl-alexandria)))
215 (home-page "https://git.mfiano.net/mfiano/golden-utils")
216 (synopsis "Common Lisp utility library")
217 (description
218 "This is a Common Lisp library providing various utilities.")
219 (license license:expat))))
220
221 (define-public ecl-golden-utils
222 (sbcl-package->ecl-package sbcl-golden-utils))
223
224 (define-public cl-golden-utils
225 (sbcl-package->cl-source-package sbcl-golden-utils))
226
227 (define-public sbcl-asdf-finalizers
228 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
229 (revision "1"))
230 (package
231 (name "sbcl-asdf-finalizers")
232 (version (git-version "0.0.0" revision commit))
233 (source
234 (origin
235 (method git-fetch)
236 (uri (git-reference
237 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
238 (commit commit)))
239 (file-name (git-file-name name version))
240 (sha256
241 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
242 (build-system asdf-build-system/sbcl)
243 (native-inputs
244 `(("fare-utils" ,sbcl-fare-utils)
245 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
246 (arguments
247 `(#:asd-files '("asdf-finalizers.asd"
248 "list-of.asd"
249 "asdf-finalizers-test.asd")
250 #:asd-systems '("asdf-finalizers"
251 "list-of")))
252 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
253 (synopsis "Enforced calling of finalizers for Lisp code")
254 (description "This library allows you to implement and enforce proper
255 finalization of compile-time constructs while building Lisp source files.
256
257 It produces two systems: asdf-finalizers and list-of.")
258 (license license:expat))))
259
260 (define-public ecl-asdf-finalizers
261 (sbcl-package->ecl-package sbcl-asdf-finalizers))
262
263 (define-public cl-asdf-finalizers
264 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
265
266 (define-public sbcl-net.didierverna.asdf-flv
267 (package
268 (name "sbcl-net.didierverna.asdf-flv")
269 (version "2.1")
270 (source
271 (origin
272 (method git-fetch)
273 (uri (git-reference
274 (url "https://github.com/didierverna/asdf-flv")
275 (commit (string-append "version-" version))))
276 (file-name (git-file-name "asdf-flv" version))
277 (sha256
278 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
279 (build-system asdf-build-system/sbcl)
280 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
281 (description "ASDF-FLV provides support for file-local variables through
282 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
283 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
284 dynamic binding is created before processing the file, so that any
285 modification to the variable becomes essentially file-local.
286
287 In order to make one or several variables file-local, use the macros
288 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
289 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
290 (license (license:non-copyleft
291 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
292 "GNU All-Permissive License"))))
293
294 (define-public cl-net.didierverna.asdf-flv
295 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
296
297 (define-public ecl-net.didierverna.asdf-flv
298 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
299
300 (define-public sbcl-command-line-arguments
301 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
302 (revision "1"))
303 (package
304 (name "sbcl-command-line-arguments")
305 (version (git-version "2.0.0" revision commit))
306 (source
307 (origin
308 (method git-fetch)
309 (uri (git-reference
310 (url "https://github.com/fare/command-line-arguments")
311 (commit commit)))
312 (file-name (git-file-name name version))
313 (sha256
314 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
315 (build-system asdf-build-system/sbcl)
316 (home-page "https://github.com/fare/command-line-arguments")
317 (synopsis "Trivial command-line argument parsing library for Common Lisp")
318 (description "This is a library to abstract away the parsing of
319 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
320 or cl-launch for portable processing of command-line arguments.")
321 (license license:expat))))
322
323 (define-public ecl-command-line-arguments
324 (sbcl-package->ecl-package sbcl-command-line-arguments))
325
326 (define-public cl-command-line-arguments
327 (sbcl-package->cl-source-package sbcl-command-line-arguments))
328
329 (define-public sbcl-fiveam
330 (package
331 (name "sbcl-fiveam")
332 (version "1.4.2")
333 (source
334 (origin
335 (method git-fetch)
336 (uri (git-reference
337 (url "https://github.com/sionescu/fiveam")
338 (commit (string-append "v" version))))
339 (file-name (git-file-name "fiveam" version))
340 (sha256
341 (base32 "04mh5plmlb15jbq3dkd8b9jl1dmbbg4hnd3k7859vpf6s12k5p4j"))))
342 (inputs
343 `(("alexandria" ,sbcl-alexandria)
344 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
345 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
346 (build-system asdf-build-system/sbcl)
347 (synopsis "Common Lisp testing framework")
348 (description "FiveAM is a simple (as far as writing and running tests
349 goes) regression testing framework. It has been designed with Common Lisp's
350 interactive development model in mind.")
351 (home-page "https://common-lisp.net/project/fiveam/")
352 (license license:bsd-3)))
353
354 (define-public cl-fiveam
355 (sbcl-package->cl-source-package sbcl-fiveam))
356
357 (define-public ecl-fiveam
358 (sbcl-package->ecl-package sbcl-fiveam))
359
360 (define-public sbcl-cl-irc
361 (let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
362 (revision "0"))
363 (package
364 (name "sbcl-cl-irc")
365 (version (git-version "0.9.2" revision commit))
366 (source
367 (origin
368 (method git-fetch)
369 (uri (git-reference
370 (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
371 (commit commit)))
372 (file-name (git-file-name "cl-irc" version))
373 (sha256
374 (base32 "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
375 (build-system asdf-build-system/sbcl)
376 (native-inputs
377 ;; Tests only.
378 `(("rt" ,sbcl-rt)))
379 (inputs
380 `(("cl+ssl" ,sbcl-cl+ssl)
381 ("flexi-streams" ,sbcl-flexi-streams)
382 ("split-sequence" ,sbcl-split-sequence)
383 ("usocket" ,sbcl-usocket)))
384 (arguments
385 `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
386 ;; found by guix otherwise.
387 #:asd-files '("cl-irc.asd")
388 #:test-asd-file "test/cl-irc-test.asd"))
389 (synopsis "IRC client library for Common Lisp")
390 (description "@code{cl-irc} is a Common Lisp IRC client library that
391 features (partial) DCC, CTCP and all relevant commands from the IRC
392 RFCs (RFC2810, RFC2811 and RFC2812).
393
394 Features:
395 @itemize
396 @item implements all commands in the RFCs
397 @item extra convenience commands such as op/deop, ban, ignore, etc.
398 @item partial DCC SEND/CHAT support
399 @item event driven model with hooks makes interfacing easy
400 @item the user can keep multiple connections
401 @item all CTCP commands
402 @end itemize\n")
403 (home-page "https://common-lisp.net/project/cl-irc/")
404 (license license:bsd-2))))
405
406 (define-public cl-irc
407 (sbcl-package->cl-source-package sbcl-cl-irc))
408
409 (define-public ecl-cl-irc
410 (sbcl-package->ecl-package sbcl-cl-irc))
411
412 (define-public sbcl-trivial-timeout
413 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
414 (revision "1"))
415 (package
416 (name "sbcl-trivial-timeout")
417 (version (git-version "0.1.5" revision commit))
418 (source
419 (origin
420 (method git-fetch)
421 (uri (git-reference
422 (url "https://github.com/gwkkwg/trivial-timeout/")
423 (commit commit)))
424 (file-name (git-file-name "trivial-timeout" version))
425 (sha256
426 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
427 (build-system asdf-build-system/sbcl)
428 (native-inputs
429 `(("lift" ,sbcl-lift)))
430 (arguments
431 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
432 ;; tests use some deprecated functionality and keep failing.
433 `(#:tests? #f))
434 (home-page "https://github.com/gwkkwg/trivial-timeout/")
435 (synopsis "Timeout library for Common Lisp")
436 (description
437 "This library provides an OS and implementation independent access to
438 timeouts.")
439 (license license:expat))))
440
441 (define-public ecl-trivial-timeout
442 (sbcl-package->ecl-package sbcl-trivial-timeout))
443
444 (define-public cl-trivial-timeout
445 (sbcl-package->cl-source-package sbcl-trivial-timeout))
446
447 (define-public sbcl-bordeaux-threads
448 (package
449 (name "sbcl-bordeaux-threads")
450 (version "0.8.8")
451 (source (origin
452 (method git-fetch)
453 (uri (git-reference
454 (url "https://github.com/sionescu/bordeaux-threads")
455 (commit (string-append "v" version))))
456 (sha256
457 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
458 (file-name
459 (git-file-name "bordeaux-threads" version))))
460 (inputs `(("alexandria" ,sbcl-alexandria)))
461 (native-inputs `(("fiveam" ,sbcl-fiveam)))
462 (build-system asdf-build-system/sbcl)
463 (synopsis "Portable shared-state concurrency library for Common Lisp")
464 (description "BORDEAUX-THREADS is a proposed standard for a minimal
465 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
466 support.")
467 (home-page "https://common-lisp.net/project/bordeaux-threads/")
468 (license license:x11)))
469
470 (define-public cl-bordeaux-threads
471 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
472
473 (define-public ecl-bordeaux-threads
474 (sbcl-package->ecl-package sbcl-bordeaux-threads))
475
476 (define-public sbcl-trivial-gray-streams
477 (let ((revision "1")
478 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
479 (package
480 (name "sbcl-trivial-gray-streams")
481 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
482 (source
483 (origin
484 (method git-fetch)
485 (uri
486 (git-reference
487 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
488 (commit commit)))
489 (sha256
490 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
491 (file-name
492 (string-append "trivial-gray-streams-" version "-checkout"))))
493 (build-system asdf-build-system/sbcl)
494 (synopsis "Compatibility layer for Gray streams implementations")
495 (description "Gray streams is an interface proposed for inclusion with
496 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
497 popular CL implementations implement it. This package provides an extremely
498 thin compatibility layer for gray streams.")
499 (home-page "https://www.cliki.net/trivial-gray-streams")
500 (license license:x11))))
501
502 (define-public cl-trivial-gray-streams
503 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
504
505 (define-public ecl-trivial-gray-streams
506 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
507
508 (define-public sbcl-fiasco
509 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
510 (revision "1"))
511 (package
512 (name "sbcl-fiasco")
513 (version (git-version "0.0.1" revision commit))
514 (source
515 (origin
516 (method git-fetch)
517 (uri (git-reference
518 (url "https://github.com/joaotavora/fiasco")
519 (commit commit)))
520 (file-name (git-file-name "fiasco" version))
521 (sha256
522 (base32
523 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
524 (build-system asdf-build-system/sbcl)
525 (inputs
526 `(("alexandria" ,sbcl-alexandria)
527 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
528 (synopsis "Simple and powerful test framework for Common Lisp")
529 (description "A Common Lisp test framework that treasures your failures,
530 logical continuation of Stefil. It focuses on interactive debugging.")
531 (home-page "https://github.com/joaotavora/fiasco")
532 ;; LICENCE specifies this is public-domain unless the legislation
533 ;; doesn't allow or recognize it. In that case it falls back to a
534 ;; permissive licence.
535 (license (list license:public-domain
536 (license:x11-style "file://LICENCE"))))))
537
538 (define-public cl-fiasco
539 (sbcl-package->cl-source-package sbcl-fiasco))
540
541 (define-public ecl-fiasco
542 (sbcl-package->ecl-package sbcl-fiasco))
543
544 (define-public sbcl-flexi-streams
545 (package
546 (name "sbcl-flexi-streams")
547 (version "1.0.19")
548 (source
549 (origin
550 (method git-fetch)
551 (uri (git-reference
552 (url "https://github.com/edicl/flexi-streams")
553 (commit (string-append "v" version))))
554 (file-name (git-file-name "flexi-streams" version))
555 (sha256
556 (base32 "0v7lh4nrldzczd4mwylvmxfdxk7wfsli24iv1axd6mkb833llr70"))))
557 (build-system asdf-build-system/sbcl)
558 (arguments
559 `(#:phases
560 (modify-phases %standard-phases
561 (add-after 'unpack 'make-git-checkout-writable
562 (lambda _
563 (for-each make-file-writable (find-files "."))
564 #t)))))
565 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
566 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
567 (description "Flexi-streams is an implementation of \"virtual\" bivalent
568 streams that can be layered atop real binary or bivalent streams and that can
569 be used to read and write character data in various single- or multi-octet
570 encodings which can be changed on the fly. It also supplies in-memory binary
571 streams which are similar to string streams.")
572 (home-page "http://weitz.de/flexi-streams/")
573 (license license:bsd-3)))
574
575 (define-public cl-flexi-streams
576 (sbcl-package->cl-source-package sbcl-flexi-streams))
577
578 (define-public ecl-flexi-streams
579 (sbcl-package->ecl-package sbcl-flexi-streams))
580
581 (define-public sbcl-cl-abnf
582 ;; There are no releases
583 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
584 (revision "1"))
585 (package
586 (name "sbcl-cl-abnf")
587 (version (git-version "0.0.0" revision commit))
588 (source
589 (origin
590 (method git-fetch)
591 (uri (git-reference
592 (url "https://github.com/dimitri/cl-abnf")
593 (commit commit)))
594 (file-name (git-file-name "cl-abnf" version))
595 (sha256
596 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
597 (build-system asdf-build-system/sbcl)
598 (inputs
599 `(("cl-ppcre" ,sbcl-cl-ppcre)
600 ("esrap" ,sbcl-esrap)))
601 (arguments
602 `(#:asd-systems '("abnf")))
603 (home-page "https://github.com/dimitri/cl-abnf")
604 (synopsis "ABNF parser generator for Common Lisp")
605 (description "This Common Lisp library implements a parser generator for
606 the ABNF grammar format as described in RFC2234. The generated parser is a
607 regular expression scanner provided by the cl-ppcre lib, which means that we
608 can't parse recursive grammar definition. One such definition is the ABNF
609 definition as given by the RFC. Fortunately, as you have this lib, you most
610 probably don't need to generate another parser to handle that particular ABNF
611 grammar.")
612 (license license:expat))))
613
614 (define-public cl-abnf
615 (sbcl-package->cl-source-package sbcl-cl-abnf))
616
617 (define-public ecl-cl-abnf
618 (sbcl-package->ecl-package sbcl-cl-abnf))
619
620 (define-public sbcl-cl-ppcre
621 (package
622 (name "sbcl-cl-ppcre")
623 (version "2.1.1")
624 (source
625 (origin
626 (method git-fetch)
627 (uri (git-reference
628 (url "https://github.com/edicl/cl-ppcre")
629 (commit (string-append "v" version))))
630 (file-name (git-file-name "cl-ppcre" version))
631 (sha256
632 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
633 (build-system asdf-build-system/sbcl)
634 (native-inputs
635 `(("flexi-streams" ,sbcl-flexi-streams)))
636 (arguments
637 `(#:phases
638 (modify-phases %standard-phases
639 (add-after 'unpack 'disable-ppcre-unicode
640 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
641 ;; to work around the circular dependency between edicl/cl-ppcre
642 ;; and edicl/cl-unicode.
643 (lambda _
644 (delete-file "cl-ppcre-unicode.asd")
645 #t)))))
646 (synopsis "Portable regular expression library for Common Lisp")
647 (description "CL-PPCRE is a portable regular expression library for Common
648 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
649 compatible with ANSI-compliant Common Lisp implementations.")
650 (home-page "http://weitz.de/cl-ppcre/")
651 (license license:bsd-2)))
652
653 (define-public cl-ppcre
654 (sbcl-package->cl-source-package sbcl-cl-ppcre))
655
656 (define-public ecl-cl-ppcre
657 (sbcl-package->ecl-package sbcl-cl-ppcre))
658
659 (define-public sbcl-parse
660 (let ((commit "2351ee78acac065fcf10b8713d3f404e2e910786")
661 (revision "1"))
662 (package
663 (name "sbcl-parse")
664 (version (git-version "1.0" revision commit))
665 (source
666 (origin
667 (method git-fetch)
668 (uri (git-reference
669 (url "https://github.com/massung/parse")
670 (commit commit)))
671 (file-name (git-file-name "parse" version))
672 (sha256
673 (base32 "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy"))))
674 (build-system asdf-build-system/sbcl)
675 (home-page "https://github.com/massung/parse")
676 (synopsis "Monadic parsing for Common Lisp")
677 (description
678 "PARSE is a simple token parsing library for Common Lisp.")
679 (license license:asl2.0))))
680
681 (define-public ecl-parse
682 (sbcl-package->ecl-package sbcl-parse))
683
684 (define-public cl-parse
685 (sbcl-package->cl-source-package sbcl-parse))
686
687 (define-public sbcl-re
688 (let ((commit "cfbc1f482970221e80d445080a188fd5c755cd2c")
689 (revision "1"))
690 (package
691 (name "sbcl-re")
692 (version (git-version "1.0" revision commit))
693 (source
694 (origin
695 (method git-fetch)
696 (uri (git-reference
697 (url "https://github.com/massung/re")
698 (commit commit)))
699 (file-name (git-file-name "re" version))
700 (sha256
701 (base32 "1y2gq2sckspnq8118bix55p2j43dk9qn3p8a2rplp1ip2qxqbb1i"))))
702 (build-system asdf-build-system/sbcl)
703 (inputs
704 `(("parse" ,sbcl-parse)))
705 (home-page "https://github.com/massung/re")
706 (synopsis "Lua-style Pattern Matching for Common Lisp")
707 (description
708 "RE is a small, portable, lightweight, and quick, regular
709 expression library for Common Lisp. It is a non-recursive, backtracing VM.")
710 (license license:asl2.0))))
711
712 (define-public ecl-re
713 (sbcl-package->ecl-package sbcl-re))
714
715 (define-public cl-re
716 (sbcl-package->cl-source-package sbcl-re))
717
718 (define-public sbcl-ubiquitous
719 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
720 (revision "1"))
721 (package
722 (name "sbcl-ubiquitous")
723 (version (git-version "2.0.0" revision commit))
724 (source
725 (origin
726 (method git-fetch)
727 (uri (git-reference
728 (url "https://github.com/Shinmera/ubiquitous")
729 (commit commit)))
730 (file-name (git-file-name "ubiquitous" version))
731 (sha256
732 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
733 (build-system asdf-build-system/sbcl)
734 (inputs
735 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
736 (arguments
737 '(#:asd-systems '("ubiquitous"
738 "ubiquitous-concurrent")))
739 (home-page "https://shinmera.github.io/ubiquitous/")
740 (synopsis "Application configuration mechanism for Common Lisp")
741 (description
742 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
743 configuration storage. It automatically takes care of finding a suitable place
744 to save your data, and provides simple functions to access and modify the data
745 within.")
746 (license license:zlib))))
747
748 (define-public ecl-ubiquitous
749 (sbcl-package->ecl-package sbcl-ubiquitous))
750
751 (define-public cl-ubiquitous
752 (sbcl-package->cl-source-package sbcl-ubiquitous))
753
754 (define-public sbcl-uax-15
755 (package
756 (name "sbcl-uax-15")
757 (version "0.1.1")
758 (source
759 (origin
760 (method git-fetch)
761 (uri (git-reference
762 (url "https://github.com/sabracrolleton/uax-15")
763 (commit (string-append "v" version))))
764 (file-name (git-file-name "uax-15" version))
765 (sha256
766 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
767 (build-system asdf-build-system/sbcl)
768 (arguments
769 `(#:asd-systems
770 '("uax-15")))
771 (native-inputs
772 `(("fiveam" ,sbcl-fiveam)))
773 (inputs
774 `(("cl-ppcre" ,sbcl-cl-ppcre)
775 ("split-sequence" ,sbcl-split-sequence)))
776 (home-page "https://github.com/sabracrolleton/uax-15")
777 (synopsis "Common Lisp implementation of unicode normalization functions")
778 (description
779 "This package provides supports for unicode normalization, RFC8264 and
780 RFC7564.")
781 (license license:expat)))
782
783 (define-public cl-uax-15
784 (sbcl-package->cl-source-package sbcl-uax-15))
785
786 (define-public ecl-uax-15
787 (sbcl-package->ecl-package sbcl-uax-15))
788
789 (define-public sbcl-cl-unicode
790 (package
791 (name "sbcl-cl-unicode")
792 (version "0.1.6")
793 (source (origin
794 (method git-fetch)
795 (uri (git-reference
796 (url "https://github.com/edicl/cl-unicode")
797 (commit (string-append "v" version))))
798 (file-name (git-file-name name version))
799 (sha256
800 (base32
801 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
802 (build-system asdf-build-system/sbcl)
803 (native-inputs
804 `(("flexi-streams" ,sbcl-flexi-streams)))
805 (inputs
806 `(("cl-ppcre" ,sbcl-cl-ppcre)))
807 (home-page "http://weitz.de/cl-unicode/")
808 (synopsis "Portable Unicode library for Common Lisp")
809 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
810 is compatible with perl. It is pretty fast, thread-safe, and compatible with
811 ANSI-compliant Common Lisp implementations.")
812 (license license:bsd-2)))
813
814 (define-public ecl-cl-unicode
815 (sbcl-package->ecl-package sbcl-cl-unicode))
816
817 (define-public cl-unicode
818 (sbcl-package->cl-source-package sbcl-cl-unicode))
819
820 (define-public sbcl-cl-ppcre-unicode
821 (package (inherit sbcl-cl-ppcre)
822 (name "sbcl-cl-ppcre-unicode")
823 (inputs
824 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
825 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
826 (arguments
827 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
828 #:phases
829 (modify-phases %standard-phases
830 (add-after 'unpack 'disable-ppcre
831 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
832 ;; to work around the circular dependency between edicl/cl-ppcre
833 ;; and edicl/cl-unicode.
834 (lambda _
835 (delete-file "cl-ppcre.asd")
836 #t)))))))
837
838 (define-public cl-ppcre-unicode
839 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
840
841 (define-public ecl-cl-ppcre-unicode
842 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
843
844 (define-public sbcl-zpb-ttf
845 (package
846 (name "sbcl-zpb-ttf")
847 (version "1.0.3")
848 (source
849 (origin
850 (method git-fetch)
851 (uri (git-reference
852 (url "https://github.com/xach/zpb-ttf")
853 (commit (string-append "release-" version))))
854 (file-name (git-file-name name version))
855 (sha256
856 (base32
857 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
858 (build-system asdf-build-system/sbcl)
859 (home-page "https://github.com/xach/zpb-ttf")
860 (synopsis "TrueType font file access for Common Lisp")
861 (description
862 "ZPB-TTF is a TrueType font file parser that provides an interface for
863 reading typographic metrics, glyph outlines, and other information from the
864 file.")
865 (license license:bsd-2)))
866
867 (define-public ecl-zpb-ttf
868 (sbcl-package->ecl-package sbcl-zpb-ttf))
869
870 (define-public cl-zpb-ttf
871 (sbcl-package->cl-source-package sbcl-zpb-ttf))
872
873 (define-public sbcl-cl-vectors
874 (package
875 (name "sbcl-cl-vectors")
876 (version "0.1.5")
877 (source
878 (origin
879 (method url-fetch)
880 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
881 "files/cl-vectors-" version ".tar.gz"))
882 (sha256
883 (base32
884 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
885 (build-system asdf-build-system/sbcl)
886 (inputs
887 `(("zpb-ttf" ,sbcl-zpb-ttf)))
888 (arguments
889 '(#:asd-systems '("cl-vectors"
890 "cl-paths-ttf")))
891 (home-page "http://projects.tuxee.net/cl-vectors/")
892 (synopsis "Create, transform and render anti-aliased vectorial paths")
893 (description
894 "This is a pure Common Lisp library to create, transform and render
895 anti-aliased vectorial paths.")
896 (license license:expat)))
897
898 (define-public ecl-cl-vectors
899 (sbcl-package->ecl-package sbcl-cl-vectors))
900
901 (define-public cl-vectors
902 (sbcl-package->cl-source-package sbcl-cl-vectors))
903
904 (define-public sbcl-spatial-trees
905 ;; There have been no releases.
906 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
907 (revision "1"))
908 (package
909 (name "sbcl-spatial-trees")
910 (version (git-version "0" revision commit))
911 (source
912 (origin
913 (method git-fetch)
914 (uri (git-reference
915 (url "https://github.com/rpav/spatial-trees")
916 (commit commit)))
917 (file-name (git-file-name name version))
918 (sha256
919 (base32
920 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
921 (build-system asdf-build-system/sbcl)
922 (arguments
923 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
924 #:test-asd-file "spatial-trees.test.asd"))
925 (native-inputs
926 `(("fiveam" ,sbcl-fiveam)))
927 (home-page "https://github.com/rpav/spatial-trees")
928 (synopsis "Dynamic index data structures for spatially-extended data")
929 (description
930 "Spatial-trees is a set of dynamic index data structures for
931 spatially-extended data.")
932 (license license:bsd-3))))
933
934 (define-public ecl-spatial-trees
935 (sbcl-package->ecl-package sbcl-spatial-trees))
936
937 (define-public cl-spatial-trees
938 (sbcl-package->cl-source-package sbcl-spatial-trees))
939
940 (define-public sbcl-flexichain
941 ;; There are no releases.
942 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
943 (revision "1"))
944 (package
945 (name "sbcl-flexichain")
946 (version "1.5.1")
947 (source
948 (origin
949 (method git-fetch)
950 (uri (git-reference
951 (url "https://github.com/robert-strandh/Flexichain")
952 (commit commit)))
953 (file-name (git-file-name name version))
954 (sha256
955 (base32
956 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
957 (build-system asdf-build-system/sbcl)
958 (home-page "https://github.com/robert-strandh/Flexichain.git")
959 (synopsis "Dynamically add elements to or remove them from sequences")
960 (description
961 "This package provides an implementation of the flexichain protocol,
962 allowing client code to dynamically add elements to, and delete elements from
963 a sequence (or chain) of such elements.")
964 (license license:lgpl2.1+))))
965
966 (define-public ecl-flexichain
967 (sbcl-package->ecl-package sbcl-flexichain))
968
969 (define-public cl-flexichain
970 (sbcl-package->cl-source-package sbcl-flexichain))
971
972 (define-public sbcl-cl-pdf
973 (let ((commit "dbafd62afcb2d2e9164054c72612763721297d59")
974 (revision "1"))
975 (package
976 (name "sbcl-cl-pdf")
977 (version (git-version "2.0.0" revision commit))
978 (source
979 (origin
980 (method git-fetch)
981 (uri (git-reference
982 (url "https://github.com/mbattyani/cl-pdf")
983 (commit commit)))
984 (file-name (git-file-name "cl-pdf" version))
985 (sha256
986 (base32 "0w6igiav35a65h6r4p1g6dw2i7mw0s06mviw31768r6z62l1ny1v"))))
987 (build-system asdf-build-system/sbcl)
988 (inputs
989 `(("iterate" ,sbcl-iterate)
990 ("zpb-ttf" ,sbcl-zpb-ttf)))
991 (home-page "https://github.com/mbattyani/cl-pdf")
992 (synopsis "Common Lisp library for generating PDF files")
993 (description
994 "CL-PDF is a cross-platform Common Lisp library for generating PDF
995 files.")
996 (license license:bsd-2))))
997
998 (define-public ecl-cl-pdf
999 (sbcl-package->ecl-package sbcl-cl-pdf))
1000
1001 (define-public cl-pdf
1002 (sbcl-package->cl-source-package sbcl-cl-pdf))
1003
1004 (define-public sbcl-clx
1005 (package
1006 (name "sbcl-clx")
1007 (version "0.7.5")
1008 (source
1009 (origin
1010 (method git-fetch)
1011 (uri
1012 (git-reference
1013 (url "https://github.com/sharplispers/clx")
1014 (commit version)))
1015 (sha256
1016 (base32
1017 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
1018 (file-name (string-append "clx-" version))))
1019 (build-system asdf-build-system/sbcl)
1020 (native-inputs
1021 `(("fiasco" ,sbcl-fiasco)))
1022 (home-page "https://www.cliki.net/portable-clx")
1023 (synopsis "X11 client library for Common Lisp")
1024 (description "CLX is an X11 client library for Common Lisp. The code was
1025 originally taken from a CMUCL distribution, was modified somewhat in order to
1026 make it compile and run under SBCL, then a selection of patches were added
1027 from other CLXes around the net.")
1028 (license license:x11)))
1029
1030 (define-public cl-clx
1031 (sbcl-package->cl-source-package sbcl-clx))
1032
1033 (define-public ecl-clx
1034 (sbcl-package->ecl-package sbcl-clx))
1035
1036 (define-public sbcl-clx-truetype
1037 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
1038 (revision "1"))
1039 (package
1040 (name "sbcl-clx-truetype")
1041 (version (git-version "0.0.1" revision commit))
1042 (source
1043 (origin
1044 (method git-fetch)
1045 (uri (git-reference
1046 (url "https://github.com/l04m33/clx-truetype")
1047 (commit commit)))
1048 (file-name (git-file-name name version))
1049 (sha256
1050 (base32
1051 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
1052 (modules '((guix build utils)))
1053 (snippet
1054 '(begin
1055 (substitute* "package.lisp"
1056 ((":export") ":export\n :+font-cache-filename+"))
1057 #t))))
1058 (build-system asdf-build-system/sbcl)
1059 (inputs
1060 `(("clx" ,sbcl-clx)
1061 ("zpb-ttf" ,sbcl-zpb-ttf)
1062 ("cl-vectors" ,sbcl-cl-vectors)
1063 ("cl-fad" ,sbcl-cl-fad)
1064 ("cl-store" ,sbcl-cl-store)
1065 ("trivial-features" ,sbcl-trivial-features)))
1066 (home-page "https://github.com/l04m33/clx-truetype")
1067 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
1068 (description "CLX-TrueType is pure common lisp solution for
1069 antialiased TrueType font rendering using CLX and XRender extension.")
1070 (license license:expat))))
1071
1072 (define-public cl-clx-truetype
1073 (sbcl-package->cl-source-package sbcl-clx-truetype))
1074
1075 (define-public ecl-clx-truetype
1076 (sbcl-package->ecl-package sbcl-clx-truetype))
1077
1078 (define-public sbcl-slynk
1079 (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309"))
1080 (package
1081 (name "sbcl-slynk")
1082 (version (git-version "1.0.43" "4" commit))
1083 (source
1084 (origin
1085 (method git-fetch)
1086 (uri
1087 (git-reference
1088 (url "https://github.com/joaotavora/sly")
1089 (commit commit)))
1090 (sha256
1091 (base32 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"))
1092 (file-name (git-file-name "slynk" version))))
1093 (build-system asdf-build-system/sbcl)
1094 (outputs '("out" "image"))
1095 (arguments
1096 `(#:phases
1097 (modify-phases %standard-phases
1098 (add-after 'create-asdf-configuration 'build-image
1099 (lambda* (#:key outputs #:allow-other-keys)
1100 (build-image (string-append
1101 (assoc-ref %outputs "image")
1102 "/bin/slynk")
1103 %outputs
1104 #:dependencies '("slynk"
1105 "slynk/arglists"
1106 "slynk/fancy-inspector"
1107 "slynk/package-fu"
1108 "slynk/mrepl"
1109 "slynk/trace-dialog"
1110 "slynk/profiler"
1111 "slynk/stickers"
1112 "slynk/indentation"
1113 "slynk/retro"))
1114 #t)))))
1115 (synopsis "Common Lisp IDE for Emacs")
1116 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
1117 It also features a completely redesigned REPL based on Emacs's own
1118 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
1119 button interface. Everything can be copied to the REPL. One can create
1120 multiple inspectors with independent history.")
1121 (home-page "https://github.com/joaotavora/sly")
1122 (license license:public-domain)
1123 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
1124
1125 (define-public cl-slynk
1126 (sbcl-package->cl-source-package sbcl-slynk))
1127
1128 (define-public ecl-slynk
1129 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
1130 (package
1131 (inherit pkg)
1132 (outputs '("out"))
1133 (arguments
1134 (substitute-keyword-arguments (package-arguments pkg)
1135 ((#:phases phases)
1136 `(modify-phases ,phases
1137 (delete 'build-image))))))))
1138
1139 (define-public sbcl-parse-js
1140 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
1141 (revision "1"))
1142 (package
1143 (name "sbcl-parse-js")
1144 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
1145 (source
1146 (origin
1147 (method git-fetch)
1148 (uri (git-reference
1149 (url "http://marijn.haverbeke.nl/git/parse-js")
1150 (commit commit)))
1151 (file-name (string-append name "-" commit "-checkout"))
1152 (sha256
1153 (base32
1154 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
1155 (build-system asdf-build-system/sbcl)
1156 (home-page "https://marijnhaverbeke.nl/parse-js/")
1157 (synopsis "Parse JavaScript")
1158 (description "Parse-js is a Common Lisp package for parsing
1159 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
1160 (license license:zlib))))
1161
1162 (define-public cl-parse-js
1163 (sbcl-package->cl-source-package sbcl-parse-js))
1164
1165 (define-public ecl-parse-js
1166 (sbcl-package->ecl-package sbcl-parse-js))
1167
1168 (define-public sbcl-parse-number
1169 (package
1170 (name "sbcl-parse-number")
1171 (version "1.7")
1172 (source
1173 (origin
1174 (method git-fetch)
1175 (uri (git-reference
1176 (url "https://github.com/sharplispers/parse-number/")
1177 (commit (string-append "v" version))))
1178 (file-name (git-file-name name version))
1179 (sha256
1180 (base32
1181 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
1182 (build-system asdf-build-system/sbcl)
1183 (home-page "https://www.cliki.net/PARSE-NUMBER")
1184 (synopsis "Parse numbers")
1185 (description "@code{parse-number} is a library of functions for parsing
1186 strings into one of the standard Common Lisp number types without using the
1187 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1188 the string into one of the standard Common Lisp number types, if possible, or
1189 else @code{parse-number} signals an error of type @code{invalid-number}.")
1190 (license license:bsd-3)))
1191
1192 (define-public cl-parse-number
1193 (sbcl-package->cl-source-package sbcl-parse-number))
1194
1195 (define-public ecl-parse-number
1196 (sbcl-package->ecl-package sbcl-parse-number))
1197
1198 (define-public sbcl-iterate
1199 (package
1200 (name "sbcl-iterate")
1201 (version "1.5")
1202 (source
1203 (origin
1204 (method url-fetch)
1205 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1206 "iterate-" version ".tar.gz"))
1207 (sha256
1208 (base32
1209 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1210 (build-system asdf-build-system/sbcl)
1211 (native-inputs
1212 `(("rt" ,sbcl-rt)))
1213 (home-page "https://common-lisp.net/project/iterate/")
1214 (synopsis "Iteration construct for Common Lisp")
1215 (description "@code{iterate} is an iteration construct for Common Lisp.
1216 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1217
1218 @itemize
1219 @item it is extensible,
1220 @item it helps editors like Emacs indent iterate forms by having a more
1221 lisp-like syntax, and
1222 @item it isn't part of the ANSI standard for Common Lisp.
1223 @end itemize\n")
1224 (license license:expat)))
1225
1226 (define-public cl-iterate
1227 (sbcl-package->cl-source-package sbcl-iterate))
1228
1229 (define-public ecl-iterate
1230 (sbcl-package->ecl-package sbcl-iterate))
1231
1232 (define-public sbcl-cl-uglify-js
1233 ;; There have been many bug fixes since the 2010 release.
1234 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1235 (revision "1"))
1236 (package
1237 (name "sbcl-cl-uglify-js")
1238 (version (string-append "0.1-" revision "." (string-take commit 9)))
1239 (source
1240 (origin
1241 (method git-fetch)
1242 (uri (git-reference
1243 (url "https://github.com/mishoo/cl-uglify-js")
1244 (commit commit)))
1245 (file-name (git-file-name name version))
1246 (sha256
1247 (base32
1248 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1249 (build-system asdf-build-system/sbcl)
1250 (inputs
1251 `(("sbcl-parse-js" ,sbcl-parse-js)
1252 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1253 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1254 ("sbcl-parse-number" ,sbcl-parse-number)
1255 ("sbcl-iterate" ,sbcl-iterate)))
1256 (home-page "https://github.com/mishoo/cl-uglify-js")
1257 (synopsis "JavaScript compressor library for Common Lisp")
1258 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1259 compressor. It works on data produced by @code{parse-js} to generate a
1260 @dfn{minified} version of the code. Currently it can:
1261
1262 @itemize
1263 @item reduce variable names (usually to single letters)
1264 @item join consecutive @code{var} statements
1265 @item resolve simple binary expressions
1266 @item group most consecutive statements using the @code{sequence} operator (comma)
1267 @item remove unnecessary blocks
1268 @item convert @code{IF} expressions in various ways that result in smaller code
1269 @item remove some unreachable code
1270 @end itemize\n")
1271 (license license:zlib))))
1272
1273 (define-public cl-uglify-js
1274 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1275
1276 (define-public ecl-cl-uglify-js
1277 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1278
1279 (define-public uglify-js
1280 (package
1281 (inherit sbcl-cl-uglify-js)
1282 (name "uglify-js")
1283 (build-system trivial-build-system)
1284 (arguments
1285 `(#:modules ((guix build utils))
1286 #:builder
1287 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1288 (script (string-append bin "uglify-js")))
1289 (use-modules (guix build utils))
1290 (mkdir-p bin)
1291 (with-output-to-file script
1292 (lambda _
1293 (format #t "#!~a/bin/sbcl --script
1294
1295 (require :asdf)
1296 (asdf:initialize-source-registry
1297 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1298 (asdf:initialize-output-translations
1299 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1300 (assoc-ref %build-inputs "sbcl")
1301 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1302 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1303 ;; FIXME: cannot use progn here because otherwise it fails to
1304 ;; find cl-uglify-js.
1305 (for-each
1306 write
1307 '(;; Quiet, please!
1308 (let ((*standard-output* (make-broadcast-stream))
1309 (*error-output* (make-broadcast-stream)))
1310 (asdf:load-system :cl-uglify-js))
1311 (let ((file (cadr *posix-argv*)))
1312 (if file
1313 (format t "~a"
1314 (cl-uglify-js:ast-gen-code
1315 (cl-uglify-js:ast-mangle
1316 (cl-uglify-js:ast-squeeze
1317 (with-open-file (in file)
1318 (parse-js:parse-js in))))
1319 :beautify nil))
1320 (progn
1321 (format *error-output*
1322 "Please provide a JavaScript file.~%")
1323 (sb-ext:exit :code 1))))))))
1324 (chmod script #o755)
1325 #t)))
1326 (inputs
1327 `(("sbcl" ,sbcl)
1328 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1329 (synopsis "JavaScript compressor")))
1330
1331 (define-public sbcl-cl-strings
1332 (let ((revision "1")
1333 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1334 (package
1335 (name "sbcl-cl-strings")
1336 (version (git-version "0.0.0" revision commit))
1337 (source
1338 (origin
1339 (method git-fetch)
1340 (uri (git-reference
1341 (url "https://github.com/diogoalexandrefranco/cl-strings")
1342 (commit commit)))
1343 (sha256
1344 (base32
1345 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1346 (file-name (string-append "cl-strings-" version "-checkout"))))
1347 (build-system asdf-build-system/sbcl)
1348 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1349 (description
1350 "@command{cl-strings} is a small, portable, dependency-free set of
1351 utilities that make it even easier to manipulate text in Common Lisp. It has
1352 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1353 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1354 (license license:expat))))
1355
1356 (define-public cl-strings
1357 (sbcl-package->cl-source-package sbcl-cl-strings))
1358
1359 (define-public ecl-cl-strings
1360 (sbcl-package->ecl-package sbcl-cl-strings))
1361
1362 (define-public sbcl-trivial-features
1363 (package
1364 (name "sbcl-trivial-features")
1365 (version "1.0")
1366 (source
1367 (origin
1368 (method git-fetch)
1369 (uri (git-reference
1370 (url "https://github.com/trivial-features/trivial-features")
1371 (commit (string-append "v" version))))
1372 (file-name (git-file-name "trivial-features" version))
1373 (sha256
1374 (base32 "0jsqah1znzqilxnw5vannb083ayk0d7phkackqzwwqkyg5hpn6pq"))))
1375 (build-system asdf-build-system/sbcl)
1376 (arguments
1377 '(#:asd-files '("trivial-features.asd")
1378 ;; FIXME: Tests disabled because of a circular dependency between
1379 ;; trivial-features and cffi.
1380 #:tests? #f))
1381 ;; (native-inputs
1382 ;; `(("cffi" ,sbcl-cffi)))
1383 (home-page "https://cliki.net/trivial-features")
1384 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1385 (description "Trivial-features ensures that @code{*FEATURES*} is
1386 consistent across multiple Common Lisp implementations.")
1387 (license license:expat)))
1388
1389 (define-public cl-trivial-features
1390 (sbcl-package->cl-source-package sbcl-trivial-features))
1391
1392 (define-public ecl-trivial-features
1393 (sbcl-package->ecl-package sbcl-trivial-features))
1394
1395 (define-public sbcl-hu.dwim.asdf
1396 (let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59"))
1397 (package
1398 (name "sbcl-hu.dwim.asdf")
1399 (version "20200724")
1400 (source
1401 (origin
1402 (method git-fetch)
1403 (uri (git-reference
1404 (url "https://github.com/hu-dwim/hu.dwim.asdf")
1405 (commit commit)))
1406 (file-name (git-file-name name version))
1407 (sha256
1408 (base32
1409 "0p81jalilkaqw832a12s35q0z6rrarxjasm1jy6h4fvyj9pf0zkx"))))
1410 (build-system asdf-build-system/sbcl)
1411 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1412 (synopsis "Extensions to ASDF")
1413 (description "Various ASDF extensions such as attached test and
1414 documentation system, explicit development support, etc.")
1415 (license license:public-domain))))
1416
1417 (define-public cl-hu.dwim.asdf
1418 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1419
1420 (define-public ecl-hu.dwim.asdf
1421 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1422
1423 (define-public sbcl-hu.dwim.stefil
1424 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
1425 (package
1426 (name "sbcl-hu.dwim.stefil")
1427 (version (git-version "0.0.0" "2" commit))
1428 (source
1429 (origin
1430 (method git-fetch)
1431 (uri
1432 (git-reference
1433 (url "https://github.com/hu-dwim/hu.dwim.stefil")
1434 (commit commit)))
1435 (sha256
1436 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
1437 (file-name (git-file-name "hu.dwim.stefil" version))))
1438 (build-system asdf-build-system/sbcl)
1439 (native-inputs
1440 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1441 (inputs
1442 `(("sbcl-alexandria" ,sbcl-alexandria)))
1443 (home-page "http://dwim.hu/project/hu.dwim.stefil")
1444 (synopsis "Simple test framework")
1445 (description "Stefil is a simple test framework for Common Lisp,
1446 with a focus on interactive development.")
1447 (license license:public-domain))))
1448
1449 (define-public cl-hu.dwim.stefil
1450 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1451
1452 (define-public ecl-hu.dwim.stefil
1453 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1454
1455 (define-public sbcl-babel
1456 ;; No release since 2014.
1457 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1458 (package
1459 (name "sbcl-babel")
1460 (version (git-version "0.5.0" "1" commit))
1461 (source
1462 (origin
1463 (method git-fetch)
1464 (uri (git-reference
1465 (url "https://github.com/cl-babel/babel")
1466 (commit commit)))
1467 (file-name (git-file-name "babel" version))
1468 (sha256
1469 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1470 (build-system asdf-build-system/sbcl)
1471 (native-inputs
1472 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1473 (inputs
1474 `(("sbcl-alexandria" ,sbcl-alexandria)
1475 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1476 (home-page "https://common-lisp.net/project/babel/")
1477 (synopsis "Charset encoding and decoding library")
1478 (description "Babel is a charset encoding and decoding library, not unlike
1479 GNU libiconv, but completely written in Common Lisp.")
1480 (license license:expat))))
1481
1482 (define-public cl-babel
1483 (sbcl-package->cl-source-package sbcl-babel))
1484
1485 (define-public ecl-babel
1486 (sbcl-package->ecl-package sbcl-babel))
1487
1488 (define-public sbcl-cl-yacc
1489 (package
1490 (name "sbcl-cl-yacc")
1491 (version "0.3")
1492 (source
1493 (origin
1494 (method git-fetch)
1495 (uri (git-reference
1496 (url "https://github.com/jech/cl-yacc")
1497 (commit (string-append "cl-yacc-" version))))
1498 (sha256
1499 (base32
1500 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1501 (file-name (string-append "cl-yacc-" version "-checkout"))))
1502 (build-system asdf-build-system/sbcl)
1503 (arguments
1504 `(#:asd-systems '("yacc")))
1505 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1506 (description
1507 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1508 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1509
1510 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1511 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1512 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1513 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1514 (license license:expat)))
1515
1516 (define-public cl-yacc
1517 (sbcl-package->cl-source-package sbcl-cl-yacc))
1518
1519 (define-public ecl-cl-yacc
1520 (sbcl-package->ecl-package sbcl-cl-yacc))
1521
1522 (define-public sbcl-eager-future2
1523 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1524 (package
1525 (name "sbcl-eager-future2")
1526 (version (git-version "0.0.0" "1" commit))
1527 (source
1528 (origin
1529 (method git-fetch)
1530 (uri (git-reference
1531 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1532 (commit commit)))
1533 (file-name (git-file-name name version))
1534 (sha256
1535 (base32
1536 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1537 (build-system asdf-build-system/sbcl)
1538 (inputs
1539 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1540 ("trivial-garbage" ,sbcl-trivial-garbage)))
1541 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1542 (description
1543 "Eager Future2 is a Common Lisp library that provides composable
1544 concurrency primitives that unify parallel and lazy evaluation, are integrated
1545 with the Common Lisp condition system, and have automatic resource
1546 management.")
1547 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1548 (license license:lgpl3+))))
1549
1550 (define-public cl-eager-future2
1551 (sbcl-package->cl-source-package sbcl-eager-future2))
1552
1553 (define-public ecl-eager-future2
1554 (sbcl-package->ecl-package sbcl-eager-future2))
1555
1556 (define-public sbcl-jpl-util
1557 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1558 (package
1559 (name "sbcl-jpl-util")
1560 (version "20151005")
1561 (source
1562 (origin
1563 (method git-fetch)
1564 (uri (git-reference
1565 ;; Quicklisp uses this fork.
1566 (url "https://github.com/hawkir/cl-jpl-util")
1567 (commit commit)))
1568 (file-name
1569 (git-file-name "jpl-util" version))
1570 (sha256
1571 (base32
1572 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1573 (build-system asdf-build-system/sbcl)
1574 (synopsis "Collection of Common Lisp utility functions and macros")
1575 (description
1576 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1577 and macros, primarily for software projects written in CL by the author.")
1578 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1579 (license license:isc))))
1580
1581 (define-public cl-jpl-util
1582 (sbcl-package->cl-source-package sbcl-jpl-util))
1583
1584 (define-public ecl-jpl-util
1585 (sbcl-package->ecl-package sbcl-jpl-util))
1586
1587 (define-public sbcl-piping
1588 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1589 (revision "1"))
1590 (package
1591 (name "sbcl-piping")
1592 (version (git-version "2.0.0" revision commit))
1593 (source
1594 (origin
1595 (method git-fetch)
1596 (uri (git-reference
1597 (url "https://github.com/Shinmera/piping/")
1598 (commit commit)))
1599 (file-name (git-file-name "piping" version))
1600 (sha256
1601 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1602 (build-system asdf-build-system/sbcl)
1603 (home-page "https://shinmera.github.io/piping/")
1604 (synopsis "Library to enable simple message pipelines")
1605 (description
1606 "This is a Common Lisp library to enable simple message pipelines.")
1607 (license license:zlib))))
1608
1609 (define-public ecl-piping
1610 (sbcl-package->ecl-package sbcl-piping))
1611
1612 (define-public cl-piping
1613 (sbcl-package->cl-source-package sbcl-piping))
1614
1615 (define-public sbcl-cl-pcg
1616 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1617 (revision "1"))
1618 (package
1619 (name "sbcl-cl-pcg")
1620 (version (git-version "1.0.0" revision commit))
1621 (source
1622 (origin
1623 (method git-fetch)
1624 (uri (git-reference
1625 (url "https://github.com/sjl/cl-pcg")
1626 (commit commit)))
1627 (file-name (git-file-name "cl-pcg" version))
1628 (sha256
1629 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1630 (build-system asdf-build-system/sbcl)
1631 (native-inputs
1632 `(("1am" ,sbcl-1am)))
1633 (home-page "https://github.com/sjl/cl-pcg")
1634 (synopsis "Permuted congruential generators in Common Lisp")
1635 (description
1636 "This is a bare-bones Permuted Congruential Generator implementation in
1637 pure Common Lisp.")
1638 (license license:expat))))
1639
1640 (define-public ecl-cl-pcg
1641 (sbcl-package->ecl-package sbcl-cl-pcg))
1642
1643 (define-public cl-pcg
1644 (sbcl-package->cl-source-package sbcl-cl-pcg))
1645
1646 (define-public sbcl-seedable-rng
1647 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1648 (revision "1"))
1649 (package
1650 (name "sbcl-seedable-rng")
1651 (version (git-version "0.0.0" revision commit))
1652 (source
1653 (origin
1654 (method git-fetch)
1655 (uri (git-reference
1656 (url "https://git.mfiano.net/mfiano/seedable-rng")
1657 (commit commit)))
1658 (file-name (git-file-name "seedable-rng" version))
1659 (sha256
1660 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1661 (build-system asdf-build-system/sbcl)
1662 (inputs
1663 `(("cl-pcg" ,sbcl-cl-pcg)
1664 ("golden-utils" ,sbcl-golden-utils)
1665 ("ironclad" ,sbcl-ironclad)))
1666 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1667 (synopsis "Common Lisp random number generator")
1668 (description
1669 "SEEDABLE-RNG provides a convenient means of generating random numbers
1670 that are seedable with deterministic results across hardware and Common Lisp
1671 implementations.")
1672 (license license:expat))))
1673
1674 (define-public ecl-seedable-rng
1675 (sbcl-package->ecl-package sbcl-seedable-rng))
1676
1677 (define-public cl-seedable-rng
1678 (sbcl-package->cl-source-package sbcl-seedable-rng))
1679
1680 (define-public sbcl-jpl-queues
1681 (package
1682 (name "sbcl-jpl-queues")
1683 (version "0.1")
1684 (source
1685 (origin
1686 (method url-fetch)
1687 (uri (string-append
1688 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1689 version
1690 ".tar.gz"))
1691 (sha256
1692 (base32
1693 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1694 (build-system asdf-build-system/sbcl)
1695 (inputs
1696 `(("jpl-util" ,sbcl-jpl-util)
1697 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1698 (arguments
1699 ;; Tests seem to be broken.
1700 `(#:tests? #f))
1701 (synopsis "Common Lisp library implementing a few different kinds of queues")
1702 (description
1703 "A Common Lisp library implementing a few different kinds of queues:
1704
1705 @itemize
1706 @item Bounded and unbounded FIFO queues.
1707 @item Lossy bounded FIFO queues that drop elements when full.
1708 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1709 @end itemize
1710
1711 Additionally, a synchronization wrapper is provided to make any queue
1712 conforming to the @command{jpl-queues} API thread-safe for lightweight
1713 multithreading applications. (See Calispel for a more sophisticated CL
1714 multithreaded message-passing library with timeouts and alternation among
1715 several blockable channels.)")
1716 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1717 (license license:isc)))
1718
1719 (define-public cl-jpl-queues
1720 (sbcl-package->cl-source-package sbcl-jpl-queues))
1721
1722 (define-public ecl-jpl-queues
1723 (sbcl-package->ecl-package sbcl-jpl-queues))
1724
1725 (define-public sbcl-calispel
1726 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1727 (package
1728 (name "sbcl-calispel")
1729 (version (git-version "0.1" "1" commit))
1730 (source
1731 (origin
1732 (method git-fetch)
1733 (uri (git-reference
1734 ;; This fork replaces the dependency on the obsolete
1735 ;; eager-future with eager-future2.
1736 (url "https://github.com/hawkir/calispel")
1737 (commit commit)))
1738 (file-name (git-file-name name version))
1739 (sha256
1740 (base32
1741 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1742 (build-system asdf-build-system/sbcl)
1743 (inputs
1744 `(("jpl-queues" ,sbcl-jpl-queues)
1745 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1746 (native-inputs
1747 `(("eager-future2" ,sbcl-eager-future2)))
1748 (synopsis "Thread-safe message-passing channels in Common Lisp")
1749 (description
1750 "Calispel is a Common Lisp library for thread-safe message-passing
1751 channels, in the style of the occam programming language, also known as
1752 communicating sequential processes (CSP). See
1753 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1754
1755 Calispel channels let one thread communicate with another, facilitating
1756 unidirectional communication of any Lisp object. Channels may be unbuffered,
1757 where a sender waits for a receiver (or vice versa) before either operation can
1758 continue, or channels may be buffered with flexible policy options.
1759
1760 Because sending and receiving on a channel may block, either operation can time
1761 out after a specified amount of time.
1762
1763 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1764 @code{select()}): given a sequence of operations, any or all of which may
1765 block, alternation selects the first operation that doesn't block and executes
1766 associated code. Alternation can also time out, executing an \"otherwise\"
1767 clause if no operation becomes available within a set amount of time.
1768
1769 Calispel is a message-passing library, and as such leaves the role of
1770 threading abstractions and utilities left to be filled by complementary
1771 libraries such as Bordeaux-Threads and Eager Future.")
1772 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1773 (license license:isc))))
1774
1775 (define-public cl-calispel
1776 (sbcl-package->cl-source-package sbcl-calispel))
1777
1778 (define-public ecl-calispel
1779 (sbcl-package->ecl-package sbcl-calispel))
1780
1781 (define-public sbcl-eos
1782 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1783 (revision "2"))
1784 (package
1785 (name "sbcl-eos")
1786 (version (git-version "0.0.0" revision commit))
1787 (source
1788 (origin
1789 (method git-fetch)
1790 (uri (git-reference
1791 (url "https://github.com/adlai/Eos")
1792 (commit commit)))
1793 (sha256
1794 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1795 (file-name (git-file-name "eos" version))))
1796 (build-system asdf-build-system/sbcl)
1797 (synopsis "Unit Testing for Common Lisp")
1798 (description
1799 "Eos was a unit testing library for Common Lisp.
1800 It began as a fork of FiveAM; however, FiveAM development has continued, while
1801 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1802 (home-page "https://github.com/adlai/Eos")
1803 (license license:expat))))
1804
1805 (define-public cl-eos
1806 (sbcl-package->cl-source-package sbcl-eos))
1807
1808 (define-public ecl-eos
1809 (sbcl-package->ecl-package sbcl-eos))
1810
1811 (define-public sbcl-esrap
1812 (let ((commit "da6b24fb18bdb8e7e177bcf2820cdaf0b560deb6")
1813 (revision "1"))
1814 (package
1815 (name "sbcl-esrap")
1816 (version (git-version "0.18" revision commit))
1817 (source
1818 (origin
1819 (method git-fetch)
1820 (uri (git-reference
1821 (url "https://github.com/scymtym/esrap")
1822 (commit commit)))
1823 (sha256
1824 (base32 "12vf3bxwzf8icnf6rw1xalvm7493cfbb46r2vlhc09s59djkf39q"))
1825 (file-name (git-file-name "esrap" version))))
1826 (build-system asdf-build-system/sbcl)
1827 (native-inputs
1828 `(("fiveam" ,sbcl-fiveam)))
1829 (inputs
1830 `(("alexandria" ,sbcl-alexandria)))
1831 (synopsis "Common Lisp packrat parser")
1832 (description
1833 "This is a packrat parser for Common Lisp.
1834 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1835
1836 @itemize
1837 @item dynamic redefinition of nonterminals
1838 @item inline grammars
1839 @item semantic predicates
1840 @item introspective facilities (describing grammars, tracing, setting breaks)
1841 @item left-recursive grammars
1842 @item functions as terminals
1843 @item accurate, customizable parse error reports
1844 @end itemize\n")
1845 (home-page "https://scymtym.github.io/esrap/")
1846 (license license:expat))))
1847
1848 (define-public cl-esrap
1849 (sbcl-package->cl-source-package sbcl-esrap))
1850
1851 (define-public ecl-esrap
1852 (sbcl-package->ecl-package sbcl-esrap))
1853
1854 (define-public sbcl-split-sequence
1855 (package
1856 (name "sbcl-split-sequence")
1857 (version "2.0.0")
1858 (source
1859 (origin
1860 (method git-fetch)
1861 (uri (git-reference
1862 (url "https://github.com/sharplispers/split-sequence")
1863 (commit (string-append "v" version))))
1864 (sha256
1865 (base32
1866 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1867 (file-name (git-file-name "split-sequence" version))))
1868 (build-system asdf-build-system/sbcl)
1869 (native-inputs
1870 `(("fiveam" ,sbcl-fiveam)))
1871 (synopsis "Member of the Common Lisp Utilities family of programs")
1872 (description
1873 "Splits sequence into a list of subsequences delimited by objects
1874 satisfying the test.")
1875 (home-page "https://cliki.net/split-sequence")
1876 (license license:expat)))
1877
1878 (define-public cl-split-sequence
1879 (sbcl-package->cl-source-package sbcl-split-sequence))
1880
1881 (define-public ecl-split-sequence
1882 (sbcl-package->ecl-package sbcl-split-sequence))
1883
1884 (define-public sbcl-html-encode
1885 (package
1886 (name "sbcl-html-encode")
1887 (version "1.2")
1888 (source
1889 (origin
1890 (method url-fetch)
1891 (uri (string-append
1892 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1893 version ".tgz"))
1894 (sha256
1895 (base32
1896 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1897 (file-name (string-append "colorize" version "-checkout"))))
1898 (build-system asdf-build-system/sbcl)
1899 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1900 (description
1901 "A library for encoding text in various web-savvy encodings.")
1902 (home-page "http://quickdocs.org/html-encode/")
1903 (license license:expat)))
1904
1905 (define-public cl-html-encode
1906 (sbcl-package->cl-source-package sbcl-html-encode))
1907
1908 (define-public ecl-html-encode
1909 (sbcl-package->ecl-package sbcl-html-encode))
1910
1911 (define-public sbcl-colorize
1912 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1913 (package
1914 (name "sbcl-colorize")
1915 (version (git-version "0.0.0" "1" commit))
1916 (source
1917 (origin
1918 (method git-fetch)
1919 (uri (git-reference
1920 (url "https://github.com/kingcons/colorize")
1921 (commit commit)))
1922 (sha256
1923 (base32
1924 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1925 (file-name (git-file-name "colorize" version))))
1926 (build-system asdf-build-system/sbcl)
1927 (inputs
1928 `(("alexandria" ,sbcl-alexandria)
1929 ("split-sequence" ,sbcl-split-sequence)
1930 ("html-encode" ,sbcl-html-encode)))
1931 (synopsis "Common Lisp for syntax highlighting")
1932 (description
1933 "@command{colorize} is a Lisp library for syntax highlighting
1934 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1935 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1936 (home-page "https://github.com/kingcons/colorize")
1937 ;; TODO: Missing license?
1938 (license license:expat))))
1939
1940 (define-public cl-colorize
1941 (sbcl-package->cl-source-package sbcl-colorize))
1942
1943 (define-public ecl-colorize
1944 (sbcl-package->ecl-package sbcl-colorize))
1945
1946 (define-public sbcl-3bmd
1947 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1948 (revision "2"))
1949 (package
1950 (name "sbcl-3bmd")
1951 (version (git-version "0.0.0" revision commit))
1952 (source
1953 (origin
1954 (method git-fetch)
1955 (uri (git-reference
1956 (url "https://github.com/3b/3bmd")
1957 (commit commit)))
1958 (sha256
1959 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1960 (file-name (git-file-name "3bmd" version))))
1961 (build-system asdf-build-system/sbcl)
1962 (arguments
1963 `(#:asd-systems
1964 '("3bmd"
1965 "3bmd-ext-definition-lists"
1966 "3bmd-ext-math"
1967 "3bmd-ext-tables"
1968 "3bmd-ext-wiki-links"
1969 "3bmd-youtube"
1970 "3bmd-ext-code-blocks")))
1971 (inputs
1972 `(("alexandria" ,sbcl-alexandria)
1973 ("colorize" ,sbcl-colorize)
1974 ("esrap" ,sbcl-esrap)
1975 ("split-sequence" ,sbcl-split-sequence)))
1976 (home-page "https://github.com/3b/3bmd")
1977 (synopsis "Markdown processor in Command Lisp using esrap parser")
1978 (description
1979 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1980 for parsing, and grammar based on @command{peg-markdown}.")
1981 (license license:expat))))
1982
1983 (define-public cl-3bmd
1984 (sbcl-package->cl-source-package sbcl-3bmd))
1985
1986 (define-public ecl-3bmd
1987 (sbcl-package->ecl-package sbcl-3bmd))
1988
1989 (define-public sbcl-cl-fad
1990 (package
1991 (name "sbcl-cl-fad")
1992 (version "0.7.6")
1993 (source
1994 (origin
1995 (method git-fetch)
1996 (uri (git-reference
1997 (url "https://github.com/edicl/cl-fad/")
1998 (commit (string-append "v" version))))
1999 (sha256
2000 (base32
2001 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
2002 (file-name (string-append "cl-fad" version "-checkout"))))
2003 (build-system asdf-build-system/sbcl)
2004 (inputs
2005 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2006 (synopsis "Portable pathname library for Common Lisp")
2007 (description
2008 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
2009 Lisp's standard pathname functions. It is intended to provide some
2010 unification between current CL implementations on Windows, OS X, Linux, and
2011 Unix. Most of the code was written by Peter Seibel for his book Practical
2012 Common Lisp.")
2013 (home-page "https://edicl.github.io/cl-fad/")
2014 (license license:bsd-2)))
2015
2016 (define-public cl-fad
2017 (sbcl-package->cl-source-package sbcl-cl-fad))
2018
2019 (define-public ecl-cl-fad
2020 (sbcl-package->ecl-package sbcl-cl-fad))
2021
2022 (define-public sbcl-fn
2023 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
2024 (revision "1"))
2025 (package
2026 (name "sbcl-fn")
2027 (version (git-version "0.0.0" revision commit))
2028 (source
2029 (origin
2030 (method git-fetch)
2031 (uri (git-reference
2032 (url "https://github.com/cbaggers/fn")
2033 (commit commit)))
2034 (file-name (git-file-name "fn" version))
2035 (sha256
2036 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
2037 (build-system asdf-build-system/sbcl)
2038 (inputs
2039 `(("named-readtables" ,sbcl-named-readtables)))
2040 (home-page "https://github.com/cbaggers/fn")
2041 (synopsis "Macros for lambda brevity")
2042 (description
2043 "This is a Common Lisp library providing lambda shorthand macros aiming
2044 to be used in cases where the word @emph{lambda} and the arguments are longer
2045 than the body of the lambda.")
2046 (license license:public-domain))))
2047
2048 (define-public ecl-fn
2049 (sbcl-package->ecl-package sbcl-fn))
2050
2051 (define-public cl-fn
2052 (sbcl-package->cl-source-package sbcl-fn))
2053
2054 (define-public sbcl-rt
2055 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
2056 (revision "1"))
2057 (package
2058 (name "sbcl-rt")
2059 (version (git-version "1990.12.19" revision commit))
2060 (source
2061 (origin
2062 (method git-fetch)
2063 (uri (git-reference
2064 (url "http://git.kpe.io/rt.git")
2065 (commit commit)))
2066 (file-name (git-file-name name version))
2067 (sha256
2068 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
2069 (build-system asdf-build-system/sbcl)
2070 (synopsis "MIT Regression Tester")
2071 (description
2072 "RT provides a framework for writing regression test suites.")
2073 (home-page "https://www.cliki.net/rt")
2074 (license license:expat))))
2075
2076 (define-public cl-rt
2077 (sbcl-package->cl-source-package sbcl-rt))
2078
2079 (define-public ecl-rt
2080 (sbcl-package->ecl-package sbcl-rt))
2081
2082 (define-public sbcl-nibbles
2083 ;; No tagged release since 2018.
2084 (let ((commit "dad25240928d5cf8f7df69c4398244e03570bb35")
2085 (revision "2"))
2086 (package
2087 (name "sbcl-nibbles")
2088 (version (git-version "0.14" revision commit))
2089 (source
2090 (origin
2091 (method git-fetch)
2092 (uri (git-reference
2093 (url "https://github.com/sharplispers/nibbles/")
2094 (commit commit)))
2095 (sha256
2096 (base32 "0r6ljlpgjmkf87pmvdwzva8qj15bhznc3ylgcjjqyy4frbx9lygz"))
2097 (file-name (git-file-name "nibbles" version))))
2098 (build-system asdf-build-system/sbcl)
2099 (native-inputs
2100 ;; Tests only.
2101 `(("rt" ,sbcl-rt)))
2102 (synopsis
2103 "Common Lisp library for accessing octet-addressed blocks of data")
2104 (description
2105 "When dealing with network protocols and file formats, it's common to
2106 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
2107 flavors. Common Lisp sort of supports this by specifying :element-type for
2108 streams, but that facility is underspecified and there's nothing similar for
2109 read/write from octet vectors. What most people wind up doing is rolling their
2110 own small facility for their particular needs and calling it a day.
2111
2112 This library attempts to be comprehensive and centralize such
2113 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
2114 vectors in signed or unsigned flavors are provided; these functions are also
2115 SETFable. Since it's sometimes desirable to read/write directly from streams,
2116 functions for doing so are also provided. On some implementations,
2117 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
2118 also be supported.")
2119 (home-page "https://github.com/sharplispers/nibbles")
2120 (license license:bsd-3))))
2121
2122 (define-public cl-nibbles
2123 (sbcl-package->cl-source-package sbcl-nibbles))
2124
2125 (define-public ecl-nibbles
2126 (sbcl-package->ecl-package sbcl-nibbles))
2127
2128 (define-public sbcl-ironclad
2129 (package
2130 (name "sbcl-ironclad")
2131 (version "0.55")
2132 (source
2133 (origin
2134 (method git-fetch)
2135 (uri (git-reference
2136 (url "https://github.com/sharplispers/ironclad/")
2137 (commit (string-append "v" version))))
2138 (sha256
2139 (base32 "1w4slnc4143w1gcff1wxsivzb8kcji0bpd7y9rld3sabay0qprwl"))
2140 (file-name (git-file-name name version))))
2141 (build-system asdf-build-system/sbcl)
2142 (native-inputs
2143 ;; Tests only.
2144 `(("rt" ,sbcl-rt)))
2145 (inputs
2146 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2147 ("flexi-streams" ,sbcl-flexi-streams)))
2148 (synopsis "Cryptographic toolkit written in Common Lisp")
2149 (description
2150 "Ironclad is a cryptography library written entirely in Common Lisp.
2151 It includes support for several popular ciphers, digests, MACs and public key
2152 cryptography algorithms. For several implementations that support Gray
2153 streams, support is included for convenient stream wrappers.")
2154 (home-page "https://github.com/sharplispers/ironclad")
2155 (license license:bsd-3)))
2156
2157 (define-public cl-ironclad
2158 (sbcl-package->cl-source-package sbcl-ironclad))
2159
2160 (define-public ecl-ironclad
2161 (sbcl-package->ecl-package sbcl-ironclad))
2162
2163 (define-public sbcl-named-readtables
2164 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2165 (revision "3"))
2166 (package
2167 (name "sbcl-named-readtables")
2168 (version (git-version "0.9" revision commit))
2169 (source
2170 (origin
2171 (method git-fetch)
2172 (uri (git-reference
2173 (url "https://github.com/melisgl/named-readtables")
2174 (commit commit)))
2175 (sha256
2176 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
2177 (file-name (git-file-name "named-readtables" version))))
2178 (build-system asdf-build-system/sbcl)
2179 (home-page "https://github.com/melisgl/named-readtables/")
2180 (synopsis "Library that creates a namespace for named readtables")
2181 (description
2182 "Named readtables is a library that creates a namespace for named
2183 readtables, which is akin to package namespacing in Common Lisp.")
2184 (license license:bsd-3))))
2185
2186 (define-public cl-named-readtables
2187 (sbcl-package->cl-source-package sbcl-named-readtables))
2188
2189 (define-public ecl-named-readtables
2190 (sbcl-package->ecl-package sbcl-named-readtables))
2191
2192 (define-public sbcl-py-configparser
2193 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2194 ;; time 8y ago, it looks like abandoned. VCS of the project:
2195 ;; https://svn.common-lisp.net/py-configparser/trunk
2196 (package
2197 (name "sbcl-py-configparser")
2198 (version "1.0.3")
2199 (source
2200 (origin
2201 (method url-fetch)
2202 (uri (string-append
2203 "https://common-lisp.net/project/py-configparser/releases/"
2204 "py-configparser-" version ".tar.gz"))
2205 (sha256
2206 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2207 (build-system asdf-build-system/sbcl)
2208 (inputs
2209 `(("parse-number" ,sbcl-parse-number)))
2210 (home-page "http://common-lisp.net/project/py-configparser/")
2211 (synopsis "ConfigParser Python module functionality for Common Lisp")
2212 (description "The py-configparser package implements the ConfigParser
2213 Python module functionality in Common Lisp. In short, it implements reading
2214 and writing of .INI-file style configuration files with sections containing
2215 key/value pairs of configuration options. In line with the functionalities in
2216 the python module, does this package implement basic interpolation of option
2217 values in other options.")
2218 (license license:expat)))
2219
2220 (define-public cl-py-configparser
2221 (sbcl-package->cl-source-package sbcl-py-configparser))
2222
2223 (define-public ecl-py-configparser
2224 (sbcl-package->ecl-package sbcl-py-configparser))
2225
2226 (define-public sbcl-pythonic-string-reader
2227 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2228 (package
2229 (name "sbcl-pythonic-string-reader")
2230 (version (git-version "0.0.0" "1" commit))
2231 (source
2232 (origin
2233 (method git-fetch)
2234 (uri (git-reference
2235 (url "https://github.com/smithzvk/pythonic-string-reader/")
2236 (commit commit)))
2237 (sha256
2238 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2239 (file-name (git-file-name "pythonic-string-reader" version))))
2240 (build-system asdf-build-system/sbcl)
2241 (inputs
2242 `(("named-readtables" ,sbcl-named-readtables)))
2243 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2244 (synopsis "Read table modification inspired by Python's three quote strings")
2245 (description "This piece of code sets up some reader macros that make it
2246 simpler to input string literals which contain backslashes and double quotes
2247 This is very useful for writing complicated docstrings and, as it turns out,
2248 writing code that contains string literals that contain code themselves.")
2249 (license license:bsd-3))))
2250
2251 (define-public cl-pythonic-string-reader
2252 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2253
2254 (define-public ecl-pythonic-string-reader
2255 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2256
2257 (define-public sbcl-slime-swank
2258 (package
2259 (name "sbcl-slime-swank")
2260 (version "2.26")
2261 (source
2262 (origin
2263 (file-name (git-file-name "slime-swank" version))
2264 (method git-fetch)
2265 (uri (git-reference
2266 (url "https://github.com/slime/slime/")
2267 (commit (string-append "v" version))))
2268 (sha256
2269 (base32
2270 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2271 (build-system asdf-build-system/sbcl)
2272 (arguments
2273 '(#:asd-systems '("swank")))
2274 (home-page "https://github.com/slime/slime")
2275 (synopsis "Common Lisp Swank server")
2276 (description
2277 "This is only useful if you want to start a Swank server in a Lisp
2278 processes that doesn't run under Emacs. Lisp processes created by
2279 @command{M-x slime} automatically start the server.")
2280 (license (list license:gpl2+ license:public-domain))))
2281
2282 (define-public cl-slime-swank
2283 (sbcl-package->cl-source-package sbcl-slime-swank))
2284
2285 (define-public ecl-slime-swank
2286 (sbcl-package->ecl-package sbcl-slime-swank))
2287
2288 (define-public sbcl-mgl-pax
2289 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2290 (revision "2"))
2291 (package
2292 (name "sbcl-mgl-pax")
2293 (version (git-version "0.0.3" revision commit))
2294 (source
2295 (origin
2296 (method git-fetch)
2297 (uri (git-reference
2298 (url "https://github.com/melisgl/mgl-pax")
2299 (commit commit)))
2300 (sha256
2301 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2302 (file-name (git-file-name "mgl-pax" version))))
2303 (build-system asdf-build-system/sbcl)
2304 (inputs
2305 `(("3bmd" ,sbcl-3bmd)
2306 ("babel" ,sbcl-babel)
2307 ("cl-fad" ,sbcl-cl-fad)
2308 ("ironclad" ,sbcl-ironclad)
2309 ("named-readtables" ,sbcl-named-readtables)
2310 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2311 ("swank" ,sbcl-slime-swank)))
2312 (synopsis "Exploratory programming environment and documentation generator")
2313 (description
2314 "PAX provides an extremely poor man's Explorable Programming
2315 environment. Narrative primarily lives in so called sections that mix markdown
2316 docstrings with references to functions, variables, etc, all of which should
2317 probably have their own docstrings.
2318
2319 The primary focus is on making code easily explorable by using SLIME's
2320 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2321 fanciness in Emacs Integration. Generating documentation from sections and all
2322 the referenced items in Markdown or HTML format is also implemented.
2323
2324 With the simplistic tools provided, one may accomplish similar effects as with
2325 Literate Programming, but documentation is generated from code, not vice versa
2326 and there is no support for chunking yet. Code is first, code must look
2327 pretty, documentation is code.")
2328 (home-page "http://quotenil.com/")
2329 (license license:expat))))
2330
2331 (define-public cl-mgl-pax
2332 (sbcl-package->cl-source-package sbcl-mgl-pax))
2333
2334 (define-public ecl-mgl-pax
2335 (sbcl-package->ecl-package sbcl-mgl-pax))
2336
2337 (define-public sbcl-mssql
2338 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2339 (revision "1"))
2340 (package
2341 (name "sbcl-mssql")
2342 (version (git-version "0.0.3" revision commit))
2343 (source
2344 (origin
2345 (method git-fetch)
2346 (uri (git-reference
2347 (url "https://github.com/archimag/cl-mssql")
2348 (commit commit)))
2349 (file-name (git-file-name "cl-mssql" version))
2350 (sha256
2351 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2352 (build-system asdf-build-system/sbcl)
2353 (inputs
2354 `(("cffi" ,sbcl-cffi)
2355 ("freetds" ,freetds)
2356 ("garbage-pools" ,sbcl-garbage-pools)
2357 ("iterate" ,sbcl-iterate)
2358 ("parse-number" ,sbcl-parse-number)))
2359 (arguments
2360 `(#:phases
2361 (modify-phases %standard-phases
2362 (add-after 'unpack 'fix-paths
2363 (lambda* (#:key inputs #:allow-other-keys)
2364 (substitute* "src/mssql.lisp"
2365 (("libsybdb" all)
2366 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2367 #t)))))
2368 (home-page "https://github.com/archimag/cl-mssql")
2369 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2370 (description
2371 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2372 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2373 project.")
2374 (license license:llgpl))))
2375
2376 (define-public ecl-mssql
2377 (sbcl-package->ecl-package sbcl-mssql))
2378
2379 (define-public cl-mssql
2380 (sbcl-package->cl-source-package sbcl-mssql))
2381
2382 (define-public sbcl-lisp-unit
2383 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2384 (package
2385 (name "sbcl-lisp-unit")
2386 (version (git-version "0.0.0" "1" commit))
2387 (source
2388 (origin
2389 (method git-fetch)
2390 (uri (git-reference
2391 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2392 (commit commit)))
2393 (sha256
2394 (base32
2395 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2396 (file-name (git-file-name "lisp-unit" version))))
2397 (build-system asdf-build-system/sbcl)
2398 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2399 (description
2400 "@command{lisp-unit} is a Common Lisp library that supports unit
2401 testing. It is an extension of the library written by Chris Riesbeck.")
2402 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2403 (license license:expat))))
2404
2405 (define-public cl-lisp-unit
2406 (sbcl-package->cl-source-package sbcl-lisp-unit))
2407
2408 (define-public ecl-lisp-unit
2409 (sbcl-package->ecl-package sbcl-lisp-unit))
2410
2411 (define-public sbcl-anaphora
2412 (package
2413 (name "sbcl-anaphora")
2414 (version "0.9.6")
2415 (source
2416 (origin
2417 (method git-fetch)
2418 (uri (git-reference
2419 (url "https://github.com/tokenrove/anaphora")
2420 (commit version)))
2421 (sha256
2422 (base32
2423 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2424 (file-name (git-file-name "anaphora" version))))
2425 (build-system asdf-build-system/sbcl)
2426 (native-inputs
2427 `(("rt" ,sbcl-rt)))
2428 (synopsis "The anaphoric macro collection from Hell")
2429 (description
2430 "Anaphora is the anaphoric macro collection from Hell: it includes many
2431 new fiends in addition to old friends like @command{aif} and
2432 @command{awhen}.")
2433 (home-page "https://github.com/tokenrove/anaphora")
2434 (license license:public-domain)))
2435
2436 (define-public cl-anaphora
2437 (sbcl-package->cl-source-package sbcl-anaphora))
2438
2439 (define-public ecl-anaphora
2440 (sbcl-package->ecl-package sbcl-anaphora))
2441
2442 (define-public sbcl-lift
2443 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2444 (revision "2"))
2445 (package
2446 (name "sbcl-lift")
2447 (version (git-version "1.7.1" revision commit))
2448 (source
2449 (origin
2450 (method git-fetch)
2451 (uri (git-reference
2452 (url "https://github.com/gwkkwg/lift")
2453 (commit commit)))
2454 (sha256
2455 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2456 (file-name (git-file-name "lift" version))
2457 (modules '((guix build utils)))
2458 (snippet
2459 ;; Don't keep the bundled website
2460 `(begin
2461 (delete-file-recursively "website")
2462 #t))))
2463 (build-system asdf-build-system/sbcl)
2464 (arguments
2465 ;; The tests require a debugger, but we run with the debugger disabled.
2466 '(#:tests? #f))
2467 (synopsis "LIsp Framework for Testing")
2468 (description
2469 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2470 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2471 testcases are organized into hierarchical testsuites each of which can have
2472 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2473 supports randomized testing, benchmarking, profiling, and reporting.")
2474 (home-page "https://github.com/gwkkwg/lift")
2475 (license license:expat))))
2476
2477 (define-public cl-lift
2478 (sbcl-package->cl-source-package sbcl-lift))
2479
2480 (define-public ecl-lift
2481 (sbcl-package->ecl-package sbcl-lift))
2482
2483 (define-public sbcl-let-plus
2484 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2485 (package
2486 (name "sbcl-let-plus")
2487 (version (git-version "0.0.0" "1" commit))
2488 (source
2489 (origin
2490 (method git-fetch)
2491 (uri (git-reference
2492 (url "https://github.com/sharplispers/let-plus")
2493 (commit commit)))
2494 (sha256
2495 (base32
2496 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2497 (file-name (git-file-name "let-plus" version))))
2498 (build-system asdf-build-system/sbcl)
2499 (inputs
2500 `(("alexandria" ,sbcl-alexandria)
2501 ("anaphora" ,sbcl-anaphora)))
2502 (native-inputs
2503 `(("lift" ,sbcl-lift)))
2504 (synopsis "Destructuring extension of let*")
2505 (description
2506 "This library implements the let+ macro, which is a dectructuring
2507 extension of let*. It features:
2508
2509 @itemize
2510 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2511 not counting tests)
2512 @item Placeholder macros allow editor hints and syntax highlighting
2513 @item @command{&ign} for ignored values (in forms where that makes sense)
2514 @item Very easy to extend
2515 @end itemize\n")
2516 (home-page "https://github.com/sharplispers/let-plus")
2517 (license license:boost1.0))))
2518
2519 (define-public cl-let-plus
2520 (sbcl-package->cl-source-package sbcl-let-plus))
2521
2522 (define-public ecl-let-plus
2523 (sbcl-package->ecl-package sbcl-let-plus))
2524
2525 (define-public sbcl-cl-colors
2526 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2527 (package
2528 (name "sbcl-cl-colors")
2529 (version (git-version "0.0.0" "1" commit))
2530 (source
2531 (origin
2532 (method git-fetch)
2533 (uri (git-reference
2534 (url "https://github.com/tpapp/cl-colors")
2535 (commit commit)))
2536 (sha256
2537 (base32
2538 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2539 (file-name (git-file-name "cl-colors" version))))
2540 (build-system asdf-build-system/sbcl)
2541 (inputs
2542 `(("alexandria" ,sbcl-alexandria)
2543 ("let-plus" ,sbcl-let-plus)))
2544 (synopsis "Simple color library for Common Lisp")
2545 (description
2546 "This is a very simple color library for Common Lisp, providing
2547
2548 @itemize
2549 @item Types for representing colors in HSV and RGB spaces.
2550 @item Simple conversion functions between the above types (and also
2551 hexadecimal representation for RGB).
2552 @item Some predefined colors (currently X11 color names – of course the
2553 library does not depend on X11).Because color in your terminal is nice.
2554 @end itemize
2555
2556 This library is no longer supported by its author.")
2557 (home-page "https://github.com/tpapp/cl-colors")
2558 (license license:boost1.0))))
2559
2560 (define-public cl-colors
2561 (sbcl-package->cl-source-package sbcl-cl-colors))
2562
2563 (define-public ecl-cl-colors
2564 (sbcl-package->ecl-package sbcl-cl-colors))
2565
2566 (define-public sbcl-cl-ansi-text
2567 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2568 (package
2569 (name "sbcl-cl-ansi-text")
2570 (version (git-version "1.0.0" "1" commit))
2571 (source
2572 (origin
2573 (method git-fetch)
2574 (uri (git-reference
2575 (url "https://github.com/pnathan/cl-ansi-text")
2576 (commit commit)))
2577 (sha256
2578 (base32
2579 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2580 (file-name (git-file-name "cl-ansi-text" version))))
2581 (build-system asdf-build-system/sbcl)
2582 (inputs
2583 `(("alexandria" ,sbcl-alexandria)
2584 ("cl-colors" ,sbcl-cl-colors)))
2585 (native-inputs
2586 `(("fiveam" ,sbcl-fiveam)))
2587 (synopsis "ANSI terminal color implementation for Common Lisp")
2588 (description
2589 "@command{cl-ansi-text} provides utilities which enable printing to an
2590 ANSI terminal with colored text. It provides the macro @command{with-color}
2591 which causes everything printed in the body to be displayed with the provided
2592 color. It further provides functions which will print the argument with the
2593 named color.")
2594 (home-page "https://github.com/pnathan/cl-ansi-text")
2595 (license license:llgpl))))
2596
2597 (define-public cl-ansi-text
2598 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2599
2600 (define-public ecl-cl-ansi-text
2601 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2602
2603 (define-public sbcl-prove
2604 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2605 (package
2606 (name "sbcl-prove")
2607 (version (git-version "1.0.0" "1" commit))
2608 (source
2609 (origin
2610 (method git-fetch)
2611 (uri (git-reference
2612 (url "https://github.com/fukamachi/prove")
2613 (commit commit)))
2614 (sha256
2615 (base32
2616 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2617 (file-name (git-file-name "prove" version))))
2618 (build-system asdf-build-system/sbcl)
2619 (inputs
2620 `(("alexandria" ,sbcl-alexandria)
2621 ("cl-ppcre" ,sbcl-cl-ppcre)
2622 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2623 (synopsis "Yet another unit testing framework for Common Lisp")
2624 (description
2625 "This project was originally called @command{cl-test-more}.
2626 @command{prove} is yet another unit testing framework for Common Lisp. The
2627 advantages of @command{prove} are:
2628
2629 @itemize
2630 @item Various simple functions for testing and informative error messages
2631 @item ASDF integration
2632 @item Extensible test reporters
2633 @item Colorizes the report if it's available (note for SLIME)
2634 @item Reports test durations
2635 @end itemize\n")
2636 (home-page "https://github.com/fukamachi/prove")
2637 (license license:expat))))
2638
2639 (define-public cl-prove
2640 (sbcl-package->cl-source-package sbcl-prove))
2641
2642 (define-public ecl-prove
2643 (sbcl-package->ecl-package sbcl-prove))
2644
2645 (define-public sbcl-proc-parse
2646 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2647 (package
2648 (name "sbcl-proc-parse")
2649 (version (git-version "0.0.0" "1" commit))
2650 (source
2651 (origin
2652 (method git-fetch)
2653 (uri (git-reference
2654 (url "https://github.com/fukamachi/proc-parse")
2655 (commit commit)))
2656 (sha256
2657 (base32
2658 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2659 (file-name (git-file-name "proc-parse" version))))
2660 (build-system asdf-build-system/sbcl)
2661 (inputs
2662 `(("alexandria" ,sbcl-alexandria)
2663 ("babel" ,sbcl-babel)))
2664 (native-inputs
2665 `(("prove" ,sbcl-prove)))
2666 (arguments
2667 ;; TODO: Tests don't find "proc-parse-test", why?
2668 `(#:tests? #f))
2669 (synopsis "Procedural vector parser")
2670 (description
2671 "This is a string/octets parser library for Common Lisp with speed and
2672 readability in mind. Unlike other libraries, the code is not a
2673 pattern-matching-like, but a char-by-char procedural parser.")
2674 (home-page "https://github.com/fukamachi/proc-parse")
2675 (license license:bsd-2))))
2676
2677 (define-public cl-proc-parse
2678 (sbcl-package->cl-source-package sbcl-proc-parse))
2679
2680 (define-public ecl-proc-parse
2681 (sbcl-package->ecl-package sbcl-proc-parse))
2682
2683 (define-public sbcl-parse-float
2684 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2685 (revision "2"))
2686 (package
2687 (name "sbcl-parse-float")
2688 (version (git-version "0.0.0" revision commit))
2689 (source
2690 (origin
2691 (method git-fetch)
2692 (uri (git-reference
2693 (url "https://github.com/soemraws/parse-float")
2694 (commit commit)))
2695 (sha256
2696 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2697 (file-name (git-file-name "proc-parse" version))))
2698 (build-system asdf-build-system/sbcl)
2699 (arguments
2700 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2701 `(#:asd-systems '("parse-float" "parse-float-tests")))
2702 (native-inputs
2703 `(("lisp-unit" ,sbcl-lisp-unit)))
2704 (inputs
2705 `(("alexandria" ,sbcl-alexandria)))
2706 (home-page "https://github.com/soemraws/parse-float")
2707 (synopsis "Parse a floating point value from a string in Common Lisp")
2708 (description
2709 "This package exports the following function to parse floating-point
2710 values from a string in Common Lisp.")
2711 (license license:public-domain))))
2712
2713 (define-public cl-parse-float
2714 (sbcl-package->cl-source-package sbcl-parse-float))
2715
2716 (define-public ecl-parse-float
2717 (sbcl-package->ecl-package sbcl-parse-float))
2718
2719 (define-public sbcl-cl-string-match
2720 (let ((revision "1")
2721 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2722 (package
2723 (name "sbcl-cl-string-match")
2724 (version (git-version "0" revision changeset))
2725 (source
2726 (origin
2727 (method hg-fetch)
2728 (uri (hg-reference
2729 (url "https://bitbucket.org/vityok/cl-string-match/")
2730 (changeset changeset)))
2731 (sha256
2732 (base32
2733 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2734 (file-name (git-file-name "cl-string-match" version))))
2735 (build-system asdf-build-system/sbcl)
2736 (inputs
2737 `(("alexandria" ,sbcl-alexandria)
2738 ("babel" ,sbcl-babel)
2739 ("iterate" ,sbcl-iterate)
2740 ("jpl-queues" ,sbcl-jpl-queues)
2741 ("jpl-util" ,sbcl-jpl-util)
2742 ("mgl-pax" ,sbcl-mgl-pax)
2743 ("parse-float" ,sbcl-parse-float)
2744 ("proc-parse" ,sbcl-proc-parse)
2745 ("yacc" ,sbcl-cl-yacc)))
2746 ;; TODO: Tests are not evaluated properly.
2747 (native-inputs
2748 ;; For testing:
2749 `(("lisp-unit" ,sbcl-lisp-unit)))
2750 (arguments
2751 `(#:tests? #f))
2752 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2753 (description
2754 "@command{cl-strings} is a small, portable, dependency-free set of
2755 utilities that make it even easier to manipulate text in Common Lisp. It has
2756 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2757 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2758 (license license:bsd-3))))
2759
2760 (define-public cl-string-match
2761 (sbcl-package->cl-source-package sbcl-cl-string-match))
2762
2763 (define-public ecl-cl-string-match
2764 (sbcl-package->ecl-package sbcl-cl-string-match))
2765
2766 (define-public sbcl-ptester
2767 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2768 (revision "1"))
2769 (package
2770 (name "sbcl-ptester")
2771 (version (git-version "2.1.3" revision commit))
2772 (source
2773 (origin
2774 (method git-fetch)
2775 (uri (git-reference
2776 (url "http://git.kpe.io/ptester.git")
2777 (commit commit)))
2778 (file-name (git-file-name name version))
2779 (sha256
2780 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2781 (build-system asdf-build-system/sbcl)
2782 (home-page "http://quickdocs.org/ptester/")
2783 (synopsis "Portable test harness package")
2784 (description
2785 "@command{ptester} is a portable testing framework based on Franz's
2786 tester module.")
2787 (license license:llgpl))))
2788
2789 (define-public cl-ptester
2790 (sbcl-package->cl-source-package sbcl-ptester))
2791
2792 (define-public ecl-ptester
2793 (sbcl-package->ecl-package sbcl-ptester))
2794
2795 (define-public sbcl-puri
2796 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2797 (revision "2"))
2798 (package
2799 (name "sbcl-puri")
2800 (version (git-version "1.5.7" revision commit))
2801 (source
2802 (origin
2803 (method git-fetch)
2804 (uri (git-reference
2805 (url "http://git.kpe.io/puri.git")
2806 (commit commit)))
2807 (file-name (git-file-name "puri" version))
2808 (sha256
2809 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2810 (build-system asdf-build-system/sbcl)
2811 (native-inputs
2812 `(("ptester" ,sbcl-ptester)))
2813 (home-page "http://puri.kpe.io/")
2814 (synopsis "Portable URI Library")
2815 (description
2816 "This is a portable Universal Resource Identifier library for Common
2817 Lisp programs. It parses URI according to the RFC 2396 specification.")
2818 (license license:llgpl))))
2819
2820 (define-public cl-puri
2821 (sbcl-package->cl-source-package sbcl-puri))
2822
2823 (define-public ecl-puri
2824 (sbcl-package->ecl-package sbcl-puri))
2825
2826 (define-public sbcl-qmynd
2827 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2828 (revision "1"))
2829 (package
2830 (name "sbcl-qmynd")
2831 (version (git-version "1.0.0" revision commit))
2832 (source
2833 (origin
2834 (method git-fetch)
2835 (uri (git-reference
2836 (url "https://github.com/qitab/qmynd")
2837 (commit commit)))
2838 (file-name (git-file-name name version))
2839 (sha256
2840 (base32
2841 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2842 (build-system asdf-build-system/sbcl)
2843 (inputs
2844 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2845 ("babel" ,sbcl-babel)
2846 ("chipz" ,sbcl-chipz)
2847 ("cl+ssl" ,sbcl-cl+ssl)
2848 ("flexi-streams" ,sbcl-flexi-streams)
2849 ("ironclad" ,sbcl-ironclad)
2850 ("salza2" ,sbcl-salza2)
2851 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2852 ("usocket" ,sbcl-usocket)))
2853 (home-page "https://github.com/qitab/qmynd")
2854 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2855 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2856 library that directly talks to a MySQL server in its native network protocol.
2857
2858 It's a part of QITAB umbrella project.")
2859 (license license:expat))))
2860
2861 (define-public ecl-qmynd
2862 (sbcl-package->ecl-package sbcl-qmynd))
2863
2864 (define-public cl-qmynd
2865 (sbcl-package->cl-source-package sbcl-qmynd))
2866
2867 (define-public sbcl-queues
2868 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2869 (package
2870 (name "sbcl-queues")
2871 (version (git-version "0.0.0" "1" commit))
2872 (source
2873 (origin
2874 (method git-fetch)
2875 (uri (git-reference
2876 (url "https://github.com/oconnore/queues")
2877 (commit commit)))
2878 (file-name (git-file-name "queues" version))
2879 (sha256
2880 (base32
2881 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2882 (build-system asdf-build-system/sbcl)
2883 (inputs
2884 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2885 (arguments
2886 '(#:asd-systems '("queues"
2887 "queues.simple-queue"
2888 "queues.simple-cqueue"
2889 "queues.priority-queue"
2890 "queues.priority-cqueue")))
2891 (home-page "https://github.com/oconnore/queues")
2892 (synopsis "Common Lisp queue library")
2893 (description
2894 "This is a simple queue library for Common Lisp with features such as
2895 non-consing thread safe queues and fibonacci priority queues.")
2896 (license license:expat))))
2897
2898 (define-public cl-queues
2899 (sbcl-package->cl-source-package sbcl-queues))
2900
2901 (define-public ecl-queues
2902 (sbcl-package->ecl-package sbcl-queues))
2903
2904 (define-public sbcl-glsl-packing
2905 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2906 (revision "1"))
2907 (package
2908 (name "sbcl-glsl-packing")
2909 (version (git-version "0.0.0" revision commit))
2910 (source
2911 (origin
2912 (method git-fetch)
2913 (uri (git-reference
2914 (url "https://github.com/3b/glsl-packing/")
2915 (commit commit)))
2916 (file-name (git-file-name "glsl-packing" version))
2917 (sha256
2918 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2919 (build-system asdf-build-system/sbcl)
2920 (inputs
2921 `(("alexandria" ,sbcl-alexandria)))
2922 (home-page "https://github.com/3b/glsl-packing/")
2923 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2924 (description
2925 "This is a Common Lisp library to calculate std140 or std430 layouts for
2926 a glsl UBO/SSBO.")
2927 (license license:expat))))
2928
2929 (define-public ecl-glsl-packing
2930 (sbcl-package->ecl-package sbcl-glsl-packing))
2931
2932 (define-public cl-glsl-packing
2933 (sbcl-package->cl-source-package sbcl-glsl-packing))
2934
2935 (define-public sbcl-glsl-spec
2936 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2937 (revision "1"))
2938 (package
2939 (name "sbcl-glsl-spec")
2940 (version (git-version "0.0.0" revision commit))
2941 (source
2942 (origin
2943 (method git-fetch)
2944 (uri (git-reference
2945 (url "https://github.com/cbaggers/glsl-spec")
2946 (commit commit)))
2947 (file-name (git-file-name "glsl-spec" version))
2948 (sha256
2949 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2950 (build-system asdf-build-system/sbcl)
2951 (arguments
2952 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2953 (home-page "https://github.com/cbaggers/glsl-spec")
2954 (synopsis "Common Lisp GLSL specification as a datastructure")
2955 (description
2956 "This package contains the specification of all functions and variables
2957 from GLSL as data.")
2958 (license license:unlicense))))
2959
2960 (define-public ecl-glsl-spec
2961 (sbcl-package->ecl-package sbcl-glsl-spec))
2962
2963 (define-public cl-glsl-spec
2964 (sbcl-package->cl-source-package sbcl-glsl-spec))
2965
2966 (define-public sbcl-rtg-math
2967 (let ((commit "29fc5b3d0028a4a11a82355ecc8cca62662c69e0")
2968 (revision "1"))
2969 (package
2970 (name "sbcl-rtg-math")
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/rtg-math")
2977 (commit commit)))
2978 (file-name (git-file-name "rtg-math" version))
2979 (sha256
2980 (base32 "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x"))))
2981 (build-system asdf-build-system/sbcl)
2982 (inputs
2983 `(("alexandria" ,sbcl-alexandria)
2984 ("documentation-utils" ,sbcl-documentation-utils)
2985 ("glsl-symbols" ,sbcl-glsl-spec)))
2986 (home-page "https://github.com/cbaggers/rtg-math")
2987 (synopsis "Common Lisp library of game-related math functions")
2988 (description
2989 "RTG-MATH provides a selection of the math routines most commonly needed
2990 for making realtime graphics in Lisp.")
2991 (license license:bsd-2))))
2992
2993 (define-public ecl-rtg-math
2994 (sbcl-package->ecl-package sbcl-rtg-math))
2995
2996 (define-public cl-rtg-math
2997 (sbcl-package->cl-source-package sbcl-rtg-math))
2998
2999 (define-public sbcl-varjo
3000 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
3001 (revision "1"))
3002 (package
3003 (name "sbcl-varjo")
3004 (version (git-version "0.0.0" revision commit))
3005 (source
3006 (origin
3007 (method git-fetch)
3008 (uri (git-reference
3009 (url "https://github.com/cbaggers/varjo")
3010 (commit commit)))
3011 (file-name (git-file-name "varjo" version))
3012 (sha256
3013 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
3014 (build-system asdf-build-system/sbcl)
3015 (native-inputs
3016 `(("fiveam" ,sbcl-fiveam)))
3017 (inputs
3018 `(("alexandria" ,sbcl-alexandria)
3019 ("cl-ppcre" ,sbcl-cl-ppcre)
3020 ("documentation-utils" ,sbcl-documentation-utils)
3021 ("fn" ,sbcl-fn)
3022 ("glsl-spec" ,sbcl-glsl-spec)
3023 ("named-readtables" ,sbcl-named-readtables)
3024 ("parse-float" ,sbcl-parse-float)
3025 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
3026 (home-page "https://github.com/cbaggers/varjo")
3027 (synopsis "Lisp to GLSL Language Translator")
3028 (description
3029 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
3030 compiles. It aims to be as close to Common Lisp as possible, but naturally it
3031 is statically typed so there are differences.")
3032 (license license:bsd-2))))
3033
3034 (define-public ecl-varjo
3035 (sbcl-package->ecl-package sbcl-varjo))
3036
3037 (define-public cl-varjo
3038 (sbcl-package->cl-source-package sbcl-varjo))
3039
3040 (define-public sbcl-cffi
3041 (package
3042 (name "sbcl-cffi")
3043 (version "0.23.0")
3044 (source
3045 (origin
3046 (method git-fetch)
3047 (uri (git-reference
3048 (url "https://github.com/cffi/cffi")
3049 (commit (string-append "v" version))))
3050 (file-name (git-file-name "cffi-bootstrap" version))
3051 (sha256
3052 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
3053 (build-system asdf-build-system/sbcl)
3054 (inputs
3055 `(("alexandria" ,sbcl-alexandria)
3056 ("babel" ,sbcl-babel)
3057 ("libffi" ,libffi)
3058 ("trivial-features" ,sbcl-trivial-features)))
3059 (native-inputs
3060 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3061 ("pkg-config" ,pkg-config)
3062 ("rt" ,sbcl-rt)))
3063 (arguments
3064 '(#:phases
3065 (modify-phases %standard-phases
3066 (add-after 'unpack 'fix-arm-support
3067 (lambda _
3068 ;; This is apparently deprecated since libffi-3.3.
3069 (substitute* "libffi/libffi-types.lisp"
3070 (("\\\(\\\(:unix64.*") ")\n"))
3071 #t))
3072 (add-after 'unpack 'fix-paths
3073 (lambda* (#:key inputs #:allow-other-keys)
3074 (substitute* "libffi/libffi.lisp"
3075 (("libffi.so.7" all) (string-append
3076 (assoc-ref inputs "libffi")
3077 "/lib/" all)))
3078 (substitute* "toolchain/c-toolchain.lisp"
3079 (("\"cc\"") (format #f "~S" (which "gcc"))))))
3080 (add-after 'build 'install-headers
3081 (lambda* (#:key outputs #:allow-other-keys)
3082 (install-file "grovel/common.h"
3083 (string-append
3084 (assoc-ref outputs "out")
3085 "/include/grovel")))))
3086 #:asd-files '("cffi.asd"
3087 "cffi-toolchain.asd"
3088 "cffi-grovel.asd"
3089 "cffi-libffi.asd"
3090 "cffi-uffi-compat.asd")
3091 #:asd-systems '("cffi"
3092 "cffi-libffi"
3093 "cffi-uffi-compat")))
3094 (home-page "https://common-lisp.net/project/cffi/")
3095 (synopsis "Common Foreign Function Interface for Common Lisp")
3096 (description "The Common Foreign Function Interface (CFFI)
3097 purports to be a portable foreign function interface for Common Lisp.
3098 The CFFI library is composed of a Lisp-implementation-specific backend
3099 in the CFFI-SYS package, and a portable frontend in the CFFI
3100 package.")
3101 (license license:expat)))
3102
3103 (define-public cl-cffi
3104 (sbcl-package->cl-source-package sbcl-cffi))
3105
3106 (define-public ecl-cffi
3107 (sbcl-package->ecl-package sbcl-cffi))
3108
3109 (define-public sbcl-cffi-c-ref
3110 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
3111 (revision "0"))
3112 (package
3113 (name "sbcl-cffi-c-ref")
3114 (version (git-version "1.0" revision commit))
3115 (source
3116 (origin
3117 (method git-fetch)
3118 (uri (git-reference
3119 (url "https://github.com/borodust/cffi-c-ref")
3120 (commit commit)))
3121 (sha256
3122 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
3123 (file-name (git-file-name "cffi-c-ref" version))))
3124 (build-system asdf-build-system/sbcl)
3125 (inputs
3126 `(("alexandria" ,sbcl-alexandria)
3127 ("cffi" ,sbcl-cffi)))
3128 (synopsis "Streamlined access to foreign memory")
3129 (description
3130 "This Common Lisp library provides macros to access foreign memory.")
3131 (home-page "https://github.com/borodust/cffi-c-ref")
3132 (license license:expat))))
3133
3134 (define-public cl-cffi-c-ref
3135 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
3136
3137 (define-public ecl-cffi-c-ref
3138 (sbcl-package->ecl-package sbcl-cffi-c-ref))
3139
3140 (define-public sbcl-cl-sqlite
3141 (package
3142 (name "sbcl-cl-sqlite")
3143 (version "0.2.1")
3144 (source
3145 (origin
3146 (method git-fetch)
3147 (uri (git-reference
3148 (url "https://github.com/dmitryvk/cl-sqlite")
3149 (commit version)))
3150 (file-name (git-file-name "cl-sqlite" version))
3151 (sha256
3152 (base32
3153 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
3154 (build-system asdf-build-system/sbcl)
3155 (inputs
3156 `(("iterate" ,sbcl-iterate)
3157 ("cffi" ,sbcl-cffi)
3158 ("sqlite" ,sqlite)))
3159 (native-inputs
3160 `(("fiveam" ,sbcl-fiveam)
3161 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
3162 (arguments
3163 `(#:asd-systems '("sqlite")
3164 #:phases
3165 (modify-phases %standard-phases
3166 (add-after 'unpack 'fix-paths
3167 (lambda* (#:key inputs #:allow-other-keys)
3168 (substitute* "sqlite-ffi.lisp"
3169 (("libsqlite3" all) (string-append
3170 (assoc-ref inputs "sqlite")"/lib/" all))))))))
3171 (home-page "https://common-lisp.net/project/cl-sqlite/")
3172 (synopsis "Common Lisp binding for SQLite")
3173 (description
3174 "The @command{cl-sqlite} package is an interface to the SQLite embedded
3175 relational database engine.")
3176 (license license:public-domain)))
3177
3178 (define-public cl-sqlite
3179 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3180
3181 (define-public ecl-cl-sqlite
3182 (sbcl-package->ecl-package sbcl-cl-sqlite))
3183
3184 (define-public sbcl-parenscript
3185 ;; Source archives are overwritten on every release, we use the Git repo instead.
3186 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
3187 (package
3188 (name "sbcl-parenscript")
3189 (version (git-version "2.7.1" "1" commit))
3190 (source
3191 (origin
3192 (method git-fetch)
3193 (uri (git-reference
3194 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3195 (commit commit)))
3196 (file-name (git-file-name "parenscript" version))
3197 (sha256
3198 (base32
3199 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
3200 (build-system asdf-build-system/sbcl)
3201 (inputs
3202 `(("cl-ppcre" ,sbcl-cl-ppcre)
3203 ("anaphora" ,sbcl-anaphora)
3204 ("named-readtables" ,sbcl-named-readtables)))
3205 (home-page "https://common-lisp.net/project/parenscript/")
3206 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3207 (description
3208 "Parenscript is a translator from an extended subset of Common Lisp to
3209 JavaScript. Parenscript code can run almost identically on both the
3210 browser (as JavaScript) and server (as Common Lisp).
3211
3212 Parenscript code is treated the same way as Common Lisp code, making the full
3213 power of Lisp macros available for JavaScript. This provides a web
3214 development environment that is unmatched in its ability to reduce code
3215 duplication and provide advanced meta-programming facilities to web
3216 developers.
3217
3218 At the same time, Parenscript is different from almost all other \"language
3219 X\" to JavaScript translators in that it imposes almost no overhead:
3220
3221 @itemize
3222 @item No run-time dependencies: Any piece of Parenscript code is runnable
3223 as-is. There are no JavaScript files to include.
3224 @item Native types: Parenscript works entirely with native JavaScript data
3225 types. There are no new types introduced, and object prototypes are not
3226 touched.
3227 @item Native calling convention: Any JavaScript code can be called without the
3228 need for bindings. Likewise, Parenscript can be used to make efficient,
3229 self-contained JavaScript libraries.
3230 @item Readable code: Parenscript generates concise, formatted, idiomatic
3231 JavaScript code. Identifier names are preserved. This enables seamless
3232 debugging in tools like Firebug.
3233 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
3234 Lisp features. The generated code is almost as fast as hand-written
3235 JavaScript.
3236 @end itemize\n")
3237 (license license:bsd-3))))
3238
3239 (define-public cl-parenscript
3240 (sbcl-package->cl-source-package sbcl-parenscript))
3241
3242 (define-public ecl-parenscript
3243 (sbcl-package->ecl-package sbcl-parenscript))
3244
3245 (define-public sbcl-cl-json
3246 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3247 (package
3248 (name "sbcl-cl-json")
3249 (version (git-version "0.5" "1" commit))
3250 (source
3251 (origin
3252 (method git-fetch)
3253 (uri (git-reference
3254 (url "https://github.com/hankhero/cl-json")
3255 (commit commit)))
3256 (file-name (git-file-name "cl-json" version))
3257 (sha256
3258 (base32
3259 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3260 (build-system asdf-build-system/sbcl)
3261 (native-inputs
3262 `(("fiveam" ,sbcl-fiveam)))
3263 (home-page "https://github.com/hankhero/cl-json")
3264 (synopsis "JSON encoder and decoder for Common-Lisp")
3265 (description
3266 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3267 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3268 and the decoder are highly customizable; at the same time, the default
3269 settings ensure a very simple mode of operation, similar to that provided by
3270 @command{yason} or @command{st-json}.")
3271 (license license:expat))))
3272
3273 (define-public cl-json
3274 (sbcl-package->cl-source-package sbcl-cl-json))
3275
3276 (define-public ecl-cl-json
3277 (sbcl-package->ecl-package sbcl-cl-json))
3278
3279 (define-public sbcl-unix-opts
3280 (package
3281 (name "sbcl-unix-opts")
3282 (version "0.1.7")
3283 (source
3284 (origin
3285 (method git-fetch)
3286 (uri (git-reference
3287 (url "https://github.com/libre-man/unix-opts")
3288 (commit version)))
3289 (file-name (git-file-name "unix-opts" version))
3290 (sha256
3291 (base32
3292 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3293 (build-system asdf-build-system/sbcl)
3294 (home-page "https://github.com/hankhero/cl-json")
3295 (synopsis "Unix-style command line options parser")
3296 (description
3297 "This is a minimalistic parser of command line options. The main
3298 advantage of the library is the ability to concisely define command line
3299 options once and then use this definition for parsing and extraction of
3300 command line arguments, as well as printing description of command line
3301 options (you get --help for free). This way you don't need to repeat
3302 yourself. Also, @command{unix-opts} doesn't depend on anything and
3303 precisely controls the behavior of the parser via Common Lisp restarts.")
3304 (license license:expat)))
3305
3306 (define-public cl-unix-opts
3307 (sbcl-package->cl-source-package sbcl-unix-opts))
3308
3309 (define-public ecl-unix-opts
3310 (sbcl-package->ecl-package sbcl-unix-opts))
3311
3312 (define-public sbcl-trivial-garbage
3313 (package
3314 (name "sbcl-trivial-garbage")
3315 (version "0.21")
3316 (source
3317 (origin
3318 (method git-fetch)
3319 (uri (git-reference
3320 (url "https://github.com/trivial-garbage/trivial-garbage")
3321 (commit (string-append "v" version))))
3322 (file-name (git-file-name "trivial-garbage" version))
3323 (sha256
3324 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3325 (build-system asdf-build-system/sbcl)
3326 (native-inputs
3327 `(("rt" ,sbcl-rt)))
3328 (home-page "https://common-lisp.net/project/trivial-garbage/")
3329 (synopsis "Portable GC-related APIs for Common Lisp")
3330 (description "@command{trivial-garbage} provides a portable API to
3331 finalizers, weak hash-tables and weak pointers on all major implementations of
3332 the Common Lisp programming language.")
3333 (license license:public-domain)))
3334
3335 (define-public cl-trivial-garbage
3336 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3337
3338 (define-public ecl-trivial-garbage
3339 (sbcl-package->ecl-package sbcl-trivial-garbage))
3340
3341 (define-public sbcl-closer-mop
3342 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3343 (package
3344 (name "sbcl-closer-mop")
3345 (version (git-version "1.0.0" "2" commit))
3346 (source
3347 (origin
3348 (method git-fetch)
3349 (uri (git-reference
3350 (url "https://github.com/pcostanza/closer-mop")
3351 (commit commit)))
3352 (sha256
3353 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3354 (file-name (git-file-name "closer-mop" version ))))
3355 (build-system asdf-build-system/sbcl)
3356 (home-page "https://github.com/pcostanza/closer-mop")
3357 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3358 (description "Closer to MOP is a compatibility layer that rectifies many
3359 of the absent or incorrect CLOS MOP features across a broad range of Common
3360 Lisp implementations.")
3361 (license license:expat))))
3362
3363 (define-public cl-closer-mop
3364 (sbcl-package->cl-source-package sbcl-closer-mop))
3365
3366 (define-public ecl-closer-mop
3367 (sbcl-package->ecl-package sbcl-closer-mop))
3368
3369 (define-public sbcl-cl-cffi-gtk
3370 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3371 (package
3372 (name "sbcl-cl-cffi-gtk")
3373 (version (git-version "0.11.2" "2" commit))
3374 (source
3375 (origin
3376 (method git-fetch)
3377 (uri (git-reference
3378 (url "https://github.com/Ferada/cl-cffi-gtk/")
3379 (commit commit)))
3380 (file-name (git-file-name "cl-cffi-gtk" version))
3381 (sha256
3382 (base32
3383 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3384 (build-system asdf-build-system/sbcl)
3385 (native-inputs
3386 `(("fiveam" ,sbcl-fiveam)))
3387 (inputs
3388 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3389 ("cairo" ,cairo)
3390 ("cffi" ,sbcl-cffi)
3391 ("closer-mop" ,sbcl-closer-mop)
3392 ("gdk-pixbuf" ,gdk-pixbuf)
3393 ("glib" ,glib)
3394 ("gtk" ,gtk+)
3395 ("iterate" ,sbcl-iterate)
3396 ("pango" ,pango)
3397 ("trivial-features" ,sbcl-trivial-features)
3398 ("trivial-garbage" ,sbcl-trivial-garbage)))
3399 (arguments
3400 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3401 "glib/cl-cffi-gtk-glib.asd"
3402 "gobject/cl-cffi-gtk-gobject.asd"
3403 "gio/cl-cffi-gtk-gio.asd"
3404 "cairo/cl-cffi-gtk-cairo.asd"
3405 "pango/cl-cffi-gtk-pango.asd"
3406 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3407 "gdk/cl-cffi-gtk-gdk.asd")
3408 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3409 ;; TODO: Tests fail with memory fault.
3410 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3411 #:tests? #f
3412 #:phases
3413 (modify-phases %standard-phases
3414 (add-after 'unpack 'fix-paths
3415 (lambda* (#:key inputs #:allow-other-keys)
3416 (substitute* "glib/glib.init.lisp"
3417 (("libglib|libgthread" all)
3418 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3419 (substitute* "gobject/gobject.init.lisp"
3420 (("libgobject" all)
3421 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3422 (substitute* "gio/gio.init.lisp"
3423 (("libgio" all)
3424 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3425 (substitute* "cairo/cairo.init.lisp"
3426 (("libcairo" all)
3427 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3428 (substitute* "pango/pango.init.lisp"
3429 (("libpango" all)
3430 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3431 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3432 (("libgdk_pixbuf" all)
3433 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3434 (substitute* "gdk/gdk.init.lisp"
3435 (("libgdk" all)
3436 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3437 (substitute* "gdk/gdk.package.lisp"
3438 (("libgtk" all)
3439 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3440 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3441 (synopsis "Common Lisp binding for GTK+3")
3442 (description
3443 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3444 is a library for creating graphical user interfaces.")
3445 (license license:lgpl3))))
3446
3447 (define-public cl-cffi-gtk
3448 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3449
3450 (define-public ecl-cl-cffi-gtk
3451 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3452
3453 (define-public sbcl-cl-webkit
3454 (let ((commit "891bcd2c76a61121af930f986abb1f24814913c5"))
3455 (package
3456 (name "sbcl-cl-webkit")
3457 (version (git-version "2.4" "15" commit))
3458 (source
3459 (origin
3460 (method git-fetch)
3461 (uri (git-reference
3462 (url "https://github.com/joachifm/cl-webkit")
3463 (commit commit)))
3464 (file-name (git-file-name "cl-webkit" version))
3465 (sha256
3466 (base32
3467 "00qfbzpw3biqna6fh8ga9dmxckids46vxy4sxma1r3cxq2yig739"))))
3468 (build-system asdf-build-system/sbcl)
3469 (inputs
3470 `(("cffi" ,sbcl-cffi)
3471 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3472 ("webkitgtk" ,webkitgtk)))
3473 (arguments
3474 `(#:asd-systems '("cl-webkit2")
3475 #:phases
3476 (modify-phases %standard-phases
3477 (add-after 'unpack 'fix-paths
3478 (lambda* (#:key inputs #:allow-other-keys)
3479 (substitute* "webkit2/webkit2.init.lisp"
3480 (("libwebkit2gtk" all)
3481 (string-append
3482 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3483 (home-page "https://github.com/joachifm/cl-webkit")
3484 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3485 (description
3486 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3487 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3488 browsing capabilities to an application, leveraging the full power of the
3489 WebKit browsing engine.")
3490 (license license:expat))))
3491
3492 (define-public cl-webkit
3493 (sbcl-package->cl-source-package sbcl-cl-webkit))
3494
3495 (define-public ecl-cl-webkit
3496 (sbcl-package->ecl-package sbcl-cl-webkit))
3497
3498 (define-public sbcl-lparallel
3499 (package
3500 (name "sbcl-lparallel")
3501 (version "2.8.4")
3502 (source
3503 (origin
3504 (method git-fetch)
3505 (uri (git-reference
3506 (url "https://github.com/lmj/lparallel/")
3507 (commit (string-append "lparallel-" version))))
3508 (file-name (git-file-name "lparallel" version))
3509 (sha256
3510 (base32
3511 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3512 (build-system asdf-build-system/sbcl)
3513 (inputs
3514 `(("alexandria" ,sbcl-alexandria)
3515 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3516 ("trivial-garbage" ,sbcl-trivial-garbage)))
3517 (arguments
3518 `(#:phases
3519 (modify-phases %standard-phases
3520 (add-after 'unpack 'fix-dependency
3521 ;; lparallel loads a SBCL specific system in its asd file. This is
3522 ;; not carried over into the fasl which is generated. In order for
3523 ;; it to be carried over, it needs to be listed as a dependency.
3524 (lambda _
3525 (substitute* "lparallel.asd"
3526 ((":depends-on \\(:alexandria" all)
3527 (string-append all " #+sbcl :sb-cltl2"))))))))
3528 (home-page "https://lparallel.org/")
3529 (synopsis "Parallelism for Common Lisp")
3530 (description
3531 "@command{lparallel} is a library for parallel programming in Common
3532 Lisp, featuring:
3533
3534 @itemize
3535 @item a simple model of task submission with receiving queue,
3536 @item constructs for expressing fine-grained parallelism,
3537 @item asynchronous condition handling across thread boundaries,
3538 @item parallel versions of map, reduce, sort, remove, and many others,
3539 @item promises, futures, and delayed evaluation constructs,
3540 @item computation trees for parallelizing interconnected tasks,
3541 @item bounded and unbounded FIFO queues,
3542 @item high and low priority tasks,
3543 @item task killing by category,
3544 @item integrated timeouts.
3545 @end itemize\n")
3546 (license license:expat)))
3547
3548 (define-public cl-lparallel
3549 (sbcl-package->cl-source-package sbcl-lparallel))
3550
3551 (define-public ecl-lparallel
3552 (package
3553 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3554 (arguments
3555 ;; TODO: Find why the tests get stuck forever; disable them for now.
3556 `(#:tests? #f))))
3557
3558 (define-public sbcl-cl-markup
3559 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3560 (package
3561 (name "sbcl-cl-markup")
3562 (version (git-version "0.1" "1" commit))
3563 (source
3564 (origin
3565 (method git-fetch)
3566 (uri (git-reference
3567 (url "https://github.com/arielnetworks/cl-markup/")
3568 (commit commit)))
3569 (file-name (git-file-name "cl-markup" version))
3570 (sha256
3571 (base32
3572 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3573 (build-system asdf-build-system/sbcl)
3574 (home-page "https://github.com/arielnetworks/cl-markup/")
3575 (synopsis "Markup generation library for Common Lisp")
3576 (description
3577 "A modern markup generation library for Common Lisp that features:
3578
3579 @itemize
3580 @item Fast (even faster through compiling the code)
3581 @item Safety
3582 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3583 @item Output with doctype
3584 @item Direct output to stream
3585 @end itemize\n")
3586 (license license:lgpl3+))))
3587
3588 (define-public cl-markup
3589 (sbcl-package->cl-source-package sbcl-cl-markup))
3590
3591 (define-public ecl-cl-markup
3592 (sbcl-package->ecl-package sbcl-cl-markup))
3593
3594 (define-public sbcl-cl-mustache
3595 (package
3596 (name "sbcl-cl-mustache")
3597 (version "0.12.1")
3598 (source
3599 (origin
3600 (method git-fetch)
3601 (uri (git-reference
3602 (url "https://github.com/kanru/cl-mustache")
3603 (commit (string-append "v" version))))
3604 (file-name (git-file-name "cl-mustache" version))
3605 (sha256
3606 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3607 (build-system asdf-build-system/sbcl)
3608 (home-page "https://github.com/kanru/cl-mustache")
3609 (synopsis "Common Lisp Mustache template renderer")
3610 (description "This is a Common Lisp implementation for the Mustache
3611 template system. More details on the standard are available at
3612 @url{https://mustache.github.io}.")
3613 (license license:expat)))
3614
3615 (define-public cl-mustache
3616 (sbcl-package->cl-source-package sbcl-cl-mustache))
3617
3618 (define-public ecl-cl-mustache
3619 (sbcl-package->ecl-package sbcl-cl-mustache))
3620
3621 (define-public sbcl-cl-css
3622 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3623 (package
3624 (name "sbcl-cl-css")
3625 (version (git-version "0.1" "1" commit))
3626 (source
3627 (origin
3628 (method git-fetch)
3629 (uri (git-reference
3630 (url "https://github.com/inaimathi/cl-css/")
3631 (commit commit)))
3632 (file-name (git-file-name "cl-css" version))
3633 (sha256
3634 (base32
3635 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3636 (build-system asdf-build-system/sbcl)
3637 (home-page "https://github.com/inaimathi/cl-css/")
3638 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3639 (description
3640 "This is a dead-simple, non validating, inline CSS generator for Common
3641 Lisp. Its goals are axiomatic syntax, simple implementation to support
3642 portability, and boilerplate reduction in CSS.")
3643 (license license:expat))))
3644
3645 (define-public cl-css
3646 (sbcl-package->cl-source-package sbcl-cl-css))
3647
3648 (define-public ecl-cl-css
3649 (sbcl-package->ecl-package sbcl-cl-css))
3650
3651 (define-public sbcl-portable-threads
3652 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3653 (package
3654 (name "sbcl-portable-threads")
3655 (version (git-version "2.3" "2" commit))
3656 (source
3657 (origin
3658 (method git-fetch)
3659 (uri (git-reference
3660 (url "https://github.com/binghe/portable-threads/")
3661 (commit commit)))
3662 (file-name (git-file-name "portable-threads" version))
3663 (sha256
3664 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3665 (build-system asdf-build-system/sbcl)
3666 (arguments
3667 `(;; Tests seem broken.
3668 #:tests? #f))
3669 (home-page "https://github.com/binghe/portable-threads")
3670 (synopsis "Portable threads API for Common Lisp")
3671 (description
3672 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3673 Lisp (from GBBopen project).")
3674 (license license:asl2.0))))
3675
3676 (define-public cl-portable-threads
3677 (sbcl-package->cl-source-package sbcl-portable-threads))
3678
3679 (define-public ecl-portable-threads
3680 (sbcl-package->ecl-package sbcl-portable-threads))
3681
3682 (define-public sbcl-usocket
3683 (package
3684 (name "sbcl-usocket")
3685 (version "0.8.3")
3686 (source
3687 (origin
3688 (method git-fetch)
3689 (uri (git-reference
3690 (url "https://github.com/usocket/usocket/")
3691 (commit (string-append "v" version))))
3692 (file-name (git-file-name "usocket" version))
3693 (sha256
3694 (base32
3695 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3696 (build-system asdf-build-system/sbcl)
3697 (native-inputs
3698 `(("rt" ,sbcl-rt)))
3699 (inputs
3700 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3701 ("split-sequence" ,sbcl-split-sequence)))
3702 (arguments
3703 `(#:tests? #f ; FIXME: Tests need network access?
3704 #:asd-systems '("usocket"
3705 "usocket-server")))
3706 (home-page "https://common-lisp.net/project/usocket/")
3707 (synopsis "Universal socket library for Common Lisp")
3708 (description
3709 "This library strives to provide a portable TCP/IP and UDP/IP socket
3710 interface for as many Common Lisp implementations as possible, while keeping
3711 the abstraction and portability layer as thin as possible.")
3712 (license license:expat)))
3713
3714 (define-public cl-usocket
3715 (sbcl-package->cl-source-package sbcl-usocket))
3716
3717 (define-public ecl-usocket
3718 (sbcl-package->ecl-package sbcl-usocket))
3719
3720 (define-public sbcl-s-xml
3721 (package
3722 (name "sbcl-s-xml")
3723 (version "3")
3724 (source
3725 (origin
3726 (method url-fetch)
3727 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3728 (sha256
3729 (base32
3730 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3731 (build-system asdf-build-system/sbcl)
3732 (home-page "https://common-lisp.net/project/s-xml/")
3733 (synopsis "Simple XML parser implemented in Common Lisp")
3734 (description
3735 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3736 parser implementation has the following features:
3737
3738 @itemize
3739 @item It works (handling many common XML usages).
3740 @item It is very small (the core is about 700 lines of code, including
3741 comments and whitespace).
3742 @item It has a core API that is simple, efficient and pure functional, much
3743 like that from SSAX (see also http://ssax.sourceforge.net).
3744 @item It supports different DOM models: an XSML-based one, an LXML-based one
3745 and a classic xml-element struct based one.
3746 @item It is reasonably time and space efficient (internally avoiding garbage
3747 generatation as much as possible).
3748 @item It does support CDATA.
3749 @item It should support the same character sets as your Common Lisp
3750 implementation.
3751 @item It does support XML name spaces.
3752 @end itemize
3753
3754 This XML parser implementation has the following limitations:
3755
3756 @itemize
3757 @item It does not support any special tags (like processing instructions).
3758 @item It is not validating, even skips DTD's all together.
3759 @end itemize\n")
3760 (license license:lgpl3+)))
3761
3762 (define-public cl-s-xml
3763 (sbcl-package->cl-source-package sbcl-s-xml))
3764
3765 (define-public ecl-s-xml
3766 (sbcl-package->ecl-package sbcl-s-xml))
3767
3768 (define-public sbcl-s-xml-rpc
3769 (package
3770 (name "sbcl-s-xml-rpc")
3771 (version "7")
3772 (source
3773 (origin
3774 (method url-fetch)
3775 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3776 (sha256
3777 (base32
3778 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3779 (build-system asdf-build-system/sbcl)
3780 (inputs
3781 `(("s-xml" ,sbcl-s-xml)))
3782 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3783 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3784 (description
3785 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3786 client and server.")
3787 (license license:lgpl3+)))
3788
3789 (define-public cl-s-xml-rpc
3790 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3791
3792 (define-public ecl-s-xml-rpc
3793 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3794
3795 (define-public sbcl-trivial-arguments
3796 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3797 (revision "1"))
3798 (package
3799 (name "sbcl-trivial-arguments")
3800 (version (git-version "1.1.0" revision commit))
3801 (source
3802 (origin
3803 (method git-fetch)
3804 (uri (git-reference
3805 (url "https://github.com/Shinmera/trivial-arguments")
3806 (commit commit)))
3807 (file-name (git-file-name "trivial-arguments" version))
3808 (sha256
3809 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3810 (build-system asdf-build-system/sbcl)
3811 (home-page "https://github.com/Shinmera/trivial-arguments")
3812 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3813 (description
3814 "This is a simple library to retrieve the argument list of a function.")
3815 (license license:zlib))))
3816
3817 (define-public ecl-trivial-arguments
3818 (sbcl-package->ecl-package sbcl-trivial-arguments))
3819
3820 (define-public cl-trivial-arguments
3821 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3822
3823 (define-public sbcl-trivial-clipboard
3824 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3825 (package
3826 (name "sbcl-trivial-clipboard")
3827 (version (git-version "0.0.0.0" "4" commit))
3828 (source
3829 (origin
3830 (method git-fetch)
3831 (uri (git-reference
3832 (url "https://github.com/snmsts/trivial-clipboard")
3833 (commit commit)))
3834 (file-name (git-file-name "trivial-clipboard" version))
3835 (sha256
3836 (base32
3837 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3838 (build-system asdf-build-system/sbcl)
3839 (inputs
3840 `(("xclip" ,xclip)))
3841 (native-inputs
3842 `(("fiveam" ,sbcl-fiveam)))
3843 (arguments
3844 `(#:phases
3845 (modify-phases %standard-phases
3846 (add-after 'unpack 'fix-paths
3847 (lambda* (#:key inputs #:allow-other-keys)
3848 (substitute* "src/text.lisp"
3849 (("\"xclip\"")
3850 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3851 (home-page "https://github.com/snmsts/trivial-clipboard")
3852 (synopsis "Access system clipboard in Common Lisp")
3853 (description
3854 "@command{trivial-clipboard} gives access to the system clipboard.")
3855 (license license:expat))))
3856
3857 (define-public cl-trivial-clipboard
3858 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3859
3860 (define-public ecl-trivial-clipboard
3861 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3862
3863 (define-public sbcl-trivial-backtrace
3864 (let ((commit "6eb65bde7229413040c81d42ea22f0e4c9c8cfc9")
3865 (revision "1"))
3866 (package
3867 (name "sbcl-trivial-backtrace")
3868 (version (git-version "1.1.0" revision commit))
3869 (source
3870 (origin
3871 (method git-fetch)
3872 (uri (git-reference
3873 (url "https://github.com/gwkkwg/trivial-backtrace")
3874 (commit commit)))
3875 (file-name (git-file-name "trivial-backtrace" version))
3876 (sha256
3877 (base32 "1mbaqiwj5034iw6jzw30jyhwzp1pvhnz1zcy0lns0z5j2h9ldapw"))))
3878 (build-system asdf-build-system/sbcl)
3879 (native-inputs
3880 `(("sbcl-lift" ,sbcl-lift)))
3881 (arguments
3882 `(#:phases
3883 (modify-phases %standard-phases
3884 (add-after 'check 'delete-test-results
3885 (lambda* (#:key outputs #:allow-other-keys)
3886 (let ((test-results (string-append (assoc-ref outputs "out")
3887 "/share/common-lisp/"
3888 (%lisp-type)
3889 "/trivial-backtrace"
3890 "/test-results")))
3891 (when (file-exists? test-results)
3892 (delete-file-recursively test-results)))
3893 #t)))))
3894 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3895 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3896 (description
3897 "One of the many things that didn't quite get into the Common Lisp
3898 standard was how to get a Lisp to output its call stack when something has
3899 gone wrong. As such, each Lisp has developed its own notion of what to
3900 display, how to display it, and what sort of arguments can be used to
3901 customize it. @code{trivial-backtrace} is a simple solution to generating a
3902 backtrace portably.")
3903 (license license:expat))))
3904
3905 (define-public cl-trivial-backtrace
3906 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3907
3908 (define-public ecl-trivial-backtrace
3909 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3910
3911 (define-public sbcl-rfc2388
3912 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3913 (revision "1"))
3914 (package
3915 (name "sbcl-rfc2388")
3916 (version (git-version "0.0.0" revision commit))
3917 (source
3918 (origin
3919 (method git-fetch)
3920 (uri (git-reference
3921 (url "https://github.com/jdz/rfc2388")
3922 (commit commit)))
3923 (file-name (git-file-name "rfc2388" version))
3924 (sha256
3925 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3926 (build-system asdf-build-system/sbcl)
3927 (home-page "https://github.com/jdz/rfc2388/")
3928 (synopsis "An implementation of RFC 2388 in Common Lisp")
3929 (description
3930 "This package contains an implementation of RFC 2388, which is used to
3931 process form data posted with HTTP POST method using enctype
3932 \"multipart/form-data\".")
3933 (license license:bsd-2))))
3934
3935 (define-public cl-rfc2388
3936 (sbcl-package->cl-source-package sbcl-rfc2388))
3937
3938 (define-public ecl-rfc2388
3939 (sbcl-package->ecl-package sbcl-rfc2388))
3940
3941 (define-public sbcl-md5
3942 (package
3943 (name "sbcl-md5")
3944 (version "2.0.4")
3945 (source
3946 (origin
3947 (method git-fetch)
3948 (uri (git-reference
3949 (url "https://github.com/pmai/md5")
3950 (commit (string-append "release-" version))))
3951 (file-name (git-file-name "md5" version))
3952 (sha256
3953 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3954 (build-system asdf-build-system/sbcl)
3955 (home-page "https://github.com/pmai/md5")
3956 (synopsis
3957 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3958 (description
3959 "This package implements The MD5 Message-Digest Algorithm, as defined in
3960 RFC 1321 by R. Rivest, published April 1992.")
3961 (license license:public-domain)))
3962
3963 (define-public cl-md5
3964 (sbcl-package->cl-source-package sbcl-md5))
3965
3966 (define-public ecl-md5
3967 (package
3968 (inherit (sbcl-package->ecl-package sbcl-md5))
3969 (inputs
3970 `(("flexi-streams" ,ecl-flexi-streams)))))
3971
3972 (define-public sbcl-cl+ssl
3973 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3974 (revision "1"))
3975 (package
3976 (name "sbcl-cl+ssl")
3977 (version (git-version "0.0.0" revision commit))
3978 (source
3979 (origin
3980 (method git-fetch)
3981 (uri (git-reference
3982 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3983 (commit commit)))
3984 (file-name (git-file-name "cl+ssl" version))
3985 (sha256
3986 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3987 (build-system asdf-build-system/sbcl)
3988 (arguments
3989 '(#:phases
3990 (modify-phases %standard-phases
3991 (add-after 'unpack 'fix-paths
3992 (lambda* (#:key inputs #:allow-other-keys)
3993 (substitute* "src/reload.lisp"
3994 (("libssl.so" all)
3995 (string-append
3996 (assoc-ref inputs "openssl") "/lib/" all))))))))
3997 (inputs
3998 `(("openssl" ,openssl)
3999 ("sbcl-cffi" ,sbcl-cffi)
4000 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4001 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4002 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
4003 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
4004 ("sbcl-alexandria" ,sbcl-alexandria)
4005 ("sbcl-trivial-features" ,sbcl-trivial-features)))
4006 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
4007 (synopsis "Common Lisp bindings to OpenSSL")
4008 (description
4009 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
4010 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
4011 Development into CL+SSL was done by David Lichteblau.")
4012 (license license:expat))))
4013
4014 (define-public cl-cl+ssl
4015 (sbcl-package->cl-source-package sbcl-cl+ssl))
4016
4017 (define-public ecl-cl+ssl
4018 (sbcl-package->ecl-package sbcl-cl+ssl))
4019
4020 (define-public sbcl-kmrcl
4021 (let ((version "1.111")
4022 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
4023 (revision "1"))
4024 (package
4025 (name "sbcl-kmrcl")
4026 (version (git-version version revision commit))
4027 (source
4028 (origin
4029 (method git-fetch)
4030 (uri (git-reference
4031 (url "http://git.kpe.io/kmrcl.git/")
4032 (commit commit)))
4033 (file-name (git-file-name name version))
4034 (sha256
4035 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
4036 (build-system asdf-build-system/sbcl)
4037 (inputs
4038 `(("sbcl-rt" ,sbcl-rt)))
4039 (home-page "http://files.kpe.io/kmrcl/")
4040 (synopsis "General utilities for Common Lisp programs")
4041 (description
4042 "KMRCL is a collection of utilities used by a number of Kevin
4043 Rosenberg's Common Lisp packages.")
4044 (license license:llgpl))))
4045
4046 (define-public cl-kmrcl
4047 (sbcl-package->cl-source-package sbcl-kmrcl))
4048
4049 (define-public ecl-kmrcl
4050 (sbcl-package->ecl-package sbcl-kmrcl))
4051
4052 (define-public sbcl-cl-base64
4053 ;; 3.3.4 tests are broken, upstream fixes them.
4054 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
4055 (package
4056 (name "sbcl-cl-base64")
4057 (version (git-version "3.3.4" "1" commit))
4058 (source
4059 (origin
4060 (method git-fetch)
4061 (uri (git-reference
4062 (url "http://git.kpe.io/cl-base64.git/")
4063 (commit commit)))
4064 (file-name (git-file-name name version))
4065 (sha256
4066 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
4067 (build-system asdf-build-system/sbcl)
4068 (native-inputs ; For tests.
4069 `(("sbcl-ptester" ,sbcl-ptester)
4070 ("sbcl-kmrcl" ,sbcl-kmrcl)))
4071 (home-page "http://files.kpe.io/cl-base64/")
4072 (synopsis
4073 "Common Lisp package to encode and decode base64 with URI support")
4074 (description
4075 "This package provides highly optimized base64 encoding and decoding.
4076 Besides conversion to and from strings, integer conversions are supported.
4077 Encoding with Uniform Resource Identifiers is supported by using a modified
4078 encoding table that uses only URI-compatible characters.")
4079 (license license:bsd-3))))
4080
4081 (define-public cl-base64
4082 (sbcl-package->cl-source-package sbcl-cl-base64))
4083
4084 (define-public ecl-cl-base64
4085 (sbcl-package->ecl-package sbcl-cl-base64))
4086
4087 (define-public sbcl-chunga
4088 (package
4089 (name "sbcl-chunga")
4090 (version "1.1.7")
4091 (source
4092 (origin
4093 (method git-fetch)
4094 (uri (git-reference
4095 (url "https://github.com/edicl/chunga")
4096 (commit (string-append "v" version))))
4097 (file-name (git-file-name name version))
4098 (sha256
4099 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
4100 (build-system asdf-build-system/sbcl)
4101 (inputs
4102 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4103 (home-page "https://edicl.github.io/chunga/")
4104 (synopsis "Portable chunked streams for Common Lisp")
4105 (description
4106 "Chunga implements streams capable of chunked encoding on demand as
4107 defined in RFC 2616.")
4108 (license license:bsd-2)))
4109
4110 (define-public cl-chunga
4111 (sbcl-package->cl-source-package sbcl-chunga))
4112
4113 (define-public ecl-chunga
4114 (sbcl-package->ecl-package sbcl-chunga))
4115
4116 (define-public sbcl-cl-who
4117 (let ((version "1.1.4")
4118 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
4119 (revision "1"))
4120 (package
4121 (name "sbcl-cl-who")
4122 (version (git-version version revision commit))
4123 (source
4124 (origin
4125 (method git-fetch)
4126 (uri (git-reference
4127 (url "https://github.com/edicl/cl-who")
4128 (commit commit)))
4129 (file-name (git-file-name name version))
4130 (sha256
4131 (base32
4132 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
4133 (build-system asdf-build-system/sbcl)
4134 (native-inputs
4135 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4136 (home-page "https://edicl.github.io/cl-who/")
4137 (synopsis "Yet another Lisp markup language")
4138 (description
4139 "There are plenty of Lisp Markup Languages out there - every Lisp
4140 programmer seems to write at least one during his career - and CL-WHO (where
4141 WHO means \"with-html-output\" for want of a better acronym) is probably just
4142 as good or bad as the next one.")
4143 (license license:bsd-2))))
4144
4145 (define-public cl-who
4146 (sbcl-package->cl-source-package sbcl-cl-who))
4147
4148 (define-public ecl-cl-who
4149 (sbcl-package->ecl-package sbcl-cl-who))
4150
4151 (define-public sbcl-chipz
4152 (let ((version "0.8")
4153 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
4154 (revision "1"))
4155 (package
4156 (name "sbcl-chipz")
4157 (version (git-version version revision commit))
4158 (source
4159 (origin
4160 (method git-fetch)
4161 (uri (git-reference
4162 (url "https://github.com/froydnj/chipz")
4163 (commit commit)))
4164 (file-name (git-file-name name version))
4165 (sha256
4166 (base32
4167 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
4168 (build-system asdf-build-system/sbcl)
4169 (native-inputs
4170 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4171 (home-page "http://method-combination.net/lisp/chipz/")
4172 (synopsis
4173 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
4174 data")
4175 (description
4176 "DEFLATE data, defined in RFC1951, forms the core of popular
4177 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4178 Chipz also provides for decompressing data in those formats as well. BZIP2 is
4179 the format used by the popular compression tool bzip2.")
4180 ;; The author describes it as "MIT-like"
4181 (license license:expat))))
4182
4183 (define-public cl-chipz
4184 (sbcl-package->cl-source-package sbcl-chipz))
4185
4186 (define-public ecl-chipz
4187 (sbcl-package->ecl-package sbcl-chipz))
4188
4189 (define-public sbcl-drakma
4190 (package
4191 (name "sbcl-drakma")
4192 (version "2.0.7")
4193 (source
4194 (origin
4195 (method git-fetch)
4196 (uri (git-reference
4197 (url "https://github.com/edicl/drakma")
4198 (commit (string-append "v" version))))
4199 (file-name (git-file-name name version))
4200 (sha256
4201 (base32
4202 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4203 (build-system asdf-build-system/sbcl)
4204 (inputs
4205 `(("sbcl-puri" ,sbcl-puri)
4206 ("sbcl-cl-base64" ,sbcl-cl-base64)
4207 ("sbcl-chunga" ,sbcl-chunga)
4208 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4209 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4210 ("sbcl-chipz" ,sbcl-chipz)
4211 ("sbcl-usocket" ,sbcl-usocket)
4212 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4213 (native-inputs
4214 `(("sbcl-fiveam" ,sbcl-fiveam)))
4215 (home-page "https://edicl.github.io/drakma/")
4216 (synopsis "HTTP client written in Common Lisp")
4217 (description
4218 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
4219 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4220 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
4221 (license license:bsd-2)))
4222
4223 (define-public cl-drakma
4224 (sbcl-package->cl-source-package sbcl-drakma))
4225
4226 (define-public ecl-drakma
4227 (sbcl-package->ecl-package sbcl-drakma))
4228
4229 (define-public sbcl-hunchentoot
4230 (package
4231 (name "sbcl-hunchentoot")
4232 (version "1.2.38")
4233 (source
4234 (origin
4235 (method git-fetch)
4236 (uri (git-reference
4237 (url "https://github.com/edicl/hunchentoot")
4238 (commit (string-append "v" version))))
4239 (file-name (git-file-name "hunchentoot" version))
4240 (sha256
4241 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4242 (build-system asdf-build-system/sbcl)
4243 (native-inputs
4244 `(("sbcl-cl-who" ,sbcl-cl-who)
4245 ("sbcl-drakma" ,sbcl-drakma)))
4246 (inputs
4247 `(("sbcl-chunga" ,sbcl-chunga)
4248 ("sbcl-cl-base64" ,sbcl-cl-base64)
4249 ("sbcl-cl-fad" ,sbcl-cl-fad)
4250 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4251 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4252 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4253 ("sbcl-md5" ,sbcl-md5)
4254 ("sbcl-rfc2388" ,sbcl-rfc2388)
4255 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4256 ("sbcl-usocket" ,sbcl-usocket)))
4257 (home-page "https://edicl.github.io/hunchentoot/")
4258 (synopsis "Web server written in Common Lisp")
4259 (description
4260 "Hunchentoot is a web server written in Common Lisp and at the same
4261 time a toolkit for building dynamic websites. As a stand-alone web server,
4262 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4263 connections (keep-alive), and SSL.")
4264 (license license:bsd-2)))
4265
4266 (define-public cl-hunchentoot
4267 (sbcl-package->cl-source-package sbcl-hunchentoot))
4268
4269 (define-public ecl-hunchentoot
4270 (package
4271 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4272 (arguments
4273 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4274 '(#:tests? #f))))
4275
4276 (define-public sbcl-trivial-types
4277 (package
4278 (name "sbcl-trivial-types")
4279 (version "0.0.1")
4280 (source
4281 (origin
4282 (method git-fetch)
4283 (uri (git-reference
4284 (url "https://github.com/m2ym/trivial-types")
4285 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4286 (file-name (git-file-name name version))
4287 (sha256
4288 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4289 (build-system asdf-build-system/sbcl)
4290 (home-page "https://github.com/m2ym/trivial-types")
4291 (synopsis "Trivial type definitions for Common Lisp")
4292 (description
4293 "TRIVIAL-TYPES provides missing but important type definitions such as
4294 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4295 (license license:llgpl)))
4296
4297 (define-public cl-trivial-types
4298 (sbcl-package->cl-source-package sbcl-trivial-types))
4299
4300 (define-public ecl-trivial-types
4301 (sbcl-package->ecl-package sbcl-trivial-types))
4302
4303 (define-public sbcl-cl-annot
4304 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4305 (revision "1"))
4306 (package
4307 (name "sbcl-cl-annot")
4308 (version (git-version "0.0.0" revision commit))
4309 (source
4310 (origin
4311 (method git-fetch)
4312 (uri (git-reference
4313 (url "https://github.com/m2ym/cl-annot")
4314 (commit commit)))
4315 (file-name (git-file-name name version))
4316 (sha256
4317 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4318 (build-system asdf-build-system/sbcl)
4319 (inputs
4320 `(("sbcl-alexandria" ,sbcl-alexandria)))
4321 (home-page "https://github.com/m2ym/cl-annot")
4322 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4323 (description
4324 "@code{cl-annot} is an general annotation library for Common Lisp.")
4325 (license license:llgpl))))
4326
4327 (define-public cl-annot
4328 (sbcl-package->cl-source-package sbcl-cl-annot))
4329
4330 (define-public ecl-cl-annot
4331 (sbcl-package->ecl-package sbcl-cl-annot))
4332
4333 (define-public sbcl-cl-syntax
4334 (package
4335 (name "sbcl-cl-syntax")
4336 (version "0.0.3")
4337 (source
4338 (origin
4339 (method git-fetch)
4340 (uri (git-reference
4341 (url "https://github.com/m2ym/cl-syntax")
4342 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4343 (file-name (git-file-name "cl-syntax" version))
4344 (sha256
4345 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4346 (build-system asdf-build-system/sbcl)
4347 (inputs
4348 `(("cl-annot" ,sbcl-cl-annot)
4349 ("cl-interpol" ,sbcl-cl-interpol)
4350 ("named-readtables" ,sbcl-named-readtables)
4351 ("trivial-types" ,sbcl-trivial-types)))
4352 (arguments
4353 '(#:asd-systems '("cl-syntax"
4354 "cl-syntax-annot"
4355 "cl-syntax-interpol")))
4356 (home-page "https://github.com/m2ym/cl-syntax")
4357 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4358 (description
4359 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4360 (license license:llgpl)))
4361
4362 (define-public cl-syntax
4363 (sbcl-package->cl-source-package sbcl-cl-syntax))
4364
4365 (define-public ecl-cl-syntax
4366 (sbcl-package->ecl-package sbcl-cl-syntax))
4367
4368 (define-public sbcl-cl-utilities
4369 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4370 (revision "1"))
4371 (package
4372 (name "sbcl-cl-utilities")
4373 (version (git-version "0.0.0" revision commit))
4374 (source
4375 (origin
4376 (method url-fetch)
4377 (uri
4378 (string-append
4379 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4380 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4381 (sha256
4382 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4383 (build-system asdf-build-system/sbcl)
4384 (arguments
4385 '(#:phases
4386 (modify-phases %standard-phases
4387 (add-after 'unpack 'fix-paths
4388 (lambda* (#:key inputs #:allow-other-keys)
4389 (substitute* "rotate-byte.lisp"
4390 (("in-package :cl-utilities)" all)
4391 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4392 (home-page "http://common-lisp.net/project/cl-utilities")
4393 (synopsis "A collection of semi-standard utilities")
4394 (description
4395 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4396 is a collection of Common Lisp Utilities, things that everybody writes since
4397 they're not part of the official standard. There are some very useful things
4398 there; the only problems are that they aren't implemented as well as you'd
4399 like (some aren't implemented at all) and they aren't conveniently packaged
4400 and maintained. It takes quite a bit of work to carefully implement utilities
4401 for common use, commented and documented, with error checking placed
4402 everywhere some dumb user might make a mistake.")
4403 (license license:public-domain))))
4404
4405 (define-public cl-utilities
4406 (sbcl-package->cl-source-package sbcl-cl-utilities))
4407
4408 (define-public ecl-cl-utilities
4409 (sbcl-package->ecl-package sbcl-cl-utilities))
4410
4411 (define-public sbcl-map-set
4412 (let ((commit "7b4b545b68b8")
4413 (revision "1"))
4414 (package
4415 (name "sbcl-map-set")
4416 (version (git-version "0.0.0" revision commit))
4417 (source
4418 (origin
4419 (method url-fetch)
4420 (uri (string-append
4421 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4422 commit ".tar.gz"))
4423 (sha256
4424 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4425 (build-system asdf-build-system/sbcl)
4426 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4427 (synopsis "Set-like data structure")
4428 (description
4429 "Implementation of a set-like data structure with constant time
4430 addition, removal, and random selection.")
4431 (license license:bsd-3))))
4432
4433 (define-public cl-map-set
4434 (sbcl-package->cl-source-package sbcl-map-set))
4435
4436 (define-public ecl-map-set
4437 (sbcl-package->ecl-package sbcl-map-set))
4438
4439 (define-public sbcl-quri
4440 (package
4441 (name "sbcl-quri")
4442 (version "0.3.0")
4443 (source
4444 (origin
4445 (method git-fetch)
4446 (uri (git-reference
4447 (url "https://github.com/fukamachi/quri")
4448 (commit version)))
4449 (file-name (git-file-name name version))
4450 (sha256
4451 (base32 "1pkvpiwwhx2fcknr7x47h7036ypkg8xzsskqbl5z315ipfmi8s2m"))))
4452 (build-system asdf-build-system/sbcl)
4453 (arguments
4454 ;; Test system must be loaded before, otherwise tests fail with:
4455 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4456 ;; "quri">.
4457 '(#:asd-systems '("quri-test"
4458 "quri")))
4459 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4460 (inputs `(("sbcl-babel" ,sbcl-babel)
4461 ("sbcl-split-sequence" ,sbcl-split-sequence)
4462 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4463 ("sbcl-alexandria" ,sbcl-alexandria)))
4464 (home-page "https://github.com/fukamachi/quri")
4465 (synopsis "Yet another URI library for Common Lisp")
4466 (description
4467 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4468 Lisp. It is intended to be a replacement of PURI.")
4469 (license license:bsd-3)))
4470
4471 (define-public cl-quri
4472 (sbcl-package->cl-source-package sbcl-quri))
4473
4474 (define-public ecl-quri
4475 (sbcl-package->ecl-package sbcl-quri))
4476
4477 (define-public sbcl-myway
4478 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4479 (revision "1"))
4480 (package
4481 (name "sbcl-myway")
4482 (version (git-version "0.1.0" revision commit))
4483 (source
4484 (origin
4485 (method git-fetch)
4486 (uri (git-reference
4487 (url "https://github.com/fukamachi/myway")
4488 (commit commit)))
4489 (file-name (git-file-name "myway" version))
4490 (sha256
4491 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4492 (build-system asdf-build-system/sbcl)
4493 (arguments
4494 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4495 ;; by #<SYSTEM "myway">. Why?
4496 '(#:tests? #f))
4497 (native-inputs
4498 `(("sbcl-prove" ,sbcl-prove)))
4499 (inputs
4500 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4501 ("sbcl-quri" ,sbcl-quri)
4502 ("sbcl-map-set" ,sbcl-map-set)))
4503 (home-page "https://github.com/fukamachi/myway")
4504 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4505 (description "My Way is a Sinatra-compatible URL routing library.")
4506 (license license:llgpl))))
4507
4508 (define-public cl-myway
4509 (sbcl-package->cl-source-package sbcl-myway))
4510
4511 (define-public ecl-myway
4512 (sbcl-package->ecl-package sbcl-myway))
4513
4514 (define-public sbcl-xsubseq
4515 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4516 (revision "1"))
4517 (package
4518 (name "sbcl-xsubseq")
4519 (version (git-version "0.0.1" revision commit))
4520 (source
4521 (origin
4522 (method git-fetch)
4523 (uri (git-reference
4524 (url "https://github.com/fukamachi/xsubseq")
4525 (commit commit)))
4526 (file-name (git-file-name name version))
4527 (sha256
4528 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4529 (build-system asdf-build-system/sbcl)
4530 (arguments
4531 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4532 ;; required by #<SYSTEM "xsubseq">. Why?
4533 '(#:tests? #f))
4534 (native-inputs
4535 `(("sbcl-prove" ,sbcl-prove)))
4536 (home-page "https://github.com/fukamachi/xsubseq")
4537 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4538 (description
4539 "XSubseq provides functions to be able to handle \"subseq\"s more
4540 effieiently.")
4541 (license license:bsd-2))))
4542
4543 (define-public cl-xsubseq
4544 (sbcl-package->cl-source-package sbcl-xsubseq))
4545
4546 (define-public ecl-xsubseq
4547 (sbcl-package->ecl-package sbcl-xsubseq))
4548
4549 (define-public sbcl-smart-buffer
4550 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4551 (revision "1"))
4552 (package
4553 (name "sbcl-smart-buffer")
4554 (version (git-version "0.0.1" revision commit))
4555 (source
4556 (origin
4557 (method git-fetch)
4558 (uri (git-reference
4559 (url "https://github.com/fukamachi/smart-buffer")
4560 (commit commit)))
4561 (file-name (git-file-name name version))
4562 (sha256
4563 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4564 (build-system asdf-build-system/sbcl)
4565 (arguments
4566 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4567 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4568 `(#:tests? #f))
4569 (native-inputs
4570 `(("sbcl-prove" ,sbcl-prove)))
4571 (inputs
4572 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4573 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4574 (home-page "https://github.com/fukamachi/smart-buffer")
4575 (synopsis "Smart octets buffer")
4576 (description
4577 "Smart-buffer provides an output buffer which changes the destination
4578 depending on content size.")
4579 (license license:bsd-3))))
4580
4581 (define-public cl-smart-buffer
4582 (sbcl-package->cl-source-package sbcl-smart-buffer))
4583
4584 (define-public ecl-smart-buffer
4585 (sbcl-package->ecl-package sbcl-smart-buffer))
4586
4587 (define-public sbcl-fast-http
4588 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4589 (revision "2"))
4590 (package
4591 (name "sbcl-fast-http")
4592 (version (git-version "0.2.0" revision commit))
4593 (source
4594 (origin
4595 (method git-fetch)
4596 (uri (git-reference
4597 (url "https://github.com/fukamachi/fast-http")
4598 (commit commit)))
4599 (file-name (git-file-name name version))
4600 (sha256
4601 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4602 (build-system asdf-build-system/sbcl)
4603 (arguments
4604 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4605 ;; required by #<SYSTEM "fast-http">. Why?
4606 `(#:tests? #f))
4607 (native-inputs
4608 `(("sbcl-prove" ,sbcl-prove)
4609 ("cl-syntax" ,sbcl-cl-syntax)))
4610 (inputs
4611 `(("sbcl-alexandria" ,sbcl-alexandria)
4612 ("sbcl-proc-parse" ,sbcl-proc-parse)
4613 ("sbcl-xsubseq" ,sbcl-xsubseq)
4614 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4615 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4616 (home-page "https://github.com/fukamachi/fast-http")
4617 (synopsis "HTTP request/response parser for Common Lisp")
4618 (description
4619 "@code{fast-http} is a HTTP request/response protocol parser for Common
4620 Lisp.")
4621 ;; Author specified the MIT license
4622 (license license:expat))))
4623
4624 (define-public cl-fast-http
4625 (sbcl-package->cl-source-package sbcl-fast-http))
4626
4627 (define-public ecl-fast-http
4628 (sbcl-package->ecl-package sbcl-fast-http))
4629
4630 (define-public sbcl-static-vectors
4631 (package
4632 (name "sbcl-static-vectors")
4633 (version "1.8.6")
4634 (source
4635 (origin
4636 (method git-fetch)
4637 (uri (git-reference
4638 (url "https://github.com/sionescu/static-vectors")
4639 (commit (string-append "v" version))))
4640 (file-name (git-file-name name version))
4641 (sha256
4642 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4643 (native-inputs
4644 `(("sbcl-fiveam" ,sbcl-fiveam)))
4645 (inputs
4646 `(("sbcl-alexandria" ,sbcl-alexandria)
4647 ("sbcl-cffi" ,sbcl-cffi)))
4648 (build-system asdf-build-system/sbcl)
4649 (home-page "https://github.com/sionescu/static-vectors")
4650 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4651 (description
4652 "With @code{static-vectors}, you can create vectors allocated in static
4653 memory.")
4654 (license license:expat)))
4655
4656 (define-public cl-static-vectors
4657 (sbcl-package->cl-source-package sbcl-static-vectors))
4658
4659 (define-public ecl-static-vectors
4660 (sbcl-package->ecl-package sbcl-static-vectors))
4661
4662 (define-public sbcl-marshal
4663 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4664 (revision "1"))
4665 (package
4666 (name "sbcl-marshal")
4667 (version (git-version "1.3.0" revision commit))
4668 (source
4669 (origin
4670 (method git-fetch)
4671 (uri (git-reference
4672 (url "https://github.com/wlbr/cl-marshal")
4673 (commit commit)))
4674 (file-name (git-file-name name version))
4675 (sha256
4676 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4677 (build-system asdf-build-system/sbcl)
4678 (home-page "https://github.com/wlbr/cl-marshal")
4679 (synopsis "Simple (de)serialization of Lisp datastructures")
4680 (description
4681 "Simple and fast marshalling of Lisp datastructures. Convert any object
4682 into a string representation, put it on a stream an revive it from there.
4683 Only minimal changes required to make your CLOS objects serializable.")
4684 (license license:expat))))
4685
4686 (define-public cl-marshal
4687 (sbcl-package->cl-source-package sbcl-marshal))
4688
4689 (define-public ecl-marshal
4690 (sbcl-package->ecl-package sbcl-marshal))
4691
4692 (define-public sbcl-checkl
4693 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4694 (revision "1"))
4695 (package
4696 (name "sbcl-checkl")
4697 (version (git-version "0.0.0" revision commit))
4698 (source
4699 (origin
4700 (method git-fetch)
4701 (uri (git-reference
4702 (url "https://github.com/rpav/CheckL")
4703 (commit commit)))
4704 (file-name (git-file-name name version))
4705 (sha256
4706 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4707 (build-system asdf-build-system/sbcl)
4708 (arguments
4709 ;; Error while trying to load definition for system checkl-test from
4710 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4711 ;; is undefined.
4712 '(#:asd-files '("checkl.asd")
4713 #:tests? #f))
4714 (native-inputs
4715 `(("sbcl-fiveam" ,sbcl-fiveam)))
4716 (inputs
4717 `(("sbcl-marshal" ,sbcl-marshal)))
4718 (home-page "https://github.com/rpav/CheckL/")
4719 (synopsis "Dynamic testing for Common Lisp")
4720 (description
4721 "CheckL lets you write tests dynamically, it checks resulting values
4722 against the last run.")
4723 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4724 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4725 ;; stronger of the two and so I think only listing this should suffice.
4726 (license license:llgpl))))
4727
4728 (define-public cl-checkl
4729 (sbcl-package->cl-source-package sbcl-checkl))
4730
4731 (define-public ecl-checkl
4732 (sbcl-package->ecl-package sbcl-checkl))
4733
4734 (define-public sbcl-fast-io
4735 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4736 (revision "2"))
4737 (package
4738 (name "sbcl-fast-io")
4739 (version (git-version "1.0.0" revision commit))
4740 (source
4741 (origin
4742 (method git-fetch)
4743 (uri (git-reference
4744 (url "https://github.com/rpav/fast-io")
4745 (commit commit)))
4746 (file-name (git-file-name name version))
4747 (sha256
4748 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4749 (build-system asdf-build-system/sbcl)
4750 (arguments
4751 ;; Error while trying to load definition for system fast-io-test from
4752 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4753 ;; is undefined.
4754 '(#:tests? #f
4755 #:asd-files '("fast-io.asd")))
4756 (native-inputs
4757 `(("sbcl-fiveam" ,sbcl-fiveam)
4758 ("sbcl-checkl" ,sbcl-checkl)))
4759 (inputs
4760 `(("sbcl-alexandria" ,sbcl-alexandria)
4761 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4762 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4763 (home-page "https://github.com/rpav/fast-io")
4764 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4765 (description
4766 "Fast-io is about improving performance to octet-vectors and octet
4767 streams (though primarily the former, while wrapping the latter).")
4768 ;; Author specifies this as NewBSD which is an alias
4769 (license license:bsd-3))))
4770
4771 (define-public cl-fast-io
4772 (sbcl-package->cl-source-package sbcl-fast-io))
4773
4774 (define-public ecl-fast-io
4775 (sbcl-package->ecl-package sbcl-fast-io))
4776
4777 (define-public sbcl-jonathan
4778 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4779 (revision "1"))
4780 (package
4781 (name "sbcl-jonathan")
4782 (version (git-version "0.1.0" revision commit))
4783 (source
4784 (origin
4785 (method git-fetch)
4786 (uri (git-reference
4787 (url "https://github.com/Rudolph-Miller/jonathan")
4788 (commit commit)))
4789 (file-name (git-file-name name version))
4790 (sha256
4791 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4792 (build-system asdf-build-system/sbcl)
4793 (arguments
4794 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4795 ;; required by #<SYSTEM "jonathan">. Why?
4796 `(#:tests? #f))
4797 (native-inputs
4798 `(("sbcl-prove" ,sbcl-prove)))
4799 (inputs
4800 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4801 ("sbcl-fast-io" ,sbcl-fast-io)
4802 ("sbcl-proc-parse" ,sbcl-proc-parse)
4803 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4804 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4805 (synopsis "JSON encoder and decoder")
4806 (description
4807 "High performance JSON encoder and decoder. Currently support: SBCL,
4808 CCL.")
4809 ;; Author specifies the MIT license
4810 (license license:expat))))
4811
4812 (define-public cl-jonathan
4813 (sbcl-package->cl-source-package sbcl-jonathan))
4814
4815 (define-public ecl-jonathan
4816 (sbcl-package->ecl-package sbcl-jonathan))
4817
4818 (define-public sbcl-http-body
4819 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4820 (revision "1"))
4821 (package
4822 (name "sbcl-http-body")
4823 (version (git-version "0.1.0" revision commit))
4824 (source
4825 (origin
4826 (method git-fetch)
4827 (uri (git-reference
4828 (url "https://github.com/fukamachi/http-body")
4829 (commit commit)))
4830 (file-name (git-file-name name version))
4831 (sha256
4832 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4833 (build-system asdf-build-system/sbcl)
4834 (arguments
4835 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4836 ;; found, required by #<SYSTEM "http-body">. Why?
4837 `(#:tests? #f))
4838 (native-inputs
4839 `(("sbcl-prove" ,sbcl-prove)))
4840 (inputs
4841 `(("sbcl-fast-http" ,sbcl-fast-http)
4842 ("sbcl-jonathan" ,sbcl-jonathan)
4843 ("sbcl-quri" ,sbcl-quri)))
4844 (home-page "https://github.com/fukamachi/http-body")
4845 (synopsis "HTTP POST data parser")
4846 (description
4847 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4848 supports application/x-www-form-urlencoded, application/json, and
4849 multipart/form-data.")
4850 (license license:bsd-2))))
4851
4852 (define-public cl-http-body
4853 (sbcl-package->cl-source-package sbcl-http-body))
4854
4855 (define-public ecl-http-body
4856 (sbcl-package->ecl-package sbcl-http-body))
4857
4858 (define-public sbcl-circular-streams
4859 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4860 (revision "1"))
4861 (package
4862 (name "sbcl-circular-streams")
4863 (version (git-version "0.1.0" revision commit))
4864 (source
4865 (origin
4866 (method git-fetch)
4867 (uri (git-reference
4868 (url "https://github.com/fukamachi/circular-streams")
4869 (commit commit)))
4870 (file-name (git-file-name name version))
4871 (sha256
4872 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4873 (build-system asdf-build-system/sbcl)
4874 (arguments
4875 ;; The tests depend on cl-test-more which is now prove. Prove
4876 ;; tests aren't working for some reason.
4877 `(#:tests? #f))
4878 (inputs
4879 `(("sbcl-fast-io" ,sbcl-fast-io)
4880 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4881 (home-page "https://github.com/fukamachi/circular-streams")
4882 (synopsis "Circularly readable streams for Common Lisp")
4883 (description
4884 "Circular-Streams allows you to read streams circularly by wrapping real
4885 streams. Once you reach end-of-file of a stream, it's file position will be
4886 reset to 0 and you're able to read it again.")
4887 (license license:llgpl))))
4888
4889 (define-public cl-circular-streams
4890 (sbcl-package->cl-source-package sbcl-circular-streams))
4891
4892 (define-public ecl-circular-streams
4893 (sbcl-package->ecl-package sbcl-circular-streams))
4894
4895 (define-public sbcl-lack
4896 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4897 (revision "1"))
4898 (package
4899 (name "sbcl-lack")
4900 (version (git-version "0.1.0" revision commit))
4901 (source
4902 (origin
4903 (method git-fetch)
4904 (uri (git-reference
4905 (url "https://github.com/fukamachi/lack")
4906 (commit commit)))
4907 (file-name (git-file-name "lack" version))
4908 (sha256
4909 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4910 (build-system asdf-build-system/sbcl)
4911 (native-inputs
4912 `(("prove" ,sbcl-prove)))
4913 (inputs
4914 `(("circular-streams" ,sbcl-circular-streams)
4915 ("http-body" ,sbcl-http-body)
4916 ("ironclad" ,sbcl-ironclad)
4917 ("local-time" ,sbcl-local-time)
4918 ("quri" ,sbcl-quri)
4919 ("trivial-mimes" ,sbcl-trivial-mimes)))
4920 (arguments
4921 '(#:asd-systems '("lack"
4922 "lack-request"
4923 "lack-response"
4924 "lack-component"
4925 "lack-util"
4926 "lack-middleware-backtrace"
4927 "lack-middleware-static")
4928 #:test-asd-file "t-lack.asd"
4929 ;; XXX: Component :CLACK not found
4930 #:tests? #f))
4931 (home-page "https://github.com/fukamachi/lack")
4932 (synopsis "Lack, the core of Clack")
4933 (description
4934 "Lack is a Common Lisp library which allows web applications to be
4935 constructed of modular components. It was originally a part of Clack, however
4936 it's going to be rewritten as an individual project since Clack v2 with
4937 performance and simplicity in mind.")
4938 (license license:llgpl))))
4939
4940 (define-public cl-lack
4941 (sbcl-package->cl-source-package sbcl-lack))
4942
4943 (define-public ecl-lack
4944 (sbcl-package->ecl-package sbcl-lack))
4945
4946 (define-public sbcl-local-time
4947 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4948 (revision "2"))
4949 (package
4950 (name "sbcl-local-time")
4951 (version (git-version "1.0.6" revision commit))
4952 (source
4953 (origin
4954 (method git-fetch)
4955 (uri (git-reference
4956 (url "https://github.com/dlowe-net/local-time")
4957 (commit commit)))
4958 (file-name (git-file-name name version))
4959 (sha256
4960 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4961 (build-system asdf-build-system/sbcl)
4962 (native-inputs
4963 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4964 (home-page "https://common-lisp.net/project/local-time/")
4965 (synopsis "Time manipulation library for Common Lisp")
4966 (description
4967 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4968 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4969 Long Painful History of Time\".")
4970 (license license:expat))))
4971
4972 (define-public cl-local-time
4973 (sbcl-package->cl-source-package sbcl-local-time))
4974
4975 (define-public ecl-local-time
4976 (sbcl-package->ecl-package sbcl-local-time))
4977
4978 (define-public sbcl-chronicity
4979 (package
4980 (name "sbcl-chronicity")
4981 (version "0.4.1")
4982 (source
4983 (origin
4984 (method git-fetch)
4985 (uri (git-reference
4986 (url "https://github.com/chaitanyagupta/chronicity")
4987 (commit (string-append "v" version))))
4988 (file-name (git-file-name "chronicity" version))
4989 (sha256
4990 (base32 "0rzrl9is2v1aqbm0sym0qx3blnpd0bl13dkkmll6mb3983k2mkax"))))
4991 (build-system asdf-build-system/sbcl)
4992 (native-inputs
4993 `(("lisp-unit" ,sbcl-lisp-unit)))
4994 (inputs
4995 `(("cl-interpol" ,sbcl-cl-interpol)
4996 ("cl-ppcre" ,sbcl-cl-ppcre)
4997 ("local-time" ,sbcl-local-time)))
4998 (home-page "https://github.com/chaitanyagupta/chronicity")
4999 (synopsis "Natural language date and time parser for Common Lisp")
5000 (description
5001 "CHRONICITY is Common Lisp natural language date and time parser inspired
5002 by Ruby's @code{Chronic}.")
5003 (license license:bsd-3)))
5004
5005 (define-public ecl-chronicity
5006 (sbcl-package->ecl-package sbcl-chronicity))
5007
5008 (define-public cl-chronicity
5009 (sbcl-package->cl-source-package sbcl-chronicity))
5010
5011 (define-public sbcl-trivial-mimes
5012 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
5013 (revision "2"))
5014 (package
5015 (name "sbcl-trivial-mimes")
5016 (version (git-version "1.1.0" revision commit))
5017 (source
5018 (origin
5019 (method git-fetch)
5020 (uri (git-reference
5021 (url "https://github.com/Shinmera/trivial-mimes")
5022 (commit commit)))
5023 (file-name (git-file-name name version))
5024 (sha256
5025 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
5026 (build-system asdf-build-system/sbcl)
5027 (native-inputs
5028 `(("stefil" ,sbcl-hu.dwim.stefil)))
5029 (inputs
5030 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
5031 (home-page "https://shinmera.github.io/trivial-mimes/")
5032 (synopsis "Tiny Common Lisp library to detect mime types in files")
5033 (description
5034 "This is a teensy library that provides some functions to determine the
5035 mime-type of a file.")
5036 (license license:zlib))))
5037
5038 (define-public cl-trivial-mimes
5039 (sbcl-package->cl-source-package sbcl-trivial-mimes))
5040
5041 (define-public ecl-trivial-mimes
5042 (sbcl-package->ecl-package sbcl-trivial-mimes))
5043
5044 (define-public sbcl-ningle
5045 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
5046 (revision "1"))
5047 (package
5048 (name "sbcl-ningle")
5049 (version (git-version "0.3.0" revision commit))
5050 (source
5051 (origin
5052 (method git-fetch)
5053 (uri (git-reference
5054 (url "https://github.com/fukamachi/ningle")
5055 (commit commit)))
5056 (file-name (git-file-name name version))
5057 (sha256
5058 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
5059 (build-system asdf-build-system/sbcl)
5060 (arguments
5061 ;; TODO: pull in clack-test
5062 '(#:tests? #f
5063 #:phases
5064 (modify-phases %standard-phases
5065 (delete 'cleanup-files)
5066 (delete 'cleanup)
5067 (add-before 'cleanup 'combine-fasls
5068 (lambda* (#:key outputs #:allow-other-keys)
5069 (let* ((out (assoc-ref outputs "out"))
5070 (lib (string-append out "/lib/sbcl"))
5071 (ningle-path (string-append lib "/ningle"))
5072 (fasl-files (find-files out "\\.fasl$")))
5073 (mkdir-p ningle-path)
5074 (let ((fasl-path (lambda (name)
5075 (string-append ningle-path
5076 "/"
5077 (basename name)
5078 "--system.fasl"))))
5079 (for-each (lambda (file)
5080 (rename-file file
5081 (fasl-path
5082 (basename file ".fasl"))))
5083 fasl-files))
5084 fasl-files)
5085 #t)))))
5086 (native-inputs
5087 `(("sbcl-prove" ,sbcl-prove)))
5088 (inputs
5089 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
5090 ("sbcl-myway" ,sbcl-myway)
5091 ("sbcl-lack" ,sbcl-lack)
5092 ("sbcl-alexandria" ,sbcl-alexandria)
5093 ("sbcl-babel" ,sbcl-babel)))
5094 (home-page "https://8arrow.org/ningle/")
5095 (synopsis "Super micro framework for Common Lisp")
5096 (description
5097 "Ningle is a lightweight web application framework for Common Lisp.")
5098 (license license:llgpl))))
5099
5100 (define-public cl-ningle
5101 (sbcl-package->cl-source-package sbcl-ningle))
5102
5103 (define-public ecl-ningle
5104 (sbcl-package->ecl-package sbcl-ningle))
5105
5106 (define-public sbcl-cl-fastcgi
5107 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
5108 (revision "2"))
5109 (package
5110 (name "sbcl-cl-fastcgi")
5111 (version (git-version "0.2" revision commit))
5112 (source
5113 (origin
5114 (method git-fetch)
5115 (uri (git-reference
5116 (url "https://github.com/KDr2/cl-fastcgi/")
5117 (commit commit)))
5118 (file-name (git-file-name name version))
5119 (sha256
5120 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
5121 (build-system asdf-build-system/sbcl)
5122 (inputs
5123 `(("usocket" ,sbcl-usocket)
5124 ("cffi" ,sbcl-cffi)
5125 ("fcgi" ,fcgi)))
5126 (arguments
5127 `(#:phases
5128 (modify-phases %standard-phases
5129 (add-after 'unpack 'fix-paths
5130 (lambda* (#:key inputs #:allow-other-keys)
5131 (substitute* "cl-fastcgi.lisp"
5132 (("\"libfcgi.so\"")
5133 (string-append
5134 "\""
5135 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
5136 (home-page "https://kdr2.com/project/cl-fastcgi.html")
5137 (synopsis "FastCGI wrapper for Common Lisp")
5138 (description
5139 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
5140 mostly Common Lisp implementation.")
5141 (license license:bsd-2))))
5142
5143 (define-public cl-fastcgi
5144 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
5145
5146 (define-public ecl-cl-fastcgi
5147 (sbcl-package->ecl-package sbcl-cl-fastcgi))
5148
5149 (define-public sbcl-clack
5150 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
5151 (revision "1"))
5152 (package
5153 (name "sbcl-clack")
5154 (version (git-version "2.0.0" revision commit))
5155 (source
5156 (origin
5157 (method git-fetch)
5158 (uri (git-reference
5159 (url "https://github.com/fukamachi/clack")
5160 (commit commit)))
5161 (file-name (git-file-name name version))
5162 (sha256
5163 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
5164 (build-system asdf-build-system/sbcl)
5165 (inputs
5166 `(("alexandria" ,sbcl-alexandria)
5167 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5168 ("cl-fastcgi" ,sbcl-cl-fastcgi)
5169 ("flexi-streams" ,sbcl-flexi-streams)
5170 ("hunchentoot" ,sbcl-hunchentoot)
5171 ("lack" ,sbcl-lack)
5172 ("split-sequence" ,sbcl-split-sequence)
5173 ("usocket" ,sbcl-usocket)
5174 ("quri" ,sbcl-quri)))
5175 (arguments
5176 '(#:asd-systems '("clack"
5177 "clack-handler-fcgi"
5178 "clack-socket"
5179 "clack-handler-hunchentoot")))
5180 (home-page "https://github.com/fukamachi/clack")
5181 (synopsis "Web Application Environment for Common Lisp")
5182 (description
5183 "Clack is a web application environment for Common Lisp inspired by
5184 Python's WSGI and Ruby's Rack.")
5185 (license license:llgpl))))
5186
5187 (define-public cl-clack
5188 (sbcl-package->cl-source-package sbcl-clack))
5189
5190 (define-public ecl-clack
5191 (sbcl-package->ecl-package sbcl-clack))
5192
5193 (define-public sbcl-cl-log
5194 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
5195 (revision "1"))
5196 (package
5197 (name "sbcl-cl-log")
5198 (version "1.0.1")
5199 (source
5200 (origin
5201 (method git-fetch)
5202 (uri (git-reference
5203 (url "https://github.com/nicklevine/cl-log")
5204 (commit commit)))
5205 (sha256
5206 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5207 (file-name (git-file-name "cl-log" version))))
5208 (build-system asdf-build-system/sbcl)
5209 (synopsis "Common Lisp general purpose logging utility")
5210 (description "CL-LOG is a general purpose logging utility, loosely modelled
5211 in some respects after Gary King's Log5. Its features include: logging to
5212 several destinations at once, via \"messengers\", each messenger is tailored to
5213 accept some log messages and reject others, and this tailoring can be changed
5214 on-the-fly, very rapid processing of messages which are rejected by all
5215 messengers, fully independent use of the utility by several different
5216 sub-systems in an application, support for messengers which cl:format text to a
5217 stream, support for messengers which do not invoke cl:format, timestamps in
5218 theory accurate to internal-time-units-per-second.")
5219 (home-page "https://github.com/nicklevine/cl-log")
5220 (license license:expat))))
5221
5222 (define-public cl-log
5223 (sbcl-package->cl-source-package sbcl-cl-log))
5224
5225 (define-public ecl-cl-log
5226 (sbcl-package->ecl-package sbcl-cl-log))
5227
5228 (define-public sbcl-log4cl
5229 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
5230 (revision "1"))
5231 (package
5232 (name "sbcl-log4cl")
5233 (version (git-version "1.1.3" revision commit))
5234 (source
5235 (origin
5236 (method git-fetch)
5237 (uri (git-reference
5238 (url "https://github.com/sharplispers/log4cl")
5239 (commit commit)))
5240 (file-name (git-file-name "log4cl" version))
5241 (sha256
5242 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5243 (build-system asdf-build-system/sbcl)
5244 (native-inputs
5245 `(("stefil" ,sbcl-stefil)))
5246 (inputs
5247 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5248 (home-page "https://github.com/7max/log4cl")
5249 (synopsis "Common Lisp logging framework, modeled after Log4J")
5250 (description
5251 "This is a Common Lisp logging framework that can log at various levels
5252 and mix text with expressions.")
5253 (license license:asl2.0))))
5254
5255 (define-public cl-log4cl
5256 (sbcl-package->cl-source-package sbcl-log4cl))
5257
5258 (define-public ecl-log4cl
5259 (sbcl-package->ecl-package sbcl-log4cl))
5260
5261 (define-public sbcl-printv
5262 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5263 (revision "1"))
5264 (package
5265 (name "sbcl-printv")
5266 (version (git-version "0.1.0" revision commit))
5267 (source
5268 (origin
5269 (method git-fetch)
5270 (uri (git-reference
5271 (url "https://github.com/danlentz/printv")
5272 (commit commit)))
5273 (file-name (git-file-name "printv" version))
5274 (sha256
5275 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5276 (build-system asdf-build-system/sbcl)
5277 (home-page "https://github.com/danlentz/printv")
5278 (synopsis "Common Lisp tracing and debug-logging macro")
5279 (description
5280 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5281 macro for Common Lisp.")
5282 (license license:asl2.0))))
5283
5284 (define-public ecl-printv
5285 (sbcl-package->ecl-package sbcl-printv))
5286
5287 (define-public cl-printv
5288 (sbcl-package->cl-source-package sbcl-printv))
5289
5290 (define-public sbcl-cl-debug
5291 (let ((commit "b334280806104ee7f7d3aec666bf7e08d2f89b31")
5292 (revision "1"))
5293 (package
5294 (name "sbcl-cl-debug")
5295 (version (git-version "1.0.0" revision commit))
5296 (source
5297 (origin
5298 (method git-fetch)
5299 (uri (git-reference
5300 (url "https://github.com/kmx-io/cl-debug")
5301 (commit commit)))
5302 (file-name (git-file-name "cl-debug" version))
5303 (sha256
5304 (base32 "0w5vxbjsgr3zfpivdmghmhzxskfdvm1p34c8whwps2xlhypxsa78"))))
5305 (build-system asdf-build-system/sbcl)
5306 (home-page "https://github.com/kmx-io/cl-debug")
5307 (synopsis "Common Lisp cross-package debugging facility")
5308 (description
5309 "CL-DEBUG provides a unified way to enable or disable debug-specific code.
5310 Debugging code can be enabled or disabled relative to program features denoted
5311 by either a symbol or a keyword.")
5312 (license license:isc))))
5313
5314 (define-public ecl-cl-debug
5315 (sbcl-package->ecl-package sbcl-cl-debug))
5316
5317 (define-public cl-debug
5318 (sbcl-package->cl-source-package sbcl-cl-debug))
5319
5320 (define-public sbcl-verbose
5321 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5322 (revision "1"))
5323 (package
5324 (name "sbcl-verbose")
5325 (version (git-version "2.0.0" revision commit))
5326 (source
5327 (origin
5328 (method git-fetch)
5329 (uri (git-reference
5330 (url "https://github.com/Shinmera/verbose/")
5331 (commit commit)))
5332 (file-name (git-file-name "verbose" version))
5333 (sha256
5334 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5335 (build-system asdf-build-system/sbcl)
5336 (inputs
5337 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5338 ("dissect" ,sbcl-dissect)
5339 ("documentation-utils" ,sbcl-documentation-utils)
5340 ("local-time" ,sbcl-local-time)
5341 ("piping" ,sbcl-piping)))
5342 (home-page "https://shinmera.github.io/verbose/")
5343 (synopsis "Logging framework using the piping library")
5344 (description
5345 "This is a Common Lisp library providing logging faciltiy similar to
5346 @code{CL-LOG} and @code{LOG4CL}.")
5347 (license license:zlib))))
5348
5349 (define-public ecl-verbose
5350 (sbcl-package->ecl-package sbcl-verbose))
5351
5352 (define-public cl-verbose
5353 (sbcl-package->cl-source-package sbcl-verbose))
5354
5355 (define-public sbcl-find-port
5356 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5357 (revision "1"))
5358 (package
5359 (name "sbcl-find-port")
5360 (build-system asdf-build-system/sbcl)
5361 (version "0.1")
5362 (home-page "https://github.com/eudoxia0/find-port")
5363 (source
5364 (origin
5365 (method git-fetch)
5366 (uri (git-reference
5367 (url home-page)
5368 (commit commit)))
5369 (file-name (git-file-name name version))
5370 (sha256
5371 (base32
5372 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5373 (native-inputs
5374 `(("fiveam" ,sbcl-fiveam)))
5375 (inputs
5376 `(("sbcl-usocket" ,sbcl-usocket)))
5377 (synopsis "Find open ports programmatically in Common Lisp")
5378 (description "This is a small Common Lisp library that finds an open
5379 port within a range.")
5380 (license license:expat))))
5381
5382 (define-public cl-find-port
5383 (sbcl-package->cl-source-package sbcl-find-port))
5384
5385 (define-public ecl-find-port
5386 (sbcl-package->ecl-package sbcl-find-port))
5387
5388 (define-public sbcl-clunit
5389 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5390 (revision "1"))
5391 (package
5392 (name "sbcl-clunit")
5393 (version (git-version "0.2.3" revision commit))
5394 (source
5395 (origin
5396 (method git-fetch)
5397 (uri (git-reference
5398 (url "https://github.com/tgutu/clunit")
5399 (commit commit)))
5400 (file-name (git-file-name name version))
5401 (sha256
5402 (base32
5403 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5404 (build-system asdf-build-system/sbcl)
5405 (synopsis "CLUnit is a Common Lisp unit testing framework")
5406 (description
5407 "CLUnit is a Common Lisp unit testing framework. It is designed
5408 to be easy to use so that you can quickly start testing. CLUnit
5409 provides a rich set of features aimed at improving your unit testing
5410 experience.")
5411 (home-page "https://tgutu.github.io/clunit/")
5412 ;; MIT License
5413 (license license:expat))))
5414
5415 (define-public cl-clunit
5416 (sbcl-package->cl-source-package sbcl-clunit))
5417
5418 (define-public ecl-clunit
5419 (sbcl-package->ecl-package sbcl-clunit))
5420
5421 (define-public sbcl-py4cl
5422 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5423 (revision "1"))
5424 (package
5425 (name "sbcl-py4cl")
5426 (version (git-version "0.0.0" revision commit))
5427 (source
5428 (origin
5429 (method git-fetch)
5430 (uri (git-reference
5431 (url "https://github.com/bendudson/py4cl")
5432 (commit commit)))
5433 (file-name (git-file-name name version))
5434 (sha256
5435 (base32
5436 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5437 (modules '((guix build utils)))))
5438 (build-system asdf-build-system/sbcl)
5439 (native-inputs
5440 `(("sbcl-clunit" ,sbcl-clunit)))
5441 (inputs
5442 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5443 (propagated-inputs
5444 ;; This package doesn't do anything without python available
5445 `(("python" ,python)
5446 ;; For multi-dimensional array support
5447 ("python-numpy" ,python-numpy)))
5448 (arguments
5449 '(#:phases
5450 (modify-phases %standard-phases
5451 (add-after 'unpack 'replace-*base-directory*-var
5452 (lambda* (#:key outputs #:allow-other-keys)
5453 ;; In the ASD, the author makes an attempt to
5454 ;; programatically determine the location of the
5455 ;; source-code so lisp can call into "py4cl.py". We can
5456 ;; hard-code this since we know where this file will
5457 ;; reside.
5458 (substitute* "src/callpython.lisp"
5459 (("py4cl/config:\\*base-directory\\*")
5460 (string-append
5461 "\""
5462 (assoc-ref outputs "out")
5463 "/share/common-lisp/sbcl-source/py4cl/"
5464 "\""))))))))
5465 (synopsis "Call python from Common Lisp")
5466 (description
5467 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5468 Lisp to interact with Python code. It uses streams to communicate with a
5469 separate python process, the approach taken by cl4py. This is different to
5470 the CFFI approach used by burgled-batteries, but has the same goal.")
5471 (home-page "https://github.com/bendudson/py4cl")
5472 ;; MIT License
5473 (license license:expat))))
5474
5475 (define-public cl-py4cl
5476 (sbcl-package->cl-source-package sbcl-py4cl))
5477
5478 (define-public ecl-py4cl
5479 (sbcl-package->ecl-package sbcl-py4cl))
5480
5481 (define-public sbcl-parse-declarations
5482 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5483 (revision "1"))
5484 (package
5485 (name "sbcl-parse-declarations")
5486 (version (git-version "1.0.0" revision commit))
5487 (source
5488 (origin
5489 (method git-fetch)
5490 (uri (git-reference
5491 (url (string-append
5492 "https://gitlab.common-lisp.net/parse-declarations/"
5493 "parse-declarations.git"))
5494 (commit commit)))
5495 (file-name (git-file-name name version))
5496 (sha256
5497 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5498 (build-system asdf-build-system/sbcl)
5499 (arguments
5500 `(#:asd-systems '("parse-declarations-1.0")))
5501 (home-page "https://common-lisp.net/project/parse-declarations/")
5502 (synopsis "Parse, filter, and build declarations")
5503 (description
5504 "Parse-Declarations is a Common Lisp library to help writing
5505 macros which establish bindings. To be semantically correct, such
5506 macros must take user declarations into account, as these may affect
5507 the bindings they establish. Yet the ANSI standard of Common Lisp does
5508 not provide any operators to work with declarations in a convenient,
5509 high-level way. This library provides such operators.")
5510 ;; MIT License
5511 (license license:expat))))
5512
5513 (define-public cl-parse-declarations
5514 (sbcl-package->cl-source-package sbcl-parse-declarations))
5515
5516 (define-public ecl-parse-declarations
5517 (sbcl-package->ecl-package sbcl-parse-declarations))
5518
5519 (define-public sbcl-cl-quickcheck
5520 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5521 (revision "1"))
5522 (package
5523 (name "sbcl-cl-quickcheck")
5524 (version (git-version "0.0.4" revision commit))
5525 (source
5526 (origin
5527 (method git-fetch)
5528 (uri (git-reference
5529 (url "https://github.com/mcandre/cl-quickcheck")
5530 (commit commit)))
5531 (file-name (git-file-name name version))
5532 (sha256
5533 (base32
5534 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5535 (build-system asdf-build-system/sbcl)
5536 (synopsis
5537 "Common Lisp port of the QuickCheck unit test framework")
5538 (description
5539 "Common Lisp port of the QuickCheck unit test framework")
5540 (home-page "https://github.com/mcandre/cl-quickcheck")
5541 ;; MIT
5542 (license license:expat))))
5543
5544 (define-public cl-quickcheck
5545 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5546
5547 (define-public ecl-cl-quickcheck
5548 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5549
5550 (define-public sbcl-burgled-batteries3
5551 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5552 (revision "2"))
5553 (package
5554 (name "sbcl-burgled-batteries3")
5555 (version (git-version "0.0.0" revision commit))
5556 (source
5557 (origin
5558 (method git-fetch)
5559 (uri (git-reference
5560 (url "https://github.com/snmsts/burgled-batteries3")
5561 (commit commit)))
5562 (file-name (git-file-name name version))
5563 (sha256
5564 (base32
5565 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5566 (build-system asdf-build-system/sbcl)
5567 (arguments
5568 `(#:tests? #f
5569 #:modules (((guix build python-build-system) #:select (python-version))
5570 ,@%asdf-build-system-modules)
5571 #:imported-modules ((guix build python-build-system)
5572 ,@%asdf-build-system-modules)
5573 #:phases
5574 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5575 (add-after 'unpack 'set-*cpython-include-dir*-var
5576 (lambda* (#:key inputs #:allow-other-keys)
5577 (let ((python (assoc-ref inputs "python")))
5578 (setenv "BB_PYTHON3_INCLUDE_DIR"
5579 (string-append python "/include/python"
5580 (python-version python)))
5581 (setenv "BB_PYTHON3_DYLIB"
5582 (string-append python "/lib/libpython3.so"))
5583 #t)))
5584 (add-after 'unpack 'adjust-for-python-3.8
5585 (lambda _
5586 ;; This method is no longer part of the public API.
5587 (substitute* "ffi-interface.lisp"
5588 ((".*PyEval_ReInitThreads.*")
5589 ""))
5590 #t)))))
5591 (native-inputs
5592 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5593 ("sbcl-lift" ,sbcl-lift)
5594 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5595 (inputs
5596 `(("python" ,python)
5597 ("sbcl-cffi" ,sbcl-cffi)
5598 ("sbcl-alexandria" , sbcl-alexandria)
5599 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5600 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5601 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5602 (description
5603 "This package provides a shim between Python3 (specifically, the
5604 CPython implementation of Python) and Common Lisp.")
5605 (home-page "https://github.com/snmsts/burgled-batteries3")
5606 (license license:expat))))
5607
5608 (define-public cl-burgled-batteries3
5609 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5610
5611 (define-public ecl-burgled-batteries3
5612 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5613
5614 (define-public sbcl-metabang-bind
5615 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5616 (revision "1"))
5617 (package
5618 (name "sbcl-metabang-bind")
5619 (version (git-version "0.8.0" revision commit))
5620 (source
5621 (origin
5622 (method git-fetch)
5623 (uri (git-reference
5624 (url "https://github.com/gwkkwg/metabang-bind")
5625 (commit commit)))
5626 (file-name (git-file-name name version))
5627 (sha256
5628 (base32
5629 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5630 (build-system asdf-build-system/sbcl)
5631 (native-inputs
5632 `(("sbcl-lift" ,sbcl-lift)))
5633 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5634 (description
5635 "Bind extends the idea of of let and destructing to provide a uniform
5636 syntax for all your accessor needs. It combines @code{let},
5637 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5638 editing, property or association-lists, and @code{multiple-value-bind} and a
5639 whole lot more into a single form.")
5640 (home-page "https://common-lisp.net/project/metabang-bind/")
5641 ;; MIT License
5642 (license license:expat))))
5643
5644 (define-public cl-metabang-bind
5645 (sbcl-package->cl-source-package sbcl-metabang-bind))
5646
5647 (define-public ecl-metabang-bind
5648 (sbcl-package->ecl-package sbcl-metabang-bind))
5649
5650 (define-public sbcl-fare-utils
5651 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5652 (revision "1"))
5653 (package
5654 (name "sbcl-fare-utils")
5655 (version (git-version "1.0.0.5" revision commit))
5656 (source
5657 (origin
5658 (method git-fetch)
5659 (uri
5660 (git-reference
5661 (url
5662 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5663 (commit commit)))
5664 (file-name (git-file-name name version))
5665 (sha256
5666 (base32
5667 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5668 (build-system asdf-build-system/sbcl)
5669 (arguments
5670 `(#:test-asd-file "test/fare-utils-test.asd"))
5671 (native-inputs
5672 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5673 (synopsis "Collection of utilities and data structures")
5674 (description
5675 "fare-utils is a small collection of utilities. It contains a lot of
5676 basic everyday functions and macros.")
5677 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5678 ;; MIT License
5679 (license license:expat))))
5680
5681 (define-public cl-fare-utils
5682 (sbcl-package->cl-source-package sbcl-fare-utils))
5683
5684 (define-public ecl-fare-utils
5685 (sbcl-package->ecl-package sbcl-fare-utils))
5686
5687 (define-public sbcl-fare-mop
5688 (let ((commit "538aa94590a0354f382eddd9238934763434af30")
5689 (revision "1"))
5690 (package
5691 (name "sbcl-fare-mop")
5692 (version (git-version "1.0.1" revision commit))
5693 (source
5694 (origin
5695 (method git-fetch)
5696 (uri (git-reference
5697 (url "https://github.com/fare/fare-mop")
5698 (commit commit)))
5699 (file-name (git-file-name "fare-mop" version))
5700 (sha256
5701 (base32
5702 "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"))))
5703 (build-system asdf-build-system/sbcl)
5704 (inputs
5705 `(("close-mop" ,sbcl-closer-mop)
5706 ("fare-utils" ,sbcl-fare-utils)))
5707 (home-page "https://github.com/fare/fare-mop")
5708 (synopsis "General purpose Common Lisp utilities using the MOP")
5709 (description
5710 "FARE-MOP is a small collection of utilities using the MetaObject
5711 Protocol. It notably contains a SIMPLE-PRINT-OBJECT method, and
5712 a SIMPLE-PRINT-OBJECT-MIXIN mixin that allow you to trivially define
5713 PRINT-OBJECT methods that print the interesting slots in your objects, which is
5714 great for REPL interaction and debugging.")
5715 (license license:unlicense))))
5716
5717 (define-public ecl-fare-mop
5718 (sbcl-package->ecl-package sbcl-fare-mop))
5719
5720 (define-public cl-fare-mop
5721 (sbcl-package->cl-source-package sbcl-fare-mop))
5722
5723 (define-public sbcl-inferior-shell
5724 (let ((commit "15c2d04a7398db965ea1c3ba2d49efa7c851f2c2")
5725 (revision "1"))
5726 (package
5727 (name "sbcl-inferior-shell")
5728 (version (git-version "2.0.5" revision commit))
5729 (source
5730 (origin
5731 (method git-fetch)
5732 (uri (git-reference
5733 (url "https://github.com/fare/inferior-shell")
5734 (commit commit)))
5735 (file-name (git-file-name "inferior-shell" version))
5736 (sha256
5737 (base32 "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m"))))
5738 (build-system asdf-build-system/sbcl)
5739 (native-inputs
5740 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5741 (inputs
5742 `(("alexandira" ,sbcl-alexandria)
5743 ("fare-mop" ,sbcl-fare-mop)
5744 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5745 ("fare-utils" ,sbcl-fare-utils)
5746 ("trivia" ,sbcl-trivia)))
5747 (home-page "https://github.com/fare/inferior-shell")
5748 (synopsis "Spawn local or remote processes and shell pipes")
5749 (description
5750 "This package provides a Common Lisp system helping in scripting, it
5751 uses @code{uiop:run-program} as a backend.")
5752 (license license:expat))))
5753
5754 (define-public ecl-inferior-shell
5755 (sbcl-package->ecl-package sbcl-inferior-shell))
5756
5757 (define-public cl-inferior-shell
5758 (sbcl-package->cl-source-package sbcl-inferior-shell))
5759
5760 (define-public sbcl-trivial-utf-8
5761 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5762 (revision "1"))
5763 (package
5764 (name "sbcl-trivial-utf-8")
5765 (version (git-version "0.0.0" revision commit))
5766 (source
5767 (origin
5768 (method git-fetch)
5769 (uri
5770 (git-reference
5771 (url (string-append "https://gitlab.common-lisp.net/"
5772 "trivial-utf-8/trivial-utf-8.git"))
5773 (commit commit)))
5774 (file-name (git-file-name name version))
5775 (sha256
5776 (base32
5777 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5778 (arguments
5779 ;; Guix incorrectly assumes the "8" is part of the version
5780 ;; number and lobs it off.
5781 `(#:asd-systems '("trivial-utf-8")))
5782 (build-system asdf-build-system/sbcl)
5783 (synopsis "UTF-8 input/output library")
5784 (description
5785 "The Babel library solves a similar problem while understanding more
5786 encodings. Trivial UTF-8 was written before Babel existed, but for new
5787 projects you might be better off going with Babel. The one plus that Trivial
5788 UTF-8 has is that it doesn't depend on any other libraries.")
5789 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5790 (license license:bsd-3))))
5791
5792 (define-public cl-trivial-utf-8
5793 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5794
5795 (define-public ecl-trivial-utf-8
5796 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5797
5798 (define-public sbcl-idna
5799 (package
5800 (name "sbcl-idna")
5801 (build-system asdf-build-system/sbcl)
5802 (version "0.2.2")
5803 (home-page "https://github.com/antifuchs/idna")
5804 (source
5805 (origin
5806 (method git-fetch)
5807 (uri (git-reference
5808 (url home-page)
5809 (commit version)))
5810 (file-name (git-file-name name version))
5811 (sha256
5812 (base32
5813 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5814 (inputs
5815 `(("split-sequence" ,sbcl-split-sequence)))
5816 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5817 (description "This Common Lisp library provides string encoding and
5818 decoding routines for IDNA, the International Domain Names in Applications.")
5819 (license license:expat)))
5820
5821 (define-public cl-idna
5822 (sbcl-package->cl-source-package sbcl-idna))
5823
5824 (define-public ecl-idna
5825 (sbcl-package->ecl-package sbcl-idna))
5826
5827 (define-public sbcl-swap-bytes
5828 (package
5829 (name "sbcl-swap-bytes")
5830 (build-system asdf-build-system/sbcl)
5831 (version "1.2")
5832 (home-page "https://github.com/sionescu/swap-bytes")
5833 (source
5834 (origin
5835 (method git-fetch)
5836 (uri (git-reference
5837 (url home-page)
5838 (commit (string-append "v" version))))
5839 (file-name (git-file-name name version))
5840 (sha256
5841 (base32
5842 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5843 (inputs
5844 `(("trivial-features" ,sbcl-trivial-features)))
5845 (native-inputs
5846 `(("fiveam" ,sbcl-fiveam)))
5847 (synopsis "Efficient endianness conversion for Common Lisp")
5848 (description "This Common Lisp library provides optimized byte-swapping
5849 primitives. The library can change endianness of unsigned integers of length
5850 1/2/4/8. Very useful in implementing various network protocols and file
5851 formats.")
5852 (license license:expat)))
5853
5854 (define-public cl-swap-bytes
5855 (sbcl-package->cl-source-package sbcl-swap-bytes))
5856
5857 (define-public ecl-swap-bytes
5858 (sbcl-package->ecl-package sbcl-swap-bytes))
5859
5860 (define-public sbcl-iolib
5861 (package
5862 (name "sbcl-iolib")
5863 (version "0.8.4")
5864 (home-page "https://github.com/sionescu/iolib")
5865 (source
5866 (origin
5867 (method git-fetch)
5868 (uri (git-reference
5869 (url home-page)
5870 (commit (string-append "v" version))))
5871 (file-name (git-file-name name version))
5872 (sha256
5873 (base32
5874 "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"))))
5875 (build-system asdf-build-system/sbcl)
5876 (inputs
5877 `(("alexandria" ,sbcl-alexandria)
5878 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5879 ("cffi" ,sbcl-cffi)
5880 ("idna" ,sbcl-idna)
5881 ("libfixposix" ,libfixposix)
5882 ("split-sequence" ,sbcl-split-sequence)
5883 ("swap-bytes" ,sbcl-swap-bytes)))
5884 (arguments
5885 '(#:asd-files '("iolib.asdf.asd"
5886 "iolib.conf.asd"
5887 "iolib.common-lisp.asd"
5888 "iolib.base.asd"
5889 "iolib.asd")
5890 #:asd-systems '("iolib"
5891 "iolib/os")
5892 #:phases
5893 (modify-phases %standard-phases
5894 (add-after 'unpack 'fix-paths
5895 (lambda* (#:key inputs #:allow-other-keys)
5896 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5897 (("\\(:default \"libfixposix\"\\)")
5898 (string-append
5899 "(:default \""
5900 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5901 ;; Socket tests need Internet access, disable them.
5902 (substitute* "iolib.asd"
5903 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5904 "")))))))
5905 (synopsis "Common Lisp I/O library")
5906 (description "IOlib is to be a better and more modern I/O library than
5907 the standard Common Lisp library. It contains a socket library, a DNS
5908 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5909 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5910 (license license:expat)))
5911
5912 (define-public cl-iolib
5913 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5914 (package
5915 (inherit parent)
5916 (propagated-inputs
5917 ;; Need header to compile.
5918 `(("libfixposix" ,libfixposix)
5919 ,@(package-propagated-inputs parent))))))
5920
5921 (define-public ecl-iolib
5922 (sbcl-package->ecl-package sbcl-iolib))
5923
5924 (define-public sbcl-ieee-floats
5925 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5926 (revision "1"))
5927 (package
5928 (name "sbcl-ieee-floats")
5929 (build-system asdf-build-system/sbcl)
5930 (version (git-version "20170924" revision commit))
5931 (home-page "https://github.com/marijnh/ieee-floats/")
5932 (source
5933 (origin
5934 (method git-fetch)
5935 (uri (git-reference
5936 (url home-page)
5937 (commit commit)))
5938 (file-name (git-file-name name version))
5939 (sha256
5940 (base32
5941 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5942 (native-inputs
5943 `(("fiveam" ,sbcl-fiveam)))
5944 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5945 (description "This is a Common Lisp library that converts
5946 floating point values to IEEE 754 binary representation.")
5947 (license license:bsd-3))))
5948
5949 (define-public cl-ieee-floats
5950 (sbcl-package->cl-source-package sbcl-ieee-floats))
5951
5952 (define-public ecl-ieee-floats
5953 (sbcl-package->ecl-package sbcl-ieee-floats))
5954
5955 (define sbcl-closure-common
5956 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5957 (revision "1"))
5958 (package
5959 (name "sbcl-closure-common")
5960 (build-system asdf-build-system/sbcl)
5961 (version (git-version "20101006" revision commit))
5962 (home-page "https://common-lisp.net/project/cxml/")
5963 (source
5964 (origin
5965 (method git-fetch)
5966 (uri (git-reference
5967 (url "https://github.com/sharplispers/closure-common")
5968 (commit commit)))
5969 (file-name (git-file-name name version))
5970 (sha256
5971 (base32
5972 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5973 (inputs
5974 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5975 ("babel" ,sbcl-babel)))
5976 (synopsis "Support Common Lisp library for CXML")
5977 (description "Closure-common is an internal helper library. The name
5978 Closure is a reference to the web browser it was originally written for.")
5979 ;; TODO: License?
5980 (license #f))))
5981
5982 (define-public sbcl-cxml
5983 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5984 (revision "1"))
5985 (package
5986 (name "sbcl-cxml")
5987 (version (git-version "0.0.0" revision commit))
5988 (source
5989 (origin
5990 (method git-fetch)
5991 (uri (git-reference
5992 (url "https://github.com/sharplispers/cxml")
5993 (commit commit)))
5994 (file-name (git-file-name name version))
5995 (sha256
5996 (base32
5997 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5998 (build-system asdf-build-system/sbcl)
5999 (inputs
6000 `(("closure-common" ,sbcl-closure-common)
6001 ("puri" ,sbcl-puri)
6002 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6003 (synopsis "Common Lisp XML parser")
6004 (description "CXML implements a namespace-aware, validating XML 1.0
6005 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
6006 offered, one SAX-like, the other similar to StAX.")
6007 (home-page "https://common-lisp.net/project/cxml/")
6008 (license license:llgpl))))
6009
6010 (define-public cl-cxml
6011 (sbcl-package->cl-source-package sbcl-cxml))
6012
6013 (define-public ecl-cxml
6014 (sbcl-package->ecl-package sbcl-cxml))
6015
6016 (define-public sbcl-cl-reexport
6017 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
6018 (revision "1"))
6019 (package
6020 (name "sbcl-cl-reexport")
6021 (build-system asdf-build-system/sbcl)
6022 (version (git-version "0.1" revision commit))
6023 (home-page "https://github.com/takagi/cl-reexport")
6024 (source
6025 (origin
6026 (method git-fetch)
6027 (uri (git-reference
6028 (url home-page)
6029 (commit commit)))
6030 (file-name (git-file-name name version))
6031 (sha256
6032 (base32
6033 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
6034 (inputs
6035 `(("alexandria" ,sbcl-alexandria)))
6036 (arguments
6037 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
6038 `(#:tests? #f))
6039 (synopsis "HTTP cookie manager for Common Lisp")
6040 (description "cl-cookie is a Common Lisp library featuring parsing of
6041 cookie headers, cookie creation, cookie jar creation and more.")
6042 (license license:llgpl))))
6043
6044 (define-public cl-reexport
6045 (sbcl-package->cl-source-package sbcl-cl-reexport))
6046
6047 (define-public ecl-cl-reexport
6048 (sbcl-package->ecl-package sbcl-cl-reexport))
6049
6050 (define-public sbcl-cl-cookie
6051 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
6052 (revision "1"))
6053 (package
6054 (name "sbcl-cl-cookie")
6055 (build-system asdf-build-system/sbcl)
6056 (version (git-version "0.9.10" revision commit))
6057 (home-page "https://github.com/fukamachi/cl-cookie")
6058 (source
6059 (origin
6060 (method git-fetch)
6061 (uri (git-reference
6062 (url home-page)
6063 (commit commit)))
6064 (file-name (git-file-name name version))
6065 (sha256
6066 (base32
6067 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
6068 (inputs
6069 `(("proc-parse" ,sbcl-proc-parse)
6070 ("alexandria" ,sbcl-alexandria)
6071 ("quri" ,sbcl-quri)
6072 ("cl-ppcre" ,sbcl-cl-ppcre)
6073 ("local-time" ,sbcl-local-time)))
6074 (native-inputs
6075 `(("prove" ,sbcl-prove)))
6076 (arguments
6077 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
6078 `(#:tests? #f))
6079 (synopsis "HTTP cookie manager for Common Lisp")
6080 (description "cl-cookie is a Common Lisp library featuring parsing of
6081 cookie headers, cookie creation, cookie jar creation and more.")
6082 (license license:bsd-2))))
6083
6084 (define-public cl-cookie
6085 (sbcl-package->cl-source-package sbcl-cl-cookie))
6086
6087 (define-public ecl-cl-cookie
6088 (sbcl-package->ecl-package sbcl-cl-cookie))
6089
6090 (define-public sbcl-dexador
6091 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
6092 (revision "1"))
6093 (package
6094 (name "sbcl-dexador")
6095 (build-system asdf-build-system/sbcl)
6096 (version "0.9.14" )
6097 (home-page "https://github.com/fukamachi/dexador")
6098 (source
6099 (origin
6100 (method git-fetch)
6101 (uri (git-reference
6102 (url home-page)
6103 (commit commit)))
6104 (file-name (git-file-name name version))
6105 (sha256
6106 (base32
6107 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
6108 (inputs
6109 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
6110 ("babel" ,sbcl-babel)
6111 ("usocket" ,sbcl-usocket)
6112 ("fast-http" ,sbcl-fast-http)
6113 ("quri" ,sbcl-quri)
6114 ("fast-io" ,sbcl-fast-io)
6115 ("chunga" ,sbcl-chunga)
6116 ("cl-ppcre" ,sbcl-cl-ppcre)
6117 ("cl-cookie" ,sbcl-cl-cookie)
6118 ("trivial-mimes" ,sbcl-trivial-mimes)
6119 ("chipz" ,sbcl-chipz)
6120 ("cl-base64" ,sbcl-cl-base64)
6121 ("cl-reexport" ,sbcl-cl-reexport)
6122 ("cl+ssl" ,sbcl-cl+ssl)
6123 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6124 ("alexandria" ,sbcl-alexandria)))
6125 (native-inputs
6126 `(("prove" ,sbcl-prove)
6127 ("lack" ,sbcl-lack)
6128 ("clack" ,sbcl-clack)
6129 ("babel" ,sbcl-babel)
6130 ("alexandria" ,sbcl-alexandria)
6131 ("cl-ppcre" ,sbcl-cl-ppcre)
6132 ("local-time" ,sbcl-local-time)
6133 ("trivial-features" ,sbcl-trivial-features)))
6134 (arguments
6135 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
6136 `(#:tests? #f
6137 #:phases
6138 (modify-phases %standard-phases
6139 (add-after 'unpack 'fix-permissions
6140 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
6141 (synopsis "Yet another HTTP client for Common Lisp")
6142 (description "Dexador is yet another HTTP client for Common Lisp with
6143 neat APIs and connection-pooling. It is meant to supersede Drakma.")
6144 (license license:expat))))
6145
6146 (define-public cl-dexador
6147 (package
6148 (inherit (sbcl-package->cl-source-package sbcl-dexador))
6149 (arguments
6150 `(#:phases
6151 ;; asdf-build-system/source has its own phases and does not inherit
6152 ;; from asdf-build-system/sbcl phases.
6153 (modify-phases %standard-phases/source
6154 ;; Already done in SBCL package.
6155 (delete 'reset-gzip-timestamps))))))
6156
6157 (define-public ecl-dexador
6158 (sbcl-package->ecl-package sbcl-dexador))
6159
6160 (define-public sbcl-lisp-namespace
6161 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
6162 (revision "1"))
6163 (package
6164 (name "sbcl-lisp-namespace")
6165 (build-system asdf-build-system/sbcl)
6166 (version (git-version "0.1" revision commit))
6167 (home-page "https://github.com/guicho271828/lisp-namespace")
6168 (source
6169 (origin
6170 (method git-fetch)
6171 (uri (git-reference
6172 (url home-page)
6173 (commit commit)))
6174 (file-name (git-file-name name version))
6175 (sha256
6176 (base32
6177 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
6178 (inputs
6179 `(("alexandria" ,sbcl-alexandria)))
6180 (native-inputs
6181 `(("fiveam" ,sbcl-fiveam)))
6182 (arguments
6183 `(#:test-asd-file "lisp-namespace.test.asd"
6184 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
6185 #:tests? #f))
6186 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
6187 (description "Common Lisp already has major 2 namespaces, function
6188 namespace and value namespace (or variable namespace), but there are actually
6189 more — e.g., class namespace.
6190 This library offers macros to deal with symbols from any namespace.")
6191 (license license:llgpl))))
6192
6193 (define-public cl-lisp-namespace
6194 (sbcl-package->cl-source-package sbcl-lisp-namespace))
6195
6196 (define-public ecl-lisp-namespace
6197 (sbcl-package->ecl-package sbcl-lisp-namespace))
6198
6199 (define-public sbcl-trivial-cltl2
6200 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
6201 (revision "2"))
6202 (package
6203 (name "sbcl-trivial-cltl2")
6204 (build-system asdf-build-system/sbcl)
6205 (version (git-version "0.1.1" revision commit))
6206 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
6207 (source
6208 (origin
6209 (method git-fetch)
6210 (uri (git-reference
6211 (url home-page)
6212 (commit commit)))
6213 (file-name (git-file-name name version))
6214 (sha256
6215 (base32
6216 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
6217 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
6218 (description "This library is a portable compatibility layer around
6219 \"Common Lisp the Language, 2nd
6220 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
6221 and it exports symbols from implementation-specific packages.")
6222 (license license:llgpl))))
6223
6224 (define-public cl-trivial-cltl2
6225 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
6226
6227 (define-public ecl-trivial-cltl2
6228 (sbcl-package->ecl-package sbcl-trivial-cltl2))
6229
6230 (define-public sbcl-introspect-environment
6231 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
6232 (revision "1"))
6233 (package
6234 (name "sbcl-introspect-environment")
6235 (build-system asdf-build-system/sbcl)
6236 (version (git-version "0.1" revision commit))
6237 (home-page "https://github.com/Bike/introspect-environment")
6238 (source
6239 (origin
6240 (method git-fetch)
6241 (uri (git-reference
6242 (url home-page)
6243 (commit commit)))
6244 (file-name (git-file-name name version))
6245 (sha256
6246 (base32
6247 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
6248 (native-inputs
6249 `(("fiveam" ,sbcl-fiveam)))
6250 (synopsis "Common Lisp environment introspection portability layer")
6251 (description "This library is a small interface to portable but
6252 nonstandard introspection of Common Lisp environments. It is intended to
6253 allow a bit more compile-time introspection of environments in Common Lisp.
6254
6255 Quite a bit of information is available at the time a macro or compiler-macro
6256 runs; inlining info, type declarations, that sort of thing. This information
6257 is all standard - any Common Lisp program can @code{(declare (integer x))} and
6258 such.
6259
6260 This info ought to be accessible through the standard @code{&environment}
6261 parameters, but it is not. Several implementations keep the information for
6262 their own purposes but do not make it available to user programs, because
6263 there is no standard mechanism to do so.
6264
6265 This library uses implementation-specific hooks to make information available
6266 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
6267 implementations have implementations of the functions that do as much as they
6268 can and/or provide reasonable defaults.")
6269 (license license:wtfpl2))))
6270
6271 (define-public cl-introspect-environment
6272 (sbcl-package->cl-source-package sbcl-introspect-environment))
6273
6274 (define-public ecl-introspect-environment
6275 (sbcl-package->ecl-package sbcl-introspect-environment))
6276
6277 (define-public sbcl-type-i
6278 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
6279 (revision "2"))
6280 (package
6281 (name "sbcl-type-i")
6282 (build-system asdf-build-system/sbcl)
6283 (version (git-version "0.1" revision commit))
6284 (home-page "https://github.com/guicho271828/type-i")
6285 (source
6286 (origin
6287 (method git-fetch)
6288 (uri (git-reference
6289 (url home-page)
6290 (commit commit)))
6291 (file-name (git-file-name name version))
6292 (sha256
6293 (base32
6294 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
6295 (inputs
6296 `(("alexandria" ,sbcl-alexandria)
6297 ("introspect-environment" ,sbcl-introspect-environment)
6298 ("trivia.trivial" ,sbcl-trivia.trivial)))
6299 (native-inputs
6300 `(("fiveam" ,sbcl-fiveam)))
6301 (arguments
6302 `(#:test-asd-file "type-i.test.asd"))
6303 (synopsis "Type inference utility on unary predicates for Common Lisp")
6304 (description "This library tries to provide a way to detect what kind of
6305 type the given predicate is trying to check. This is different from inferring
6306 the return type of a function.")
6307 (license license:llgpl))))
6308
6309 (define-public cl-type-i
6310 (sbcl-package->cl-source-package sbcl-type-i))
6311
6312 (define-public ecl-type-i
6313 (package
6314 (inherit (sbcl-package->ecl-package sbcl-type-i))
6315 (arguments
6316 ;; The tests get stuck indefinitly
6317 '(#:tests? #f))))
6318
6319 (define-public sbcl-optima
6320 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6321 (revision "1"))
6322 (package
6323 (name "sbcl-optima")
6324 (build-system asdf-build-system/sbcl)
6325 (version (git-version "1.0" revision commit))
6326 (home-page "https://github.com/m2ym/optima")
6327 (source
6328 (origin
6329 (method git-fetch)
6330 (uri (git-reference
6331 (url home-page)
6332 (commit commit)))
6333 (file-name (git-file-name name version))
6334 (sha256
6335 (base32
6336 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6337 (inputs
6338 `(("alexandria" ,sbcl-alexandria)
6339 ("closer-mop" ,sbcl-closer-mop)))
6340 (native-inputs
6341 `(("eos" ,sbcl-eos)))
6342 (arguments
6343 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6344 `(#:tests? #f
6345 #:test-asd-file "optima.test.asd"))
6346 (synopsis "Optimized pattern matching library for Common Lisp")
6347 (description "Optima is a fast pattern matching library which uses
6348 optimizing techniques widely used in the functional programming world.")
6349 (license license:expat))))
6350
6351 (define-public cl-optima
6352 (sbcl-package->cl-source-package sbcl-optima))
6353
6354 (define-public ecl-optima
6355 (sbcl-package->ecl-package sbcl-optima))
6356
6357 (define-public sbcl-fare-quasiquote
6358 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6359 (revision "1"))
6360 (package
6361 (name "sbcl-fare-quasiquote")
6362 (build-system asdf-build-system/sbcl)
6363 (version (git-version "1.0.1" revision commit))
6364 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6365 (source
6366 (origin
6367 (method git-fetch)
6368 (uri (git-reference
6369 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6370 "fare-quasiquote.git"))
6371 (commit commit)))
6372 (file-name (git-file-name name version))
6373 (sha256
6374 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6375 (inputs
6376 `(("fare-utils" ,sbcl-fare-utils)
6377 ("named-readtables" ,sbcl-named-readtables)
6378 ("optima" ,sbcl-optima)))
6379 (arguments
6380 ;; XXX: Circular dependencies: Tests depend on subsystems,
6381 ;; which depend on the main systems.
6382 `(#:tests? #f
6383 #:asd-systems '("fare-quasiquote"
6384 "fare-quasiquote-extras")
6385 #:phases
6386 (modify-phases %standard-phases
6387 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6388 ;; commits after 1.0.0.5, but ASDF fails to read the
6389 ;; "-REVISION-COMMIT" part generated by Guix.
6390 (add-after 'unpack 'patch-requirement
6391 (lambda _
6392 (substitute* "fare-quasiquote.asd"
6393 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6394 "\"fare-utils\""))
6395 (substitute* "fare-quasiquote-optima.asd"
6396 (("\\(:version \"optima\" \"1\\.0\"\\)")
6397 "\"optima\""))
6398 #t)))))
6399 (synopsis "Pattern-matching friendly implementation of quasiquote")
6400 (description "The main purpose of this n+2nd reimplementation of
6401 quasiquote is enable matching of quasiquoted patterns, using Optima or
6402 Trivia.")
6403 (license license:expat))))
6404
6405 (define-public cl-fare-quasiquote
6406 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6407
6408 (define-public ecl-fare-quasiquote
6409 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6410
6411 ;;; Split the trivia package in two to work around the circular dependency
6412 ;;; between guicho271828/trivia and guicho271828/type-i.
6413 (define-public sbcl-trivia.trivial
6414 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6415 (revision "3"))
6416 (package
6417 (name "sbcl-trivia.trivial")
6418 (version (git-version "0.0.0" revision commit))
6419 (source
6420 (origin
6421 (method git-fetch)
6422 (uri (git-reference
6423 (url "https://github.com/guicho271828/trivia")
6424 (commit commit)))
6425 (file-name (git-file-name "trivia" version))
6426 (sha256
6427 (base32
6428 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6429 (build-system asdf-build-system/sbcl)
6430 (inputs
6431 `(("alexandria" ,sbcl-alexandria)
6432 ("closer-mop" ,sbcl-closer-mop)
6433 ("lisp-namespace" ,sbcl-lisp-namespace)
6434 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6435 (arguments
6436 '(#:phases
6437 (modify-phases %standard-phases
6438 (add-after 'unpack 'fix-build
6439 (lambda _
6440 (for-each delete-file
6441 '("trivia.balland2006.asd"
6442 "trivia.ppcre.asd"
6443 "trivia.quasiquote.asd"
6444 "trivia.cffi.asd"
6445 "trivia.asd"
6446 "trivia.test.asd"))
6447 #t)))))
6448 (synopsis "Pattern matching in Common Lisp")
6449 (description "Trivia is a pattern matching compiler that is compatible
6450 with Optima, another pattern matching library for Common Lisp. It is meant to
6451 be faster and more extensible than Optima.")
6452 (home-page "https://github.com/guicho271828/trivia")
6453 (license license:llgpl))))
6454
6455 (define-public cl-trivia.trivial
6456 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6457
6458 (define-public ecl-trivia.trivial
6459 (sbcl-package->ecl-package sbcl-trivia.trivial))
6460
6461 (define-public sbcl-trivia
6462 (package
6463 (inherit sbcl-trivia.trivial)
6464 (name "sbcl-trivia")
6465 (native-inputs
6466 `(("fiveam" ,sbcl-fiveam)
6467 ("optima" ,sbcl-optima)))
6468 (inputs
6469 `(("alexandria" ,sbcl-alexandria)
6470 ("cffi" ,sbcl-cffi)
6471 ("cl-ppcre" ,sbcl-cl-ppcre)
6472 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6473 ("iterate" ,sbcl-iterate)
6474 ("trivia.trivial" ,sbcl-trivia.trivial)
6475 ("type-i" ,sbcl-type-i)))
6476 (arguments
6477 '(#:asd-systems '("trivia"
6478 "trivia.ppcre"
6479 "trivia.quasiquote"
6480 "trivia.cffi")
6481 #:test-asd-file "trivia.test.asd"
6482 #:phases
6483 (modify-phases %standard-phases
6484 (add-after 'unpack 'fix-build
6485 (lambda _
6486 (for-each delete-file
6487 '("trivia.level0.asd"
6488 "trivia.level1.asd"
6489 "trivia.level2.asd"
6490 "trivia.trivial.asd"))
6491 #t)))))))
6492
6493 (define-public cl-trivia
6494 (sbcl-package->cl-source-package sbcl-trivia))
6495
6496 (define-public ecl-trivia
6497 (sbcl-package->ecl-package sbcl-trivia))
6498
6499 (define-public sbcl-mk-string-metrics
6500 (package
6501 (name "sbcl-mk-string-metrics")
6502 (version "0.1.2")
6503 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6504 (source (origin
6505 (method git-fetch)
6506 (uri (git-reference
6507 (url home-page)
6508 (commit version)))
6509 (sha256
6510 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6511 (file-name (git-file-name name version))))
6512 (build-system asdf-build-system/sbcl)
6513 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6514 (description "This library implements efficient algorithms that calculate
6515 various string metrics in Common Lisp:
6516
6517 @itemize
6518 @item Damerau-Levenshtein distance
6519 @item Hamming distance
6520 @item Jaccard similarity coefficient
6521 @item Jaro distance
6522 @item Jaro-Winkler distance
6523 @item Levenshtein distance
6524 @item Normalized Damerau-Levenshtein distance
6525 @item Normalized Levenshtein distance
6526 @item Overlap coefficient
6527 @end itemize\n")
6528 (license license:x11)))
6529
6530 (define-public cl-mk-string-metrics
6531 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6532
6533 (define-public ecl-mk-string-metrics
6534 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6535
6536 (define-public sbcl-cl-str
6537 (package
6538 (name "sbcl-cl-str")
6539 (version "0.19")
6540 (home-page "https://github.com/vindarel/cl-str")
6541 (source (origin
6542 (method git-fetch)
6543 (uri (git-reference
6544 (url home-page)
6545 (commit version)))
6546 (sha256
6547 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6548 (file-name (git-file-name name version))))
6549 (build-system asdf-build-system/sbcl)
6550 (inputs
6551 `(("cl-ppcre" ,sbcl-cl-ppcre)
6552 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6553 ("cl-change-case" ,sbcl-cl-change-case)))
6554 (native-inputs
6555 `(("prove" ,sbcl-prove)))
6556 (arguments
6557 `(#:asd-systems '("str")
6558 #:test-asd-file "str.test.asd"))
6559 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6560 (description "A modern and consistent Common Lisp string manipulation
6561 library that focuses on modernity, simplicity and discoverability:
6562 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6563 @code{str:concat strings} instead of an unusual format construct; one
6564 discoverable library instead of many; consistency and composability, where
6565 @code{s} is always the last argument, which makes it easier to feed pipes and
6566 arrows.")
6567 (license license:expat)))
6568
6569 (define-public cl-str
6570 (sbcl-package->cl-source-package sbcl-cl-str))
6571
6572 (define-public ecl-cl-str
6573 (sbcl-package->ecl-package sbcl-cl-str))
6574
6575 (define-public sbcl-cl-xmlspam
6576 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6577 (package
6578 (name "sbcl-cl-xmlspam")
6579 (build-system asdf-build-system/sbcl)
6580 (version (git-version "0.0.0" "1" commit))
6581 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6582 (source
6583 (origin
6584 (method git-fetch)
6585 (uri (git-reference
6586 (url home-page)
6587 (commit commit)))
6588 (file-name (string-append name "-" version))
6589 (sha256
6590 (base32
6591 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6592 (inputs
6593 `(("cxml" ,sbcl-cxml)
6594 ("cl-ppcre" ,sbcl-cl-ppcre)))
6595 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6596 (description "CXML does an excellent job at parsing XML elements, but what
6597 do you do when you have a XML file that's larger than you want to fit in
6598 memory, and you want to extract some information from it? Writing code to deal
6599 with SAX events, or even using Klacks, quickly becomes tedious.
6600 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6601 to write code that mirrors the structure of the XML that it's parsing. It
6602 also makes it easy to shift paradigms when necessary - the usual Lisp control
6603 constructs can be used interchangeably with pattern matching, and the full
6604 power of CXML is available when necessary.")
6605 (license license:bsd-3))))
6606
6607 (define-public cl-xmlspam
6608 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6609
6610 (define-public ecl-cl-xmlspam
6611 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6612
6613 (define-public sbcl-dbus
6614 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6615 (revision "1"))
6616 (package
6617 (name "sbcl-dbus")
6618 (version (git-version "20190408" revision commit))
6619 (home-page "https://github.com/death/dbus")
6620 (source
6621 (origin
6622 (method git-fetch)
6623 (uri (git-reference
6624 (url home-page)
6625 (commit commit)))
6626 (file-name (git-file-name name version))
6627 (sha256
6628 (base32
6629 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6630 (build-system asdf-build-system/sbcl)
6631 (inputs
6632 `(("alexandria" ,sbcl-alexandria)
6633 ("trivial-garbage" ,sbcl-trivial-garbage)
6634 ("babel" ,sbcl-babel)
6635 ("iolib" ,sbcl-iolib)
6636 ("ieee-floats" ,sbcl-ieee-floats)
6637 ("flexi-streams" ,sbcl-flexi-streams)
6638 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6639 ("ironclad" ,sbcl-ironclad)))
6640 (synopsis "D-Bus client library for Common Lisp")
6641 (description "This is a Common Lisp library that publishes D-Bus
6642 objects as well as send and notify other objects connected to a bus.")
6643 (license license:bsd-2))))
6644
6645 (define-public cl-dbus
6646 (sbcl-package->cl-source-package sbcl-dbus))
6647
6648 (define-public ecl-dbus
6649 (sbcl-package->ecl-package sbcl-dbus))
6650
6651 (define-public sbcl-cl-hooks
6652 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6653 (revision "1"))
6654 (package
6655 (name "sbcl-cl-hooks")
6656 (build-system asdf-build-system/sbcl)
6657 (version (git-version "0.2.1" revision commit))
6658 (home-page "https://github.com/scymtym/architecture.hooks")
6659 (source
6660 (origin
6661 (method git-fetch)
6662 (uri (git-reference
6663 (url home-page)
6664 (commit commit)))
6665 (file-name (git-file-name name version))
6666 (sha256
6667 (base32
6668 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6669 (inputs
6670 `(("alexandria" ,sbcl-alexandria)
6671 ("let-plus" ,sbcl-let-plus)
6672 ("trivial-garbage" ,sbcl-trivial-garbage)
6673 ("closer-mop" ,sbcl-closer-mop)))
6674 (native-inputs
6675 `(("fiveam" ,sbcl-fiveam)))
6676 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6677 (description "A hook, in the present context, is a certain kind of
6678 extension point in a program that allows interleaving the execution of
6679 arbitrary code with the execution of a the program without introducing any
6680 coupling between the two. Hooks are used extensively in the extensible editor
6681 Emacs.
6682
6683 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6684 possible using the flexible multi-method dispatch mechanism. It may even seem
6685 that the concept of hooks does not provide any benefits over the possibilities
6686 of CLOS. However, there are some differences:
6687
6688 @itemize
6689
6690 @item There can be only one method for each combination of specializers and
6691 qualifiers. As a result this kind of extension point cannot be used by
6692 multiple extensions independently.
6693 @item Removing code previously attached via a @code{:before}, @code{:after} or
6694 @code{:around} method can be cumbersome.
6695 @item There could be other or even multiple extension points besides @code{:before}
6696 and @code{:after} in a single method.
6697 @item Attaching codes to individual objects using eql specializers can be
6698 cumbersome.
6699 @item Introspection of code attached a particular extension point is
6700 cumbersome since this requires enumerating and inspecting the methods of a
6701 generic function.
6702 @end itemize
6703
6704 This library tries to complement some of these weaknesses of method-based
6705 extension-points via the concept of hooks.")
6706 (license license:llgpl))))
6707
6708 (define-public cl-hooks
6709 (sbcl-package->cl-source-package sbcl-cl-hooks))
6710
6711 (define-public ecl-cl-hooks
6712 (sbcl-package->ecl-package sbcl-cl-hooks))
6713
6714 (define-public sbcl-cl-autowrap
6715 (let ((revision "1")
6716 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6717 ;; no taged branches
6718 (package
6719 (name "sbcl-cl-autowrap")
6720 (version (git-version "1.0" revision commit))
6721 (source
6722 (origin
6723 (method git-fetch)
6724 (uri (git-reference
6725 (url "https://github.com/rpav/cl-autowrap")
6726 (commit commit)))
6727 (file-name (git-file-name name version))
6728 (sha256
6729 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6730 (build-system asdf-build-system/sbcl)
6731 (inputs
6732 `(("alexandria" ,sbcl-alexandria)
6733 ("cffi" ,sbcl-cffi)
6734 ("cl-json" ,sbcl-cl-json)
6735 ("cl-ppcre" ,sbcl-cl-ppcre)
6736 ("defpackage-plus" ,sbcl-defpackage-plus)
6737 ("trivial-features" ,sbcl-trivial-features)))
6738 (home-page "https://github.com/rpav/cl-autowrap")
6739 (synopsis "FFI wrapper generator for Common Lisp")
6740 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6741 (license license:bsd-2))))
6742
6743 (define-public cl-autowrap
6744 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6745
6746 (define-public ecl-cl-autowrap
6747 (sbcl-package->ecl-package sbcl-cl-autowrap))
6748
6749 (define-public sbcl-s-sysdeps
6750 ;; No release since 2013.
6751 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6752 (revision "2"))
6753 (package
6754 (name "sbcl-s-sysdeps")
6755 (build-system asdf-build-system/sbcl)
6756 (version (git-version "1" revision commit))
6757 (home-page "https://github.com/svenvc/s-sysdeps")
6758 (source
6759 (origin
6760 (method git-fetch)
6761 (uri (git-reference
6762 (url home-page)
6763 (commit commit)))
6764 (file-name (git-file-name name version))
6765 (sha256
6766 (base32
6767 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6768 (inputs
6769 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6770 ("usocket" ,sbcl-usocket)))
6771 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6772 (description "@code{s-sysdeps} is an abstraction layer over platform
6773 dependent functionality. This simple package is used as a building block in a
6774 number of other open source projects.
6775
6776 @code{s-sysdeps} abstracts:
6777
6778 @itemize
6779 @item managing processes,
6780 @item implementing a standard TCP/IP server,
6781 @item opening a client TCP/IP socket stream,
6782 @item working with process locks.
6783 @end itemize\n")
6784 (license license:llgpl))))
6785
6786 (define-public cl-s-sysdeps
6787 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6788
6789 (define-public ecl-s-sysdeps
6790 (sbcl-package->ecl-package sbcl-s-sysdeps))
6791
6792 (define-public sbcl-cl-prevalence
6793 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6794 (revision "4"))
6795 (package
6796 (name "sbcl-cl-prevalence")
6797 (build-system asdf-build-system/sbcl)
6798 (version (git-version "5" revision commit))
6799 (home-page "https://github.com/40ants/cl-prevalence")
6800 (source
6801 (origin
6802 (method git-fetch)
6803 (uri (git-reference
6804 (url home-page)
6805 (commit commit)))
6806 (file-name (git-file-name name version))
6807 (sha256
6808 (base32
6809 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6810 (inputs
6811 `(("s-sysdeps" ,sbcl-s-sysdeps)
6812 ("s-xml" ,sbcl-s-xml)))
6813 (native-inputs
6814 `(("fiveam" ,sbcl-fiveam)))
6815 (synopsis "Implementation of object prevalence for Common Lisp")
6816 (description "This Common Lisp library implements object prevalence (see
6817 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6818 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6819 classes and cyclic data structures are supported.")
6820 (license license:llgpl))))
6821
6822 (define-public cl-prevalence
6823 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6824
6825 (define-public ecl-cl-prevalence
6826 (sbcl-package->ecl-package sbcl-cl-prevalence))
6827
6828 (define-public sbcl-series
6829 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6830 (revision "1"))
6831 (package
6832 (name "sbcl-series")
6833 (version (git-version "2.2.11" revision commit))
6834 (source
6835 (origin
6836 (method git-fetch)
6837 (uri (git-reference
6838 (url "git://git.code.sf.net/p/series/series")
6839 (commit commit)))
6840 (file-name (git-file-name name version))
6841 (sha256
6842 (base32
6843 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6844 (build-system asdf-build-system/sbcl)
6845 (arguments
6846 ;; Disable the tests, they are apparently buggy and I didn't find
6847 ;; a simple way to make them run and pass.
6848 '(#:tests? #f))
6849 (synopsis "Series data structure for Common Lisp")
6850 (description
6851 "This Common Lisp library provides a series data structure much like
6852 a sequence, with similar kinds of operations. The difference is that in many
6853 situations, operations on series may be composed functionally and yet execute
6854 iteratively, without the need to construct intermediate series values
6855 explicitly. In this manner, series provide both the clarity of a functional
6856 programming style and the efficiency of an iterative programming style.")
6857 (home-page "http://series.sourceforge.net/")
6858 (license license:expat))))
6859
6860 (define-public cl-series
6861 (sbcl-package->cl-source-package sbcl-series))
6862
6863 (define-public ecl-series
6864 (sbcl-package->ecl-package sbcl-series))
6865
6866 (define-public sbcl-periods
6867 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6868 (revision "2"))
6869 (package
6870 (name "sbcl-periods")
6871 (version (git-version "0.0.2" revision commit))
6872 (source
6873 (origin
6874 (method git-fetch)
6875 (uri (git-reference
6876 (url "https://github.com/jwiegley/periods")
6877 (commit commit)))
6878 (file-name (git-file-name name version))
6879 (sha256
6880 (base32
6881 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6882 (build-system asdf-build-system/sbcl)
6883 (inputs
6884 `(("local-time" ,sbcl-local-time)
6885 ("series" ,sbcl-series)))
6886 (arguments
6887 '(#:asd-systems '("periods"
6888 "periods-series")))
6889 (synopsis "Common Lisp library for manipulating date/time objects")
6890 (description
6891 "Periods is a Common Lisp library providing a set of utilities for
6892 manipulating times, distances between times, and both contiguous and
6893 discontiguous ranges of time.")
6894 (home-page "https://github.com/jwiegley/periods")
6895 (license license:bsd-3))))
6896
6897 (define-public cl-periods
6898 (sbcl-package->cl-source-package sbcl-periods))
6899
6900 (define-public ecl-periods
6901 (sbcl-package->ecl-package sbcl-periods))
6902
6903 (define-public sbcl-metatilities-base
6904 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6905 (revision "1"))
6906 (package
6907 (name "sbcl-metatilities-base")
6908 (version (git-version "0.6.6" revision commit))
6909 (source
6910 (origin
6911 (method git-fetch)
6912 (uri (git-reference
6913 (url "https://github.com/gwkkwg/metatilities-base")
6914 (commit commit)))
6915 (file-name (git-file-name name version))
6916 (sha256
6917 (base32
6918 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6919 (build-system asdf-build-system/sbcl)
6920 (native-inputs
6921 `(("lift" ,sbcl-lift)))
6922 (synopsis "Core of the metatilities Common Lisp library")
6923 (description
6924 "Metatilities-base is the core of the metatilities Common Lisp library
6925 which implements a set of utilities.")
6926 (home-page "https://common-lisp.net/project/metatilities-base/")
6927 (license license:expat))))
6928
6929 (define-public cl-metatilities-base
6930 (sbcl-package->cl-source-package sbcl-metatilities-base))
6931
6932 (define-public ecl-metatilities-base
6933 (sbcl-package->ecl-package sbcl-metatilities-base))
6934
6935 (define-public sbcl-cl-containers
6936 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6937 (revision "3"))
6938 (package
6939 (name "sbcl-cl-containers")
6940 (version (git-version "0.12.1" revision commit))
6941 (source
6942 (origin
6943 (method git-fetch)
6944 (uri (git-reference
6945 (url "https://github.com/gwkkwg/cl-containers")
6946 (commit commit)))
6947 (file-name (git-file-name name version))
6948 (sha256
6949 (base32
6950 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6951 (build-system asdf-build-system/sbcl)
6952 (native-inputs
6953 `(("lift" ,sbcl-lift)))
6954 (inputs
6955 `(("metatilities-base" ,sbcl-metatilities-base)))
6956 (arguments
6957 '(#:asd-files '("cl-containers.asd")
6958 #:phases
6959 (modify-phases %standard-phases
6960 (add-after 'unpack 'relax-version-checks
6961 (lambda _
6962 (substitute* "cl-containers.asd"
6963 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6964 "\"metatilities-base\""))
6965 (substitute* "cl-containers-test.asd"
6966 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6967 "\"lift\""))
6968 #t)))))
6969 (synopsis "Container library for Common Lisp")
6970 (description
6971 "Common Lisp ships with a set of powerful built in data structures
6972 including the venerable list, full featured arrays, and hash-tables.
6973 CL-containers enhances and builds on these structures by adding containers
6974 that are not available in native Lisp (for example: binary search trees,
6975 red-black trees, sparse arrays and so on), and by providing a standard
6976 interface so that they are simpler to use and so that changing design
6977 decisions becomes significantly easier.")
6978 (home-page "https://common-lisp.net/project/cl-containers/")
6979 (license license:expat))))
6980
6981 (define-public cl-containers
6982 (sbcl-package->cl-source-package sbcl-cl-containers))
6983
6984 (define-public ecl-cl-containers
6985 (sbcl-package->ecl-package sbcl-cl-containers))
6986
6987 (define-public sbcl-xlunit
6988 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6989 (revision "1"))
6990 (package
6991 (name "sbcl-xlunit")
6992 (version (git-version "0.6.3" revision commit))
6993 (source
6994 (origin
6995 (method git-fetch)
6996 (uri (git-reference
6997 (url "http://git.kpe.io/xlunit.git")
6998 (commit commit)))
6999 (file-name (git-file-name name version))
7000 (sha256
7001 (base32
7002 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
7003 (build-system asdf-build-system/sbcl)
7004 (arguments
7005 '(#:phases
7006 (modify-phases %standard-phases
7007 (add-after 'unpack 'fix-tests
7008 (lambda _
7009 (substitute* "xlunit.asd"
7010 ((" :force t") ""))
7011 #t)))))
7012 (synopsis "Unit testing package for Common Lisp")
7013 (description
7014 "The XLUnit package is a toolkit for building test suites. It is based
7015 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
7016 (home-page "http://quickdocs.org/xlunit/")
7017 (license license:bsd-3))))
7018
7019 (define-public cl-xlunit
7020 (sbcl-package->cl-source-package sbcl-xlunit))
7021
7022 (define-public ecl-xlunit
7023 (sbcl-package->ecl-package sbcl-xlunit))
7024
7025 (define-public sbcl-cambl
7026 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
7027 (revision "1"))
7028 (package
7029 (name "sbcl-cambl")
7030 (version (git-version "4.0.0" revision commit))
7031 (source
7032 (origin
7033 (method git-fetch)
7034 (uri (git-reference
7035 (url "https://github.com/jwiegley/cambl")
7036 (commit commit)))
7037 (file-name (git-file-name "cambl" version))
7038 (sha256
7039 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
7040 (build-system asdf-build-system/sbcl)
7041 (native-inputs
7042 `(("xlunit" ,sbcl-xlunit)))
7043 (inputs
7044 `(("alexandria" ,sbcl-alexandria)
7045 ("cl-containers" ,sbcl-cl-containers)
7046 ("local-time" ,sbcl-local-time)
7047 ("periods" ,sbcl-periods)))
7048 (arguments
7049 '(#:asd-files '("fprog.asd"
7050 "cambl.asd")))
7051 (synopsis "Commoditized amounts and balances for Common Lisp")
7052 (description
7053 "CAMBL is a Common Lisp library providing a convenient facility for
7054 working with commoditized values. It does not allow compound units (and so is
7055 not suited for scientific operations) but does work rather nicely for the
7056 purpose of financial calculations.")
7057 (home-page "https://github.com/jwiegley/cambl")
7058 (license license:bsd-3))))
7059
7060 (define-public cl-cambl
7061 (sbcl-package->cl-source-package sbcl-cambl))
7062
7063 (define-public ecl-cambl
7064 (sbcl-package->ecl-package sbcl-cambl))
7065
7066 (define-public sbcl-cl-ledger
7067 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
7068 (revision "1"))
7069 (package
7070 (name "sbcl-cl-ledger")
7071 (version (git-version "4.0.0" revision commit))
7072 (source
7073 (origin
7074 (method git-fetch)
7075 (uri (git-reference
7076 (url "https://github.com/ledger/cl-ledger")
7077 (commit commit)))
7078 (file-name (git-file-name name version))
7079 (sha256
7080 (base32
7081 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
7082 (build-system asdf-build-system/sbcl)
7083 (inputs
7084 `(("cambl" ,sbcl-cambl)
7085 ("cl-ppcre" ,sbcl-cl-ppcre)
7086 ("local-time" ,sbcl-local-time)
7087 ("periods" ,sbcl-periods)))
7088 (arguments
7089 '(#:phases
7090 (modify-phases %standard-phases
7091 (add-after 'unpack 'fix-system-definition
7092 (lambda _
7093 (substitute* "cl-ledger.asd"
7094 ((" :build-operation program-op") "")
7095 ((" :build-pathname \"cl-ledger\"") "")
7096 ((" :entry-point \"ledger::main\"") ""))
7097 #t)))))
7098 (synopsis "Common Lisp port of the Ledger accounting system")
7099 (description
7100 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
7101 system.")
7102 (home-page "https://github.com/ledger/cl-ledger")
7103 (license license:bsd-3))))
7104
7105 (define-public cl-ledger
7106 (sbcl-package->cl-source-package sbcl-cl-ledger))
7107
7108 (define-public ecl-cl-ledger
7109 (sbcl-package->ecl-package sbcl-cl-ledger))
7110
7111 (define-public sbcl-bst
7112 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
7113 (revision "0"))
7114 (package
7115 (name "sbcl-bst")
7116 (version (git-version "2.0" revision commit))
7117 (source
7118 (origin
7119 (method git-fetch)
7120 (uri (git-reference
7121 (url "https://github.com/glv2/bst")
7122 (commit commit)))
7123 (file-name (git-file-name name version))
7124 (sha256
7125 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
7126 (build-system asdf-build-system/sbcl)
7127 (native-inputs
7128 `(("alexandria" ,sbcl-alexandria)
7129 ("fiveam" ,sbcl-fiveam)))
7130 (synopsis "Binary search tree for Common Lisp")
7131 (description
7132 "BST is a Common Lisp library for working with binary search trees that
7133 can contain any kind of values.")
7134 (home-page "https://github.com/glv2/bst")
7135 (license license:gpl3))))
7136
7137 (define-public cl-bst
7138 (sbcl-package->cl-source-package sbcl-bst))
7139
7140 (define-public ecl-bst
7141 (sbcl-package->ecl-package sbcl-bst))
7142
7143 (define-public sbcl-cl-octet-streams
7144 (package
7145 (name "sbcl-cl-octet-streams")
7146 (version "1.2")
7147 (source
7148 (origin
7149 (method git-fetch)
7150 (uri (git-reference
7151 (url "https://github.com/glv2/cl-octet-streams")
7152 (commit (string-append "v" version))))
7153 (file-name (git-file-name name version))
7154 (sha256
7155 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
7156 (build-system asdf-build-system/sbcl)
7157 (native-inputs
7158 `(("fiveam" ,sbcl-fiveam)))
7159 (inputs
7160 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7161 (synopsis "In-memory octet streams for Common Lisp")
7162 (description
7163 "CL-octet-streams is a library implementing in-memory octet
7164 streams for Common Lisp. It was inspired by the trivial-octet-streams and
7165 cl-plumbing libraries.")
7166 (home-page "https://github.com/glv2/cl-octet-streams")
7167 (license license:gpl3+)))
7168
7169 (define-public cl-octet-streams
7170 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7171
7172 (define-public ecl-cl-octet-streams
7173 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7174
7175 (define-public sbcl-lzlib
7176 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
7177 (revision "2"))
7178 (package
7179 (name "sbcl-lzlib")
7180 (version (git-version "1.1" revision commit))
7181 (source
7182 (origin
7183 (method git-fetch)
7184 (uri (git-reference
7185 (url "https://github.com/glv2/cl-lzlib")
7186 (commit commit)))
7187 (file-name (git-file-name name version))
7188 (sha256
7189 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
7190 (build-system asdf-build-system/sbcl)
7191 (native-inputs
7192 `(("fiveam" ,sbcl-fiveam)))
7193 (inputs
7194 `(("cffi" ,sbcl-cffi)
7195 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7196 ("lparallel" ,sbcl-lparallel)
7197 ("lzlib" ,lzlib)))
7198 (arguments
7199 '(#:phases
7200 (modify-phases %standard-phases
7201 (add-after 'unpack 'fix-paths
7202 (lambda* (#:key inputs #:allow-other-keys)
7203 (substitute* "src/lzlib.lisp"
7204 (("liblz\\.so")
7205 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7206 #t)))))
7207 (synopsis "Common Lisp library for lzip (de)compression")
7208 (description
7209 "This Common Lisp library provides functions for lzip (LZMA)
7210 compression/decompression using bindings to the lzlib C library.")
7211 (home-page "https://github.com/glv2/cl-lzlib")
7212 (license license:gpl3+))))
7213
7214 (define-public cl-lzlib
7215 (sbcl-package->cl-source-package sbcl-lzlib))
7216
7217 (define-public ecl-lzlib
7218 (sbcl-package->ecl-package sbcl-lzlib))
7219
7220 (define-public sbcl-chanl
7221 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7222 (revision "1"))
7223 (package
7224 (name "sbcl-chanl")
7225 (version (git-version "0.4.1" revision commit))
7226 (source
7227 (origin
7228 (method git-fetch)
7229 (uri (git-reference
7230 (url "https://github.com/zkat/chanl")
7231 (commit commit)))
7232 (file-name (git-file-name name version))
7233 (sha256
7234 (base32
7235 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
7236 (build-system asdf-build-system/sbcl)
7237 (native-inputs
7238 `(("fiveam" ,sbcl-fiveam)))
7239 (inputs
7240 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7241 (synopsis "Portable channel-based concurrency for Common Lisp")
7242 (description "Common Lisp library for channel-based concurrency. In
7243 a nutshell, you create various threads sequentially executing tasks you need
7244 done, and use channel objects to communicate and synchronize the state of these
7245 threads.")
7246 (home-page "https://github.com/zkat/chanl")
7247 (license (list license:expat license:bsd-3)))))
7248
7249 (define-public cl-chanl
7250 (sbcl-package->cl-source-package sbcl-chanl))
7251
7252 (define-public ecl-chanl
7253 (sbcl-package->ecl-package sbcl-chanl))
7254
7255 (define-public sbcl-cl-store
7256 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7257 (revision "1"))
7258 (package
7259 (name "sbcl-cl-store")
7260 (version (git-version "0.8.11" revision commit))
7261 (source
7262 (origin
7263 (method git-fetch)
7264 (uri (git-reference
7265 (url "https://github.com/skypher/cl-store")
7266 (commit commit)))
7267 (file-name (git-file-name name version))
7268 (sha256
7269 (base32
7270 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
7271 (build-system asdf-build-system/sbcl)
7272 (native-inputs
7273 `(("rt" ,sbcl-rt)))
7274 (synopsis "Common Lisp library to serialize data")
7275 (description
7276 "CL-STORE is a portable serialization package which should give you the
7277 ability to store all Common Lisp data types into streams.")
7278 (home-page "https://www.common-lisp.net/project/cl-store/")
7279 (license license:expat))))
7280
7281 (define-public cl-store
7282 (sbcl-package->cl-source-package sbcl-cl-store))
7283
7284 (define-public ecl-cl-store
7285 (sbcl-package->ecl-package sbcl-cl-store))
7286
7287 (define-public sbcl-specialization-store
7288 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
7289 (revision "1"))
7290 (package
7291 (name "sbcl-specialization-store")
7292 (version (git-version "0.0.5" revision commit))
7293 (source
7294 (origin
7295 (method git-fetch)
7296 (uri (git-reference
7297 (url "https://github.com/markcox80/specialization-store")
7298 (commit commit)))
7299 (file-name (git-file-name "specialization-store" version))
7300 (sha256
7301 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
7302 (build-system asdf-build-system/sbcl)
7303 (native-inputs
7304 `(("fiveam" ,sbcl-fiveam)))
7305 (inputs
7306 `(("alexandria" ,sbcl-alexandria)
7307 ("introspect-environment" ,sbcl-introspect-environment)))
7308 (home-page "https://github.com/markcox80/specialization-store")
7309 (synopsis "Different type of generic function for Common Lisp")
7310 (description
7311 "SPECIALIZATION-STORE system provides a new kind of function, called
7312 a store function, whose behavior depends on the types of objects passed to the
7313 function.")
7314 (license license:bsd-2))))
7315
7316 (define-public ecl-specialization-store
7317 (package
7318 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7319 (arguments
7320 ;; TODO: Find why the tests get stuck forever; disable them for now.
7321 `(#:tests? #f))))
7322
7323 (define-public cl-specialization-store
7324 (sbcl-package->cl-source-package sbcl-specialization-store))
7325
7326 (define-public sbcl-cl-gobject-introspection
7327 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7328 (revision "1"))
7329 (package
7330 (name "sbcl-cl-gobject-introspection")
7331 (version (git-version "0.3" revision commit))
7332 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7333 (source
7334 (origin
7335 (method git-fetch)
7336 (uri (git-reference
7337 (url home-page)
7338 (commit commit)))
7339 (file-name (git-file-name name version))
7340 (sha256
7341 (base32
7342 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
7343 (build-system asdf-build-system/sbcl)
7344 (inputs
7345 `(("alexandria" ,sbcl-alexandria)
7346 ("cffi" ,sbcl-cffi)
7347 ("iterate" ,sbcl-iterate)
7348 ("trivial-garbage" ,sbcl-trivial-garbage)
7349 ("glib" ,glib)
7350 ("gobject-introspection" ,gobject-introspection)))
7351 (native-inputs
7352 `(("fiveam" ,sbcl-fiveam)))
7353 (arguments
7354 '(#:phases
7355 (modify-phases %standard-phases
7356 (add-after 'unpack 'fix-paths
7357 (lambda* (#:key inputs #:allow-other-keys)
7358 (substitute* "src/init.lisp"
7359 (("libgobject-2\\.0\\.so")
7360 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7361 (("libgirepository-1\\.0\\.so")
7362 (string-append (assoc-ref inputs "gobject-introspection")
7363 "/lib/libgirepository-1.0.so")))
7364 #t)))))
7365 (synopsis "Common Lisp bindings to GObject Introspection")
7366 (description
7367 "This library is a bridge between Common Lisp and GObject
7368 Introspection, which enables Common Lisp programs to access the full interface
7369 of C+GObject libraries without the need of writing dedicated bindings.")
7370 (license (list license:bsd-3
7371 ;; Tests are under a different license.
7372 license:llgpl)))))
7373
7374 (define-public cl-gobject-introspection
7375 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7376
7377 (define-public ecl-cl-gobject-introspection
7378 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7379
7380 (define-public sbcl-cl-slug
7381 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7382 (revision "1"))
7383 (package
7384 (name "sbcl-cl-slug")
7385 (version (git-version "0.4.1" revision commit))
7386 (source
7387 (origin
7388 (method git-fetch)
7389 (uri (git-reference
7390 (url "https://github.com/EuAndreh/cl-slug")
7391 (commit commit)))
7392 (file-name (git-file-name "cl-slug" version))
7393 (sha256
7394 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7395 (build-system asdf-build-system/sbcl)
7396 (arguments
7397 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7398 #:asd-systems '("cl-slug-test" "cl-slug")))
7399 (native-inputs
7400 `(("prove" ,sbcl-prove)))
7401 (inputs
7402 `(("ppcre" ,sbcl-cl-ppcre)))
7403 (home-page "https://github.com/EuAndreh/cl-slug")
7404 (synopsis "Multi-language slug formatter")
7405 (description
7406 "This is a small Common Lisp library to make slugs, mainly for URIs,
7407 from English and beyond.")
7408 (license license:llgpl))))
7409
7410 (define-public ecl-cl-slug
7411 (sbcl-package->ecl-package sbcl-cl-slug))
7412
7413 (define-public cl-slug
7414 (sbcl-package->cl-source-package sbcl-cl-slug))
7415
7416 (define-public sbcl-string-case
7417 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7418 (revision "0"))
7419 (package
7420 (name "sbcl-string-case")
7421 (version (git-version "0.0.2" revision commit))
7422 (home-page "https://github.com/pkhuong/string-case")
7423 (source
7424 (origin
7425 (method git-fetch)
7426 (uri (git-reference
7427 (url home-page)
7428 (commit commit)))
7429 (file-name (git-file-name name version))
7430 (sha256
7431 (base32
7432 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7433 (build-system asdf-build-system/sbcl)
7434 (synopsis "Efficient string= case in Common Lisp")
7435 (description
7436 "@code{string-case} is a Common Lisp macro that generates specialised decision
7437 trees to dispatch on string equality.")
7438 (license license:bsd-3))))
7439
7440 (define-public cl-string-case
7441 (sbcl-package->cl-source-package sbcl-string-case))
7442
7443 (define-public ecl-string-case
7444 (sbcl-package->ecl-package sbcl-string-case))
7445
7446 (define-public sbcl-garbage-pools
7447 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7448 (revision "1"))
7449 (package
7450 (name "sbcl-garbage-pools")
7451 (version (git-version "0.1.2" revision commit))
7452 (source
7453 (origin
7454 (method git-fetch)
7455 (uri (git-reference
7456 (url "https://github.com/archimag/garbage-pools")
7457 (commit commit)))
7458 (file-name (git-file-name name version))
7459 (sha256
7460 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7461 (build-system asdf-build-system/sbcl)
7462 (home-page "https://github.com/archimag/garbage-pools")
7463 (synopsis "Resource management pools for Common Lisp")
7464 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7465 Pools for resource management.")
7466 (license license:expat))))
7467
7468 (define-public ecl-garbage-pools
7469 (sbcl-package->ecl-package sbcl-garbage-pools))
7470
7471 (define-public cl-garbage-pools
7472 (sbcl-package->cl-source-package sbcl-garbage-pools))
7473
7474 (define-public sbcl-global-vars
7475 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7476 (revision "0"))
7477 (package
7478 (name "sbcl-global-vars")
7479 (version (git-version "1.0.0" revision commit))
7480 (home-page "https://github.com/lmj/global-vars")
7481 (source
7482 (origin
7483 (method git-fetch)
7484 (uri (git-reference
7485 (url home-page)
7486 (commit commit)))
7487 (file-name (git-file-name name version))
7488 (sha256
7489 (base32
7490 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7491 (build-system asdf-build-system/sbcl)
7492 (synopsis "Efficient global variables in Common Lisp")
7493 (description
7494 "In Common Lisp, a special variable that is never dynamically bound
7495 typically serves as a stand-in for a global variable. The @code{global-vars}
7496 library provides true global variables that are implemented by some compilers.
7497 An attempt to rebind a global variable properly results in a compiler error.
7498 That is, a global variable cannot be dynamically bound.
7499
7500 Global variables therefore allow us to communicate an intended usage that
7501 differs from special variables. Global variables are also more efficient than
7502 special variables, especially in the presence of threads.")
7503 (license license:expat))))
7504
7505 (define-public cl-global-vars
7506 (sbcl-package->cl-source-package sbcl-global-vars))
7507
7508 (define-public ecl-global-vars
7509 (sbcl-package->ecl-package sbcl-global-vars))
7510
7511 (define-public sbcl-trivial-file-size
7512 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7513 (revision "0"))
7514 (package
7515 (name "sbcl-trivial-file-size")
7516 (version (git-version "0.0.0" revision commit))
7517 (home-page "https://github.com/ruricolist/trivial-file-size")
7518 (source
7519 (origin
7520 (method git-fetch)
7521 (uri (git-reference
7522 (url home-page)
7523 (commit commit)))
7524 (file-name (git-file-name name version))
7525 (sha256
7526 (base32
7527 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7528 (build-system asdf-build-system/sbcl)
7529 (native-inputs
7530 `(("fiveam" ,sbcl-fiveam)))
7531 (synopsis "Size of a file in bytes in Common Lisp")
7532 (description
7533 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7534 is to open the file with an element type of (unsigned-byte 8) and then
7535 calculate the length of the stream. This is less than ideal. In most cases
7536 it is better to get the size of the file from its metadata, using a system
7537 call.
7538
7539 This library exports a single function, file-size-in-octets. It returns the
7540 size of a file in bytes, using system calls when possible.")
7541 (license license:expat))))
7542
7543 (define-public cl-trivial-file-size
7544 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7545
7546 (define-public ecl-trivial-file-size
7547 (sbcl-package->ecl-package sbcl-trivial-file-size))
7548
7549 (define-public sbcl-trivial-macroexpand-all
7550 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7551 (revision "0"))
7552 (package
7553 (name "sbcl-trivial-macroexpand-all")
7554 (version (git-version "0.0.0" revision commit))
7555 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7556 (source
7557 (origin
7558 (method git-fetch)
7559 (uri (git-reference
7560 (url home-page)
7561 (commit commit)))
7562 (file-name (git-file-name name version))
7563 (sha256
7564 (base32
7565 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7566 (build-system asdf-build-system/sbcl)
7567 (native-inputs
7568 `(("fiveam" ,sbcl-fiveam)))
7569 (synopsis "Portable macroexpand-all for Common Lisp")
7570 (description
7571 "This library provides a macroexpand-all function that calls the
7572 implementation specific equivalent.")
7573 (license license:unlicense))))
7574
7575 (define-public cl-trivial-macroexpand-all
7576 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7577
7578 (define-public ecl-trivial-macroexpand-all
7579 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7580
7581 (define-public sbcl-serapeum
7582 (let ((commit "f5da17b635ecb11d8317800f1674e88ca779dac5")
7583 (revision "5"))
7584 (package
7585 (name "sbcl-serapeum")
7586 (version (git-version "0.0.0" revision commit))
7587 (home-page "https://github.com/ruricolist/serapeum")
7588 (source
7589 (origin
7590 (method git-fetch)
7591 (uri (git-reference
7592 (url home-page)
7593 (commit commit)))
7594 (file-name (git-file-name name version))
7595 (sha256
7596 (base32 "16mz6xgcb5pkjg7xb760ga4hxbdhm9f843l42kc546hknhfq8x7b"))))
7597 (build-system asdf-build-system/sbcl)
7598 (inputs
7599 `(("alexandria" ,sbcl-alexandria)
7600 ("trivia" ,sbcl-trivia)
7601 ("split-sequence" ,sbcl-split-sequence)
7602 ("string-case" ,sbcl-string-case)
7603 ("parse-number" ,sbcl-parse-number)
7604 ("trivial-garbage" ,sbcl-trivial-garbage)
7605 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7606 ("named-readtables" ,sbcl-named-readtables)
7607 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7608 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7609 ("global-vars" ,sbcl-global-vars)
7610 ("trivial-file-size" ,sbcl-trivial-file-size)
7611 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7612 (native-inputs
7613 `(("fiveam" ,sbcl-fiveam)
7614 ("local-time" ,sbcl-local-time)))
7615 (arguments
7616 '(#:phases
7617 (modify-phases %standard-phases
7618 (add-after 'unpack 'disable-failing-tests
7619 (lambda* (#:key inputs #:allow-other-keys)
7620 (substitute* "serapeum.asd"
7621 ;; Guix does not have Quicklisp, and probably never will.
7622 (("\\(:file \"quicklisp\"\\)") ""))
7623 #t)))))
7624 (synopsis "Common Lisp utility library beyond Alexandria")
7625 (description
7626 "Serapeum is a conservative library of Common Lisp utilities. It is a
7627 supplement, not a competitor, to Alexandria.")
7628 (license license:expat))))
7629
7630 (define-public cl-serapeum
7631 (sbcl-package->cl-source-package sbcl-serapeum))
7632
7633 (define-public ecl-serapeum
7634 (sbcl-package->ecl-package sbcl-serapeum))
7635
7636 (define-public sbcl-arrows
7637 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7638 (revision "0"))
7639 (package
7640 (name "sbcl-arrows")
7641 (version (git-version "0.2.0" revision commit))
7642 (source
7643 (origin
7644 (method git-fetch)
7645 (uri (git-reference
7646 (url "https://gitlab.com/Harleqin/arrows.git")
7647 (commit commit)))
7648 (file-name (git-file-name name version))
7649 (sha256
7650 (base32
7651 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7652 (build-system asdf-build-system/sbcl)
7653 (native-inputs
7654 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7655 (synopsis "Clojure-like arrow macros for Common Lisp")
7656 (description
7657 "This library implements the @code{->} and @code{->>} macros from
7658 Clojure, as well as several expansions on the idea.")
7659 (home-page "https://gitlab.com/Harleqin/arrows")
7660 (license license:public-domain))))
7661
7662 (define-public cl-arrows
7663 (sbcl-package->cl-source-package sbcl-arrows))
7664
7665 (define-public ecl-arrows
7666 (sbcl-package->ecl-package sbcl-arrows))
7667
7668 (define-public sbcl-simple-parallel-tasks
7669 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7670 (revision "1"))
7671 (package
7672 (name "sbcl-simple-parallel-tasks")
7673 (version (git-version "1.0" revision commit))
7674 (source
7675 (origin
7676 (method git-fetch)
7677 (uri (git-reference
7678 (url "https://github.com/glv2/simple-parallel-tasks")
7679 (commit commit)))
7680 (file-name (git-file-name name version))
7681 (sha256
7682 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7683 (build-system asdf-build-system/sbcl)
7684 (native-inputs
7685 `(("fiveam" ,sbcl-fiveam)))
7686 (inputs
7687 `(("chanl" ,sbcl-chanl)))
7688 (synopsis "Common Lisp library to evaluate some forms in parallel")
7689 (description "This is a simple Common Lisp library to evaluate some
7690 forms in parallel.")
7691 (home-page "https://github.com/glv2/simple-parallel-tasks")
7692 (license license:gpl3))))
7693
7694 (define-public cl-simple-parallel-tasks
7695 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7696
7697 (define-public ecl-simple-parallel-tasks
7698 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7699
7700 (define-public sbcl-cl-heap
7701 (package
7702 (name "sbcl-cl-heap")
7703 (version "0.1.6")
7704 (source
7705 (origin
7706 (method url-fetch)
7707 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7708 "cl-heap_" version ".tar.gz"))
7709 (sha256
7710 (base32
7711 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7712 (build-system asdf-build-system/sbcl)
7713 (native-inputs
7714 `(("xlunit" ,sbcl-xlunit)))
7715 (arguments
7716 `(#:test-asd-file "cl-heap-tests.asd"))
7717 (synopsis "Heap and priority queue data structures for Common Lisp")
7718 (description
7719 "CL-HEAP provides various implementations of heap data structures (a
7720 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7721 (home-page "https://common-lisp.net/project/cl-heap/")
7722 (license license:gpl3+)))
7723
7724 (define-public cl-heap
7725 (sbcl-package->cl-source-package sbcl-cl-heap))
7726
7727 (define-public ecl-cl-heap
7728 (sbcl-package->ecl-package sbcl-cl-heap))
7729
7730 (define-public sbcl-curry-compose-reader-macros
7731 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7732 (revision "0"))
7733 (package
7734 (name "sbcl-curry-compose-reader-macros")
7735 (version (git-version "1.0.0" revision commit))
7736 (source
7737 (origin
7738 (method git-fetch)
7739 (uri
7740 (git-reference
7741 (url "https://github.com/eschulte/curry-compose-reader-macros")
7742 (commit commit)))
7743 (file-name (git-file-name name version))
7744 (sha256
7745 (base32
7746 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7747 (build-system asdf-build-system/sbcl)
7748 (inputs
7749 `(("alexandria" ,sbcl-alexandria)
7750 ("named-readtables" ,sbcl-named-readtables)))
7751 (synopsis "Reader macros for partial application and composition")
7752 (description
7753 "This Common Lisp library provides reader macros for concise expression
7754 of function partial application and composition.")
7755 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7756 (license license:public-domain))))
7757
7758 (define-public cl-curry-compose-reader-macros
7759 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7760
7761 (define-public ecl-curry-compose-reader-macros
7762 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7763
7764 (define-public sbcl-yason
7765 (package
7766 (name "sbcl-yason")
7767 (version "0.7.7")
7768 (source
7769 (origin
7770 (method git-fetch)
7771 (uri (git-reference
7772 (url "https://github.com/phmarek/yason")
7773 (commit (string-append "v" version))))
7774 (file-name (git-file-name name version))
7775 (sha256
7776 (base32
7777 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7778 (build-system asdf-build-system/sbcl)
7779 (inputs
7780 `(("alexandria" ,sbcl-alexandria)
7781 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7782 (synopsis "Common Lisp JSON parser/encoder")
7783 (description
7784 "YASON is a Common Lisp library for encoding and decoding data in the
7785 JSON interchange format.")
7786 (home-page "https://github.com/phmarek/yason")
7787 (license license:bsd-3)))
7788
7789 (define-public cl-yason
7790 (sbcl-package->cl-source-package sbcl-yason))
7791
7792 (define-public ecl-yason
7793 (sbcl-package->ecl-package sbcl-yason))
7794
7795 (define-public sbcl-stefil
7796 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7797 (revision "0"))
7798 (package
7799 (name "sbcl-stefil")
7800 (version (git-version "0.1" revision commit))
7801 (source
7802 (origin
7803 (method git-fetch)
7804 (uri (git-reference
7805 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7806 (commit commit)))
7807 (file-name (git-file-name name version))
7808 (sha256
7809 (base32
7810 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7811 (build-system asdf-build-system/sbcl)
7812 (inputs
7813 `(("alexandria" ,sbcl-alexandria)
7814 ("iterate" ,sbcl-iterate)
7815 ("metabang-bind" ,sbcl-metabang-bind)
7816 ("swank" ,sbcl-slime-swank)))
7817 (arguments
7818 '(#:phases
7819 (modify-phases %standard-phases
7820 (add-after 'unpack 'drop-unnecessary-dependency
7821 (lambda _
7822 (substitute* "package.lisp"
7823 ((":stefil-system") ""))
7824 #t)))))
7825 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7826 (synopsis "Simple test framework")
7827 (description
7828 "Stefil is a simple test framework for Common Lisp, with a focus on
7829 interactive development.")
7830 (license license:public-domain))))
7831
7832 (define-public cl-stefil
7833 (sbcl-package->cl-source-package sbcl-stefil))
7834
7835 (define-public ecl-stefil
7836 (sbcl-package->ecl-package sbcl-stefil))
7837
7838 (define-public sbcl-graph
7839 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7840 (revision "0"))
7841 (package
7842 (name "sbcl-graph")
7843 (version (git-version "0.0.0" revision commit))
7844 (source
7845 (origin
7846 (method git-fetch)
7847 (uri
7848 (git-reference
7849 (url "https://github.com/eschulte/graph")
7850 (commit commit)))
7851 (file-name (git-file-name name version))
7852 (sha256
7853 (base32
7854 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7855 (build-system asdf-build-system/sbcl)
7856 (native-inputs
7857 `(("stefil" ,sbcl-stefil)))
7858 (inputs
7859 `(("alexandria" ,sbcl-alexandria)
7860 ("cl-heap" ,sbcl-cl-heap)
7861 ("cl-ppcre" ,sbcl-cl-ppcre)
7862 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7863 ("metabang-bind" ,sbcl-metabang-bind)
7864 ("named-readtables" ,sbcl-named-readtables)
7865 ("yason" ,sbcl-yason)))
7866 (arguments
7867 '(#:asd-systems '("graph"
7868 "graph/dot"
7869 "graph/json")))
7870 (synopsis "Graph data structure and algorithms for Common Lisp")
7871 (description
7872 "The GRAPH Common Lisp library provides a data structures to represent
7873 graphs, as well as some graph manipulation and analysis algorithms (shortest
7874 path, maximum flow, minimum spanning tree, etc.).")
7875 (home-page "https://eschulte.github.io/graph/")
7876 (license license:gpl3+))))
7877
7878 (define-public cl-graph
7879 (sbcl-package->cl-source-package sbcl-graph))
7880
7881 (define-public ecl-graph
7882 (sbcl-package->ecl-package sbcl-graph))
7883
7884 (define-public sbcl-trivial-indent
7885 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7886 (revision "0"))
7887 (package
7888 (name "sbcl-trivial-indent")
7889 (version (git-version "1.0.0" revision commit))
7890 (source
7891 (origin
7892 (method git-fetch)
7893 (uri
7894 (git-reference
7895 (url "https://github.com/Shinmera/trivial-indent")
7896 (commit commit)))
7897 (file-name (git-file-name name version))
7898 (sha256
7899 (base32
7900 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7901 (build-system asdf-build-system/sbcl)
7902 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7903 (description
7904 "This library allows you to define custom indentation hints for your
7905 macros if the one recognised by SLIME automatically produces unwanted
7906 results.")
7907 (home-page "https://shinmera.github.io/trivial-indent/")
7908 (license license:zlib))))
7909
7910 (define-public cl-trivial-indent
7911 (sbcl-package->cl-source-package sbcl-trivial-indent))
7912
7913 (define-public ecl-trivial-indent
7914 (sbcl-package->ecl-package sbcl-trivial-indent))
7915
7916 (define-public sbcl-documentation-utils
7917 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7918 (revision "0"))
7919 (package
7920 (name "sbcl-documentation-utils")
7921 (version (git-version "1.2.0" revision commit))
7922 (source
7923 (origin
7924 (method git-fetch)
7925 (uri
7926 (git-reference
7927 (url "https://github.com/Shinmera/documentation-utils")
7928 (commit commit)))
7929 (file-name (git-file-name name version))
7930 (sha256
7931 (base32
7932 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7933 (build-system asdf-build-system/sbcl)
7934 (inputs
7935 `(("trivial-indent" ,sbcl-trivial-indent)))
7936 (synopsis "Few simple tools to document Common Lisp libraries")
7937 (description
7938 "This is a small library to help you with managing the Common Lisp
7939 docstrings for your library.")
7940 (home-page "https://shinmera.github.io/documentation-utils/")
7941 (license license:zlib))))
7942
7943 (define-public cl-documentation-utils
7944 (sbcl-package->cl-source-package sbcl-documentation-utils))
7945
7946 (define-public ecl-documentation-utils
7947 (sbcl-package->ecl-package sbcl-documentation-utils))
7948
7949 (define-public sbcl-documentation-utils-extensions
7950 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7951 (package
7952 (name "sbcl-documentation-utils-extensions")
7953 (version (git-version "0.0.0" "1" commit))
7954 (source
7955 (origin
7956 (method git-fetch)
7957 (uri
7958 (git-reference
7959 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7960 (commit commit)))
7961 (file-name (git-file-name name version))
7962 (sha256
7963 (base32
7964 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7965 (build-system asdf-build-system/sbcl)
7966 (inputs
7967 `(("documentation-utils" ,sbcl-documentation-utils)))
7968 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7969 (synopsis "Set of extensions for documentation-utils")
7970 (description
7971 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7972 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7973 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7974 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7975 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7976 gathered documentation with find-documentation function. Execute code stored
7977 in documentation with @code{execute-documentation}. See the examples in the
7978 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7979 for more information.")
7980 (license license:expat))))
7981
7982 (define-public cl-documentation-utils-extensions
7983 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7984
7985 (define-public ecl-documentation-utils-extensions
7986 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7987
7988 (define-public sbcl-form-fiddle
7989 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7990 (revision "0"))
7991 (package
7992 (name "sbcl-form-fiddle")
7993 (version (git-version "1.1.0" revision commit))
7994 (source
7995 (origin
7996 (method git-fetch)
7997 (uri
7998 (git-reference
7999 (url "https://github.com/Shinmera/form-fiddle")
8000 (commit commit)))
8001 (file-name (git-file-name name version))
8002 (sha256
8003 (base32
8004 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
8005 (build-system asdf-build-system/sbcl)
8006 (inputs
8007 `(("documentation-utils" ,sbcl-documentation-utils)))
8008 (synopsis "Utilities to destructure Common Lisp lambda forms")
8009 (description
8010 "Often times we need to destructure a form definition in a Common Lisp
8011 macro. This library provides a set of simple utilities to help with that.")
8012 (home-page "https://shinmera.github.io/form-fiddle/")
8013 (license license:zlib))))
8014
8015 (define-public cl-form-fiddle
8016 (sbcl-package->cl-source-package sbcl-form-fiddle))
8017
8018 (define-public ecl-form-fiddle
8019 (sbcl-package->ecl-package sbcl-form-fiddle))
8020
8021 (define-public sbcl-parachute
8022 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
8023 (revision "0"))
8024 (package
8025 (name "sbcl-parachute")
8026 (version (git-version "1.1.1" revision commit))
8027 (source
8028 (origin
8029 (method git-fetch)
8030 (uri
8031 (git-reference
8032 (url "https://github.com/Shinmera/parachute")
8033 (commit commit)))
8034 (file-name (git-file-name name version))
8035 (sha256
8036 (base32
8037 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
8038 (build-system asdf-build-system/sbcl)
8039 (inputs
8040 `(("documentation-utils" ,sbcl-documentation-utils)
8041 ("form-fiddle" ,sbcl-form-fiddle)))
8042 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
8043 (description
8044 "Parachute is a simple-to-use and extensible testing framework.
8045 In Parachute, things are organised as a bunch of named tests within a package.
8046 Each test can contain a bunch of test forms that make up its body.")
8047 (home-page "https://shinmera.github.io/parachute/")
8048 (license license:zlib))))
8049
8050 (define-public cl-parachute
8051 (sbcl-package->cl-source-package sbcl-parachute))
8052
8053 (define-public ecl-parachute
8054 (sbcl-package->ecl-package sbcl-parachute))
8055
8056 (define-public sbcl-array-utils
8057 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
8058 (revision "0"))
8059 (package
8060 (name "sbcl-array-utils")
8061 (version (git-version "1.1.1" revision commit))
8062 (source
8063 (origin
8064 (method git-fetch)
8065 (uri
8066 (git-reference
8067 (url "https://github.com/Shinmera/array-utils")
8068 (commit commit)))
8069 (file-name (git-file-name name version))
8070 (sha256
8071 (base32
8072 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
8073 (build-system asdf-build-system/sbcl)
8074 (native-inputs
8075 `(("parachute" ,sbcl-parachute)))
8076 (inputs
8077 `(("documentation-utils" ,sbcl-documentation-utils)))
8078 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
8079 (description
8080 "A miniature toolkit that contains some useful shifting/popping/pushing
8081 functions for arrays and vectors. Originally from Plump.")
8082 (home-page "https://shinmera.github.io/array-utils/")
8083 (license license:zlib))))
8084
8085 (define-public cl-array-utils
8086 (sbcl-package->cl-source-package sbcl-array-utils))
8087
8088 (define-public ecl-array-utils
8089 (sbcl-package->ecl-package sbcl-array-utils))
8090
8091 (define-public sbcl-plump
8092 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
8093 (revision "1"))
8094 (package
8095 (name "sbcl-plump")
8096 (version (git-version "2.0.0" revision commit))
8097 (source
8098 (origin
8099 (method git-fetch)
8100 (uri
8101 (git-reference
8102 (url "https://github.com/Shinmera/plump")
8103 (commit commit)))
8104 (file-name (git-file-name name version))
8105 (sha256
8106 (base32
8107 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
8108 (build-system asdf-build-system/sbcl)
8109 (inputs
8110 `(("array-utils" ,sbcl-array-utils)
8111 ("documentation-utils" ,sbcl-documentation-utils)))
8112 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
8113 (description
8114 "Plump is a parser for HTML/XML-like documents, focusing on being
8115 lenient towards invalid markup. It can handle things like invalid attributes,
8116 bad closing tag order, unencoded entities, inexistent tag types, self-closing
8117 tags and so on. It parses documents to a class representation and offers a
8118 small set of DOM functions to manipulate it. It can be extended to parse to
8119 your own classes.")
8120 (home-page "https://shinmera.github.io/plump/")
8121 (license license:zlib))))
8122
8123 (define-public cl-plump
8124 (sbcl-package->cl-source-package sbcl-plump))
8125
8126 (define-public ecl-plump
8127 (sbcl-package->ecl-package sbcl-plump))
8128
8129 ;;; Split the antik package in two to work around the circular dependency
8130 ;;; between antik/antik and antik/gsll.
8131 (define-public sbcl-antik-base
8132 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
8133 (revision "1"))
8134 (package
8135 (name "sbcl-antik-base")
8136 (version (git-version "0.0.0" revision commit))
8137 (source
8138 (origin
8139 (method git-fetch)
8140 (uri (git-reference
8141 (url "https://gitlab.common-lisp.net/antik/antik.git")
8142 (commit commit)))
8143 (file-name (git-file-name name version))
8144 (sha256
8145 (base32
8146 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
8147 (build-system asdf-build-system/sbcl)
8148 (inputs
8149 `(("alexandria" ,sbcl-alexandria)
8150 ("cffi" ,sbcl-cffi)
8151 ("cl-ppcre" ,sbcl-cl-ppcre)
8152 ("drakma" ,sbcl-drakma)
8153 ("fare-utils" ,sbcl-fare-utils)
8154 ("iterate" ,sbcl-iterate)
8155 ("metabang-bind" ,sbcl-metabang-bind)
8156 ("named-readtables" ,sbcl-named-readtables)
8157 ("split-sequence" ,sbcl-split-sequence)
8158 ("static-vectors" ,sbcl-static-vectors)
8159 ("trivial-garbage" ,sbcl-trivial-garbage)
8160 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
8161 (native-inputs
8162 `(("lisp-unit" ,sbcl-lisp-unit)))
8163 (arguments
8164 '(#:asd-systems '("antik-base"
8165 "foreign-array")
8166 #:phases
8167 (modify-phases %standard-phases
8168 (add-after 'unpack 'fix-build
8169 (lambda _
8170 (for-each delete-file
8171 '("antik.asd"
8172 "physical-dimension.asd"
8173 "science-data.asd"))
8174 #t)))))
8175 (synopsis "Scientific and engineering computation in Common Lisp")
8176 (description
8177 "Antik provides a foundation for scientific and engineering
8178 computation in Common Lisp. It is designed not only to facilitate
8179 numerical computations, but to permit the use of numerical computation
8180 libraries and the interchange of data and procedures, whether
8181 foreign (non-Lisp) or Lisp libraries. It is named after the
8182 Antikythera mechanism, one of the oldest examples of a scientific
8183 computer known.")
8184 (home-page "https://common-lisp.net/project/antik/")
8185 (license license:gpl3))))
8186
8187 (define-public cl-antik-base
8188 (sbcl-package->cl-source-package sbcl-antik-base))
8189
8190 (define-public ecl-antik-base
8191 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
8192 (package
8193 (inherit pkg)
8194 (arguments
8195 (substitute-keyword-arguments (package-arguments pkg)
8196 ((#:phases phases)
8197 `(modify-phases ,phases
8198 (add-after 'unpack 'fix-readtable
8199 (lambda _
8200 (substitute* "input-output/readtable.lisp"
8201 (("#-ccl")
8202 "#-(or ccl ecl)"))
8203 #t)))))))))
8204
8205 (define-public sbcl-gsll
8206 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
8207 (revision "1"))
8208 (package
8209 (name "sbcl-gsll")
8210 (version (git-version "0.0.0" revision commit))
8211 (source
8212 (origin
8213 (method git-fetch)
8214 (uri (git-reference
8215 (url "https://gitlab.common-lisp.net/antik/gsll.git")
8216 (commit commit)))
8217 (file-name (git-file-name name version))
8218 (sha256
8219 (base32
8220 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
8221 (build-system asdf-build-system/sbcl)
8222 (native-inputs
8223 `(("lisp-unit" ,sbcl-lisp-unit)))
8224 (inputs
8225 `(("alexandria" ,sbcl-alexandria)
8226 ("antik-base" ,sbcl-antik-base)
8227 ("cffi" ,sbcl-cffi)
8228 ("gsl" ,gsl)
8229 ("metabang-bind" ,sbcl-metabang-bind)
8230 ("trivial-features" ,sbcl-trivial-features)
8231 ("trivial-garbage" ,sbcl-trivial-garbage)))
8232 (arguments
8233 `(#:tests? #f
8234 #:phases
8235 (modify-phases %standard-phases
8236 (add-after 'unpack 'fix-cffi-paths
8237 (lambda* (#:key inputs #:allow-other-keys)
8238 (substitute* "gsll.asd"
8239 ((":depends-on \\(#:foreign-array")
8240 ":depends-on (#:foreign-array #:cffi-libffi"))
8241 (substitute* "init/init.lisp"
8242 (("libgslcblas.so" all)
8243 (string-append
8244 (assoc-ref inputs "gsl") "/lib/" all)))
8245 (substitute* "init/init.lisp"
8246 (("libgsl.so" all)
8247 (string-append
8248 (assoc-ref inputs "gsl") "/lib/" all))))))))
8249 (synopsis "GNU Scientific Library for Lisp")
8250 (description
8251 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8252 GNU Scientific Library (GSL) from Common Lisp. This library provides a
8253 full range of common mathematical operations useful to scientific and
8254 engineering applications. The design of the GSLL interface is such
8255 that access to most of the GSL library is possible in a Lisp-natural
8256 way; the intent is that the user not be hampered by the restrictions
8257 of the C language in which GSL has been written. GSLL thus provides
8258 interactive use of GSL for getting quick answers, even for someone not
8259 intending to program in Lisp.")
8260 (home-page "https://common-lisp.net/project/gsll/")
8261 (license license:gpl3))))
8262
8263 (define-public cl-gsll
8264 (sbcl-package->cl-source-package sbcl-gsll))
8265
8266 (define-public ecl-gsll
8267 (sbcl-package->ecl-package sbcl-gsll))
8268
8269 (define-public sbcl-antik
8270 (package
8271 (inherit sbcl-antik-base)
8272 (name "sbcl-antik")
8273 (inputs
8274 `(("antik-base" ,sbcl-antik-base)
8275 ("gsll" ,sbcl-gsll)))
8276 (arguments
8277 '(#:asd-systems '("antik"
8278 "science-data")
8279 #:phases
8280 (modify-phases %standard-phases
8281 (add-after 'unpack 'fix-build
8282 (lambda _
8283 (for-each delete-file
8284 '("antik-base.asd"
8285 "foreign-array.asd"))
8286 #t)))))))
8287
8288 (define-public cl-antik
8289 (sbcl-package->cl-source-package sbcl-antik))
8290
8291 (define-public sbcl-cl-interpol
8292 (let ((commit "70a1137f41dd8889004dbab9536b1adeac2497aa")
8293 (revision "1"))
8294 (package
8295 (name "sbcl-cl-interpol")
8296 (version (git-version "0.2.7" revision commit))
8297 (source
8298 (origin
8299 (method git-fetch)
8300 (uri (git-reference
8301 (url "https://github.com/edicl/cl-interpol")
8302 (commit commit)))
8303 (file-name (git-file-name "cl-interpol" version))
8304 (sha256
8305 (base32
8306 "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490"))))
8307 (build-system asdf-build-system/sbcl)
8308 (inputs
8309 `(("cl-unicode" ,sbcl-cl-unicode)
8310 ("named-readtables" ,sbcl-named-readtables)))
8311 (native-inputs
8312 `(("flexi-streams" ,sbcl-flexi-streams)))
8313 (synopsis "String interpolation for Common Lisp")
8314 (description
8315 "CL-INTERPOL is a library for Common Lisp which modifies the
8316 reader so that you can have interpolation within strings similar to
8317 Perl or Unix Shell scripts. It also provides various ways to insert
8318 arbitrary characters into literal strings even if your editor/IDE
8319 doesn't support them.")
8320 (home-page "https://edicl.github.io/cl-interpol/")
8321 (license license:bsd-3))))
8322
8323 (define-public cl-interpol
8324 (sbcl-package->cl-source-package sbcl-cl-interpol))
8325
8326 (define-public ecl-cl-interpol
8327 (sbcl-package->ecl-package sbcl-cl-interpol))
8328
8329 (define-public sbcl-symbol-munger
8330 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8331 (revision "1"))
8332 (package
8333 (name "sbcl-symbol-munger")
8334 (version (git-version "0.0.1" revision commit))
8335 (source
8336 (origin
8337 (method git-fetch)
8338 (uri (git-reference
8339 (url "https://github.com/AccelerationNet/symbol-munger")
8340 (commit commit)))
8341 (file-name (git-file-name name version))
8342 (sha256
8343 (base32
8344 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8345 (build-system asdf-build-system/sbcl)
8346 (inputs
8347 `(("alexandria" ,sbcl-alexandria)
8348 ("iterate" ,sbcl-iterate)))
8349 (arguments
8350 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8351 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8352 '(#:tests? #f))
8353 (synopsis
8354 "Capitalization and spacing conversion functions for Common Lisp")
8355 (description
8356 "This is a Common Lisp library to change the capitalization and spacing
8357 of a string or a symbol. It can convert to and from Lisp, english, underscore
8358 and camel-case rules.")
8359 (home-page "https://github.com/AccelerationNet/symbol-munger")
8360 ;; The package declares a BSD license, but all of the license
8361 ;; text is MIT.
8362 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8363 (license license:expat))))
8364
8365 (define-public cl-symbol-munger
8366 (sbcl-package->cl-source-package sbcl-symbol-munger))
8367
8368 (define-public ecl-symbol-munger
8369 (sbcl-package->ecl-package sbcl-symbol-munger))
8370
8371 (define-public sbcl-lisp-unit2
8372 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8373 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8374 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8375 (revision "1"))
8376 (package
8377 (name "sbcl-lisp-unit2")
8378 (version (git-version "0.2.0" revision commit))
8379 (source
8380 (origin
8381 (method git-fetch)
8382 (uri (git-reference
8383 (url "https://github.com/AccelerationNet/lisp-unit2")
8384 (commit commit)))
8385 (file-name (git-file-name name version))
8386 (sha256
8387 (base32
8388 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8389 (build-system asdf-build-system/sbcl)
8390 (inputs
8391 `(("alexandria" ,sbcl-alexandria)
8392 ("cl-interpol" ,sbcl-cl-interpol)
8393 ("iterate" ,sbcl-iterate)
8394 ("symbol-munger" ,sbcl-symbol-munger)))
8395 (synopsis "Test Framework for Common Lisp")
8396 (description
8397 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8398 style of JUnit for Java. It is a new version of the lisp-unit library written
8399 by Chris Riesbeck.")
8400 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8401 (license license:expat))))
8402
8403 (define-public cl-lisp-unit2
8404 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8405
8406 (define-public ecl-lisp-unit2
8407 (sbcl-package->ecl-package sbcl-lisp-unit2))
8408
8409 (define-public sbcl-cl-csv
8410 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8411 (revision "2"))
8412 (package
8413 (name "sbcl-cl-csv")
8414 (version (git-version "1.0.6" revision commit))
8415 (source
8416 (origin
8417 (method git-fetch)
8418 (uri (git-reference
8419 (url "https://github.com/AccelerationNet/cl-csv")
8420 (commit commit)))
8421 (file-name (git-file-name name version))
8422 (sha256
8423 (base32
8424 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8425 (build-system asdf-build-system/sbcl)
8426 (arguments
8427 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8428 `(#:tests? #f))
8429 (inputs
8430 `(("alexandria" ,sbcl-alexandria)
8431 ("cl-interpol" ,sbcl-cl-interpol)
8432 ("iterate" ,sbcl-iterate)))
8433 (native-inputs
8434 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8435 (synopsis "Common lisp library for comma-separated values")
8436 (description
8437 "This is a Common Lisp library providing functions to read/write CSV
8438 from/to strings, streams and files.")
8439 (home-page "https://github.com/AccelerationNet/cl-csv")
8440 (license license:bsd-3))))
8441
8442 (define-public cl-csv
8443 (sbcl-package->cl-source-package sbcl-cl-csv))
8444
8445 (define-public ecl-cl-csv
8446 (sbcl-package->ecl-package sbcl-cl-csv))
8447
8448 (define-public sbcl-external-program
8449 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8450 (revision "1"))
8451 (package
8452 (name "sbcl-external-program")
8453 (version (git-version "0.0.6" revision commit))
8454 (source
8455 (origin
8456 (method git-fetch)
8457 (uri (git-reference
8458 (url "https://github.com/sellout/external-program")
8459 (commit commit)))
8460 (file-name (git-file-name name version))
8461 (sha256
8462 (base32
8463 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8464 (build-system asdf-build-system/sbcl)
8465 (inputs
8466 `(("trivial-features" ,sbcl-trivial-features)))
8467 (native-inputs
8468 `(("fiveam" ,sbcl-fiveam)))
8469 (synopsis "Common Lisp library for running external programs")
8470 (description
8471 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8472 process. It is an attempt to make the RUN-PROGRAM functionality in
8473 implementations like SBCL and CCL as portable as possible without
8474 sacrificing much in the way of power.")
8475 (home-page "https://github.com/sellout/external-program")
8476 (license license:llgpl))))
8477
8478 (define-public cl-external-program
8479 (sbcl-package->cl-source-package sbcl-external-program))
8480
8481 (define-public ecl-external-program
8482 (sbcl-package->ecl-package sbcl-external-program))
8483
8484 (define-public sbcl-cl-ana
8485 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8486 (revision "1"))
8487 (package
8488 (name "sbcl-cl-ana")
8489 (version (git-version "0.0.0" revision commit))
8490 (source
8491 (origin
8492 (method git-fetch)
8493 (uri (git-reference
8494 (url "https://github.com/ghollisjr/cl-ana")
8495 (commit commit)))
8496 (file-name (git-file-name name version))
8497 (sha256
8498 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8499 (build-system asdf-build-system/sbcl)
8500 (native-inputs
8501 `(("cl-fad" ,sbcl-cl-fad)))
8502 (inputs
8503 `(("alexandria" ,sbcl-alexandria)
8504 ("antik" ,sbcl-antik)
8505 ("cffi" ,sbcl-cffi)
8506 ("cl-csv" ,sbcl-cl-csv)
8507 ("closer-mop" ,sbcl-closer-mop)
8508 ("external-program" ,sbcl-external-program)
8509 ("gsl" ,gsl)
8510 ("gsll" ,sbcl-gsll)
8511 ("hdf5" ,hdf5-parallel-openmpi)
8512 ("iterate" ,sbcl-iterate)
8513 ("libffi" ,libffi)
8514 ("split-sequence" ,sbcl-split-sequence)))
8515 (arguments
8516 `(#:phases
8517 (modify-phases %standard-phases
8518 (add-after 'unpack 'fix-paths
8519 (lambda* (#:key inputs #:allow-other-keys)
8520 (substitute* "hdf-cffi/hdf-cffi.lisp"
8521 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8522 (string-append (assoc-ref inputs "hdf5")
8523 "/lib/libhdf5.so")))
8524 (substitute* "gsl-cffi/gsl-cffi.lisp"
8525 (("define-foreign-library gsl-cffi" all)
8526 (string-append all " (:unix "
8527 (assoc-ref inputs "gsl")
8528 "/lib/libgsl.so)")))
8529 #t)))))
8530 (synopsis "Common Lisp data analysis library")
8531 (description
8532 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8533 binned data analysis along with nonlinear least squares fitting and
8534 visualization.")
8535 (home-page "https://github.com/ghollisjr/cl-ana")
8536 (license license:gpl3))))
8537
8538 (define-public cl-ana
8539 (sbcl-package->cl-source-package sbcl-cl-ana))
8540
8541 (define-public sbcl-archive
8542 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8543 (revision "1"))
8544 (package
8545 (name "sbcl-archive")
8546 (version (git-version "0.9" revision commit))
8547 (source (origin
8548 (method git-fetch)
8549 (uri (git-reference
8550 (url "https://github.com/sharplispers/archive")
8551 (commit commit)))
8552 (file-name (git-file-name name version))
8553 (sha256
8554 (base32
8555 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8556 (build-system asdf-build-system/sbcl)
8557 (inputs
8558 `(("cl-fad" ,sbcl-cl-fad)
8559 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8560 (synopsis "Common Lisp library for tar and cpio archives")
8561 (description
8562 "This is a Common Lisp library to read and write disk-based file
8563 archives such as those generated by the tar and cpio programs on Unix.")
8564 (home-page "https://github.com/sharplispers/archive")
8565 (license license:bsd-3))))
8566
8567 (define-public cl-archive
8568 (sbcl-package->cl-source-package sbcl-archive))
8569
8570 (define-public ecl-archive
8571 (sbcl-package->ecl-package sbcl-archive))
8572
8573 (define-public sbcl-misc-extensions
8574 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8575 (revision "1"))
8576 (package
8577 (name "sbcl-misc-extensions")
8578 (version (git-version "3.3" revision commit))
8579 (source
8580 (origin
8581 (method git-fetch)
8582 (uri (git-reference
8583 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8584 (commit commit)))
8585 (file-name (git-file-name name version))
8586 (sha256
8587 (base32
8588 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8589 (build-system asdf-build-system/sbcl)
8590 (synopsis "Collection of small macros and extensions for Common Lisp")
8591 (description
8592 "This project is intended as a catchall for small, general-purpose
8593 extensions to Common Lisp. It contains:
8594
8595 @itemize
8596 @item @code{new-let}, a macro that combines and generalizes @code{let},
8597 @code{let*} and @code{multiple-value-bind},
8598 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8599 @end itemize\n")
8600 (home-page "https://common-lisp.net/project/misc-extensions/")
8601 (license license:public-domain))))
8602
8603 (define-public cl-misc-extensions
8604 (sbcl-package->cl-source-package sbcl-misc-extensions))
8605
8606 (define-public ecl-misc-extensions
8607 (sbcl-package->ecl-package sbcl-misc-extensions))
8608
8609 (define-public sbcl-mt19937
8610 (package
8611 (name "sbcl-mt19937")
8612 (version "1.1")
8613 (source
8614 (origin
8615 (method url-fetch)
8616 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8617 "mt19937-latest.tar.gz"))
8618 (sha256
8619 (base32
8620 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8621 (build-system asdf-build-system/sbcl)
8622 (synopsis "Mersenne Twister pseudo-random number generator")
8623 (description
8624 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8625 for Common Lisp.")
8626 (home-page "https://www.cliki.net/mt19937")
8627 (license license:public-domain)))
8628
8629 (define-public cl-mt19937
8630 (sbcl-package->cl-source-package sbcl-mt19937))
8631
8632 (define-public ecl-mt19937
8633 (sbcl-package->ecl-package sbcl-mt19937))
8634
8635 (define-public sbcl-fset
8636 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8637 (revision "1"))
8638 (package
8639 (name "sbcl-fset")
8640 (version (git-version "1.3.2" revision commit))
8641 (source
8642 (origin
8643 (method git-fetch)
8644 (uri (git-reference
8645 (url "https://github.com/slburson/fset")
8646 (commit commit)))
8647 (file-name (git-file-name name version))
8648 (sha256
8649 (base32
8650 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8651 (snippet '(begin
8652 ;; Remove obsolete copy of system definition.
8653 (delete-file "Code/fset.asd")
8654 #t))))
8655 (build-system asdf-build-system/sbcl)
8656 (inputs
8657 `(("misc-extensions" ,sbcl-misc-extensions)
8658 ("mt19937" ,sbcl-mt19937)
8659 ("named-readtables" ,sbcl-named-readtables)))
8660 (synopsis "Functional set-theoretic collections library")
8661 (description
8662 "FSet is a functional set-theoretic collections library for Common Lisp.
8663 Functional means that all update operations return a new collection rather than
8664 modifying an existing one in place. Set-theoretic means that collections may
8665 be nested arbitrarily with no additional programmer effort; for instance, sets
8666 may contain sets, maps may be keyed by sets, etc.")
8667 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8668 (license license:llgpl))))
8669
8670 (define-public cl-fset
8671 (sbcl-package->cl-source-package sbcl-fset))
8672
8673 (define-public ecl-fset
8674 (package
8675 (inherit (sbcl-package->ecl-package sbcl-fset))
8676 (arguments
8677 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8678 '(#:tests? #f))))
8679
8680 (define-public sbcl-cl-cont
8681 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8682 (revision "1"))
8683 (package
8684 (name "sbcl-cl-cont")
8685 (version (git-version "0.3.8" revision commit))
8686 (source
8687 (origin
8688 (method git-fetch)
8689 (uri (git-reference
8690 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8691 (commit commit)))
8692 (file-name (git-file-name name version))
8693 (sha256
8694 (base32
8695 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8696 (build-system asdf-build-system/sbcl)
8697 (inputs
8698 `(("alexandria" ,sbcl-alexandria)
8699 ("closer-mop" ,sbcl-closer-mop)))
8700 (native-inputs
8701 `(("rt" ,sbcl-rt)))
8702 (synopsis "Delimited continuations for Common Lisp")
8703 (description
8704 "This is a library that implements delimited continuations by
8705 transforming Common Lisp code to continuation passing style.")
8706 (home-page "https://common-lisp.net/project/cl-cont/")
8707 (license license:llgpl))))
8708
8709 (define-public cl-cont
8710 (sbcl-package->cl-source-package sbcl-cl-cont))
8711
8712 (define-public ecl-cl-cont
8713 (sbcl-package->ecl-package sbcl-cl-cont))
8714
8715 (define-public sbcl-cl-coroutine
8716 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8717 (revision "1"))
8718 (package
8719 (name "sbcl-cl-coroutine")
8720 (version (git-version "0.1" revision commit))
8721 (source
8722 (origin
8723 (method git-fetch)
8724 (uri (git-reference
8725 (url "https://github.com/takagi/cl-coroutine")
8726 (commit commit)))
8727 (file-name (git-file-name name version))
8728 (sha256
8729 (base32
8730 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8731 (build-system asdf-build-system/sbcl)
8732 (inputs
8733 `(("alexandria" ,sbcl-alexandria)
8734 ("cl-cont" ,sbcl-cl-cont)))
8735 (native-inputs
8736 `(("prove" ,sbcl-prove)))
8737 (arguments
8738 `(;; TODO: Fix the tests. They fail with:
8739 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8740 #:tests? #f
8741 #:phases
8742 (modify-phases %standard-phases
8743 (add-after 'unpack 'fix-tests
8744 (lambda _
8745 (substitute* "cl-coroutine-test.asd"
8746 (("cl-test-more")
8747 "prove"))
8748 #t)))))
8749 (synopsis "Coroutine library for Common Lisp")
8750 (description
8751 "This is a coroutine library for Common Lisp implemented using the
8752 continuations of the @code{cl-cont} library.")
8753 (home-page "https://github.com/takagi/cl-coroutine")
8754 (license license:llgpl))))
8755
8756 (define-public cl-coroutine
8757 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8758
8759 (define-public ecl-cl-coroutine
8760 (sbcl-package->ecl-package sbcl-cl-coroutine))
8761
8762 (define-public sbcl-vas-string-metrics
8763 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8764 (revision "1"))
8765 (package
8766 (name "sbcl-vas-string-metrics")
8767 (version (git-version "0.0.0" revision commit))
8768 (source
8769 (origin
8770 (method git-fetch)
8771 (uri (git-reference
8772 (url "https://github.com/vsedach/vas-string-metrics")
8773 (commit commit)))
8774 (file-name (git-file-name "vas-string-metrics" version))
8775 (sha256
8776 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8777 (build-system asdf-build-system/sbcl)
8778 (arguments
8779 `(#:test-asd-file "test.vas-string-metrics.asd"))
8780 (home-page "https://github.com/vsedach/vas-string-metrics")
8781 (synopsis "String distance algorithms for Common Lisp")
8782 (description
8783 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8784 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8785 algorithms.")
8786 (license license:lgpl3+))))
8787
8788 (define-public ecl-vas-string-metrics
8789 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8790
8791 (define-public cl-vas-string-metrics
8792 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8793
8794 (define-public sbcl-vom
8795 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8796 (revision "1"))
8797 (package
8798 (name "sbcl-vom")
8799 (version (git-version "0.1.4" revision commit))
8800 (source
8801 (origin
8802 (method git-fetch)
8803 (uri (git-reference
8804 (url "https://github.com/orthecreedence/vom")
8805 (commit commit)))
8806 (file-name (git-file-name name version))
8807 (sha256
8808 (base32
8809 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8810 (build-system asdf-build-system/sbcl)
8811 (synopsis "Tiny logging utility for Common Lisp")
8812 (description
8813 "Vom is a logging library for Common Lisp. It's goal is to be useful
8814 and small. It does not provide a lot of features as other loggers do, but
8815 has a small codebase that's easy to understand and use.")
8816 (home-page "https://github.com/orthecreedence/vom")
8817 (license license:expat))))
8818
8819 (define-public cl-vom
8820 (sbcl-package->cl-source-package sbcl-vom))
8821
8822 (define-public ecl-vom
8823 (sbcl-package->ecl-package sbcl-vom))
8824
8825 (define-public sbcl-cl-libuv
8826 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8827 (revision "1"))
8828 (package
8829 (name "sbcl-cl-libuv")
8830 (version (git-version "0.1.6" revision commit))
8831 (source
8832 (origin
8833 (method git-fetch)
8834 (uri (git-reference
8835 (url "https://github.com/orthecreedence/cl-libuv")
8836 (commit commit)))
8837 (file-name (git-file-name name version))
8838 (sha256
8839 (base32
8840 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8841 (build-system asdf-build-system/sbcl)
8842 (inputs
8843 `(("alexandria" ,sbcl-alexandria)
8844 ("cffi" ,sbcl-cffi)
8845 ("libuv" ,libuv)))
8846 (arguments
8847 `(#:phases
8848 (modify-phases %standard-phases
8849 (add-after 'unpack 'fix-paths
8850 (lambda* (#:key inputs #:allow-other-keys)
8851 (substitute* "lib.lisp"
8852 (("/usr/lib/libuv.so")
8853 (string-append (assoc-ref inputs "libuv")
8854 "/lib/libuv.so")))
8855 #t))
8856 (add-after 'fix-paths 'fix-system-definition
8857 (lambda _
8858 (substitute* "cl-libuv.asd"
8859 (("#:cffi #:alexandria")
8860 "#:cffi #:cffi-grovel #:alexandria"))
8861 #t)))))
8862 (synopsis "Common Lisp bindings to libuv")
8863 (description
8864 "This library provides low-level libuv bindings for Common Lisp.")
8865 (home-page "https://github.com/orthecreedence/cl-libuv")
8866 (license license:expat))))
8867
8868 (define-public cl-libuv
8869 (sbcl-package->cl-source-package sbcl-cl-libuv))
8870
8871 (define-public ecl-cl-libuv
8872 (sbcl-package->ecl-package sbcl-cl-libuv))
8873
8874 (define-public sbcl-cl-async
8875 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8876 (revision "1"))
8877 (package
8878 (name "sbcl-cl-async")
8879 (version (git-version "0.6.1" revision commit))
8880 (source
8881 (origin
8882 (method git-fetch)
8883 (uri (git-reference
8884 (url "https://github.com/orthecreedence/cl-async")
8885 (commit commit)))
8886 (file-name (git-file-name name version))
8887 (sha256
8888 (base32
8889 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8890 (build-system asdf-build-system/sbcl)
8891 (inputs
8892 `(("babel" ,sbcl-babel)
8893 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8894 ("cffi" ,sbcl-cffi)
8895 ("cl-libuv" ,sbcl-cl-libuv)
8896 ("cl-ppcre" ,sbcl-cl-ppcre)
8897 ("fast-io" ,sbcl-fast-io)
8898 ("openssl" ,openssl)
8899 ("static-vectors" ,sbcl-static-vectors)
8900 ("trivial-features" ,sbcl-trivial-features)
8901 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8902 ("vom" ,sbcl-vom)))
8903 (arguments
8904 `(#:asd-systems '("cl-async"
8905 "cl-async-repl"
8906 "cl-async-ssl")
8907 #:phases
8908 (modify-phases %standard-phases
8909 (add-after 'unpack 'fix-paths
8910 (lambda* (#:key inputs #:allow-other-keys)
8911 (substitute* "src/ssl/package.lisp"
8912 (("libcrypto\\.so")
8913 (string-append (assoc-ref inputs "openssl")
8914 "/lib/libcrypto.so"))
8915 (("libssl\\.so")
8916 (string-append (assoc-ref inputs "openssl")
8917 "/lib/libssl.so")))
8918 #t)))))
8919 (synopsis "Asynchronous operations for Common Lisp")
8920 (description
8921 "Cl-async is a library for general purpose, non-blocking programming in
8922 Common Lisp. It uses the libuv library as backend.")
8923 (home-page "https://orthecreedence.github.io/cl-async/")
8924 (license license:expat))))
8925
8926 (define-public cl-async
8927 (sbcl-package->cl-source-package sbcl-cl-async))
8928
8929 (define-public ecl-cl-async
8930 (sbcl-package->ecl-package sbcl-cl-async))
8931
8932 (define-public sbcl-blackbird
8933 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8934 (revision "1"))
8935 (package
8936 (name "sbcl-blackbird")
8937 (version (git-version "0.5.2" revision commit))
8938 (source
8939 (origin
8940 (method git-fetch)
8941 (uri (git-reference
8942 (url "https://github.com/orthecreedence/blackbird")
8943 (commit commit)))
8944 (file-name (git-file-name name version))
8945 (sha256
8946 (base32
8947 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8948 (build-system asdf-build-system/sbcl)
8949 (inputs
8950 `(("vom" ,sbcl-vom)))
8951 (native-inputs
8952 `(("cl-async" ,sbcl-cl-async)
8953 ("fiveam" ,sbcl-fiveam)))
8954 (synopsis "Promise implementation for Common Lisp")
8955 (description
8956 "This is a standalone promise implementation for Common Lisp. It is
8957 the successor to the now-deprecated cl-async-future project.")
8958 (home-page "https://orthecreedence.github.io/blackbird/")
8959 (license license:expat))))
8960
8961 (define-public cl-blackbird
8962 (sbcl-package->cl-source-package sbcl-blackbird))
8963
8964 (define-public ecl-blackbird
8965 (sbcl-package->ecl-package sbcl-blackbird))
8966
8967 (define-public sbcl-cl-async-future
8968 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8969 (revision "1"))
8970 (package
8971 (name "sbcl-cl-async-future")
8972 (version (git-version "0.4.4.1" revision commit))
8973 (source
8974 (origin
8975 (method git-fetch)
8976 (uri (git-reference
8977 (url "https://github.com/orthecreedence/cl-async-future")
8978 (commit commit)))
8979 (file-name (git-file-name name version))
8980 (sha256
8981 (base32
8982 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8983 (build-system asdf-build-system/sbcl)
8984 (inputs
8985 `(("blackbird" ,sbcl-blackbird)))
8986 (native-inputs
8987 `(("cl-async" ,sbcl-cl-async)
8988 ("eos" ,sbcl-eos)))
8989 (synopsis "Futures implementation for Common Lisp")
8990 (description
8991 "This is futures implementation for Common Lisp. It plugs in nicely
8992 to cl-async.")
8993 (home-page "https://orthecreedence.github.io/cl-async/future")
8994 (license license:expat))))
8995
8996 (define-public cl-async-future
8997 (sbcl-package->cl-source-package sbcl-cl-async-future))
8998
8999 (define-public ecl-cl-async-future
9000 (sbcl-package->ecl-package sbcl-cl-async-future))
9001
9002 (define-public sbcl-green-threads
9003 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9004 (revision "1"))
9005 (package
9006 (name "sbcl-green-threads")
9007 (version (git-version "0.3" revision commit))
9008 (source
9009 (origin
9010 (method git-fetch)
9011 (uri (git-reference
9012 (url "https://github.com/thezerobit/green-threads")
9013 (commit commit)))
9014 (file-name (git-file-name name version))
9015 (sha256
9016 (base32
9017 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9018 (build-system asdf-build-system/sbcl)
9019 (inputs
9020 `(("cl-async-future" ,sbcl-cl-async-future)
9021 ("cl-cont" ,sbcl-cl-cont)))
9022 (native-inputs
9023 `(("prove" ,sbcl-prove)))
9024 (arguments
9025 `(;; TODO: Fix the tests. They fail with:
9026 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9027 #:tests? #f
9028 #:phases
9029 (modify-phases %standard-phases
9030 (add-after 'unpack 'fix-tests
9031 (lambda _
9032 (substitute* "green-threads-test.asd"
9033 (("cl-test-more")
9034 "prove"))
9035 #t)))))
9036 (synopsis "Cooperative multitasking library for Common Lisp")
9037 (description
9038 "This library allows for cooperative multitasking with help of cl-cont
9039 for continuations. It tries to mimic the API of bordeaux-threads as much as
9040 possible.")
9041 (home-page "https://github.com/thezerobit/green-threads")
9042 (license license:bsd-3))))
9043
9044 (define-public cl-green-threads
9045 (sbcl-package->cl-source-package sbcl-green-threads))
9046
9047 (define-public ecl-green-threads
9048 (sbcl-package->ecl-package sbcl-green-threads))
9049
9050 (define-public sbcl-cl-base32
9051 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9052 (revision "1"))
9053 (package
9054 (name "sbcl-cl-base32")
9055 (version (git-version "0.1" revision commit))
9056 (source
9057 (origin
9058 (method git-fetch)
9059 (uri (git-reference
9060 (url "https://github.com/hargettp/cl-base32")
9061 (commit commit)))
9062 (file-name (git-file-name name version))
9063 (sha256
9064 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9065 (build-system asdf-build-system/sbcl)
9066 (native-inputs
9067 `(("lisp-unit" ,sbcl-lisp-unit)))
9068 (synopsis "Common Lisp library for base32 encoding and decoding")
9069 (description
9070 "This package provides functions for base32 encoding and decoding as
9071 defined in RFC4648.")
9072 (home-page "https://github.com/hargettp/cl-base32")
9073 (license license:expat))))
9074
9075 (define-public cl-base32
9076 (sbcl-package->cl-source-package sbcl-cl-base32))
9077
9078 (define-public ecl-cl-base32
9079 (sbcl-package->ecl-package sbcl-cl-base32))
9080
9081 (define-public sbcl-cl-z85
9082 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9083 (revision "1"))
9084 (package
9085 (name "sbcl-cl-z85")
9086 (version (git-version "1.0" revision commit))
9087 (source
9088 (origin
9089 (method git-fetch)
9090 (uri (git-reference
9091 (url "https://github.com/glv2/cl-z85")
9092 (commit commit)))
9093 (file-name (git-file-name name version))
9094 (sha256
9095 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9096 (build-system asdf-build-system/sbcl)
9097 (native-inputs
9098 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9099 ("fiveam" ,sbcl-fiveam)))
9100 (synopsis "Common Lisp library for Z85 encoding and decoding")
9101 (description
9102 "This package provides functions to encode or decode byte vectors or
9103 byte streams using the Z85 format, which is a base-85 encoding used by
9104 ZeroMQ.")
9105 (home-page "https://github.com/glv2/cl-z85")
9106 (license license:gpl3+))))
9107
9108 (define-public cl-z85
9109 (sbcl-package->cl-source-package sbcl-cl-z85))
9110
9111 (define-public ecl-cl-z85
9112 (sbcl-package->ecl-package sbcl-cl-z85))
9113
9114 (define-public sbcl-ltk
9115 (package
9116 (name "sbcl-ltk")
9117 (version "0.992")
9118 (source
9119 (origin
9120 (method git-fetch)
9121 (uri (git-reference
9122 (url "https://github.com/herth/ltk")
9123 (commit version)))
9124 (file-name (git-file-name name version))
9125 (sha256
9126 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9127 (build-system asdf-build-system/sbcl)
9128 (inputs
9129 `(("imagemagick" ,imagemagick)
9130 ("tk" ,tk)))
9131 (arguments
9132 `(#:asd-systems '("ltk"
9133 "ltk-mw"
9134 "ltk-remote")
9135 #:tests? #f
9136 #:phases
9137 (modify-phases %standard-phases
9138 (add-after 'unpack 'fix-paths
9139 (lambda* (#:key inputs #:allow-other-keys)
9140 (substitute* "ltk/ltk.lisp"
9141 (("#-freebsd \"wish\"")
9142 (string-append "#-freebsd \""
9143 (assoc-ref inputs "tk")
9144 "/bin/wish\""))
9145 (("do-execute \"convert\"")
9146 (string-append "do-execute \""
9147 (assoc-ref inputs "imagemagick")
9148 "/bin/convert\"")))
9149 #t))
9150 (add-after 'unpack 'fix-build
9151 (lambda _
9152 (substitute* "ltk/ltk-remote.lisp"
9153 (("\\(:export")
9154 "(:shadow #:raise) (:export"))
9155 #t)))))
9156 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9157 (description
9158 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9159 in pure Common Lisp and does not require any Tk knowledge for its usage.")
9160 (home-page "http://www.peter-herth.de/ltk/")
9161 (license license:llgpl)))
9162
9163 (define-public cl-ltk
9164 (sbcl-package->cl-source-package sbcl-ltk))
9165
9166 (define-public ecl-ltk
9167 (sbcl-package->ecl-package sbcl-ltk))
9168
9169 (define-public sbcl-cl-lex
9170 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9171 (revision "1"))
9172 (package
9173 (name "sbcl-cl-lex")
9174 (version (git-version "1.1.3" revision commit))
9175 (source
9176 (origin
9177 (method git-fetch)
9178 (uri (git-reference
9179 (url "https://github.com/djr7C4/cl-lex")
9180 (commit commit)))
9181 (file-name (git-file-name name version))
9182 (sha256
9183 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9184 (build-system asdf-build-system/sbcl)
9185 (inputs
9186 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9187 (synopsis "Common Lisp macros for generating lexical analyzers")
9188 (description
9189 "This is a Common Lisp library providing a set of macros for generating
9190 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9191 be used with @code{cl-yacc}.")
9192 (home-page "https://github.com/djr7C4/cl-lex")
9193 (license license:gpl3))))
9194
9195 (define-public cl-lex
9196 (sbcl-package->cl-source-package sbcl-cl-lex))
9197
9198 (define-public ecl-cl-lex
9199 (sbcl-package->ecl-package sbcl-cl-lex))
9200
9201 (define-public sbcl-clunit2
9202 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9203 (revision "1"))
9204 (package
9205 (name "sbcl-clunit2")
9206 (version (git-version "0.2.4" revision commit))
9207 (source
9208 (origin
9209 (method git-fetch)
9210 (uri (git-reference
9211 (url "https://notabug.org/cage/clunit2.git")
9212 (commit commit)))
9213 (file-name (git-file-name name version))
9214 (sha256
9215 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9216 (build-system asdf-build-system/sbcl)
9217 (synopsis "Unit testing framework for Common Lisp")
9218 (description
9219 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9220 easy to use so that you can quickly start testing.")
9221 (home-page "https://notabug.org/cage/clunit2")
9222 (license license:expat))))
9223
9224 (define-public cl-clunit2
9225 (sbcl-package->cl-source-package sbcl-clunit2))
9226
9227 (define-public ecl-clunit2
9228 (sbcl-package->ecl-package sbcl-clunit2))
9229
9230 (define-public sbcl-cl-colors2
9231 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9232 (revision "1"))
9233 (package
9234 (name "sbcl-cl-colors2")
9235 (version (git-version "0.2.1" revision commit))
9236 (source
9237 (origin
9238 (method git-fetch)
9239 (uri (git-reference
9240 (url "https://notabug.org/cage/cl-colors2.git")
9241 (commit commit)))
9242 (file-name (git-file-name name version))
9243 (sha256
9244 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9245 (build-system asdf-build-system/sbcl)
9246 (native-inputs
9247 `(("clunit2" ,sbcl-clunit2)))
9248 (inputs
9249 `(("alexandria" ,sbcl-alexandria)
9250 ("cl-ppcre" ,sbcl-cl-ppcre)))
9251 (synopsis "Color library for Common Lisp")
9252 (description
9253 "This is a very simple color library for Common Lisp, providing:
9254
9255 @itemize
9256 @item Types for representing colors in HSV and RGB spaces.
9257 @item Simple conversion functions between the above types (and also
9258 hexadecimal representation for RGB).
9259 @item Some predefined colors (currently X11 color names -- of course
9260 the library does not depend on X11).
9261 @end itemize\n")
9262 (home-page "https://notabug.org/cage/cl-colors2")
9263 (license license:boost1.0))))
9264
9265 (define-public cl-colors2
9266 (sbcl-package->cl-source-package sbcl-cl-colors2))
9267
9268 (define-public ecl-cl-colors2
9269 (sbcl-package->ecl-package sbcl-cl-colors2))
9270
9271 (define-public sbcl-cl-jpeg
9272 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9273 (revision "1"))
9274 (package
9275 (name "sbcl-cl-jpeg")
9276 (version (git-version "2.8" revision commit))
9277 (source
9278 (origin
9279 (method git-fetch)
9280 (uri (git-reference
9281 (url "https://github.com/sharplispers/cl-jpeg")
9282 (commit commit)))
9283 (file-name (git-file-name name version))
9284 (sha256
9285 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
9286 (build-system asdf-build-system/sbcl)
9287 (synopsis "JPEG image library for Common Lisp")
9288 (description
9289 "This is a baseline JPEG codec written in Common Lisp. It can be used
9290 for reading and writing JPEG image files.")
9291 (home-page "https://github.com/sharplispers/cl-jpeg")
9292 (license license:bsd-3))))
9293
9294 (define-public cl-jpeg
9295 (sbcl-package->cl-source-package sbcl-cl-jpeg))
9296
9297 (define-public ecl-cl-jpeg
9298 (sbcl-package->ecl-package sbcl-cl-jpeg))
9299
9300 (define-public sbcl-png
9301 (let ((commit "11b965fe378fd0561abe3616b18ff03af5179648")
9302 (revision "1"))
9303 (package
9304 (name "sbcl-png")
9305 (version (git-version "0.6" revision commit))
9306 (source
9307 (origin
9308 (method git-fetch)
9309 (uri (git-reference
9310 (url "https://github.com/ljosa/cl-png")
9311 (commit commit)))
9312 (file-name (git-file-name "cl-png" version))
9313 (sha256
9314 (base32 "173hqwpd0rwqf95mfx1h9l9c3i8bb0gvnpspzmmz3g5x3440czy4"))))
9315 (build-system asdf-build-system/sbcl)
9316 (arguments
9317 `(#:phases
9318 (modify-phases %standard-phases
9319 (add-after 'unpack 'fix-lib-paths
9320 (lambda* (#:key inputs #:allow-other-keys)
9321 (substitute* "libpng.lisp"
9322 (("\"libpng\"")
9323 (string-append "\""
9324 (assoc-ref inputs "libpng")
9325 "/lib/libpng\""))))))))
9326 (inputs
9327 `(("cffi" ,sbcl-cffi)
9328 ("libpng" ,libpng)))
9329 (home-page "https://github.com/ljosa/cl-png")
9330 (synopsis "Read and write PNG file format")
9331 (description
9332 "This package provides a @code{PNG} Common Lisp system to operate with
9333 Portable Network Graphics file format.")
9334 (license license:lgpl2.1))))
9335
9336 (define-public ecl-png
9337 (sbcl-package->ecl-package sbcl-png))
9338
9339 (define-public cl-png
9340 (sbcl-package->cl-source-package sbcl-png))
9341
9342 (define-public sbcl-cl-svg
9343 (let ((commit "1e988ebd2d6e2ee7be4744208828ef1b59e5dcdc")
9344 (revision "1"))
9345 (package
9346 (name "sbcl-cl-svg")
9347 (version (git-version "0.0.3" revision commit))
9348 (source
9349 (origin
9350 (method git-fetch)
9351 (uri (git-reference
9352 (url "https://github.com/wmannis/cl-svg")
9353 (commit commit)))
9354 (file-name (git-file-name "cl-svg" version))
9355 (sha256
9356 (base32 "11rmzimy6j7ln7q5y1h2kw1225rsfb6fpn89qjcq7h5lc8fay0wz"))))
9357 (build-system asdf-build-system/sbcl)
9358 (home-page "https://github.com/wmannis/cl-svg")
9359 (synopsis "Write SVG file format")
9360 (description
9361 "This package provides the @code{CL-SVG} Common Lisp system to produce
9362 Scalable Vector Graphics files.")
9363 (license license:expat))))
9364
9365 (define-public ecl-cl-svg
9366 (sbcl-package->ecl-package sbcl-cl-svg))
9367
9368 (define-public cl-svg
9369 (sbcl-package->cl-source-package sbcl-cl-svg))
9370
9371 (define-public sbcl-nodgui
9372 (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
9373 (revision "1"))
9374 (package
9375 (name "sbcl-nodgui")
9376 (version (git-version "0.1.1" revision commit))
9377 (source
9378 (origin
9379 (method git-fetch)
9380 (uri (git-reference
9381 (url "https://notabug.org/cage/nodgui.git")
9382 (commit commit)))
9383 (file-name (git-file-name "nodgui" version))
9384 (sha256
9385 (base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib"))))
9386 (build-system asdf-build-system/sbcl)
9387 (inputs
9388 `(("alexandria" ,sbcl-alexandria)
9389 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9390 ("cl-colors2" ,sbcl-cl-colors2)
9391 ("cl-jpeg" ,sbcl-cl-jpeg)
9392 ("cl-lex" ,sbcl-cl-lex)
9393 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9394 ("cl-unicode" ,sbcl-cl-unicode)
9395 ("cl-yacc" ,sbcl-cl-yacc)
9396 ("clunit2" ,sbcl-clunit2)
9397 ("named-readtables" ,sbcl-named-readtables)
9398 ("parse-number" ,sbcl-parse-number)
9399 ("tk" ,tk)))
9400 (arguments
9401 `(#:phases (modify-phases %standard-phases
9402 (add-after 'unpack 'fix-paths
9403 (lambda* (#:key inputs #:allow-other-keys)
9404 (substitute* "src/wish-communication.lisp"
9405 (("#-freebsd \"wish\"")
9406 (string-append "#-freebsd \""
9407 (assoc-ref inputs "tk")
9408 "/bin/wish\"")))
9409 #t)))))
9410 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9411 (description
9412 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9413 toolkit. It also provides a few additional widgets more than the standard Tk
9414 ones.")
9415 (home-page "https://www.autistici.org/interzona/nodgui.html")
9416 (license license:llgpl))))
9417
9418 (define-public cl-nodgui
9419 (sbcl-package->cl-source-package sbcl-nodgui))
9420
9421 (define-public ecl-nodgui
9422 (sbcl-package->ecl-package sbcl-nodgui))
9423
9424 (define-public sbcl-salza2
9425 (package
9426 (name "sbcl-salza2")
9427 (version "2.0.9")
9428 (source
9429 (origin
9430 (method git-fetch)
9431 (uri (git-reference
9432 (url "https://github.com/xach/salza2")
9433 (commit (string-append "release-" version))))
9434 (file-name (git-file-name name version))
9435 (sha256
9436 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9437 (build-system asdf-build-system/sbcl)
9438 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9439 (description
9440 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9441 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9442 respectively.")
9443 (home-page "https://www.xach.com/lisp/salza2/")
9444 (license license:bsd-2)))
9445
9446 (define-public cl-salza2
9447 (sbcl-package->cl-source-package sbcl-salza2))
9448
9449 (define-public ecl-salza2
9450 (sbcl-package->ecl-package sbcl-salza2))
9451
9452 (define-public sbcl-origin
9453 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9454 (revision "1"))
9455 (package
9456 (name "sbcl-origin")
9457 (version (git-version "2.0.0" revision commit))
9458 (source
9459 (origin
9460 (method git-fetch)
9461 (uri (git-reference
9462 (url "https://git.mfiano.net/mfiano/origin")
9463 (commit commit)))
9464 (file-name (git-file-name "origin" version))
9465 (sha256
9466 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9467 (build-system asdf-build-system/sbcl)
9468 (native-inputs
9469 `(("parachute" ,sbcl-parachute)))
9470 (inputs
9471 `(("golden-utils" ,sbcl-golden-utils)
9472 ("specialization-store" ,sbcl-specialization-store)))
9473 (home-page "https://git.mfiano.net/mfiano/origin")
9474 (synopsis "Common Lisp graphics math library")
9475 (description
9476 "This is a native Common Lisp graphics math library with an emphasis on
9477 performance and correctness.")
9478 (license license:expat))))
9479
9480 (define-public ecl-origin
9481 (sbcl-package->ecl-package sbcl-origin))
9482
9483 (define-public cl-origin
9484 (sbcl-package->cl-source-package sbcl-origin))
9485
9486 (define-public sbcl-png-read
9487 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9488 (revision "1"))
9489 (package
9490 (name "sbcl-png-read")
9491 (version (git-version "0.3.1" revision commit))
9492 (source
9493 (origin
9494 (method git-fetch)
9495 (uri (git-reference
9496 (url "https://github.com/Ramarren/png-read")
9497 (commit commit)))
9498 (file-name (git-file-name name version))
9499 (sha256
9500 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9501 (build-system asdf-build-system/sbcl)
9502 (inputs
9503 `(("babel" ,sbcl-babel)
9504 ("chipz" ,sbcl-chipz)
9505 ("iterate" ,sbcl-iterate)))
9506 (synopsis "PNG decoder for Common Lisp")
9507 (description "This is a Common Lisp library for reading PNG images.")
9508 (home-page "https://github.com/Ramarren/png-read")
9509 (license license:bsd-3))))
9510
9511 (define-public cl-png-read
9512 (sbcl-package->cl-source-package sbcl-png-read))
9513
9514 (define-public ecl-png-read
9515 (sbcl-package->ecl-package sbcl-png-read))
9516
9517 (define-public sbcl-3b-bmfont
9518 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9519 (revision "1"))
9520 (package
9521 (name "sbcl-3b-bmfont")
9522 (version (git-version "0.0.1" revision commit))
9523 (source
9524 (origin
9525 (method git-fetch)
9526 (uri (git-reference
9527 (url "https://github.com/3b/3b-bmfont/")
9528 (commit commit)))
9529 (file-name (git-file-name "3b-bmfont" version))
9530 (sha256
9531 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9532 (build-system asdf-build-system/sbcl)
9533 (arguments
9534 `(#:asd-systems
9535 '("3b-bmfont"
9536 "3b-bmfont/text"
9537 "3b-bmfont/common"
9538 "3b-bmfont/xml"
9539 "3b-bmfont/json")))
9540 (inputs
9541 `(("alexandria" ,sbcl-alexandria)
9542 ("cxml" ,sbcl-cxml)
9543 ("flexi-streams" ,sbcl-flexi-streams)
9544 ("jsown" ,sbcl-jsown)
9545 ("split-sequence" ,sbcl-split-sequence)))
9546 (home-page "https://github.com/3b/3b-bmfont/")
9547 (synopsis "Read/write bmfont metadata files")
9548 (description
9549 "This is a Common Lisp library which provides functionality to
9550 read/write Bit Map Font (BMF) into text, JSON and XML.")
9551 (license license:expat))))
9552
9553 (define-public ecl-3b-bmfont
9554 (sbcl-package->ecl-package sbcl-3b-bmfont))
9555
9556 (define-public cl-3b-bmfont
9557 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9558
9559 (define-public sbcl-zpng
9560 (package
9561 (name "sbcl-zpng")
9562 (version "1.2.2")
9563 (source
9564 (origin
9565 (method git-fetch)
9566 (uri (git-reference
9567 (url "https://github.com/xach/zpng")
9568 (commit (string-append "release-" version))))
9569 (file-name (git-file-name name version))
9570 (sha256
9571 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9572 (build-system asdf-build-system/sbcl)
9573 (inputs
9574 `(("salza2" ,sbcl-salza2)))
9575 (synopsis "PNG encoder for Common Lisp")
9576 (description "This is a Common Lisp library for creating PNG images.")
9577 (home-page "https://www.xach.com/lisp/zpng/")
9578 (license license:bsd-2)))
9579
9580 (define-public cl-zpng
9581 (sbcl-package->cl-source-package sbcl-zpng))
9582
9583 (define-public ecl-zpng
9584 (sbcl-package->ecl-package sbcl-zpng))
9585
9586 (define-public sbcl-cl-qrencode
9587 (package
9588 (name "sbcl-cl-qrencode")
9589 (version "0.1.2")
9590 (source
9591 (origin
9592 (method git-fetch)
9593 (uri (git-reference
9594 (url "https://github.com/jnjcc/cl-qrencode")
9595 (commit (string-append "v" version))))
9596 (file-name (git-file-name name version))
9597 (sha256
9598 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9599 (build-system asdf-build-system/sbcl)
9600 (native-inputs
9601 `(("lisp-unit" ,sbcl-lisp-unit)))
9602 (inputs
9603 `(("zpng" ,sbcl-zpng)))
9604 (synopsis "QR code encoder for Common Lisp")
9605 (description
9606 "This Common Lisp library provides function to make QR codes and to save
9607 them as PNG files.")
9608 (home-page "https://github.com/jnjcc/cl-qrencode")
9609 (license license:gpl2+)))
9610
9611 (define-public cl-qrencode
9612 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9613
9614 (define-public ecl-cl-qrencode
9615 (sbcl-package->ecl-package sbcl-cl-qrencode))
9616
9617 (define-public sbcl-hdf5-cffi
9618 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9619 (revision "1"))
9620 (package
9621 (name "sbcl-hdf5-cffi")
9622 (version (git-version "1.8.18" revision commit))
9623 (source
9624 (origin
9625 (method git-fetch)
9626 (uri (git-reference
9627 (url "https://github.com/hdfgroup/hdf5-cffi")
9628 (commit commit)))
9629 (file-name (git-file-name name version))
9630 (sha256
9631 (base32
9632 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9633 (build-system asdf-build-system/sbcl)
9634 (synopsis "Common Lisp bindings for the HDF5 library")
9635 (description
9636 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9637 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9638 (license (license:non-copyleft
9639 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9640 commit
9641 "/LICENSE")))
9642 (inputs
9643 `(("cffi" ,sbcl-cffi)
9644 ("hdf5" ,hdf5-1.10)))
9645 (native-inputs
9646 `(("fiveam" ,sbcl-fiveam)))
9647 (arguments
9648 `(#:test-asd-file "hdf5-cffi.test.asd"
9649 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9650 ;; I don't know if there is a way to tell asdf-build-system to load
9651 ;; an additional system first, so tests are disabled.
9652 #:tests? #f
9653 #:phases
9654 (modify-phases %standard-phases
9655 (add-after 'unpack 'fix-paths
9656 (lambda* (#:key inputs #:allow-other-keys)
9657 (substitute* "src/library.lisp"
9658 (("libhdf5.so")
9659 (string-append
9660 (assoc-ref inputs "hdf5")
9661 "/lib/libhdf5.so")))))
9662 (add-after 'unpack 'fix-dependencies
9663 (lambda* (#:key inputs #:allow-other-keys)
9664 (substitute* "hdf5-cffi.asd"
9665 ((":depends-on \\(:cffi\\)")
9666 ":depends-on (:cffi :cffi-grovel)"))
9667 (substitute* "hdf5-cffi.test.asd"
9668 ((":depends-on \\(:cffi :hdf5-cffi")
9669 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9670
9671 (define-public cl-hdf5-cffi
9672 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9673
9674 (define-public ecl-hdf5-cffi
9675 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9676
9677 (define-public sbcl-cl-randist
9678 (package
9679 (name "sbcl-cl-randist")
9680 (version "0.4.2")
9681 (source
9682 (origin
9683 (method git-fetch)
9684 (uri (git-reference
9685 (url "https://github.com/lvaruzza/cl-randist")
9686 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9687 (file-name (git-file-name name version))
9688 (sha256
9689 (base32
9690 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9691 (build-system asdf-build-system/sbcl)
9692 (synopsis "Random distributions for Common Lisp")
9693 (description
9694 "Manual translation from C to Common Lisp of some random number
9695 generation functions from the GSL library.")
9696 (home-page "https://github.com/lvaruzza/cl-randist")
9697 (license license:bsd-2)
9698 (arguments
9699 `(#:tests? #f))))
9700
9701 (define-public cl-randist
9702 (sbcl-package->cl-source-package sbcl-cl-randist))
9703
9704 (define-public ecl-cl-randist
9705 (sbcl-package->ecl-package sbcl-cl-randist))
9706
9707 (define-public sbcl-float-features
9708 (package
9709 (name "sbcl-float-features")
9710 (version "1.0.0")
9711 (source
9712 (origin
9713 (method git-fetch)
9714 (uri (git-reference
9715 (url "https://github.com/Shinmera/float-features")
9716 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9717 (file-name (git-file-name name version))
9718 (sha256
9719 (base32
9720 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9721 (build-system asdf-build-system/sbcl)
9722 (synopsis "Common Lisp IEEE float portability library")
9723 (description
9724 "Portability library for IEEE float features that are not
9725 covered by the Common Lisp standard.")
9726 (home-page "https://github.com/Shinmera/float-features")
9727 (license license:zlib)
9728 (inputs
9729 `(("documentation-utils" ,sbcl-documentation-utils)))
9730 (arguments
9731 `(#:tests? #f))))
9732
9733 (define-public cl-float-features
9734 (sbcl-package->cl-source-package sbcl-float-features))
9735
9736 (define-public ecl-float-features
9737 (sbcl-package->ecl-package sbcl-float-features))
9738
9739 (define-public sbcl-function-cache
9740 (package
9741 (name "sbcl-function-cache")
9742 (version "1.0.3")
9743 (source
9744 (origin
9745 (method git-fetch)
9746 (uri (git-reference
9747 (url "https://github.com/AccelerationNet/function-cache")
9748 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9749 (file-name (git-file-name name version))
9750 (sha256
9751 (base32
9752 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9753 (build-system asdf-build-system/sbcl)
9754 (synopsis "Function caching / memoization library for Common Lisp")
9755 (description
9756 "A common lisp library that provides extensible function result
9757 caching based on arguments (an expanded form of memoization).")
9758 (home-page "https://github.com/AccelerationNet/function-cache")
9759 (license
9760 (license:non-copyleft
9761 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9762 (inputs
9763 `(("alexandria" ,sbcl-alexandria)
9764 ("cl-interpol" ,sbcl-cl-interpol)
9765 ("iterate" ,sbcl-iterate)
9766 ("symbol-munger" ,sbcl-symbol-munger)
9767 ("closer-mop" ,sbcl-closer-mop)))
9768 (arguments
9769 `(#:tests? #f))))
9770
9771 (define-public cl-function-cache
9772 (sbcl-package->cl-source-package sbcl-function-cache))
9773
9774 (define-public ecl-function-cache
9775 (sbcl-package->ecl-package sbcl-function-cache))
9776
9777 (define-public sbcl-type-r
9778 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9779 (revision "1"))
9780 (package
9781 (name "sbcl-type-r")
9782 (version (git-version "0.0.0" revision commit))
9783 (source
9784 (origin
9785 (method git-fetch)
9786 (uri (git-reference
9787 (url "https://github.com/guicho271828/type-r")
9788 (commit commit)))
9789 (file-name (git-file-name name version))
9790 (sha256
9791 (base32
9792 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9793 (build-system asdf-build-system/sbcl)
9794 (synopsis "Parser interface for Common Lisp built-in compound types")
9795 (description
9796 "Collections of accessor functions and patterns to access
9797 the elements in compound type specifier, e.g. @code{dimensions} in
9798 @code{(array element-type dimensions)}")
9799 (home-page "https://github.com/guicho271828/type-r")
9800 (license license:lgpl3+)
9801 (inputs
9802 `(("trivia" ,sbcl-trivia)
9803 ("alexandria" ,sbcl-alexandria)))
9804 (native-inputs
9805 `(("fiveam" ,sbcl-fiveam)))
9806 (arguments
9807 `(#:test-asd-file "type-r.test.asd")))))
9808
9809 (define-public cl-type-r
9810 (sbcl-package->cl-source-package sbcl-type-r))
9811
9812 (define-public ecl-type-r
9813 (sbcl-package->ecl-package sbcl-type-r))
9814
9815 (define-public sbcl-trivialib-type-unify
9816 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9817 (revision "1"))
9818 (package
9819 (name "sbcl-trivialib-type-unify")
9820 (version (git-version "0.1" revision commit))
9821 (source
9822 (origin
9823 (method git-fetch)
9824 (uri (git-reference
9825 (url "https://github.com/guicho271828/trivialib.type-unify")
9826 (commit commit)))
9827 (file-name (git-file-name name version))
9828 (sha256
9829 (base32
9830 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9831 (build-system asdf-build-system/sbcl)
9832 (synopsis "Common Lisp type unification")
9833 (description
9834 "Unifies a parametrized type specifier against an actual type specifier.
9835 Importantly, it handles complicated array-subtypes and number-related types
9836 correctly.")
9837 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9838 (license license:lgpl3+)
9839 (inputs
9840 `(("alexandria" ,sbcl-alexandria)
9841 ("trivia" ,sbcl-trivia)
9842 ("introspect-environment" ,sbcl-introspect-environment)
9843 ("type-r" ,sbcl-type-r)))
9844 (native-inputs
9845 `(("fiveam" ,sbcl-fiveam)))
9846 (arguments
9847 `(#:asd-systems '("trivialib.type-unify")
9848 #:test-asd-file "trivialib.type-unify.test.asd")))))
9849
9850 (define-public cl-trivialib-type-unify
9851 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9852
9853 (define-public ecl-trivialib-type-unify
9854 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9855
9856 (define-public sbcl-specialized-function
9857 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9858 (revision "2"))
9859 (package
9860 (name "sbcl-specialized-function")
9861 (version (git-version "0.0.0" revision commit))
9862 (source
9863 (origin
9864 (method git-fetch)
9865 (uri (git-reference
9866 (url "https://github.com/numcl/specialized-function")
9867 (commit commit)))
9868 (file-name (git-file-name name version))
9869 (sha256
9870 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9871 (build-system asdf-build-system/sbcl)
9872 (synopsis "Julia-like dispatch for Common Lisp")
9873 (description
9874 "This library is part of NUMCL. It provides a macro
9875 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9876 lazily compiling a type-specific version of the function from the same
9877 code. The main target of this macro is speed.")
9878 (home-page "https://github.com/numcl/specialized-function")
9879 (license license:lgpl3+)
9880 (inputs
9881 `(("trivia" ,sbcl-trivia)
9882 ("alexandria" ,sbcl-alexandria)
9883 ("iterate" ,sbcl-iterate)
9884 ("lisp-namespace" ,sbcl-lisp-namespace)
9885 ("type-r" ,sbcl-type-r)
9886 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9887 (native-inputs
9888 `(("fiveam" ,sbcl-fiveam)))
9889 (arguments
9890 `(#:asd-files '("specialized-function.asd")
9891 #:test-asd-file "specialized-function.test.asd"
9892 ;; Tests fail because they try to use an internal symbol of SBCL
9893 ;; that does not exists in recent versions:
9894 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9895 #:tests? #f)))))
9896
9897 (define-public cl-specialized-function
9898 (sbcl-package->cl-source-package sbcl-specialized-function))
9899
9900 (define-public ecl-specialized-function
9901 (sbcl-package->ecl-package sbcl-specialized-function))
9902
9903 (define-public sbcl-constantfold
9904 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9905 (revision "1"))
9906 (package
9907 (name "sbcl-constantfold")
9908 (version (git-version "0.1" revision commit))
9909 (source
9910 (origin
9911 (method git-fetch)
9912 (uri (git-reference
9913 (url "https://github.com/numcl/constantfold")
9914 (commit commit)))
9915 (file-name (git-file-name name version))
9916 (sha256
9917 (base32
9918 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9919 (build-system asdf-build-system/sbcl)
9920 (synopsis "Support library for numcl")
9921 (description
9922 "Support library for numcl. Registers a function as an
9923 additional form that is considered as a candidate for a constant.")
9924 (home-page "https://github.com/numcl/constantfold")
9925 (license license:lgpl3+)
9926 (inputs
9927 `(("trivia" ,sbcl-trivia)
9928 ("alexandria" ,sbcl-alexandria)
9929 ("iterate" ,sbcl-iterate)
9930 ("lisp-namespace" ,sbcl-lisp-namespace)))
9931 (native-inputs
9932 `(("fiveam" ,sbcl-fiveam)))
9933 (arguments
9934 `(#:asd-files '("constantfold.asd")
9935 #:test-asd-file "constantfold.test.asd")))))
9936
9937 (define-public cl-constantfold
9938 (sbcl-package->cl-source-package sbcl-constantfold))
9939
9940 (define-public ecl-constantfold
9941 (sbcl-package->ecl-package sbcl-constantfold))
9942
9943 (define-public sbcl-gtype
9944 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9945 (revision "2"))
9946 (package
9947 (name "sbcl-gtype")
9948 (version (git-version "0.1" revision commit))
9949 (source
9950 (origin
9951 (method git-fetch)
9952 (uri (git-reference
9953 (url "https://github.com/numcl/gtype")
9954 (commit commit)))
9955 (file-name (git-file-name name version))
9956 (sha256
9957 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9958 (build-system asdf-build-system/sbcl)
9959 (synopsis "C++/Julia-like parametric types in Common Lisp")
9960 (description
9961 "Support library for numcl that provides Julia-like runtime parametric
9962 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9963 (home-page "https://github.com/numcl/gtype")
9964 (license license:lgpl3+)
9965 (inputs
9966 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9967 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9968 ("trivia" ,sbcl-trivia)
9969 ("alexandria" ,sbcl-alexandria)
9970 ("iterate" ,sbcl-iterate)
9971 ("type-r" ,sbcl-type-r)))
9972 (native-inputs
9973 `(("fiveam" ,sbcl-fiveam)))
9974 (arguments
9975 `(#:asd-files '("gtype.asd")
9976 #:test-asd-file "gtype.test.asd")))))
9977
9978 (define-public cl-gtype
9979 (sbcl-package->cl-source-package sbcl-gtype))
9980
9981 (define-public ecl-gtype
9982 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9983 (package
9984 (inherit pkg)
9985 (arguments
9986 (substitute-keyword-arguments (package-arguments pkg)
9987 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9988 ((#:tests? _ #f) #f))))))
9989
9990 (define-public sbcl-numcl
9991 (let ((commit "3dcdb0e24a33943d6c3a188ecbb0c78003bf975c")
9992 (revision "2"))
9993 (package
9994 (name "sbcl-numcl")
9995 (version (git-version "0.2.0" revision commit))
9996 (source
9997 (origin
9998 (method git-fetch)
9999 (uri (git-reference
10000 (url "https://github.com/numcl/numcl")
10001 (commit commit)))
10002 (file-name (git-file-name "numcl" version))
10003 (sha256
10004 (base32 "17m1rx1gfjbbmgjsf33b8s4bygfsj1hb6kvmypkql21qzjvx60nl"))))
10005 (build-system asdf-build-system/sbcl)
10006 (arguments
10007 `(#:test-asd-file "numcl.test.asd"
10008 #:asd-files '("numcl.asd")
10009 ;; Tests often fail because they require a dynamic-space-size much
10010 ;; bigger than the default one. Disable them for now.
10011 #:tests? #f))
10012 (native-inputs
10013 `(("fiveam" ,sbcl-fiveam)))
10014 (inputs
10015 `(("alexandria" ,sbcl-alexandria)
10016 ("cl-randist" ,sbcl-cl-randist)
10017 ("constantfold" ,sbcl-constantfold)
10018 ("float-features" ,sbcl-float-features)
10019 ("function-cache" ,sbcl-function-cache)
10020 ("gtype" ,sbcl-gtype)
10021 ("iterate" ,sbcl-iterate)
10022 ("lisp-namespace" ,sbcl-lisp-namespace)
10023 ("specialized-function" ,sbcl-specialized-function)
10024 ("trivia" ,sbcl-trivia)
10025 ("type-r" ,sbcl-type-r)))
10026 (home-page "https://numcl.github.io/numcl/")
10027 (synopsis "Numpy clone in Common Lisp")
10028 (description
10029 "This package is a Python Numpy clone implemented in pure Common Lisp.")
10030 (license license:lgpl3+))))
10031
10032 (define-public cl-numcl
10033 (sbcl-package->cl-source-package sbcl-numcl))
10034
10035 (define-public ecl-numcl
10036 (sbcl-package->ecl-package sbcl-numcl))
10037
10038 (define-public sbcl-pzmq
10039 (let ((commit "6f7b2ca02c23ea53510a9b0e0f181d5364ce9d32")
10040 (revision "2"))
10041 (package
10042 (name "sbcl-pzmq")
10043 (version (git-version "0.0.0" revision commit))
10044 (source
10045 (origin
10046 (method git-fetch)
10047 (uri (git-reference
10048 (url "https://github.com/orivej/pzmq")
10049 (commit commit)))
10050 (file-name (git-file-name name version))
10051 (sha256
10052 (base32 "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"))))
10053 (build-system asdf-build-system/sbcl)
10054 (native-inputs
10055 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10056 ("fiveam" ,sbcl-fiveam)
10057 ("let-plus" ,sbcl-let-plus)))
10058 (inputs
10059 `(("cffi" ,sbcl-cffi)
10060 ("zeromq" ,zeromq)))
10061 (arguments
10062 `(#:phases (modify-phases %standard-phases
10063 (add-after 'unpack 'fix-paths
10064 (lambda* (#:key inputs #:allow-other-keys)
10065 (substitute* "c-api.lisp"
10066 (("\"libzmq")
10067 (string-append "\""
10068 (assoc-ref inputs "zeromq")
10069 "/lib/libzmq")))
10070 #t)))))
10071 (synopsis "Common Lisp bindings for the ZeroMQ library")
10072 (description "This Common Lisp library provides bindings for the ZeroMQ
10073 lightweight messaging kernel.")
10074 (home-page "https://github.com/orivej/pzmq")
10075 (license license:unlicense))))
10076
10077 (define-public cl-pzmq
10078 (sbcl-package->cl-source-package sbcl-pzmq))
10079
10080 (define-public ecl-pzmq
10081 (sbcl-package->ecl-package sbcl-pzmq))
10082
10083 (define-public sbcl-clss
10084 (let ((revision "1")
10085 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10086 (package
10087 (name "sbcl-clss")
10088 (version (git-version "0.3.1" revision commit))
10089 (source
10090 (origin
10091 (method git-fetch)
10092 (uri
10093 (git-reference
10094 (url "https://github.com/Shinmera/clss")
10095 (commit commit)))
10096 (sha256
10097 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10098 (file-name (git-file-name name version))))
10099 (inputs
10100 `(("array-utils" ,sbcl-array-utils)
10101 ("plump" ,sbcl-plump)))
10102 (build-system asdf-build-system/sbcl)
10103 (synopsis "DOM tree searching engine based on CSS selectors")
10104 (description "CLSS is a DOM traversal engine based on CSS
10105 selectors. It makes use of the Plump-DOM and is used by lQuery.")
10106 (home-page "https://github.com/Shinmera/clss")
10107 (license license:zlib))))
10108
10109 (define-public cl-clss
10110 (sbcl-package->cl-source-package sbcl-clss))
10111
10112 (define-public ecl-clss
10113 (sbcl-package->ecl-package sbcl-clss))
10114
10115 (define-public sbcl-lquery
10116 (let ((revision "1")
10117 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10118 (package
10119 (name "sbcl-lquery")
10120 (version (git-version "3.2.1" revision commit))
10121 (source
10122 (origin
10123 (method git-fetch)
10124 (uri
10125 (git-reference
10126 (url "https://github.com/Shinmera/lquery")
10127 (commit commit)))
10128 (sha256
10129 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10130 (file-name (git-file-name name version))))
10131 (native-inputs
10132 `(("fiveam" ,sbcl-fiveam)))
10133 (inputs
10134 `(("array-utils" ,sbcl-array-utils)
10135 ("form-fiddle" ,sbcl-form-fiddle)
10136 ("plump" ,sbcl-plump)
10137 ("clss" ,sbcl-clss)))
10138 (build-system asdf-build-system/sbcl)
10139 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10140 (description "@code{lQuery} is a DOM manipulation library written in
10141 Common Lisp, inspired by and based on the jQuery syntax and
10142 functions. It uses Plump and CLSS as DOM and selector engines. The
10143 main idea behind lQuery is to provide a simple interface for crawling
10144 and modifying HTML sites, as well as to allow for an alternative
10145 approach to templating.")
10146 (home-page "https://github.com/Shinmera/lquery")
10147 (license license:zlib))))
10148
10149 (define-public cl-lquery
10150 (sbcl-package->cl-source-package sbcl-lquery))
10151
10152 (define-public ecl-lquery
10153 (sbcl-package->ecl-package sbcl-lquery))
10154
10155 (define-public sbcl-cl-mysql
10156 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10157 (revision "1"))
10158 (package
10159 (name "sbcl-cl-mysql")
10160 (version (git-version "0.1" revision commit))
10161 (source
10162 (origin
10163 (method git-fetch)
10164 (uri (git-reference
10165 (url "https://github.com/hackinghat/cl-mysql")
10166 (commit commit)))
10167 (file-name (git-file-name name version))
10168 (sha256
10169 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10170 (build-system asdf-build-system/sbcl)
10171 (native-inputs
10172 `(("stefil" ,sbcl-stefil)))
10173 (inputs
10174 `(("cffi" ,sbcl-cffi)
10175 ("mariadb-lib" ,mariadb "lib")))
10176 (arguments
10177 `(#:tests? #f ; TODO: Tests require a running server
10178 #:phases
10179 (modify-phases %standard-phases
10180 (add-after 'unpack 'fix-paths
10181 (lambda* (#:key inputs #:allow-other-keys)
10182 (substitute* "system.lisp"
10183 (("libmysqlclient_r" all)
10184 (string-append (assoc-ref inputs "mariadb-lib")
10185 "/lib/"
10186 all)))
10187 #t)))))
10188 (synopsis "Common Lisp wrapper for MySQL")
10189 (description
10190 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10191 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10192 (license license:expat))))
10193
10194 (define-public cl-mysql
10195 (sbcl-package->cl-source-package sbcl-cl-mysql))
10196
10197 (define-public ecl-cl-mysql
10198 (sbcl-package->ecl-package sbcl-cl-mysql))
10199
10200 (define-public sbcl-postmodern
10201 (package
10202 (name "sbcl-postmodern")
10203 (version "1.32.9")
10204 (source
10205 (origin
10206 (method git-fetch)
10207 (uri (git-reference
10208 (url "https://github.com/marijnh/Postmodern")
10209 (commit (string-append "v" version))))
10210 (file-name (git-file-name name version))
10211 (sha256
10212 (base32 "137jci4hn4vlxf48y39k0di27kc89kvxy3brmn3vl9xq56sy6mhz"))))
10213 (build-system asdf-build-system/sbcl)
10214 (native-inputs
10215 `(("fiveam" ,sbcl-fiveam)))
10216 (inputs
10217 `(("alexandria" ,sbcl-alexandria)
10218 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10219 ("cl-base64" ,sbcl-cl-base64)
10220 ("cl-unicode" ,sbcl-cl-unicode)
10221 ("closer-mop" ,sbcl-closer-mop)
10222 ("global-vars" ,sbcl-global-vars)
10223 ("ironclad" ,sbcl-ironclad)
10224 ("local-time" ,sbcl-local-time)
10225 ("md5" ,sbcl-md5)
10226 ("split-sequence" ,sbcl-split-sequence)
10227 ("uax-15" ,sbcl-uax-15)
10228 ("usocket" ,sbcl-usocket)))
10229 (arguments
10230 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
10231 ;; step, some functionality in `local-time' prevents passing tests.
10232 ;; Error:
10233 ;;
10234 ;; Can't create directory
10235 ;; /gnu/store
10236 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
10237 ;; /lib/common-lisp/sbcl/local-time/src/integration/
10238 ;;
10239 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
10240 ;; issue is resolved but it required live test database to connect to now.
10241 ;; Keep tests switched off.
10242 `(#:tests? #f
10243 #:asd-systems '("cl-postgres"
10244 "s-sql"
10245 "postmodern"
10246 "simple-date"
10247 "simple-date/postgres-glue")))
10248 (synopsis "Common Lisp library for interacting with PostgreSQL")
10249 (description
10250 "@code{postmodern} is a Common Lisp library for interacting with
10251 PostgreSQL databases. It provides the following features:
10252
10253 @itemize
10254 @item Efficient communication with the database server without need for
10255 foreign libraries.
10256 @item Support for UTF-8 on Unicode-aware Lisp implementations.
10257 @item A syntax for mixing SQL and Lisp code.
10258 @item Convenient support for prepared statements and stored procedures.
10259 @item A metaclass for simple database-access objects.
10260 @end itemize\n
10261
10262 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
10263
10264 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
10265 to support storing and retrieving time-related SQL types. It is not loaded by
10266 default and you can use local-time (which has support for timezones) instead.
10267
10268 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
10269 any Lisp values inside, and doing as much as possible of the work at compile
10270 time.
10271
10272 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
10273 server over a socket.
10274
10275 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
10276 level functions, a very simple data access object that can be mapped directly to
10277 database tables and some convient utilities. It then tries to put all these
10278 things together into a convenient programming interface")
10279 (home-page "https://marijnhaverbeke.nl/postmodern/")
10280 (license license:zlib)))
10281
10282 (define-public cl-postmodern
10283 (sbcl-package->cl-source-package sbcl-postmodern))
10284
10285 (define-public ecl-postmodern
10286 (package
10287 (inherit (sbcl-package->ecl-package sbcl-postmodern))
10288 (arguments
10289 `(#:tests? #f
10290 #:asd-systems '("cl-postgres"
10291 "s-sql"
10292 "postmodern"
10293 "simple-date"
10294 "simple-date/postgres-glue")
10295 #:phases
10296 (modify-phases %standard-phases
10297 (add-after 'unpack 'fix-build
10298 (lambda _
10299 (substitute* "cl-postgres.asd"
10300 ((":or :sbcl :allegro :ccl :clisp" all)
10301 (string-append all " :ecl")))
10302 #t)))))))
10303
10304 (define-public sbcl-db3
10305 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
10306 (revision "1"))
10307 (package
10308 (name "sbcl-db3")
10309 (version (git-version "0.0.0" revision commit))
10310 (source
10311 (origin
10312 (method git-fetch)
10313 (uri (git-reference
10314 (url "https://github.com/dimitri/cl-db3")
10315 (commit commit)))
10316 (file-name (git-file-name "cl-db3" version))
10317 (sha256
10318 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
10319 (build-system asdf-build-system/sbcl)
10320 (home-page "https://github.com/dimitri/cl-db3")
10321 (synopsis "Common Lisp library to read dBase III database files")
10322 (description
10323 "This is a Common Lisp library for processing data found in dBase III
10324 database files (dbf and db3 files).")
10325 (license license:public-domain))))
10326
10327 (define-public ecl-db3
10328 (sbcl-package->ecl-package sbcl-db3))
10329
10330 (define-public cl-db3
10331 (sbcl-package->cl-source-package sbcl-db3))
10332
10333 (define-public sbcl-dbi
10334 (let ((commit "7ba050dea8d137c1f85b7e704d4fc945104bf283")
10335 (revision "1"))
10336 (package
10337 (name "sbcl-dbi")
10338 (version (git-version "0.9.5" revision commit))
10339 (source
10340 (origin
10341 (method git-fetch)
10342 (uri (git-reference
10343 (url "https://github.com/fukamachi/cl-dbi")
10344 (commit commit)))
10345 (file-name (git-file-name "cl-dbi" version))
10346 (sha256
10347 (base32 "0qkpsf8w7ig6chbf4r7j1j7fwa6kpi58ij4hbcxpa4irqdan8s9f"))))
10348 (build-system asdf-build-system/sbcl)
10349 (native-inputs
10350 `(("alexandria" ,sbcl-alexandria)
10351 ("rove" ,sbcl-rove)
10352 ("trivial-types" ,sbcl-trivial-types)))
10353 (inputs
10354 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10355 ("cl-mysql" ,sbcl-cl-mysql)
10356 ("cl-sqlite" ,sbcl-cl-sqlite)
10357 ("closer-mop" ,sbcl-closer-mop)
10358 ("postmodern" ,sbcl-postmodern)
10359 ("split-sequence" ,sbcl-split-sequence)
10360 ("trivial-garbage" ,sbcl-trivial-garbage)))
10361 (arguments
10362 `(#:asd-systems '("dbi"
10363 "dbd-mysql"
10364 "dbd-postgres"
10365 "dbd-sqlite3")))
10366 (synopsis "Database independent interface for Common Lisp")
10367 (description
10368 "@code{dbi} is a Common Lisp library providing a database independent
10369 interface for MySQL, PostgreSQL and SQLite.")
10370 (home-page "https://github.com/fukamachi/cl-dbi")
10371 (license license:llgpl))))
10372
10373 (define-public cl-dbi
10374 (sbcl-package->cl-source-package sbcl-dbi))
10375
10376 (define-public ecl-dbi
10377 (sbcl-package->ecl-package sbcl-dbi))
10378
10379 (define-public sbcl-uffi
10380 (package
10381 (name "sbcl-uffi")
10382 (version "2.1.2")
10383 (source
10384 (origin
10385 (method git-fetch)
10386 (uri (git-reference
10387 (url "http://git.kpe.io/uffi.git")
10388 (commit (string-append "v" version))))
10389 (file-name (git-file-name name version))
10390 (sha256
10391 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10392 (build-system asdf-build-system/sbcl)
10393 (arguments
10394 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10395 #:asd-files '("uffi.asd")
10396 #:phases
10397 (modify-phases %standard-phases
10398 (add-after 'unpack 'fix-permissions
10399 (lambda _
10400 (make-file-writable "doc/html.tar.gz")
10401 #t)))))
10402 (synopsis "Universal foreign function library for Common Lisp")
10403 (description
10404 "UFFI provides a universal foreign function interface (FFI)
10405 for Common Lisp.")
10406 (home-page "http://quickdocs.org/uffi/")
10407 (license license:llgpl)))
10408
10409 (define-public cl-uffi
10410 (package
10411 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10412 (arguments
10413 `(#:phases
10414 ;; asdf-build-system/source has its own phases and does not inherit
10415 ;; from asdf-build-system/sbcl phases.
10416 (modify-phases %standard-phases/source
10417 ;; Already done in SBCL package.
10418 (delete 'reset-gzip-timestamps))))))
10419
10420 (define-public sbcl-clsql
10421 (package
10422 (name "sbcl-clsql")
10423 (version "6.7.0")
10424 (source
10425 (origin
10426 (method git-fetch)
10427 (uri (git-reference
10428 (url "http://git.kpe.io/clsql.git")
10429 (commit (string-append "v" version))))
10430 (file-name (git-file-name name version))
10431 (sha256
10432 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10433 (snippet
10434 '(begin
10435 ;; Remove precompiled libraries.
10436 (delete-file "db-mysql/clsql_mysql.dll")
10437 (delete-file "uffi/clsql_uffi.dll")
10438 (delete-file "uffi/clsql_uffi.lib")
10439 #t))))
10440 (build-system asdf-build-system/sbcl)
10441 (native-inputs
10442 `(("rt" ,sbcl-rt)))
10443 (inputs
10444 `(("cffi" ,sbcl-cffi)
10445 ("md5" ,sbcl-md5)
10446 ("mysql" ,mysql)
10447 ("postgresql" ,postgresql)
10448 ("postmodern" ,sbcl-postmodern)
10449 ("sqlite" ,sqlite)
10450 ("uffi" ,sbcl-uffi)
10451 ("zlib" ,zlib)))
10452 (arguments
10453 `(#:asd-files '("clsql.asd"
10454 "clsql-uffi.asd"
10455 "clsql-sqlite3.asd"
10456 "clsql-postgresql.asd"
10457 "clsql-postgresql-socket3.asd"
10458 "clsql-mysql.asd")
10459 #:asd-systems '("clsql"
10460 "clsql-sqlite3"
10461 "clsql-postgresql"
10462 "clsql-postgresql-socket3"
10463 "clsql-mysql")
10464 #:phases
10465 (modify-phases %standard-phases
10466 (add-after 'unpack 'fix-permissions
10467 (lambda _
10468 (make-file-writable "doc/html.tar.gz")
10469 #t))
10470 (add-after 'unpack 'fix-build
10471 (lambda _
10472 (substitute* "clsql-uffi.asd"
10473 (("\\(:version uffi \"2.0\"\\)")
10474 "uffi"))
10475 (substitute* "db-postgresql/postgresql-api.lisp"
10476 (("\\(data :cstring\\)")
10477 "(data :string)"))
10478 #t))
10479 (add-after 'unpack 'fix-paths
10480 (lambda* (#:key inputs outputs #:allow-other-keys)
10481 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10482 (("libsqlite3")
10483 (string-append (assoc-ref inputs "sqlite")
10484 "/lib/libsqlite3")))
10485 (substitute* "db-postgresql/postgresql-loader.lisp"
10486 (("libpq")
10487 (string-append (assoc-ref inputs "postgresql")
10488 "/lib/libpq")))
10489 (let ((lib (string-append "#p\""
10490 (assoc-ref outputs "out")
10491 "/lib/\"")))
10492 (substitute* "clsql-mysql.asd"
10493 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10494 lib))
10495 (substitute* "db-mysql/mysql-loader.lisp"
10496 (("libmysqlclient" all)
10497 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10498 (("clsql-mysql-system::\\*library-file-dir\\*")
10499 lib)))
10500 #t))
10501 (add-before 'build 'build-helper-library
10502 (lambda* (#:key inputs outputs #:allow-other-keys)
10503 (let* ((mysql (assoc-ref inputs "mysql"))
10504 (inc-dir (string-append mysql "/include/mysql"))
10505 (lib-dir (string-append mysql "/lib"))
10506 (shared-lib-dir (string-append (assoc-ref outputs "out")
10507 "/lib"))
10508 (shared-lib (string-append shared-lib-dir
10509 "/clsql_mysql.so")))
10510 (mkdir-p shared-lib-dir)
10511 (invoke "gcc" "-fPIC" "-shared"
10512 "-I" inc-dir
10513 "db-mysql/clsql_mysql.c"
10514 "-Wl,-soname=clsql_mysql"
10515 "-L" lib-dir "-lmysqlclient" "-lz"
10516 "-o" shared-lib)
10517 #t)))
10518 (add-after 'unpack 'fix-tests
10519 (lambda _
10520 (substitute* "clsql.asd"
10521 (("clsql-tests :force t")
10522 "clsql-tests"))
10523 #t)))))
10524 (synopsis "Common Lisp SQL Interface library")
10525 (description
10526 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10527 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10528 interfaces as well as a functional and an object oriented interface.")
10529 (home-page "http://clsql.kpe.io/")
10530 (license license:llgpl)))
10531
10532 (define-public cl-clsql
10533 (package
10534 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10535 (native-inputs
10536 `(("rt" ,cl-rt)))
10537 (inputs
10538 `(("mysql" ,mysql)
10539 ("postgresql" ,postgresql)
10540 ("sqlite" ,sqlite)
10541 ("zlib" ,zlib)))
10542 (propagated-inputs
10543 `(("cffi" ,cl-cffi)
10544 ("md5" ,cl-md5)
10545 ("postmodern" ,cl-postmodern)
10546 ("uffi" ,cl-uffi)))
10547 (arguments
10548 `(#:phases
10549 ;; asdf-build-system/source has its own phases and does not inherit
10550 ;; from asdf-build-system/sbcl phases.
10551 (modify-phases %standard-phases/source
10552 (add-after 'unpack 'fix-permissions
10553 (lambda _
10554 (make-file-writable "doc/html.tar.gz")
10555 #t)))))))
10556
10557 (define-public ecl-clsql
10558 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10559 (package
10560 (inherit pkg)
10561 (inputs
10562 (alist-delete "uffi" (package-inputs pkg)))
10563 (arguments
10564 (substitute-keyword-arguments (package-arguments pkg)
10565 ((#:asd-files asd-files '())
10566 `(cons "clsql-cffi.asd" ,asd-files)))))))
10567
10568 (define-public sbcl-sycamore
10569 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10570 (package
10571 (name "sbcl-sycamore")
10572 (version "0.0.20120604")
10573 (source
10574 (origin
10575 (method git-fetch)
10576 (uri (git-reference
10577 (url "https://github.com/ndantam/sycamore/")
10578 (commit commit)))
10579 (file-name (git-file-name name version))
10580 (sha256
10581 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10582 (build-system asdf-build-system/sbcl)
10583 (inputs
10584 `(("alexandria" ,sbcl-alexandria)
10585 ("cl-ppcre" ,sbcl-cl-ppcre)))
10586 (synopsis "Purely functional data structure library in Common Lisp")
10587 (description
10588 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10589 If features:
10590
10591 @itemize
10592 @item Fast, purely functional weight-balanced binary trees.
10593 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10594 @item Interfaces for tree Sets and Maps (dictionaries).
10595 @item Ropes.
10596 @item Purely functional pairing heaps.
10597 @item Purely functional amortized queue.
10598 @end itemize\n")
10599 (home-page "http://ndantam.github.io/sycamore/")
10600 (license license:bsd-3))))
10601
10602 (define-public cl-sycamore
10603 (sbcl-package->cl-source-package sbcl-sycamore))
10604
10605 (define-public ecl-sycamore
10606 (sbcl-package->ecl-package sbcl-sycamore))
10607
10608 (define-public sbcl-trivial-package-local-nicknames
10609 (package
10610 (name "sbcl-trivial-package-local-nicknames")
10611 (version "0.2")
10612 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10613 (source
10614 (origin
10615 (method git-fetch)
10616 (uri (git-reference
10617 (url home-page)
10618 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10619 (file-name (git-file-name name version))
10620 (sha256
10621 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10622 (build-system asdf-build-system/sbcl)
10623 (synopsis "Common Lisp compatibility library for package local nicknames")
10624 (description
10625 "This library is a portable compatibility layer around package local nicknames (PLN).
10626 This was done so there is a portability library for the PLN API not included
10627 in DEFPACKAGE.")
10628 (license license:unlicense)))
10629
10630 (define-public cl-trivial-package-local-nicknames
10631 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10632
10633 (define-public ecl-trivial-package-local-nicknames
10634 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10635
10636 (define-public sbcl-enchant
10637 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10638 (package
10639 (name "sbcl-enchant")
10640 (version (git-version "0.0.0" "1" commit))
10641 (home-page "https://github.com/tlikonen/cl-enchant")
10642 (source
10643 (origin
10644 (method git-fetch)
10645 (uri (git-reference
10646 (url home-page)
10647 (commit commit)))
10648 (file-name (git-file-name name version))
10649 (sha256
10650 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10651 (build-system asdf-build-system/sbcl)
10652 (inputs
10653 `(("enchant" ,enchant)
10654 ("cffi" ,sbcl-cffi)))
10655 (arguments
10656 `(#:phases
10657 (modify-phases %standard-phases
10658 (add-after 'unpack 'fix-paths
10659 (lambda* (#:key inputs #:allow-other-keys)
10660 (substitute* "load-enchant.lisp"
10661 (("libenchant")
10662 (string-append
10663 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10664 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10665 (description
10666 "Enchant is a Common Lisp interface for the Enchant spell-checker
10667 library. The Enchant library is a generic spell-checker library which uses
10668 other spell-checkers transparently as back-end. The library supports the
10669 multiple checkers, including Aspell and Hunspell.")
10670 (license license:public-domain))))
10671
10672 (define-public cl-enchant
10673 (sbcl-package->cl-source-package sbcl-enchant))
10674
10675 (define-public ecl-enchant
10676 (sbcl-package->ecl-package sbcl-enchant))
10677
10678 (define-public sbcl-cl-change-case
10679 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10680 (revision "1"))
10681 (package
10682 (name "sbcl-cl-change-case")
10683 (version (git-version "0.2.0" revision commit))
10684 (home-page "https://github.com/rudolfochrist/cl-change-case")
10685 (source
10686 (origin
10687 (method git-fetch)
10688 (uri (git-reference
10689 (url home-page)
10690 (commit commit)))
10691 (file-name (git-file-name "cl-change-case" version))
10692 (sha256
10693 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10694 (build-system asdf-build-system/sbcl)
10695 (inputs
10696 `(("cl-ppcre" ,sbcl-cl-ppcre)
10697 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10698 (native-inputs
10699 `(("fiveam" ,sbcl-fiveam)))
10700 (synopsis
10701 "Convert Common Lisp strings between camelCase, PascalCase and more")
10702 (description
10703 "@code{cl-change-case} is a library to convert strings between
10704 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10705 (license license:llgpl))))
10706
10707 (define-public cl-change-case
10708 (sbcl-package->cl-source-package sbcl-cl-change-case))
10709
10710 (define-public ecl-cl-change-case
10711 (sbcl-package->ecl-package sbcl-cl-change-case))
10712
10713 (define-public sbcl-modularize
10714 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10715 (revision "1"))
10716 (package
10717 (name "sbcl-modularize")
10718 (version (git-version "1.0.0" revision commit))
10719 (source
10720 (origin
10721 (method git-fetch)
10722 (uri (git-reference
10723 (url "https://github.com/Shinmera/modularize")
10724 (commit commit)))
10725 (file-name (git-file-name name version))
10726 (sha256
10727 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10728 (build-system asdf-build-system/sbcl)
10729 (arguments
10730 `(#:test-asd-file "modularize-test-module.asd"
10731 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10732 #:asd-systems '("modularize" "modularize-test-module")))
10733 (inputs
10734 `(("documentation-utils" ,sbcl-documentation-utils)
10735 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10736 (home-page "https://shinmera.github.io/modularize/")
10737 (synopsis "Common Lisp modularization framework")
10738 (description
10739 "@code{MODULARIZE} is an attempt at providing a common interface to
10740 segregate major application components. This is achieved by adding special
10741 treatment to packages. Each module is a package that is specially registered,
10742 which allows it to interact and co-exist with other modules in better ways. For
10743 instance, by adding module definition options you can introduce mechanisms to
10744 tie modules together in functionality, hook into each other and so on.")
10745 (license license:zlib))))
10746
10747 (define-public ecl-modularize
10748 (sbcl-package->ecl-package sbcl-modularize))
10749
10750 (define-public cl-modularize
10751 (sbcl-package->cl-source-package sbcl-modularize))
10752
10753 (define-public sbcl-modularize-hooks
10754 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10755 (revision "1"))
10756 (package
10757 (name "sbcl-modularize-hooks")
10758 (version (git-version "1.0.2" revision commit))
10759 (source
10760 (origin
10761 (method git-fetch)
10762 (uri (git-reference
10763 (url "https://github.com/Shinmera/modularize-hooks")
10764 (commit commit)))
10765 (file-name (git-file-name "modularize-hooks" version))
10766 (sha256
10767 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10768 (build-system asdf-build-system/sbcl)
10769 (inputs
10770 `(("closer-mop" ,sbcl-closer-mop)
10771 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10772 ("modularize" ,sbcl-modularize)
10773 ("trivial-arguments" ,sbcl-trivial-arguments)))
10774 (home-page "https://shinmera.github.io/modularize-hooks/")
10775 (synopsis "Generic hooks and triggers extension for Modularize")
10776 (description
10777 "This is a simple extension to @code{MODULARIZE} that allows modules to
10778 define and trigger hooks, which other modules can hook on to.")
10779 (license license:zlib))))
10780
10781 (define-public ecl-modularize-hooks
10782 (sbcl-package->ecl-package sbcl-modularize-hooks))
10783
10784 (define-public cl-modularize-hooks
10785 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10786
10787 (define-public sbcl-modularize-interfaces
10788 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10789 (revision "1"))
10790 (package
10791 (name "sbcl-modularize-interfaces")
10792 (version (git-version "0.9.3" revision commit))
10793 (source
10794 (origin
10795 (method git-fetch)
10796 (uri (git-reference
10797 (url "https://github.com/Shinmera/modularize-interfaces")
10798 (commit commit)))
10799 (file-name (git-file-name "modularize-interfaces" version))
10800 (sha256
10801 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10802 (build-system asdf-build-system/sbcl)
10803 (inputs
10804 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10805 ("modularize" ,sbcl-modularize)
10806 ("trivial-arguments" ,sbcl-trivial-arguments)
10807 ("trivial-indent" ,sbcl-trivial-indent)))
10808 (home-page "https://shinmera.github.io/modularize-interfaces/")
10809 (synopsis "Programmatical interfaces extension for Modularize")
10810 (description
10811 "This is an extension to @code{MODULARIZE} that allows your application
10812 to define interfaces in-code that serve both as a primary documentation and as
10813 compliance control.")
10814 (license license:zlib))))
10815
10816 (define-public ecl-modularize-interfaces
10817 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10818
10819 (define-public cl-modularize-interfaces
10820 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10821
10822 (define-public sbcl-moptilities
10823 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10824 (package
10825 (name "sbcl-moptilities")
10826 (version (git-version "0.3.13" "1" commit))
10827 (home-page "https://github.com/gwkkwg/moptilities/")
10828 (source
10829 (origin
10830 (method git-fetch)
10831 (uri (git-reference
10832 (url home-page)
10833 (commit commit)))
10834 (file-name (git-file-name name version))
10835 (sha256
10836 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10837 (build-system asdf-build-system/sbcl)
10838 (inputs
10839 `(("closer-mop" ,sbcl-closer-mop)))
10840 (native-inputs
10841 `(("lift" ,sbcl-lift)))
10842 (arguments
10843 `(#:phases
10844 (modify-phases %standard-phases
10845 (add-after 'unpack 'fix-tests
10846 (lambda _
10847 (substitute* "lift-standard.config"
10848 ((":relative-to lift-test")
10849 ":relative-to moptilities-test"))
10850 #t)))))
10851 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10852 (description
10853 "MOP utilities provide a common interface between Lisps and make the
10854 MOP easier to use.")
10855 (license license:expat))))
10856
10857 (define-public cl-moptilities
10858 (sbcl-package->cl-source-package sbcl-moptilities))
10859
10860 (define-public sbcl-osicat
10861 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10862 (package
10863 (name "sbcl-osicat")
10864 (version (git-version "0.7.0" "1" commit))
10865 (home-page "http://www.common-lisp.net/project/osicat/")
10866 (source
10867 (origin
10868 (method git-fetch)
10869 (uri (git-reference
10870 (url "https://github.com/osicat/osicat")
10871 (commit commit)))
10872 (file-name (git-file-name name version))
10873 (sha256
10874 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10875 (build-system asdf-build-system/sbcl)
10876 (inputs
10877 `(("alexandria" ,sbcl-alexandria)
10878 ("cffi" ,sbcl-cffi)
10879 ("trivial-features" ,sbcl-trivial-features)))
10880 (native-inputs
10881 `(("rt" ,sbcl-rt)))
10882 (synopsis "Operating system interface for Common Lisp")
10883 (description
10884 "Osicat is a lightweight operating system interface for Common Lisp on
10885 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10886 accompaniment to the standard ANSI facilities.")
10887 (license license:expat))))
10888
10889 (define-public cl-osicat
10890 (sbcl-package->cl-source-package sbcl-osicat))
10891
10892 (define-public ecl-osicat
10893 (sbcl-package->ecl-package sbcl-osicat))
10894
10895 (define-public sbcl-clx-xembed
10896 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10897 (revision "1"))
10898 (package
10899 (name "sbcl-clx-xembed")
10900 (version (git-version "0.1" revision commit))
10901 (home-page "https://github.com/laynor/clx-xembed")
10902 (source
10903 (origin
10904 (method git-fetch)
10905 (uri (git-reference
10906 (url "https://github.com/laynor/clx-xembed")
10907 (commit commit)))
10908 (file-name (git-file-name name version))
10909 (sha256
10910 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10911 (build-system asdf-build-system/sbcl)
10912 (arguments
10913 `(#:asd-systems '("xembed")))
10914 (inputs
10915 `(("sbcl-clx" ,sbcl-clx)))
10916 (synopsis "CL(x) xembed protocol implementation ")
10917 (description "CL(x) xembed protocol implementation")
10918 ;; MIT License
10919 (license license:expat))))
10920
10921 (define-public cl-clx-xembed
10922 (sbcl-package->cl-source-package sbcl-clx-xembed))
10923
10924 (define-public ecl-clx-xembed
10925 (sbcl-package->ecl-package sbcl-clx-xembed))
10926
10927 (define-public sbcl-quantile-estimator
10928 (package
10929 (name "sbcl-quantile-estimator")
10930 (version "0.0.1")
10931 (source
10932 (origin
10933 (method git-fetch)
10934 (uri (git-reference
10935 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10936 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10937 (file-name (git-file-name name version))
10938 (sha256
10939 (base32
10940 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10941 (build-system asdf-build-system/sbcl)
10942 (arguments
10943 '(#:asd-files '("quantile-estimator.asd")))
10944 (inputs
10945 `(("alexandria" ,sbcl-alexandria)))
10946 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10947 (synopsis
10948 "Effective computation of biased quantiles over data streams")
10949 (description
10950 "Common Lisp implementation of Graham Cormode and S.
10951 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10952 Streams in ICDE’05.")
10953 (license license:expat)))
10954
10955 (define-public cl-quantile-estimator
10956 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10957
10958 (define-public ecl-quantile-estimator
10959 (sbcl-package->ecl-package sbcl-quantile-estimator))
10960
10961 (define-public sbcl-prometheus
10962 (package
10963 (name "sbcl-prometheus")
10964 (version "0.4.1")
10965 (source
10966 (origin
10967 (method git-fetch)
10968 (uri (git-reference
10969 (url "https://github.com/deadtrickster/prometheus.cl")
10970 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10971 (file-name (git-file-name name version))
10972 (sha256
10973 (base32
10974 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10975 (build-system asdf-build-system/sbcl)
10976 (inputs
10977 `(("alexandria" ,sbcl-alexandria)
10978 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10979 ("cffi" ,sbcl-cffi)
10980 ("cl-fad" ,sbcl-cl-fad)
10981 ("cl-ppcre" ,sbcl-cl-ppcre)
10982 ("drakma" ,sbcl-drakma)
10983 ("hunchentoot" ,sbcl-hunchentoot)
10984 ("local-time" ,sbcl-local-time)
10985 ("quantile-estimator" ,sbcl-quantile-estimator)
10986 ("salza2" ,sbcl-salza2)
10987 ("split-sequence" ,sbcl-split-sequence)
10988 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10989 (arguments
10990 '(#:asd-files '("prometheus.asd"
10991 "prometheus.collectors.sbcl.asd"
10992 "prometheus.collectors.process.asd"
10993 "prometheus.formats.text.asd"
10994 "prometheus.exposers.hunchentoot.asd"
10995 "prometheus.pushgateway.asd")
10996 #:asd-systems '("prometheus"
10997 "prometheus.collectors.sbcl"
10998 "prometheus.collectors.process"
10999 "prometheus.formats.text"
11000 "prometheus.exposers.hunchentoot"
11001 "prometheus.pushgateway")))
11002 (home-page "https://github.com/deadtrickster/prometheus.cl")
11003 (synopsis "Prometheus.io Common Lisp client")
11004 (description "Prometheus.io Common Lisp client.")
11005 (license license:expat)))
11006
11007 (define-public cl-prometheus
11008 (sbcl-package->cl-source-package sbcl-prometheus))
11009
11010 (define-public ecl-prometheus
11011 (sbcl-package->ecl-package sbcl-prometheus))
11012
11013 (define-public sbcl-uuid
11014 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11015 (package
11016 (name "sbcl-uuid")
11017 (version (git-version "2012.12.26" "1" commit))
11018 (source
11019 (origin
11020 (method git-fetch)
11021 (uri (git-reference
11022 (url "https://github.com/dardoria/uuid")
11023 (commit commit)))
11024 (file-name (git-file-name name version))
11025 (sha256
11026 (base32
11027 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11028 (build-system asdf-build-system/sbcl)
11029 (inputs
11030 `(("ironclad" ,sbcl-ironclad)
11031 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11032 (home-page "https://github.com/dardoria/uuid")
11033 (synopsis
11034 "Common Lisp implementation of UUIDs according to RFC4122")
11035 (description
11036 "Common Lisp implementation of UUIDs according to RFC4122.")
11037 (license license:llgpl))))
11038
11039 (define-public cl-uuid
11040 (sbcl-package->cl-source-package sbcl-uuid))
11041
11042 (define-public ecl-uuid
11043 (sbcl-package->ecl-package sbcl-uuid))
11044
11045 (define-public sbcl-dissect
11046 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11047 (package
11048 (name "sbcl-dissect")
11049 (version (git-version "1.0.0" "1" commit))
11050 (source
11051 (origin
11052 (method git-fetch)
11053 (uri (git-reference
11054 (url "https://github.com/Shinmera/dissect")
11055 (commit commit)))
11056 (file-name (git-file-name name version))
11057 (sha256
11058 (base32
11059 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11060 (build-system asdf-build-system/sbcl)
11061 (inputs
11062 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11063 (home-page "https://shinmera.github.io/dissect/")
11064 (synopsis
11065 "Introspection library for the call stack and restarts")
11066 (description
11067 "Dissect is a small Common Lisp library for introspecting the call stack
11068 and active restarts.")
11069 (license license:zlib))))
11070
11071 (define-public cl-dissect
11072 (sbcl-package->cl-source-package sbcl-dissect))
11073
11074 (define-public ecl-dissect
11075 (sbcl-package->ecl-package sbcl-dissect))
11076
11077 (define-public sbcl-rove
11078 (package
11079 (name "sbcl-rove")
11080 (version "0.9.6")
11081 (source
11082 (origin
11083 (method git-fetch)
11084 (uri (git-reference
11085 (url "https://github.com/fukamachi/rove")
11086 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11087 (file-name (git-file-name name version))
11088 (sha256
11089 (base32
11090 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11091 (build-system asdf-build-system/sbcl)
11092 (inputs
11093 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11094 ("dissect" ,sbcl-dissect)
11095 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11096 (home-page "https://github.com/fukamachi/rove")
11097 (synopsis
11098 "Yet another common lisp testing library")
11099 (description
11100 "Rove is a unit testing framework for Common Lisp applications.
11101 This is intended to be a successor of Prove.")
11102 (license license:bsd-3)))
11103
11104 (define-public cl-rove
11105 (sbcl-package->cl-source-package sbcl-rove))
11106
11107 (define-public ecl-rove
11108 (sbcl-package->ecl-package sbcl-rove))
11109
11110 (define-public sbcl-exponential-backoff
11111 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11112 (package
11113 (name "sbcl-exponential-backoff")
11114 (version (git-version "0" "1" commit))
11115 (source
11116 (origin
11117 (method git-fetch)
11118 (uri (git-reference
11119 (url "https://github.com/death/exponential-backoff")
11120 (commit commit)))
11121 (file-name (git-file-name name version))
11122 (sha256
11123 (base32
11124 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11125 (build-system asdf-build-system/sbcl)
11126 (home-page "https://github.com/death/exponential-backoff")
11127 (synopsis "Exponential backoff algorithm in Common Lisp")
11128 (description
11129 "An implementation of the exponential backoff algorithm in Common Lisp.
11130 Inspired by the implementation found in Chromium. Read the header file to
11131 learn about each of the parameters.")
11132 (license license:expat))))
11133
11134 (define-public cl-exponential-backoff
11135 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11136
11137 (define-public ecl-exponential-backoff
11138 (sbcl-package->ecl-package sbcl-exponential-backoff))
11139
11140 (define-public sbcl-sxql
11141 (let ((commit "acdd183a4c38b4e0699a285f8a711c88f6b4302c"))
11142 (package
11143 (name "sbcl-sxql")
11144 (version (git-version "0.1.0" "2" commit))
11145 (source
11146 (origin
11147 (method git-fetch)
11148 (uri (git-reference
11149 (url "https://github.com/fukamachi/sxql")
11150 (commit commit)))
11151 (file-name (git-file-name "sqxl" version))
11152 (sha256
11153 (base32 "1i1crdsf2nbyxxpvjgrwmwpjxn6a4drbcmqs4q4shfi8zyap7vng"))))
11154 (build-system asdf-build-system/sbcl)
11155 (inputs
11156 `(("alexandria" ,sbcl-alexandria)
11157 ("cl-package-locks" ,sbcl-cl-package-locks)
11158 ("cl-syntax" ,sbcl-cl-syntax)
11159 ("iterate" ,sbcl-iterate)
11160 ("optima" ,sbcl-optima)
11161 ("split-sequence" ,sbcl-split-sequence)
11162 ("trivial-types" ,sbcl-trivial-types)))
11163 (native-inputs
11164 `(("prove" ,sbcl-prove)))
11165 (home-page "https://github.com/fukamachi/sxql")
11166 (synopsis "SQL generator for Common Lisp")
11167 (description "SQL generator for Common Lisp.")
11168 (license license:bsd-3))))
11169
11170 (define-public cl-sxql
11171 (sbcl-package->cl-source-package sbcl-sxql))
11172
11173 (define-public ecl-sxql
11174 (sbcl-package->ecl-package sbcl-sxql))
11175
11176 (define-public sbcl-1am
11177 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11178 (package
11179 (name "sbcl-1am")
11180 (version (git-version "0.0" "1" commit))
11181 (source
11182 (origin
11183 (method git-fetch)
11184 (uri (git-reference
11185 (url "https://github.com/lmj/1am")
11186 (commit commit)))
11187 (file-name (git-file-name name version))
11188 (sha256
11189 (base32
11190 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11191 (build-system asdf-build-system/sbcl)
11192 (home-page "https://github.com/lmj/1am")
11193 (synopsis "Minimal testing framework for Common Lisp")
11194 (description "A minimal testing framework for Common Lisp.")
11195 (license license:expat))))
11196
11197 (define-public cl-1am
11198 (sbcl-package->cl-source-package sbcl-1am))
11199
11200 (define-public ecl-1am
11201 (sbcl-package->ecl-package sbcl-1am))
11202
11203 (define-public sbcl-cl-ascii-table
11204 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11205 (revision "1"))
11206 (package
11207 (name "sbcl-cl-ascii-table")
11208 (version (git-version "0.0.0" revision commit))
11209 (source
11210 (origin
11211 (method git-fetch)
11212 (uri (git-reference
11213 (url "https://github.com/telephil/cl-ascii-table")
11214 (commit commit)))
11215 (file-name (git-file-name name version))
11216 (sha256
11217 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11218 (build-system asdf-build-system/sbcl)
11219 (synopsis "Library to make ascii-art tables")
11220 (description
11221 "This is a Common Lisp library to present tabular data in ascii-art
11222 tables.")
11223 (home-page "https://github.com/telephil/cl-ascii-table")
11224 (license license:expat))))
11225
11226 (define-public cl-ascii-table
11227 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11228
11229 (define-public ecl-cl-ascii-table
11230 (sbcl-package->ecl-package sbcl-cl-ascii-table))
11231
11232 (define-public sbcl-cl-rdkafka
11233 (package
11234 (name "sbcl-cl-rdkafka")
11235 (version "1.1.0")
11236 (source
11237 (origin
11238 (method git-fetch)
11239 (uri (git-reference
11240 (url "https://github.com/SahilKang/cl-rdkafka")
11241 (commit (string-append "v" version))))
11242 (file-name (git-file-name name version))
11243 (sha256
11244 (base32
11245 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
11246 (build-system asdf-build-system/sbcl)
11247 (arguments
11248 `(#:tests? #f ; Attempts to connect to locally running Kafka
11249 #:phases
11250 (modify-phases %standard-phases
11251 (add-after 'unpack 'fix-paths
11252 (lambda* (#:key inputs #:allow-other-keys)
11253 (substitute* "src/low-level/librdkafka-bindings.lisp"
11254 (("librdkafka" all)
11255 (string-append (assoc-ref inputs "librdkafka") "/lib/"
11256 all))))))))
11257 (inputs
11258 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11259 ("cffi" ,sbcl-cffi)
11260 ("librdkafka" ,librdkafka)
11261 ("lparallel" ,sbcl-lparallel)
11262 ("trivial-garbage" ,sbcl-trivial-garbage)))
11263 (home-page "https://github.com/SahilKang/cl-rdkafka")
11264 (synopsis "Common Lisp client library for Apache Kafka")
11265 (description "A Common Lisp client library for Apache Kafka.")
11266 (license license:gpl3)))
11267
11268 (define-public cl-rdkafka
11269 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
11270
11271 (define-public ecl-cl-rdkafka
11272 (sbcl-package->ecl-package sbcl-cl-rdkafka))
11273
11274 (define-public sbcl-acclimation
11275 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11276 (package
11277 (name "sbcl-acclimation")
11278 (version (git-version "0.0.0" "1" commit))
11279 (source
11280 (origin
11281 (method git-fetch)
11282 (uri (git-reference
11283 (url "https://github.com/robert-strandh/Acclimation")
11284 (commit commit)))
11285 (file-name (git-file-name name version))
11286 (sha256
11287 (base32
11288 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11289 (build-system asdf-build-system/sbcl)
11290 (home-page "https://github.com/robert-strandh/Acclimation")
11291 (synopsis "Internationalization library for Common Lisp")
11292 (description "This project is meant to provide tools for
11293 internationalizing Common Lisp programs.
11294
11295 One important aspect of internationalization is of course the language used in
11296 error messages, documentation strings, etc. But with this project we provide
11297 tools for all other aspects of internationalization as well, including dates,
11298 weight, temperature, names of physical quantitites, etc.")
11299 (license license:bsd-2))))
11300
11301 (define-public cl-acclimation
11302 (sbcl-package->cl-source-package sbcl-acclimation))
11303
11304 (define-public ecl-acclimation
11305 (sbcl-package->ecl-package sbcl-acclimation))
11306
11307 (define-public sbcl-clump
11308 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
11309 (package
11310 (name "sbcl-clump")
11311 (version (git-version "0.0.0" "1" commit))
11312 (source
11313 (origin
11314 (method git-fetch)
11315 (uri (git-reference
11316 (url "https://github.com/robert-strandh/Clump")
11317 (commit commit)))
11318 (file-name (git-file-name name version))
11319 (sha256
11320 (base32
11321 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
11322 (inputs
11323 `(("acclimation" ,sbcl-acclimation)))
11324 (build-system asdf-build-system/sbcl)
11325 (home-page "https://github.com/robert-strandh/Clump")
11326 (synopsis "Collection of tree implementations for Common Lisp")
11327 (description "The purpose of this library is to provide a collection of
11328 implementations of trees.
11329
11330 In contrast to existing libraries such as cl-containers, it does not impose a
11331 particular use for the trees. Instead, it aims for a stratified design,
11332 allowing client code to choose between different levels of abstraction.
11333
11334 As a consequence of this policy, low-level interfaces are provided where
11335 the concrete representation is exposed, but also high level interfaces
11336 where the trees can be used as search trees or as trees that represent
11337 sequences of objects.")
11338 (license license:bsd-2))))
11339
11340 (define-public cl-clump
11341 (sbcl-package->cl-source-package sbcl-clump))
11342
11343 (define-public ecl-clump
11344 (sbcl-package->ecl-package sbcl-clump))
11345
11346 (define-public sbcl-cluffer
11347 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
11348 (package
11349 (name "sbcl-cluffer")
11350 (version (git-version "0.0.0" "1" commit))
11351 (source
11352 (origin
11353 (method git-fetch)
11354 (uri (git-reference
11355 (url "https://github.com/robert-strandh/cluffer")
11356 (commit commit)))
11357 (file-name (git-file-name name version))
11358 (sha256
11359 (base32
11360 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
11361 (build-system asdf-build-system/sbcl)
11362 (inputs
11363 `(("acclimation" ,sbcl-acclimation)
11364 ("clump" ,sbcl-clump)))
11365 (home-page "https://github.com/robert-strandh/cluffer")
11366 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
11367 (description "Cluffer is a library for representing the buffer of a text
11368 editor. As such, it defines a set of CLOS protocols for client code to
11369 interact with the buffer contents in various ways, and it supplies different
11370 implementations of those protocols for different purposes.")
11371 (license license:bsd-2))))
11372
11373 (define-public cl-cluffer
11374 (sbcl-package->cl-source-package sbcl-cluffer))
11375
11376 (define-public ecl-cluffer
11377 (sbcl-package->ecl-package sbcl-cluffer))
11378
11379 (define-public sbcl-cl-libsvm-format
11380 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11381 (revision "0"))
11382 (package
11383 (name "sbcl-cl-libsvm-format")
11384 (version (git-version "0.1.0" revision commit))
11385 (source
11386 (origin
11387 (method git-fetch)
11388 (uri (git-reference
11389 (url "https://github.com/masatoi/cl-libsvm-format")
11390 (commit commit)))
11391 (file-name (git-file-name name version))
11392 (sha256
11393 (base32
11394 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11395 (build-system asdf-build-system/sbcl)
11396 (native-inputs
11397 `(("prove" ,sbcl-prove)))
11398 (inputs
11399 `(("alexandria" ,sbcl-alexandria)))
11400 (synopsis "LibSVM data format reader for Common Lisp")
11401 (description
11402 "This Common Lisp library provides a fast reader for data in LibSVM
11403 format.")
11404 (home-page "https://github.com/masatoi/cl-libsvm-format")
11405 (license license:expat))))
11406
11407 (define-public cl-libsvm-format
11408 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11409
11410 (define-public ecl-cl-libsvm-format
11411 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11412
11413 (define-public sbcl-cl-online-learning
11414 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11415 (revision "1"))
11416 (package
11417 (name "sbcl-cl-online-learning")
11418 (version (git-version "0.5" revision commit))
11419 (source
11420 (origin
11421 (method git-fetch)
11422 (uri (git-reference
11423 (url "https://github.com/masatoi/cl-online-learning")
11424 (commit commit)))
11425 (file-name (git-file-name "cl-online-learning" version))
11426 (sha256
11427 (base32
11428 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
11429 (build-system asdf-build-system/sbcl)
11430 (native-inputs
11431 `(("prove" ,sbcl-prove)))
11432 (inputs
11433 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11434 ("cl-store" ,sbcl-cl-store)))
11435 (arguments
11436 `(#:test-asd-file "cl-online-learning-test.asd"
11437 #:asd-systems '("cl-online-learning-test"
11438 "cl-online-learning")))
11439 (home-page "https://github.com/masatoi/cl-online-learning")
11440 (synopsis "Online Machine Learning for Common Lisp")
11441 (description
11442 "This library contains a collection of machine learning algorithms for
11443 online linear classification written in Common Lisp.")
11444 (license license:expat))))
11445
11446 (define-public cl-online-learning
11447 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11448
11449 (define-public ecl-cl-online-learning
11450 (sbcl-package->ecl-package sbcl-cl-online-learning))
11451
11452 (define-public sbcl-cl-mpg123
11453 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11454 (revision "1"))
11455 (package
11456 (name "sbcl-cl-mpg123")
11457 (version (git-version "1.0.0" revision commit))
11458 (source
11459 (origin
11460 (method git-fetch)
11461 (uri (git-reference
11462 (url "https://github.com/Shirakumo/cl-mpg123")
11463 (commit commit)))
11464 (file-name (git-file-name "cl-mpg123" version))
11465 (sha256
11466 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11467 (modules '((guix build utils)))
11468 (snippet
11469 '(begin
11470 ;; Remove bundled pre-compiled libraries.
11471 (delete-file-recursively "static")
11472 #t))))
11473 (build-system asdf-build-system/sbcl)
11474 (arguments
11475 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11476 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11477 #:phases
11478 (modify-phases %standard-phases
11479 (add-after 'unpack 'fix-paths
11480 (lambda* (#:key inputs #:allow-other-keys)
11481 (substitute* "low-level.lisp"
11482 (("libmpg123.so" all)
11483 (string-append (assoc-ref inputs "libmpg123")
11484 "/lib/" all))))))))
11485 (inputs
11486 `(("cffi" ,sbcl-cffi)
11487 ("cl-out123" ,sbcl-cl-out123)
11488 ("documentation-utils" ,sbcl-documentation-utils)
11489 ("libmpg123" ,mpg123)
11490 ("trivial-features" ,sbcl-trivial-features)
11491 ("trivial-garbage" ,sbcl-trivial-garbage)
11492 ("verbose" ,sbcl-verbose)))
11493 (home-page "https://shirakumo.github.io/cl-mpg123/")
11494 (synopsis "Common Lisp bindings to libmpg123")
11495 (description
11496 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11497 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11498 files.")
11499 (license license:zlib))))
11500
11501 (define-public ecl-cl-mpg123
11502 (sbcl-package->ecl-package sbcl-cl-mpg123))
11503
11504 (define-public cl-mpg123
11505 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11506
11507 (define-public sbcl-cl-out123
11508 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11509 (revision "1"))
11510 (package
11511 (name "sbcl-cl-out123")
11512 (version (git-version "1.0.0" revision commit))
11513 (source
11514 (origin
11515 (method git-fetch)
11516 (uri (git-reference
11517 (url "https://github.com/Shirakumo/cl-out123")
11518 (commit commit)))
11519 (file-name (git-file-name "cl-out123" version))
11520 (sha256
11521 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11522 (modules '((guix build utils)))
11523 (snippet
11524 '(begin
11525 ;; Remove bundled pre-compiled libraries.
11526 (delete-file-recursively "static")
11527 #t))))
11528 (build-system asdf-build-system/sbcl)
11529 (arguments
11530 `(#:phases
11531 (modify-phases %standard-phases
11532 (add-after 'unpack 'fix-paths
11533 (lambda* (#:key inputs #:allow-other-keys)
11534 (substitute* "low-level.lisp"
11535 (("libout123.so" all)
11536 (string-append (assoc-ref inputs "libout123")
11537 "/lib/" all)))))
11538 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11539 ;; exported macro `without-interrupts' it's moved to `mp' package
11540 ;; https://github.com/Shirakumo/cl-out123/issues/2
11541 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11542 (add-after 'unpack 'fix-ecl-package-name
11543 (lambda _
11544 (substitute* "wrapper.lisp"
11545 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11546 #t)))))
11547 (inputs
11548 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11549 ("cffi" ,sbcl-cffi)
11550 ("documentation-utils" ,sbcl-documentation-utils)
11551 ("libout123" ,mpg123)
11552 ("trivial-features" ,sbcl-trivial-features)
11553 ("trivial-garbage" ,sbcl-trivial-garbage)))
11554 (home-page "https://shirakumo.github.io/cl-out123/")
11555 (synopsis "Common Lisp bindings to libout123")
11556 (description
11557 "This is a bindings library to @code{libout123} which allows easy
11558 cross-platform audio playback.")
11559 (license license:zlib))))
11560
11561 (define-public ecl-cl-out123
11562 (sbcl-package->ecl-package sbcl-cl-out123))
11563
11564 (define-public cl-out123
11565 (sbcl-package->cl-source-package sbcl-cl-out123))
11566
11567 (define-public sbcl-cl-random-forest
11568 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11569 (revision "1"))
11570 (package
11571 (name "sbcl-cl-random-forest")
11572 (version (git-version "0.1" revision commit))
11573 (source
11574 (origin
11575 (method git-fetch)
11576 (uri (git-reference
11577 (url "https://github.com/masatoi/cl-random-forest")
11578 (commit commit)))
11579 (file-name (git-file-name name version))
11580 (sha256
11581 (base32
11582 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11583 (build-system asdf-build-system/sbcl)
11584 (native-inputs
11585 `(("prove" ,sbcl-prove)
11586 ("trivial-garbage" ,sbcl-trivial-garbage)))
11587 (inputs
11588 `(("alexandria" ,sbcl-alexandria)
11589 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11590 ("cl-online-learning" ,sbcl-cl-online-learning)
11591 ("lparallel" ,sbcl-lparallel)))
11592 (arguments
11593 `(#:tests? #f)) ; The tests download data from the Internet
11594 (synopsis "Random Forest and Global Refinement for Common Lisp")
11595 (description
11596 "CL-random-forest is an implementation of Random Forest for multiclass
11597 classification and univariate regression written in Common Lisp. It also
11598 includes an implementation of Global Refinement of Random Forest.")
11599 (home-page "https://github.com/masatoi/cl-random-forest")
11600 (license license:expat))))
11601
11602 (define-public cl-random-forest
11603 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11604
11605 (define-public ecl-cl-random-forest
11606 (sbcl-package->ecl-package sbcl-cl-random-forest))
11607
11608 (define-public sbcl-bordeaux-fft
11609 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11610 (revision "0"))
11611 (package
11612 (name "sbcl-bordeaux-fft")
11613 (version (git-version "1.0.1" revision commit))
11614 (source
11615 (origin
11616 (method git-fetch)
11617 (uri (git-reference
11618 (url "https://github.com/ahefner/bordeaux-fft")
11619 (commit commit)))
11620 (file-name (git-file-name name version))
11621 (sha256
11622 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11623 (build-system asdf-build-system/sbcl)
11624 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11625 (synopsis "Fast Fourier Transform for Common Lisp")
11626 (description
11627 "The Bordeaux-FFT library provides a reasonably efficient implementation
11628 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11629 portable Common Lisp.")
11630 (license license:gpl2+))))
11631
11632 (define-public cl-bordeaux-fft
11633 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11634
11635 (define-public ecl-bordeaux-fft
11636 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11637
11638 (define-public sbcl-napa-fft3
11639 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11640 (revision "0"))
11641 (package
11642 (name "sbcl-napa-fft3")
11643 (version (git-version "0.0.1" revision commit))
11644 (source
11645 (origin
11646 (method git-fetch)
11647 (uri (git-reference
11648 (url "https://github.com/pkhuong/Napa-FFT3")
11649 (commit commit)))
11650 (file-name (git-file-name name version))
11651 (sha256
11652 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11653 (build-system asdf-build-system/sbcl)
11654 (home-page "https://github.com/pkhuong/Napa-FFT3")
11655 (synopsis "Fast Fourier Transform routines in Common Lisp")
11656 (description
11657 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11658 buildings blocks to express common operations that involve DFTs: filtering,
11659 convolutions, etc.")
11660 (license license:bsd-3))))
11661
11662 (define-public cl-napa-fft3
11663 (sbcl-package->cl-source-package sbcl-napa-fft3))
11664
11665 (define-public sbcl-cl-tga
11666 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11667 (revision "0"))
11668 (package
11669 (name "sbcl-cl-tga")
11670 (version (git-version "0.0.0" revision commit))
11671 (source
11672 (origin
11673 (method git-fetch)
11674 (uri (git-reference
11675 (url "https://github.com/fisxoj/cl-tga")
11676 (commit commit)))
11677 (file-name (git-file-name name version))
11678 (sha256
11679 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11680 (build-system asdf-build-system/sbcl)
11681 (home-page "https://github.com/fisxoj/cl-tga")
11682 (synopsis "TGA file loader for Common Lisp")
11683 (description
11684 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11685 programs. It's a very simple library, and, at the moment, only supports
11686 non-RLE encoded forms of the files.")
11687 (license license:expat))))
11688
11689 (define-public cl-tga
11690 (sbcl-package->cl-source-package sbcl-cl-tga))
11691
11692 (define-public ecl-cl-tga
11693 (sbcl-package->ecl-package sbcl-cl-tga))
11694
11695 (define-public sbcl-com.gigamonkeys.binary-data
11696 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11697 (revision "0"))
11698 (package
11699 (name "sbcl-com.gigamonkeys.binary-data")
11700 (version (git-version "0.0.0" revision commit))
11701 (source
11702 (origin
11703 (method git-fetch)
11704 (uri (git-reference
11705 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11706 (commit commit)))
11707 (file-name (git-file-name name version))
11708 (sha256
11709 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11710 (build-system asdf-build-system/sbcl)
11711 (inputs
11712 `(("alexandria" ,sbcl-alexandria)))
11713 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11714 (synopsis "Common Lisp library for reading and writing binary data")
11715 (description
11716 "This a Common Lisp library for reading and writing binary data. It is
11717 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11718 (license license:bsd-3))))
11719
11720 (define-public cl-com.gigamonkeys.binary-data
11721 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11722
11723 (define-public ecl-com.gigamonkeys.binary-data
11724 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11725
11726 (define-public sbcl-deflate
11727 (package
11728 (name "sbcl-deflate")
11729 (version "1.0.3")
11730 (source
11731 (origin
11732 (method git-fetch)
11733 (uri (git-reference
11734 (url "https://github.com/pmai/Deflate")
11735 (commit (string-append "release-" version))))
11736 (file-name (git-file-name name version))
11737 (sha256
11738 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11739 (build-system asdf-build-system/sbcl)
11740 (home-page "https://github.com/pmai/Deflate")
11741 (synopsis "Native deflate decompression for Common Lisp")
11742 (description
11743 "This library is an implementation of Deflate (RFC 1951) decompression,
11744 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11745 wrappers of deflate streams. It currently does not handle compression.")
11746 (license license:expat)))
11747
11748 (define-public cl-deflate
11749 (sbcl-package->cl-source-package sbcl-deflate))
11750
11751 (define-public ecl-deflate
11752 (sbcl-package->ecl-package sbcl-deflate))
11753
11754 (define-public sbcl-skippy
11755 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11756 (revision "0"))
11757 (package
11758 (name "sbcl-skippy")
11759 (version (git-version "1.3.12" revision commit))
11760 (source
11761 (origin
11762 (method git-fetch)
11763 (uri (git-reference
11764 (url "https://github.com/xach/skippy")
11765 (commit commit)))
11766 (file-name (git-file-name name version))
11767 (sha256
11768 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11769 (build-system asdf-build-system/sbcl)
11770 (home-page "https://xach.com/lisp/skippy/")
11771 (synopsis "Common Lisp library for GIF images")
11772 (description
11773 "Skippy is a Common Lisp library to read and write GIF image files.")
11774 (license license:bsd-2))))
11775
11776 (define-public cl-skippy
11777 (sbcl-package->cl-source-package sbcl-skippy))
11778
11779 (define-public ecl-skippy
11780 (sbcl-package->ecl-package sbcl-skippy))
11781
11782 (define-public sbcl-cl-freetype2
11783 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11784 (revision "0"))
11785 (package
11786 (name "sbcl-cl-freetype2")
11787 (version (git-version "1.1" revision commit))
11788 (source
11789 (origin
11790 (method git-fetch)
11791 (uri (git-reference
11792 (url "https://github.com/rpav/cl-freetype2")
11793 (commit commit)))
11794 (file-name (git-file-name name version))
11795 (sha256
11796 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11797 (build-system asdf-build-system/sbcl)
11798 (native-inputs
11799 `(("fiveam" ,sbcl-fiveam)))
11800 (inputs
11801 `(("alexandria" ,sbcl-alexandria)
11802 ("cffi" ,sbcl-cffi)
11803 ("freetype" ,freetype)
11804 ("trivial-garbage" ,sbcl-trivial-garbage)))
11805 (arguments
11806 `(#:phases
11807 (modify-phases %standard-phases
11808 (add-after 'unpack 'fix-paths
11809 (lambda* (#:key inputs #:allow-other-keys)
11810 (substitute* "src/ffi/ft2-lib.lisp"
11811 (("\"libfreetype\"")
11812 (string-append "\"" (assoc-ref inputs "freetype")
11813 "/lib/libfreetype\"")))
11814 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11815 (("-I/usr/include/freetype")
11816 (string-append "-I" (assoc-ref inputs "freetype")
11817 "/include/freetype")))
11818 #t)))))
11819 (home-page "https://github.com/rpav/cl-freetype2")
11820 (synopsis "Common Lisp bindings for Freetype 2")
11821 (description
11822 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11823 geared toward both using Freetype directly by providing a simplified API, as
11824 well as providing access to the underlying C structures and functions for use
11825 with other libraries which may also use Freetype.")
11826 (license license:bsd-3))))
11827
11828 (define-public cl-freetype2
11829 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11830
11831 (define-public ecl-cl-freetype2
11832 (sbcl-package->ecl-package sbcl-cl-freetype2))
11833
11834 (define-public sbcl-opticl-core
11835 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11836 (revision "0"))
11837 (package
11838 (name "sbcl-opticl-core")
11839 (version (git-version "0.0.0" revision commit))
11840 (source
11841 (origin
11842 (method git-fetch)
11843 (uri (git-reference
11844 (url "https://github.com/slyrus/opticl-core")
11845 (commit commit)))
11846 (file-name (git-file-name name version))
11847 (sha256
11848 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11849 (build-system asdf-build-system/sbcl)
11850 (inputs
11851 `(("alexandria" ,sbcl-alexandria)))
11852 (home-page "https://github.com/slyrus/opticl-core")
11853 (synopsis "Core classes and pixel access macros for Opticl")
11854 (description
11855 "This Common Lisp library contains the core classes and pixel access
11856 macros for the Opticl image processing library.")
11857 (license license:bsd-2))))
11858
11859 (define-public cl-opticl-core
11860 (sbcl-package->cl-source-package sbcl-opticl-core))
11861
11862 (define-public ecl-opticl-core
11863 (sbcl-package->ecl-package sbcl-opticl-core))
11864
11865 (define-public sbcl-retrospectiff
11866 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11867 (revision "0"))
11868 (package
11869 (name "sbcl-retrospectiff")
11870 (version (git-version "0.2" revision commit))
11871 (source
11872 (origin
11873 (method git-fetch)
11874 (uri (git-reference
11875 (url "https://github.com/slyrus/retrospectiff")
11876 (commit commit)))
11877 (file-name (git-file-name name version))
11878 (sha256
11879 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11880 (build-system asdf-build-system/sbcl)
11881 (native-inputs
11882 `(("fiveam" ,sbcl-fiveam)))
11883 (inputs
11884 `(("cl-jpeg" ,sbcl-cl-jpeg)
11885 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11886 ("deflate" ,sbcl-deflate)
11887 ("flexi-streams" ,sbcl-flexi-streams)
11888 ("ieee-floats" ,sbcl-ieee-floats)
11889 ("opticl-core" ,sbcl-opticl-core)))
11890 (home-page "https://github.com/slyrus/retrospectiff")
11891 (synopsis "Common Lisp library for TIFF images")
11892 (description
11893 "Retrospectiff is a common lisp library for reading and writing images
11894 in the TIFF (Tagged Image File Format) format.")
11895 (license license:bsd-2))))
11896
11897 (define-public cl-retrospectif
11898 (sbcl-package->cl-source-package sbcl-retrospectiff))
11899
11900 (define-public ecl-retrospectiff
11901 (sbcl-package->ecl-package sbcl-retrospectiff))
11902
11903 (define-public sbcl-mmap
11904 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11905 (revision "0"))
11906 (package
11907 (name "sbcl-mmap")
11908 (version (git-version "1.0.0" revision commit))
11909 (source
11910 (origin
11911 (method git-fetch)
11912 (uri (git-reference
11913 (url "https://github.com/Shinmera/mmap")
11914 (commit commit)))
11915 (file-name (git-file-name name version))
11916 (sha256
11917 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11918 (build-system asdf-build-system/sbcl)
11919 (native-inputs
11920 `(("alexandria" ,sbcl-alexandria)
11921 ("cffi" ,sbcl-cffi)
11922 ("parachute" ,sbcl-parachute)
11923 ("trivial-features" ,sbcl-trivial-features)))
11924 (inputs
11925 `(("cffi" ,sbcl-cffi)
11926 ("documentation-utils" ,sbcl-documentation-utils)))
11927 (home-page "https://shinmera.github.io/mmap/")
11928 (synopsis "File memory mapping for Common Lisp")
11929 (description
11930 "This is a utility library providing access to the @emph{mmap} family of
11931 functions in a portable way. It allows you to directly map a file into the
11932 address space of your process without having to manually read it into memory
11933 sequentially. Typically this is much more efficient for files that are larger
11934 than a few Kb.")
11935 (license license:zlib))))
11936
11937 (define-public cl-mmap
11938 (sbcl-package->cl-source-package sbcl-mmap))
11939
11940 (define-public ecl-mmap
11941 (sbcl-package->ecl-package sbcl-mmap))
11942
11943 (define-public sbcl-3bz
11944 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11945 (revision "1"))
11946 (package
11947 (name "sbcl-3bz")
11948 (version (git-version "0.0.0" revision commit))
11949 (source
11950 (origin
11951 (method git-fetch)
11952 (uri (git-reference
11953 (url "https://github.com/3b/3bz")
11954 (commit commit)))
11955 (file-name (git-file-name name version))
11956 (sha256
11957 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11958 (build-system asdf-build-system/sbcl)
11959 (inputs
11960 `(("alexandria" ,sbcl-alexandria)
11961 ("babel" ,sbcl-babel)
11962 ("cffi" ,sbcl-cffi)
11963 ("mmap" ,sbcl-mmap)
11964 ("nibbles" ,sbcl-nibbles)
11965 ("trivial-features" ,sbcl-trivial-features)))
11966 (home-page "https://github.com/3b/3bz")
11967 (synopsis "Deflate decompression for Common Lisp")
11968 (description
11969 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11970 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11971 foreign pointers (for use with mmap and similar, etc), and from CL octet
11972 vectors and streams.")
11973 (license license:expat))))
11974
11975 (define-public cl-3bz
11976 (sbcl-package->cl-source-package sbcl-3bz))
11977
11978 (define-public ecl-3bz
11979 (sbcl-package->ecl-package sbcl-3bz))
11980
11981 (define-public sbcl-zpb-exif
11982 (package
11983 (name "sbcl-zpb-exif")
11984 (version "1.2.4")
11985 (source
11986 (origin
11987 (method git-fetch)
11988 (uri (git-reference
11989 (url "https://github.com/xach/zpb-exif")
11990 (commit (string-append "release-" version))))
11991 (file-name (git-file-name name version))
11992 (sha256
11993 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11994 (build-system asdf-build-system/sbcl)
11995 (home-page "https://xach.com/lisp/zpb-exif/")
11996 (synopsis "EXIF information extractor for Common Lisp")
11997 (description
11998 "This is a Common Lisp library to extract EXIF information from image
11999 files.")
12000 (license license:bsd-2)))
12001
12002 (define-public cl-zpb-exif
12003 (sbcl-package->cl-source-package sbcl-zpb-exif))
12004
12005 (define-public ecl-zpb-exif
12006 (sbcl-package->ecl-package sbcl-zpb-exif))
12007
12008 (define-public sbcl-pngload
12009 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
12010 (revision "2"))
12011 (package
12012 (name "sbcl-pngload")
12013 (version (git-version "2.0.0" revision commit))
12014 (source
12015 (origin
12016 (method git-fetch)
12017 (uri (git-reference
12018 (url "https://git.mfiano.net/mfiano/pngload.git")
12019 (commit commit)))
12020 (file-name (git-file-name "pngload" version))
12021 (sha256
12022 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
12023 (build-system asdf-build-system/sbcl)
12024 (inputs
12025 `(("3bz" ,sbcl-3bz)
12026 ("alexandria" ,sbcl-alexandria)
12027 ("cffi" ,sbcl-cffi)
12028 ("mmap" ,sbcl-mmap)
12029 ("parse-float" ,sbcl-parse-float)
12030 ("static-vectors" ,sbcl-static-vectors)
12031 ("swap-bytes" ,sbcl-swap-bytes)
12032 ("zpb-exif" ,sbcl-zpb-exif)))
12033 (arguments
12034 ;; Test suite disabled because of a dependency cycle.
12035 ;; pngload tests depend on opticl which depends on pngload.
12036 '(#:tests? #f))
12037 (home-page "https://git.mfiano.net/mfiano/pngload.git")
12038 (synopsis "PNG image decoder for Common Lisp")
12039 (description
12040 "This is a Common Lisp library to load images in the PNG image format,
12041 both from files on disk, or streams in memory.")
12042 (license license:expat))))
12043
12044 (define-public cl-pngload
12045 (sbcl-package->cl-source-package sbcl-pngload))
12046
12047 (define-public ecl-pngload
12048 (sbcl-package->ecl-package sbcl-pngload))
12049
12050 (define-public sbcl-opticl
12051 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12052 (revision "0"))
12053 (package
12054 (name "sbcl-opticl")
12055 (version (git-version "0.0.0" revision commit))
12056 (source
12057 (origin
12058 (method git-fetch)
12059 (uri (git-reference
12060 (url "https://github.com/slyrus/opticl")
12061 (commit commit)))
12062 (file-name (git-file-name name version))
12063 (sha256
12064 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12065 (build-system asdf-build-system/sbcl)
12066 (native-inputs
12067 `(("fiveam" ,sbcl-fiveam)))
12068 (inputs
12069 `(("alexandria" ,sbcl-alexandria)
12070 ("cl-jpeg" ,sbcl-cl-jpeg)
12071 ("cl-tga" ,sbcl-cl-tga)
12072 ("png-read" ,sbcl-png-read)
12073 ("pngload" ,sbcl-pngload)
12074 ("retrospectiff" ,sbcl-retrospectiff)
12075 ("skippy" ,sbcl-skippy)
12076 ("zpng" ,sbcl-zpng)))
12077 (arguments
12078 '(#:asd-files '("opticl.asd")))
12079 (home-page "https://github.com/slyrus/opticl")
12080 (synopsis "Image processing library for Common Lisp")
12081 (description
12082 "Opticl is a Common Lisp library for representing, processing, loading,
12083 and saving 2-dimensional pixel-based images.")
12084 (license license:bsd-2))))
12085
12086 (define-public cl-opticl
12087 (sbcl-package->cl-source-package sbcl-opticl))
12088
12089 (define-public ecl-opticl
12090 (sbcl-package->ecl-package sbcl-opticl))
12091
12092 (define-public sbcl-mcclim
12093 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
12094 (revision "1"))
12095 (package
12096 (name "sbcl-mcclim")
12097 (version (git-version "0.9.7" revision commit))
12098 (source
12099 (origin
12100 (method git-fetch)
12101 (uri (git-reference
12102 (url "https://github.com/mcclim/mcclim")
12103 (commit commit)))
12104 (file-name (git-file-name name version))
12105 (sha256
12106 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
12107 (build-system asdf-build-system/sbcl)
12108 (native-inputs
12109 `(("fiveam" ,sbcl-fiveam)
12110 ("pkg-config" ,pkg-config)))
12111 (inputs
12112 `(("alexandria" ,sbcl-alexandria)
12113 ("babel" ,sbcl-babel)
12114 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12115 ("cl-freetype2" ,sbcl-cl-freetype2)
12116 ("cl-pdf" ,sbcl-cl-pdf)
12117 ("cffi" ,sbcl-cffi)
12118 ("cl-unicode" ,sbcl-cl-unicode)
12119 ("cl-vectors" ,sbcl-cl-vectors)
12120 ("closer-mop" ,sbcl-closer-mop)
12121 ("clx" ,sbcl-clx)
12122 ("flexi-streams" ,sbcl-flexi-streams)
12123 ("flexichain" ,sbcl-flexichain)
12124 ("font-dejavu" ,font-dejavu)
12125 ("fontconfig" ,fontconfig)
12126 ("freetype" ,freetype)
12127 ("harfbuzz" ,harfbuzz)
12128 ("log4cl" ,sbcl-log4cl)
12129 ("opticl" ,sbcl-opticl)
12130 ("spatial-trees" ,sbcl-spatial-trees)
12131 ("swank" ,sbcl-slime-swank)
12132 ("trivial-features" ,sbcl-trivial-features)
12133 ("trivial-garbage" ,sbcl-trivial-garbage)
12134 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
12135 ("zpb-ttf" ,sbcl-zpb-ttf)))
12136 (arguments
12137 '(#:asd-systems '("mcclim"
12138 "clim-examples")
12139 #:phases
12140 (modify-phases %standard-phases
12141 (add-after 'unpack 'fix-paths
12142 (lambda* (#:key inputs #:allow-other-keys)
12143 ;; mcclim-truetype uses DejaVu as default font and
12144 ;; sets the path at build time.
12145 (substitute* "Extensions/fonts/fontconfig.lisp"
12146 (("/usr/share/fonts/truetype/dejavu/")
12147 (string-append (assoc-ref inputs "font-dejavu")
12148 "/share/fonts/truetype/")))
12149 (substitute* "Extensions/fontconfig/src/functions.lisp"
12150 (("libfontconfig\\.so")
12151 (string-append (assoc-ref inputs "fontconfig")
12152 "/lib/libfontconfig.so")))
12153 (substitute* "Extensions/harfbuzz/src/functions.lisp"
12154 (("libharfbuzz\\.so")
12155 (string-append (assoc-ref inputs "harfbuzz")
12156 "/lib/libharfbuzz.so")))
12157 #t))
12158 (add-after 'unpack 'fix-build
12159 (lambda _
12160 ;; The cffi-grovel system does not get loaded automatically,
12161 ;; so we load it explicitly.
12162 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
12163 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
12164 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12165 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
12166 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
12167 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12168 #t)))))
12169 (home-page "https://common-lisp.net/project/mcclim/")
12170 (synopsis "Common Lisp GUI toolkit")
12171 (description
12172 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12173 specification}, a toolkit for writing GUIs in Common Lisp.")
12174 (license license:lgpl2.1+))))
12175
12176 (define-public cl-mcclim
12177 (sbcl-package->cl-source-package sbcl-mcclim))
12178
12179 (define-public ecl-mcclim
12180 (sbcl-package->ecl-package sbcl-mcclim))
12181
12182 (define-public sbcl-cl-inflector
12183 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
12184 (revision "1"))
12185 (package
12186 (name "sbcl-cl-inflector")
12187 (version (git-version "0.2" revision commit))
12188 (source
12189 (origin
12190 (method git-fetch)
12191 (uri (git-reference
12192 (url "https://github.com/AccelerationNet/cl-inflector")
12193 (commit commit)))
12194 (file-name (git-file-name name version))
12195 (sha256
12196 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
12197 (build-system asdf-build-system/sbcl)
12198 (native-inputs
12199 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12200 (inputs
12201 `(("alexandria" ,sbcl-alexandria)
12202 ("cl-ppcre" ,sbcl-cl-ppcre)))
12203 (home-page "https://github.com/AccelerationNet/cl-inflector")
12204 (synopsis "Library to pluralize/singularize English and Portuguese words")
12205 (description
12206 "This is a common lisp library to easily pluralize and singularize
12207 English and Portuguese words. This is a port of the ruby ActiveSupport
12208 Inflector module.")
12209 (license license:expat))))
12210
12211 (define-public cl-inflector
12212 (sbcl-package->cl-source-package sbcl-cl-inflector))
12213
12214 (define-public ecl-cl-inflector
12215 (sbcl-package->ecl-package sbcl-cl-inflector))
12216
12217 (define-public sbcl-ixf
12218 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
12219 (revision "1"))
12220 (package
12221 (name "sbcl-ixf")
12222 (version (git-version "0.1.0" revision commit))
12223 (source
12224 (origin
12225 (method git-fetch)
12226 (uri (git-reference
12227 (url "https://github.com/dimitri/cl-ixf")
12228 (commit commit)))
12229 (file-name (git-file-name "cl-ixf" version))
12230 (sha256
12231 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
12232 (build-system asdf-build-system/sbcl)
12233 (inputs
12234 `(("alexandria" ,sbcl-alexandria)
12235 ("babel" ,sbcl-babel)
12236 ("cl-ppcre" ,sbcl-cl-ppcre)
12237 ("ieee-floats" ,sbcl-ieee-floats)
12238 ("local-time" ,sbcl-local-time)
12239 ("md5" ,sbcl-md5)
12240 ("split-sequence" ,sbcl-split-sequence)))
12241 (home-page "https://github.com/dimitri/cl-ixf")
12242 (synopsis "Parse IBM IXF file format")
12243 (description
12244 "This is a Common Lisp library to handle the IBM PC version of the IXF
12245 (Integration Exchange Format) file format.")
12246 (license license:public-domain))))
12247
12248 (define-public ecl-ixf
12249 (sbcl-package->ecl-package sbcl-ixf))
12250
12251 (define-public cl-ixf
12252 (sbcl-package->cl-source-package sbcl-ixf))
12253
12254 (define-public sbcl-qbase64
12255 (package
12256 (name "sbcl-qbase64")
12257 (version "0.3.0")
12258 (source
12259 (origin
12260 (method git-fetch)
12261 (uri (git-reference
12262 (url "https://github.com/chaitanyagupta/qbase64")
12263 (commit version)))
12264 (file-name (git-file-name name version))
12265 (sha256
12266 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
12267 (build-system asdf-build-system/sbcl)
12268 (inputs
12269 `(("metabang-bind" ,sbcl-metabang-bind)
12270 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12271 (native-inputs
12272 `(("fiveam" ,sbcl-fiveam)))
12273 (home-page "https://github.com/chaitanyagupta/qbase64")
12274 (synopsis "Base64 encoder and decoder for Common Lisp")
12275 (description "@code{qbase64} provides a fast and flexible base64 encoder
12276 and decoder for Common Lisp.")
12277 (license license:bsd-3)))
12278
12279 (define-public cl-qbase64
12280 (sbcl-package->cl-source-package sbcl-qbase64))
12281
12282 (define-public ecl-qbase64
12283 (sbcl-package->ecl-package sbcl-qbase64))
12284
12285 (define-public sbcl-lw-compat
12286 ;; No release since 2013.
12287 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
12288 (package
12289 (name "sbcl-lw-compat")
12290 (version (git-version "1.0.0" "1" commit))
12291 (source
12292 (origin
12293 (method git-fetch)
12294 (uri (git-reference
12295 (url "https://github.com/pcostanza/lw-compat/")
12296 (commit commit)))
12297 (file-name (git-file-name name version))
12298 (sha256
12299 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
12300 (build-system asdf-build-system/sbcl)
12301 (home-page "https://github.com/pcostanza/lw-compat/")
12302 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
12303 (description "This package contains a few utility functions from the
12304 LispWorks library that are used in software such as ContextL.")
12305 (license license:expat))))
12306
12307 (define-public cl-lw-compat
12308 (sbcl-package->cl-source-package sbcl-lw-compat))
12309
12310 (define-public ecl-lw-compat
12311 (sbcl-package->ecl-package sbcl-lw-compat))
12312
12313 (define-public sbcl-contextl
12314 ;; No release since 2013.
12315 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
12316 (package
12317 (name "sbcl-contextl")
12318 (version (git-version "1.0.0" "1" commit))
12319 (source
12320 (origin
12321 (method git-fetch)
12322 (uri (git-reference
12323 (url "https://github.com/pcostanza/contextl/")
12324 (commit commit)))
12325 (file-name (git-file-name name version))
12326 (sha256
12327 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
12328 (build-system asdf-build-system/sbcl)
12329 (inputs
12330 `(("closer-mop" ,sbcl-closer-mop)
12331 ("lw-compat" ,sbcl-lw-compat)))
12332 (home-page "https://github.com/pcostanza/contextl")
12333 (synopsis "Context-oriented programming for Common Lisp")
12334 (description "ContextL is a CLOS extension for Context-Oriented
12335 Programming (COP).
12336
12337 Find overview of ContextL's features in an overview paper:
12338 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
12339 overview article about COP which also contains some ContextL examples:
12340 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
12341 (license license:expat))))
12342
12343 (define-public cl-contextl
12344 (sbcl-package->cl-source-package sbcl-contextl))
12345
12346 (define-public ecl-contextl
12347 (sbcl-package->ecl-package sbcl-contextl))
12348
12349 (define-public sbcl-hu.dwim.common-lisp
12350 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
12351 (package
12352 (name "sbcl-hu.dwim.common-lisp")
12353 (version "2021-01-27")
12354 (source
12355 (origin
12356 (method git-fetch)
12357 (uri (git-reference
12358 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
12359 (commit commit)))
12360 (file-name (git-file-name name version))
12361 (sha256
12362 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
12363 (build-system asdf-build-system/sbcl)
12364 (native-inputs
12365 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12366 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
12367 (synopsis "Redefine some standard Common Lisp names")
12368 (description "This library is a redefinition of the standard Common Lisp
12369 package that includes a number of renames and shadows. ")
12370 (license license:public-domain))))
12371
12372 (define-public cl-hu.dwim.common-lisp
12373 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12374
12375 (define-public ecl-hu.dwim.common-lisp
12376 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
12377
12378 (define-public sbcl-hu.dwim.common
12379 (package
12380 (name "sbcl-hu.dwim.common")
12381 (version "2015-07-09")
12382 (source
12383 (origin
12384 (method url-fetch)
12385 (uri (string-append
12386 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12387 version "/hu.dwim.common-"
12388 (string-replace-substring version "-" "")
12389 "-darcs.tgz"))
12390 (sha256
12391 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12392 (build-system asdf-build-system/sbcl)
12393 (native-inputs
12394 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12395 (inputs
12396 `(("alexandria" ,sbcl-alexandria)
12397 ("anaphora" ,sbcl-anaphora)
12398 ("closer-mop" ,sbcl-closer-mop)
12399 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12400 ("iterate" ,sbcl-iterate)
12401 ("metabang-bind" ,sbcl-metabang-bind)))
12402 (home-page "http://dwim.hu/")
12403 (synopsis "Common Lisp library shared by other hu.dwim systems")
12404 (description "This package contains a support library for other
12405 hu.dwim systems.")
12406 (license license:public-domain)))
12407
12408 (define-public cl-hu.dwim.common
12409 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12410
12411 (define-public ecl-hu.dwim.common
12412 (sbcl-package->ecl-package sbcl-hu.dwim.common))
12413
12414 (define-public sbcl-hu.dwim.defclass-star
12415 (let ((commit "3086878a485074f9b2913c58267a9b764cd632fd"))
12416 (package
12417 (name "sbcl-hu.dwim.defclass-star")
12418 ;; We used to set version from the date when it was a darcs repo, so we
12419 ;; keep the year so that package gets updated on previous installs.
12420 (version (git-version "2021" "2" commit))
12421 (source
12422 (origin
12423 (method git-fetch)
12424 (uri (git-reference
12425 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12426 (commit commit)))
12427 (file-name (git-file-name name version))
12428 (sha256
12429 (base32 "19ipds9r71qymfdp4izg0l7zmvinp06adr8rdalhaq7v7mzpg83z"))))
12430 (build-system asdf-build-system/sbcl)
12431 (native-inputs
12432 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12433 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12434 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12435 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12436 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12437 (arguments
12438 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12439 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12440 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12441 #:tests? #f))
12442 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12443 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12444 (description "@code{defclass-star} provides defclass* and defcondition* to
12445 simplify class and condition declarations. Features include:
12446
12447 @itemize
12448 @item Automatically export all or select slots at compile time.
12449 @item Define the @code{:initarg} and @code{:accessor} automatically.
12450 @item Specify a name transformer for both the @code{:initarg} and
12451 @code{:accessor}, etc.
12452 @item Specify the @code{:initform} as second slot value.
12453 @end itemize
12454
12455 See
12456 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12457 for an example.")
12458 (license license:public-domain))))
12459
12460 (define-public cl-hu.dwim.defclass-star
12461 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12462
12463 (define-public ecl-hu.dwim.defclass-star
12464 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12465
12466 (define-public sbcl-livesupport
12467 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12468 (revision "1"))
12469 (package
12470 (name "sbcl-livesupport")
12471 (version (git-version "0.0.0" revision commit))
12472 (source
12473 (origin
12474 (method git-fetch)
12475 (uri (git-reference
12476 (url "https://github.com/cbaggers/livesupport")
12477 (commit commit)))
12478 (file-name (git-file-name name version))
12479 (sha256
12480 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12481 (build-system asdf-build-system/sbcl)
12482 (home-page "https://github.com/cbaggers/livesupport")
12483 (synopsis "Some helpers that make livecoding a little easier")
12484 (description "This package provides a macro commonly used in livecoding to
12485 enable continuing when errors are raised. Simply wrap around a chunk of code
12486 and it provides a restart called @code{continue} which ignores the error and
12487 carrys on from the end of the body.")
12488 (license license:bsd-2))))
12489
12490 (define-public cl-livesupport
12491 (sbcl-package->cl-source-package sbcl-livesupport))
12492
12493 (define-public ecl-livesupport
12494 (sbcl-package->ecl-package sbcl-livesupport))
12495
12496 (define-public sbcl-envy
12497 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12498 (revision "1"))
12499 (package
12500 (name "sbcl-envy")
12501 (version (git-version "0.1" revision commit))
12502 (home-page "https://github.com/fukamachi/envy")
12503 (source
12504 (origin
12505 (method git-fetch)
12506 (uri (git-reference
12507 (url home-page)
12508 (commit commit)))
12509 (file-name (git-file-name name version))
12510 (sha256
12511 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12512 (build-system asdf-build-system/sbcl)
12513 ;; (native-inputs ; Only for tests.
12514 ;; `(("prove" ,sbcl-prove)
12515 ;; ("osicat" ,sbcl-osicat)))
12516 (arguments
12517 '(#:phases
12518 (modify-phases %standard-phases
12519 (add-after 'unpack 'fix-tests
12520 (lambda _
12521 (substitute* "envy-test.asd"
12522 (("cl-test-more") "prove"))
12523 #t)))
12524 ;; Tests fail with
12525 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12526 ;; like xsubseq. Why?
12527 #:tests? #f))
12528 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12529 (description "Envy is a configuration manager for various applications.
12530 Envy uses an environment variable to determine a configuration to use. This
12531 can separate configuration system from an implementation.")
12532 (license license:bsd-2))))
12533
12534 (define-public cl-envy
12535 (sbcl-package->cl-source-package sbcl-envy))
12536
12537 (define-public ecl-envy
12538 (sbcl-package->ecl-package sbcl-envy))
12539
12540 (define-public sbcl-mito
12541 (let ((commit "2fbfc8aa6f9e3e8029bf09888c74b9af98dad341")
12542 (revision "2"))
12543 (package
12544 (name "sbcl-mito")
12545 (version (git-version "0.1" revision commit))
12546 (home-page "https://github.com/fukamachi/mito")
12547 (source
12548 (origin
12549 (method git-fetch)
12550 (uri (git-reference
12551 (url home-page)
12552 (commit commit)))
12553 (file-name (git-file-name "mito" version))
12554 (sha256
12555 (base32 "1a9kivpy9j2grf1c6gdjk7fwcdlvvq67p3m98jyfhiyzj7axjymd"))))
12556 (build-system asdf-build-system/sbcl)
12557 (native-inputs
12558 `(("prove" ,sbcl-prove)))
12559 (inputs
12560 `(("alexandria" ,sbcl-alexandria)
12561 ("cl-package-locks" ,sbcl-cl-package-locks)
12562 ("cl-ppcre" ,sbcl-cl-ppcre)
12563 ("cl-reexport" ,sbcl-cl-reexport)
12564 ("closer-mop" ,sbcl-closer-mop)
12565 ("dbi" ,sbcl-dbi)
12566 ("dissect" ,sbcl-dissect)
12567 ("esrap" ,sbcl-esrap)
12568 ("local-time" ,sbcl-local-time)
12569 ("sxql" ,sbcl-sxql)
12570 ("trivia" ,sbcl-trivia)
12571 ("uuid" ,sbcl-uuid)))
12572 (arguments
12573 '(#:phases
12574 (modify-phases %standard-phases
12575 (add-after 'unpack 'remove-non-functional-tests
12576 (lambda _
12577 (substitute* "mito-test.asd"
12578 (("\\(:test-file \"db/mysql\"\\)") "")
12579 (("\\(:test-file \"db/postgres\"\\)") "")
12580 (("\\(:test-file \"dao\"\\)") "")
12581 ;; TODO: migration/sqlite3 should work, re-enable once
12582 ;; upstream has fixed it:
12583 ;; https://github.com/fukamachi/mito/issues/70
12584 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12585 (("\\(:test-file \"migration/mysql\"\\)") "")
12586 (("\\(:test-file \"migration/postgres\"\\)") "")
12587 (("\\(:test-file \"postgres-types\"\\)") "")
12588 (("\\(:test-file \"mixin\"\\)") ""))
12589 #t)))
12590 ;; TODO: While all enabled tests pass, the phase fails with:
12591 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12592 #:tests? #f))
12593 (synopsis "ORM for Common Lisp with migrations and relationships support")
12594 (description "Mito is yet another object relational mapper, and it aims
12595 to be a successor of Integral.
12596
12597 @itemize
12598 @item Support MySQL, PostgreSQL and SQLite3.
12599 @item Add id (serial/uuid primary key), created_at and updated_at by default
12600 like Ruby's ActiveRecord.
12601 @item Migrations.
12602 @item Database schema versioning.
12603 @end itemize\n")
12604 (license license:llgpl))))
12605
12606 (define-public cl-mito
12607 (sbcl-package->cl-source-package sbcl-mito))
12608
12609 (define-public ecl-mito
12610 (sbcl-package->ecl-package sbcl-mito))
12611
12612 (define-public sbcl-kebab
12613 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12614 (revision "1"))
12615 (package
12616 (name "sbcl-kebab")
12617 (version (git-version "0.1" revision commit))
12618 (home-page "https://github.com/pocket7878/kebab")
12619 (source
12620 (origin
12621 (method git-fetch)
12622 (uri (git-reference
12623 (url home-page)
12624 (commit commit)))
12625 (file-name (git-file-name name version))
12626 (sha256
12627 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12628 (build-system asdf-build-system/sbcl)
12629 (inputs
12630 `(("cl-ppcre" ,sbcl-cl-ppcre)
12631 ("alexandria" ,sbcl-alexandria)
12632 ("cl-interpol" ,sbcl-cl-interpol)
12633 ("split-sequence" ,sbcl-split-sequence)))
12634 (native-inputs
12635 `(("prove" ,sbcl-prove)))
12636 (arguments
12637 ;; Tests passes but the phase fails with
12638 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12639 `(#:tests? #f))
12640 (synopsis "Common Lisp case converter")
12641 (description "This Common Lisp library converts strings, symbols and
12642 keywords between any of the following typographical cases: PascalCase,
12643 camelCase, snake_case, kebab-case (lisp-case).")
12644 (license license:llgpl))))
12645
12646 (define-public cl-kebab
12647 (sbcl-package->cl-source-package sbcl-kebab))
12648
12649 (define-public ecl-kebab
12650 (sbcl-package->ecl-package sbcl-kebab))
12651
12652 (define-public sbcl-datafly
12653 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12654 (revision "1"))
12655 (package
12656 (name "sbcl-datafly")
12657 (version (git-version "0.1" revision commit))
12658 (home-page "https://github.com/fukamachi/datafly")
12659 (source
12660 (origin
12661 (method git-fetch)
12662 (uri (git-reference
12663 (url home-page)
12664 (commit commit)))
12665 (file-name (git-file-name name version))
12666 (sha256
12667 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12668 (build-system asdf-build-system/sbcl)
12669 (inputs
12670 `(("alexandria" ,sbcl-alexandria)
12671 ("iterate" ,sbcl-iterate)
12672 ("optima" ,sbcl-optima)
12673 ("trivial-types" ,sbcl-trivial-types)
12674 ("closer-mop" ,sbcl-closer-mop)
12675 ("cl-syntax" ,sbcl-cl-syntax)
12676 ("sxql" ,sbcl-sxql)
12677 ("dbi" ,sbcl-dbi)
12678 ("babel" ,sbcl-babel)
12679 ("local-time" ,sbcl-local-time)
12680 ("function-cache" ,sbcl-function-cache)
12681 ("jonathan" ,sbcl-jonathan)
12682 ("kebab" ,sbcl-kebab)
12683 ("log4cl" ,sbcl-log4cl)))
12684 (native-inputs
12685 `(("prove" ,sbcl-prove)))
12686 (arguments
12687 ;; TODO: Tests fail with
12688 ;; While evaluating the form starting at line 22, column 0
12689 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12690 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12691 ;; {10009F8083}>:
12692 ;; Error when binding parameter 1 to value NIL.
12693 ;; Code RANGE: column index out of range.
12694 `(#:tests? #f))
12695 (synopsis "Lightweight database library for Common Lisp")
12696 (description "Datafly is a lightweight database library for Common Lisp.")
12697 (license license:bsd-3))))
12698
12699 (define-public cl-datafly
12700 (sbcl-package->cl-source-package sbcl-datafly))
12701
12702 (define-public ecl-datafly
12703 (sbcl-package->ecl-package sbcl-datafly))
12704
12705 (define-public sbcl-do-urlencode
12706 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12707 (revision "1"))
12708 (package
12709 (name "sbcl-do-urlencode")
12710 (version (git-version "0.0.0" revision commit))
12711 (home-page "https://github.com/drdo/do-urlencode")
12712 (source
12713 (origin
12714 (method git-fetch)
12715 (uri (git-reference
12716 (url home-page)
12717 (commit commit)))
12718 (file-name (git-file-name name version))
12719 (sha256
12720 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12721 (build-system asdf-build-system/sbcl)
12722 (inputs
12723 `(("alexandria" ,sbcl-alexandria)
12724 ("babel" ,sbcl-babel)))
12725 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12726 (description "This library provides trivial percent encoding and
12727 decoding functions for URLs.")
12728 (license license:isc))))
12729
12730 (define-public cl-do-urlencode
12731 (sbcl-package->cl-source-package sbcl-do-urlencode))
12732
12733 (define-public ecl-do-urlencode
12734 (sbcl-package->ecl-package sbcl-do-urlencode))
12735
12736 (define-public sbcl-cl-emb
12737 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12738 (revision "1"))
12739 (package
12740 (name "sbcl-cl-emb")
12741 (version (git-version "0.4.3" revision commit))
12742 (home-page "https://common-lisp.net/project/cl-emb/")
12743 (source
12744 (origin
12745 (method git-fetch)
12746 (uri (git-reference
12747 (url "https://github.com/38a938c2/cl-emb")
12748 (commit commit)))
12749 (file-name (git-file-name name version))
12750 (sha256
12751 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12752 (build-system asdf-build-system/sbcl)
12753 (inputs
12754 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12755 (synopsis "Templating system for Common Lisp")
12756 (description "A mixture of features from eRuby and HTML::Template. You
12757 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12758 that and not limited to a certain server or text format.")
12759 (license license:llgpl))))
12760
12761 (define-public cl-emb
12762 (sbcl-package->cl-source-package sbcl-cl-emb))
12763
12764 (define-public ecl-cl-emb
12765 (sbcl-package->ecl-package sbcl-cl-emb))
12766
12767 (define-public sbcl-cl-project
12768 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12769 (revision "1"))
12770 (package
12771 (name "sbcl-cl-project")
12772 (version (git-version "0.3.1" revision commit))
12773 (home-page "https://github.com/fukamachi/cl-project")
12774 (source
12775 (origin
12776 (method git-fetch)
12777 (uri (git-reference
12778 (url home-page)
12779 (commit commit)))
12780 (file-name (git-file-name name version))
12781 (sha256
12782 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12783 (build-system asdf-build-system/sbcl)
12784 (inputs
12785 `(("cl-emb" ,sbcl-cl-emb)
12786 ("cl-ppcre" ,sbcl-cl-ppcre)
12787 ("local-time" ,sbcl-local-time)
12788 ("prove" ,sbcl-prove)))
12789 (arguments
12790 ;; Tests depend on caveman, which in turns depends on cl-project.
12791 '(#:tests? #f
12792 #:asd-files '("cl-project.asd")))
12793 (synopsis "Generate a skeleton for modern Common Lisp projects")
12794 (description "This library provides a modern project skeleton generator.
12795 In contract with other generators, CL-Project generates one package per file
12796 and encourages unit testing by generating a system for unit testing, so you
12797 can begin writing unit tests as soon as the project is generated.")
12798 (license license:llgpl))))
12799
12800 (define-public cl-project
12801 (sbcl-package->cl-source-package sbcl-cl-project))
12802
12803 (define-public ecl-cl-project
12804 (sbcl-package->ecl-package sbcl-cl-project))
12805
12806 (define-public sbcl-caveman
12807 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12808 (revision "1"))
12809 (package
12810 (name "sbcl-caveman")
12811 (version (git-version "2.4.0" revision commit))
12812 (home-page "http://8arrow.org/caveman/")
12813 (source
12814 (origin
12815 (method git-fetch)
12816 (uri (git-reference
12817 (url "https://github.com/fukamachi/caveman/")
12818 (commit commit)))
12819 (file-name (git-file-name name version))
12820 (sha256
12821 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12822 (build-system asdf-build-system/sbcl)
12823 (inputs
12824 `(("ningle" ,cl-ningle)
12825 ("lack" ,sbcl-lack)
12826 ("cl-project" ,sbcl-cl-project)
12827 ("dbi" ,sbcl-dbi)
12828 ("cl-syntax" ,sbcl-cl-syntax)
12829 ("myway" ,sbcl-myway)
12830 ("quri" ,sbcl-quri)))
12831 (native-inputs
12832 `(("usocket" ,sbcl-usocket)
12833 ("dexador" ,sbcl-dexador)))
12834 (arguments
12835 `(#:asd-files '("caveman2.asd")
12836 #:asd-systems '("caveman2")
12837 #:phases
12838 (modify-phases %standard-phases
12839 (add-after 'unpack 'remove-v1
12840 (lambda _
12841 (delete-file-recursively "v1")
12842 (for-each delete-file
12843 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12844 ;; TODO: Tests fail with:
12845 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12846 ;; While evaluating the form starting at line 38, column 0
12847 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12848 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12849 ;; {10009F8083}>:
12850 ;; Component "myapp573" not found
12851 #:tests? #f))
12852 (synopsis "Lightweight web application framework in Common Lisp")
12853 (description "Caveman is intended to be a collection of common parts for
12854 web applications. Caveman2 has three design goals:
12855
12856 @itemize
12857 @item Be extensible.
12858 @item Be practical.
12859 @item Don't force anything.
12860 @end itemize\n")
12861 (license license:llgpl))))
12862
12863 (define-public cl-caveman
12864 (package
12865 (inherit
12866 (sbcl-package->cl-source-package sbcl-caveman))
12867 (propagated-inputs
12868 `(("ningle" ,cl-ningle)))))
12869
12870 (define-public ecl-caveman
12871 (sbcl-package->ecl-package sbcl-caveman))
12872
12873 (define-public sbcl-lambda-fiddle
12874 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12875 (revision "1"))
12876 (package
12877 (name "sbcl-lambda-fiddle")
12878 (version (git-version "1.0.0" revision commit))
12879 (source
12880 (origin
12881 (method git-fetch)
12882 (uri (git-reference
12883 (url "https://github.com/Shinmera/lambda-fiddle")
12884 (commit commit)))
12885 (file-name (git-file-name name version))
12886 (sha256
12887 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12888 (build-system asdf-build-system/sbcl)
12889 (home-page "https://github.com/Shinmera/lambda-fiddle")
12890 (synopsis "Collection of utilities to process lambda-lists")
12891 (description "This collection of utilities is useful in contexts where
12892 you want a macro that uses lambda-lists in some fashion but need more precise
12893 processing.")
12894 (license license:zlib))))
12895
12896 (define-public cl-lambda-fiddle
12897 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12898
12899 (define-public ecl-lambda-fiddle
12900 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12901
12902 (define-public sbcl-xmls
12903 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12904 (revision "1"))
12905 (package
12906 (name "sbcl-xmls")
12907 (version (git-version "3.0.2" revision commit))
12908 (source
12909 (origin
12910 (method git-fetch)
12911 (uri (git-reference
12912 (url "https://github.com/rpgoldman/xmls")
12913 (commit commit)))
12914 (file-name (git-file-name name version))
12915 (sha256
12916 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12917 (native-inputs
12918 `(("fiveam" ,sbcl-fiveam)))
12919 (build-system asdf-build-system/sbcl)
12920 (home-page "https://github.com/rpgoldman/xmls")
12921 (synopsis "Non-validating XML parser for Common Lisp")
12922 (description "Xmls is a self-contained, easily embedded parser that
12923 recognizes a useful subset of the XML spec. It provides a simple mapping from
12924 XML to Lisp structures or s-expressions and back.")
12925 (license license:bsd-2))))
12926
12927 (define-public cl-xmls
12928 (sbcl-package->cl-source-package sbcl-xmls))
12929
12930 (define-public ecl-xmls
12931 (let ((pkg (sbcl-package->ecl-package sbcl-xmls)))
12932 (package
12933 (inherit pkg)
12934 (arguments
12935 (substitute-keyword-arguments (package-arguments pkg)
12936 ;; Upstream doesn't have a test suite adapted for ECL.
12937 ((#:tests? _ #f) #f))))))
12938
12939 (define-public sbcl-geco
12940 (package
12941 (name "sbcl-geco")
12942 (version "2.1.1")
12943 (source
12944 (origin
12945 (method git-fetch)
12946 (uri (git-reference
12947 (url "https://github.com/gpwwjr/GECO")
12948 (commit (string-append "v" version))))
12949 (file-name (git-file-name "geco" version))
12950 (sha256
12951 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12952 (build-system asdf-build-system/sbcl)
12953 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12954 (synopsis "Genetic algorithm toolkit for Common Lisp")
12955 (description
12956 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12957 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12958 (license license:lgpl2.1+)))
12959
12960 (define-public cl-geco
12961 (sbcl-package->cl-source-package sbcl-geco))
12962
12963 (define-public ecl-geco
12964 (sbcl-package->ecl-package sbcl-geco))
12965
12966 (define-public sbcl-html-entities
12967 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12968 (package
12969 (name "sbcl-html-entities")
12970 (version (git-version "0.02" "1" commit))
12971 (source
12972 (origin
12973 (method git-fetch)
12974 (uri (git-reference
12975 (url "https://github.com/BnMcGn/html-entities/")
12976 (commit commit)))
12977 (file-name (git-file-name name version))
12978 (sha256
12979 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12980 (build-system asdf-build-system/sbcl)
12981 (inputs
12982 `(("ppcre" ,sbcl-cl-ppcre)))
12983 (native-inputs
12984 `(("fiveam" ,sbcl-fiveam)))
12985 (home-page "https://github.com/BnMcGn/html-entities/")
12986 (synopsis "Encode and decode entities in HTML with Common Lisp")
12987 (description "Html-entities is a Common Lisp library that lets you
12988 encode and decode entities in HTML.")
12989 (license license:expat))))
12990
12991 (define-public cl-html-entities
12992 (sbcl-package->cl-source-package sbcl-html-entities))
12993
12994 (define-public ecl-html-entities
12995 (sbcl-package->ecl-package sbcl-html-entities))
12996
12997 (define-public sbcl-quicksearch
12998 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12999 (package
13000 (name "sbcl-quicksearch")
13001 (version (git-version "0.01.04" "1" commit))
13002 (source
13003 (origin
13004 (method git-fetch)
13005 (uri (git-reference
13006 (url "https://github.com/tkych/quicksearch/")
13007 (commit commit)))
13008 (file-name (git-file-name name version))
13009 (sha256
13010 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
13011 (build-system asdf-build-system/sbcl)
13012 (inputs
13013 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13014 ("iterate" ,sbcl-iterate)
13015 ("alexandria" ,sbcl-alexandria)
13016 ("anaphora" ,sbcl-anaphora)
13017 ("ppcre" ,sbcl-cl-ppcre)
13018 ("drakma" ,sbcl-drakma)
13019 ("html-entities" ,sbcl-html-entities)
13020 ("yason" ,sbcl-yason)
13021 ("flexi-streams" ,sbcl-flexi-streams)
13022 ("do-urlencode" ,sbcl-do-urlencode)))
13023 (home-page "https://github.com/tkych/quicksearch/")
13024 (synopsis "Search Engine Interface for Common Lisp packages")
13025 (description "Quicksearch is a search-engine-interface for Common Lisp.
13026 The goal of Quicksearch is to find the Common Lisp library quickly. For
13027 example, if you will find the library about json, just type @code{(qs:?
13028 'json)} at REPL.
13029
13030 The function @code{quicksearch} searches for Common Lisp projects in
13031 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
13032 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
13033 (license license:expat))))
13034
13035 (define-public cl-quicksearch
13036 (sbcl-package->cl-source-package sbcl-quicksearch))
13037
13038 (define-public ecl-quicksearch
13039 (sbcl-package->ecl-package sbcl-quicksearch))
13040
13041 (define-public sbcl-agutil
13042 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
13043 (package
13044 (name "sbcl-agutil")
13045 (version (git-version "0.0.1" "1" commit))
13046 (source
13047 (origin
13048 (method git-fetch)
13049 (uri (git-reference
13050 (url "https://github.com/alex-gutev/agutil/")
13051 (commit commit)))
13052 (file-name (git-file-name name version))
13053 (sha256
13054 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
13055 (build-system asdf-build-system/sbcl)
13056 (inputs
13057 `(("alexandria" ,sbcl-alexandria)
13058 ("trivia" ,sbcl-trivia)))
13059 (home-page "https://github.com/alex-gutev/agutil/")
13060 (synopsis "Collection of Common Lisp utilities")
13061 (description "A collection of Common Lisp utility functions and macros
13062 mostly not found in other utility packages.")
13063 (license license:expat))))
13064
13065 (define-public cl-agutil
13066 (sbcl-package->cl-source-package sbcl-agutil))
13067
13068 (define-public ecl-agutil
13069 (sbcl-package->ecl-package sbcl-agutil))
13070
13071 (define-public sbcl-custom-hash-table
13072 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
13073 (package
13074 (name "sbcl-custom-hash-table")
13075 (version (git-version "0.3" "1" commit))
13076 (source
13077 (origin
13078 (method git-fetch)
13079 (uri (git-reference
13080 (url "https://github.com/metawilm/cl-custom-hash-table")
13081 (commit commit)))
13082 (file-name (git-file-name name version))
13083 (sha256
13084 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
13085 (build-system asdf-build-system/sbcl)
13086 (arguments
13087 '(#:asd-files '("cl-custom-hash-table.asd")
13088 #:asd-systems '("cl-custom-hash-table")))
13089 (home-page "https://github.com/metawilm/cl-custom-hash-table")
13090 (synopsis "Custom hash tables for Common Lisp")
13091 (description "This library allows creation of hash tables with arbitrary
13092 @code{test}/@code{hash} functions, in addition to the @code{test} functions
13093 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
13094 @code{EQUALP}), even in implementations that don't support this functionality
13095 directly.")
13096 (license license:expat))))
13097
13098 (define-public cl-custom-hash-table
13099 (sbcl-package->cl-source-package sbcl-custom-hash-table))
13100
13101 (define-public ecl-custom-hash-table
13102 (sbcl-package->ecl-package sbcl-custom-hash-table))
13103
13104 (define-public sbcl-collectors
13105 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
13106 (package
13107 (name "sbcl-collectors")
13108 (version (git-version "0.1" "1" commit))
13109 (source
13110 (origin
13111 (method git-fetch)
13112 (uri (git-reference
13113 (url "https://github.com/AccelerationNet/collectors")
13114 (commit commit)))
13115 (file-name (git-file-name name version))
13116 (sha256
13117 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
13118 (build-system asdf-build-system/sbcl)
13119 (inputs
13120 `(("alexandria" ,sbcl-alexandria)
13121 ("closer-mop" ,sbcl-closer-mop)
13122 ("symbol-munger" ,sbcl-symbol-munger)))
13123 (native-inputs
13124 `(("lisp-unit2" ,sbcl-lisp-unit2)))
13125 (home-page "https://github.com/AccelerationNet/collectors/")
13126 (synopsis "Common lisp library providing collector macros")
13127 (description "A small collection of common lisp macros to make
13128 collecting values easier.")
13129 (license license:bsd-3))))
13130
13131 (define-public cl-collectors
13132 (sbcl-package->cl-source-package sbcl-collectors))
13133
13134 (define-public ecl-collectors
13135 (sbcl-package->ecl-package sbcl-collectors))
13136
13137 (define-public sbcl-cl-environments
13138 (package
13139 (name "sbcl-cl-environments")
13140 (version "0.4")
13141 (source
13142 (origin
13143 (method git-fetch)
13144 (uri (git-reference
13145 (url "https://github.com/alex-gutev/cl-environments")
13146 (commit (string-append "v" version))))
13147 (file-name (git-file-name "cl-environments" version))
13148 (sha256
13149 (base32 "10jxj043d2dw5vc0i0lz0lsa4qszn8him5is8jdhl4nsyfcazmky"))))
13150 (build-system asdf-build-system/sbcl)
13151 (inputs
13152 `(("alexandria" ,sbcl-alexandria)
13153 ("anaphora" ,sbcl-anaphora)
13154 ("collectors" ,sbcl-collectors)
13155 ("optima" ,sbcl-optima)))
13156 (native-inputs
13157 `(("prove" ,sbcl-prove)))
13158 (home-page "https://github.com/alex-gutev/cl-environments")
13159 (synopsis "Implements the Common Lisp standard environment access API")
13160 (description
13161 "This library provides a uniform API, as specified in Common Lisp the
13162 Language 2, for accessing information about variable and function bindings
13163 from implementation-defined lexical environment objects. All major Common
13164 Lisp implementations are supported, even those which don't support the CLTL2
13165 environment access API.")
13166 (license license:expat)))
13167
13168 (define-public cl-environments
13169 (sbcl-package->cl-source-package sbcl-cl-environments))
13170
13171 (define-public ecl-cl-environments
13172 (sbcl-package->ecl-package sbcl-cl-environments))
13173
13174 (define-public sbcl-static-dispatch
13175 (package
13176 (name "sbcl-static-dispatch")
13177 (version "0.5.1")
13178 (source
13179 (origin
13180 (method git-fetch)
13181 (uri (git-reference
13182 (url "https://github.com/alex-gutev/static-dispatch")
13183 (commit (string-append "v" version))))
13184 (file-name (git-file-name "static-dispatch" version))
13185 (sha256
13186 (base32 "1602vx6ybp0n8mbrrp6q8397fkkyvhrqpahc302pjdb57qildajz"))))
13187 (build-system asdf-build-system/sbcl)
13188 (native-inputs
13189 `(("fiveam" ,sbcl-fiveam)))
13190 (inputs
13191 `(("agutil" ,sbcl-agutil)
13192 ("alexandria" ,sbcl-alexandria)
13193 ("anaphora" ,sbcl-anaphora)
13194 ("arrows" ,sbcl-arrows)
13195 ("cl-environments" ,sbcl-cl-environments)
13196 ("closer-mop" ,sbcl-closer-mop)
13197 ("iterate" ,sbcl-iterate)
13198 ("optima" ,sbcl-optima)))
13199 (home-page "https://github.com/alex-gutev/static-dispatch")
13200 (synopsis "Static generic function dispatch for Common Lisp")
13201 (description "Static dispatch is a Common Lisp library, inspired by
13202 @code{inlined-generic-function}, which allows standard Common Lisp generic
13203 function dispatch to be performed statically (at compile time) rather than
13204 dynamically (runtime). This is similar to what is known as \"overloading\" in
13205 languages such as C++ and Java.
13206
13207 The purpose of static dispatch is to provide an optimization in cases where
13208 the usual dynamic dispatch is too slow, and the dynamic features of generic
13209 functions, such as adding/removing methods at runtime are not required. An
13210 example of such a case is a generic equality comparison function. Currently
13211 generic functions are considered far too slow to implement generic arithmetic
13212 and comparison operations when used heavily in numeric code.")
13213 (license license:expat)))
13214
13215 (define-public cl-static-dispatch
13216 (sbcl-package->cl-source-package sbcl-static-dispatch))
13217
13218 (define-public ecl-static-dispatch
13219 (sbcl-package->ecl-package sbcl-static-dispatch))
13220
13221 (define-public sbcl-generic-cl
13222 ;; Latest commit includes a necessary fix for our Guix build.
13223 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
13224 (package
13225 (name "sbcl-generic-cl")
13226 (version (git-version "0.7.1" "1" commit))
13227 (source
13228 (origin
13229 (method git-fetch)
13230 (uri (git-reference
13231 (url "https://github.com/alex-gutev/generic-cl")
13232 (commit commit)))
13233 (file-name (git-file-name name version))
13234 (sha256
13235 (base32
13236 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
13237 (build-system asdf-build-system/sbcl)
13238 (inputs
13239 `(("agutil" ,sbcl-agutil)
13240 ("alexandria" ,sbcl-alexandria)
13241 ("anaphora" ,sbcl-anaphora)
13242 ("arrows" ,sbcl-arrows)
13243 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
13244 ("static-dispatch" ,sbcl-static-dispatch)
13245 ("trivia" ,sbcl-trivia)))
13246 (native-inputs
13247 `(("prove" ,sbcl-prove)))
13248 (arguments
13249 ;; Tests fail because SBCL head size is not high enough.
13250 ;; https://github.com/alex-gutev/generic-cl/issues/6
13251 `(#:tests? #f))
13252 (home-page "https://alex-gutev.github.io/generic-cl/")
13253 (synopsis "Generic function interface to standard Common Lisp functions")
13254 (description "@code{generic-cl} provides a generic function wrapper over
13255 various functions in the Common Lisp standard, such as equality predicates and
13256 sequence operations. The goal of this wrapper is to provide a standard
13257 interface to common operations, such as testing for the equality of two
13258 objects, which is extensible to user-defined types.")
13259 (license license:expat))))
13260
13261 (define-public cl-generic-cl
13262 (sbcl-package->cl-source-package sbcl-generic-cl))
13263
13264 (define-public ecl-generic-cl
13265 (sbcl-package->ecl-package sbcl-generic-cl))
13266
13267 (define-public sbcl-defpackage-plus
13268 (let ((revision "0")
13269 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
13270 (package
13271 (name "sbcl-defpackage-plus")
13272 (version (git-version "1.0" revision commit))
13273 (source
13274 (origin
13275 (method git-fetch)
13276 (uri (git-reference
13277 (url "https://github.com/rpav/defpackage-plus")
13278 (commit commit)))
13279 (file-name (git-file-name name version))
13280 (sha256
13281 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
13282 (build-system asdf-build-system/sbcl)
13283 (inputs
13284 `(("alexandria" ,sbcl-alexandria)))
13285 (home-page "https://github.com/rpav/defpackage-plus")
13286 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
13287 (description
13288 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
13289 predictable cross-platform behavior and some utilities useful for versioning.")
13290 (license license:bsd-2))))
13291
13292 (define-public cl-defpackage-plus
13293 (sbcl-package->cl-source-package sbcl-defpackage-plus))
13294
13295 (define-public ecl-defpackage-plus
13296 (sbcl-package->ecl-package sbcl-defpackage-plus))
13297
13298 (define-public sbcl-deploy
13299 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
13300 (revision "2"))
13301 (package
13302 (name "sbcl-deploy")
13303 (version (git-version "1.0.0" revision commit))
13304 (source
13305 (origin
13306 (method git-fetch)
13307 (uri (git-reference
13308 (url "https://github.com/Shinmera/deploy")
13309 (commit commit)))
13310 (file-name (git-file-name "deploy" version))
13311 (sha256
13312 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
13313 (build-system asdf-build-system/sbcl)
13314 (arguments
13315 `(#:test-asd-file "deploy-test.asd"
13316 #:asd-files '("deploy.asd"
13317 "deploy-test.asd")))
13318 (native-inputs
13319 `(("cl-mpg123" ,sbcl-cl-mpg123)
13320 ("cl-out123" ,sbcl-cl-out123)))
13321 (inputs
13322 `(("cffi" ,sbcl-cffi)
13323 ("documentation-utils" ,sbcl-documentation-utils)
13324 ("trivial-features" ,sbcl-trivial-features)))
13325 (home-page "https://shinmera.github.io/deploy/")
13326 (synopsis "Deployment tools for standalone Common Lisp application")
13327 (description
13328 "This is a system to help you easily and quickly deploy standalone
13329 common lisp applications as binaries. Specifically it is geared towards
13330 applications with foreign library dependencies that run some kind of GUI.")
13331 (license license:artistic2.0))))
13332
13333 (define-public cl-deploy
13334 (sbcl-package->cl-source-package sbcl-deploy))
13335
13336 (define-public ecl-deploy
13337 (sbcl-package->ecl-package sbcl-deploy))
13338
13339 (define-public sbcl-deeds
13340 ;; taged branch is outdated
13341 (let ((revision "1")
13342 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
13343 (package
13344 (name "sbcl-deeds")
13345 (version (git-version "1.1.1" revision commit))
13346 (source
13347 (origin
13348 (method git-fetch)
13349 (uri (git-reference
13350 (url "https://github.com/Shinmera/deeds")
13351 (commit commit)))
13352 (file-name (git-file-name name version))
13353 (sha256
13354 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
13355 (build-system asdf-build-system/sbcl)
13356 (inputs
13357 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13358 ("closer-mop" ,sbcl-closer-mop)
13359 ("form-fiddle" ,sbcl-form-fiddle)
13360 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
13361 (home-page "https://github.com/Shinmera/deeds")
13362 (synopsis "Extensible Event Delivery System")
13363 (description
13364 "@code{deeds} allows for efficient event delivery to multiple handlers
13365 with a complex event filtering system.")
13366 (license license:zlib))))
13367
13368 (define-public cl-deeds
13369 (sbcl-package->cl-source-package sbcl-deeds))
13370
13371 (define-public ecl-deeds
13372 (sbcl-package->ecl-package sbcl-deeds))
13373
13374 (define-public sbcl-make-hash
13375 ;; no tagged branch
13376 (let ((revision "1")
13377 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13378 (package
13379 (name "sbcl-make-hash")
13380 (version (git-version "1.0.2" revision commit))
13381 (source
13382 (origin
13383 (method git-fetch)
13384 (uri (git-reference
13385 (url "https://github.com/genovese/make-hash")
13386 (commit commit)))
13387 (file-name (git-file-name name version))
13388 (sha256
13389 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13390 (build-system asdf-build-system/sbcl)
13391 (home-page "https://github.com/genovese/make-hash")
13392 (synopsis "Common Lisp package for flexible hash table creation")
13393 (description
13394 "This is a Common Lisp package for hash table creation with flexible,
13395 extensible initializers.")
13396 (license license:bsd-3))))
13397
13398 (define-public cl-make-hash
13399 (sbcl-package->cl-source-package sbcl-make-hash))
13400
13401 (define-public ecl-make-hash
13402 (sbcl-package->ecl-package sbcl-make-hash))
13403
13404 (define-public sbcl-claw-support
13405 (package
13406 (name "sbcl-claw-support")
13407 (version "1.0.0")
13408 (source
13409 (origin
13410 (method git-fetch)
13411 (uri (git-reference
13412 (url "https://github.com/borodust/claw-support")
13413 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13414 (file-name (git-file-name name version))
13415 (sha256
13416 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13417 (build-system asdf-build-system/sbcl)
13418 (home-page "https://github.com/borodust/claw-support")
13419 (synopsis "Support routines for claw")
13420 (description
13421 "This package provides support routines for the @code{claw} Common Lisp
13422 package.")
13423 (license license:expat)))
13424
13425 (define-public cl-claw-support
13426 (sbcl-package->cl-source-package sbcl-claw-support))
13427
13428 (define-public ecl-claw-support
13429 (sbcl-package->ecl-package sbcl-claw-support))
13430
13431 (define-public sbcl-claw
13432 (let ((revision "0")
13433 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13434 (package
13435 (name "sbcl-claw")
13436 (version (git-version "1.0" revision commit))
13437 (source
13438 (origin
13439 (method git-fetch)
13440 (uri (git-reference
13441 (url "https://github.com/borodust/claw")
13442 (commit commit)))
13443 (file-name (git-file-name "claw" version))
13444 (sha256
13445 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13446 (build-system asdf-build-system/sbcl)
13447 (inputs
13448 `(("alexandria" ,sbcl-alexandria)
13449 ("cffi" ,sbcl-cffi)
13450 ("cl-json" ,sbcl-cl-json)
13451 ("cl-ppcre" ,sbcl-cl-ppcre)
13452 ("claw-support" ,sbcl-claw-support)
13453 ("local-time" ,sbcl-local-time)
13454 ("trivial-features" ,sbcl-trivial-features)))
13455 (home-page "https://github.com/borodust/claw")
13456 (synopsis "Autowrapper for Common Lisp")
13457 (description
13458 "This is a Common Lisp autowrapping facility for quickly creating clean
13459 and lean bindings to C libraries.")
13460 (license license:bsd-2))))
13461
13462 (define-public cl-claw
13463 (sbcl-package->cl-source-package sbcl-claw))
13464
13465 (define-public ecl-claw
13466 (sbcl-package->ecl-package sbcl-claw))
13467
13468 (define-public sbcl-claw-utils
13469 (let ((revision "0")
13470 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13471 (package
13472 (name "sbcl-claw-utils")
13473 ;; version is not specified
13474 (version (git-version "0.0.0" revision commit))
13475 (source
13476 (origin
13477 (method git-fetch)
13478 (uri (git-reference
13479 (url "https://github.com/borodust/claw-utils")
13480 (commit commit)))
13481 (file-name (git-file-name "claw-utils" version))
13482 (sha256
13483 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13484 (build-system asdf-build-system/sbcl)
13485 (inputs
13486 `(("alexandria" ,sbcl-alexandria)
13487 ("cffi" ,sbcl-cffi)
13488 ("claw" ,sbcl-claw)))
13489 (home-page "https://github.com/borodust/claw-utils")
13490 (synopsis "Utilities for easier autowrapping")
13491 (description
13492 "This Common Lisp library contains various handy utilities to help
13493 autowrapping with @code{claw}.")
13494 (license license:expat))))
13495
13496 (define-public cl-claw-utils
13497 (sbcl-package->cl-source-package sbcl-claw-utils))
13498
13499 (define-public ecl-claw-utils
13500 (sbcl-package->ecl-package sbcl-claw-utils))
13501
13502 (define-public sbcl-array-operations
13503 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13504 (revision "0"))
13505 (package
13506 (name "sbcl-array-operations")
13507 (version (git-version "0.0.0" revision commit))
13508 (source
13509 (origin
13510 (method git-fetch)
13511 (uri (git-reference
13512 (url "https://github.com/bendudson/array-operations")
13513 (commit commit)))
13514 (file-name (git-file-name "array-operations" version))
13515 (sha256
13516 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13517 (build-system asdf-build-system/sbcl)
13518 (native-inputs
13519 `(("alexandria" ,sbcl-alexandria)
13520 ("clunit2" ,sbcl-clunit2)))
13521 (inputs
13522 `(("let-plus" ,sbcl-let-plus)))
13523 (synopsis "Simple array operations library for Common Lisp")
13524 (description
13525 "This library is a collection of functions and macros for manipulating
13526 Common Lisp arrays and performing numerical calculations with them.")
13527 (home-page "https://github.com/bendudson/array-operations")
13528 (license license:expat))))
13529
13530 (define-public cl-array-operations
13531 (sbcl-package->cl-source-package sbcl-array-operations))
13532
13533 (define-public ecl-array-operations
13534 (sbcl-package->ecl-package sbcl-array-operations))
13535
13536 (define-public sbcl-clml
13537 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13538 (revision "0"))
13539 (package
13540 (name "sbcl-clml")
13541 (version (git-version "0.0.0" revision commit))
13542 (source
13543 (origin
13544 (method git-fetch)
13545 (uri (git-reference
13546 (url "https://github.com/mmaul/clml")
13547 (commit commit)))
13548 (file-name (git-file-name "clml" version))
13549 (sha256
13550 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13551 ;; TODO: Remove this when the patch has been merged upstream.
13552 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13553 (build-system asdf-build-system/sbcl)
13554 (inputs
13555 `(("alexandia" ,sbcl-alexandria)
13556 ("array-operations" ,sbcl-array-operations)
13557 ("cl-fad" ,sbcl-cl-fad)
13558 ("cl-ppcre" ,sbcl-cl-ppcre)
13559 ("drakma" ,sbcl-drakma)
13560 ("introspect-environment" ,sbcl-introspect-environment)
13561 ("iterate" ,sbcl-iterate)
13562 ("lparallel" ,sbcl-lparallel)
13563 ("parse-number" ,sbcl-parse-number)
13564 ("split-sequence" ,sbcl-split-sequence)
13565 ("trivial-garbage" ,sbcl-trivial-garbage)))
13566 (synopsis "Common Lisp machine learning library")
13567 (description
13568 "CLML (Common Lisp Machine Learning) is a high performance and large
13569 scale statistical machine learning package")
13570 (home-page "https://mmaul.github.io/clml/")
13571 (license license:llgpl))))
13572
13573 (define-public cl-clml
13574 (sbcl-package->cl-source-package sbcl-clml))
13575
13576 (define-public sbcl-utm-ups
13577 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13578 (revision "0"))
13579 (package
13580 (name "sbcl-utm-ups")
13581 (version (git-version "1.1" revision commit))
13582 (source
13583 (origin
13584 (method git-fetch)
13585 (uri (git-reference
13586 (url "https://github.com/glv2/utm-ups")
13587 (commit commit)))
13588 (file-name (git-file-name "utm-ups" version))
13589 (sha256
13590 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13591 (build-system asdf-build-system/sbcl)
13592 (native-inputs
13593 `(("fiveam" ,sbcl-fiveam)))
13594 (synopsis
13595 "Convert coordinates between latitude/longitude and UTM or UPS")
13596 (description
13597 "This a Common Lisp library to convert geographic coordinates between
13598 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13599 Polar Stereographic).")
13600 (home-page "https://github.com/glv2/utm-ups")
13601 (license license:gpl3+))))
13602
13603 (define-public cl-utm-ups
13604 (sbcl-package->cl-source-package sbcl-utm-ups))
13605
13606 (define-public ecl-utm-ups
13607 (sbcl-package->ecl-package sbcl-utm-ups))
13608
13609 (define-public sbcl-mgrs
13610 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13611 (revision "0"))
13612 (package
13613 (name "sbcl-mgrs")
13614 (version (git-version "1.0" revision commit))
13615 (source
13616 (origin
13617 (method git-fetch)
13618 (uri (git-reference
13619 (url "https://github.com/glv2/mgrs")
13620 (commit commit)))
13621 (file-name (git-file-name "mgrs" version))
13622 (sha256
13623 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13624 (build-system asdf-build-system/sbcl)
13625 (native-inputs
13626 `(("fiveam" ,sbcl-fiveam)))
13627 (inputs
13628 `(("utm-ups" ,sbcl-utm-ups)))
13629 (synopsis
13630 "Convert coordinates between latitude/longitude and MGRS")
13631 (description
13632 "This a Common Lisp library to convert geographic coordinates between
13633 latitude/longitude and MGRS.")
13634 (home-page "https://github.com/glv2/mgrs")
13635 (license license:gpl3+))))
13636
13637 (define-public cl-mgrs
13638 (sbcl-package->cl-source-package sbcl-mgrs))
13639
13640 (define-public ecl-mgrs
13641 (sbcl-package->ecl-package sbcl-mgrs))
13642
13643 (define-public sbcl-maidenhead
13644 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13645 (revision "0"))
13646 (package
13647 (name "sbcl-maidenhead")
13648 (version (git-version "1.0" revision commit))
13649 (source
13650 (origin
13651 (method git-fetch)
13652 (uri (git-reference
13653 (url "https://github.com/glv2/maidenhead")
13654 (commit commit)))
13655 (file-name (git-file-name "maidenhead" version))
13656 (sha256
13657 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13658 (build-system asdf-build-system/sbcl)
13659 (native-inputs
13660 `(("fiveam" ,sbcl-fiveam)))
13661 (synopsis
13662 "Convert coordinates between latitude/longitude and Maidenhead")
13663 (description
13664 "This a Common Lisp library to convert geographic coordinates between
13665 latitude/longitude and Maidenhead locator system.")
13666 (home-page "https://github.com/glv2/maidenhead")
13667 (license license:gpl3+))))
13668
13669 (define-public cl-maidenhead
13670 (sbcl-package->cl-source-package sbcl-maidenhead))
13671
13672 (define-public ecl-maidenhead
13673 (sbcl-package->ecl-package sbcl-maidenhead))
13674
13675 (define-public sbcl-olc
13676 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13677 (revision "0"))
13678 (package
13679 (name "sbcl-olc")
13680 (version (git-version "1.0" revision commit))
13681 (source
13682 (origin
13683 (method git-fetch)
13684 (uri (git-reference
13685 (url "https://github.com/glv2/olc")
13686 (commit commit)))
13687 (file-name (git-file-name "olc" version))
13688 (sha256
13689 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13690 (build-system asdf-build-system/sbcl)
13691 (native-inputs
13692 `(("fiveam" ,sbcl-fiveam)))
13693 (synopsis
13694 "Convert coordinates between latitude/longitude and Open Location Code")
13695 (description
13696 "This a Common Lisp library to convert geographic coordinates between
13697 latitude/longitude and Open Location Code.")
13698 (home-page "https://github.com/glv2/olc")
13699 (license license:gpl3+))))
13700
13701 (define-public cl-olc
13702 (sbcl-package->cl-source-package sbcl-olc))
13703
13704 (define-public ecl-olc
13705 (sbcl-package->ecl-package sbcl-olc))
13706
13707 (define-public sbcl-regex
13708 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13709 (package
13710 (name "sbcl-regex")
13711 (version (git-version "1" "1" commit))
13712 (source
13713 (origin
13714 (method git-fetch)
13715 (uri (git-reference
13716 (url "https://github.com/michaelw/regex/")
13717 (commit commit)))
13718 (file-name (git-file-name name version))
13719 (sha256
13720 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13721 (build-system asdf-build-system/sbcl)
13722 (home-page "https://github.com/michaelw/regex/")
13723 (synopsis "Regular expression engine for Common Lisp")
13724 (description
13725 "This Common Lisp package provides a regular expression engine.")
13726 (license license:bsd-2))))
13727
13728 (define-public cl-regex
13729 (sbcl-package->cl-source-package sbcl-regex))
13730
13731 (define-public ecl-regex
13732 (sbcl-package->ecl-package sbcl-regex))
13733
13734 (define-public sbcl-clawk
13735 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13736 (package
13737 (name "sbcl-clawk")
13738 (version (git-version "4" "1" commit))
13739 (source
13740 (origin
13741 (method git-fetch)
13742 (uri (git-reference
13743 (url "https://github.com/sharplispers/clawk")
13744 (commit commit)))
13745 (file-name (git-file-name name version))
13746 (sha256
13747 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13748 (build-system asdf-build-system/sbcl)
13749 (inputs
13750 `(("sbcl-regex" ,sbcl-regex)))
13751 (home-page "https://github.com/sharplispers/clawk")
13752 (synopsis "Common Lisp AWK")
13753 (description
13754 "CLAWK is an AWK implementation embedded into Common Lisp.")
13755 (license license:bsd-2))))
13756
13757 (define-public cl-clawk
13758 (sbcl-package->cl-source-package sbcl-clawk))
13759
13760 (define-public ecl-clawk
13761 (sbcl-package->ecl-package sbcl-clawk))
13762
13763 (define-public sbcl-check-it
13764 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13765 (package
13766 (name "sbcl-check-it")
13767 (version (git-version "0.1.0" "1" commit))
13768 (source
13769 (origin
13770 (method git-fetch)
13771 (uri (git-reference
13772 (url "https://github.com/DalekBaldwin/check-it/")
13773 (commit commit)))
13774 (file-name (git-file-name name version))
13775 (sha256
13776 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13777 (build-system asdf-build-system/sbcl)
13778 (inputs
13779 `(("alexandria" ,sbcl-alexandria)
13780 ("closer-mop" ,sbcl-closer-mop)
13781 ("optima" ,sbcl-optima)))
13782 (native-inputs
13783 `(("stefil" ,sbcl-stefil)))
13784 (home-page "https://github.com/arclanguage/Clamp")
13785 (synopsis "Randomized specification-based testing for Common Lisp")
13786 (description
13787 "This is a randomized property-based testing library for Common Lisp.
13788 Rather than being a full-fledged general test framework in its own right, it's
13789 designed to embed randomized tests in whatever framework you like.")
13790 (license license:llgpl))))
13791
13792 (define-public cl-check-it
13793 (sbcl-package->cl-source-package sbcl-check-it))
13794
13795 (define-public ecl-check-it
13796 (sbcl-package->ecl-package sbcl-check-it))
13797
13798 (define-public sbcl-clamp
13799 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13800 (package
13801 (name "sbcl-clamp")
13802 (version (git-version "0.3" "1" commit))
13803 (source
13804 (origin
13805 (method git-fetch)
13806 (uri (git-reference
13807 (url "https://github.com/arclanguage/Clamp")
13808 (commit commit)))
13809 (file-name (git-file-name name version))
13810 (sha256
13811 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13812 (build-system asdf-build-system/sbcl)
13813 (inputs
13814 `(("iterate" ,sbcl-iterate)
13815 ("cl-syntax" ,sbcl-cl-syntax)))
13816 (native-inputs
13817 `(("cl-unit" ,sbcl-clunit)
13818 ("check-it" ,sbcl-check-it)))
13819 (arguments
13820 `(#:phases
13821 (modify-phases %standard-phases
13822 (add-after 'unpack 'fix-build
13823 (lambda _
13824 (substitute* "clamp.asd"
13825 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13826 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13827 #t)))))
13828 (home-page "https://github.com/arclanguage/Clamp")
13829 (synopsis "Common Lisp with Arc macros and procedures")
13830 (description
13831 "Clamp is an attempt to bring the powerful, but verbose, language of
13832 Common Lisp up to the terseness of Arc.
13833
13834 There are two parts to Clamp. There is the core of Clamp, which implements
13835 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13836 other part is the \"experimental\" part. It contains features of Arc that are
13837 not so easy to copy (ssyntax, argument destructuring, etc.).")
13838 (license license:artistic2.0))))
13839
13840 (define-public cl-clamp
13841 (sbcl-package->cl-source-package sbcl-clamp))
13842
13843 (define-public ecl-clamp
13844 (sbcl-package->ecl-package sbcl-clamp))
13845
13846 (define-public sbcl-trivial-shell
13847 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13848 (package
13849 (name "sbcl-trivial-shell")
13850 (version (git-version "0.2.0" "1" commit))
13851 (source
13852 (origin
13853 (method git-fetch)
13854 (uri (git-reference
13855 (url "https://github.com/gwkkwg/trivial-shell")
13856 (commit commit)))
13857 (file-name (git-file-name name version))
13858 (sha256
13859 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13860 (build-system asdf-build-system/sbcl)
13861 (native-inputs
13862 `(("lift" ,sbcl-lift)))
13863 (home-page "http://common-lisp.net/project/trivial-shell/")
13864 (synopsis "Common Lisp access to the shell")
13865 (description
13866 "A simple Common-Lisp interface to the underlying operating system.
13867 It's independent of the implementation and operating system.")
13868 (license license:expat))))
13869
13870 (define-public cl-trivial-shell
13871 (sbcl-package->cl-source-package sbcl-trivial-shell))
13872
13873 (define-public ecl-trivial-shell
13874 (sbcl-package->ecl-package sbcl-trivial-shell))
13875
13876 (define-public sbcl-clesh
13877 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13878 (package
13879 (name "sbcl-clesh")
13880 (version (git-version "0.0.0" "1" commit))
13881 (source
13882 (origin
13883 (method git-fetch)
13884 (uri (git-reference
13885 (url "https://github.com/Neronus/Clesh")
13886 (commit commit)))
13887 (file-name (git-file-name name version))
13888 (sha256
13889 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13890 (build-system asdf-build-system/sbcl)
13891 (inputs
13892 `(("trivial-shell" ,sbcl-trivial-shell)
13893 ("named-readtables" ,sbcl-named-readtables)))
13894 (home-page "https://github.com/Neronus/Clesh")
13895 (synopsis "Embed shell code in Common Lisp")
13896 (description
13897 "This is a very short and simple program, written in Common Lisp, that
13898 extends Common Lisp to embed shell code in a manner similar to Perl's
13899 backtick. It has been forked from SHELISP.")
13900 (license license:bsd-2))))
13901
13902 (define-public cl-clesh
13903 (sbcl-package->cl-source-package sbcl-clesh))
13904
13905 (define-public ecl-clesh
13906 (sbcl-package->ecl-package sbcl-clesh))
13907
13908 (define-public sbcl-trivial-channels
13909 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13910 (revision "1"))
13911 (package
13912 (name "sbcl-trivial-channels")
13913 (version (git-version "1.0" revision commit))
13914 (source
13915 (origin
13916 (method git-fetch)
13917 (uri (git-reference
13918 (url "https://github.com/rpav/trivial-channels")
13919 (commit commit)))
13920 (file-name (git-file-name "trivial-channels" version))
13921 (sha256
13922 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13923 (build-system asdf-build-system/sbcl)
13924 (inputs
13925 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13926 ("trivial-timeout" ,sbcl-trivial-timeout)))
13927 (home-page "https://github.com/rpav/trivial-channels")
13928 (synopsis "Common Lisp simple thread-safe channels with timeout")
13929 (description
13930 "It's very basic implementation of channels and queue for Common Lisp.")
13931 (license license:bsd-2))))
13932
13933 (define-public ecl-trivial-channels
13934 (sbcl-package->ecl-package sbcl-trivial-channels))
13935
13936 (define-public cl-trivial-channels
13937 (sbcl-package->cl-source-package sbcl-trivial-channels))
13938
13939 (define-public sbcl-trivial-download
13940 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13941 (package
13942 (name "sbcl-trivial-download")
13943 (version (git-version "0.3" "1" commit))
13944 (source
13945 (origin
13946 (method git-fetch)
13947 (uri (git-reference
13948 (url "https://github.com/eudoxia0/trivial-download/")
13949 (commit commit)))
13950 (file-name (git-file-name name version))
13951 (sha256
13952 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13953 (build-system asdf-build-system/sbcl)
13954 (inputs
13955 `(("drakma" ,sbcl-drakma)))
13956 (home-page "https://github.com/eudoxia0/trivial-download/")
13957 (synopsis "Download files from Common Lisp")
13958 (description
13959 "@code{trivial-download} allows you to download files from the Internet
13960 from Common Lisp. It provides a progress bar.")
13961 (license license:bsd-2))))
13962
13963 (define-public cl-trivial-download
13964 (sbcl-package->cl-source-package sbcl-trivial-download))
13965
13966 (define-public ecl-trivial-download
13967 (sbcl-package->ecl-package sbcl-trivial-download))
13968
13969 (define-public sbcl-gtwiwtg
13970 (package
13971 (name "sbcl-gtwiwtg")
13972 (version "0.1.1")
13973 (source
13974 (origin
13975 (method git-fetch)
13976 (uri (git-reference
13977 (url "https://github.com/cbeo/gtwiwtg/")
13978 (commit version)))
13979 (file-name (git-file-name name version))
13980 (sha256
13981 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13982 (build-system asdf-build-system/sbcl)
13983 (native-inputs
13984 `(("osicat" ,sbcl-osicat)
13985 ("prove" ,sbcl-prove)))
13986 (home-page "https://github.com/cbeo/gtwiwtg/")
13987 (synopsis "Naive generators for Common Lisp")
13988 (description
13989 "The GTWIWTG library (Generators The Way I Want Them Generated --
13990 technically not generators, but iterators) is meant to be small, explorable,
13991 and understandable.")
13992 (license license:gpl3)))
13993
13994 (define-public cl-gtwiwtg
13995 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13996
13997 (define-public ecl-gtwiwtg
13998 (sbcl-package->ecl-package sbcl-gtwiwtg))
13999
14000 (define-public sbcl-cl-progress-bar
14001 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
14002 (package
14003 (name "sbcl-cl-progress-bar")
14004 (version (git-version "0.0.0" "1" commit))
14005 (source
14006 (origin
14007 (method git-fetch)
14008 (uri (git-reference
14009 (url "https://github.com/sirherrbatka/cl-progress-bar/")
14010 (commit commit)))
14011 (file-name (git-file-name name version))
14012 (sha256
14013 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
14014 (build-system asdf-build-system/sbcl)
14015 (inputs
14016 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14017 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
14018 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
14019 (synopsis "Progress bars in Common Lisp")
14020 (description
14021 "This library provides almost the same code as used inside Quicklisp
14022 for drawning progress bars")
14023 (license license:expat))))
14024
14025 (define-public cl-progress-bar
14026 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
14027
14028 (define-public ecl-cl-progress-bar
14029 (sbcl-package->ecl-package sbcl-cl-progress-bar))
14030
14031 (define-public sbcl-repl-utilities
14032 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
14033 (package
14034 (name "sbcl-repl-utilities")
14035 (version (git-version "0.0.0" "1" commit))
14036 (source
14037 (origin
14038 (method git-fetch)
14039 (uri (git-reference
14040 (url "https://github.com/m-n/repl-utilities/")
14041 (commit commit)))
14042 (file-name (git-file-name name version))
14043 (sha256
14044 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
14045 (build-system asdf-build-system/sbcl)
14046 (home-page "https://github.com/m-n/repl-utilities")
14047 (synopsis "Ease common tasks at the Common Lisp REPL")
14048 (description
14049 "@code{repl-utilities} is a set of utilities which ease life at the
14050 REPL. It includes three sorts of features: introspective procedures,
14051 miscellaneous utility functions, and, pulling them together, methods to
14052 conveniently keep these symbols and optionally additional symbols available in
14053 whichever package you switch to.")
14054 (license license:bsd-2))))
14055
14056 (define-public cl-repl-utilities
14057 (sbcl-package->cl-source-package sbcl-repl-utilities))
14058
14059 (define-public ecl-repl-utilities
14060 (sbcl-package->ecl-package sbcl-repl-utilities))
14061
14062 (define-public sbcl-supertrace
14063 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
14064 (package
14065 (name "sbcl-supertrace")
14066 (version (git-version "0.1.0" "1" commit))
14067 (source
14068 (origin
14069 (method git-fetch)
14070 (uri (git-reference
14071 (url "https://github.com/fukamachi/supertrace")
14072 (commit commit)))
14073 (file-name (git-file-name name version))
14074 (sha256
14075 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
14076 (build-system asdf-build-system/sbcl)
14077 (native-inputs
14078 `(("cffi-grovel" ,sbcl-cffi)
14079 ("rove" ,sbcl-rove)
14080 ("cl-ppcre" ,sbcl-cl-ppcre)
14081 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
14082 (inputs
14083 `(("cffi" ,sbcl-cffi)))
14084 (home-page "https://github.com/fukamachi/supertrace")
14085 (synopsis "Improved Common Lisp tracing for debugging and profiling")
14086 (description
14087 "Supertrace provides a superior Common Lisp @code{trace} functionality
14088 for debugging and profiling real world applications.")
14089 (license license:bsd-2))))
14090
14091 (define-public cl-supertrace
14092 (sbcl-package->cl-source-package sbcl-supertrace))
14093
14094 (define-public ecl-supertrace
14095 (sbcl-package->ecl-package sbcl-supertrace))
14096
14097 (define-public sbcl-trivial-benchmark
14098 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
14099 (package
14100 (name "sbcl-trivial-benchmark")
14101 (version (git-version "2.0.0" "1" commit))
14102 (source
14103 (origin
14104 (method git-fetch)
14105 (uri (git-reference
14106 (url "https://github.com/Shinmera/trivial-benchmark/")
14107 (commit commit)))
14108 (file-name (git-file-name name version))
14109 (sha256
14110 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
14111 (build-system asdf-build-system/sbcl)
14112 (inputs
14113 `(("alexandria" ,sbcl-alexandria)))
14114 (home-page "http://shinmera.github.io/trivial-benchmark/")
14115 (synopsis "Easy to use benchmarking system for Common Lisp")
14116 (description
14117 "Trivial-Benchmark runs a block of code many times and outputs some
14118 statistical data for it. On SBCL this includes the data from @code{time}, for
14119 all other implementations just the @code{real-time} and @code{run-time} data.
14120 However, you can extend the system by adding your own @code{metrics} to it, or
14121 even by adding additional statistical @code{compute}ations. ")
14122 (license license:zlib))))
14123
14124 (define-public cl-trivial-benchmark
14125 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
14126
14127 (define-public ecl-trivial-benchmark
14128 (sbcl-package->ecl-package sbcl-trivial-benchmark))
14129
14130 (define-public sbcl-glyphs
14131 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
14132 (package
14133 (name "sbcl-glyphs")
14134 (version (git-version "0.0.0" "1" commit))
14135 (source
14136 (origin
14137 (method git-fetch)
14138 (uri (git-reference
14139 (url "https://github.com/ahungry/glyphs/")
14140 (commit commit)))
14141 (file-name (git-file-name name version))
14142 (sha256
14143 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
14144 (build-system asdf-build-system/sbcl)
14145 (inputs
14146 `(("cl-ppcre" ,sbcl-cl-ppcre)
14147 ("parenscript" ,sbcl-parenscript)
14148 ("named-readtables" ,sbcl-named-readtables)))
14149 (home-page "https://github.com/ahungry/glyphs/")
14150 (synopsis "Reduce Common Lisp verbosity")
14151 (description
14152 "This library is a little experiment in reducing verbosity in Common
14153 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
14154 (license license:gpl3))))
14155
14156 (define-public cl-glyphs
14157 (sbcl-package->cl-source-package sbcl-glyphs))
14158
14159 (define-public ecl-glyphs
14160 (sbcl-package->ecl-package sbcl-glyphs))
14161
14162 (define-public sbcl-zs3
14163 (package
14164 (name "sbcl-zs3")
14165 (version "1.3.3")
14166 (source
14167 (origin
14168 (method git-fetch)
14169 (uri
14170 (git-reference
14171 (url "https://github.com/xach/zs3")
14172 (commit (string-append "release-" version))))
14173 (file-name (git-file-name "zs3" version))
14174 (sha256
14175 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
14176 (build-system asdf-build-system/sbcl)
14177 (inputs
14178 `(("drakma" ,sbcl-drakma)
14179 ("alexandria" ,sbcl-alexandria)
14180 ("cxml" ,sbcl-cxml)
14181 ("ironclad" ,sbcl-ironclad)
14182 ("puri" ,sbcl-puri)
14183 ("cl-base64" ,sbcl-cl-base64)))
14184 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
14185 (description "This is ZS3, a library for working with Amazon's Simple Storage
14186 Service (S3) and CloudFront service from Common Lisp.")
14187 (home-page "https://github.com/xach/zs3")
14188 (license license:bsd-2)))
14189
14190 (define-public cl-zs3
14191 (sbcl-package->cl-source-package sbcl-zs3))
14192
14193 (define-public ecl-zs3
14194 (sbcl-package->ecl-package sbcl-zs3))
14195
14196 (define-public sbcl-simple-neural-network
14197 (package
14198 (name "sbcl-simple-neural-network")
14199 (version "3.1")
14200 (source
14201 (origin
14202 (method git-fetch)
14203 (uri (git-reference
14204 (url "https://github.com/glv2/simple-neural-network")
14205 (commit (string-append "v" version))))
14206 (file-name (git-file-name "simple-neural-network" version))
14207 (sha256
14208 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
14209 (build-system asdf-build-system/sbcl)
14210 (native-inputs
14211 `(("chipz" ,sbcl-chipz)
14212 ("fiveam" ,sbcl-fiveam)))
14213 (inputs
14214 `(("cl-store" ,sbcl-cl-store)
14215 ("lparallel" ,sbcl-lparallel)))
14216 (arguments
14217 `(#:phases
14218 (modify-phases %standard-phases
14219 (add-after 'check 'remove-test-data
14220 (lambda* (#:key outputs #:allow-other-keys)
14221 (let ((out (assoc-ref outputs "out")))
14222 (for-each delete-file (find-files out "\\.gz$"))))))))
14223 (synopsis "Simple neural network in Common Lisp")
14224 (description
14225 "@code{simple-neural-network} is a Common Lisp library for creating,
14226 training and using basic neural networks. The networks created by this
14227 library are feedforward neural networks trained using backpropagation.")
14228 (home-page "https://github.com/glv2/simple-neural-network")
14229 (license license:gpl3+)))
14230
14231 (define-public cl-simple-neural-network
14232 (sbcl-package->cl-source-package sbcl-simple-neural-network))
14233
14234 (define-public ecl-simple-neural-network
14235 (sbcl-package->ecl-package sbcl-simple-neural-network))
14236
14237 (define-public sbcl-zstd
14238 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
14239 (revision "1"))
14240 (package
14241 (name "sbcl-zstd")
14242 (version (git-version "1.0" revision commit))
14243 (source
14244 (origin
14245 (method git-fetch)
14246 (uri (git-reference
14247 (url "https://github.com/glv2/cl-zstd")
14248 (commit commit)))
14249 (file-name (git-file-name "cl-zstd" version))
14250 (sha256
14251 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
14252 (build-system asdf-build-system/sbcl)
14253 (native-inputs
14254 `(("fiveam" ,sbcl-fiveam)))
14255 (inputs
14256 `(("cffi" ,sbcl-cffi)
14257 ("cl-octet-streams" ,sbcl-cl-octet-streams)
14258 ("zstd-lib" ,zstd "lib")))
14259 (arguments
14260 '(#:phases
14261 (modify-phases %standard-phases
14262 (add-after 'unpack 'fix-paths
14263 (lambda* (#:key inputs #:allow-other-keys)
14264 (substitute* "src/libzstd.lisp"
14265 (("libzstd\\.so")
14266 (string-append (assoc-ref inputs "zstd-lib")
14267 "/lib/libzstd.so")))
14268 #t)))))
14269 (synopsis "Common Lisp library for Zstandard (de)compression")
14270 (description
14271 "This Common Lisp library provides functions for Zstandard
14272 compression/decompression using bindings to the libzstd C library.")
14273 (home-page "https://github.com/glv2/cl-zstd")
14274 (license license:gpl3+))))
14275
14276 (define-public cl-zstd
14277 (sbcl-package->cl-source-package sbcl-zstd))
14278
14279 (define-public ecl-zstd
14280 (sbcl-package->ecl-package sbcl-zstd))
14281
14282 (define-public sbcl-agnostic-lizard
14283 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
14284 (revision "1"))
14285 (package
14286 (name "sbcl-agnostic-lizard")
14287 (version (git-version "0.0.0" revision commit))
14288 (source
14289 (origin
14290 (method git-fetch)
14291 (uri (git-reference
14292 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14293 (commit commit)))
14294 (file-name (git-file-name name version))
14295 (sha256
14296 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
14297 (build-system asdf-build-system/sbcl)
14298 (synopsis "Almost correct portable code walker for Common Lisp")
14299 (description
14300 "Agnostic Lizard is a portable implementation of a code walker and in
14301 particular of the macroexpand-all function (and macro) that makes a best
14302 effort to be correct while not expecting much beyond what the Common Lisp
14303 standard requires.
14304
14305 It aims to be implementation-agnostic and to climb the syntax trees.")
14306 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14307 (license license:gpl3+))))
14308
14309 (define-public cl-agnostic-lizard
14310 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
14311
14312 (define-public ecl-agnostic-lizard
14313 (sbcl-package->ecl-package sbcl-agnostic-lizard))
14314
14315 (define-public sbcl-dynamic-classes
14316 (package
14317 (name "sbcl-dynamic-classes")
14318 (version "1.0.2")
14319 (source
14320 (origin
14321 (method git-fetch)
14322 (uri (git-reference
14323 (url "https://github.com/gwkkwg/dynamic-classes")
14324 (commit (string-append "version-" version))))
14325 (file-name (git-file-name "dynamic-classes" version))
14326 (sha256
14327 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
14328 (build-system asdf-build-system/sbcl)
14329 (inputs
14330 `(("metatilities-base" ,sbcl-metatilities-base)))
14331 (arguments
14332 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
14333 ;; test suites. lift-standard.config contains referances to deprecated
14334 ;; functionality.
14335 `(#:tests? #f))
14336 (home-page "https://common-lisp.net/project/dynamic-classes/")
14337 (synopsis "Dynamic class definition for Common Lisp")
14338 (description "Dynamic-Classes helps to ease the prototyping process by
14339 bringing dynamism to class definition.")
14340 (license license:expat)))
14341
14342 (define-public ecl-dynamic-classes
14343 (sbcl-package->ecl-package sbcl-dynamic-classes))
14344
14345 (define-public cl-dynamic-classes
14346 (sbcl-package->cl-source-package sbcl-dynamic-classes))
14347
14348 (define-public sbcl-cl-markdown
14349 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
14350 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
14351 ;; #:container-dynamic-classes
14352 (package
14353 (name "sbcl-cl-markdown")
14354 (version "0.10.4")
14355 (source
14356 (origin
14357 (method git-fetch)
14358 (uri (git-reference
14359 (url "https://github.com/gwkkwg/cl-markdown")
14360 (commit (string-append "version-" version))))
14361 (file-name (git-file-name "cl-markdown" version))
14362 (sha256
14363 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
14364 (build-system asdf-build-system/sbcl)
14365 (inputs
14366 `(("anaphora" ,sbcl-anaphora)
14367 ("cl-containers" ,sbcl-cl-containers)
14368 ("cl-ppcre" ,sbcl-cl-ppcre)
14369 ("dynamic-classes" ,sbcl-dynamic-classes)
14370 ("metabang-bind" ,sbcl-metabang-bind)
14371 ("metatilities-base" ,sbcl-metatilities-base)))
14372 (arguments
14373 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14374 ;; available systems, which themself are abandoned.
14375 `(#:tests? #f))
14376 (home-page "https://common-lisp.net/project/cl-markdown/")
14377 (synopsis "Common Lisp rewrite of Markdown")
14378 (description
14379 "This is an implementation of a Markdown parser in Common Lisp.")
14380 (license license:expat)))
14381
14382 (define-public ecl-cl-markdown
14383 (sbcl-package->ecl-package sbcl-cl-markdown))
14384
14385 (define-public cl-markdown
14386 (sbcl-package->cl-source-package sbcl-cl-markdown))
14387
14388 (define-public sbcl-magicffi
14389 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14390 (package
14391 (name "sbcl-magicffi")
14392 (version (git-version "0.0.0" "1" commit))
14393 (source
14394 (origin
14395 (method git-fetch)
14396 (uri (git-reference
14397 (url "https://github.com/dochang/magicffi/")
14398 (commit commit)))
14399 (file-name (git-file-name name version))
14400 (sha256
14401 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14402 (build-system asdf-build-system/sbcl)
14403 (native-inputs
14404 `(("alexandria" ,sbcl-alexandria)))
14405 (inputs
14406 `(("cffi" ,sbcl-cffi)
14407 ("ppcre" ,sbcl-cl-ppcre)
14408 ("libmagic" ,file)))
14409 (arguments
14410 `(#:phases
14411 (modify-phases %standard-phases
14412 (add-after 'unpack 'fix-paths
14413 (lambda* (#:key inputs #:allow-other-keys)
14414 (let ((magic (assoc-ref inputs "libmagic")))
14415 (substitute* "grovel.lisp"
14416 (("/usr/include/magic.h")
14417 (string-append magic "/include/magic.h")))
14418 (substitute* "api.lisp"
14419 ((":default \"libmagic\"" all)
14420 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14421 (home-page "https://common-lisp.net/project/magicffi/")
14422 (synopsis "Common Lisp interface to libmagic based on CFFI")
14423 (description
14424 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14425 determination library using @emph{magic} numbers.")
14426 (license license:bsd-2))))
14427
14428 (define-public ecl-magicffi
14429 (sbcl-package->ecl-package sbcl-magicffi))
14430
14431 (define-public cl-magicffi
14432 (sbcl-package->cl-source-package sbcl-magicffi))
14433
14434 (define-public sbcl-shlex
14435 (let ((commit "3dee1cb7c0140fa7660ca7a3b2ac5e75d1218e5c")
14436 (revision "2"))
14437 (package
14438 (name "sbcl-shlex")
14439 (version (git-version "0.0.0" revision commit))
14440 (source
14441 (origin
14442 (method git-fetch)
14443 (uri (git-reference
14444 (url "https://github.com/ruricolist/cl-shlex")
14445 (commit commit)))
14446 (file-name (git-file-name "cl-shlex" version))
14447 (sha256
14448 (base32 "16ag48sswgimr1fzr582vhym4s03idpd4lkydw5s58lv80ibpim8"))))
14449 (build-system asdf-build-system/sbcl)
14450 (inputs
14451 `(("alexandria" ,sbcl-alexandria)
14452 ("serapeum" ,sbcl-serapeum)
14453 ("ppcre" ,sbcl-cl-ppcre)
14454 ("unicode" ,sbcl-cl-unicode)))
14455 (home-page "https://github.com/ruricolist/cl-shlex")
14456 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14457 (description
14458 "This library contains a lexer for syntaxes that use shell-like rules
14459 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14460 standard library.")
14461 (license license:expat))))
14462
14463 (define-public ecl-shlex
14464 (sbcl-package->ecl-package sbcl-shlex))
14465
14466 (define-public cl-shlex
14467 (sbcl-package->cl-source-package sbcl-shlex))
14468
14469 (define-public sbcl-cmd
14470 (let ((commit "8ace7fb45f2ecf0eefae28583ee36c941d142179"))
14471 (package
14472 (name "sbcl-cmd")
14473 (version (git-version "0.0.1" "4" commit))
14474 (source
14475 (origin
14476 (method git-fetch)
14477 (uri (git-reference
14478 (url "https://github.com/ruricolist/cmd/")
14479 (commit commit)))
14480 (file-name (git-file-name name version))
14481 (sha256
14482 (base32 "1da8sa0fsvsdivnx2s9m6jbb7yszrnkqqcxrn1sszp7k6iwnnkgi"))))
14483 (build-system asdf-build-system/sbcl)
14484 (inputs
14485 `(("alexandria" ,sbcl-alexandria)
14486 ("coreutils" ,coreutils)
14487 ("procps" ,procps)
14488 ("serapeum" ,sbcl-serapeum)
14489 ("shlex" ,sbcl-shlex)
14490 ("trivia" ,sbcl-trivia)))
14491 (arguments
14492 `(#:phases
14493 (modify-phases %standard-phases
14494 (add-after 'unpack 'fix-paths
14495 (lambda* (#:key inputs #:allow-other-keys)
14496 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14497 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14498 (substitute* "cmd.lisp"
14499 (("\\(def \\+env\\+ \"env\"\\)")
14500 (format #f "(def +env+ \"~a/env\")" bin))
14501 (("\\(def \\+kill\\+ \"kill\"\\)")
14502 (format #f "(def +kill+ \"~a/kill\")" bin))
14503 (("\\(def \\+ps\\+ \"ps\"\\)")
14504 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14505 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14506 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14507 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14508 (format #f "(def +sh+ \"~a\")" (which "sh")))
14509 (("\\(def \\+tr\\+ \"tr\"\\)")
14510 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14511 (home-page "https://github.com/ruricolist/cmd")
14512 (synopsis "Conveniently run external programs from Common Lisp")
14513 (description
14514 "A utility for running external programs, built on UIOP.
14515 Cmd is designed to be natural to use, protect against shell interpolation and
14516 be usable from multi-threaded programs.")
14517 (license license:expat))))
14518
14519 (define-public ecl-cmd
14520 (sbcl-package->ecl-package sbcl-cmd))
14521
14522 (define-public cl-cmd
14523 (sbcl-package->cl-source-package sbcl-cmd))
14524
14525 (define-public sbcl-ppath
14526 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14527 (package
14528 (name "sbcl-ppath")
14529 (version (git-version "0.1" "1" commit))
14530 (source
14531 (origin
14532 (method git-fetch)
14533 (uri (git-reference
14534 (url "https://github.com/fourier/ppath/")
14535 (commit commit)))
14536 (file-name (git-file-name name commit))
14537 (sha256
14538 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14539 (build-system asdf-build-system/sbcl)
14540 (inputs
14541 `(("alexandria" ,sbcl-alexandria)
14542 ("cffi" ,sbcl-cffi)
14543 ("osicat" ,sbcl-osicat)
14544 ("ppcre" ,sbcl-cl-ppcre)
14545 ("split-sequence" ,sbcl-split-sequence)
14546 ("trivial-features" ,sbcl-trivial-features)))
14547 (native-inputs
14548 `(("cl-fad" ,sbcl-cl-fad)
14549 ("prove" ,sbcl-prove)))
14550 (home-page "https://github.com/fourier/ppath")
14551 (synopsis "Common Lisp's implementation of the Python's os.path module")
14552 (description
14553 "This library is a path strings manipulation library inspired by
14554 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14555 major operation systems.
14556
14557 The philosophy behind is to use simple strings and \"dumb\" string
14558 manipulation functions to handle paths and filenames. Where possible the
14559 corresponding OS system functions are called.")
14560 (license license:bsd-2))))
14561
14562 (define-public ecl-ppath
14563 (sbcl-package->ecl-package sbcl-ppath))
14564
14565 (define-public cl-ppath
14566 (sbcl-package->cl-source-package sbcl-ppath))
14567
14568 (define-public sbcl-trivial-escapes
14569 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14570 (package
14571 (name "sbcl-trivial-escapes")
14572 (version (git-version "1.2.0" "1" commit))
14573 (source
14574 (origin
14575 (method git-fetch)
14576 (uri (git-reference
14577 (url "https://github.com/williamyaoh/trivial-escapes")
14578 (commit commit)))
14579 (file-name (git-file-name name commit))
14580 (sha256
14581 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14582 (build-system asdf-build-system/sbcl)
14583 (inputs
14584 `(("named-readtables" ,sbcl-named-readtables)))
14585 (native-inputs
14586 `(("fiveam" ,sbcl-fiveam)))
14587 (home-page "https://github.com/williamyaoh/trivial-escapes")
14588 (synopsis "C-style escape directives for Common Lisp")
14589 (description
14590 "This Common Lisp library interprets escape characters the same way that
14591 most other programming language do.
14592 It provides four readtables. The default one lets you write strings like this:
14593 @code{#\"This string has\na newline in it!\"}.")
14594 (license license:public-domain))))
14595
14596 (define-public ecl-trivial-escapes
14597 (sbcl-package->ecl-package sbcl-trivial-escapes))
14598
14599 (define-public cl-trivial-escapes
14600 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14601
14602 (define-public sbcl-cl-indentify
14603 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14604 (package
14605 (name "sbcl-cl-indentify")
14606 (version (git-version "0.1" "1" commit))
14607 (source
14608 (origin
14609 (method git-fetch)
14610 (uri (git-reference
14611 (url "https://github.com/yitzchak/cl-indentify")
14612 (commit commit)))
14613 (file-name (git-file-name name commit))
14614 (sha256
14615 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14616 (build-system asdf-build-system/sbcl)
14617 (inputs
14618 `(("alexandria" ,sbcl-alexandria)
14619 ("command-line-arguments" ,sbcl-command-line-arguments)
14620 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14621 (native-inputs
14622 `(("trivial-escapes" ,sbcl-trivial-escapes)
14623 ("rove" ,sbcl-rove)))
14624 (home-page "https://github.com/yitzchak/cl-indentify")
14625 (synopsis "Code beautifier for Common Lisp")
14626 (description
14627 "A library and command line utility to automatically indent Common Lisp
14628 source files.")
14629 (license license:expat))))
14630
14631 (define-public ecl-cl-indentify
14632 (sbcl-package->ecl-package sbcl-cl-indentify))
14633
14634 (define-public cl-indentify
14635 (sbcl-package->cl-source-package sbcl-cl-indentify))
14636
14637 (define-public sbcl-concrete-syntax-tree
14638 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14639 (package
14640 (name "sbcl-concrete-syntax-tree")
14641 (version (git-version "0.0.0" "1" commit))
14642 (source
14643 (origin
14644 (method git-fetch)
14645 (uri (git-reference
14646 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14647 (commit commit)))
14648 (file-name (git-file-name name commit))
14649 (sha256
14650 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14651 (build-system asdf-build-system/sbcl)
14652 (inputs
14653 `(("acclimation" ,sbcl-acclimation)))
14654 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14655 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14656 (description
14657 "This library is intended to solve the problem of source tracking for
14658 Common Lisp code.
14659
14660 By \"source tracking\", it is meant that code elements that have a known
14661 origin in the form of a position in a file or in an editor buffer are
14662 associated with some kind of information about this origin.
14663
14664 Since the exact nature of such origin information depends on the Common Lisp
14665 implementation and the purpose of wanting to track that origin, the library
14666 does not impose a particular structure of this information. Instead, it
14667 provides utilities for manipulating source code in the form of what is called
14668 concrete syntax trees (CSTs for short) that preserve this information about
14669 the origin.")
14670 (license license:bsd-2))))
14671
14672 (define-public ecl-concrete-syntax-tree
14673 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14674
14675 (define-public cl-concrete-syntax-tree
14676 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14677
14678 (define-public sbcl-eclector
14679 (package
14680 (name "sbcl-eclector")
14681 (version "0.5.0")
14682 (source
14683 (origin
14684 (method git-fetch)
14685 (uri (git-reference
14686 (url "https://github.com/s-expressionists/Eclector")
14687 (commit version)))
14688 (file-name (git-file-name name version))
14689 (sha256
14690 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14691 (build-system asdf-build-system/sbcl)
14692 (inputs
14693 `(("acclimation" ,sbcl-acclimation)
14694 ("alexandria" ,sbcl-alexandria)
14695 ("closer-mop" ,sbcl-closer-mop)
14696 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14697 (native-inputs
14698 `(("fiveam" ,sbcl-fiveam)))
14699 (arguments
14700 '(#:asd-systems '("eclector"
14701 "eclector-concrete-syntax-tree")))
14702 (home-page "https://s-expressionists.github.io/Eclector/")
14703 (synopsis "Highly customizable, portable Common Lisp reader")
14704 (description
14705 "Eclector is a portable Common Lisp reader that is highly customizable,
14706 can recover from errors and can return concrete syntax trees.
14707
14708 In contrast to many other reader implementations, eclector can recover from
14709 most errors in the input supplied to it and continue reading. This capability
14710 is realized as a restart.
14711
14712 It can also produce instances of the concrete syntax tree classes provided by
14713 the concrete syntax tree library.")
14714 (license license:bsd-2)))
14715
14716 (define-public ecl-eclector
14717 (sbcl-package->ecl-package sbcl-eclector))
14718
14719 (define-public cl-eclector
14720 (sbcl-package->cl-source-package sbcl-eclector))
14721
14722 (define-public sbcl-jsown
14723 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14724 (package
14725 (name "sbcl-jsown")
14726 (version (git-version "1.0.1" "1" commit))
14727 (source
14728 (origin
14729 (method git-fetch)
14730 (uri (git-reference
14731 (url "https://github.com/madnificent/jsown")
14732 (commit commit)))
14733 (file-name (git-file-name name commit))
14734 (sha256
14735 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14736 (build-system asdf-build-system/sbcl)
14737 (home-page "https://github.com/madnificent/jsown")
14738 (synopsis "Fast JSON reader / writer library for Common Lisp")
14739 (description
14740 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14741 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14742 functions and macros have been added to ease the burden of writing and editing
14743 @code{jsown} objects.
14744
14745 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14746 list and write them back. If you only need partial retrieval of objects,
14747 @code{jsown} allows you to select the keys which you would like to see parsed.
14748 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14749 objects themselves.")
14750 (license license:expat))))
14751
14752 (define-public ecl-jsown
14753 (sbcl-package->ecl-package sbcl-jsown))
14754
14755 (define-public cl-jsown
14756 (sbcl-package->cl-source-package sbcl-jsown))
14757
14758 (define-public sbcl-system-locale
14759 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14760 (package
14761 (name "sbcl-system-locale")
14762 (version (git-version "1.0.0" "1" commit))
14763 (source
14764 (origin
14765 (method git-fetch)
14766 (uri (git-reference
14767 (url "https://github.com/Shinmera/system-locale/")
14768 (commit commit)))
14769 (file-name (git-file-name name commit))
14770 (sha256
14771 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14772 (build-system asdf-build-system/sbcl)
14773 (inputs
14774 `(("documentation-utils" ,sbcl-documentation-utils)))
14775 (home-page "https://shinmera.github.io/system-locale/")
14776 (synopsis "Get the system's locale and language settings in Common Lisp")
14777 (description
14778 "This library retrieves locale information configured on the
14779 system. This is helpful if you want to write applications and libraries that
14780 display messages in the user's native language.")
14781 (license license:zlib))))
14782
14783 (define-public ecl-system-locale
14784 (sbcl-package->ecl-package sbcl-system-locale))
14785
14786 (define-public cl-system-locale
14787 (sbcl-package->cl-source-package sbcl-system-locale))
14788
14789 (define-public sbcl-language-codes
14790 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14791 (package
14792 (name "sbcl-language-codes")
14793 (version (git-version "1.0.0" "1" commit))
14794 (source
14795 (origin
14796 (method git-fetch)
14797 (uri (git-reference
14798 (url "https://github.com/Shinmera/language-codes")
14799 (commit commit)))
14800 (file-name (git-file-name name commit))
14801 (sha256
14802 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14803 (build-system asdf-build-system/sbcl)
14804 (inputs
14805 `(("documentation-utils" ,sbcl-documentation-utils)))
14806 (home-page "https://shinmera.github.io/language-codes/")
14807 (synopsis "Map ISO language codes to language names in Common Lisp")
14808 (description
14809 "This is a small library providing the ISO-639 language code to
14810 language name mapping.")
14811 (license license:zlib))))
14812
14813 (define-public ecl-language-codes
14814 (sbcl-package->ecl-package sbcl-language-codes))
14815
14816 (define-public cl-language-codes
14817 (sbcl-package->cl-source-package sbcl-language-codes))
14818
14819 (define-public sbcl-multilang-documentation
14820 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14821 (package
14822 (name "sbcl-multilang-documentation")
14823 (version (git-version "1.0.0" "1" commit))
14824 (source
14825 (origin
14826 (method git-fetch)
14827 (uri (git-reference
14828 (url "https://github.com/Shinmera/multilang-documentation")
14829 (commit commit)))
14830 (file-name (git-file-name name commit))
14831 (sha256
14832 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14833 (build-system asdf-build-system/sbcl)
14834 (inputs
14835 `(("documentation-utils" ,sbcl-documentation-utils)
14836 ("language-codes" ,sbcl-language-codes)
14837 ("system-locale" ,sbcl-system-locale)))
14838 (home-page "https://shinmera.github.io/multilang-documentation/")
14839 (synopsis "Add multiple languages support to Common Lisp documentation")
14840 (description
14841 "This library provides a drop-in replacement function for
14842 cl:documentation that supports multiple docstrings per-language, allowing you
14843 to write documentation that can be internationalised.")
14844 (license license:zlib))))
14845
14846 (define-public ecl-multilang-documentation
14847 (sbcl-package->ecl-package sbcl-multilang-documentation))
14848
14849 (define-public cl-multilang-documentation
14850 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14851
14852 (define-public sbcl-trivial-do
14853 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14854 (package
14855 (name "sbcl-trivial-do")
14856 (version (git-version "0.1" "1" commit))
14857 (source
14858 (origin
14859 (method git-fetch)
14860 (uri (git-reference
14861 (url "https://github.com/yitzchak/trivial-do")
14862 (commit commit)))
14863 (file-name (git-file-name name commit))
14864 (sha256
14865 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14866 (build-system asdf-build-system/sbcl)
14867 (home-page "https://github.com/yitzchak/trivial-do")
14868 (synopsis "Additional dolist style macros for Common Lisp")
14869 (description
14870 "Additional dolist style macros for Common Lisp, such as
14871 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14872 and @code{doseq*}.")
14873 (license license:zlib))))
14874
14875 (define-public ecl-trivial-do
14876 (sbcl-package->ecl-package sbcl-trivial-do))
14877
14878 (define-public cl-trivial-do
14879 (sbcl-package->cl-source-package sbcl-trivial-do))
14880
14881 (define-public sbcl-common-lisp-jupyter
14882 (let ((commit "ba9f0e746b9200d6fd6db647d7274448119ed01b")
14883 (revision "3"))
14884 (package
14885 (name "sbcl-common-lisp-jupyter")
14886 (version (git-version "0.1.0" revision commit))
14887 (source
14888 (origin
14889 (method git-fetch)
14890 (uri (git-reference
14891 (url "https://github.com/yitzchak/common-lisp-jupyter")
14892 (commit commit)))
14893 (file-name (git-file-name "common-lisp-jupyter" commit))
14894 (sha256
14895 (base32 "0si69xfzi769dprwfy7gp1x3bl7lxz6d4n98sa26w9r41wvay5ja"))))
14896 (build-system asdf-build-system/sbcl)
14897 (inputs
14898 `(("alexandria" ,sbcl-alexandria)
14899 ("babel" ,sbcl-babel)
14900 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14901 ("cl-base64" ,sbcl-cl-base64)
14902 ("cl-indentify" ,sbcl-cl-indentify)
14903 ("closer-mop" ,sbcl-closer-mop)
14904 ("dissect" ,sbcl-dissect)
14905 ("eclector" ,sbcl-eclector)
14906 ("ironclad" ,sbcl-ironclad)
14907 ("iterate" ,sbcl-iterate)
14908 ("multilang-documentation" ,sbcl-multilang-documentation)
14909 ("puri" ,sbcl-puri)
14910 ("pzmq" ,sbcl-pzmq)
14911 ("shasht" ,sbcl-shasht)
14912 ("static-vectors" ,sbcl-static-vectors)
14913 ("trivial-do" ,sbcl-trivial-do)
14914 ("trivial-garbage" ,sbcl-trivial-garbage)
14915 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14916 ("trivial-mimes" ,sbcl-trivial-mimes)))
14917 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14918 (synopsis "Common Lisp kernel for Jupyter")
14919 (description
14920 "This is a Common Lisp kernel for Jupyter along with a library for
14921 building Jupyter kernels, based on Maxima-Jupyter which was based on
14922 @code{cl-jupyter}.")
14923 (license license:expat))))
14924
14925 (define-public ecl-common-lisp-jupyter
14926 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14927
14928 (define-public cl-common-lisp-jupyter
14929 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14930
14931 (define-public sbcl-radiance
14932 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14933 (revision "1"))
14934 (package
14935 (name "sbcl-radiance")
14936 (version (git-version "2.1.2" revision commit))
14937 (source
14938 (origin
14939 (method git-fetch)
14940 (uri (git-reference
14941 (url "https://github.com/Shirakumo/radiance")
14942 (commit commit)))
14943 (file-name (git-file-name "radiance" version))
14944 (sha256
14945 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14946 (build-system asdf-build-system/sbcl)
14947 (arguments
14948 `(#:tests? #f ; TODO: The tests require some configuration.
14949 #:phases
14950 (modify-phases %standard-phases
14951 (add-after 'unpack 'disable-quicklisp
14952 (lambda _
14953 ;; Disable the automatic installation of systems by Quicklisp.
14954 ;; (Maybe there would be a way to package Quicklisp and make it
14955 ;; install things in the user's directory instead of
14956 ;; /gnu/store/...).
14957 (substitute* "interfaces.lisp"
14958 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14959 all)
14960 (string-append "#+quicklisp " all))))))))
14961 (native-inputs
14962 `(("alexandria" ,sbcl-alexandria)
14963 ("dexador" ,sbcl-dexador)
14964 ("parachute" ,sbcl-parachute)
14965 ("verbose" ,sbcl-verbose)))
14966 (inputs
14967 `(("babel" ,sbcl-babel)
14968 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14969 ("cl-ppcre" ,sbcl-cl-ppcre)
14970 ("closer-mop" ,sbcl-closer-mop)
14971 ("documentation-utils" ,sbcl-documentation-utils)
14972 ("deploy" ,sbcl-deploy)
14973 ("form-fiddle" ,sbcl-form-fiddle)
14974 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14975 ("local-time" ,sbcl-local-time)
14976 ("modularize-hooks" ,sbcl-modularize-hooks)
14977 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14978 ("puri" ,sbcl-puri)
14979 ("trivial-indent" ,sbcl-trivial-indent)
14980 ("trivial-mimes" ,sbcl-trivial-mimes)
14981 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14982 (home-page "https://shirakumo.github.io/radiance/")
14983 (synopsis "Common Lisp web application environment")
14984 (description
14985 "Radiance is a web application environment, which is sort of like a web
14986 framework, but more general, more flexible. It should let you write personal
14987 websites and generally deployable applications easily and in such a way that
14988 they can be used on practically any setup without having to undergo special
14989 adaptations.")
14990 (license license:zlib))))
14991
14992 (define-public ecl-radiance
14993 (sbcl-package->ecl-package sbcl-radiance))
14994
14995 (define-public cl-radiance
14996 (sbcl-package->cl-source-package sbcl-radiance))
14997
14998 (define-public sbcl-daemon
14999 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
15000 (revision "1"))
15001 (package
15002 (name "sbcl-daemon")
15003 (version (git-version "0.0.4" revision commit))
15004 (source
15005 (origin
15006 (method git-fetch)
15007 (uri (git-reference
15008 (url "https://github.com/snmsts/daemon")
15009 (commit commit)))
15010 (file-name (git-file-name "daemon" version))
15011 (sha256
15012 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
15013 (build-system asdf-build-system/sbcl)
15014 (inputs
15015 `(("trivial-features" ,sbcl-trivial-features)))
15016 (home-page "https://github.com/snmsts/daemon")
15017 (synopsis "Daemonize Common Lisp processes")
15018 (description
15019 "DAEMON provides the functionality of daemonizing Common Lisp processes
15020 on UNIX like platforms.")
15021 (license license:expat))))
15022
15023 (define-public ecl-daemon
15024 (sbcl-package->ecl-package sbcl-daemon))
15025
15026 (define-public cl-daemon
15027 (sbcl-package->cl-source-package sbcl-daemon))
15028
15029 (define-public sbcl-file-attributes
15030 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
15031 (package
15032 (name "sbcl-file-attributes")
15033 (version (git-version "1.0.0" "2" commit))
15034 (source
15035 (origin
15036 (method git-fetch)
15037 (uri (git-reference
15038 (url "https://github.com/Shinmera/file-attributes/")
15039 (commit commit)))
15040 (file-name (git-file-name name version))
15041 (sha256
15042 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
15043 (build-system asdf-build-system/sbcl)
15044 (inputs
15045 `(("cffi" ,sbcl-cffi)
15046 ("documentation-utils" ,sbcl-documentation-utils)
15047 ("trivial-features" ,sbcl-trivial-features)))
15048 (home-page "https://shinmera.github.io/file-attributes/")
15049 (synopsis "Access to common file attributes in Common Lisp")
15050 (description
15051 "This is a small OS portability library to retrieve and set file
15052 attributes not supported by the Common Lisp standard functions.")
15053 (license license:zlib))))
15054
15055 (define-public ecl-file-attributes
15056 (sbcl-package->ecl-package sbcl-file-attributes))
15057
15058 (define-public cl-file-attributes
15059 (sbcl-package->cl-source-package sbcl-file-attributes))
15060
15061 (define-public sbcl-cl-difflib
15062 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
15063 (revision "0"))
15064 (package
15065 (name "sbcl-cl-difflib")
15066 (version (git-version "0.2" revision commit))
15067 (source
15068 (origin
15069 (method git-fetch)
15070 (uri (git-reference
15071 (url "https://github.com/wiseman/cl-difflib")
15072 (commit commit)))
15073 (file-name
15074 (git-file-name name version))
15075 (sha256
15076 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
15077 (build-system asdf-build-system/sbcl)
15078 ;; Due to the age of this library tests use some deprecated
15079 ;; functionality and keep failing.
15080 (arguments
15081 '(#:tests? #f
15082 #:asd-files '("cl-difflib.asd")))
15083 (home-page "https://github.com/wiseman/cl-difflib")
15084 (synopsis "Compute differences between pairs of sequences")
15085 (description
15086 "A Common Lisp library for computing differences between
15087 sequences based on the Python difflib module.")
15088 (license license:expat))))
15089
15090 (define-public ecl-cl-difflib
15091 (sbcl-package->ecl-package sbcl-cl-difflib))
15092
15093 (define-public cl-difflib
15094 (sbcl-package->cl-source-package sbcl-cl-difflib))
15095
15096 (define-public sbcl-cl-html-diff
15097 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
15098 (revision "0"))
15099 (package
15100 (name "sbcl-cl-html-diff")
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/wiseman/cl-html-diff")
15107 (commit commit)))
15108 (file-name
15109 (git-file-name name version))
15110 (sha256
15111 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
15112 (build-system asdf-build-system/sbcl)
15113 (inputs
15114 `(("cl-difflib" ,sbcl-cl-difflib)))
15115 (home-page "https://github.com/wiseman/cl-html-diff")
15116 (synopsis "Generate a human-readable diff of two HTML documents")
15117 (description
15118 "A Common Lisp library for generating a human-readable diff of two
15119 HTML documents.")
15120 (license license:expat))))
15121
15122 (define-public ecl-cl-html-diff
15123 (sbcl-package->ecl-package sbcl-cl-html-diff))
15124
15125 (define-public cl-html-diff
15126 (sbcl-package->cl-source-package sbcl-cl-html-diff))
15127
15128 (define-public sbcl-tooter
15129 (let ((commit "b8d4b245b1d946bc9da6f51a3d8c2dc43e4d3868")
15130 (revision "1"))
15131 (package
15132 (name "sbcl-tooter")
15133 (version (git-version "1.0.0" revision commit))
15134 (source
15135 (origin
15136 (method git-fetch)
15137 (uri (git-reference
15138 (url "https://github.com/Shinmera/tooter")
15139 (commit commit)))
15140 (file-name (git-file-name "tooter" version))
15141 (sha256
15142 (base32 "0g40dlis4dbw4p3zxz3scx27b9zm8zlzihywapf5zqrdqfx5hpq9"))))
15143 (build-system asdf-build-system/sbcl)
15144 (inputs
15145 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
15146 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
15147 ("sbcl-drakma" ,sbcl-drakma)
15148 ("sbcl-yason" ,sbcl-yason)))
15149 (synopsis "Common Lisp client library for Mastodon instances")
15150 (description
15151 "This is a Common Lisp library implementing the full v1 REST API
15152 protocol for Mastodon.")
15153 (home-page "https://shinmera.github.io/tooter/")
15154 (license license:zlib))))
15155
15156 (define-public ecl-tooter
15157 (sbcl-package->ecl-package sbcl-tooter))
15158
15159 (define-public cl-tooter
15160 (sbcl-package->cl-source-package sbcl-tooter))
15161
15162 (define-public sbcl-croatoan
15163 (let ((commit "7077ef14d27e8708515ad8d309886f516e7fbd98")
15164 (revision "2"))
15165 (package
15166 (name "sbcl-croatoan")
15167 (version (git-version "0.0.1" revision commit))
15168 (source
15169 (origin
15170 (method git-fetch)
15171 (uri (git-reference
15172 (url "https://github.com/McParen/croatoan")
15173 (commit commit)))
15174 (file-name (git-file-name "croatoan" version))
15175 (sha256
15176 (base32 "0gf2sjpsdkd9s8imwy2wjrkdx82a5sc4yy9bndlnjlwmdraw4j37"))))
15177 (build-system asdf-build-system/sbcl)
15178 (arguments
15179 '(#:phases
15180 (modify-phases %standard-phases
15181 (add-after 'unpack 'fix-paths
15182 (lambda* (#:key inputs #:allow-other-keys)
15183 (substitute* "ncurses/ncurses.lisp"
15184 (("libncursesw" all)
15185 (string-append (assoc-ref inputs "ncurses")
15186 "/lib/"
15187 all))))))))
15188 (inputs
15189 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
15190 ("cffi" ,sbcl-cffi)
15191 ("ncurses" ,ncurses)
15192 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
15193 (synopsis "Common Lisp bindings for the ncurses terminal library")
15194 (description "Croatoan provides high-level Common Lisp CLOS bindings for
15195 the ncurses terminal library.")
15196 (home-page "https://github.com/McParen/croatoan")
15197 (license license:expat))))
15198
15199 (define-public ecl-croatoan
15200 (sbcl-package->ecl-package sbcl-croatoan))
15201
15202 (define-public cl-croatoan
15203 (sbcl-package->cl-source-package sbcl-croatoan))
15204
15205 (define-public sbcl-cl-spark
15206 (let ((commit "4e34bcebdcf8e45265986eb43ad4ad03bb41a581")
15207 (revision "1"))
15208 (package
15209 (name "sbcl-cl-spark")
15210 (version (git-version "0.1.13" revision commit))
15211 (source
15212 (origin
15213 (method git-fetch)
15214 (uri (git-reference
15215 (url "https://github.com/tkych/cl-spark")
15216 (commit commit)))
15217 (file-name (git-file-name "cl-spark" version))
15218 (sha256
15219 (base32 "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"))))
15220 (build-system asdf-build-system/sbcl)
15221 (native-inputs
15222 `(("fiveam" ,sbcl-fiveam)))
15223 (synopsis "Common Lisp library to make histograms")
15224 (description "This is a Common Lisp library to make histograms using
15225 UTF-8 block characters.")
15226 (home-page "https://github.com/tkych/cl-spark")
15227 (license license:expat))))
15228
15229 (define-public ecl-cl-spark
15230 (sbcl-package->ecl-package sbcl-cl-spark))
15231
15232 (define-public cl-spark
15233 (sbcl-package->cl-source-package sbcl-cl-spark))
15234
15235 (define-public sbcl-access
15236 (let ((commit "1b26db3760018cdc4624f880f0a1e0155d8f6c50")
15237 (revision "1"))
15238 (package
15239 (name "sbcl-access")
15240 (version (git-version "1.5.0" revision commit))
15241 (source
15242 (origin
15243 (method git-fetch)
15244 (uri (git-reference
15245 (url "https://github.com/sharplispers/access")
15246 (commit commit)))
15247 (file-name (git-file-name "access" version))
15248 (sha256
15249 (base32 "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5"))))
15250 (build-system asdf-build-system/sbcl)
15251 (native-inputs
15252 `(("lisp-unit2" ,sbcl-lisp-unit2)))
15253 (inputs
15254 `(("alexandria" ,sbcl-alexandria)
15255 ("anaphora" ,sbcl-anaphora)
15256 ("closer-mop" ,sbcl-closer-mop)
15257 ("interpol" ,sbcl-cl-interpol)
15258 ("iterate" ,sbcl-iterate)))
15259 (synopsis
15260 "Common lisp library to unify access to dictionary-like structures")
15261 (description
15262 "This is a Common lisp library to unify access to the most common
15263 dictionary-like data structures.")
15264 (home-page "https://github.com/sharplispers/access")
15265 (license license:bsd-3))))
15266
15267 (define-public ecl-access
15268 (sbcl-package->ecl-package sbcl-access))
15269
15270 (define-public cl-access
15271 (sbcl-package->cl-source-package sbcl-access))
15272
15273 (define-public sbcl-sxql-composer
15274 (let ((commit "2b2230cb01ae1b68e28921d99e4814046867fb75")
15275 (revision "1"))
15276 (package
15277 (name "sbcl-sxql-composer")
15278 (version (git-version "0.1" revision commit))
15279 (source
15280 (origin
15281 (method git-fetch)
15282 (uri (git-reference
15283 (url "https://github.com/mmontone/sxql-composer")
15284 (commit commit)))
15285 (file-name (git-file-name "sxql-composer" version))
15286 (sha256
15287 (base32 "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"))))
15288 (build-system asdf-build-system/sbcl)
15289 (inputs
15290 `(("sxql" ,sbcl-sxql)))
15291 (synopsis "Build and compose SXQL queries dynamically")
15292 (description
15293 "This is a Common Lisp library to build and compose SXQL queries
15294 dynamically.")
15295 (home-page "https://github.com/mmontone/sxql-composer")
15296 (license license:expat))))
15297
15298 (define-public ecl-sxql-composer
15299 (sbcl-package->ecl-package sbcl-sxql-composer))
15300
15301 (define-public cl-sxql-composer
15302 (sbcl-package->cl-source-package sbcl-sxql-composer))
15303
15304 (define-public sbcl-cl-i18n
15305 (let ((commit "fa0aa5bef8dfbdf2d72f7cc9f49e848ccbb567aa")
15306 (revision "1"))
15307 (package
15308 (name "sbcl-cl-i18n")
15309 (version (git-version "0.5.0" revision commit))
15310 (source
15311 (origin
15312 (method git-fetch)
15313 (uri (git-reference
15314 (url "https://notabug.org/cage/cl-i18n")
15315 (commit commit)))
15316 (file-name (git-file-name "cl-i18n" version))
15317 (sha256
15318 (base32 "1hpsdbb3hd79bzbrnbqgk2j3f0ispxvk91snp08fm2z3f1sds5as"))))
15319 (build-system asdf-build-system/sbcl)
15320 (inputs
15321 `(("alexandria" ,sbcl-alexandria)
15322 ("babel" ,sbcl-babel)
15323 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
15324 (synopsis "Internationalisation framework for Common Lisp")
15325 (description
15326 "This is a Gettext-style internationalisation framework for Common
15327 Lisp.")
15328 (home-page "https://notabug.org/cage/cl-i18n")
15329 (license license:llgpl))))
15330
15331 (define-public ecl-cl-i18n
15332 (sbcl-package->ecl-package sbcl-cl-i18n))
15333
15334 (define-public cl-i18n
15335 (sbcl-package->cl-source-package sbcl-cl-i18n))
15336
15337 (define-public sbcl-crypto-shortcuts
15338 (let ((commit "7efd22d80e867cd8c9f8f363d4fe7b51ee2dadc0")
15339 (revision "1"))
15340 (package
15341 (name "sbcl-crypto-shortcuts")
15342 (version (git-version "2.0.0" revision commit))
15343 (source
15344 (origin
15345 (method git-fetch)
15346 (uri (git-reference
15347 (url "https://github.com/Shinmera/crypto-shortcuts")
15348 (commit commit)))
15349 (file-name (git-file-name "crypto-shortcuts" version))
15350 (sha256
15351 (base32 "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin"))))
15352 (build-system asdf-build-system/sbcl)
15353 (inputs
15354 `(("cl-base64" ,sbcl-cl-base64)
15355 ("flexi-stream" ,sbcl-flexi-streams)
15356 ("ironclad" ,sbcl-ironclad)))
15357 (synopsis "Collection of common cryptography functions")
15358 (description
15359 "This is a collection of common cryptography functions for Common
15360 Lisp.")
15361 (home-page "https://shinmera.github.io/crypto-shortcuts/")
15362 (license license:zlib))))
15363
15364 (define-public ecl-crypto-shortcuts
15365 (sbcl-package->ecl-package sbcl-crypto-shortcuts))
15366
15367 (define-public cl-crypto-shortcuts
15368 (sbcl-package->cl-source-package sbcl-crypto-shortcuts))
15369
15370 (define-public sbcl-cl-html5-parser
15371 (let ((commit "74a92eb3a183a0afd089ea33350e816e6b9aeefa")
15372 (revision "1"))
15373 (package
15374 (name "sbcl-cl-html5-parser")
15375 (version (git-version "0.0.0" revision commit))
15376 (source
15377 (origin
15378 (method git-fetch)
15379 (uri (git-reference
15380 (url "https://github.com/rotatef/cl-html5-parser")
15381 (commit commit)))
15382 (file-name (git-file-name "cl-html5-parser" version))
15383 (sha256
15384 (base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
15385 (build-system asdf-build-system/sbcl)
15386 (native-inputs
15387 `(("json-streams" ,sbcl-json-streams)
15388 ("split-sequence" ,sbcl-split-sequence)
15389 ("stefil" ,sbcl-stefil)))
15390 (inputs
15391 `(("cl-ppcre" ,sbcl-cl-ppcre)
15392 ("flexi-stream" ,sbcl-flexi-streams)
15393 ("string-case" ,sbcl-string-case)))
15394 (synopsis "HTML5 parser for Common Lisp")
15395 (description "This a Common Lisp library to parse HTML5 documents.")
15396 (home-page "https://github.com/rotatef/cl-html5-parser")
15397 (license license:lgpl3+))))
15398
15399 (define-public ecl-cl-html5-parser
15400 (sbcl-package->ecl-package sbcl-cl-html5-parser))
15401
15402 (define-public cl-html5-parser
15403 (sbcl-package->cl-source-package sbcl-cl-html5-parser))
15404
15405 (define-public sbcl-percent-encoding
15406 (let ((commit "c1224e22bc8048fbd3ebbc9329715a0c1b673170")
15407 (revision "1"))
15408 (package
15409 (name "sbcl-percent-encoding")
15410 (version (git-version "0.1" revision commit))
15411 (source
15412 (origin
15413 (method git-fetch)
15414 (uri (git-reference
15415 (url "https://github.com/llibra/percent-encoding")
15416 (commit commit)))
15417 (file-name (git-file-name "percent-encoding" version))
15418 (sha256
15419 (base32 "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"))))
15420 (build-system asdf-build-system/sbcl)
15421 (native-inputs
15422 `(("fiveam" ,sbcl-fiveam)))
15423 (inputs
15424 `(("anaphora" ,sbcl-anaphora)
15425 ("babel" ,sbcl-babel)))
15426 (synopsis "RFC 3986 percent-encoding library")
15427 (description
15428 "This is a Common Lisp library providing RFC 3986 percent-encoding.")
15429 (home-page "https://github.com/llibra/percent-encoding")
15430 (license license:expat))))
15431
15432 (define-public ecl-percent-encoding
15433 (sbcl-package->ecl-package sbcl-percent-encoding))
15434
15435 (define-public cl-percent-encoding
15436 (sbcl-package->cl-source-package sbcl-percent-encoding))
15437
15438 (define-public sbcl-cl-mount-info
15439 (let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b")
15440 (revision "1"))
15441 (package
15442 (name "sbcl-cl-mount-info")
15443 (version (git-version "0.0.1" revision commit))
15444 (source
15445 (origin
15446 (method git-fetch)
15447 (uri (git-reference
15448 (url "https://notabug.org/cage/cl-mount-info.git")
15449 (commit commit)))
15450 (file-name (git-file-name "cl-mount-info" version))
15451 (sha256
15452 (base32 "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x"))))
15453 (build-system asdf-build-system/sbcl)
15454 (inputs
15455 `(("alexandria" ,sbcl-alexandria)
15456 ("cffi" ,sbcl-cffi)
15457 ("cl-ppcre" ,sbcl-cl-ppcre)))
15458 (home-page "https://notabug.org/cage/cl-mount-info.git")
15459 (synopsis "Library to get information about mounted filesystems")
15460 (description
15461 "CL-MOUNT-INFO is a Common Lisp wrapper around @code{getmntent(3)} and
15462 related C functions to get information about the mounted file system.")
15463 (license license:lgpl3))))
15464
15465 (define-public ecl-cl-mount-info
15466 (sbcl-package->ecl-package sbcl-cl-mount-info))
15467
15468 (define-public cl-mount-info
15469 (sbcl-package->cl-source-package sbcl-cl-mount-info))
15470
15471 (define-public sbcl-cl-diskspace
15472 (let ((commit "2dce2d0387d58221c452bd76c7b9b7a7de81ef55")
15473 (revision "1"))
15474 (package
15475 (name "sbcl-cl-diskspace")
15476 (version (git-version "0.3.1" revision commit))
15477 (source
15478 (origin
15479 (method git-fetch)
15480 (uri (git-reference
15481 (url "https://github.com/muyinliu/cl-diskspace")
15482 (commit commit)))
15483 (file-name (git-file-name "cl-diskspace" version))
15484 (sha256
15485 (base32 "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"))))
15486 (build-system asdf-build-system/sbcl)
15487 (arguments
15488 `(#:phases
15489 (modify-phases %standard-phases
15490 (add-after 'unpack 'fix-paths
15491 (lambda* (#:key inputs #:allow-other-keys)
15492 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15493 (("grep")
15494 (string-append (assoc-ref inputs "grep") "/bin/grep")))
15495 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15496 (("/bin/df")
15497 (which "df")))
15498 #t)))))
15499 (inputs
15500 `(("cl-ppcre" ,sbcl-cl-ppcre)
15501 ("cffi" ,sbcl-cffi)
15502 ("grep" ,grep)))
15503 (home-page "https://github.com/muyinliu/cl-diskspace")
15504 (synopsis "Disk space information library for Common Lisp")
15505 (description
15506 "CL-DISKSPACE is a Common Lisp library to list disks with the command
15507 line tool @code{df} and get disk space information using @code{statvfs}.")
15508 (license license:isc))))
15509
15510 (define-public ecl-cl-diskspace
15511 (sbcl-package->ecl-package sbcl-cl-diskspace))
15512
15513 (define-public cl-diskspace
15514 (sbcl-package->cl-source-package sbcl-cl-diskspace))
15515
15516 (define-public sbcl-cl-cpus
15517 (package
15518 (name "sbcl-cl-cpus")
15519 (version "0.0.3")
15520 (source
15521 (origin
15522 (method git-fetch)
15523 (uri (git-reference
15524 (url "https://github.com/muyinliu/cl-cpus")
15525 (commit (string-append "v" version))))
15526 (file-name (git-file-name "cl-cpus" version))
15527 (sha256
15528 (base32 "0sdaff9hpsx7bpkkkqavmxmrrlc2d61gmqjjgn8xchncng4a0rf8"))))
15529 (build-system asdf-build-system/sbcl)
15530 (inputs
15531 `(("cffi" ,sbcl-cffi)))
15532 (home-page "https://github.com/muyinliu/cl-cpus")
15533 (synopsis "Common Lisp feature to get number of CPUs")
15534 (description
15535 "This package provides a Common Lisp system which has only one function to
15536 return the CPU count of the current system.")
15537 (license license:isc)))
15538
15539 (define-public ecl-cl-cpus
15540 (sbcl-package->ecl-package sbcl-cl-cpus))
15541
15542 (define-public cl-cpus
15543 (sbcl-package->cl-source-package sbcl-cl-cpus))
15544
15545 (define-public sbcl-fof
15546 (package
15547 (name "sbcl-fof")
15548 (version "0.2.0")
15549 (source
15550 (origin
15551 (method git-fetch)
15552 (uri (git-reference
15553 (url "https://gitlab.com/ambrevar/fof")
15554 (commit version)))
15555 (file-name (git-file-name name version))
15556 (sha256
15557 (base32 "0j64b7p40h8bq33hqkpgakm3vs1607vyx6n48d7qg3287v1akk6m"))))
15558 (build-system asdf-build-system/sbcl)
15559 (arguments
15560 `(#:phases
15561 (modify-phases %standard-phases
15562 (add-after 'unpack 'fix-paths
15563 (lambda* (#:key inputs #:allow-other-keys)
15564 (substitute* "ffprobe.lisp"
15565 (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
15566 (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
15567 (assoc-ref inputs "ffmpeg") )))
15568 #t)))))
15569 (inputs
15570 `(("alexandria" ,sbcl-alexandria)
15571 ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star)
15572 ("local-time" ,sbcl-local-time)
15573 ("magicffi" ,sbcl-magicffi)
15574 ("osicat" ,sbcl-osicat)
15575 ("serapeum" ,sbcl-serapeum)
15576 ("str" ,sbcl-cl-str)
15577 ("trivia" ,sbcl-trivia)
15578 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
15579 ;; Non-CL deps:
15580 ("ffmpeg" ,ffmpeg)))
15581 (home-page "https://gitlab.com/ambrevar/fof")
15582 (synopsis "File object finder library for Common Lisp")
15583 (description
15584 "This library enable rapid file search, inspection and manipulation
15585 straight from the REPL.
15586 It aims at replacing Unix tools such as @code{find} or @code{du}.
15587 It also offers a replacement to the @code{pathname} Common Lisp API.
15588 Slot writers which commit changes to disk, e.g. permissions, modification
15589 time, etc.")
15590 (license license:gpl3+)))
15591
15592 (define-public ecl-fof
15593 (sbcl-package->ecl-package sbcl-fof))
15594
15595 (define-public cl-fof
15596 (sbcl-package->cl-source-package sbcl-fof))
15597
15598 (define-public sbcl-computable-reals
15599 (let ((commit "fdc73d75e79d0a4ce6d01c822c950ae2eb137d39"))
15600 (package
15601 (name "sbcl-computable-reals")
15602 (version (git-version "1.1.0" "1" commit))
15603 (source
15604 (origin
15605 (method git-fetch)
15606 (uri (git-reference
15607 (url "https://github.com/stylewarning/computable-reals")
15608 (commit commit)))
15609 (file-name (git-file-name name version))
15610 (sha256
15611 (base32 "0f12axi53x14l12dgf4a1lfq3p1fx7fh7sjfc0db3lk88ph9qfwl"))))
15612 (build-system asdf-build-system/sbcl)
15613 (home-page "https://github.com/stylewarning/computable-reals")
15614 (synopsis "Arbitrary-precision, re-computing real-numbers in Common Lisp")
15615 (description
15616 "This library provides arbitrary precision (floating point) real
15617 numbers in Common Lisp.")
15618 (license license:bsd-3))))
15619
15620 (define-public ecl-computable-reals
15621 (sbcl-package->ecl-package sbcl-computable-reals))
15622
15623 (define-public cl-computable-reals
15624 (sbcl-package->cl-source-package sbcl-computable-reals))
15625
15626 (define-public sbcl-html-template
15627 (package
15628 (name "sbcl-html-template")
15629 (version "0.9.2")
15630 (source
15631 (origin
15632 (method git-fetch)
15633 (uri (git-reference
15634 (url "https://github.com/edicl/html-template")
15635 (commit (string-append "v" version))))
15636 (file-name (git-file-name name version))
15637 (sha256
15638 (base32 "0wz3czvjsn4x971dsiia9f9nvvcmbkablcl75zsvxndkimc93wxb"))))
15639 (build-system asdf-build-system/sbcl)
15640 (home-page "https://edicl.github.io/html-template/")
15641 (synopsis "HTML templates from Common Lisp")
15642 (description
15643 "HTML-TEMPLATE is a Common Lisp library which can be used to fill
15644 templates with arbitrary (string) values at runtime. The result does not have
15645 to be HTML.
15646
15647 It is loosely modeled after the Perl module @code{HTML::Template} and
15648 partially compatible with a its syntax, though both libraries contain some
15649 extensions that the other does not support.
15650
15651 HTML-TEMPLATE translates templates into efficient closures which can be
15652 re-used as often as needed. It uses a cache mechanism so you can update
15653 templates while your program is running and have the changes take effect
15654 immediately.")
15655 (license license:bsd-2)))
15656
15657 (define-public ecl-html-template
15658 (sbcl-package->ecl-package sbcl-html-template))
15659
15660 (define-public cl-html-template
15661 (sbcl-package->cl-source-package sbcl-html-template))
15662
15663 (define-public sbcl-quickproject
15664 (package
15665 (name "sbcl-quickproject")
15666 (version "1.4.1")
15667 (source
15668 (origin
15669 (method git-fetch)
15670 (uri (git-reference
15671 (url "https://github.com/xach/quickproject")
15672 (commit (string-append "release-" version))))
15673 (file-name (git-file-name name version))
15674 (sha256
15675 (base32 "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6"))))
15676 (build-system asdf-build-system/sbcl)
15677 (inputs
15678 `(("cl-fad" ,sbcl-cl-fad)
15679 ("html-template" ,sbcl-html-template)))
15680 (arguments
15681 '(#:asd-files '("quickproject.asd")))
15682 (home-page "https://xach.com/lisp/quickproject/")
15683 (synopsis "Create Common Lisp project skeletons")
15684 (description
15685 "Quickproject provides a quick way to make a Common Lisp project. After
15686 creating a project, it extends the ASDF registry so the project may be
15687 immediately loaded.")
15688 (license license:expat)))
15689
15690 (define-public ecl-quickproject
15691 (sbcl-package->ecl-package sbcl-quickproject))
15692
15693 (define-public cl-quickproject
15694 (sbcl-package->cl-source-package sbcl-quickproject))
15695
15696 (define-public sbcl-bodge-math
15697 (let ((commit "9159b7faf88d440024c07110dbef2abddb20b9af")
15698 (revision "1"))
15699 (package
15700 (name "sbcl-bodge-math")
15701 (version (git-version "1.0.0" revision commit))
15702 (source
15703 (origin
15704 (method git-fetch)
15705 (uri (git-reference
15706 (url "https://github.com/borodust/bodge-math")
15707 (commit commit)))
15708 (file-name (git-file-name "bodge-math" version))
15709 (sha256
15710 (base32 "0r3vnl9lywn4ksy34apcv6j825qp7l1naddawr14v4lwacndb80v"))))
15711 (build-system asdf-build-system/sbcl)
15712 (inputs
15713 `(("bodge-utilities" ,sbcl-bodge-utilities)
15714 ("rtg-math" ,sbcl-rtg-math)))
15715 (home-page "https://github.com/borodust/bodge-math")
15716 (synopsis "Common Lisp core math utilities of BODGE library collection")
15717 (description
15718 "This Common Lisp package contains the core math utilities of the
15719 @emph{Bodge} library collection.")
15720 (license license:expat))))
15721
15722 (define-public ecl-bodge-math
15723 (sbcl-package->ecl-package sbcl-bodge-math))
15724
15725 (define-public cl-bodge-math
15726 (sbcl-package->cl-source-package sbcl-bodge-math))
15727
15728 (define-public sbcl-bodge-blobs-support
15729 (let ((commit "c5034ca5f4fc3a44dbadeba215a09afd59a404b0")
15730 (revision "1"))
15731 (package
15732 (name "sbcl-bodge-blobs-support")
15733 (version (git-version "1.0.0" revision commit))
15734 (source
15735 (origin
15736 (method git-fetch)
15737 (uri (git-reference
15738 (url "https://github.com/borodust/bodge-blobs-support")
15739 (commit commit)))
15740 (file-name (git-file-name "bodge-blobs-support" version))
15741 (sha256
15742 (base32 "02nd1x6y1akp1ymv1y4z9ympwbnpd1drwi4f86xbjszxqff6jyj8"))))
15743 (build-system asdf-build-system/sbcl)
15744 (native-inputs
15745 `(("trivial-features" ,sbcl-trivial-features)))
15746 (inputs
15747 `(("cffi" ,sbcl-cffi)
15748 ("sbcl-alexandria" ,sbcl-alexandria)))
15749 (home-page "https://github.com/borodust/bodge-blobs-support")
15750 (synopsis "Common Lisp utilities for blob packages")
15751 (description
15752 "This is a Common Lisp library for simplifying packaging and loading of
15753 compiled foreign library collection.")
15754 (license license:unlicense))))
15755
15756 (define-public cl-bodge-blobs-support
15757 (sbcl-package->cl-source-package sbcl-bodge-blobs-support))
15758
15759 (define-public ecl-bodge-blobs-support
15760 (sbcl-package->ecl-package sbcl-bodge-blobs-support))
15761
15762 (define-public sbcl-cl-conspack
15763 (let ((commit "fc8473bc6f929696b03b43820596b7c976c4678e")
15764 (revision "1"))
15765 (package
15766 (name "sbcl-cl-conspack")
15767 (version (git-version "0.0.0" revision commit))
15768 (source
15769 (origin
15770 (method git-fetch)
15771 (uri (git-reference
15772 (url "https://github.com/conspack/cl-conspack")
15773 (commit commit)))
15774 (file-name (git-file-name "cl-conspack" version))
15775 (sha256
15776 (base32 "0b7qzvsrpvnw12hqhjmz0b02sigj0kdjy55j4k7xzmj8684cs8bx"))))
15777 (build-system asdf-build-system/sbcl)
15778 ;; FIXME: (Sharlatan-20210331T220652+0100): Test are disabled because of:
15779 ;;
15780 ;; Error while trying to load definition for system cl-conspack-test
15781 ;; from pathname .../cl-conspack/cl-conspack-test.asd:
15782 ;; Error opening .../checkl/formalize-tmpGHU3ALSV.fasl": Permission denied
15783 ;;
15784 ;; It looks like the issues is in CheckL itself as other packages keep
15785 ;; failing test where it's in use.
15786 (arguments
15787 '(#:tests? #f
15788 #:asd-files '("cl-conspack.asd")))
15789 (native-inputs
15790 `(("checkl" ,sbcl-checkl)))
15791 (inputs
15792 `(("alexandria" ,sbcl-alexandria)
15793 ("closer-mop" ,sbcl-closer-mop)
15794 ("fast-io" ,sbcl-fast-io)
15795 ("ieee-floats" ,sbcl-ieee-floats)
15796 ("trivial-garbage" ,sbcl-trivial-garbage)
15797 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
15798 (home-page "https://github.com/conspack/cl-conspack")
15799 (synopsis "CONSPACK implementation for Common Lisp")
15800 (description
15801 "This package provides a CONSPACK implementation for Common Lisp.")
15802 (license license:bsd-3))))
15803
15804 (define-public ecl-cl-conspack
15805 (sbcl-package->ecl-package sbcl-cl-conspack))
15806
15807 (define-public cl-conspack
15808 (sbcl-package->cl-source-package sbcl-cl-conspack))
15809
15810 (define-public sbcl-cl-opengl
15811 (let ((commit "e2d83e0977b7e7ac3f3d348d8ccc7ccd04e74d59")
15812 (revision "1"))
15813 (package
15814 (name "sbcl-cl-opengl")
15815 (version (git-version "0.1.0" revision commit))
15816 (source
15817 (origin
15818 (method git-fetch)
15819 (uri (git-reference
15820 (url "https://github.com/3b/cl-opengl")
15821 (commit commit)))
15822 (file-name (git-file-name "cl-opengl" version))
15823 (sha256
15824 (base32 "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7"))))
15825 (build-system asdf-build-system/sbcl)
15826 (arguments
15827 `(#:asd-systems '("cl-opengl" "cl-glu" "cl-glut")
15828 #:phases
15829 (modify-phases %standard-phases
15830 (add-after 'unpack 'patch-lib-path
15831 (lambda* (#:key inputs #:allow-other-keys)
15832 (substitute* "gl/library.lisp"
15833 (("libGL.so" all)
15834 (string-append (assoc-ref inputs "mesa") "/lib/" all)))
15835 (substitute* "glu/library.lisp"
15836 (("libGLU.so" all)
15837 (string-append (assoc-ref inputs "glu") "/lib/" all)))
15838 (substitute* "glut/library.lisp"
15839 (("libglut.so" all)
15840 (string-append (assoc-ref inputs "freeglut") "/lib/" all)))
15841 #t)))))
15842 (inputs
15843 `(("alexandria" ,sbcl-alexandria)
15844 ("cffi" ,sbcl-cffi)
15845 ("float-features" ,sbcl-float-features)
15846 ("freeglut" ,freeglut)
15847 ("glu" ,glu)
15848 ("mesa" ,mesa)))
15849 (home-page "https://github.com/3b/cl-opengl")
15850 (synopsis "Common Lisp bindings to OpenGL, GLU and GLUT APIs")
15851 (description
15852 "This package provides a set of bindings and utilities for accessing the
15853 OpenGL (Mesa), GLU and GLUT (FreeGLUT) APIs using CFFI.")
15854 (license license:bsd-3))))
15855
15856 (define-public ecl-cl-opengl
15857 (sbcl-package->ecl-package sbcl-cl-opengl))
15858
15859 (define-public cl-opengl
15860 (sbcl-package->cl-source-package sbcl-cl-opengl))
15861
15862 (define-public sbcl-shadow
15863 (let ((commit "b2031adbfba3579b48c9d39ad997e19b79b6852f")
15864 (revision "1"))
15865 (package
15866 (name "sbcl-shadow")
15867 (version (git-version "0.0.0" revision commit))
15868 (source
15869 (origin
15870 (method git-fetch)
15871 (uri (git-reference
15872 (url "https://git.mfiano.net/mfiano/shadow")
15873 (commit commit)))
15874 (file-name (git-file-name "shadow" version))
15875 (sha256
15876 (base32 "0w1i734gkdkziin74ql2nhx7jdjxx02ylssaa6qdrvnj4br1124a"))))
15877 (build-system asdf-build-system/sbcl)
15878 (inputs
15879 `(("cffi" ,sbcl-cffi)
15880 ("cl-opengl" ,sbcl-cl-opengl)
15881 ("glsl-packing" ,sbcl-glsl-packing)
15882 ("golden-utils" ,sbcl-golden-utils)
15883 ("static-vectors" ,sbcl-static-vectors)
15884 ("varjo" ,sbcl-varjo)))
15885 (home-page "https://git.mfiano.net/mfiano/shadow")
15886 (synopsis "Management system for OpenGL shader programs")
15887 (description
15888 "This package provides a Common Lisp library for defining OpenGL shader
15889 programs. There are also functions for referencing shader programs by name,
15890 querying for basic information about them, modifying uniform variables
15891 throughout the lifecycle of an OpenGL application, and managing certain OpenGL
15892 buffer object types (UBO, SSBO currently).")
15893 (license license:expat))))
15894
15895 (define-public ecl-shadow
15896 (sbcl-package->ecl-package sbcl-shadow))
15897
15898 (define-public cl-shadow
15899 (sbcl-package->cl-source-package sbcl-shadow))
15900
15901 (define-public sbcl-umbra
15902 (let ((commit "d6ef2f6cbfa26180929061129eaf325bf17f73d8")
15903 (revision "1"))
15904 (package
15905 (name "sbcl-umbra")
15906 (version (git-version "0.0.0" revision commit))
15907 (source
15908 (origin
15909 (method git-fetch)
15910 (uri (git-reference
15911 (url "https://git.mfiano.net/mfiano/umbra")
15912 (commit commit)))
15913 (file-name (git-file-name "umbra" version))
15914 (sha256
15915 (base32 "04vyh2j00zdpb8ryxr8g81wjcmqlz9wrn55r3cypcj4qg970r5wi"))))
15916 (build-system asdf-build-system/sbcl)
15917 (inputs
15918 `(("golden-utils" ,sbcl-golden-utils)
15919 ("shadow" ,sbcl-shadow)
15920 ("varjo" ,sbcl-varjo)))
15921 (home-page "https://git.mfiano.net/mfiano/umbra")
15922 (synopsis "Common Lisp library of reusable GPU shader functions")
15923 (description
15924 "This is a Common Lisp library consisting of a collection of useful GPU
15925 shader functions, written with @code{Shadow}.")
15926 (license license:expat))))
15927
15928 (define-public ecl-umbra
15929 (sbcl-package->ecl-package sbcl-umbra))
15930
15931 (define-public cl-umbra
15932 (sbcl-package->cl-source-package sbcl-umbra))
15933
15934 (define-public sbcl-abstract-classes
15935 (let ((commit "7fa74f1e057f9ba7c1ffecff14f049f979e45267")
15936 (revision "1"))
15937 (package
15938 (name "sbcl-abstract-classes")
15939 (version (git-version "1.7.0" revision commit))
15940 (source
15941 (origin
15942 (method git-fetch)
15943 (uri (git-reference
15944 (url "https://bitbucket.org/eeeickythump/cl-abstract-classes")
15945 (commit commit)))
15946 (file-name (git-file-name "cl-abstract-classes" version))
15947 (sha256
15948 (base32 "06lby4i6xbbgs7kgb0f3fqybvyskyg6djhrf967lnysv7hn3zpg9"))))
15949 (build-system asdf-build-system/sbcl)
15950 (inputs
15951 `(("closer-mop" ,sbcl-closer-mop)))
15952 (arguments
15953 `(#:asd-systems '("abstract-classes" "singleton-classes")))
15954 (home-page "https://bitbucket.org/eeeickythump/cl-abstract-classes")
15955 (synopsis "Abstract, final, and singleton metaclasses for CLOS")
15956 (description
15957 "This package provides Common Lisp extension to the MOP to allow
15958 abstract, final and singleton classes.")
15959 (license license:public-domain))))
15960
15961 (define-public ecl-abstract-classes
15962 (sbcl-package->ecl-package sbcl-abstract-classes))
15963
15964 (define-public cl-abstract-classes
15965 (sbcl-package->cl-source-package sbcl-abstract-classes))
15966
15967 (define-public sbcl-coalton
15968 (let ((commit "4a42ffb4222fde3abfd1b50d96e455ff2eef9fe8")
15969 (revision "1"))
15970 (package
15971 (name "sbcl-coalton")
15972 (version (git-version "0.0.0" revision commit))
15973 (source
15974 (origin
15975 (method git-fetch)
15976 (uri (git-reference
15977 (url "https://github.com/stylewarning/coalton")
15978 (commit commit)))
15979 (file-name (git-file-name "coalton" version))
15980 (sha256
15981 (base32 "0aidwwam7cnhb3p9212zbv5w2dl6kr5iklzanypzr1a9lqaxwdlk"))))
15982 (build-system asdf-build-system/sbcl)
15983 (native-inputs
15984 `(("fiasco" ,sbcl-fiasco)))
15985 (inputs
15986 `(("abstract-classes" ,sbcl-abstract-classes)
15987 ("alexandria" ,sbcl-alexandria)
15988 ("global-vars" ,sbcl-global-vars)
15989 ("optima" ,sbcl-optima)
15990 ("trivial-garbage" ,sbcl-trivial-garbage)))
15991 (home-page "https://github.com/stylewarning/coalton")
15992 (synopsis "Dialect of ML in Common Lisp")
15993 (description
15994 "Coalton is a dialect of ML embedded in Common Lisp. It emphasizes
15995 practicality and interoperability with Lisp, and is intended to be a DSL that
15996 allows one to gradually make their programs safer.")
15997 (license license:expat))))
15998
15999 (define-public ecl-coalton
16000 (sbcl-package->ecl-package sbcl-coalton))
16001
16002 (define-public cl-coalton
16003 (sbcl-package->cl-source-package sbcl-coalton))
16004
16005 (define-public sbcl-clip
16006 (let ((commit "7afa68702fbb99c47ed115ea0faccd97a29d9b2e")
16007 (revision "1"))
16008 (package
16009 (name "sbcl-clip")
16010 (version (git-version "0.7.0" revision commit))
16011 (source
16012 (origin
16013 (method git-fetch)
16014 (uri (git-reference
16015 (url "https://github.com/shinmera/clip")
16016 (commit commit)))
16017 (file-name (git-file-name "clip" version))
16018 (sha256
16019 (base32 "13kkajkva2shm19fvn4yashsw18l6imv2rmy3hmpcky7g5ay7bv3"))))
16020 (build-system asdf-build-system/sbcl)
16021 (inputs
16022 `(("array-utils" ,sbcl-array-utils)
16023 ("lquery" ,sbcl-lquery)))
16024 (home-page "https://shinmera.github.io/clip/")
16025 (synopsis "Common Lisp HTML templating engine")
16026 (description
16027 "Clip is an attempt at a templating library that allows you to write
16028 templates in a way that is both accessible to direct webdesign and
16029 flexible. The main idea is to incorporate transformation commands into an HTML
16030 file through tags and attributes. Clip is heavily dependent on Plump and
16031 lQuery.")
16032 (license license:zlib))))
16033
16034 (define-public ecl-clip
16035 (sbcl-package->ecl-package sbcl-clip))
16036
16037 (define-public cl-clip
16038 (sbcl-package->cl-source-package sbcl-clip))
16039
16040 (define-public sbcl-pathname-utils
16041 (let ((commit "70f517e44e13a38e0c8f296613236376d679fa8f")
16042 (revision "1"))
16043 (package
16044 (name "sbcl-pathname-utils")
16045 (version (git-version "1.1.0" revision commit))
16046 (source
16047 (origin
16048 (method git-fetch)
16049 (uri (git-reference
16050 (url "https://github.com/Shinmera/pathname-utils")
16051 (commit commit)))
16052 (file-name (git-file-name "pathname-utils" version))
16053 (sha256
16054 (base32 "1zm4bf6gajpgmhr7zwf7600zlaf8fs1fcyzabqsh2ma2crkgqdxq"))))
16055 (build-system asdf-build-system/sbcl)
16056 (native-inputs
16057 `(("parachute" ,sbcl-parachute)))
16058 (home-page "https://shinmera.github.io/pathname-utils/")
16059 (synopsis "Collection of utilities to help with pathname operations")
16060 (description
16061 "This package provides a Common Lisp system a with collection of common
16062 tests and operations to help handling pathnames. It does not actually deal in
16063 handling the accessing of files on the underlying system however.")
16064 (license license:zlib))))
16065
16066 (define-public ecl-pathname-utils
16067 (sbcl-package->ecl-package sbcl-pathname-utils))
16068
16069 (define-public cl-pathname-utils
16070 (sbcl-package->cl-source-package sbcl-pathname-utils))
16071
16072 (define-public sbcl-terrable
16073 (let ((commit "e4fe23ffa08e8d53a8168105b413861da59cc786")
16074 (revision "1"))
16075 (package
16076 (name "sbcl-terrable")
16077 (version (git-version "1.0.0" revision commit))
16078 (source
16079 (origin
16080 (method git-fetch)
16081 (uri (git-reference
16082 (url "https://github.com/Shirakumo/terrable")
16083 (commit commit)))
16084 (file-name (git-file-name "terrable" version))
16085 (sha256
16086 (base32 "0pnqflgz410zydc1ivwnd8hcl24bgr7x12yjzr7g4lq3ibc8y97b"))))
16087 (build-system asdf-build-system/sbcl)
16088 (inputs
16089 `(("documentation-utils" ,sbcl-documentation-utils)
16090 ("fast-io" ,sbcl-fast-io)
16091 ("ieee-floats" ,sbcl-ieee-floats)
16092 ("static-vectors" ,sbcl-static-vectors)
16093 ("trivial-garbage" ,sbcl-trivial-garbage)))
16094 (home-page "https://shirakumo.github.io/terrable/")
16095 (synopsis "Parser library for Terragen TER terrain files")
16096 (description
16097 "This package provides Common Lisp support for reading the Terragen
16098 @code{.TER} format. The format specification can be found at
16099 @url{https://planetside.co.uk/wiki/index.php?title=Terragen_.TER_Format}")
16100 (license license:zlib))))
16101
16102 (define-public ecl-terrable
16103 (sbcl-package->ecl-package sbcl-terrable))
16104
16105 (define-public cl-terrable
16106 (sbcl-package->cl-source-package sbcl-terrable))
16107
16108 (define-public sbcl-simple-rgb
16109 (let ((commit "ba9b0689362c28aa6a91c0636796c6c372657293")
16110 (revision "1"))
16111 (package
16112 (name "sbcl-simple-rgb")
16113 (version (git-version "0.01" revision commit))
16114 (source
16115 (origin
16116 (method git-fetch)
16117 (uri (git-reference
16118 (url "https://github.com/wmannis/simple-rgb/")
16119 (commit commit)))
16120 (file-name (git-file-name name version))
16121 (sha256
16122 (base32 "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1"))))
16123 (build-system asdf-build-system/sbcl)
16124 (home-page "https://github.com/wmannis/simple-rgb")
16125 (synopsis "Manipulate colors in RGB format")
16126 (description
16127 "This Common Lisp library focuses on the small set of basic color
16128 manipulations (lightening, compliments, etc.) you might use to generate a
16129 color palette for a GUI or web page.")
16130 (license license:bsd-2))))
16131
16132 (define-public ecl-simple-rgb
16133 (sbcl-package->ecl-package sbcl-simple-rgb))
16134
16135 (define-public cl-simple-rgb
16136 (sbcl-package->cl-source-package sbcl-simple-rgb))
16137
16138 (define-public sbcl-cl-qprint
16139 (let ((commit "bfe398551cbfb7ca84a9ba59a26a1116ac5c06eb")
16140 (revision "1"))
16141 (package
16142 (name "sbcl-cl-qprint")
16143 (version (git-version "0.9.0" revision commit))
16144 (source
16145 (origin
16146 (method git-fetch)
16147 (uri (git-reference
16148 (url "https://github.com/eugeneia/cl-qprint/")
16149 (commit commit)))
16150 (file-name (git-file-name name version))
16151 (sha256
16152 (base32 "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir"))))
16153 (build-system asdf-build-system/sbcl)
16154 (inputs
16155 `(("flexi-streams" ,sbcl-flexi-streams)))
16156 (home-page "https://github.com/eugeneia/cl-qprint/")
16157 (synopsis "Implementation of the quoted-printable encoding")
16158 (description
16159 "This Common Lisp library implements the quoted-printable encoding as
16160 described in RFC 2045 (see @url{http://tools.ietf.org/html/rfc2045}).")
16161 (license license:lgpl2.1))))
16162
16163 (define-public ecl-cl-qprint
16164 (sbcl-package->ecl-package sbcl-cl-qprint))
16165
16166 (define-public cl-qprint
16167 (sbcl-package->cl-source-package sbcl-cl-qprint))
16168
16169 (define-public sbcl-cl-mime
16170 (let ((commit "d30a28e0a40393bd3af7d138daa05319ed2e9d07")
16171 (revision "1"))
16172 (package
16173 (name "sbcl-cl-mime")
16174 ;; One commit says "update to cl-mime-0.5.3", even though the .asd is at 0.5.1.
16175 (version (git-version "0.5.3" revision commit))
16176 (source
16177 (origin
16178 (method git-fetch)
16179 (uri (git-reference
16180 ;; Maintained fork according to http://www.cliki.net/CL-MIME:
16181 (url "https://github.com/40ants/cl-mime")
16182 (commit commit)))
16183 (file-name (git-file-name name version))
16184 (sha256
16185 (base32 "0qn8if0fj6vzc897pqqqs0m1y107gmzqngpqhqmwrcsp1ckj5k0v"))))
16186 (build-system asdf-build-system/sbcl)
16187 (inputs
16188 `(("ppcre" ,sbcl-cl-ppcre)
16189 ("cl-base64" ,sbcl-cl-base64)
16190 ("cl-qprint" ,sbcl-cl-qprint)))
16191 (native-inputs
16192 `(("rove" ,sbcl-rove)))
16193 (home-page "https://github.com/eugeneia/cl-qprint/")
16194 (synopsis "Read and print MIME content in Common Lisp")
16195 (description
16196 "This is a Common Lisp library for reading and printing MIME content.
16197 It supports automatic conversion between 7-bit, quoted-printable and base64
16198 encodings.")
16199 (license license:lgpl2.1))))
16200
16201 (define-public ecl-cl-mime
16202 (sbcl-package->ecl-package sbcl-cl-mime))
16203
16204 (define-public cl-mime
16205 (sbcl-package->cl-source-package sbcl-cl-mime))
16206
16207 (define-public sbcl-lispbuilder-sdl
16208 (let ((commit "589b3c6d552bbec4b520f61388117d6c7b3de5ab"))
16209 (package
16210 (name "sbcl-lispbuilder-sdl")
16211 (version (git-version "0.9.8.2" "1" commit))
16212 (source
16213 (origin
16214 (method git-fetch)
16215 (uri (git-reference
16216 (url "https://github.com/lispbuilder/lispbuilder")
16217 (commit commit)))
16218 (file-name (git-file-name name version))
16219 (sha256
16220 (base32 "0zga59fjlhq3mhwbf80qwqwpkjkxqnn2mhxajlb8563vhn3dbafp"))))
16221 (build-system asdf-build-system/sbcl)
16222 (inputs
16223 `(("cffi" ,sbcl-cffi)
16224 ("trivial-garbage" ,sbcl-trivial-garbage)
16225 ("sdl" ,sdl)))
16226 (arguments
16227 `(#:phases
16228 (modify-phases %standard-phases
16229 (add-after 'unpack 'cd-sdl
16230 (lambda _
16231 (chdir "lispbuilder-sdl")
16232 #t))
16233 (add-after 'cd-sdl 'fix-paths
16234 (lambda* (#:key inputs #:allow-other-keys)
16235 (substitute* "cffi/library.lisp"
16236 (("libSDL[^\"]*" all)
16237 (string-append (assoc-ref inputs "sdl") "/lib/" all)))
16238 #t)))))
16239 (home-page "https://github.com/lispbuilder/lispbuilder/wiki/LispbuilderSDL")
16240 (synopsis "Common Lisp wrapper for SDL")
16241 (description
16242 "This library is an SDL wrapper as part of an umbrella project that
16243 provides cross-platform packages for building large, interactive applications
16244 in Common Lisp.")
16245 (license license:expat))))
16246
16247 (define-public ecl-lispbuilder-sdl
16248 (sbcl-package->ecl-package sbcl-lispbuilder-sdl))
16249
16250 (define-public cl-lispbuilder-sdl
16251 (sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
16252
16253 (define-public sbcl-dufy
16254 (package
16255 (name "sbcl-dufy")
16256 (version "0.4.1")
16257 (source
16258 (origin
16259 (method git-fetch)
16260 (uri (git-reference
16261 (url "https://github.com/privet-kitty/dufy")
16262 (commit (string-append "v" version))))
16263 (file-name (git-file-name name version))
16264 (sha256
16265 (base32 "15vrp1kayhjb5c1vc9x8wlm8rimk73vpa7yc101cf0gsg1fjazl6"))))
16266 (build-system asdf-build-system/sbcl)
16267 (inputs
16268 `(("alexandria" ,sbcl-alexandria)
16269 ("ppcre" ,sbcl-cl-ppcre)))
16270 (native-inputs
16271 `(("fiveam" ,sbcl-fiveam)
16272 ("cl-csv" ,sbcl-cl-csv)
16273 ("parse-float" ,sbcl-parse-float)
16274 ("lispbuilder-sdl" ,sbcl-lispbuilder-sdl)
16275 ("lparallel" ,sbcl-lparallel)))
16276 (home-page "https://github.com/privet-kitty/dufy")
16277 (synopsis "Color library for Common Lisp")
16278 (description
16279 "Dufy is a library for exact color manipulation and conversion in various
16280 color spaces, which supports many color models.")
16281 (license license:expat)))
16282
16283 (define-public ecl-dufy
16284 (sbcl-package->ecl-package sbcl-dufy))
16285
16286 (define-public cl-dufy
16287 (sbcl-package->cl-source-package sbcl-dufy))
16288
16289 (define-public sbcl-unit-test
16290 (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735")
16291 (revision "1"))
16292 (package
16293 (name "sbcl-unit-test")
16294 (version (git-version "0.0.0" revision commit))
16295 (source
16296 (origin
16297 (method git-fetch)
16298 (uri (git-reference
16299 (url "https://github.com/hanshuebner/unit-test")
16300 (commit commit)))
16301 (file-name (git-file-name "unit-test" version))
16302 (sha256
16303 (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9"))))
16304 (build-system asdf-build-system/sbcl)
16305 (home-page "https://github.com/hanshuebner/unit-test")
16306 (synopsis "Unit-testing framework for Common Lisp")
16307 (description "This is a unit-testing framework for Common Lisp.")
16308 (license license:unlicense))))
16309
16310 (define-public ecl-unit-test
16311 (sbcl-package->ecl-package sbcl-unit-test))
16312
16313 (define-public cl-unit-test
16314 (sbcl-package->cl-source-package sbcl-unit-test))
16315
16316 (define-public sbcl-bknr-datastore
16317 (let ((commit "c98d44f47cc88d19ff91ca3eefbd9719a8ace022")
16318 (revision "1"))
16319 (package
16320 (name "sbcl-bknr-datastore")
16321 (version (git-version "0.0.0" revision commit))
16322 (source
16323 (origin
16324 (method git-fetch)
16325 (uri (git-reference
16326 (url "https://github.com/hanshuebner/bknr-datastore")
16327 (commit commit)))
16328 (file-name (git-file-name "bknr-datastore" version))
16329 (sha256
16330 (base32 "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"))))
16331 (build-system asdf-build-system/sbcl)
16332 (arguments
16333 `(#:asd-systems
16334 '("bknr.datastore"
16335 "bknr.impex"
16336 "bknr.indices"
16337 "bknr.skip-list"
16338 "bknr.utils"
16339 "bknr.xml")
16340 #:phases
16341 (modify-phases %standard-phases
16342 (add-after 'unpack 'enter-source-directory
16343 (lambda _
16344 (chdir "src")
16345 #t)))))
16346 (native-inputs
16347 `(("cl-store" ,sbcl-cl-store)
16348 ("fiveam" ,sbcl-fiveam)
16349 ("unit-test" ,sbcl-unit-test)))
16350 (inputs
16351 `(("alexandria" ,sbcl-alexandria)
16352 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16353 ("closer-mop" ,sbcl-closer-mop)
16354 ("cl-interpol" ,sbcl-cl-interpol)
16355 ("cl-ppcre" ,sbcl-cl-ppcre)
16356 ("cxml" ,sbcl-cxml)
16357 ("flexi-streams" ,sbcl-flexi-streams)
16358 ("md5" ,sbcl-md5)
16359 ("trivial-utf-8" ,sbcl-trivial-utf-8)
16360 ("yason" ,sbcl-yason)))
16361 (home-page "https://github.com/hanshuebner/bknr-datastore")
16362 (synopsis "In-memory database for Common Lisp")
16363 (description
16364 "BKNR.DATASTORE is an in-memory CLOS based database with transactions
16365 for Common Lisp.")
16366 (license license:bsd-0))))
16367
16368 ;; NOTE: (Sharlatan-20210429T191426+0100):
16369 ;; There is no port for ECL in upstream yet
16370 ;; (define-public ecl-bknr-datastore
16371 ;; (sbcl-package->ecl-package sbcl-bknr-datastore))
16372
16373 (define-public cl-bknr-datastore
16374 (sbcl-package->cl-source-package sbcl-bknr-datastore))
16375
16376 (define-public sbcl-3d-vectors
16377 (let ((commit "29bb9684df803590deed344af63dbf7b712aabc0")
16378 (revision "1"))
16379 (package
16380 (name "sbcl-3d-vectors")
16381 (version (git-version "3.1.0" revision commit))
16382 (source
16383 (origin
16384 (method git-fetch)
16385 (uri (git-reference
16386 (url "https://github.com/Shinmera/3d-vectors")
16387 (commit commit)))
16388 (file-name (git-file-name "3d-vectors" version))
16389 (sha256
16390 (base32 "0qc7m5brhpwi531rgmlaj1c609by533a1ia5hv8f90ilm8ksmw3l"))))
16391 (build-system asdf-build-system/sbcl)
16392 (native-inputs
16393 `(("parachute" ,sbcl-parachute)))
16394 (inputs
16395 `(("documentation-utils" ,sbcl-documentation-utils)))
16396 (home-page "https://shinmera.github.io/3d-vectors/")
16397 (synopsis "Utility library implementing 2D, 3D, and 4D vectors")
16398 (description
16399 "@code{3D-VECTORS} is a library for vector math in 3D space. It contains
16400 most of the vector operations one would usually expect out of such a library and
16401 offers them both in non-modifying and modifying versions where applicable.")
16402 (license license:zlib))))
16403
16404 (define-public ecl-3d-vectors
16405 (sbcl-package->ecl-package sbcl-3d-vectors))
16406
16407 (define-public cl-3d-vectors
16408 (sbcl-package->cl-source-package sbcl-3d-vectors))
16409
16410 (define-public sbcl-3d-matrices
16411 (let ((commit "f453b521b8f2ceabb01eac94389119dece8c05f8")
16412 (revision "1"))
16413 (package
16414 (name "sbcl-3d-matrices")
16415 (version (git-version "1.0.0" revision commit))
16416 (source
16417 (origin
16418 (method git-fetch)
16419 (uri (git-reference
16420 (url "https://github.com/Shinmera/3d-matrices")
16421 (commit commit)))
16422 (file-name (git-file-name "3d-matrices" version))
16423 (sha256
16424 (base32 "10q9c96gqzq6k8n89agy0khgimmnsn4s69171m3vhghqa2yv5n6v"))))
16425 (build-system asdf-build-system/sbcl)
16426 (native-inputs
16427 `(("parachute" ,sbcl-parachute)))
16428 (inputs
16429 `(("3d-vectors" ,sbcl-3d-vectors)
16430 ("documentation-utils" ,sbcl-documentation-utils)))
16431 (home-page "https://shinmera.github.io/3d-matrices/")
16432 (synopsis "Utility library implementing 2x2, 3x3, 4x4 and NxM matrices")
16433 (description
16434 "@code{3D-MATRICES} is a library implementing common matrix operations,
16435 mainly intended as the counterpiece to @code{3d-vectors} and thus being aimed at
16436 operations in 3D space.")
16437 (license license:zlib))))
16438
16439 (define-public ecl-3d-matrices
16440 (sbcl-package->ecl-package sbcl-3d-matrices))
16441
16442 (define-public cl-3d-matrices
16443 (sbcl-package->cl-source-package sbcl-3d-matrices))
16444
16445 (define-public sbcl-messagebox
16446 (let ((commit "ea3688d9a9954bee7079c0173bc7b3f327021e9f")
16447 (revision "1"))
16448 (package
16449 (name "sbcl-messagebox")
16450 (version (git-version "1.0.0" revision commit))
16451 (source
16452 (origin
16453 (method git-fetch)
16454 (uri (git-reference
16455 (url "https://github.com/Shinmera/messagebox")
16456 (commit commit)))
16457 (file-name (git-file-name "messagebox" version))
16458 (sha256
16459 (base32 "0jkbzlca0wvspgsfj0b0hjwlyyy8jlywsldsbkp79q48fc3aa8jd"))))
16460 (build-system asdf-build-system/sbcl)
16461 (arguments
16462 `(#:phases
16463 (modify-phases %standard-phases
16464 (add-after 'unpack 'patch-zenity-path
16465 (lambda* (#:key inputs #:allow-other-keys)
16466 (substitute* "zenity.lisp"
16467 (("\"zenity\"")
16468 (string-append "\"" (assoc-ref inputs "zenity")
16469 "/bin/zenity\""))))))))
16470 (inputs
16471 `(("documentation-utils" ,sbcl-documentation-utils)
16472 ("trivial-features" ,sbcl-trivial-features)
16473 ("zenity" ,zenity)))
16474 (home-page "https://shinmera.github.io/messagebox/")
16475 (synopsis "Display a native GUI message box")
16476 (description
16477 "This is a small library to display a native GUI message box. This can be
16478 useful to show error messages and other informational pieces should the
16479 application fail and be unable to do so using its standard UI.")
16480 (license license:zlib))))
16481
16482 (define-public ecl-messagebox
16483 (sbcl-package->ecl-package sbcl-messagebox))
16484
16485 (define-public cl-messagebox
16486 (sbcl-package->cl-source-package sbcl-messagebox))
16487
16488 (define-public sbcl-glsl-toolkit
16489 (let ((commit "d00ba1906e3b5eb08ea346ac300a1e77bb999d04")
16490 (revision "1"))
16491 (package
16492 (name "sbcl-glsl-toolkit")
16493 (version (git-version "1.0.0" revision commit))
16494 (source
16495 (origin
16496 (method git-fetch)
16497 (uri (git-reference
16498 (url "https://github.com/Shirakumo/glsl-toolkit")
16499 (commit commit)))
16500 (file-name (git-file-name "glsl-toolkit" version))
16501 (sha256
16502 (base32 "0as5796yazchq1qkna3srxlz5v7cf7ffny9cbqi41wsa2s20vbh9"))))
16503 (build-system asdf-build-system/sbcl)
16504 (inputs
16505 `(("cl-ppcre" ,sbcl-cl-ppcre)
16506 ("documentation-utils" ,sbcl-documentation-utils)
16507 ("parse-float" ,sbcl-parse-float)
16508 ("trivial-indent" ,sbcl-trivial-indent)))
16509 (home-page "https://shirakumo.github.io/glsl-toolkit/")
16510 (synopsis "Parser for OpenGL Shader Language source files")
16511 (description
16512 "This package provides a Common Lisp system collecting tools written to
16513 allow to wrangle OpenGL Shader Language (GLSL) source files.")
16514 (license license:zlib))))
16515
16516 (define-public ecl-glsl-toolkit
16517 (sbcl-package->ecl-package sbcl-glsl-toolkit))
16518
16519 (define-public cl-glsl-toolkit
16520 (sbcl-package->cl-source-package sbcl-glsl-toolkit))
16521
16522 (define-public sbcl-simple-tasks
16523 (let ((commit "745d4b54eac9bf5d6909792e63ecd2ef8d303cf2")
16524 (revision "1"))
16525 (package
16526 (name "sbcl-simple-tasks")
16527 (version (git-version "1.3.0" revision commit))
16528 (source
16529 (origin
16530 (method git-fetch)
16531 (uri (git-reference
16532 (url "https://github.com/Shinmera/simple-tasks")
16533 (commit commit)))
16534 (file-name (git-file-name "simple-tasks" version))
16535 (sha256
16536 (base32 "1ls1pij7dvb65g4nam7nvik1218jvfk5iplr48vy290fw3lq7v98"))))
16537 (build-system asdf-build-system/sbcl)
16538 (inputs
16539 `(("array-utils" ,sbcl-array-utils)
16540 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16541 ("dissect" ,sbcl-dissect)))
16542 (home-page "https://shinmera.github.io/simple-tasks/")
16543 (synopsis "Simple task scheduling framework")
16544 (description "This is a task scheduling framework for Common Lisp.")
16545 (license license:zlib))))
16546
16547 (define-public ecl-simple-tasks
16548 (sbcl-package->ecl-package sbcl-simple-tasks))
16549
16550 (define-public cl-simple-tasks
16551 (sbcl-package->cl-source-package sbcl-simple-tasks))
16552
16553 (define-public sbcl-trivial-main-thread
16554 (let ((commit "25f114973bb69eb63e01d0bbfead31f8e682846a")
16555 (revision "1"))
16556 (package
16557 (name "sbcl-trivial-main-thread")
16558 (version (git-version "1.0.0" revision commit))
16559 (source
16560 (origin
16561 (method git-fetch)
16562 (uri (git-reference
16563 (url "https://github.com/Shinmera/trivial-main-thread")
16564 (commit commit)))
16565 (file-name (git-file-name "trivial-main-thread" version))
16566 (sha256
16567 (base32 "0bw1887i7396lqg75qvmgjfzz4xbiq9w5dp8wxdgrcsm0qwlraw7"))))
16568 (build-system asdf-build-system/sbcl)
16569 (inputs
16570 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
16571 ("simple-tasks" ,sbcl-simple-tasks)
16572 ("trivial-features" ,sbcl-trivial-features)))
16573 (home-page "https://shinmera.github.io/trivial-main-thread/")
16574 (synopsis "Compatibility library to run things in the main thread")
16575 (description
16576 "This package provides a Common Lisp system which wraps the
16577 BORDEAUX-THREADS system to be able to run things in the main thread of the
16578 implementation, for example drawing calls of GUI applications.")
16579 (license license:zlib))))
16580
16581 (define-public ecl-trivial-main-thread
16582 (sbcl-package->ecl-package sbcl-trivial-main-thread))
16583
16584 (define-public cl-trivial-main-thread
16585 (sbcl-package->cl-source-package sbcl-trivial-main-thread))
16586
16587 (define-public sbcl-cl-package-locks
16588 (let ((commit "96a358ede7cef416d61d2f699e724fe1d9de602c")
16589 (revision "1"))
16590 (package
16591 (name "sbcl-cl-package-locks")
16592 (version (git-version "0.0.2" revision commit))
16593 (source
16594 (origin
16595 (method git-fetch)
16596 (uri (git-reference
16597 (url "https://github.com/elliottjohnson/cl-package-locks")
16598 (commit commit)))
16599 (file-name (git-file-name "cl-package-locks" version))
16600 (sha256
16601 (base32 "0g3gfljnvpgd66ccd2sqawlkwqx4a0wsdrg5180va61w869cgxqq"))))
16602 (build-system asdf-build-system/sbcl)
16603 (home-page "https://github.com/elliottjohnson/cl-package-locks")
16604 (synopsis "Compatibility layer for dealing with package locks")
16605 (description
16606 "This is a Common Lisp library providing a unified way to work with
16607 package locks across supported Common Lisp implementations.")
16608 (license license:expat))))
16609
16610 (define-public ecl-cl-package-locks
16611 (sbcl-package->ecl-package sbcl-cl-package-locks))
16612
16613 (define-public cl-package-locks
16614 (sbcl-package->cl-source-package sbcl-cl-package-locks))
16615
16616 (define-public sbcl-cl-typesetting
16617 (let ((commit "86eba981fc4254addebecf765578ec350d6e3b75")
16618 (revision "1"))
16619 (package
16620 (name "sbcl-cl-typesetting")
16621 (version (git-version "0.8.0" revision commit))
16622 (source
16623 (origin
16624 (method git-fetch)
16625 (uri (git-reference
16626 (url "https://github.com/mbattyani/cl-typesetting")
16627 (commit commit)))
16628 (file-name (git-file-name "cl-typesetting" version))
16629 (sha256
16630 (base32 "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h"))))
16631 (build-system asdf-build-system/sbcl)
16632 (arguments
16633 ;; NOTE: (Sharlatan-20210515T213014+0100): Circular dependencies with
16634 ;; cl-typegraph
16635 `(#:tests? #f))
16636 (inputs
16637 `(("cl-pdf" ,sbcl-cl-pdf)
16638 ("xmls" ,sbcl-xmls)))
16639 (home-page "https://github.com/mbattyani/cl-typesetting")
16640 (synopsis "Stand-alone Common Lisp typesetting system")
16641 (description
16642 "CL-TYPESETTING is a cross-platform Common Lisp typesetting library for
16643 all kind of typesetting applications.")
16644 (license license:bsd-2))))
16645
16646 (define-public ecl-cl-typesetting
16647 (sbcl-package->ecl-package sbcl-cl-typesetting))
16648
16649 (define-public cl-typesetting
16650 (sbcl-package->cl-source-package sbcl-cl-typesetting))
16651
16652 (define-public sbcl-shasht
16653 (let ((commit "4055327ef8e2aaa8627892ab256350ff3cb15e3c")
16654 (revision "1"))
16655 (package
16656 (name "sbcl-shasht")
16657 (version (git-version "0.1.0" revision commit))
16658 (source
16659 (origin
16660 (method git-fetch)
16661 (uri (git-reference
16662 (url "https://github.com/yitzchak/shasht")
16663 (commit commit)))
16664 (file-name (git-file-name "shasht" version))
16665 (sha256
16666 (base32 "01mh20s5gj0lajq45anxji77ykq1wcg72mn1y9a1k8i7q1ainjlr"))))
16667 (build-system asdf-build-system/sbcl)
16668 (native-inputs
16669 `(("alexandria" ,sbcl-alexandria)
16670 ("parachute" ,sbcl-parachute)))
16671 (inputs
16672 `(("trivial-do" ,sbcl-trivial-do)))
16673 (home-page "https://yitzchak.github.io/shasht/")
16674 (synopsis "Common Lisp JSON reading and writing library")
16675 (description
16676 "This package provides a Common Lisp library to work with the JSON file
16677 format.")
16678 (license license:expat))))
16679
16680 (define-public ecl-shasht
16681 (sbcl-package->ecl-package sbcl-shasht))
16682
16683 (define-public cl-shasht
16684 (sbcl-package->cl-source-package sbcl-shasht))
16685
16686 (define-public sbcl-cl-speedy-queue
16687 (let ((commit "0425c7c62ad3b898a5ec58cd1b3e74f7d91eec4b")
16688 (revision "1"))
16689 (package
16690 (name "sbcl-cl-speedy-queue")
16691 (version (git-version "0.0.0" revision commit))
16692 (source
16693 (origin
16694 (method git-fetch)
16695 (uri (git-reference
16696 (url "https://github.com/zkat/cl-speedy-queue")
16697 (commit commit)))
16698 (file-name (git-file-name "cl-speedy-queue" version))
16699 (sha256
16700 (base32 "0czhnvxn9lvbjz9h1lb7y18nqrsq3drq5icd3lqdaa07362alriq"))))
16701 (build-system asdf-build-system/sbcl)
16702 (home-page "https://github.com/zkat/cl-speedy-queue")
16703 (synopsis "Lightweight optimized queue for Common Lisp")
16704 (description
16705 "This is a lightweight, non-consing, optimized queue implementation for
16706 Common Lisp.")
16707 (license license:expat))))
16708
16709 (define-public cl-speedy-queue
16710 (sbcl-package->cl-source-package sbcl-cl-speedy-queue))
16711
16712 (define-public ecl-cl-speedy-queue
16713 (sbcl-package->ecl-package sbcl-cl-speedy-queue))
16714
16715 (define-public sbcl-lev
16716 (let ((commit "7d03c68dad44f1cc4ac2aeeab2d24eb525ad941a")
16717 (revision "1"))
16718 (package
16719 (name "sbcl-lev")
16720 (version (git-version "0.1.0" revision commit))
16721 (source
16722 (origin
16723 (method git-fetch)
16724 (uri (git-reference
16725 (url "https://github.com/fukamachi/lev")
16726 (commit commit)))
16727 (file-name (git-file-name "lev" version))
16728 (sha256
16729 (base32 "14lfnrvfyg2nnvlwck896p6vgarzc6g4kijmvhi2d8wra7gxzifh"))))
16730 (build-system asdf-build-system/sbcl)
16731 (arguments
16732 ;; NOTE: (Sharlatan-20210520T163300+0100): No tests in upstream
16733 `(#:tests? #f
16734 #:phases
16735 (modify-phases %standard-phases
16736 (add-after 'unpack 'patch-libev-lib-path
16737 (lambda* (#:key inputs #:allow-other-keys)
16738 (substitute* "src/lev.lisp"
16739 (("libev.so" all)
16740 (string-append (assoc-ref inputs "libev")
16741 "/lib/" all))))))))
16742 (inputs
16743 `(("cffi" ,sbcl-cffi)
16744 ("libev" ,libev)))
16745 (home-page "https://github.com/fukamachi/lev")
16746 (synopsis "Common Lisp bindings for libev")
16747 (description "This package provides Common Lisp bindings for libev.")
16748 (license license:bsd-2))))
16749
16750 (define-public cl-lev
16751 (sbcl-package->cl-source-package sbcl-lev))
16752
16753 (define-public ecl-lev
16754 (sbcl-package->ecl-package sbcl-lev))
16755
16756 (define-public sbcl-woo
16757 (let ((commit "fba3567be95ed6e782d98a4c1477d3a74b8ad124")
16758 (revision "1"))
16759 (package
16760 (name "sbcl-woo")
16761 (version (git-version "0.12.0" revision commit))
16762 (source
16763 (origin
16764 (method git-fetch)
16765 (uri (git-reference
16766 (url "https://github.com/fukamachi/woo")
16767 (commit commit)))
16768 (file-name (git-file-name "woo" version))
16769 (sha256
16770 (base32 "06f95x8s8v523gxmrkn9wwgw2pvc3bc66znbgrzhqb30y4aar5v5"))))
16771 (build-system asdf-build-system/sbcl)
16772 (arguments
16773 ;; FIXME: Tests fail because they try to compile clack-test:
16774 ;;
16775 ;; Error opening #P"/gnu/store/...-sbcl-clack-2.0.0-1.e3e0328/
16776 ;; lib/common-lisp/sbcl/clack/src/test-tmpGHU3ALSV.fasl":
16777 ;;
16778 ;; Permission denied
16779 ;;
16780 ;; clack-test should be compiled when building the sbcl-clack package,
16781 ;; but it isn't right now because of the circular dependency between
16782 ;; clack-test and dexador.
16783 `(#:tests? #f))
16784 (native-inputs
16785 `(("clack" ,sbcl-clack)
16786 ("rove" ,sbcl-rove)))
16787 (inputs
16788 `(("alexandria" ,sbcl-alexandria)
16789 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16790 ("cffi" ,sbcl-cffi)
16791 ("cl-speedy-queue" ,sbcl-cl-speedy-queue) ;; Required for ecl build
16792 ("clack-socket" ,sbcl-clack)
16793 ("fast-http" ,sbcl-fast-http)
16794 ("fast-io" ,sbcl-fast-io)
16795 ("lev" ,sbcl-lev)
16796 ("quri" ,sbcl-quri)
16797 ("rove" ,sbcl-rove)
16798 ("smart-buffer" ,sbcl-smart-buffer)
16799 ("static-vectors" ,sbcl-static-vectors)
16800 ("swap-bytes" ,sbcl-swap-bytes)
16801 ("trivial-utf-8" ,sbcl-trivial-utf-8)
16802 ("vom" ,sbcl-vom)))
16803 (home-page "https://github.com/fukamachi/woo")
16804 (synopsis "Non-blocking HTTP server based on libev")
16805 (description
16806 "This package provides the Common Lisp HTTP server @code{WOO}, which
16807 is built on top of the @code{libev} event library.")
16808 (license license:expat))))
16809
16810 (define-public cl-woo
16811 (sbcl-package->cl-source-package sbcl-woo))
16812
16813 (define-public ecl-woo
16814 (sbcl-package->ecl-package sbcl-woo))
16815
16816 (define-public sbcl-json-streams
16817 (let ((commit "5da012e8133affbf75024e7500feb37394690752")
16818 (revision "1"))
16819 (package
16820 (name "sbcl-json-streams")
16821 (version (git-version "0.0.0" revision commit))
16822 (source
16823 (origin
16824 (method git-fetch)
16825 (uri (git-reference
16826 (url "https://github.com/rotatef/json-streams")
16827 (commit commit)))
16828 (file-name (git-file-name "json-streams" version))
16829 (sha256
16830 (base32 "0cia3721im04q73dfkd688d8splgpz03qa4h8s3r39kar4w3xll2"))))
16831 (build-system asdf-build-system/sbcl)
16832 (native-inputs
16833 `(("cl-quickcheck" ,sbcl-cl-quickcheck)
16834 ("flexi-streams" ,sbcl-flexi-streams)))
16835 (home-page "https://github.com/rotatef/json-streams")
16836 (synopsis "Common Lisp library for reading and writing JSON")
16837 (description
16838 "This package provides a stream based JSON parser/writer, well suited as
16839 building block for higher level libraries.")
16840 (license license:gpl3+))))
16841
16842 (define-public cl-json-streams
16843 (sbcl-package->cl-source-package sbcl-json-streams))
16844
16845 (define-public ecl-json-streams
16846 (sbcl-package->ecl-package sbcl-json-streams))
16847
16848 (define-public sbcl-arnesi
16849 (let ((commit "1e7dc4cb2cad8599113c7492c78f4925e839522e")
16850 (revision "1"))
16851 (package
16852 (name "sbcl-arnesi")
16853 (version (git-version "2.0.0" revision commit))
16854 (source
16855 (origin
16856 (method git-fetch)
16857 (uri (git-reference
16858 (url "https://github.com/AccelerationNet/arnesi")
16859 (commit commit)))
16860 (file-name (git-file-name "arnesi" version))
16861 (sha256
16862 (base32 "0jgj2xgd1gq6rf8ia43lkmbrbxnp8rgs053br9azfa25ygk3ikbh"))))
16863 (build-system asdf-build-system/sbcl)
16864 (arguments
16865 ;; FIXME: (Sharlatan-20210523T190315+0100): Tests failed on
16866 ;; special-lisp-var-rebount-in/cc
16867 ;;
16868 ;; ; processing (TEST SPECIAL-LISP-VAR-REBOUND-IN/CC ...)
16869 ;; ; wrote .../sbcl/arnesi/t/call-cc-tmp5GEXGEG5.fasl
16870 ;; ; compilation finished in 0:00:00.028
16871 ;; Unhandled SIMPLE-ERROR in thread
16872 ;; #<SB-THREAD:THREAD "main thread" RUNNING {100B768173}>:
16873 ;; Sorry, No walker for the special operater DECLARE defined.
16874 ;;
16875 ;; Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100B768173}>
16876 ;; 0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SIMPLE-ERROR "Sorry,
16877 ;; No walker for the special operater ~S defined."
16878 ;; {1001FAF9D3}> #<unused argument> :QUIT T)
16879 ;;
16880 `(#:tests? #f))
16881 (native-inputs
16882 `(("fiveam" ,sbcl-fiveam)))
16883 (inputs
16884 `(("cl-ppcre" ,sbcl-cl-ppcre)
16885 ("collectors" ,sbcl-collectors)
16886 ("swank" ,sbcl-slime-swank)))
16887 (home-page "https://github.com/AccelerationNet/arnesi")
16888 (synopsis "Common Lisp utility suite")
16889 (description
16890 "ARNESI is Common Lisp utilities library similar to ALEXANDRIA, ANAPHORA
16891 or GOLDEN-UTILS.")
16892 (license license:bsd-3))))
16893
16894 (define-public ecl-arnesi
16895 (sbcl-package->ecl-package sbcl-arnesi))
16896
16897 (define-public cl-arnesi
16898 (sbcl-package->cl-source-package sbcl-arnesi))
16899
16900 (define-public sbcl-gettext
16901 (let ((commit "a432020cbad99fc22cbe6bb9aa8a83a35000d7aa")
16902 (revision "1"))
16903 (package
16904 (name "sbcl-gettext")
16905 (version (git-version "0.0.0" revision commit))
16906 (source
16907 (origin
16908 (method git-fetch)
16909 (uri (git-reference
16910 (url "https://github.com/rotatef/gettext")
16911 (commit commit)))
16912 (file-name (git-file-name "gettext" version))
16913 (sha256
16914 (base32 "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar"))))
16915 (build-system asdf-build-system/sbcl)
16916 (native-inputs
16917 `(("stefil" ,sbcl-stefil)))
16918 (inputs
16919 `(("flexi-streams" ,sbcl-flexi-streams)
16920 ("split-sequence" ,sbcl-split-sequence)
16921 ("yacc" ,sbcl-cl-yacc)))
16922 (home-page "https://github.com/rotatef/gettext")
16923 (synopsis "Common Lisp implementation of Gettext")
16924 (description
16925 "This package provides GNU @code{gettext} completely implemented in
16926 Common Lisp without any C library bindings.")
16927 (license license:lgpl3+))))
16928
16929 (define-public ecl-gettext
16930 (sbcl-package->ecl-package sbcl-gettext))
16931
16932 (define-public cl-gettext
16933 (sbcl-package->cl-source-package sbcl-gettext))
16934
16935 (define-public sbcl-parser-combinators
16936 (let ((commit "9c7569a4f6af5e60c0d3a51d9c15c16d1714c845")
16937 (revision "1"))
16938 (package
16939 (name "sbcl-parser-combinators")
16940 (version (git-version "0.0.0" revision commit))
16941 (source
16942 (origin
16943 (method git-fetch)
16944 (uri (git-reference
16945 (url "https://github.com/Ramarren/cl-parser-combinators")
16946 (commit commit)))
16947 (file-name (git-file-name "parser-combinators" version))
16948 (sha256
16949 (base32 "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"))))
16950 (build-system asdf-build-system/sbcl)
16951 (arguments
16952 ;; FIXME: (Sharlatan-20210523T184237+0100): Tests require `femlisp', which
16953 ;; is quite chunky not packaged system yet, enable them when it's packed.
16954 `(#:tests? #f
16955 #:test-asd-file "parser-combinators-tests.asd"))
16956 ;; (native-inputs
16957 ;; `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)
16958 ;; ("infix" ,sbcl-femlisp)))
16959 (inputs
16960 `(("alexandria" ,sbcl-alexandria)
16961 ("cl-containers" ,sbcl-cl-containers)
16962 ("cl-ppcre" ,sbcl-cl-ppcre)
16963 ("iterate" ,sbcl-iterate)))
16964 (home-page "https://github.com/Ramarren/cl-parser-combinators")
16965 (synopsis "Parser combinators in Common Lisp")
16966 (description
16967 "PARSER-COMBINATORS is a library implementing monadic parser
16968 combinators in Common Lisp, similar in concept to Haskell Parsec system.")
16969 (license license:bsd-3))))
16970
16971 (define-public ecl-parser-combinators
16972 (sbcl-package->ecl-package sbcl-parser-combinators))
16973
16974 (define-public cl-parser-combinators
16975 (sbcl-package->cl-source-package sbcl-parser-combinators))
16976
16977 (define-public sbcl-cl-locale
16978 (let ((commit "0a36cc0dcf5e0a8c8bf97869cd6199980ca25eec")
16979 (revision "1"))
16980 (package
16981 (name "sbcl-cl-locale")
16982 (version (git-version "0.1.1" revision commit))
16983 (source
16984 (origin
16985 (method git-fetch)
16986 (uri (git-reference
16987 (url "https://github.com/fukamachi/cl-locale")
16988 (commit commit)))
16989 (file-name (git-file-name "cl-locale" version))
16990 (sha256
16991 (base32 "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p"))))
16992 (build-system asdf-build-system/sbcl)
16993 (arguments
16994 ;; FIXME: (Sharlatan-20210523T190658+0100): All tests passed ok but
16995 ;; successfully failed in the end:
16996 ;;
16997 ;; Summary:
16998 ;; All 1 file passed.
16999 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-DEPENDENCY
17000 ;; in thread #<SB-THREAD:THREAD "main thread" RUNNING {100B6C8253}>:
17001 ;; Component CL-LOCALE-ASD::CL-LOCALE-TEST not found, required by
17002 ;; #<SYSTEM "cl-locale">
17003 ;;
17004 `(#:tests? #f))
17005 (native-inputs
17006 `(("prove" ,sbcl-prove)
17007 ("flexi-streams" ,sbcl-flexi-streams)))
17008 (inputs
17009 `(("anaphora" ,sbcl-anaphora)
17010 ("arnesi" ,sbcl-arnesi)
17011 ("cl-annot" ,sbcl-cl-annot)
17012 ("cl-syntax" ,sbcl-cl-syntax)))
17013 (home-page "https://github.com/fukamachi/cl-locale")
17014 (synopsis "Internalization library for Common Lisp")
17015 (description
17016 "This package provides a Common Lisp translation library similar to
17017 CL-I18N and CL-L10N.")
17018 (license license:llgpl))))
17019
17020 (define-public ecl-cl-locale
17021 (sbcl-package->ecl-package sbcl-cl-locale))
17022
17023 (define-public cl-locale
17024 (sbcl-package->cl-source-package sbcl-cl-locale))
17025
17026 (define-public sbcl-cl-slice
17027 (let ((commit "c531683f287216aebbb0affbe090611fa1b5d697")
17028 (revision "1"))
17029 (package
17030 (name "sbcl-cl-slice")
17031 (version (git-version "0.1.0" revision commit))
17032 (source
17033 (origin
17034 (method git-fetch)
17035 (uri (git-reference
17036 (url "https://github.com/tpapp/cl-slice")
17037 (commit commit)))
17038 (file-name (git-file-name "cl-slice" version))
17039 (sha256
17040 (base32 "1ybznf4y5lda6bn163jcvj281qzhm24dfcwhbgxmm5n6f27gdccl"))))
17041 (build-system asdf-build-system/sbcl)
17042 (native-inputs
17043 `(("clunit" ,sbcl-clunit)))
17044 (inputs
17045 `(("alexandria" ,sbcl-alexandria)
17046 ("anaphora" ,sbcl-anaphora)
17047 ("let-plus" ,sbcl-let-plus)))
17048 (home-page "https://github.com/tpapp/cl-slice")
17049 (synopsis "Array slices for Common Lisp")
17050 (description
17051 "This package provides a DSL for array slices in Common Lisp.")
17052 (license license:expat))))
17053
17054 (define-public ecl-cl-slice
17055 (sbcl-package->ecl-package sbcl-cl-slice))
17056
17057 (define-public cl-slice
17058 (sbcl-package->cl-source-package sbcl-cl-slice))
17059
17060 (define-public sbcl-djula
17061 (let ((commit "5df7af35a21503d468a878fc6029caa527a7d204")
17062 (revision "1"))
17063 (package
17064 (name "sbcl-djula")
17065 (version (git-version "0.2.0" revision commit))
17066 (source
17067 (origin
17068 (method git-fetch)
17069 (uri (git-reference
17070 (url "https://github.com/mmontone/djula")
17071 (commit commit)))
17072 (file-name (git-file-name "djula" version))
17073 (sha256
17074 (base32 "1lk2ypm3sacf60h96a7hv9jwjlxkl4k40yzdalmqdg548vrd1jjm"))))
17075 (build-system asdf-build-system/sbcl)
17076 (native-inputs
17077 `(("fiveam" ,sbcl-fiveam)))
17078 (inputs
17079 `(("access" ,sbcl-access)
17080 ("alexandria" ,sbcl-alexandria)
17081 ("anaphora" ,sbcl-anaphora)
17082 ("babel" ,sbcl-babel)
17083 ("cl-locale" ,sbcl-cl-locale)
17084 ("cl-ppcre" ,sbcl-cl-ppcre)
17085 ("cl-slice" ,sbcl-cl-slice)
17086 ("closer-mop" ,sbcl-closer-mop)
17087 ("gettext" ,sbcl-gettext)
17088 ("iterate" ,sbcl-iterate)
17089 ("local-time" ,sbcl-local-time)
17090 ("parser-combinators" ,sbcl-parser-combinators)
17091 ("split-sequence" ,sbcl-split-sequence)
17092 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
17093 (home-page "https://mmontone.github.io/djula/")
17094 (synopsis "Common Lisp port of the Django templating language")
17095 (description
17096 "This package provides a Common Lisp templating system based on Python
17097 Django with a syntax similar to Python Jinja2.")
17098 (license license:expat))))
17099
17100 (define-public ecl-djula
17101 (sbcl-package->ecl-package sbcl-djula))
17102
17103 (define-public cl-djula
17104 (sbcl-package->cl-source-package sbcl-djula))
17105
17106 (define-public sbcl-for
17107 (let ((commit "2e4fcfa0f9c1d2f4559c58cef20ccefa50ba180d")
17108 (revision "1"))
17109 (package
17110 (name "sbcl-for")
17111 (version (git-version "1.1.0" revision commit))
17112 (source
17113 (origin
17114 (method git-fetch)
17115 (uri (git-reference
17116 (url "https://github.com/Shinmera/for")
17117 (commit commit)))
17118 (file-name (git-file-name "for" version))
17119 (sha256
17120 (base32 "1akz9ggh33x2cq3h0f1cd0p632v1mbagv3dzsb0r10bwg9lh3nmv"))))
17121 (build-system asdf-build-system/sbcl)
17122 (inputs
17123 `(("documentation-utils" ,sbcl-documentation-utils)
17124 ("form-fiddle" ,sbcl-form-fiddle)
17125 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
17126 (home-page "https://shinmera.github.io/for/")
17127 (synopsis "Extensible iteration macro library")
17128 (description
17129 "For is a library for an extensible iteration macro. It allows you to write
17130 concise looping constructs similar to @code{loop} and @code{iterate}. Unlike
17131 loop however it is extensible and sensible, and unlike iterate it does not
17132 require code-walking and is easier to extend.")
17133 (license license:zlib))))
17134
17135 (define-public ecl-for
17136 (sbcl-package->ecl-package sbcl-for))
17137
17138 (define-public cl-for
17139 (sbcl-package->cl-source-package sbcl-for))
17140
17141 (define-public sbcl-flare
17142 (let ((commit "4f9f17a4fc5b368c2a1988b9a20288695b8d8c48")
17143 (revision "1"))
17144 (package
17145 (name "sbcl-flare")
17146 (version (git-version "1.1.0" revision commit))
17147 (source
17148 (origin
17149 (method git-fetch)
17150 (uri (git-reference
17151 (url "https://github.com/Shinmera/flare")
17152 (commit commit)))
17153 (file-name (git-file-name "flare" version))
17154 (sha256
17155 (base32 "00nm3sjngbflj2gd5q0xs2m136w4kix6krww23nk64pkkyq2fs86"))))
17156 (build-system asdf-build-system/sbcl)
17157 (inputs
17158 `(("3d-vectors" ,sbcl-3d-vectors)
17159 ("array-utils" ,sbcl-array-utils)
17160 ("documentation-utils" ,sbcl-documentation-utils)
17161 ("for" ,sbcl-for)
17162 ("lambda-fiddle" ,sbcl-lambda-fiddle)
17163 ("trivial-garbage" ,sbcl-trivial-garbage)))
17164 (home-page "https://shinmera.github.io/flare/")
17165 (synopsis "Easy particle systems with fine grained control")
17166 (description
17167 "FLARE is a library designed to allow quick and precise particle effect
17168 creations. It does not concern itself with displaying and only with the
17169 management and movement of particles. As such, it can easily be integrated into
17170 any existing or future application.")
17171 (license license:zlib))))
17172
17173 (define-public ecl-flare
17174 (sbcl-package->ecl-package sbcl-flare))
17175
17176 (define-public cl-flare
17177 (sbcl-package->cl-source-package sbcl-flare))
17178
17179 (define-public sbcl-simple-inferiors
17180 (let ((commit "deac886354e03f8a9502ce96f12a0459ce3be671"))
17181 (package
17182 (name "sbcl-simple-inferiors")
17183 (version (git-version "1.1.0" "1" commit))
17184 (source
17185 (origin
17186 (method git-fetch)
17187 (uri (git-reference
17188 (url "https://github.com/Shinmera/simple-inferiors")
17189 (commit commit)))
17190 (file-name (git-file-name name version))
17191 (sha256
17192 (base32 "08vsvqv3768bwb2y8mwxbw5wyqzzwqr7rd004r6gafdgf9p9mcx3"))))
17193 (build-system asdf-build-system/sbcl)
17194 (inputs
17195 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
17196 ("documentation-utils" ,sbcl-documentation-utils)))
17197 (home-page "https://shinmera.github.io/simple-inferiors/")
17198 (synopsis "Common Lisp library to use inferior processes")
17199 (description
17200 "This is a library to allow easy handling of external processes, and
17201 primarily to get their output. It handles proper copying of the standard and
17202 error outputs of the process simultaneously, both in a sequential and parallel
17203 fashion. It also features a lazy directory switching mechanism, to avoid
17204 running into parallelism problems when having to change directory.")
17205 (license license:zlib))))
17206
17207 (define-public ecl-simple-inferiors
17208 (sbcl-package->ecl-package sbcl-simple-inferiors))
17209
17210 (define-public cl-simple-inferiors
17211 (sbcl-package->cl-source-package sbcl-simple-inferiors))
17212
17213 (define-public sbcl-legit
17214 (let ((commit "48d50a20d8dcbd941d119683463b7c8257ba6458"))
17215 (package
17216 (name "sbcl-legit")
17217 (version (git-version "1.0.0" "1" commit))
17218 (source
17219 (origin
17220 (method git-fetch)
17221 (uri (git-reference
17222 (url "https://github.com/Shinmera/legit")
17223 (commit commit)))
17224 (file-name (git-file-name name version))
17225 (sha256
17226 (base32 "181aqpj4zkfk1aavj5jw8rym6gw4ma3gd64z2h5fpryabgmwk236"))))
17227 (build-system asdf-build-system/sbcl)
17228 (inputs
17229 `(("simple-inferiors" ,sbcl-simple-inferiors)
17230 ("lambda-fiddle" ,sbcl-lambda-fiddle)
17231 ("cl-ppcre" ,sbcl-cl-ppcre)
17232 ("documentation-utils" ,sbcl-documentation-utils)))
17233 (home-page "https://shinmera.github.io/legit/")
17234 (synopsis "Interface to the git binary")
17235 (description
17236 "This is an interface to the @code{git} binary to make controlling it
17237 from within Common Lisp much easier. It might not ever reach full coverage of
17238 all features given git's immense size, but features will be added as they are
17239 needed. The low-level command API is fully mapped however.")
17240 (license license:zlib))))
17241
17242 (define-public ecl-legit
17243 (sbcl-package->ecl-package sbcl-legit))
17244
17245 (define-public cl-legit
17246 (sbcl-package->cl-source-package sbcl-legit))
17247
17248 (define-public sbcl-flow
17249 (let ((commit "6d925af009cdfe033650d7048197a5e6ee937d15")
17250 (revision "1"))
17251 (package
17252 (name "sbcl-flow")
17253 (version (git-version "1.0.0" revision commit))
17254 (source
17255 (origin
17256 (method git-fetch)
17257 (uri (git-reference
17258 (url "https://github.com/Shinmera/flow")
17259 (commit commit)))
17260 (file-name (git-file-name "flow" version))
17261 (sha256
17262 (base32 "0ysw1kwiqlf8kzllhnz8v3q40dmvwf83fzq8bfkbmwy5hfjh3pxp"))))
17263 (build-system asdf-build-system/sbcl)
17264 (arguments
17265 ;; FIXME: (Sharlatan-20210527T203118+0100): FLOW-VISUALIZER requires
17266 ;; COMMONQT which is not packed yet and required tweaks with QT. Remove
17267 ;; this when it's ready.
17268 `(#:asd-files '("flow.asd")))
17269 (inputs
17270 `(("closer-mop" ,sbcl-closer-mop)
17271 ("documentation-utils" ,sbcl-documentation-utils)))
17272 (home-page "https://shinmera.github.io/flow/")
17273 (synopsis "Tools for the representation of graphs and flowcharts")
17274 (description
17275 "FLOW is a flowchart graph library. Unlike other graphing libraries,
17276 this one focuses on nodes in a graph having distinct @code{ports} through which
17277 connections to other nodes are formed. This helps in many concrete scenarios
17278 where it is important to distinguish not only which nodes are connected, but
17279 also how they are connected to each other.
17280
17281 Particularly, a lot of data flow and exchange problems can be reduced to such
17282 a @code{flowchart}. For example, an audio processing library may present its
17283 pipeline as a flowchart of segments that communicate with each other through
17284 audio sample buffers. Flow gives a convenient view onto this kind of problem,
17285 and even allows the generic visualisation of graphs in this format.")
17286 (license license:zlib))))
17287
17288 (define-public ecl-flow
17289 (sbcl-package->ecl-package sbcl-flow))
17290
17291 (define-public cl-flow
17292 (sbcl-package->cl-source-package sbcl-flow))