gnu: Add cl-hunchenissr.
[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 ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
30 ;;;
31 ;;; This file is part of GNU Guix.
32 ;;;
33 ;;; GNU Guix is free software; you can redistribute it and/or modify it
34 ;;; under the terms of the GNU General Public License as published by
35 ;;; the Free Software Foundation; either version 3 of the License, or (at
36 ;;; your option) any later version.
37 ;;;
38 ;;; GNU Guix is distributed in the hope that it will be useful, but
39 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
40 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
41 ;;; GNU General Public License for more details.
42 ;;;
43 ;;; You should have received a copy of the GNU General Public License
44 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
45
46 ;;; This file only contains Common Lisp libraries.
47 ;;; Common Lisp compilers and tooling go to lisp.scm.
48 ;;; Common Lisp applications should go to the most appropriate file,
49 ;;; e.g. StumpWM is in wm.scm.
50
51 (define-module (gnu packages lisp-xyz)
52 #:use-module (gnu packages)
53 #:use-module ((guix licenses) #:prefix license:)
54 #:use-module (guix packages)
55 #:use-module (guix download)
56 #:use-module (guix git-download)
57 #:use-module (guix hg-download)
58 #:use-module (guix utils)
59 #:use-module (guix build-system asdf)
60 #:use-module (guix build-system trivial)
61 #:use-module (gnu packages base)
62 #:use-module (gnu packages c)
63 #:use-module (gnu packages compression)
64 #:use-module (gnu packages databases)
65 #:use-module (gnu packages enchant)
66 #:use-module (gnu packages file)
67 #:use-module (gnu packages fonts)
68 #:use-module (gnu packages fontutils)
69 #:use-module (gnu packages gl)
70 #:use-module (gnu packages glib)
71 #:use-module (gnu packages gnome)
72 #:use-module (gnu packages gtk)
73 #:use-module (gnu packages image)
74 #:use-module (gnu packages imagemagick)
75 #:use-module (gnu packages libevent)
76 #:use-module (gnu packages libffi)
77 #:use-module (gnu packages linux)
78 #:use-module (gnu packages lisp)
79 #:use-module (gnu packages maths)
80 #:use-module (gnu packages mp3)
81 #:use-module (gnu packages ncurses)
82 #:use-module (gnu packages networking)
83 #:use-module (gnu packages pkg-config)
84 #:use-module (gnu packages python)
85 #:use-module (gnu packages python-xyz)
86 #:use-module (gnu packages sdl)
87 #:use-module (gnu packages sqlite)
88 #:use-module (gnu packages tcl)
89 #:use-module (gnu packages tls)
90 #:use-module (gnu packages video)
91 #:use-module (gnu packages web)
92 #:use-module (gnu packages webkit)
93 #:use-module (gnu packages xdisorg)
94 #:use-module (gnu packages xorg)
95 #:use-module (ice-9 match)
96 #:use-module (srfi srfi-1)
97 #:use-module (srfi srfi-19))
98
99 (define-public sbcl-alexandria
100 (package
101 (name "sbcl-alexandria")
102 (version "1.2")
103 (source
104 (origin
105 (method git-fetch)
106 (uri (git-reference
107 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
108 (commit (string-append "v" version))))
109 (sha256
110 (base32
111 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
112 (file-name (git-file-name name version))))
113 (build-system asdf-build-system/sbcl)
114 (native-inputs
115 `(("rt" ,sbcl-rt)))
116 (synopsis "Collection of portable utilities for Common Lisp")
117 (description
118 "Alexandria is a collection of portable utilities. It does not contain
119 conceptual extensions to Common Lisp. It is conservative in scope, and
120 portable between implementations.")
121 (home-page "https://common-lisp.net/project/alexandria/")
122 (license license:public-domain)))
123
124 (define-public cl-alexandria
125 (sbcl-package->cl-source-package sbcl-alexandria))
126
127 (define-public ecl-alexandria
128 (sbcl-package->ecl-package sbcl-alexandria))
129
130 (define-public sbcl-bodge-utilities
131 (let ((commit "6304bac4abe06d53579e2c0fc4437d14ff077d9f")
132 (revision "1"))
133 (package
134 (name "sbcl-bodge-utilities")
135 (version (git-version "1.0.0" revision commit))
136 (source
137 (origin
138 (method git-fetch)
139 (uri (git-reference
140 (url "https://github.com/borodust/bodge-utilities")
141 (commit commit)))
142 (file-name (git-file-name "bodge-utilities" version))
143 (sha256
144 (base32 "1z1blj05q71vzh323qwyn9p3xs7v0mq2yhwfyzza5libp37wqm3c"))))
145 (build-system asdf-build-system/sbcl)
146 (inputs
147 `(("alexandria" ,sbcl-alexandria)
148 ("cffi" ,sbcl-cffi)
149 ("claw" ,sbcl-claw)
150 ("dissect" ,sbcl-dissect)
151 ("local-time" ,sbcl-local-time)
152 ("log4cl" ,sbcl-log4cl)
153 ("split-sequence" ,sbcl-split-sequence)
154 ("static-vectors" ,sbcl-static-vectors)
155 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
156 (home-page "https://github.com/borodust/bodge-utilities")
157 (synopsis "Common Lisp utilities library for CL-BODGE")
158 (description
159 "This Common Lisp library provides utilities for the @emph{Bodge} library
160 collection.")
161 (license license:expat))))
162
163 (define-public ecl-bodge-utilities
164 (sbcl-package->ecl-package sbcl-bodge-utilities))
165
166 (define-public cl-bodge-utilities
167 (sbcl-package->cl-source-package sbcl-bodge-utilities))
168
169 (define-public sbcl-bodge-queue
170 (let ((commit "948c9a501dcd412689952d09eb7453ec2722336a")
171 (revision "0"))
172 (package
173 (name "sbcl-bodge-queue")
174 (version (git-version "0.0.0" revision commit))
175 (source
176 (origin
177 (method git-fetch)
178 (uri (git-reference
179 (url "https://github.com/borodust/bodge-queue")
180 (commit commit)))
181 (file-name (git-file-name "bodge-queue" version))
182 (sha256
183 (base32 "148hjikqk8v2m30mj15xh89zni6szf9z3prav580qk9dqr8djjdr"))))
184 (build-system asdf-build-system/sbcl)
185 (native-inputs
186 `(("fiveam" ,sbcl-fiveam)))
187 (home-page "https://github.com/borodust/bodge-queue")
188 (synopsis "Simple queue for Common Lisp")
189 (description "This Common Lisp library provides a simple FIFO
190 implementation with no external dependencies.")
191 (license license:expat))))
192
193 (define-public cl-bodge-queue
194 (sbcl-package->cl-source-package sbcl-bodge-queue))
195
196 (define-public ecl-bodge-queue
197 (sbcl-package->ecl-package sbcl-bodge-queue))
198
199 (define-public sbcl-golden-utils
200 (let ((commit "fe1898f9abbd302b0359f017637c063173cf73e1")
201 (revision "3"))
202 (package
203 (name "sbcl-golden-utils")
204 (version (git-version "0.0.0" revision commit))
205 (source
206 (origin
207 (method git-fetch)
208 (uri (git-reference
209 (url "https://git.mfiano.net/mfiano/golden-utils")
210 (commit commit)))
211 (file-name (git-file-name "golden-utils" version))
212 (sha256
213 (base32 "1ljc8yj32lmd1d60446rzl9m0r1ar15gdzacsf6blw1kny8xlrsr"))))
214 (build-system asdf-build-system/sbcl)
215 (inputs
216 `(("alexandria" ,sbcl-alexandria)))
217 (home-page "https://git.mfiano.net/mfiano/golden-utils")
218 (synopsis "Common Lisp utility library")
219 (description
220 "This is a Common Lisp library providing various utilities.")
221 (license license:expat))))
222
223 (define-public ecl-golden-utils
224 (sbcl-package->ecl-package sbcl-golden-utils))
225
226 (define-public cl-golden-utils
227 (sbcl-package->cl-source-package sbcl-golden-utils))
228
229 (define-public sbcl-asdf-finalizers
230 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
231 (revision "1"))
232 (package
233 (name "sbcl-asdf-finalizers")
234 (version (git-version "0.0.0" revision commit))
235 (source
236 (origin
237 (method git-fetch)
238 (uri (git-reference
239 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
240 (commit commit)))
241 (file-name (git-file-name name version))
242 (sha256
243 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
244 (build-system asdf-build-system/sbcl)
245 (native-inputs
246 `(("fare-utils" ,sbcl-fare-utils)
247 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
248 (arguments
249 `(#:asd-files '("asdf-finalizers.asd"
250 "list-of.asd"
251 "asdf-finalizers-test.asd")
252 #:asd-systems '("asdf-finalizers"
253 "list-of")))
254 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
255 (synopsis "Enforced calling of finalizers for Lisp code")
256 (description "This library allows you to implement and enforce proper
257 finalization of compile-time constructs while building Lisp source files.
258
259 It produces two systems: asdf-finalizers and list-of.")
260 (license license:expat))))
261
262 (define-public ecl-asdf-finalizers
263 (sbcl-package->ecl-package sbcl-asdf-finalizers))
264
265 (define-public cl-asdf-finalizers
266 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
267
268 (define-public sbcl-net.didierverna.asdf-flv
269 (package
270 (name "sbcl-net.didierverna.asdf-flv")
271 (version "2.1")
272 (source
273 (origin
274 (method git-fetch)
275 (uri (git-reference
276 (url "https://github.com/didierverna/asdf-flv")
277 (commit (string-append "version-" version))))
278 (file-name (git-file-name "asdf-flv" version))
279 (sha256
280 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
281 (build-system asdf-build-system/sbcl)
282 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
283 (description "ASDF-FLV provides support for file-local variables through
284 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
285 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
286 dynamic binding is created before processing the file, so that any
287 modification to the variable becomes essentially file-local.
288
289 In order to make one or several variables file-local, use the macros
290 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
291 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
292 (license (license:non-copyleft
293 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
294 "GNU All-Permissive License"))))
295
296 (define-public cl-net.didierverna.asdf-flv
297 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
298
299 (define-public ecl-net.didierverna.asdf-flv
300 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
301
302 (define-public sbcl-command-line-arguments
303 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
304 (revision "1"))
305 (package
306 (name "sbcl-command-line-arguments")
307 (version (git-version "2.0.0" revision commit))
308 (source
309 (origin
310 (method git-fetch)
311 (uri (git-reference
312 (url "https://github.com/fare/command-line-arguments")
313 (commit commit)))
314 (file-name (git-file-name name version))
315 (sha256
316 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
317 (build-system asdf-build-system/sbcl)
318 (home-page "https://github.com/fare/command-line-arguments")
319 (synopsis "Trivial command-line argument parsing library for Common Lisp")
320 (description "This is a library to abstract away the parsing of
321 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
322 or cl-launch for portable processing of command-line arguments.")
323 (license license:expat))))
324
325 (define-public ecl-command-line-arguments
326 (sbcl-package->ecl-package sbcl-command-line-arguments))
327
328 (define-public cl-command-line-arguments
329 (sbcl-package->cl-source-package sbcl-command-line-arguments))
330
331 (define-public sbcl-fiveam
332 (package
333 (name "sbcl-fiveam")
334 (version "1.4.2")
335 (source
336 (origin
337 (method git-fetch)
338 (uri (git-reference
339 (url "https://github.com/sionescu/fiveam")
340 (commit (string-append "v" version))))
341 (file-name (git-file-name "fiveam" version))
342 (sha256
343 (base32 "04mh5plmlb15jbq3dkd8b9jl1dmbbg4hnd3k7859vpf6s12k5p4j"))))
344 (inputs
345 `(("alexandria" ,sbcl-alexandria)
346 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
347 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
348 (build-system asdf-build-system/sbcl)
349 (synopsis "Common Lisp testing framework")
350 (description "FiveAM is a simple (as far as writing and running tests
351 goes) regression testing framework. It has been designed with Common Lisp's
352 interactive development model in mind.")
353 (home-page "https://common-lisp.net/project/fiveam/")
354 (license license:bsd-3)))
355
356 (define-public cl-fiveam
357 (sbcl-package->cl-source-package sbcl-fiveam))
358
359 (define-public ecl-fiveam
360 (sbcl-package->ecl-package sbcl-fiveam))
361
362 (define-public sbcl-cl-irc
363 (let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
364 (revision "0"))
365 (package
366 (name "sbcl-cl-irc")
367 (version (git-version "0.9.2" revision commit))
368 (source
369 (origin
370 (method git-fetch)
371 (uri (git-reference
372 (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
373 (commit commit)))
374 (file-name (git-file-name "cl-irc" version))
375 (sha256
376 (base32 "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
377 (build-system asdf-build-system/sbcl)
378 (native-inputs
379 ;; Tests only.
380 `(("rt" ,sbcl-rt)))
381 (inputs
382 `(("cl+ssl" ,sbcl-cl+ssl)
383 ("flexi-streams" ,sbcl-flexi-streams)
384 ("split-sequence" ,sbcl-split-sequence)
385 ("usocket" ,sbcl-usocket)))
386 (arguments
387 `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
388 ;; found by guix otherwise.
389 #:asd-files '("cl-irc.asd")
390 #:test-asd-file "test/cl-irc-test.asd"))
391 (synopsis "IRC client library for Common Lisp")
392 (description "@code{cl-irc} is a Common Lisp IRC client library that
393 features (partial) DCC, CTCP and all relevant commands from the IRC
394 RFCs (RFC2810, RFC2811 and RFC2812).
395
396 Features:
397 @itemize
398 @item implements all commands in the RFCs
399 @item extra convenience commands such as op/deop, ban, ignore, etc.
400 @item partial DCC SEND/CHAT support
401 @item event driven model with hooks makes interfacing easy
402 @item the user can keep multiple connections
403 @item all CTCP commands
404 @end itemize\n")
405 (home-page "https://common-lisp.net/project/cl-irc/")
406 (license license:bsd-2))))
407
408 (define-public cl-irc
409 (sbcl-package->cl-source-package sbcl-cl-irc))
410
411 (define-public ecl-cl-irc
412 (sbcl-package->ecl-package sbcl-cl-irc))
413
414 (define-public sbcl-trivial-timeout
415 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
416 (revision "1"))
417 (package
418 (name "sbcl-trivial-timeout")
419 (version (git-version "0.1.5" revision commit))
420 (source
421 (origin
422 (method git-fetch)
423 (uri (git-reference
424 (url "https://github.com/gwkkwg/trivial-timeout/")
425 (commit commit)))
426 (file-name (git-file-name "trivial-timeout" version))
427 (sha256
428 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
429 (build-system asdf-build-system/sbcl)
430 (native-inputs
431 `(("lift" ,sbcl-lift)))
432 (arguments
433 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
434 ;; tests use some deprecated functionality and keep failing.
435 `(#:tests? #f))
436 (home-page "https://github.com/gwkkwg/trivial-timeout/")
437 (synopsis "Timeout library for Common Lisp")
438 (description
439 "This library provides an OS and implementation independent access to
440 timeouts.")
441 (license license:expat))))
442
443 (define-public ecl-trivial-timeout
444 (sbcl-package->ecl-package sbcl-trivial-timeout))
445
446 (define-public cl-trivial-timeout
447 (sbcl-package->cl-source-package sbcl-trivial-timeout))
448
449 (define-public sbcl-bordeaux-threads
450 (package
451 (name "sbcl-bordeaux-threads")
452 (version "0.8.8")
453 (source (origin
454 (method git-fetch)
455 (uri (git-reference
456 (url "https://github.com/sionescu/bordeaux-threads")
457 (commit (string-append "v" version))))
458 (sha256
459 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
460 (file-name
461 (git-file-name "bordeaux-threads" version))))
462 (inputs `(("alexandria" ,sbcl-alexandria)))
463 (native-inputs `(("fiveam" ,sbcl-fiveam)))
464 (build-system asdf-build-system/sbcl)
465 (synopsis "Portable shared-state concurrency library for Common Lisp")
466 (description "BORDEAUX-THREADS is a proposed standard for a minimal
467 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
468 support.")
469 (home-page "https://common-lisp.net/project/bordeaux-threads/")
470 (license license:x11)))
471
472 (define-public cl-bordeaux-threads
473 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
474
475 (define-public ecl-bordeaux-threads
476 (sbcl-package->ecl-package sbcl-bordeaux-threads))
477
478 (define-public sbcl-trivial-gray-streams
479 (let ((revision "1")
480 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
481 (package
482 (name "sbcl-trivial-gray-streams")
483 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
484 (source
485 (origin
486 (method git-fetch)
487 (uri
488 (git-reference
489 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
490 (commit commit)))
491 (sha256
492 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
493 (file-name
494 (string-append "trivial-gray-streams-" version "-checkout"))))
495 (build-system asdf-build-system/sbcl)
496 (synopsis "Compatibility layer for Gray streams implementations")
497 (description "Gray streams is an interface proposed for inclusion with
498 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
499 popular CL implementations implement it. This package provides an extremely
500 thin compatibility layer for gray streams.")
501 (home-page "https://www.cliki.net/trivial-gray-streams")
502 (license license:x11))))
503
504 (define-public cl-trivial-gray-streams
505 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
506
507 (define-public ecl-trivial-gray-streams
508 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
509
510 (define-public sbcl-fiasco
511 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
512 (revision "1"))
513 (package
514 (name "sbcl-fiasco")
515 (version (git-version "0.0.1" revision commit))
516 (source
517 (origin
518 (method git-fetch)
519 (uri (git-reference
520 (url "https://github.com/joaotavora/fiasco")
521 (commit commit)))
522 (file-name (git-file-name "fiasco" version))
523 (sha256
524 (base32
525 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
526 (build-system asdf-build-system/sbcl)
527 (inputs
528 `(("alexandria" ,sbcl-alexandria)
529 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
530 (synopsis "Simple and powerful test framework for Common Lisp")
531 (description "A Common Lisp test framework that treasures your failures,
532 logical continuation of Stefil. It focuses on interactive debugging.")
533 (home-page "https://github.com/joaotavora/fiasco")
534 ;; LICENCE specifies this is public-domain unless the legislation
535 ;; doesn't allow or recognize it. In that case it falls back to a
536 ;; permissive licence.
537 (license (list license:public-domain
538 (license:x11-style "file://LICENCE"))))))
539
540 (define-public cl-fiasco
541 (sbcl-package->cl-source-package sbcl-fiasco))
542
543 (define-public ecl-fiasco
544 (sbcl-package->ecl-package sbcl-fiasco))
545
546 (define-public sbcl-flexi-streams
547 (package
548 (name "sbcl-flexi-streams")
549 (version "1.0.19")
550 (source
551 (origin
552 (method git-fetch)
553 (uri (git-reference
554 (url "https://github.com/edicl/flexi-streams")
555 (commit (string-append "v" version))))
556 (file-name (git-file-name "flexi-streams" version))
557 (sha256
558 (base32 "0v7lh4nrldzczd4mwylvmxfdxk7wfsli24iv1axd6mkb833llr70"))))
559 (build-system asdf-build-system/sbcl)
560 (arguments
561 `(#:phases
562 (modify-phases %standard-phases
563 (add-after 'unpack 'make-git-checkout-writable
564 (lambda _
565 (for-each make-file-writable (find-files "."))
566 #t)))))
567 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
568 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
569 (description "Flexi-streams is an implementation of \"virtual\" bivalent
570 streams that can be layered atop real binary or bivalent streams and that can
571 be used to read and write character data in various single- or multi-octet
572 encodings which can be changed on the fly. It also supplies in-memory binary
573 streams which are similar to string streams.")
574 (home-page "http://weitz.de/flexi-streams/")
575 (license license:bsd-3)))
576
577 (define-public cl-flexi-streams
578 (sbcl-package->cl-source-package sbcl-flexi-streams))
579
580 (define-public ecl-flexi-streams
581 (sbcl-package->ecl-package sbcl-flexi-streams))
582
583 (define-public sbcl-cl-abnf
584 ;; There are no releases
585 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
586 (revision "1"))
587 (package
588 (name "sbcl-cl-abnf")
589 (version (git-version "0.0.0" revision commit))
590 (source
591 (origin
592 (method git-fetch)
593 (uri (git-reference
594 (url "https://github.com/dimitri/cl-abnf")
595 (commit commit)))
596 (file-name (git-file-name "cl-abnf" version))
597 (sha256
598 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
599 (build-system asdf-build-system/sbcl)
600 (inputs
601 `(("cl-ppcre" ,sbcl-cl-ppcre)
602 ("esrap" ,sbcl-esrap)))
603 (arguments
604 `(#:asd-systems '("abnf")))
605 (home-page "https://github.com/dimitri/cl-abnf")
606 (synopsis "ABNF parser generator for Common Lisp")
607 (description "This Common Lisp library implements a parser generator for
608 the ABNF grammar format as described in RFC2234. The generated parser is a
609 regular expression scanner provided by the cl-ppcre lib, which means that we
610 can't parse recursive grammar definition. One such definition is the ABNF
611 definition as given by the RFC. Fortunately, as you have this lib, you most
612 probably don't need to generate another parser to handle that particular ABNF
613 grammar.")
614 (license license:expat))))
615
616 (define-public cl-abnf
617 (sbcl-package->cl-source-package sbcl-cl-abnf))
618
619 (define-public ecl-cl-abnf
620 (sbcl-package->ecl-package sbcl-cl-abnf))
621
622 (define-public sbcl-cl-ppcre
623 (package
624 (name "sbcl-cl-ppcre")
625 (version "2.1.1")
626 (source
627 (origin
628 (method git-fetch)
629 (uri (git-reference
630 (url "https://github.com/edicl/cl-ppcre")
631 (commit (string-append "v" version))))
632 (file-name (git-file-name "cl-ppcre" version))
633 (sha256
634 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
635 (build-system asdf-build-system/sbcl)
636 (native-inputs
637 `(("flexi-streams" ,sbcl-flexi-streams)))
638 (arguments
639 `(#:phases
640 (modify-phases %standard-phases
641 (add-after 'unpack 'disable-ppcre-unicode
642 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
643 ;; to work around the circular dependency between edicl/cl-ppcre
644 ;; and edicl/cl-unicode.
645 (lambda _
646 (delete-file "cl-ppcre-unicode.asd")
647 #t)))))
648 (synopsis "Portable regular expression library for Common Lisp")
649 (description "CL-PPCRE is a portable regular expression library for Common
650 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
651 compatible with ANSI-compliant Common Lisp implementations.")
652 (home-page "http://weitz.de/cl-ppcre/")
653 (license license:bsd-2)))
654
655 (define-public cl-ppcre
656 (sbcl-package->cl-source-package sbcl-cl-ppcre))
657
658 (define-public ecl-cl-ppcre
659 (sbcl-package->ecl-package sbcl-cl-ppcre))
660
661 (define-public sbcl-parse
662 (let ((commit "2351ee78acac065fcf10b8713d3f404e2e910786")
663 (revision "1"))
664 (package
665 (name "sbcl-parse")
666 (version (git-version "1.0" revision commit))
667 (source
668 (origin
669 (method git-fetch)
670 (uri (git-reference
671 (url "https://github.com/massung/parse")
672 (commit commit)))
673 (file-name (git-file-name "parse" version))
674 (sha256
675 (base32 "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy"))))
676 (build-system asdf-build-system/sbcl)
677 (home-page "https://github.com/massung/parse")
678 (synopsis "Monadic parsing for Common Lisp")
679 (description
680 "PARSE is a simple token parsing library for Common Lisp.")
681 (license license:asl2.0))))
682
683 (define-public ecl-parse
684 (sbcl-package->ecl-package sbcl-parse))
685
686 (define-public cl-parse
687 (sbcl-package->cl-source-package sbcl-parse))
688
689 (define-public sbcl-re
690 (let ((commit "cfbc1f482970221e80d445080a188fd5c755cd2c")
691 (revision "1"))
692 (package
693 (name "sbcl-re")
694 (version (git-version "1.0" revision commit))
695 (source
696 (origin
697 (method git-fetch)
698 (uri (git-reference
699 (url "https://github.com/massung/re")
700 (commit commit)))
701 (file-name (git-file-name "re" version))
702 (sha256
703 (base32 "1y2gq2sckspnq8118bix55p2j43dk9qn3p8a2rplp1ip2qxqbb1i"))))
704 (build-system asdf-build-system/sbcl)
705 (inputs
706 `(("parse" ,sbcl-parse)))
707 (home-page "https://github.com/massung/re")
708 (synopsis "Lua-style Pattern Matching for Common Lisp")
709 (description
710 "RE is a small, portable, lightweight, and quick, regular
711 expression library for Common Lisp. It is a non-recursive, backtracing VM.")
712 (license license:asl2.0))))
713
714 (define-public ecl-re
715 (sbcl-package->ecl-package sbcl-re))
716
717 (define-public cl-re
718 (sbcl-package->cl-source-package sbcl-re))
719
720 (define-public sbcl-ubiquitous
721 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
722 (revision "1"))
723 (package
724 (name "sbcl-ubiquitous")
725 (version (git-version "2.0.0" revision commit))
726 (source
727 (origin
728 (method git-fetch)
729 (uri (git-reference
730 (url "https://github.com/Shinmera/ubiquitous")
731 (commit commit)))
732 (file-name (git-file-name "ubiquitous" version))
733 (sha256
734 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
735 (build-system asdf-build-system/sbcl)
736 (inputs
737 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
738 (arguments
739 '(#:asd-systems '("ubiquitous"
740 "ubiquitous-concurrent")))
741 (home-page "https://shinmera.github.io/ubiquitous/")
742 (synopsis "Application configuration mechanism for Common Lisp")
743 (description
744 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
745 configuration storage. It automatically takes care of finding a suitable place
746 to save your data, and provides simple functions to access and modify the data
747 within.")
748 (license license:zlib))))
749
750 (define-public ecl-ubiquitous
751 (sbcl-package->ecl-package sbcl-ubiquitous))
752
753 (define-public cl-ubiquitous
754 (sbcl-package->cl-source-package sbcl-ubiquitous))
755
756 (define-public sbcl-uax-15
757 (package
758 (name "sbcl-uax-15")
759 (version "0.1.1")
760 (source
761 (origin
762 (method git-fetch)
763 (uri (git-reference
764 (url "https://github.com/sabracrolleton/uax-15")
765 (commit (string-append "v" version))))
766 (file-name (git-file-name "uax-15" version))
767 (sha256
768 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
769 (build-system asdf-build-system/sbcl)
770 (arguments
771 `(#:asd-systems
772 '("uax-15")))
773 (native-inputs
774 `(("fiveam" ,sbcl-fiveam)))
775 (inputs
776 `(("cl-ppcre" ,sbcl-cl-ppcre)
777 ("split-sequence" ,sbcl-split-sequence)))
778 (home-page "https://github.com/sabracrolleton/uax-15")
779 (synopsis "Common Lisp implementation of unicode normalization functions")
780 (description
781 "This package provides supports for unicode normalization, RFC8264 and
782 RFC7564.")
783 (license license:expat)))
784
785 (define-public cl-uax-15
786 (sbcl-package->cl-source-package sbcl-uax-15))
787
788 (define-public ecl-uax-15
789 (sbcl-package->ecl-package sbcl-uax-15))
790
791 (define-public sbcl-cl-unicode
792 (package
793 (name "sbcl-cl-unicode")
794 (version "0.1.6")
795 (source (origin
796 (method git-fetch)
797 (uri (git-reference
798 (url "https://github.com/edicl/cl-unicode")
799 (commit (string-append "v" version))))
800 (file-name (git-file-name name version))
801 (sha256
802 (base32
803 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
804 (build-system asdf-build-system/sbcl)
805 (native-inputs
806 `(("flexi-streams" ,sbcl-flexi-streams)))
807 (inputs
808 `(("cl-ppcre" ,sbcl-cl-ppcre)))
809 (home-page "http://weitz.de/cl-unicode/")
810 (synopsis "Portable Unicode library for Common Lisp")
811 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
812 is compatible with perl. It is pretty fast, thread-safe, and compatible with
813 ANSI-compliant Common Lisp implementations.")
814 (license license:bsd-2)))
815
816 (define-public ecl-cl-unicode
817 (sbcl-package->ecl-package sbcl-cl-unicode))
818
819 (define-public cl-unicode
820 (sbcl-package->cl-source-package sbcl-cl-unicode))
821
822 (define-public sbcl-cl-ppcre-unicode
823 (package (inherit sbcl-cl-ppcre)
824 (name "sbcl-cl-ppcre-unicode")
825 (inputs
826 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
827 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
828 (arguments
829 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
830 #:phases
831 (modify-phases %standard-phases
832 (add-after 'unpack 'disable-ppcre
833 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
834 ;; to work around the circular dependency between edicl/cl-ppcre
835 ;; and edicl/cl-unicode.
836 (lambda _
837 (delete-file "cl-ppcre.asd")
838 #t)))))))
839
840 (define-public cl-ppcre-unicode
841 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
842
843 (define-public ecl-cl-ppcre-unicode
844 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
845
846 (define-public sbcl-zpb-ttf
847 (package
848 (name "sbcl-zpb-ttf")
849 (version "1.0.3")
850 (source
851 (origin
852 (method git-fetch)
853 (uri (git-reference
854 (url "https://github.com/xach/zpb-ttf")
855 (commit (string-append "release-" version))))
856 (file-name (git-file-name name version))
857 (sha256
858 (base32
859 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
860 (build-system asdf-build-system/sbcl)
861 (home-page "https://github.com/xach/zpb-ttf")
862 (synopsis "TrueType font file access for Common Lisp")
863 (description
864 "ZPB-TTF is a TrueType font file parser that provides an interface for
865 reading typographic metrics, glyph outlines, and other information from the
866 file.")
867 (license license:bsd-2)))
868
869 (define-public ecl-zpb-ttf
870 (sbcl-package->ecl-package sbcl-zpb-ttf))
871
872 (define-public cl-zpb-ttf
873 (sbcl-package->cl-source-package sbcl-zpb-ttf))
874
875 (define-public sbcl-cl-vectors
876 (package
877 (name "sbcl-cl-vectors")
878 (version "0.1.5")
879 (source
880 (origin
881 (method url-fetch)
882 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
883 "files/cl-vectors-" version ".tar.gz"))
884 (sha256
885 (base32
886 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
887 (build-system asdf-build-system/sbcl)
888 (inputs
889 `(("zpb-ttf" ,sbcl-zpb-ttf)))
890 (arguments
891 '(#:asd-systems '("cl-vectors"
892 "cl-paths-ttf")))
893 (home-page "http://projects.tuxee.net/cl-vectors/")
894 (synopsis "Create, transform and render anti-aliased vectorial paths")
895 (description
896 "This is a pure Common Lisp library to create, transform and render
897 anti-aliased vectorial paths.")
898 (license license:expat)))
899
900 (define-public ecl-cl-vectors
901 (sbcl-package->ecl-package sbcl-cl-vectors))
902
903 (define-public cl-vectors
904 (sbcl-package->cl-source-package sbcl-cl-vectors))
905
906 (define-public sbcl-spatial-trees
907 ;; There have been no releases.
908 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
909 (revision "1"))
910 (package
911 (name "sbcl-spatial-trees")
912 (version (git-version "0" revision commit))
913 (source
914 (origin
915 (method git-fetch)
916 (uri (git-reference
917 (url "https://github.com/rpav/spatial-trees")
918 (commit commit)))
919 (file-name (git-file-name name version))
920 (sha256
921 (base32
922 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
923 (build-system asdf-build-system/sbcl)
924 (arguments
925 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
926 #:test-asd-file "spatial-trees.test.asd"))
927 (native-inputs
928 `(("fiveam" ,sbcl-fiveam)))
929 (home-page "https://github.com/rpav/spatial-trees")
930 (synopsis "Dynamic index data structures for spatially-extended data")
931 (description
932 "Spatial-trees is a set of dynamic index data structures for
933 spatially-extended data.")
934 (license license:bsd-3))))
935
936 (define-public ecl-spatial-trees
937 (sbcl-package->ecl-package sbcl-spatial-trees))
938
939 (define-public cl-spatial-trees
940 (sbcl-package->cl-source-package sbcl-spatial-trees))
941
942 (define-public sbcl-flexichain
943 ;; There are no releases.
944 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
945 (revision "1"))
946 (package
947 (name "sbcl-flexichain")
948 (version "1.5.1")
949 (source
950 (origin
951 (method git-fetch)
952 (uri (git-reference
953 (url "https://github.com/robert-strandh/Flexichain")
954 (commit commit)))
955 (file-name (git-file-name name version))
956 (sha256
957 (base32
958 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
959 (build-system asdf-build-system/sbcl)
960 (home-page "https://github.com/robert-strandh/Flexichain.git")
961 (synopsis "Dynamically add elements to or remove them from sequences")
962 (description
963 "This package provides an implementation of the flexichain protocol,
964 allowing client code to dynamically add elements to, and delete elements from
965 a sequence (or chain) of such elements.")
966 (license license:lgpl2.1+))))
967
968 (define-public ecl-flexichain
969 (sbcl-package->ecl-package sbcl-flexichain))
970
971 (define-public cl-flexichain
972 (sbcl-package->cl-source-package sbcl-flexichain))
973
974 (define-public sbcl-cl-pdf
975 (let ((commit "dbafd62afcb2d2e9164054c72612763721297d59")
976 (revision "1"))
977 (package
978 (name "sbcl-cl-pdf")
979 (version (git-version "2.0.0" revision commit))
980 (source
981 (origin
982 (method git-fetch)
983 (uri (git-reference
984 (url "https://github.com/mbattyani/cl-pdf")
985 (commit commit)))
986 (file-name (git-file-name "cl-pdf" version))
987 (sha256
988 (base32 "0w6igiav35a65h6r4p1g6dw2i7mw0s06mviw31768r6z62l1ny1v"))))
989 (build-system asdf-build-system/sbcl)
990 (inputs
991 `(("iterate" ,sbcl-iterate)
992 ("zpb-ttf" ,sbcl-zpb-ttf)))
993 (home-page "https://github.com/mbattyani/cl-pdf")
994 (synopsis "Common Lisp library for generating PDF files")
995 (description
996 "CL-PDF is a cross-platform Common Lisp library for generating PDF
997 files.")
998 (license license:bsd-2))))
999
1000 (define-public ecl-cl-pdf
1001 (sbcl-package->ecl-package sbcl-cl-pdf))
1002
1003 (define-public cl-pdf
1004 (sbcl-package->cl-source-package sbcl-cl-pdf))
1005
1006 (define-public sbcl-clx
1007 (package
1008 (name "sbcl-clx")
1009 (version "0.7.5")
1010 (source
1011 (origin
1012 (method git-fetch)
1013 (uri
1014 (git-reference
1015 (url "https://github.com/sharplispers/clx")
1016 (commit version)))
1017 (sha256
1018 (base32
1019 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
1020 (file-name (string-append "clx-" version))))
1021 (build-system asdf-build-system/sbcl)
1022 (native-inputs
1023 `(("fiasco" ,sbcl-fiasco)))
1024 (home-page "https://www.cliki.net/portable-clx")
1025 (synopsis "X11 client library for Common Lisp")
1026 (description "CLX is an X11 client library for Common Lisp. The code was
1027 originally taken from a CMUCL distribution, was modified somewhat in order to
1028 make it compile and run under SBCL, then a selection of patches were added
1029 from other CLXes around the net.")
1030 (license license:x11)))
1031
1032 (define-public cl-clx
1033 (sbcl-package->cl-source-package sbcl-clx))
1034
1035 (define-public ecl-clx
1036 (sbcl-package->ecl-package sbcl-clx))
1037
1038 (define-public sbcl-clx-truetype
1039 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
1040 (revision "1"))
1041 (package
1042 (name "sbcl-clx-truetype")
1043 (version (git-version "0.0.1" revision commit))
1044 (source
1045 (origin
1046 (method git-fetch)
1047 (uri (git-reference
1048 (url "https://github.com/l04m33/clx-truetype")
1049 (commit commit)))
1050 (file-name (git-file-name name version))
1051 (sha256
1052 (base32
1053 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
1054 (modules '((guix build utils)))
1055 (snippet
1056 '(begin
1057 (substitute* "package.lisp"
1058 ((":export") ":export\n :+font-cache-filename+"))
1059 #t))))
1060 (build-system asdf-build-system/sbcl)
1061 (inputs
1062 `(("clx" ,sbcl-clx)
1063 ("zpb-ttf" ,sbcl-zpb-ttf)
1064 ("cl-vectors" ,sbcl-cl-vectors)
1065 ("cl-fad" ,sbcl-cl-fad)
1066 ("cl-store" ,sbcl-cl-store)
1067 ("trivial-features" ,sbcl-trivial-features)))
1068 (home-page "https://github.com/l04m33/clx-truetype")
1069 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
1070 (description "CLX-TrueType is pure common lisp solution for
1071 antialiased TrueType font rendering using CLX and XRender extension.")
1072 (license license:expat))))
1073
1074 (define-public cl-clx-truetype
1075 (sbcl-package->cl-source-package sbcl-clx-truetype))
1076
1077 (define-public ecl-clx-truetype
1078 (sbcl-package->ecl-package sbcl-clx-truetype))
1079
1080 (define-public sbcl-slynk
1081 (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309"))
1082 (package
1083 (name "sbcl-slynk")
1084 (version (git-version "1.0.43" "4" commit))
1085 (source
1086 (origin
1087 (method git-fetch)
1088 (uri
1089 (git-reference
1090 (url "https://github.com/joaotavora/sly")
1091 (commit commit)))
1092 (sha256
1093 (base32 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"))
1094 (file-name (git-file-name "slynk" version))))
1095 (build-system asdf-build-system/sbcl)
1096 (outputs '("out" "image"))
1097 (arguments
1098 `(#:phases
1099 (modify-phases %standard-phases
1100 (add-after 'create-asdf-configuration 'build-image
1101 (lambda* (#:key outputs #:allow-other-keys)
1102 (build-image (string-append
1103 (assoc-ref %outputs "image")
1104 "/bin/slynk")
1105 %outputs
1106 #:dependencies '("slynk"
1107 "slynk/arglists"
1108 "slynk/fancy-inspector"
1109 "slynk/package-fu"
1110 "slynk/mrepl"
1111 "slynk/trace-dialog"
1112 "slynk/profiler"
1113 "slynk/stickers"
1114 "slynk/indentation"
1115 "slynk/retro"))
1116 #t)))))
1117 (synopsis "Common Lisp IDE for Emacs")
1118 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
1119 It also features a completely redesigned REPL based on Emacs's own
1120 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
1121 button interface. Everything can be copied to the REPL. One can create
1122 multiple inspectors with independent history.")
1123 (home-page "https://github.com/joaotavora/sly")
1124 (license license:public-domain)
1125 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
1126
1127 (define-public cl-slynk
1128 (sbcl-package->cl-source-package sbcl-slynk))
1129
1130 (define-public ecl-slynk
1131 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
1132 (package
1133 (inherit pkg)
1134 (outputs '("out"))
1135 (arguments
1136 (substitute-keyword-arguments (package-arguments pkg)
1137 ((#:phases phases)
1138 `(modify-phases ,phases
1139 (delete 'build-image))))))))
1140
1141 (define-public sbcl-parse-js
1142 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
1143 (revision "1"))
1144 (package
1145 (name "sbcl-parse-js")
1146 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
1147 (source
1148 (origin
1149 (method git-fetch)
1150 (uri (git-reference
1151 (url "http://marijn.haverbeke.nl/git/parse-js")
1152 (commit commit)))
1153 (file-name (string-append name "-" commit "-checkout"))
1154 (sha256
1155 (base32
1156 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
1157 (build-system asdf-build-system/sbcl)
1158 (home-page "https://marijnhaverbeke.nl/parse-js/")
1159 (synopsis "Parse JavaScript")
1160 (description "Parse-js is a Common Lisp package for parsing
1161 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
1162 (license license:zlib))))
1163
1164 (define-public cl-parse-js
1165 (sbcl-package->cl-source-package sbcl-parse-js))
1166
1167 (define-public ecl-parse-js
1168 (sbcl-package->ecl-package sbcl-parse-js))
1169
1170 (define-public sbcl-parse-number
1171 (package
1172 (name "sbcl-parse-number")
1173 (version "1.7")
1174 (source
1175 (origin
1176 (method git-fetch)
1177 (uri (git-reference
1178 (url "https://github.com/sharplispers/parse-number/")
1179 (commit (string-append "v" version))))
1180 (file-name (git-file-name name version))
1181 (sha256
1182 (base32
1183 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
1184 (build-system asdf-build-system/sbcl)
1185 (home-page "https://www.cliki.net/PARSE-NUMBER")
1186 (synopsis "Parse numbers")
1187 (description "@code{parse-number} is a library of functions for parsing
1188 strings into one of the standard Common Lisp number types without using the
1189 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1190 the string into one of the standard Common Lisp number types, if possible, or
1191 else @code{parse-number} signals an error of type @code{invalid-number}.")
1192 (license license:bsd-3)))
1193
1194 (define-public cl-parse-number
1195 (sbcl-package->cl-source-package sbcl-parse-number))
1196
1197 (define-public ecl-parse-number
1198 (sbcl-package->ecl-package sbcl-parse-number))
1199
1200 (define-public sbcl-iterate
1201 (package
1202 (name "sbcl-iterate")
1203 (version "1.5")
1204 (source
1205 (origin
1206 (method url-fetch)
1207 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1208 "iterate-" version ".tar.gz"))
1209 (sha256
1210 (base32
1211 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1212 (build-system asdf-build-system/sbcl)
1213 (native-inputs
1214 `(("rt" ,sbcl-rt)))
1215 (home-page "https://common-lisp.net/project/iterate/")
1216 (synopsis "Iteration construct for Common Lisp")
1217 (description "@code{iterate} is an iteration construct for Common Lisp.
1218 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1219
1220 @itemize
1221 @item it is extensible,
1222 @item it helps editors like Emacs indent iterate forms by having a more
1223 lisp-like syntax, and
1224 @item it isn't part of the ANSI standard for Common Lisp.
1225 @end itemize\n")
1226 (license license:expat)))
1227
1228 (define-public cl-iterate
1229 (sbcl-package->cl-source-package sbcl-iterate))
1230
1231 (define-public ecl-iterate
1232 (sbcl-package->ecl-package sbcl-iterate))
1233
1234 (define-public sbcl-cl-uglify-js
1235 ;; There have been many bug fixes since the 2010 release.
1236 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1237 (revision "1"))
1238 (package
1239 (name "sbcl-cl-uglify-js")
1240 (version (string-append "0.1-" revision "." (string-take commit 9)))
1241 (source
1242 (origin
1243 (method git-fetch)
1244 (uri (git-reference
1245 (url "https://github.com/mishoo/cl-uglify-js")
1246 (commit commit)))
1247 (file-name (git-file-name name version))
1248 (sha256
1249 (base32
1250 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1251 (build-system asdf-build-system/sbcl)
1252 (inputs
1253 `(("sbcl-parse-js" ,sbcl-parse-js)
1254 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1255 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1256 ("sbcl-parse-number" ,sbcl-parse-number)
1257 ("sbcl-iterate" ,sbcl-iterate)))
1258 (home-page "https://github.com/mishoo/cl-uglify-js")
1259 (synopsis "JavaScript compressor library for Common Lisp")
1260 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1261 compressor. It works on data produced by @code{parse-js} to generate a
1262 @dfn{minified} version of the code. Currently it can:
1263
1264 @itemize
1265 @item reduce variable names (usually to single letters)
1266 @item join consecutive @code{var} statements
1267 @item resolve simple binary expressions
1268 @item group most consecutive statements using the @code{sequence} operator (comma)
1269 @item remove unnecessary blocks
1270 @item convert @code{IF} expressions in various ways that result in smaller code
1271 @item remove some unreachable code
1272 @end itemize\n")
1273 (license license:zlib))))
1274
1275 (define-public cl-uglify-js
1276 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1277
1278 (define-public ecl-cl-uglify-js
1279 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1280
1281 (define-public uglify-js
1282 (package
1283 (inherit sbcl-cl-uglify-js)
1284 (name "uglify-js")
1285 (build-system trivial-build-system)
1286 (arguments
1287 `(#:modules ((guix build utils))
1288 #:builder
1289 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1290 (script (string-append bin "uglify-js")))
1291 (use-modules (guix build utils))
1292 (mkdir-p bin)
1293 (with-output-to-file script
1294 (lambda _
1295 (format #t "#!~a/bin/sbcl --script
1296
1297 (require :asdf)
1298 (asdf:initialize-source-registry
1299 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1300 (asdf:initialize-output-translations
1301 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1302 (assoc-ref %build-inputs "sbcl")
1303 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1304 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1305 ;; FIXME: cannot use progn here because otherwise it fails to
1306 ;; find cl-uglify-js.
1307 (for-each
1308 write
1309 '(;; Quiet, please!
1310 (let ((*standard-output* (make-broadcast-stream))
1311 (*error-output* (make-broadcast-stream)))
1312 (asdf:load-system :cl-uglify-js))
1313 (let ((file (cadr *posix-argv*)))
1314 (if file
1315 (format t "~a"
1316 (cl-uglify-js:ast-gen-code
1317 (cl-uglify-js:ast-mangle
1318 (cl-uglify-js:ast-squeeze
1319 (with-open-file (in file)
1320 (parse-js:parse-js in))))
1321 :beautify nil))
1322 (progn
1323 (format *error-output*
1324 "Please provide a JavaScript file.~%")
1325 (sb-ext:exit :code 1))))))))
1326 (chmod script #o755)
1327 #t)))
1328 (inputs
1329 `(("sbcl" ,sbcl)
1330 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1331 (synopsis "JavaScript compressor")))
1332
1333 (define-public sbcl-cl-strings
1334 (let ((revision "1")
1335 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1336 (package
1337 (name "sbcl-cl-strings")
1338 (version (git-version "0.0.0" revision commit))
1339 (source
1340 (origin
1341 (method git-fetch)
1342 (uri (git-reference
1343 (url "https://github.com/diogoalexandrefranco/cl-strings")
1344 (commit commit)))
1345 (sha256
1346 (base32
1347 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1348 (file-name (string-append "cl-strings-" version "-checkout"))))
1349 (build-system asdf-build-system/sbcl)
1350 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1351 (description
1352 "@command{cl-strings} is a small, portable, dependency-free set of
1353 utilities that make it even easier to manipulate text in Common Lisp. It has
1354 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1355 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1356 (license license:expat))))
1357
1358 (define-public cl-strings
1359 (sbcl-package->cl-source-package sbcl-cl-strings))
1360
1361 (define-public ecl-cl-strings
1362 (sbcl-package->ecl-package sbcl-cl-strings))
1363
1364 (define-public sbcl-trivial-features
1365 (package
1366 (name "sbcl-trivial-features")
1367 (version "1.0")
1368 (source
1369 (origin
1370 (method git-fetch)
1371 (uri (git-reference
1372 (url "https://github.com/trivial-features/trivial-features")
1373 (commit (string-append "v" version))))
1374 (file-name (git-file-name "trivial-features" version))
1375 (sha256
1376 (base32 "0jsqah1znzqilxnw5vannb083ayk0d7phkackqzwwqkyg5hpn6pq"))))
1377 (build-system asdf-build-system/sbcl)
1378 (arguments
1379 '(#:asd-files '("trivial-features.asd")
1380 ;; FIXME: Tests disabled because of a circular dependency between
1381 ;; trivial-features and cffi.
1382 #:tests? #f))
1383 ;; (native-inputs
1384 ;; `(("cffi" ,sbcl-cffi)))
1385 (home-page "https://cliki.net/trivial-features")
1386 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1387 (description "Trivial-features ensures that @code{*FEATURES*} is
1388 consistent across multiple Common Lisp implementations.")
1389 (license license:expat)))
1390
1391 (define-public cl-trivial-features
1392 (sbcl-package->cl-source-package sbcl-trivial-features))
1393
1394 (define-public ecl-trivial-features
1395 (sbcl-package->ecl-package sbcl-trivial-features))
1396
1397 (define-public sbcl-hu.dwim.asdf
1398 (let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59"))
1399 (package
1400 (name "sbcl-hu.dwim.asdf")
1401 (version "20200724")
1402 (source
1403 (origin
1404 (method git-fetch)
1405 (uri (git-reference
1406 (url "https://github.com/hu-dwim/hu.dwim.asdf")
1407 (commit commit)))
1408 (file-name (git-file-name name version))
1409 (sha256
1410 (base32
1411 "0p81jalilkaqw832a12s35q0z6rrarxjasm1jy6h4fvyj9pf0zkx"))))
1412 (build-system asdf-build-system/sbcl)
1413 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1414 (synopsis "Extensions to ASDF")
1415 (description "Various ASDF extensions such as attached test and
1416 documentation system, explicit development support, etc.")
1417 (license license:public-domain))))
1418
1419 (define-public cl-hu.dwim.asdf
1420 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1421
1422 (define-public ecl-hu.dwim.asdf
1423 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1424
1425 (define-public sbcl-hu.dwim.stefil
1426 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
1427 (package
1428 (name "sbcl-hu.dwim.stefil")
1429 (version (git-version "0.0.0" "2" commit))
1430 (source
1431 (origin
1432 (method git-fetch)
1433 (uri
1434 (git-reference
1435 (url "https://github.com/hu-dwim/hu.dwim.stefil")
1436 (commit commit)))
1437 (sha256
1438 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
1439 (file-name (git-file-name "hu.dwim.stefil" version))))
1440 (build-system asdf-build-system/sbcl)
1441 (native-inputs
1442 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1443 (inputs
1444 `(("sbcl-alexandria" ,sbcl-alexandria)))
1445 (home-page "http://dwim.hu/project/hu.dwim.stefil")
1446 (synopsis "Simple test framework")
1447 (description "Stefil is a simple test framework for Common Lisp,
1448 with a focus on interactive development.")
1449 (license license:public-domain))))
1450
1451 (define-public cl-hu.dwim.stefil
1452 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1453
1454 (define-public ecl-hu.dwim.stefil
1455 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1456
1457 (define-public sbcl-babel
1458 ;; No release since 2014.
1459 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1460 (package
1461 (name "sbcl-babel")
1462 (version (git-version "0.5.0" "1" commit))
1463 (source
1464 (origin
1465 (method git-fetch)
1466 (uri (git-reference
1467 (url "https://github.com/cl-babel/babel")
1468 (commit commit)))
1469 (file-name (git-file-name "babel" version))
1470 (sha256
1471 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1472 (build-system asdf-build-system/sbcl)
1473 (native-inputs
1474 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1475 (inputs
1476 `(("sbcl-alexandria" ,sbcl-alexandria)
1477 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1478 (home-page "https://common-lisp.net/project/babel/")
1479 (synopsis "Charset encoding and decoding library")
1480 (description "Babel is a charset encoding and decoding library, not unlike
1481 GNU libiconv, but completely written in Common Lisp.")
1482 (license license:expat))))
1483
1484 (define-public cl-babel
1485 (sbcl-package->cl-source-package sbcl-babel))
1486
1487 (define-public ecl-babel
1488 (sbcl-package->ecl-package sbcl-babel))
1489
1490 (define-public sbcl-cl-yacc
1491 (package
1492 (name "sbcl-cl-yacc")
1493 (version "0.3")
1494 (source
1495 (origin
1496 (method git-fetch)
1497 (uri (git-reference
1498 (url "https://github.com/jech/cl-yacc")
1499 (commit (string-append "cl-yacc-" version))))
1500 (sha256
1501 (base32
1502 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1503 (file-name (string-append "cl-yacc-" version "-checkout"))))
1504 (build-system asdf-build-system/sbcl)
1505 (arguments
1506 `(#:asd-systems '("yacc")))
1507 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1508 (description
1509 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1510 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1511
1512 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1513 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1514 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1515 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1516 (license license:expat)))
1517
1518 (define-public cl-yacc
1519 (sbcl-package->cl-source-package sbcl-cl-yacc))
1520
1521 (define-public ecl-cl-yacc
1522 (sbcl-package->ecl-package sbcl-cl-yacc))
1523
1524 (define-public sbcl-eager-future2
1525 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1526 (package
1527 (name "sbcl-eager-future2")
1528 (version (git-version "0.0.0" "1" commit))
1529 (source
1530 (origin
1531 (method git-fetch)
1532 (uri (git-reference
1533 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1534 (commit commit)))
1535 (file-name (git-file-name name version))
1536 (sha256
1537 (base32
1538 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1539 (build-system asdf-build-system/sbcl)
1540 (inputs
1541 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1542 ("trivial-garbage" ,sbcl-trivial-garbage)))
1543 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1544 (description
1545 "Eager Future2 is a Common Lisp library that provides composable
1546 concurrency primitives that unify parallel and lazy evaluation, are integrated
1547 with the Common Lisp condition system, and have automatic resource
1548 management.")
1549 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1550 (license license:lgpl3+))))
1551
1552 (define-public cl-eager-future2
1553 (sbcl-package->cl-source-package sbcl-eager-future2))
1554
1555 (define-public ecl-eager-future2
1556 (sbcl-package->ecl-package sbcl-eager-future2))
1557
1558 (define-public sbcl-jpl-util
1559 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1560 (package
1561 (name "sbcl-jpl-util")
1562 (version "20151005")
1563 (source
1564 (origin
1565 (method git-fetch)
1566 (uri (git-reference
1567 ;; Quicklisp uses this fork.
1568 (url "https://github.com/hawkir/cl-jpl-util")
1569 (commit commit)))
1570 (file-name
1571 (git-file-name "jpl-util" version))
1572 (sha256
1573 (base32
1574 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1575 (build-system asdf-build-system/sbcl)
1576 (synopsis "Collection of Common Lisp utility functions and macros")
1577 (description
1578 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1579 and macros, primarily for software projects written in CL by the author.")
1580 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1581 (license license:isc))))
1582
1583 (define-public cl-jpl-util
1584 (sbcl-package->cl-source-package sbcl-jpl-util))
1585
1586 (define-public ecl-jpl-util
1587 (sbcl-package->ecl-package sbcl-jpl-util))
1588
1589 (define-public sbcl-piping
1590 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1591 (revision "1"))
1592 (package
1593 (name "sbcl-piping")
1594 (version (git-version "2.0.0" revision commit))
1595 (source
1596 (origin
1597 (method git-fetch)
1598 (uri (git-reference
1599 (url "https://github.com/Shinmera/piping/")
1600 (commit commit)))
1601 (file-name (git-file-name "piping" version))
1602 (sha256
1603 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1604 (build-system asdf-build-system/sbcl)
1605 (home-page "https://shinmera.github.io/piping/")
1606 (synopsis "Library to enable simple message pipelines")
1607 (description
1608 "This is a Common Lisp library to enable simple message pipelines.")
1609 (license license:zlib))))
1610
1611 (define-public ecl-piping
1612 (sbcl-package->ecl-package sbcl-piping))
1613
1614 (define-public cl-piping
1615 (sbcl-package->cl-source-package sbcl-piping))
1616
1617 (define-public sbcl-cl-pcg
1618 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1619 (revision "1"))
1620 (package
1621 (name "sbcl-cl-pcg")
1622 (version (git-version "1.0.0" revision commit))
1623 (source
1624 (origin
1625 (method git-fetch)
1626 (uri (git-reference
1627 (url "https://github.com/sjl/cl-pcg")
1628 (commit commit)))
1629 (file-name (git-file-name "cl-pcg" version))
1630 (sha256
1631 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1632 (build-system asdf-build-system/sbcl)
1633 (native-inputs
1634 `(("1am" ,sbcl-1am)))
1635 (home-page "https://github.com/sjl/cl-pcg")
1636 (synopsis "Permuted congruential generators in Common Lisp")
1637 (description
1638 "This is a bare-bones Permuted Congruential Generator implementation in
1639 pure Common Lisp.")
1640 (license license:expat))))
1641
1642 (define-public ecl-cl-pcg
1643 (sbcl-package->ecl-package sbcl-cl-pcg))
1644
1645 (define-public cl-pcg
1646 (sbcl-package->cl-source-package sbcl-cl-pcg))
1647
1648 (define-public sbcl-seedable-rng
1649 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1650 (revision "1"))
1651 (package
1652 (name "sbcl-seedable-rng")
1653 (version (git-version "0.0.0" revision commit))
1654 (source
1655 (origin
1656 (method git-fetch)
1657 (uri (git-reference
1658 (url "https://git.mfiano.net/mfiano/seedable-rng")
1659 (commit commit)))
1660 (file-name (git-file-name "seedable-rng" version))
1661 (sha256
1662 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1663 (build-system asdf-build-system/sbcl)
1664 (inputs
1665 `(("cl-pcg" ,sbcl-cl-pcg)
1666 ("golden-utils" ,sbcl-golden-utils)
1667 ("ironclad" ,sbcl-ironclad)))
1668 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1669 (synopsis "Common Lisp random number generator")
1670 (description
1671 "SEEDABLE-RNG provides a convenient means of generating random numbers
1672 that are seedable with deterministic results across hardware and Common Lisp
1673 implementations.")
1674 (license license:expat))))
1675
1676 (define-public ecl-seedable-rng
1677 (sbcl-package->ecl-package sbcl-seedable-rng))
1678
1679 (define-public cl-seedable-rng
1680 (sbcl-package->cl-source-package sbcl-seedable-rng))
1681
1682 (define-public sbcl-jpl-queues
1683 (package
1684 (name "sbcl-jpl-queues")
1685 (version "0.1")
1686 (source
1687 (origin
1688 (method url-fetch)
1689 (uri (string-append
1690 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1691 version
1692 ".tar.gz"))
1693 (sha256
1694 (base32
1695 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1696 (build-system asdf-build-system/sbcl)
1697 (inputs
1698 `(("jpl-util" ,sbcl-jpl-util)
1699 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1700 (arguments
1701 ;; Tests seem to be broken.
1702 `(#:tests? #f))
1703 (synopsis "Common Lisp library implementing a few different kinds of queues")
1704 (description
1705 "A Common Lisp library implementing a few different kinds of queues:
1706
1707 @itemize
1708 @item Bounded and unbounded FIFO queues.
1709 @item Lossy bounded FIFO queues that drop elements when full.
1710 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1711 @end itemize
1712
1713 Additionally, a synchronization wrapper is provided to make any queue
1714 conforming to the @command{jpl-queues} API thread-safe for lightweight
1715 multithreading applications. (See Calispel for a more sophisticated CL
1716 multithreaded message-passing library with timeouts and alternation among
1717 several blockable channels.)")
1718 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1719 (license license:isc)))
1720
1721 (define-public cl-jpl-queues
1722 (sbcl-package->cl-source-package sbcl-jpl-queues))
1723
1724 (define-public ecl-jpl-queues
1725 (sbcl-package->ecl-package sbcl-jpl-queues))
1726
1727 (define-public sbcl-calispel
1728 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1729 (package
1730 (name "sbcl-calispel")
1731 (version (git-version "0.1" "1" commit))
1732 (source
1733 (origin
1734 (method git-fetch)
1735 (uri (git-reference
1736 ;; This fork replaces the dependency on the obsolete
1737 ;; eager-future with eager-future2.
1738 (url "https://github.com/hawkir/calispel")
1739 (commit commit)))
1740 (file-name (git-file-name name version))
1741 (sha256
1742 (base32
1743 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1744 (build-system asdf-build-system/sbcl)
1745 (inputs
1746 `(("jpl-queues" ,sbcl-jpl-queues)
1747 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1748 (native-inputs
1749 `(("eager-future2" ,sbcl-eager-future2)))
1750 (synopsis "Thread-safe message-passing channels in Common Lisp")
1751 (description
1752 "Calispel is a Common Lisp library for thread-safe message-passing
1753 channels, in the style of the occam programming language, also known as
1754 communicating sequential processes (CSP). See
1755 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1756
1757 Calispel channels let one thread communicate with another, facilitating
1758 unidirectional communication of any Lisp object. Channels may be unbuffered,
1759 where a sender waits for a receiver (or vice versa) before either operation can
1760 continue, or channels may be buffered with flexible policy options.
1761
1762 Because sending and receiving on a channel may block, either operation can time
1763 out after a specified amount of time.
1764
1765 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1766 @code{select()}): given a sequence of operations, any or all of which may
1767 block, alternation selects the first operation that doesn't block and executes
1768 associated code. Alternation can also time out, executing an \"otherwise\"
1769 clause if no operation becomes available within a set amount of time.
1770
1771 Calispel is a message-passing library, and as such leaves the role of
1772 threading abstractions and utilities left to be filled by complementary
1773 libraries such as Bordeaux-Threads and Eager Future.")
1774 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1775 (license license:isc))))
1776
1777 (define-public cl-calispel
1778 (sbcl-package->cl-source-package sbcl-calispel))
1779
1780 (define-public ecl-calispel
1781 (sbcl-package->ecl-package sbcl-calispel))
1782
1783 (define-public sbcl-eos
1784 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1785 (revision "2"))
1786 (package
1787 (name "sbcl-eos")
1788 (version (git-version "0.0.0" revision commit))
1789 (source
1790 (origin
1791 (method git-fetch)
1792 (uri (git-reference
1793 (url "https://github.com/adlai/Eos")
1794 (commit commit)))
1795 (sha256
1796 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1797 (file-name (git-file-name "eos" version))))
1798 (build-system asdf-build-system/sbcl)
1799 (synopsis "Unit Testing for Common Lisp")
1800 (description
1801 "Eos was a unit testing library for Common Lisp.
1802 It began as a fork of FiveAM; however, FiveAM development has continued, while
1803 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1804 (home-page "https://github.com/adlai/Eos")
1805 (license license:expat))))
1806
1807 (define-public cl-eos
1808 (sbcl-package->cl-source-package sbcl-eos))
1809
1810 (define-public ecl-eos
1811 (sbcl-package->ecl-package sbcl-eos))
1812
1813 (define-public sbcl-esrap
1814 (let ((commit "da6b24fb18bdb8e7e177bcf2820cdaf0b560deb6")
1815 (revision "1"))
1816 (package
1817 (name "sbcl-esrap")
1818 (version (git-version "0.18" revision commit))
1819 (source
1820 (origin
1821 (method git-fetch)
1822 (uri (git-reference
1823 (url "https://github.com/scymtym/esrap")
1824 (commit commit)))
1825 (sha256
1826 (base32 "12vf3bxwzf8icnf6rw1xalvm7493cfbb46r2vlhc09s59djkf39q"))
1827 (file-name (git-file-name "esrap" version))))
1828 (build-system asdf-build-system/sbcl)
1829 (native-inputs
1830 `(("fiveam" ,sbcl-fiveam)))
1831 (inputs
1832 `(("alexandria" ,sbcl-alexandria)))
1833 (synopsis "Common Lisp packrat parser")
1834 (description
1835 "This is a packrat parser for Common Lisp.
1836 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1837
1838 @itemize
1839 @item dynamic redefinition of nonterminals
1840 @item inline grammars
1841 @item semantic predicates
1842 @item introspective facilities (describing grammars, tracing, setting breaks)
1843 @item left-recursive grammars
1844 @item functions as terminals
1845 @item accurate, customizable parse error reports
1846 @end itemize\n")
1847 (home-page "https://scymtym.github.io/esrap/")
1848 (license license:expat))))
1849
1850 (define-public cl-esrap
1851 (sbcl-package->cl-source-package sbcl-esrap))
1852
1853 (define-public ecl-esrap
1854 (sbcl-package->ecl-package sbcl-esrap))
1855
1856 (define-public sbcl-split-sequence
1857 (package
1858 (name "sbcl-split-sequence")
1859 (version "2.0.0")
1860 (source
1861 (origin
1862 (method git-fetch)
1863 (uri (git-reference
1864 (url "https://github.com/sharplispers/split-sequence")
1865 (commit (string-append "v" version))))
1866 (sha256
1867 (base32
1868 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1869 (file-name (git-file-name "split-sequence" version))))
1870 (build-system asdf-build-system/sbcl)
1871 (native-inputs
1872 `(("fiveam" ,sbcl-fiveam)))
1873 (synopsis "Member of the Common Lisp Utilities family of programs")
1874 (description
1875 "Splits sequence into a list of subsequences delimited by objects
1876 satisfying the test.")
1877 (home-page "https://cliki.net/split-sequence")
1878 (license license:expat)))
1879
1880 (define-public cl-split-sequence
1881 (sbcl-package->cl-source-package sbcl-split-sequence))
1882
1883 (define-public ecl-split-sequence
1884 (sbcl-package->ecl-package sbcl-split-sequence))
1885
1886 (define-public sbcl-html-encode
1887 (package
1888 (name "sbcl-html-encode")
1889 (version "1.2")
1890 (source
1891 (origin
1892 (method url-fetch)
1893 (uri (string-append
1894 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1895 version ".tgz"))
1896 (sha256
1897 (base32
1898 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1899 (file-name (string-append "colorize" version "-checkout"))))
1900 (build-system asdf-build-system/sbcl)
1901 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1902 (description
1903 "A library for encoding text in various web-savvy encodings.")
1904 (home-page "http://quickdocs.org/html-encode/")
1905 (license license:expat)))
1906
1907 (define-public cl-html-encode
1908 (sbcl-package->cl-source-package sbcl-html-encode))
1909
1910 (define-public ecl-html-encode
1911 (sbcl-package->ecl-package sbcl-html-encode))
1912
1913 (define-public sbcl-colorize
1914 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1915 (package
1916 (name "sbcl-colorize")
1917 (version (git-version "0.0.0" "1" commit))
1918 (source
1919 (origin
1920 (method git-fetch)
1921 (uri (git-reference
1922 (url "https://github.com/kingcons/colorize")
1923 (commit commit)))
1924 (sha256
1925 (base32
1926 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1927 (file-name (git-file-name "colorize" version))))
1928 (build-system asdf-build-system/sbcl)
1929 (inputs
1930 `(("alexandria" ,sbcl-alexandria)
1931 ("split-sequence" ,sbcl-split-sequence)
1932 ("html-encode" ,sbcl-html-encode)))
1933 (synopsis "Common Lisp for syntax highlighting")
1934 (description
1935 "@command{colorize} is a Lisp library for syntax highlighting
1936 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1937 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1938 (home-page "https://github.com/kingcons/colorize")
1939 ;; TODO: Missing license?
1940 (license license:expat))))
1941
1942 (define-public cl-colorize
1943 (sbcl-package->cl-source-package sbcl-colorize))
1944
1945 (define-public ecl-colorize
1946 (sbcl-package->ecl-package sbcl-colorize))
1947
1948 (define-public sbcl-3bmd
1949 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1950 (revision "2"))
1951 (package
1952 (name "sbcl-3bmd")
1953 (version (git-version "0.0.0" revision commit))
1954 (source
1955 (origin
1956 (method git-fetch)
1957 (uri (git-reference
1958 (url "https://github.com/3b/3bmd")
1959 (commit commit)))
1960 (sha256
1961 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1962 (file-name (git-file-name "3bmd" version))))
1963 (build-system asdf-build-system/sbcl)
1964 (arguments
1965 `(#:asd-systems
1966 '("3bmd"
1967 "3bmd-ext-definition-lists"
1968 "3bmd-ext-math"
1969 "3bmd-ext-tables"
1970 "3bmd-ext-wiki-links"
1971 "3bmd-youtube"
1972 "3bmd-ext-code-blocks")))
1973 (inputs
1974 `(("alexandria" ,sbcl-alexandria)
1975 ("colorize" ,sbcl-colorize)
1976 ("esrap" ,sbcl-esrap)
1977 ("split-sequence" ,sbcl-split-sequence)))
1978 (home-page "https://github.com/3b/3bmd")
1979 (synopsis "Markdown processor in Command Lisp using esrap parser")
1980 (description
1981 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1982 for parsing, and grammar based on @command{peg-markdown}.")
1983 (license license:expat))))
1984
1985 (define-public cl-3bmd
1986 (sbcl-package->cl-source-package sbcl-3bmd))
1987
1988 (define-public ecl-3bmd
1989 (sbcl-package->ecl-package sbcl-3bmd))
1990
1991 (define-public sbcl-cl-fad
1992 (package
1993 (name "sbcl-cl-fad")
1994 (version "0.7.6")
1995 (source
1996 (origin
1997 (method git-fetch)
1998 (uri (git-reference
1999 (url "https://github.com/edicl/cl-fad/")
2000 (commit (string-append "v" version))))
2001 (sha256
2002 (base32
2003 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
2004 (file-name (string-append "cl-fad" version "-checkout"))))
2005 (build-system asdf-build-system/sbcl)
2006 (inputs
2007 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2008 (synopsis "Portable pathname library for Common Lisp")
2009 (description
2010 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
2011 Lisp's standard pathname functions. It is intended to provide some
2012 unification between current CL implementations on Windows, OS X, Linux, and
2013 Unix. Most of the code was written by Peter Seibel for his book Practical
2014 Common Lisp.")
2015 (home-page "https://edicl.github.io/cl-fad/")
2016 (license license:bsd-2)))
2017
2018 (define-public cl-fad
2019 (sbcl-package->cl-source-package sbcl-cl-fad))
2020
2021 (define-public ecl-cl-fad
2022 (sbcl-package->ecl-package sbcl-cl-fad))
2023
2024 (define-public sbcl-fn
2025 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
2026 (revision "1"))
2027 (package
2028 (name "sbcl-fn")
2029 (version (git-version "0.0.0" revision commit))
2030 (source
2031 (origin
2032 (method git-fetch)
2033 (uri (git-reference
2034 (url "https://github.com/cbaggers/fn")
2035 (commit commit)))
2036 (file-name (git-file-name "fn" version))
2037 (sha256
2038 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
2039 (build-system asdf-build-system/sbcl)
2040 (inputs
2041 `(("named-readtables" ,sbcl-named-readtables)))
2042 (home-page "https://github.com/cbaggers/fn")
2043 (synopsis "Macros for lambda brevity")
2044 (description
2045 "This is a Common Lisp library providing lambda shorthand macros aiming
2046 to be used in cases where the word @emph{lambda} and the arguments are longer
2047 than the body of the lambda.")
2048 (license license:public-domain))))
2049
2050 (define-public ecl-fn
2051 (sbcl-package->ecl-package sbcl-fn))
2052
2053 (define-public cl-fn
2054 (sbcl-package->cl-source-package sbcl-fn))
2055
2056 (define-public sbcl-rt
2057 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
2058 (revision "1"))
2059 (package
2060 (name "sbcl-rt")
2061 (version (git-version "1990.12.19" revision commit))
2062 (source
2063 (origin
2064 (method git-fetch)
2065 (uri (git-reference
2066 (url "http://git.kpe.io/rt.git")
2067 (commit commit)))
2068 (file-name (git-file-name name version))
2069 (sha256
2070 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
2071 (build-system asdf-build-system/sbcl)
2072 (synopsis "MIT Regression Tester")
2073 (description
2074 "RT provides a framework for writing regression test suites.")
2075 (home-page "https://www.cliki.net/rt")
2076 (license license:expat))))
2077
2078 (define-public cl-rt
2079 (sbcl-package->cl-source-package sbcl-rt))
2080
2081 (define-public ecl-rt
2082 (sbcl-package->ecl-package sbcl-rt))
2083
2084 (define-public sbcl-nibbles
2085 ;; No tagged release since 2018.
2086 (let ((commit "dad25240928d5cf8f7df69c4398244e03570bb35")
2087 (revision "2"))
2088 (package
2089 (name "sbcl-nibbles")
2090 (version (git-version "0.14" revision commit))
2091 (source
2092 (origin
2093 (method git-fetch)
2094 (uri (git-reference
2095 (url "https://github.com/sharplispers/nibbles/")
2096 (commit commit)))
2097 (sha256
2098 (base32 "0r6ljlpgjmkf87pmvdwzva8qj15bhznc3ylgcjjqyy4frbx9lygz"))
2099 (file-name (git-file-name "nibbles" version))))
2100 (build-system asdf-build-system/sbcl)
2101 (native-inputs
2102 ;; Tests only.
2103 `(("rt" ,sbcl-rt)))
2104 (synopsis
2105 "Common Lisp library for accessing octet-addressed blocks of data")
2106 (description
2107 "When dealing with network protocols and file formats, it's common to
2108 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
2109 flavors. Common Lisp sort of supports this by specifying :element-type for
2110 streams, but that facility is underspecified and there's nothing similar for
2111 read/write from octet vectors. What most people wind up doing is rolling their
2112 own small facility for their particular needs and calling it a day.
2113
2114 This library attempts to be comprehensive and centralize such
2115 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
2116 vectors in signed or unsigned flavors are provided; these functions are also
2117 SETFable. Since it's sometimes desirable to read/write directly from streams,
2118 functions for doing so are also provided. On some implementations,
2119 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
2120 also be supported.")
2121 (home-page "https://github.com/sharplispers/nibbles")
2122 (license license:bsd-3))))
2123
2124 (define-public cl-nibbles
2125 (sbcl-package->cl-source-package sbcl-nibbles))
2126
2127 (define-public ecl-nibbles
2128 (sbcl-package->ecl-package sbcl-nibbles))
2129
2130 (define-public sbcl-ironclad
2131 (package
2132 (name "sbcl-ironclad")
2133 (version "0.55")
2134 (source
2135 (origin
2136 (method git-fetch)
2137 (uri (git-reference
2138 (url "https://github.com/sharplispers/ironclad/")
2139 (commit (string-append "v" version))))
2140 (sha256
2141 (base32 "1w4slnc4143w1gcff1wxsivzb8kcji0bpd7y9rld3sabay0qprwl"))
2142 (file-name (git-file-name name version))))
2143 (build-system asdf-build-system/sbcl)
2144 (native-inputs
2145 ;; Tests only.
2146 `(("rt" ,sbcl-rt)))
2147 (inputs
2148 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2149 ("flexi-streams" ,sbcl-flexi-streams)))
2150 (synopsis "Cryptographic toolkit written in Common Lisp")
2151 (description
2152 "Ironclad is a cryptography library written entirely in Common Lisp.
2153 It includes support for several popular ciphers, digests, MACs and public key
2154 cryptography algorithms. For several implementations that support Gray
2155 streams, support is included for convenient stream wrappers.")
2156 (home-page "https://github.com/sharplispers/ironclad")
2157 (license license:bsd-3)))
2158
2159 (define-public cl-ironclad
2160 (sbcl-package->cl-source-package sbcl-ironclad))
2161
2162 (define-public ecl-ironclad
2163 (sbcl-package->ecl-package sbcl-ironclad))
2164
2165 (define-public sbcl-named-readtables
2166 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2167 (revision "3"))
2168 (package
2169 (name "sbcl-named-readtables")
2170 (version (git-version "0.9" revision commit))
2171 (source
2172 (origin
2173 (method git-fetch)
2174 (uri (git-reference
2175 (url "https://github.com/melisgl/named-readtables")
2176 (commit commit)))
2177 (sha256
2178 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
2179 (file-name (git-file-name "named-readtables" version))))
2180 (build-system asdf-build-system/sbcl)
2181 (home-page "https://github.com/melisgl/named-readtables/")
2182 (synopsis "Library that creates a namespace for named readtables")
2183 (description
2184 "Named readtables is a library that creates a namespace for named
2185 readtables, which is akin to package namespacing in Common Lisp.")
2186 (license license:bsd-3))))
2187
2188 (define-public cl-named-readtables
2189 (sbcl-package->cl-source-package sbcl-named-readtables))
2190
2191 (define-public ecl-named-readtables
2192 (sbcl-package->ecl-package sbcl-named-readtables))
2193
2194 (define-public sbcl-py-configparser
2195 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2196 ;; time 8y ago, it looks like abandoned. VCS of the project:
2197 ;; https://svn.common-lisp.net/py-configparser/trunk
2198 (package
2199 (name "sbcl-py-configparser")
2200 (version "1.0.3")
2201 (source
2202 (origin
2203 (method url-fetch)
2204 (uri (string-append
2205 "https://common-lisp.net/project/py-configparser/releases/"
2206 "py-configparser-" version ".tar.gz"))
2207 (sha256
2208 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2209 (build-system asdf-build-system/sbcl)
2210 (inputs
2211 `(("parse-number" ,sbcl-parse-number)))
2212 (home-page "http://common-lisp.net/project/py-configparser/")
2213 (synopsis "ConfigParser Python module functionality for Common Lisp")
2214 (description "The py-configparser package implements the ConfigParser
2215 Python module functionality in Common Lisp. In short, it implements reading
2216 and writing of .INI-file style configuration files with sections containing
2217 key/value pairs of configuration options. In line with the functionalities in
2218 the python module, does this package implement basic interpolation of option
2219 values in other options.")
2220 (license license:expat)))
2221
2222 (define-public cl-py-configparser
2223 (sbcl-package->cl-source-package sbcl-py-configparser))
2224
2225 (define-public ecl-py-configparser
2226 (sbcl-package->ecl-package sbcl-py-configparser))
2227
2228 (define-public sbcl-pythonic-string-reader
2229 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2230 (package
2231 (name "sbcl-pythonic-string-reader")
2232 (version (git-version "0.0.0" "1" commit))
2233 (source
2234 (origin
2235 (method git-fetch)
2236 (uri (git-reference
2237 (url "https://github.com/smithzvk/pythonic-string-reader/")
2238 (commit commit)))
2239 (sha256
2240 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2241 (file-name (git-file-name "pythonic-string-reader" version))))
2242 (build-system asdf-build-system/sbcl)
2243 (inputs
2244 `(("named-readtables" ,sbcl-named-readtables)))
2245 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2246 (synopsis "Read table modification inspired by Python's three quote strings")
2247 (description "This piece of code sets up some reader macros that make it
2248 simpler to input string literals which contain backslashes and double quotes
2249 This is very useful for writing complicated docstrings and, as it turns out,
2250 writing code that contains string literals that contain code themselves.")
2251 (license license:bsd-3))))
2252
2253 (define-public cl-pythonic-string-reader
2254 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2255
2256 (define-public ecl-pythonic-string-reader
2257 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2258
2259 (define-public sbcl-slime-swank
2260 (package
2261 (name "sbcl-slime-swank")
2262 (version "2.26")
2263 (source
2264 (origin
2265 (file-name (git-file-name "slime-swank" version))
2266 (method git-fetch)
2267 (uri (git-reference
2268 (url "https://github.com/slime/slime/")
2269 (commit (string-append "v" version))))
2270 (sha256
2271 (base32
2272 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2273 (build-system asdf-build-system/sbcl)
2274 (arguments
2275 '(#:asd-systems '("swank")))
2276 (home-page "https://github.com/slime/slime")
2277 (synopsis "Common Lisp Swank server")
2278 (description
2279 "This is only useful if you want to start a Swank server in a Lisp
2280 processes that doesn't run under Emacs. Lisp processes created by
2281 @command{M-x slime} automatically start the server.")
2282 (license (list license:gpl2+ license:public-domain))))
2283
2284 (define-public cl-slime-swank
2285 (sbcl-package->cl-source-package sbcl-slime-swank))
2286
2287 (define-public ecl-slime-swank
2288 (sbcl-package->ecl-package sbcl-slime-swank))
2289
2290 (define-public sbcl-mgl-pax
2291 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2292 (revision "2"))
2293 (package
2294 (name "sbcl-mgl-pax")
2295 (version (git-version "0.0.3" revision commit))
2296 (source
2297 (origin
2298 (method git-fetch)
2299 (uri (git-reference
2300 (url "https://github.com/melisgl/mgl-pax")
2301 (commit commit)))
2302 (sha256
2303 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2304 (file-name (git-file-name "mgl-pax" version))))
2305 (build-system asdf-build-system/sbcl)
2306 (inputs
2307 `(("3bmd" ,sbcl-3bmd)
2308 ("babel" ,sbcl-babel)
2309 ("cl-fad" ,sbcl-cl-fad)
2310 ("ironclad" ,sbcl-ironclad)
2311 ("named-readtables" ,sbcl-named-readtables)
2312 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2313 ("swank" ,sbcl-slime-swank)))
2314 (synopsis "Exploratory programming environment and documentation generator")
2315 (description
2316 "PAX provides an extremely poor man's Explorable Programming
2317 environment. Narrative primarily lives in so called sections that mix markdown
2318 docstrings with references to functions, variables, etc, all of which should
2319 probably have their own docstrings.
2320
2321 The primary focus is on making code easily explorable by using SLIME's
2322 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2323 fanciness in Emacs Integration. Generating documentation from sections and all
2324 the referenced items in Markdown or HTML format is also implemented.
2325
2326 With the simplistic tools provided, one may accomplish similar effects as with
2327 Literate Programming, but documentation is generated from code, not vice versa
2328 and there is no support for chunking yet. Code is first, code must look
2329 pretty, documentation is code.")
2330 (home-page "http://quotenil.com/")
2331 (license license:expat))))
2332
2333 (define-public cl-mgl-pax
2334 (sbcl-package->cl-source-package sbcl-mgl-pax))
2335
2336 (define-public ecl-mgl-pax
2337 (sbcl-package->ecl-package sbcl-mgl-pax))
2338
2339 (define-public sbcl-mssql
2340 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2341 (revision "1"))
2342 (package
2343 (name "sbcl-mssql")
2344 (version (git-version "0.0.3" revision commit))
2345 (source
2346 (origin
2347 (method git-fetch)
2348 (uri (git-reference
2349 (url "https://github.com/archimag/cl-mssql")
2350 (commit commit)))
2351 (file-name (git-file-name "cl-mssql" version))
2352 (sha256
2353 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2354 (build-system asdf-build-system/sbcl)
2355 (inputs
2356 `(("cffi" ,sbcl-cffi)
2357 ("freetds" ,freetds)
2358 ("garbage-pools" ,sbcl-garbage-pools)
2359 ("iterate" ,sbcl-iterate)
2360 ("parse-number" ,sbcl-parse-number)))
2361 (arguments
2362 `(#:phases
2363 (modify-phases %standard-phases
2364 (add-after 'unpack 'fix-paths
2365 (lambda* (#:key inputs #:allow-other-keys)
2366 (substitute* "src/mssql.lisp"
2367 (("libsybdb" all)
2368 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2369 #t)))))
2370 (home-page "https://github.com/archimag/cl-mssql")
2371 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2372 (description
2373 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2374 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2375 project.")
2376 (license license:llgpl))))
2377
2378 (define-public ecl-mssql
2379 (sbcl-package->ecl-package sbcl-mssql))
2380
2381 (define-public cl-mssql
2382 (sbcl-package->cl-source-package sbcl-mssql))
2383
2384 (define-public sbcl-lisp-unit
2385 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2386 (package
2387 (name "sbcl-lisp-unit")
2388 (version (git-version "0.0.0" "1" commit))
2389 (source
2390 (origin
2391 (method git-fetch)
2392 (uri (git-reference
2393 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2394 (commit commit)))
2395 (sha256
2396 (base32
2397 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2398 (file-name (git-file-name "lisp-unit" version))))
2399 (build-system asdf-build-system/sbcl)
2400 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2401 (description
2402 "@command{lisp-unit} is a Common Lisp library that supports unit
2403 testing. It is an extension of the library written by Chris Riesbeck.")
2404 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2405 (license license:expat))))
2406
2407 (define-public cl-lisp-unit
2408 (sbcl-package->cl-source-package sbcl-lisp-unit))
2409
2410 (define-public ecl-lisp-unit
2411 (sbcl-package->ecl-package sbcl-lisp-unit))
2412
2413 (define-public sbcl-anaphora
2414 (package
2415 (name "sbcl-anaphora")
2416 (version "0.9.6")
2417 (source
2418 (origin
2419 (method git-fetch)
2420 (uri (git-reference
2421 (url "https://github.com/tokenrove/anaphora")
2422 (commit version)))
2423 (sha256
2424 (base32
2425 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2426 (file-name (git-file-name "anaphora" version))))
2427 (build-system asdf-build-system/sbcl)
2428 (native-inputs
2429 `(("rt" ,sbcl-rt)))
2430 (synopsis "The anaphoric macro collection from Hell")
2431 (description
2432 "Anaphora is the anaphoric macro collection from Hell: it includes many
2433 new fiends in addition to old friends like @command{aif} and
2434 @command{awhen}.")
2435 (home-page "https://github.com/tokenrove/anaphora")
2436 (license license:public-domain)))
2437
2438 (define-public cl-anaphora
2439 (sbcl-package->cl-source-package sbcl-anaphora))
2440
2441 (define-public ecl-anaphora
2442 (sbcl-package->ecl-package sbcl-anaphora))
2443
2444 (define-public sbcl-lift
2445 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2446 (revision "2"))
2447 (package
2448 (name "sbcl-lift")
2449 (version (git-version "1.7.1" revision commit))
2450 (source
2451 (origin
2452 (method git-fetch)
2453 (uri (git-reference
2454 (url "https://github.com/gwkkwg/lift")
2455 (commit commit)))
2456 (sha256
2457 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2458 (file-name (git-file-name "lift" version))
2459 (modules '((guix build utils)))
2460 (snippet
2461 ;; Don't keep the bundled website
2462 `(begin
2463 (delete-file-recursively "website")
2464 #t))))
2465 (build-system asdf-build-system/sbcl)
2466 (arguments
2467 ;; The tests require a debugger, but we run with the debugger disabled.
2468 '(#:tests? #f))
2469 (synopsis "LIsp Framework for Testing")
2470 (description
2471 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2472 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2473 testcases are organized into hierarchical testsuites each of which can have
2474 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2475 supports randomized testing, benchmarking, profiling, and reporting.")
2476 (home-page "https://github.com/gwkkwg/lift")
2477 (license license:expat))))
2478
2479 (define-public cl-lift
2480 (sbcl-package->cl-source-package sbcl-lift))
2481
2482 (define-public ecl-lift
2483 (sbcl-package->ecl-package sbcl-lift))
2484
2485 (define-public sbcl-let-plus
2486 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2487 (package
2488 (name "sbcl-let-plus")
2489 (version (git-version "0.0.0" "1" commit))
2490 (source
2491 (origin
2492 (method git-fetch)
2493 (uri (git-reference
2494 (url "https://github.com/sharplispers/let-plus")
2495 (commit commit)))
2496 (sha256
2497 (base32
2498 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2499 (file-name (git-file-name "let-plus" version))))
2500 (build-system asdf-build-system/sbcl)
2501 (inputs
2502 `(("alexandria" ,sbcl-alexandria)
2503 ("anaphora" ,sbcl-anaphora)))
2504 (native-inputs
2505 `(("lift" ,sbcl-lift)))
2506 (synopsis "Destructuring extension of let*")
2507 (description
2508 "This library implements the let+ macro, which is a dectructuring
2509 extension of let*. It features:
2510
2511 @itemize
2512 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2513 not counting tests)
2514 @item Placeholder macros allow editor hints and syntax highlighting
2515 @item @command{&ign} for ignored values (in forms where that makes sense)
2516 @item Very easy to extend
2517 @end itemize\n")
2518 (home-page "https://github.com/sharplispers/let-plus")
2519 (license license:boost1.0))))
2520
2521 (define-public cl-let-plus
2522 (sbcl-package->cl-source-package sbcl-let-plus))
2523
2524 (define-public ecl-let-plus
2525 (sbcl-package->ecl-package sbcl-let-plus))
2526
2527 (define-public sbcl-cl-colors
2528 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2529 (package
2530 (name "sbcl-cl-colors")
2531 (version (git-version "0.0.0" "1" commit))
2532 (source
2533 (origin
2534 (method git-fetch)
2535 (uri (git-reference
2536 (url "https://github.com/tpapp/cl-colors")
2537 (commit commit)))
2538 (sha256
2539 (base32
2540 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2541 (file-name (git-file-name "cl-colors" version))))
2542 (build-system asdf-build-system/sbcl)
2543 (inputs
2544 `(("alexandria" ,sbcl-alexandria)
2545 ("let-plus" ,sbcl-let-plus)))
2546 (synopsis "Simple color library for Common Lisp")
2547 (description
2548 "This is a very simple color library for Common Lisp, providing
2549
2550 @itemize
2551 @item Types for representing colors in HSV and RGB spaces.
2552 @item Simple conversion functions between the above types (and also
2553 hexadecimal representation for RGB).
2554 @item Some predefined colors (currently X11 color names – of course the
2555 library does not depend on X11).Because color in your terminal is nice.
2556 @end itemize
2557
2558 This library is no longer supported by its author.")
2559 (home-page "https://github.com/tpapp/cl-colors")
2560 (license license:boost1.0))))
2561
2562 (define-public cl-colors
2563 (sbcl-package->cl-source-package sbcl-cl-colors))
2564
2565 (define-public ecl-cl-colors
2566 (sbcl-package->ecl-package sbcl-cl-colors))
2567
2568 (define-public sbcl-cl-ansi-text
2569 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2570 (package
2571 (name "sbcl-cl-ansi-text")
2572 (version (git-version "1.0.0" "1" commit))
2573 (source
2574 (origin
2575 (method git-fetch)
2576 (uri (git-reference
2577 (url "https://github.com/pnathan/cl-ansi-text")
2578 (commit commit)))
2579 (sha256
2580 (base32
2581 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2582 (file-name (git-file-name "cl-ansi-text" version))))
2583 (build-system asdf-build-system/sbcl)
2584 (inputs
2585 `(("alexandria" ,sbcl-alexandria)
2586 ("cl-colors" ,sbcl-cl-colors)))
2587 (native-inputs
2588 `(("fiveam" ,sbcl-fiveam)))
2589 (synopsis "ANSI terminal color implementation for Common Lisp")
2590 (description
2591 "@command{cl-ansi-text} provides utilities which enable printing to an
2592 ANSI terminal with colored text. It provides the macro @command{with-color}
2593 which causes everything printed in the body to be displayed with the provided
2594 color. It further provides functions which will print the argument with the
2595 named color.")
2596 (home-page "https://github.com/pnathan/cl-ansi-text")
2597 (license license:llgpl))))
2598
2599 (define-public cl-ansi-text
2600 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2601
2602 (define-public ecl-cl-ansi-text
2603 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2604
2605 (define-public sbcl-prove
2606 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2607 (package
2608 (name "sbcl-prove")
2609 (version (git-version "1.0.0" "1" commit))
2610 (source
2611 (origin
2612 (method git-fetch)
2613 (uri (git-reference
2614 (url "https://github.com/fukamachi/prove")
2615 (commit commit)))
2616 (sha256
2617 (base32
2618 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2619 (file-name (git-file-name "prove" version))))
2620 (build-system asdf-build-system/sbcl)
2621 (inputs
2622 `(("alexandria" ,sbcl-alexandria)
2623 ("cl-ppcre" ,sbcl-cl-ppcre)
2624 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2625 (synopsis "Yet another unit testing framework for Common Lisp")
2626 (description
2627 "This project was originally called @command{cl-test-more}.
2628 @command{prove} is yet another unit testing framework for Common Lisp. The
2629 advantages of @command{prove} are:
2630
2631 @itemize
2632 @item Various simple functions for testing and informative error messages
2633 @item ASDF integration
2634 @item Extensible test reporters
2635 @item Colorizes the report if it's available (note for SLIME)
2636 @item Reports test durations
2637 @end itemize\n")
2638 (home-page "https://github.com/fukamachi/prove")
2639 (license license:expat))))
2640
2641 (define-public cl-prove
2642 (sbcl-package->cl-source-package sbcl-prove))
2643
2644 (define-public ecl-prove
2645 (sbcl-package->ecl-package sbcl-prove))
2646
2647 (define-public sbcl-proc-parse
2648 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2649 (package
2650 (name "sbcl-proc-parse")
2651 (version (git-version "0.0.0" "1" commit))
2652 (source
2653 (origin
2654 (method git-fetch)
2655 (uri (git-reference
2656 (url "https://github.com/fukamachi/proc-parse")
2657 (commit commit)))
2658 (sha256
2659 (base32
2660 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2661 (file-name (git-file-name "proc-parse" version))))
2662 (build-system asdf-build-system/sbcl)
2663 (inputs
2664 `(("alexandria" ,sbcl-alexandria)
2665 ("babel" ,sbcl-babel)))
2666 (native-inputs
2667 `(("prove" ,sbcl-prove)))
2668 (arguments
2669 ;; TODO: Tests don't find "proc-parse-test", why?
2670 `(#:tests? #f))
2671 (synopsis "Procedural vector parser")
2672 (description
2673 "This is a string/octets parser library for Common Lisp with speed and
2674 readability in mind. Unlike other libraries, the code is not a
2675 pattern-matching-like, but a char-by-char procedural parser.")
2676 (home-page "https://github.com/fukamachi/proc-parse")
2677 (license license:bsd-2))))
2678
2679 (define-public cl-proc-parse
2680 (sbcl-package->cl-source-package sbcl-proc-parse))
2681
2682 (define-public ecl-proc-parse
2683 (sbcl-package->ecl-package sbcl-proc-parse))
2684
2685 (define-public sbcl-parse-float
2686 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2687 (revision "2"))
2688 (package
2689 (name "sbcl-parse-float")
2690 (version (git-version "0.0.0" revision commit))
2691 (source
2692 (origin
2693 (method git-fetch)
2694 (uri (git-reference
2695 (url "https://github.com/soemraws/parse-float")
2696 (commit commit)))
2697 (sha256
2698 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2699 (file-name (git-file-name "proc-parse" version))))
2700 (build-system asdf-build-system/sbcl)
2701 (arguments
2702 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2703 `(#:asd-systems '("parse-float" "parse-float-tests")))
2704 (native-inputs
2705 `(("lisp-unit" ,sbcl-lisp-unit)))
2706 (inputs
2707 `(("alexandria" ,sbcl-alexandria)))
2708 (home-page "https://github.com/soemraws/parse-float")
2709 (synopsis "Parse a floating point value from a string in Common Lisp")
2710 (description
2711 "This package exports the following function to parse floating-point
2712 values from a string in Common Lisp.")
2713 (license license:public-domain))))
2714
2715 (define-public cl-parse-float
2716 (sbcl-package->cl-source-package sbcl-parse-float))
2717
2718 (define-public ecl-parse-float
2719 (sbcl-package->ecl-package sbcl-parse-float))
2720
2721 (define-public sbcl-cl-string-match
2722 (let ((revision "1")
2723 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2724 (package
2725 (name "sbcl-cl-string-match")
2726 (version (git-version "0" revision changeset))
2727 (source
2728 (origin
2729 (method hg-fetch)
2730 (uri (hg-reference
2731 (url "https://bitbucket.org/vityok/cl-string-match/")
2732 (changeset changeset)))
2733 (sha256
2734 (base32
2735 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2736 (file-name (git-file-name "cl-string-match" version))))
2737 (build-system asdf-build-system/sbcl)
2738 (inputs
2739 `(("alexandria" ,sbcl-alexandria)
2740 ("babel" ,sbcl-babel)
2741 ("iterate" ,sbcl-iterate)
2742 ("jpl-queues" ,sbcl-jpl-queues)
2743 ("jpl-util" ,sbcl-jpl-util)
2744 ("mgl-pax" ,sbcl-mgl-pax)
2745 ("parse-float" ,sbcl-parse-float)
2746 ("proc-parse" ,sbcl-proc-parse)
2747 ("yacc" ,sbcl-cl-yacc)))
2748 ;; TODO: Tests are not evaluated properly.
2749 (native-inputs
2750 ;; For testing:
2751 `(("lisp-unit" ,sbcl-lisp-unit)))
2752 (arguments
2753 `(#:tests? #f))
2754 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2755 (description
2756 "@command{cl-strings} is a small, portable, dependency-free set of
2757 utilities that make it even easier to manipulate text in Common Lisp. It has
2758 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2759 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2760 (license license:bsd-3))))
2761
2762 (define-public cl-string-match
2763 (sbcl-package->cl-source-package sbcl-cl-string-match))
2764
2765 (define-public ecl-cl-string-match
2766 (sbcl-package->ecl-package sbcl-cl-string-match))
2767
2768 (define-public sbcl-ptester
2769 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2770 (revision "1"))
2771 (package
2772 (name "sbcl-ptester")
2773 (version (git-version "2.1.3" revision commit))
2774 (source
2775 (origin
2776 (method git-fetch)
2777 (uri (git-reference
2778 (url "http://git.kpe.io/ptester.git")
2779 (commit commit)))
2780 (file-name (git-file-name name version))
2781 (sha256
2782 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2783 (build-system asdf-build-system/sbcl)
2784 (home-page "http://quickdocs.org/ptester/")
2785 (synopsis "Portable test harness package")
2786 (description
2787 "@command{ptester} is a portable testing framework based on Franz's
2788 tester module.")
2789 (license license:llgpl))))
2790
2791 (define-public cl-ptester
2792 (sbcl-package->cl-source-package sbcl-ptester))
2793
2794 (define-public ecl-ptester
2795 (sbcl-package->ecl-package sbcl-ptester))
2796
2797 (define-public sbcl-puri
2798 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2799 (revision "2"))
2800 (package
2801 (name "sbcl-puri")
2802 (version (git-version "1.5.7" revision commit))
2803 (source
2804 (origin
2805 (method git-fetch)
2806 (uri (git-reference
2807 (url "http://git.kpe.io/puri.git")
2808 (commit commit)))
2809 (file-name (git-file-name "puri" version))
2810 (sha256
2811 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2812 (build-system asdf-build-system/sbcl)
2813 (native-inputs
2814 `(("ptester" ,sbcl-ptester)))
2815 (home-page "http://puri.kpe.io/")
2816 (synopsis "Portable URI Library")
2817 (description
2818 "This is a portable Universal Resource Identifier library for Common
2819 Lisp programs. It parses URI according to the RFC 2396 specification.")
2820 (license license:llgpl))))
2821
2822 (define-public cl-puri
2823 (sbcl-package->cl-source-package sbcl-puri))
2824
2825 (define-public ecl-puri
2826 (sbcl-package->ecl-package sbcl-puri))
2827
2828 (define-public sbcl-qmynd
2829 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2830 (revision "1"))
2831 (package
2832 (name "sbcl-qmynd")
2833 (version (git-version "1.0.0" revision commit))
2834 (source
2835 (origin
2836 (method git-fetch)
2837 (uri (git-reference
2838 (url "https://github.com/qitab/qmynd")
2839 (commit commit)))
2840 (file-name (git-file-name name version))
2841 (sha256
2842 (base32
2843 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2844 (build-system asdf-build-system/sbcl)
2845 (inputs
2846 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2847 ("babel" ,sbcl-babel)
2848 ("chipz" ,sbcl-chipz)
2849 ("cl+ssl" ,sbcl-cl+ssl)
2850 ("flexi-streams" ,sbcl-flexi-streams)
2851 ("ironclad" ,sbcl-ironclad)
2852 ("salza2" ,sbcl-salza2)
2853 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2854 ("usocket" ,sbcl-usocket)))
2855 (home-page "https://github.com/qitab/qmynd")
2856 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2857 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2858 library that directly talks to a MySQL server in its native network protocol.
2859
2860 It's a part of QITAB umbrella project.")
2861 (license license:expat))))
2862
2863 (define-public ecl-qmynd
2864 (sbcl-package->ecl-package sbcl-qmynd))
2865
2866 (define-public cl-qmynd
2867 (sbcl-package->cl-source-package sbcl-qmynd))
2868
2869 (define-public sbcl-queues
2870 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2871 (package
2872 (name "sbcl-queues")
2873 (version (git-version "0.0.0" "1" commit))
2874 (source
2875 (origin
2876 (method git-fetch)
2877 (uri (git-reference
2878 (url "https://github.com/oconnore/queues")
2879 (commit commit)))
2880 (file-name (git-file-name "queues" version))
2881 (sha256
2882 (base32
2883 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2884 (build-system asdf-build-system/sbcl)
2885 (inputs
2886 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2887 (arguments
2888 '(#:asd-systems '("queues"
2889 "queues.simple-queue"
2890 "queues.simple-cqueue"
2891 "queues.priority-queue"
2892 "queues.priority-cqueue")))
2893 (home-page "https://github.com/oconnore/queues")
2894 (synopsis "Common Lisp queue library")
2895 (description
2896 "This is a simple queue library for Common Lisp with features such as
2897 non-consing thread safe queues and fibonacci priority queues.")
2898 (license license:expat))))
2899
2900 (define-public cl-queues
2901 (sbcl-package->cl-source-package sbcl-queues))
2902
2903 (define-public ecl-queues
2904 (sbcl-package->ecl-package sbcl-queues))
2905
2906 (define-public sbcl-glsl-packing
2907 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2908 (revision "1"))
2909 (package
2910 (name "sbcl-glsl-packing")
2911 (version (git-version "0.0.0" revision commit))
2912 (source
2913 (origin
2914 (method git-fetch)
2915 (uri (git-reference
2916 (url "https://github.com/3b/glsl-packing/")
2917 (commit commit)))
2918 (file-name (git-file-name "glsl-packing" version))
2919 (sha256
2920 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2921 (build-system asdf-build-system/sbcl)
2922 (inputs
2923 `(("alexandria" ,sbcl-alexandria)))
2924 (home-page "https://github.com/3b/glsl-packing/")
2925 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2926 (description
2927 "This is a Common Lisp library to calculate std140 or std430 layouts for
2928 a glsl UBO/SSBO.")
2929 (license license:expat))))
2930
2931 (define-public ecl-glsl-packing
2932 (sbcl-package->ecl-package sbcl-glsl-packing))
2933
2934 (define-public cl-glsl-packing
2935 (sbcl-package->cl-source-package sbcl-glsl-packing))
2936
2937 (define-public sbcl-glsl-spec
2938 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2939 (revision "1"))
2940 (package
2941 (name "sbcl-glsl-spec")
2942 (version (git-version "0.0.0" revision commit))
2943 (source
2944 (origin
2945 (method git-fetch)
2946 (uri (git-reference
2947 (url "https://github.com/cbaggers/glsl-spec")
2948 (commit commit)))
2949 (file-name (git-file-name "glsl-spec" version))
2950 (sha256
2951 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2952 (build-system asdf-build-system/sbcl)
2953 (arguments
2954 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2955 (home-page "https://github.com/cbaggers/glsl-spec")
2956 (synopsis "Common Lisp GLSL specification as a datastructure")
2957 (description
2958 "This package contains the specification of all functions and variables
2959 from GLSL as data.")
2960 (license license:unlicense))))
2961
2962 (define-public ecl-glsl-spec
2963 (sbcl-package->ecl-package sbcl-glsl-spec))
2964
2965 (define-public cl-glsl-spec
2966 (sbcl-package->cl-source-package sbcl-glsl-spec))
2967
2968 (define-public sbcl-rtg-math
2969 (let ((commit "29fc5b3d0028a4a11a82355ecc8cca62662c69e0")
2970 (revision "1"))
2971 (package
2972 (name "sbcl-rtg-math")
2973 (version (git-version "0.0.0" revision commit))
2974 (source
2975 (origin
2976 (method git-fetch)
2977 (uri (git-reference
2978 (url "https://github.com/cbaggers/rtg-math")
2979 (commit commit)))
2980 (file-name (git-file-name "rtg-math" version))
2981 (sha256
2982 (base32 "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x"))))
2983 (build-system asdf-build-system/sbcl)
2984 (inputs
2985 `(("alexandria" ,sbcl-alexandria)
2986 ("documentation-utils" ,sbcl-documentation-utils)
2987 ("glsl-symbols" ,sbcl-glsl-spec)))
2988 (home-page "https://github.com/cbaggers/rtg-math")
2989 (synopsis "Common Lisp library of game-related math functions")
2990 (description
2991 "RTG-MATH provides a selection of the math routines most commonly needed
2992 for making realtime graphics in Lisp.")
2993 (license license:bsd-2))))
2994
2995 (define-public ecl-rtg-math
2996 (sbcl-package->ecl-package sbcl-rtg-math))
2997
2998 (define-public cl-rtg-math
2999 (sbcl-package->cl-source-package sbcl-rtg-math))
3000
3001 (define-public sbcl-varjo
3002 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
3003 (revision "1"))
3004 (package
3005 (name "sbcl-varjo")
3006 (version (git-version "0.0.0" revision commit))
3007 (source
3008 (origin
3009 (method git-fetch)
3010 (uri (git-reference
3011 (url "https://github.com/cbaggers/varjo")
3012 (commit commit)))
3013 (file-name (git-file-name "varjo" version))
3014 (sha256
3015 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
3016 (build-system asdf-build-system/sbcl)
3017 (native-inputs
3018 `(("fiveam" ,sbcl-fiveam)))
3019 (inputs
3020 `(("alexandria" ,sbcl-alexandria)
3021 ("cl-ppcre" ,sbcl-cl-ppcre)
3022 ("documentation-utils" ,sbcl-documentation-utils)
3023 ("fn" ,sbcl-fn)
3024 ("glsl-spec" ,sbcl-glsl-spec)
3025 ("named-readtables" ,sbcl-named-readtables)
3026 ("parse-float" ,sbcl-parse-float)
3027 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
3028 (home-page "https://github.com/cbaggers/varjo")
3029 (synopsis "Lisp to GLSL Language Translator")
3030 (description
3031 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
3032 compiles. It aims to be as close to Common Lisp as possible, but naturally it
3033 is statically typed so there are differences.")
3034 (license license:bsd-2))))
3035
3036 (define-public ecl-varjo
3037 (sbcl-package->ecl-package sbcl-varjo))
3038
3039 (define-public cl-varjo
3040 (sbcl-package->cl-source-package sbcl-varjo))
3041
3042 (define-public sbcl-cffi
3043 (package
3044 (name "sbcl-cffi")
3045 (version "0.24.1")
3046 (source
3047 (origin
3048 (method git-fetch)
3049 (uri (git-reference
3050 (url "https://github.com/cffi/cffi")
3051 (commit (string-append "v" version))))
3052 (file-name (git-file-name "cffi-bootstrap" version))
3053 (sha256
3054 (base32 "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3"))))
3055 (build-system asdf-build-system/sbcl)
3056 (inputs
3057 `(("alexandria" ,sbcl-alexandria)
3058 ("babel" ,sbcl-babel)
3059 ("libffi" ,libffi)
3060 ("trivial-features" ,sbcl-trivial-features)))
3061 (native-inputs
3062 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3063 ("pkg-config" ,pkg-config)
3064 ("rt" ,sbcl-rt)))
3065 (arguments
3066 '(#:phases
3067 (modify-phases %standard-phases
3068 (add-after 'unpack 'fix-arm-support
3069 (lambda _
3070 ;; This is apparently deprecated since libffi-3.3.
3071 (substitute* "libffi/libffi-types.lisp"
3072 (("\\\(\\\(:unix64.*") ")\n"))
3073 #t))
3074 (add-after 'unpack 'fix-paths
3075 (lambda* (#:key inputs #:allow-other-keys)
3076 (substitute* "libffi/libffi.lisp"
3077 (("libffi.so.7" all) (string-append
3078 (assoc-ref inputs "libffi")
3079 "/lib/" all)))
3080 (substitute* "toolchain/c-toolchain.lisp"
3081 (("\"cc\"") (format #f "~S" (which "gcc"))))))
3082 (add-after 'build 'install-headers
3083 (lambda* (#:key outputs #:allow-other-keys)
3084 (install-file "grovel/common.h"
3085 (string-append
3086 (assoc-ref outputs "out")
3087 "/include/grovel")))))
3088 #:asd-files '("cffi.asd"
3089 "cffi-toolchain.asd"
3090 "cffi-grovel.asd"
3091 "cffi-libffi.asd"
3092 "cffi-uffi-compat.asd")
3093 #:asd-systems '("cffi"
3094 "cffi-libffi"
3095 "cffi-uffi-compat")))
3096 (home-page "https://common-lisp.net/project/cffi/")
3097 (synopsis "Common Foreign Function Interface for Common Lisp")
3098 (description "The Common Foreign Function Interface (CFFI)
3099 purports to be a portable foreign function interface for Common Lisp.
3100 The CFFI library is composed of a Lisp-implementation-specific backend
3101 in the CFFI-SYS package, and a portable frontend in the CFFI
3102 package.")
3103 (license license:expat)))
3104
3105 (define-public cl-cffi
3106 (sbcl-package->cl-source-package sbcl-cffi))
3107
3108 (define-public ecl-cffi
3109 (sbcl-package->ecl-package sbcl-cffi))
3110
3111 (define-public sbcl-cffi-c-ref
3112 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
3113 (revision "0"))
3114 (package
3115 (name "sbcl-cffi-c-ref")
3116 (version (git-version "1.0" revision commit))
3117 (source
3118 (origin
3119 (method git-fetch)
3120 (uri (git-reference
3121 (url "https://github.com/borodust/cffi-c-ref")
3122 (commit commit)))
3123 (sha256
3124 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
3125 (file-name (git-file-name "cffi-c-ref" version))))
3126 (build-system asdf-build-system/sbcl)
3127 (inputs
3128 `(("alexandria" ,sbcl-alexandria)
3129 ("cffi" ,sbcl-cffi)))
3130 (synopsis "Streamlined access to foreign memory")
3131 (description
3132 "This Common Lisp library provides macros to access foreign memory.")
3133 (home-page "https://github.com/borodust/cffi-c-ref")
3134 (license license:expat))))
3135
3136 (define-public cl-cffi-c-ref
3137 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
3138
3139 (define-public ecl-cffi-c-ref
3140 (sbcl-package->ecl-package sbcl-cffi-c-ref))
3141
3142 (define-public sbcl-cl-sqlite
3143 (package
3144 (name "sbcl-cl-sqlite")
3145 (version "0.2.1")
3146 (source
3147 (origin
3148 (method git-fetch)
3149 (uri (git-reference
3150 (url "https://github.com/dmitryvk/cl-sqlite")
3151 (commit version)))
3152 (file-name (git-file-name "cl-sqlite" version))
3153 (sha256
3154 (base32
3155 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
3156 (build-system asdf-build-system/sbcl)
3157 (inputs
3158 `(("iterate" ,sbcl-iterate)
3159 ("cffi" ,sbcl-cffi)
3160 ("sqlite" ,sqlite)))
3161 (native-inputs
3162 `(("fiveam" ,sbcl-fiveam)
3163 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
3164 (arguments
3165 `(#:asd-systems '("sqlite")
3166 #:phases
3167 (modify-phases %standard-phases
3168 (add-after 'unpack 'fix-paths
3169 (lambda* (#:key inputs #:allow-other-keys)
3170 (substitute* "sqlite-ffi.lisp"
3171 (("libsqlite3" all) (string-append
3172 (assoc-ref inputs "sqlite")"/lib/" all))))))))
3173 (home-page "https://common-lisp.net/project/cl-sqlite/")
3174 (synopsis "Common Lisp binding for SQLite")
3175 (description
3176 "The @command{cl-sqlite} package is an interface to the SQLite embedded
3177 relational database engine.")
3178 (license license:public-domain)))
3179
3180 (define-public cl-sqlite
3181 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3182
3183 (define-public ecl-cl-sqlite
3184 (sbcl-package->ecl-package sbcl-cl-sqlite))
3185
3186 (define-public sbcl-parenscript
3187 ;; Source archives are overwritten on every release, we use the Git repo instead.
3188 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
3189 (package
3190 (name "sbcl-parenscript")
3191 (version (git-version "2.7.1" "1" commit))
3192 (source
3193 (origin
3194 (method git-fetch)
3195 (uri (git-reference
3196 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3197 (commit commit)))
3198 (file-name (git-file-name "parenscript" version))
3199 (sha256
3200 (base32
3201 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
3202 (build-system asdf-build-system/sbcl)
3203 (inputs
3204 `(("cl-ppcre" ,sbcl-cl-ppcre)
3205 ("anaphora" ,sbcl-anaphora)
3206 ("named-readtables" ,sbcl-named-readtables)))
3207 (home-page "https://common-lisp.net/project/parenscript/")
3208 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3209 (description
3210 "Parenscript is a translator from an extended subset of Common Lisp to
3211 JavaScript. Parenscript code can run almost identically on both the
3212 browser (as JavaScript) and server (as Common Lisp).
3213
3214 Parenscript code is treated the same way as Common Lisp code, making the full
3215 power of Lisp macros available for JavaScript. This provides a web
3216 development environment that is unmatched in its ability to reduce code
3217 duplication and provide advanced meta-programming facilities to web
3218 developers.
3219
3220 At the same time, Parenscript is different from almost all other \"language
3221 X\" to JavaScript translators in that it imposes almost no overhead:
3222
3223 @itemize
3224 @item No run-time dependencies: Any piece of Parenscript code is runnable
3225 as-is. There are no JavaScript files to include.
3226 @item Native types: Parenscript works entirely with native JavaScript data
3227 types. There are no new types introduced, and object prototypes are not
3228 touched.
3229 @item Native calling convention: Any JavaScript code can be called without the
3230 need for bindings. Likewise, Parenscript can be used to make efficient,
3231 self-contained JavaScript libraries.
3232 @item Readable code: Parenscript generates concise, formatted, idiomatic
3233 JavaScript code. Identifier names are preserved. This enables seamless
3234 debugging in tools like Firebug.
3235 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
3236 Lisp features. The generated code is almost as fast as hand-written
3237 JavaScript.
3238 @end itemize\n")
3239 (license license:bsd-3))))
3240
3241 (define-public cl-parenscript
3242 (sbcl-package->cl-source-package sbcl-parenscript))
3243
3244 (define-public ecl-parenscript
3245 (sbcl-package->ecl-package sbcl-parenscript))
3246
3247 (define-public sbcl-cl-json
3248 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3249 (package
3250 (name "sbcl-cl-json")
3251 (version (git-version "0.5" "1" commit))
3252 (source
3253 (origin
3254 (method git-fetch)
3255 (uri (git-reference
3256 (url "https://github.com/hankhero/cl-json")
3257 (commit commit)))
3258 (file-name (git-file-name "cl-json" version))
3259 (sha256
3260 (base32
3261 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3262 (build-system asdf-build-system/sbcl)
3263 (native-inputs
3264 `(("fiveam" ,sbcl-fiveam)))
3265 (home-page "https://github.com/hankhero/cl-json")
3266 (synopsis "JSON encoder and decoder for Common-Lisp")
3267 (description
3268 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3269 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3270 and the decoder are highly customizable; at the same time, the default
3271 settings ensure a very simple mode of operation, similar to that provided by
3272 @command{yason} or @command{st-json}.")
3273 (license license:expat))))
3274
3275 (define-public cl-json
3276 (sbcl-package->cl-source-package sbcl-cl-json))
3277
3278 (define-public ecl-cl-json
3279 (sbcl-package->ecl-package sbcl-cl-json))
3280
3281 (define-public sbcl-unix-opts
3282 (package
3283 (name "sbcl-unix-opts")
3284 (version "0.1.7")
3285 (source
3286 (origin
3287 (method git-fetch)
3288 (uri (git-reference
3289 (url "https://github.com/libre-man/unix-opts")
3290 (commit version)))
3291 (file-name (git-file-name "unix-opts" version))
3292 (sha256
3293 (base32
3294 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3295 (build-system asdf-build-system/sbcl)
3296 (home-page "https://github.com/hankhero/cl-json")
3297 (synopsis "Unix-style command line options parser")
3298 (description
3299 "This is a minimalistic parser of command line options. The main
3300 advantage of the library is the ability to concisely define command line
3301 options once and then use this definition for parsing and extraction of
3302 command line arguments, as well as printing description of command line
3303 options (you get --help for free). This way you don't need to repeat
3304 yourself. Also, @command{unix-opts} doesn't depend on anything and
3305 precisely controls the behavior of the parser via Common Lisp restarts.")
3306 (license license:expat)))
3307
3308 (define-public cl-unix-opts
3309 (sbcl-package->cl-source-package sbcl-unix-opts))
3310
3311 (define-public ecl-unix-opts
3312 (sbcl-package->ecl-package sbcl-unix-opts))
3313
3314 (define-public sbcl-trivial-garbage
3315 (package
3316 (name "sbcl-trivial-garbage")
3317 (version "0.21")
3318 (source
3319 (origin
3320 (method git-fetch)
3321 (uri (git-reference
3322 (url "https://github.com/trivial-garbage/trivial-garbage")
3323 (commit (string-append "v" version))))
3324 (file-name (git-file-name "trivial-garbage" version))
3325 (sha256
3326 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3327 (build-system asdf-build-system/sbcl)
3328 (native-inputs
3329 `(("rt" ,sbcl-rt)))
3330 (home-page "https://common-lisp.net/project/trivial-garbage/")
3331 (synopsis "Portable GC-related APIs for Common Lisp")
3332 (description "@command{trivial-garbage} provides a portable API to
3333 finalizers, weak hash-tables and weak pointers on all major implementations of
3334 the Common Lisp programming language.")
3335 (license license:public-domain)))
3336
3337 (define-public cl-trivial-garbage
3338 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3339
3340 (define-public ecl-trivial-garbage
3341 (sbcl-package->ecl-package sbcl-trivial-garbage))
3342
3343 (define-public sbcl-closer-mop
3344 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3345 (package
3346 (name "sbcl-closer-mop")
3347 (version (git-version "1.0.0" "2" commit))
3348 (source
3349 (origin
3350 (method git-fetch)
3351 (uri (git-reference
3352 (url "https://github.com/pcostanza/closer-mop")
3353 (commit commit)))
3354 (sha256
3355 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3356 (file-name (git-file-name "closer-mop" version ))))
3357 (build-system asdf-build-system/sbcl)
3358 (home-page "https://github.com/pcostanza/closer-mop")
3359 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3360 (description "Closer to MOP is a compatibility layer that rectifies many
3361 of the absent or incorrect CLOS MOP features across a broad range of Common
3362 Lisp implementations.")
3363 (license license:expat))))
3364
3365 (define-public cl-closer-mop
3366 (sbcl-package->cl-source-package sbcl-closer-mop))
3367
3368 (define-public ecl-closer-mop
3369 (sbcl-package->ecl-package sbcl-closer-mop))
3370
3371 (define-public sbcl-cl-cffi-gtk
3372 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3373 (package
3374 (name "sbcl-cl-cffi-gtk")
3375 (version (git-version "0.11.2" "2" commit))
3376 (source
3377 (origin
3378 (method git-fetch)
3379 (uri (git-reference
3380 (url "https://github.com/Ferada/cl-cffi-gtk/")
3381 (commit commit)))
3382 (file-name (git-file-name "cl-cffi-gtk" version))
3383 (sha256
3384 (base32
3385 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3386 (build-system asdf-build-system/sbcl)
3387 (native-inputs
3388 `(("fiveam" ,sbcl-fiveam)))
3389 (inputs
3390 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3391 ("cairo" ,cairo)
3392 ("cffi" ,sbcl-cffi)
3393 ("closer-mop" ,sbcl-closer-mop)
3394 ("gdk-pixbuf" ,gdk-pixbuf)
3395 ("glib" ,glib)
3396 ("gtk" ,gtk+)
3397 ("iterate" ,sbcl-iterate)
3398 ("pango" ,pango)
3399 ("trivial-features" ,sbcl-trivial-features)
3400 ("trivial-garbage" ,sbcl-trivial-garbage)))
3401 (arguments
3402 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3403 "glib/cl-cffi-gtk-glib.asd"
3404 "gobject/cl-cffi-gtk-gobject.asd"
3405 "gio/cl-cffi-gtk-gio.asd"
3406 "cairo/cl-cffi-gtk-cairo.asd"
3407 "pango/cl-cffi-gtk-pango.asd"
3408 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3409 "gdk/cl-cffi-gtk-gdk.asd")
3410 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3411 ;; TODO: Tests fail with memory fault.
3412 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3413 #:tests? #f
3414 #:phases
3415 (modify-phases %standard-phases
3416 (add-after 'unpack 'fix-paths
3417 (lambda* (#:key inputs #:allow-other-keys)
3418 (substitute* "glib/glib.init.lisp"
3419 (("libglib|libgthread" all)
3420 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3421 (substitute* "gobject/gobject.init.lisp"
3422 (("libgobject" all)
3423 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3424 (substitute* "gio/gio.init.lisp"
3425 (("libgio" all)
3426 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3427 (substitute* "cairo/cairo.init.lisp"
3428 (("libcairo" all)
3429 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3430 (substitute* "pango/pango.init.lisp"
3431 (("libpango" all)
3432 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3433 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3434 (("libgdk_pixbuf" all)
3435 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3436 (substitute* "gdk/gdk.init.lisp"
3437 (("libgdk" all)
3438 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3439 (substitute* "gdk/gdk.package.lisp"
3440 (("libgtk" all)
3441 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3442 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3443 (synopsis "Common Lisp binding for GTK+3")
3444 (description
3445 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3446 is a library for creating graphical user interfaces.")
3447 (license license:lgpl3))))
3448
3449 (define-public cl-cffi-gtk
3450 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3451
3452 (define-public ecl-cl-cffi-gtk
3453 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3454
3455 (define-public sbcl-cl-webkit
3456 (let ((commit "cfc4f01ee806169d824750b4014653a93af9353d"))
3457 (package
3458 (name "sbcl-cl-webkit")
3459 (version (git-version "2.4" "16" commit))
3460 (source
3461 (origin
3462 (method git-fetch)
3463 (uri (git-reference
3464 (url "https://github.com/joachifm/cl-webkit")
3465 (commit commit)))
3466 (file-name (git-file-name "cl-webkit" version))
3467 (sha256
3468 (base32
3469 "18n90m33bi6arnjmwr3q3m0arwzr0kdnydlv4if82crvaagd6m89"))))
3470 (build-system asdf-build-system/sbcl)
3471 (inputs
3472 `(("cffi" ,sbcl-cffi)
3473 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3474 ("webkitgtk" ,webkitgtk)))
3475 (arguments
3476 `(#:asd-systems '("cl-webkit2")
3477 #:phases
3478 (modify-phases %standard-phases
3479 (add-after 'unpack 'fix-paths
3480 (lambda* (#:key inputs #:allow-other-keys)
3481 (substitute* "webkit2/webkit2.init.lisp"
3482 (("libwebkit2gtk" all)
3483 (string-append
3484 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3485 (home-page "https://github.com/joachifm/cl-webkit")
3486 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3487 (description
3488 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3489 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3490 browsing capabilities to an application, leveraging the full power of the
3491 WebKit browsing engine.")
3492 (license license:expat))))
3493
3494 (define-public cl-webkit
3495 (sbcl-package->cl-source-package sbcl-cl-webkit))
3496
3497 (define-public ecl-cl-webkit
3498 (sbcl-package->ecl-package sbcl-cl-webkit))
3499
3500 (define-public sbcl-lparallel
3501 (package
3502 (name "sbcl-lparallel")
3503 (version "2.8.4")
3504 (source
3505 (origin
3506 (method git-fetch)
3507 (uri (git-reference
3508 (url "https://github.com/lmj/lparallel/")
3509 (commit (string-append "lparallel-" version))))
3510 (file-name (git-file-name "lparallel" version))
3511 (sha256
3512 (base32
3513 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3514 (build-system asdf-build-system/sbcl)
3515 (inputs
3516 `(("alexandria" ,sbcl-alexandria)
3517 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3518 ("trivial-garbage" ,sbcl-trivial-garbage)))
3519 (arguments
3520 `(#:phases
3521 (modify-phases %standard-phases
3522 (add-after 'unpack 'fix-dependency
3523 ;; lparallel loads a SBCL specific system in its asd file. This is
3524 ;; not carried over into the fasl which is generated. In order for
3525 ;; it to be carried over, it needs to be listed as a dependency.
3526 (lambda _
3527 (substitute* "lparallel.asd"
3528 ((":depends-on \\(:alexandria" all)
3529 (string-append all " #+sbcl :sb-cltl2"))))))))
3530 (home-page "https://lparallel.org/")
3531 (synopsis "Parallelism for Common Lisp")
3532 (description
3533 "@command{lparallel} is a library for parallel programming in Common
3534 Lisp, featuring:
3535
3536 @itemize
3537 @item a simple model of task submission with receiving queue,
3538 @item constructs for expressing fine-grained parallelism,
3539 @item asynchronous condition handling across thread boundaries,
3540 @item parallel versions of map, reduce, sort, remove, and many others,
3541 @item promises, futures, and delayed evaluation constructs,
3542 @item computation trees for parallelizing interconnected tasks,
3543 @item bounded and unbounded FIFO queues,
3544 @item high and low priority tasks,
3545 @item task killing by category,
3546 @item integrated timeouts.
3547 @end itemize\n")
3548 (license license:expat)))
3549
3550 (define-public cl-lparallel
3551 (sbcl-package->cl-source-package sbcl-lparallel))
3552
3553 (define-public ecl-lparallel
3554 (package
3555 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3556 (arguments
3557 ;; TODO: Find why the tests get stuck forever; disable them for now.
3558 `(#:tests? #f))))
3559
3560 (define-public sbcl-cl-markup
3561 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3562 (package
3563 (name "sbcl-cl-markup")
3564 (version (git-version "0.1" "1" commit))
3565 (source
3566 (origin
3567 (method git-fetch)
3568 (uri (git-reference
3569 (url "https://github.com/arielnetworks/cl-markup/")
3570 (commit commit)))
3571 (file-name (git-file-name "cl-markup" version))
3572 (sha256
3573 (base32
3574 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3575 (build-system asdf-build-system/sbcl)
3576 (home-page "https://github.com/arielnetworks/cl-markup/")
3577 (synopsis "Markup generation library for Common Lisp")
3578 (description
3579 "A modern markup generation library for Common Lisp that features:
3580
3581 @itemize
3582 @item Fast (even faster through compiling the code)
3583 @item Safety
3584 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3585 @item Output with doctype
3586 @item Direct output to stream
3587 @end itemize\n")
3588 (license license:lgpl3+))))
3589
3590 (define-public cl-markup
3591 (sbcl-package->cl-source-package sbcl-cl-markup))
3592
3593 (define-public ecl-cl-markup
3594 (sbcl-package->ecl-package sbcl-cl-markup))
3595
3596 ;;; The following package is renamed from "markup" to "markup-reader" in order
3597 ;;; not to conflict with the "cl-markup" package.
3598 (define-public sbcl-markup-reader
3599 (let ((commit "d2d4d7b073554f47c24223a9304452966608702e")
3600 (revision "1"))
3601 (package
3602 (name "sbcl-markup-reader")
3603 (version (git-version "0.0.1" revision commit))
3604 (source
3605 (origin
3606 (method git-fetch)
3607 (uri (git-reference
3608 (url "https://github.com/moderninterpreters/markup")
3609 (commit commit)))
3610 (file-name (git-file-name "markup-reader" version))
3611 (sha256
3612 (base32 "0i3v938j8zpzkd6p9j8gadp5zndjcdxhswj1qgsp592v6497rpzj"))))
3613 (build-system asdf-build-system/sbcl)
3614 (arguments
3615 '(#:asd-systems '("markup")))
3616 (native-inputs
3617 `(("fiveam" ,sbcl-fiveam)))
3618 (inputs
3619 `(("alexandria" ,sbcl-alexandria)
3620 ("cl-str" ,sbcl-cl-str)
3621 ("named-readtables" ,sbcl-named-readtables)
3622 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3623 (home-page "https://github.com/moderninterpreters/markup")
3624 (synopsis "Reader-macro to read HTML tags inside of Common Lisp code")
3625 (description
3626 "Markup allows the use of HTML syntax with in Common Lisp code.
3627 This has the advantage of being able to copy HTML snippets and have them
3628 instantly be functional, less double quotes than a s-expression approach,
3629 and designers will be able to understand the embeded HTML.")
3630 (license license:asl2.0))))
3631
3632 (define-public ecl-markup-reader
3633 (sbcl-package->ecl-package sbcl-markup-reader))
3634
3635 (define-public cl-markup-reader
3636 (sbcl-package->cl-source-package sbcl-markup-reader))
3637
3638 (define-public sbcl-cl-mustache
3639 (package
3640 (name "sbcl-cl-mustache")
3641 (version "0.12.1")
3642 (source
3643 (origin
3644 (method git-fetch)
3645 (uri (git-reference
3646 (url "https://github.com/kanru/cl-mustache")
3647 (commit (string-append "v" version))))
3648 (file-name (git-file-name "cl-mustache" version))
3649 (sha256
3650 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3651 (build-system asdf-build-system/sbcl)
3652 (home-page "https://github.com/kanru/cl-mustache")
3653 (synopsis "Common Lisp Mustache template renderer")
3654 (description "This is a Common Lisp implementation for the Mustache
3655 template system. More details on the standard are available at
3656 @url{https://mustache.github.io}.")
3657 (license license:expat)))
3658
3659 (define-public cl-mustache
3660 (sbcl-package->cl-source-package sbcl-cl-mustache))
3661
3662 (define-public ecl-cl-mustache
3663 (sbcl-package->ecl-package sbcl-cl-mustache))
3664
3665 (define-public sbcl-cl-css
3666 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3667 (package
3668 (name "sbcl-cl-css")
3669 (version (git-version "0.1" "1" commit))
3670 (source
3671 (origin
3672 (method git-fetch)
3673 (uri (git-reference
3674 (url "https://github.com/inaimathi/cl-css/")
3675 (commit commit)))
3676 (file-name (git-file-name "cl-css" version))
3677 (sha256
3678 (base32
3679 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3680 (build-system asdf-build-system/sbcl)
3681 (home-page "https://github.com/inaimathi/cl-css/")
3682 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3683 (description
3684 "This is a dead-simple, non validating, inline CSS generator for Common
3685 Lisp. Its goals are axiomatic syntax, simple implementation to support
3686 portability, and boilerplate reduction in CSS.")
3687 (license license:expat))))
3688
3689 (define-public cl-css
3690 (sbcl-package->cl-source-package sbcl-cl-css))
3691
3692 (define-public ecl-cl-css
3693 (sbcl-package->ecl-package sbcl-cl-css))
3694
3695 (define-public sbcl-portable-threads
3696 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3697 (package
3698 (name "sbcl-portable-threads")
3699 (version (git-version "2.3" "2" commit))
3700 (source
3701 (origin
3702 (method git-fetch)
3703 (uri (git-reference
3704 (url "https://github.com/binghe/portable-threads/")
3705 (commit commit)))
3706 (file-name (git-file-name "portable-threads" version))
3707 (sha256
3708 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3709 (build-system asdf-build-system/sbcl)
3710 (arguments
3711 `(;; Tests seem broken.
3712 #:tests? #f))
3713 (home-page "https://github.com/binghe/portable-threads")
3714 (synopsis "Portable threads API for Common Lisp")
3715 (description
3716 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3717 Lisp (from GBBopen project).")
3718 (license license:asl2.0))))
3719
3720 (define-public cl-portable-threads
3721 (sbcl-package->cl-source-package sbcl-portable-threads))
3722
3723 (define-public ecl-portable-threads
3724 (sbcl-package->ecl-package sbcl-portable-threads))
3725
3726 (define-public sbcl-usocket
3727 (package
3728 (name "sbcl-usocket")
3729 (version "0.8.3")
3730 (source
3731 (origin
3732 (method git-fetch)
3733 (uri (git-reference
3734 (url "https://github.com/usocket/usocket/")
3735 (commit (string-append "v" version))))
3736 (file-name (git-file-name "usocket" version))
3737 (sha256
3738 (base32
3739 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3740 (build-system asdf-build-system/sbcl)
3741 (native-inputs
3742 `(("rt" ,sbcl-rt)))
3743 (inputs
3744 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3745 ("split-sequence" ,sbcl-split-sequence)))
3746 (arguments
3747 `(#:tests? #f ; FIXME: Tests need network access?
3748 #:asd-systems '("usocket"
3749 "usocket-server")))
3750 (home-page "https://common-lisp.net/project/usocket/")
3751 (synopsis "Universal socket library for Common Lisp")
3752 (description
3753 "This library strives to provide a portable TCP/IP and UDP/IP socket
3754 interface for as many Common Lisp implementations as possible, while keeping
3755 the abstraction and portability layer as thin as possible.")
3756 (license license:expat)))
3757
3758 (define-public cl-usocket
3759 (sbcl-package->cl-source-package sbcl-usocket))
3760
3761 (define-public ecl-usocket
3762 (sbcl-package->ecl-package sbcl-usocket))
3763
3764 (define-public sbcl-s-xml
3765 (package
3766 (name "sbcl-s-xml")
3767 (version "3")
3768 (source
3769 (origin
3770 (method url-fetch)
3771 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3772 (sha256
3773 (base32
3774 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3775 (build-system asdf-build-system/sbcl)
3776 (home-page "https://common-lisp.net/project/s-xml/")
3777 (synopsis "Simple XML parser implemented in Common Lisp")
3778 (description
3779 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3780 parser implementation has the following features:
3781
3782 @itemize
3783 @item It works (handling many common XML usages).
3784 @item It is very small (the core is about 700 lines of code, including
3785 comments and whitespace).
3786 @item It has a core API that is simple, efficient and pure functional, much
3787 like that from SSAX (see also http://ssax.sourceforge.net).
3788 @item It supports different DOM models: an XSML-based one, an LXML-based one
3789 and a classic xml-element struct based one.
3790 @item It is reasonably time and space efficient (internally avoiding garbage
3791 generatation as much as possible).
3792 @item It does support CDATA.
3793 @item It should support the same character sets as your Common Lisp
3794 implementation.
3795 @item It does support XML name spaces.
3796 @end itemize
3797
3798 This XML parser implementation has the following limitations:
3799
3800 @itemize
3801 @item It does not support any special tags (like processing instructions).
3802 @item It is not validating, even skips DTD's all together.
3803 @end itemize\n")
3804 (license license:lgpl3+)))
3805
3806 (define-public cl-s-xml
3807 (sbcl-package->cl-source-package sbcl-s-xml))
3808
3809 (define-public ecl-s-xml
3810 (sbcl-package->ecl-package sbcl-s-xml))
3811
3812 (define-public sbcl-s-xml-rpc
3813 (package
3814 (name "sbcl-s-xml-rpc")
3815 (version "7")
3816 (source
3817 (origin
3818 (method url-fetch)
3819 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3820 (sha256
3821 (base32
3822 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3823 (build-system asdf-build-system/sbcl)
3824 (inputs
3825 `(("s-xml" ,sbcl-s-xml)))
3826 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3827 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3828 (description
3829 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3830 client and server.")
3831 (license license:lgpl3+)))
3832
3833 (define-public cl-s-xml-rpc
3834 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3835
3836 (define-public ecl-s-xml-rpc
3837 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3838
3839 (define-public sbcl-trivial-arguments
3840 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3841 (revision "1"))
3842 (package
3843 (name "sbcl-trivial-arguments")
3844 (version (git-version "1.1.0" revision commit))
3845 (source
3846 (origin
3847 (method git-fetch)
3848 (uri (git-reference
3849 (url "https://github.com/Shinmera/trivial-arguments")
3850 (commit commit)))
3851 (file-name (git-file-name "trivial-arguments" version))
3852 (sha256
3853 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3854 (build-system asdf-build-system/sbcl)
3855 (home-page "https://github.com/Shinmera/trivial-arguments")
3856 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3857 (description
3858 "This is a simple library to retrieve the argument list of a function.")
3859 (license license:zlib))))
3860
3861 (define-public ecl-trivial-arguments
3862 (sbcl-package->ecl-package sbcl-trivial-arguments))
3863
3864 (define-public cl-trivial-arguments
3865 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3866
3867 (define-public sbcl-trivial-clipboard
3868 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3869 (package
3870 (name "sbcl-trivial-clipboard")
3871 (version (git-version "0.0.0.0" "4" commit))
3872 (source
3873 (origin
3874 (method git-fetch)
3875 (uri (git-reference
3876 (url "https://github.com/snmsts/trivial-clipboard")
3877 (commit commit)))
3878 (file-name (git-file-name "trivial-clipboard" version))
3879 (sha256
3880 (base32
3881 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3882 (build-system asdf-build-system/sbcl)
3883 (inputs
3884 `(("xclip" ,xclip)))
3885 (native-inputs
3886 `(("fiveam" ,sbcl-fiveam)))
3887 (arguments
3888 `(#:phases
3889 (modify-phases %standard-phases
3890 (add-after 'unpack 'fix-paths
3891 (lambda* (#:key inputs #:allow-other-keys)
3892 (substitute* "src/text.lisp"
3893 (("\"xclip\"")
3894 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3895 (home-page "https://github.com/snmsts/trivial-clipboard")
3896 (synopsis "Access system clipboard in Common Lisp")
3897 (description
3898 "@command{trivial-clipboard} gives access to the system clipboard.")
3899 (license license:expat))))
3900
3901 (define-public cl-trivial-clipboard
3902 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3903
3904 (define-public ecl-trivial-clipboard
3905 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3906
3907 (define-public sbcl-trivial-backtrace
3908 (let ((commit "6eb65bde7229413040c81d42ea22f0e4c9c8cfc9")
3909 (revision "1"))
3910 (package
3911 (name "sbcl-trivial-backtrace")
3912 (version (git-version "1.1.0" revision commit))
3913 (source
3914 (origin
3915 (method git-fetch)
3916 (uri (git-reference
3917 (url "https://github.com/gwkkwg/trivial-backtrace")
3918 (commit commit)))
3919 (file-name (git-file-name "trivial-backtrace" version))
3920 (sha256
3921 (base32 "1mbaqiwj5034iw6jzw30jyhwzp1pvhnz1zcy0lns0z5j2h9ldapw"))))
3922 (build-system asdf-build-system/sbcl)
3923 (native-inputs
3924 `(("sbcl-lift" ,sbcl-lift)))
3925 (arguments
3926 `(#:phases
3927 (modify-phases %standard-phases
3928 (add-after 'check 'delete-test-results
3929 (lambda* (#:key outputs #:allow-other-keys)
3930 (let ((test-results (string-append (assoc-ref outputs "out")
3931 "/share/common-lisp/"
3932 (%lisp-type)
3933 "/trivial-backtrace"
3934 "/test-results")))
3935 (when (file-exists? test-results)
3936 (delete-file-recursively test-results)))
3937 #t)))))
3938 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3939 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3940 (description
3941 "One of the many things that didn't quite get into the Common Lisp
3942 standard was how to get a Lisp to output its call stack when something has
3943 gone wrong. As such, each Lisp has developed its own notion of what to
3944 display, how to display it, and what sort of arguments can be used to
3945 customize it. @code{trivial-backtrace} is a simple solution to generating a
3946 backtrace portably.")
3947 (license license:expat))))
3948
3949 (define-public cl-trivial-backtrace
3950 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3951
3952 (define-public ecl-trivial-backtrace
3953 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3954
3955 (define-public sbcl-rfc2388
3956 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3957 (revision "1"))
3958 (package
3959 (name "sbcl-rfc2388")
3960 (version (git-version "0.0.0" revision commit))
3961 (source
3962 (origin
3963 (method git-fetch)
3964 (uri (git-reference
3965 (url "https://github.com/jdz/rfc2388")
3966 (commit commit)))
3967 (file-name (git-file-name "rfc2388" version))
3968 (sha256
3969 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3970 (build-system asdf-build-system/sbcl)
3971 (home-page "https://github.com/jdz/rfc2388/")
3972 (synopsis "An implementation of RFC 2388 in Common Lisp")
3973 (description
3974 "This package contains an implementation of RFC 2388, which is used to
3975 process form data posted with HTTP POST method using enctype
3976 \"multipart/form-data\".")
3977 (license license:bsd-2))))
3978
3979 (define-public cl-rfc2388
3980 (sbcl-package->cl-source-package sbcl-rfc2388))
3981
3982 (define-public ecl-rfc2388
3983 (sbcl-package->ecl-package sbcl-rfc2388))
3984
3985 (define-public sbcl-md5
3986 (package
3987 (name "sbcl-md5")
3988 (version "2.0.4")
3989 (source
3990 (origin
3991 (method git-fetch)
3992 (uri (git-reference
3993 (url "https://github.com/pmai/md5")
3994 (commit (string-append "release-" version))))
3995 (file-name (git-file-name "md5" version))
3996 (sha256
3997 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3998 (build-system asdf-build-system/sbcl)
3999 (home-page "https://github.com/pmai/md5")
4000 (synopsis
4001 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
4002 (description
4003 "This package implements The MD5 Message-Digest Algorithm, as defined in
4004 RFC 1321 by R. Rivest, published April 1992.")
4005 (license license:public-domain)))
4006
4007 (define-public cl-md5
4008 (sbcl-package->cl-source-package sbcl-md5))
4009
4010 (define-public ecl-md5
4011 (package
4012 (inherit (sbcl-package->ecl-package sbcl-md5))
4013 (inputs
4014 `(("flexi-streams" ,ecl-flexi-streams)))))
4015
4016 (define-public sbcl-cl+ssl
4017 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
4018 (revision "1"))
4019 (package
4020 (name "sbcl-cl+ssl")
4021 (version (git-version "0.0.0" revision commit))
4022 (source
4023 (origin
4024 (method git-fetch)
4025 (uri (git-reference
4026 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
4027 (commit commit)))
4028 (file-name (git-file-name "cl+ssl" version))
4029 (sha256
4030 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
4031 (build-system asdf-build-system/sbcl)
4032 (arguments
4033 '(#:phases
4034 (modify-phases %standard-phases
4035 (add-after 'unpack 'fix-paths
4036 (lambda* (#:key inputs #:allow-other-keys)
4037 (substitute* "src/reload.lisp"
4038 (("libssl.so" all)
4039 (string-append
4040 (assoc-ref inputs "openssl") "/lib/" all))))))))
4041 (inputs
4042 `(("openssl" ,openssl)
4043 ("sbcl-cffi" ,sbcl-cffi)
4044 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4045 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4046 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
4047 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
4048 ("sbcl-alexandria" ,sbcl-alexandria)
4049 ("sbcl-trivial-features" ,sbcl-trivial-features)))
4050 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
4051 (synopsis "Common Lisp bindings to OpenSSL")
4052 (description
4053 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
4054 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
4055 Development into CL+SSL was done by David Lichteblau.")
4056 (license license:expat))))
4057
4058 (define-public cl-cl+ssl
4059 (sbcl-package->cl-source-package sbcl-cl+ssl))
4060
4061 (define-public ecl-cl+ssl
4062 (sbcl-package->ecl-package sbcl-cl+ssl))
4063
4064 (define-public sbcl-kmrcl
4065 (let ((version "1.111")
4066 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
4067 (revision "1"))
4068 (package
4069 (name "sbcl-kmrcl")
4070 (version (git-version version revision commit))
4071 (source
4072 (origin
4073 (method git-fetch)
4074 (uri (git-reference
4075 (url "http://git.kpe.io/kmrcl.git/")
4076 (commit commit)))
4077 (file-name (git-file-name name version))
4078 (sha256
4079 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
4080 (build-system asdf-build-system/sbcl)
4081 (inputs
4082 `(("sbcl-rt" ,sbcl-rt)))
4083 (home-page "http://files.kpe.io/kmrcl/")
4084 (synopsis "General utilities for Common Lisp programs")
4085 (description
4086 "KMRCL is a collection of utilities used by a number of Kevin
4087 Rosenberg's Common Lisp packages.")
4088 (license license:llgpl))))
4089
4090 (define-public cl-kmrcl
4091 (sbcl-package->cl-source-package sbcl-kmrcl))
4092
4093 (define-public ecl-kmrcl
4094 (sbcl-package->ecl-package sbcl-kmrcl))
4095
4096 (define-public sbcl-cl-base64
4097 ;; 3.3.4 tests are broken, upstream fixes them.
4098 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
4099 (package
4100 (name "sbcl-cl-base64")
4101 (version (git-version "3.3.4" "1" commit))
4102 (source
4103 (origin
4104 (method git-fetch)
4105 (uri (git-reference
4106 (url "http://git.kpe.io/cl-base64.git/")
4107 (commit commit)))
4108 (file-name (git-file-name name version))
4109 (sha256
4110 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
4111 (build-system asdf-build-system/sbcl)
4112 (native-inputs ; For tests.
4113 `(("sbcl-ptester" ,sbcl-ptester)
4114 ("sbcl-kmrcl" ,sbcl-kmrcl)))
4115 (home-page "http://files.kpe.io/cl-base64/")
4116 (synopsis
4117 "Common Lisp package to encode and decode base64 with URI support")
4118 (description
4119 "This package provides highly optimized base64 encoding and decoding.
4120 Besides conversion to and from strings, integer conversions are supported.
4121 Encoding with Uniform Resource Identifiers is supported by using a modified
4122 encoding table that uses only URI-compatible characters.")
4123 (license license:bsd-3))))
4124
4125 (define-public cl-base64
4126 (sbcl-package->cl-source-package sbcl-cl-base64))
4127
4128 (define-public ecl-cl-base64
4129 (sbcl-package->ecl-package sbcl-cl-base64))
4130
4131 (define-public sbcl-chunga
4132 (package
4133 (name "sbcl-chunga")
4134 (version "1.1.7")
4135 (source
4136 (origin
4137 (method git-fetch)
4138 (uri (git-reference
4139 (url "https://github.com/edicl/chunga")
4140 (commit (string-append "v" version))))
4141 (file-name (git-file-name name version))
4142 (sha256
4143 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
4144 (build-system asdf-build-system/sbcl)
4145 (inputs
4146 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4147 (home-page "https://edicl.github.io/chunga/")
4148 (synopsis "Portable chunked streams for Common Lisp")
4149 (description
4150 "Chunga implements streams capable of chunked encoding on demand as
4151 defined in RFC 2616.")
4152 (license license:bsd-2)))
4153
4154 (define-public cl-chunga
4155 (sbcl-package->cl-source-package sbcl-chunga))
4156
4157 (define-public ecl-chunga
4158 (sbcl-package->ecl-package sbcl-chunga))
4159
4160 (define-public sbcl-cl-who
4161 (let ((version "1.1.4")
4162 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
4163 (revision "1"))
4164 (package
4165 (name "sbcl-cl-who")
4166 (version (git-version version revision commit))
4167 (source
4168 (origin
4169 (method git-fetch)
4170 (uri (git-reference
4171 (url "https://github.com/edicl/cl-who")
4172 (commit commit)))
4173 (file-name (git-file-name name version))
4174 (sha256
4175 (base32
4176 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
4177 (build-system asdf-build-system/sbcl)
4178 (native-inputs
4179 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4180 (home-page "https://edicl.github.io/cl-who/")
4181 (synopsis "Yet another Lisp markup language")
4182 (description
4183 "There are plenty of Lisp Markup Languages out there - every Lisp
4184 programmer seems to write at least one during his career - and CL-WHO (where
4185 WHO means \"with-html-output\" for want of a better acronym) is probably just
4186 as good or bad as the next one.")
4187 (license license:bsd-2))))
4188
4189 (define-public cl-who
4190 (sbcl-package->cl-source-package sbcl-cl-who))
4191
4192 (define-public ecl-cl-who
4193 (sbcl-package->ecl-package sbcl-cl-who))
4194
4195 (define-public sbcl-chipz
4196 (let ((version "0.8")
4197 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
4198 (revision "1"))
4199 (package
4200 (name "sbcl-chipz")
4201 (version (git-version version revision commit))
4202 (source
4203 (origin
4204 (method git-fetch)
4205 (uri (git-reference
4206 (url "https://github.com/froydnj/chipz")
4207 (commit commit)))
4208 (file-name (git-file-name name version))
4209 (sha256
4210 (base32
4211 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
4212 (build-system asdf-build-system/sbcl)
4213 (native-inputs
4214 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4215 (home-page "http://method-combination.net/lisp/chipz/")
4216 (synopsis
4217 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
4218 data")
4219 (description
4220 "DEFLATE data, defined in RFC1951, forms the core of popular
4221 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4222 Chipz also provides for decompressing data in those formats as well. BZIP2 is
4223 the format used by the popular compression tool bzip2.")
4224 ;; The author describes it as "MIT-like"
4225 (license license:expat))))
4226
4227 (define-public cl-chipz
4228 (sbcl-package->cl-source-package sbcl-chipz))
4229
4230 (define-public ecl-chipz
4231 (sbcl-package->ecl-package sbcl-chipz))
4232
4233 (define-public sbcl-drakma
4234 (package
4235 (name "sbcl-drakma")
4236 (version "2.0.7")
4237 (source
4238 (origin
4239 (method git-fetch)
4240 (uri (git-reference
4241 (url "https://github.com/edicl/drakma")
4242 (commit (string-append "v" version))))
4243 (file-name (git-file-name name version))
4244 (sha256
4245 (base32
4246 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4247 (build-system asdf-build-system/sbcl)
4248 (inputs
4249 `(("sbcl-puri" ,sbcl-puri)
4250 ("sbcl-cl-base64" ,sbcl-cl-base64)
4251 ("sbcl-chunga" ,sbcl-chunga)
4252 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4253 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4254 ("sbcl-chipz" ,sbcl-chipz)
4255 ("sbcl-usocket" ,sbcl-usocket)
4256 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4257 (native-inputs
4258 `(("sbcl-fiveam" ,sbcl-fiveam)))
4259 (home-page "https://edicl.github.io/drakma/")
4260 (synopsis "HTTP client written in Common Lisp")
4261 (description
4262 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
4263 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4264 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
4265 (license license:bsd-2)))
4266
4267 (define-public cl-drakma
4268 (sbcl-package->cl-source-package sbcl-drakma))
4269
4270 (define-public ecl-drakma
4271 (sbcl-package->ecl-package sbcl-drakma))
4272
4273 (define-public sbcl-hunchentoot
4274 (package
4275 (name "sbcl-hunchentoot")
4276 (version "1.2.38")
4277 (source
4278 (origin
4279 (method git-fetch)
4280 (uri (git-reference
4281 (url "https://github.com/edicl/hunchentoot")
4282 (commit (string-append "v" version))))
4283 (file-name (git-file-name "hunchentoot" version))
4284 (sha256
4285 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4286 (build-system asdf-build-system/sbcl)
4287 (native-inputs
4288 `(("sbcl-cl-who" ,sbcl-cl-who)
4289 ("sbcl-drakma" ,sbcl-drakma)))
4290 (inputs
4291 `(("sbcl-chunga" ,sbcl-chunga)
4292 ("sbcl-cl-base64" ,sbcl-cl-base64)
4293 ("sbcl-cl-fad" ,sbcl-cl-fad)
4294 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4295 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4296 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4297 ("sbcl-md5" ,sbcl-md5)
4298 ("sbcl-rfc2388" ,sbcl-rfc2388)
4299 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4300 ("sbcl-usocket" ,sbcl-usocket)))
4301 (home-page "https://edicl.github.io/hunchentoot/")
4302 (synopsis "Web server written in Common Lisp")
4303 (description
4304 "Hunchentoot is a web server written in Common Lisp and at the same
4305 time a toolkit for building dynamic websites. As a stand-alone web server,
4306 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4307 connections (keep-alive), and SSL.")
4308 (license license:bsd-2)))
4309
4310 (define-public cl-hunchentoot
4311 (sbcl-package->cl-source-package sbcl-hunchentoot))
4312
4313 (define-public ecl-hunchentoot
4314 (package
4315 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4316 (arguments
4317 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4318 '(#:tests? #f))))
4319
4320 (define-public sbcl-trivial-types
4321 (package
4322 (name "sbcl-trivial-types")
4323 (version "0.0.1")
4324 (source
4325 (origin
4326 (method git-fetch)
4327 (uri (git-reference
4328 (url "https://github.com/m2ym/trivial-types")
4329 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4330 (file-name (git-file-name name version))
4331 (sha256
4332 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4333 (build-system asdf-build-system/sbcl)
4334 (home-page "https://github.com/m2ym/trivial-types")
4335 (synopsis "Trivial type definitions for Common Lisp")
4336 (description
4337 "TRIVIAL-TYPES provides missing but important type definitions such as
4338 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4339 (license license:llgpl)))
4340
4341 (define-public cl-trivial-types
4342 (sbcl-package->cl-source-package sbcl-trivial-types))
4343
4344 (define-public ecl-trivial-types
4345 (sbcl-package->ecl-package sbcl-trivial-types))
4346
4347 (define-public sbcl-cl-annot
4348 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4349 (revision "1"))
4350 (package
4351 (name "sbcl-cl-annot")
4352 (version (git-version "0.0.0" revision commit))
4353 (source
4354 (origin
4355 (method git-fetch)
4356 (uri (git-reference
4357 (url "https://github.com/m2ym/cl-annot")
4358 (commit commit)))
4359 (file-name (git-file-name name version))
4360 (sha256
4361 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4362 (build-system asdf-build-system/sbcl)
4363 (inputs
4364 `(("sbcl-alexandria" ,sbcl-alexandria)))
4365 (home-page "https://github.com/m2ym/cl-annot")
4366 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4367 (description
4368 "@code{cl-annot} is an general annotation library for Common Lisp.")
4369 (license license:llgpl))))
4370
4371 (define-public cl-annot
4372 (sbcl-package->cl-source-package sbcl-cl-annot))
4373
4374 (define-public ecl-cl-annot
4375 (sbcl-package->ecl-package sbcl-cl-annot))
4376
4377 (define-public sbcl-cl-syntax
4378 (package
4379 (name "sbcl-cl-syntax")
4380 (version "0.0.3")
4381 (source
4382 (origin
4383 (method git-fetch)
4384 (uri (git-reference
4385 (url "https://github.com/m2ym/cl-syntax")
4386 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4387 (file-name (git-file-name "cl-syntax" version))
4388 (sha256
4389 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4390 (build-system asdf-build-system/sbcl)
4391 (inputs
4392 `(("cl-annot" ,sbcl-cl-annot)
4393 ("cl-interpol" ,sbcl-cl-interpol)
4394 ("named-readtables" ,sbcl-named-readtables)
4395 ("trivial-types" ,sbcl-trivial-types)))
4396 (arguments
4397 '(#:asd-systems '("cl-syntax"
4398 "cl-syntax-annot"
4399 "cl-syntax-interpol")))
4400 (home-page "https://github.com/m2ym/cl-syntax")
4401 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4402 (description
4403 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4404 (license license:llgpl)))
4405
4406 (define-public cl-syntax
4407 (sbcl-package->cl-source-package sbcl-cl-syntax))
4408
4409 (define-public ecl-cl-syntax
4410 (sbcl-package->ecl-package sbcl-cl-syntax))
4411
4412 (define-public sbcl-cl-utilities
4413 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4414 (revision "1"))
4415 (package
4416 (name "sbcl-cl-utilities")
4417 (version (git-version "0.0.0" revision commit))
4418 (source
4419 (origin
4420 (method url-fetch)
4421 (uri
4422 (string-append
4423 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4424 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4425 (sha256
4426 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4427 (build-system asdf-build-system/sbcl)
4428 (arguments
4429 '(#:phases
4430 (modify-phases %standard-phases
4431 (add-after 'unpack 'fix-paths
4432 (lambda* (#:key inputs #:allow-other-keys)
4433 (substitute* "rotate-byte.lisp"
4434 (("in-package :cl-utilities)" all)
4435 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4436 (home-page "http://common-lisp.net/project/cl-utilities")
4437 (synopsis "A collection of semi-standard utilities")
4438 (description
4439 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4440 is a collection of Common Lisp Utilities, things that everybody writes since
4441 they're not part of the official standard. There are some very useful things
4442 there; the only problems are that they aren't implemented as well as you'd
4443 like (some aren't implemented at all) and they aren't conveniently packaged
4444 and maintained. It takes quite a bit of work to carefully implement utilities
4445 for common use, commented and documented, with error checking placed
4446 everywhere some dumb user might make a mistake.")
4447 (license license:public-domain))))
4448
4449 (define-public cl-utilities
4450 (sbcl-package->cl-source-package sbcl-cl-utilities))
4451
4452 (define-public ecl-cl-utilities
4453 (sbcl-package->ecl-package sbcl-cl-utilities))
4454
4455 (define-public sbcl-map-set
4456 (let ((commit "7b4b545b68b8")
4457 (revision "1"))
4458 (package
4459 (name "sbcl-map-set")
4460 (version (git-version "0.0.0" revision commit))
4461 (source
4462 (origin
4463 (method url-fetch)
4464 (uri (string-append
4465 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4466 commit ".tar.gz"))
4467 (sha256
4468 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4469 (build-system asdf-build-system/sbcl)
4470 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4471 (synopsis "Set-like data structure")
4472 (description
4473 "Implementation of a set-like data structure with constant time
4474 addition, removal, and random selection.")
4475 (license license:bsd-3))))
4476
4477 (define-public cl-map-set
4478 (sbcl-package->cl-source-package sbcl-map-set))
4479
4480 (define-public ecl-map-set
4481 (sbcl-package->ecl-package sbcl-map-set))
4482
4483 (define-public sbcl-quri
4484 (package
4485 (name "sbcl-quri")
4486 (version "0.4.0")
4487 (source
4488 (origin
4489 (method git-fetch)
4490 (uri (git-reference
4491 (url "https://github.com/fukamachi/quri")
4492 (commit version)))
4493 (file-name (git-file-name name version))
4494 (sha256
4495 (base32 "0ka5haq3g72hvaz4hdv7y1d6df9ncmx029wwixn4r413gll5yxy7"))))
4496 (build-system asdf-build-system/sbcl)
4497 (arguments
4498 ;; Test system must be loaded before, otherwise tests fail with:
4499 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4500 ;; "quri">.
4501 '(#:asd-systems '("quri-test"
4502 "quri")))
4503 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4504 (inputs `(("sbcl-babel" ,sbcl-babel)
4505 ("sbcl-split-sequence" ,sbcl-split-sequence)
4506 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4507 ("sbcl-alexandria" ,sbcl-alexandria)))
4508 (home-page "https://github.com/fukamachi/quri")
4509 (synopsis "Yet another URI library for Common Lisp")
4510 (description
4511 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4512 Lisp. It is intended to be a replacement of PURI.")
4513 (license license:bsd-3)))
4514
4515 (define-public cl-quri
4516 (sbcl-package->cl-source-package sbcl-quri))
4517
4518 (define-public ecl-quri
4519 (sbcl-package->ecl-package sbcl-quri))
4520
4521 (define-public sbcl-myway
4522 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4523 (revision "1"))
4524 (package
4525 (name "sbcl-myway")
4526 (version (git-version "0.1.0" revision commit))
4527 (source
4528 (origin
4529 (method git-fetch)
4530 (uri (git-reference
4531 (url "https://github.com/fukamachi/myway")
4532 (commit commit)))
4533 (file-name (git-file-name "myway" version))
4534 (sha256
4535 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4536 (build-system asdf-build-system/sbcl)
4537 (arguments
4538 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4539 ;; by #<SYSTEM "myway">. Why?
4540 '(#:tests? #f))
4541 (native-inputs
4542 `(("sbcl-prove" ,sbcl-prove)))
4543 (inputs
4544 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4545 ("sbcl-quri" ,sbcl-quri)
4546 ("sbcl-map-set" ,sbcl-map-set)))
4547 (home-page "https://github.com/fukamachi/myway")
4548 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4549 (description "My Way is a Sinatra-compatible URL routing library.")
4550 (license license:llgpl))))
4551
4552 (define-public cl-myway
4553 (sbcl-package->cl-source-package sbcl-myway))
4554
4555 (define-public ecl-myway
4556 (sbcl-package->ecl-package sbcl-myway))
4557
4558 (define-public sbcl-xsubseq
4559 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4560 (revision "1"))
4561 (package
4562 (name "sbcl-xsubseq")
4563 (version (git-version "0.0.1" revision commit))
4564 (source
4565 (origin
4566 (method git-fetch)
4567 (uri (git-reference
4568 (url "https://github.com/fukamachi/xsubseq")
4569 (commit commit)))
4570 (file-name (git-file-name name version))
4571 (sha256
4572 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4573 (build-system asdf-build-system/sbcl)
4574 (arguments
4575 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4576 ;; required by #<SYSTEM "xsubseq">. Why?
4577 '(#:tests? #f))
4578 (native-inputs
4579 `(("sbcl-prove" ,sbcl-prove)))
4580 (home-page "https://github.com/fukamachi/xsubseq")
4581 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4582 (description
4583 "XSubseq provides functions to be able to handle \"subseq\"s more
4584 effieiently.")
4585 (license license:bsd-2))))
4586
4587 (define-public cl-xsubseq
4588 (sbcl-package->cl-source-package sbcl-xsubseq))
4589
4590 (define-public ecl-xsubseq
4591 (sbcl-package->ecl-package sbcl-xsubseq))
4592
4593 (define-public sbcl-smart-buffer
4594 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4595 (revision "1"))
4596 (package
4597 (name "sbcl-smart-buffer")
4598 (version (git-version "0.0.1" revision commit))
4599 (source
4600 (origin
4601 (method git-fetch)
4602 (uri (git-reference
4603 (url "https://github.com/fukamachi/smart-buffer")
4604 (commit commit)))
4605 (file-name (git-file-name name version))
4606 (sha256
4607 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4608 (build-system asdf-build-system/sbcl)
4609 (arguments
4610 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4611 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4612 `(#:tests? #f))
4613 (native-inputs
4614 `(("sbcl-prove" ,sbcl-prove)))
4615 (inputs
4616 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4617 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4618 (home-page "https://github.com/fukamachi/smart-buffer")
4619 (synopsis "Smart octets buffer")
4620 (description
4621 "Smart-buffer provides an output buffer which changes the destination
4622 depending on content size.")
4623 (license license:bsd-3))))
4624
4625 (define-public cl-smart-buffer
4626 (sbcl-package->cl-source-package sbcl-smart-buffer))
4627
4628 (define-public ecl-smart-buffer
4629 (sbcl-package->ecl-package sbcl-smart-buffer))
4630
4631 (define-public sbcl-fast-http
4632 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4633 (revision "2"))
4634 (package
4635 (name "sbcl-fast-http")
4636 (version (git-version "0.2.0" revision commit))
4637 (source
4638 (origin
4639 (method git-fetch)
4640 (uri (git-reference
4641 (url "https://github.com/fukamachi/fast-http")
4642 (commit commit)))
4643 (file-name (git-file-name name version))
4644 (sha256
4645 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4646 (build-system asdf-build-system/sbcl)
4647 (arguments
4648 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4649 ;; required by #<SYSTEM "fast-http">. Why?
4650 `(#:tests? #f))
4651 (native-inputs
4652 `(("sbcl-prove" ,sbcl-prove)
4653 ("cl-syntax" ,sbcl-cl-syntax)))
4654 (inputs
4655 `(("sbcl-alexandria" ,sbcl-alexandria)
4656 ("sbcl-proc-parse" ,sbcl-proc-parse)
4657 ("sbcl-xsubseq" ,sbcl-xsubseq)
4658 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4659 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4660 (home-page "https://github.com/fukamachi/fast-http")
4661 (synopsis "HTTP request/response parser for Common Lisp")
4662 (description
4663 "@code{fast-http} is a HTTP request/response protocol parser for Common
4664 Lisp.")
4665 ;; Author specified the MIT license
4666 (license license:expat))))
4667
4668 (define-public cl-fast-http
4669 (sbcl-package->cl-source-package sbcl-fast-http))
4670
4671 (define-public ecl-fast-http
4672 (sbcl-package->ecl-package sbcl-fast-http))
4673
4674 (define-public sbcl-static-vectors
4675 (package
4676 (name "sbcl-static-vectors")
4677 (version "1.8.9")
4678 (source
4679 (origin
4680 (method git-fetch)
4681 (uri (git-reference
4682 (url "https://github.com/sionescu/static-vectors")
4683 (commit (string-append "v" version))))
4684 (file-name (git-file-name name version))
4685 (sha256
4686 (base32 "079qa20lhanzsz1qf4iags91n0ziylbjgbcymm5a5qj7yryas4fw"))))
4687 (native-inputs
4688 `(("sbcl-fiveam" ,sbcl-fiveam)))
4689 (inputs
4690 `(("sbcl-alexandria" ,sbcl-alexandria)
4691 ("sbcl-cffi" ,sbcl-cffi)))
4692 (build-system asdf-build-system/sbcl)
4693 (home-page "https://github.com/sionescu/static-vectors")
4694 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4695 (description
4696 "With @code{static-vectors}, you can create vectors allocated in static
4697 memory.")
4698 (license license:expat)))
4699
4700 (define-public cl-static-vectors
4701 (sbcl-package->cl-source-package sbcl-static-vectors))
4702
4703 (define-public ecl-static-vectors
4704 (sbcl-package->ecl-package sbcl-static-vectors))
4705
4706 (define-public sbcl-marshal
4707 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4708 (revision "1"))
4709 (package
4710 (name "sbcl-marshal")
4711 (version (git-version "1.3.0" revision commit))
4712 (source
4713 (origin
4714 (method git-fetch)
4715 (uri (git-reference
4716 (url "https://github.com/wlbr/cl-marshal")
4717 (commit commit)))
4718 (file-name (git-file-name name version))
4719 (sha256
4720 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4721 (build-system asdf-build-system/sbcl)
4722 (home-page "https://github.com/wlbr/cl-marshal")
4723 (synopsis "Simple (de)serialization of Lisp datastructures")
4724 (description
4725 "Simple and fast marshalling of Lisp datastructures. Convert any object
4726 into a string representation, put it on a stream an revive it from there.
4727 Only minimal changes required to make your CLOS objects serializable.")
4728 (license license:expat))))
4729
4730 (define-public cl-marshal
4731 (sbcl-package->cl-source-package sbcl-marshal))
4732
4733 (define-public ecl-marshal
4734 (sbcl-package->ecl-package sbcl-marshal))
4735
4736 (define-public sbcl-checkl
4737 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4738 (revision "1"))
4739 (package
4740 (name "sbcl-checkl")
4741 (version (git-version "0.0.0" revision commit))
4742 (source
4743 (origin
4744 (method git-fetch)
4745 (uri (git-reference
4746 (url "https://github.com/rpav/CheckL")
4747 (commit commit)))
4748 (file-name (git-file-name name version))
4749 (sha256
4750 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4751 (build-system asdf-build-system/sbcl)
4752 (arguments
4753 ;; Error while trying to load definition for system checkl-test from
4754 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4755 ;; is undefined.
4756 '(#:asd-files '("checkl.asd")
4757 #:tests? #f))
4758 (native-inputs
4759 `(("sbcl-fiveam" ,sbcl-fiveam)))
4760 (inputs
4761 `(("sbcl-marshal" ,sbcl-marshal)))
4762 (home-page "https://github.com/rpav/CheckL/")
4763 (synopsis "Dynamic testing for Common Lisp")
4764 (description
4765 "CheckL lets you write tests dynamically, it checks resulting values
4766 against the last run.")
4767 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4768 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4769 ;; stronger of the two and so I think only listing this should suffice.
4770 (license license:llgpl))))
4771
4772 (define-public cl-checkl
4773 (sbcl-package->cl-source-package sbcl-checkl))
4774
4775 (define-public ecl-checkl
4776 (sbcl-package->ecl-package sbcl-checkl))
4777
4778 (define-public sbcl-fast-io
4779 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4780 (revision "2"))
4781 (package
4782 (name "sbcl-fast-io")
4783 (version (git-version "1.0.0" revision commit))
4784 (source
4785 (origin
4786 (method git-fetch)
4787 (uri (git-reference
4788 (url "https://github.com/rpav/fast-io")
4789 (commit commit)))
4790 (file-name (git-file-name name version))
4791 (sha256
4792 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4793 (build-system asdf-build-system/sbcl)
4794 (arguments
4795 ;; Error while trying to load definition for system fast-io-test from
4796 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4797 ;; is undefined.
4798 '(#:tests? #f
4799 #:asd-files '("fast-io.asd")))
4800 (native-inputs
4801 `(("sbcl-fiveam" ,sbcl-fiveam)
4802 ("sbcl-checkl" ,sbcl-checkl)))
4803 (inputs
4804 `(("sbcl-alexandria" ,sbcl-alexandria)
4805 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4806 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4807 (home-page "https://github.com/rpav/fast-io")
4808 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4809 (description
4810 "Fast-io is about improving performance to octet-vectors and octet
4811 streams (though primarily the former, while wrapping the latter).")
4812 ;; Author specifies this as NewBSD which is an alias
4813 (license license:bsd-3))))
4814
4815 (define-public cl-fast-io
4816 (sbcl-package->cl-source-package sbcl-fast-io))
4817
4818 (define-public ecl-fast-io
4819 (sbcl-package->ecl-package sbcl-fast-io))
4820
4821 (define-public sbcl-jonathan
4822 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4823 (revision "1"))
4824 (package
4825 (name "sbcl-jonathan")
4826 (version (git-version "0.1.0" revision commit))
4827 (source
4828 (origin
4829 (method git-fetch)
4830 (uri (git-reference
4831 (url "https://github.com/Rudolph-Miller/jonathan")
4832 (commit commit)))
4833 (file-name (git-file-name name version))
4834 (sha256
4835 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4836 (build-system asdf-build-system/sbcl)
4837 (arguments
4838 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4839 ;; required by #<SYSTEM "jonathan">. Why?
4840 `(#:tests? #f))
4841 (native-inputs
4842 `(("sbcl-prove" ,sbcl-prove)))
4843 (inputs
4844 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4845 ("sbcl-fast-io" ,sbcl-fast-io)
4846 ("sbcl-proc-parse" ,sbcl-proc-parse)
4847 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4848 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4849 (synopsis "JSON encoder and decoder")
4850 (description
4851 "High performance JSON encoder and decoder. Currently support: SBCL,
4852 CCL.")
4853 ;; Author specifies the MIT license
4854 (license license:expat))))
4855
4856 (define-public cl-jonathan
4857 (sbcl-package->cl-source-package sbcl-jonathan))
4858
4859 (define-public ecl-jonathan
4860 (sbcl-package->ecl-package sbcl-jonathan))
4861
4862 (define-public sbcl-http-body
4863 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4864 (revision "1"))
4865 (package
4866 (name "sbcl-http-body")
4867 (version (git-version "0.1.0" revision commit))
4868 (source
4869 (origin
4870 (method git-fetch)
4871 (uri (git-reference
4872 (url "https://github.com/fukamachi/http-body")
4873 (commit commit)))
4874 (file-name (git-file-name name version))
4875 (sha256
4876 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4877 (build-system asdf-build-system/sbcl)
4878 (arguments
4879 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4880 ;; found, required by #<SYSTEM "http-body">. Why?
4881 `(#:tests? #f))
4882 (native-inputs
4883 `(("sbcl-prove" ,sbcl-prove)))
4884 (inputs
4885 `(("sbcl-fast-http" ,sbcl-fast-http)
4886 ("sbcl-jonathan" ,sbcl-jonathan)
4887 ("sbcl-quri" ,sbcl-quri)))
4888 (home-page "https://github.com/fukamachi/http-body")
4889 (synopsis "HTTP POST data parser")
4890 (description
4891 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4892 supports application/x-www-form-urlencoded, application/json, and
4893 multipart/form-data.")
4894 (license license:bsd-2))))
4895
4896 (define-public cl-http-body
4897 (sbcl-package->cl-source-package sbcl-http-body))
4898
4899 (define-public ecl-http-body
4900 (sbcl-package->ecl-package sbcl-http-body))
4901
4902 (define-public sbcl-circular-streams
4903 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4904 (revision "1"))
4905 (package
4906 (name "sbcl-circular-streams")
4907 (version (git-version "0.1.0" revision commit))
4908 (source
4909 (origin
4910 (method git-fetch)
4911 (uri (git-reference
4912 (url "https://github.com/fukamachi/circular-streams")
4913 (commit commit)))
4914 (file-name (git-file-name name version))
4915 (sha256
4916 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4917 (build-system asdf-build-system/sbcl)
4918 (arguments
4919 ;; The tests depend on cl-test-more which is now prove. Prove
4920 ;; tests aren't working for some reason.
4921 `(#:tests? #f))
4922 (inputs
4923 `(("sbcl-fast-io" ,sbcl-fast-io)
4924 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4925 (home-page "https://github.com/fukamachi/circular-streams")
4926 (synopsis "Circularly readable streams for Common Lisp")
4927 (description
4928 "Circular-Streams allows you to read streams circularly by wrapping real
4929 streams. Once you reach end-of-file of a stream, it's file position will be
4930 reset to 0 and you're able to read it again.")
4931 (license license:llgpl))))
4932
4933 (define-public cl-circular-streams
4934 (sbcl-package->cl-source-package sbcl-circular-streams))
4935
4936 (define-public ecl-circular-streams
4937 (sbcl-package->ecl-package sbcl-circular-streams))
4938
4939 (define-public sbcl-lack
4940 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4941 (revision "1"))
4942 (package
4943 (name "sbcl-lack")
4944 (version (git-version "0.1.0" revision commit))
4945 (source
4946 (origin
4947 (method git-fetch)
4948 (uri (git-reference
4949 (url "https://github.com/fukamachi/lack")
4950 (commit commit)))
4951 (file-name (git-file-name "lack" version))
4952 (sha256
4953 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4954 (build-system asdf-build-system/sbcl)
4955 (native-inputs
4956 `(("prove" ,sbcl-prove)))
4957 (inputs
4958 `(("circular-streams" ,sbcl-circular-streams)
4959 ("http-body" ,sbcl-http-body)
4960 ("ironclad" ,sbcl-ironclad)
4961 ("local-time" ,sbcl-local-time)
4962 ("quri" ,sbcl-quri)
4963 ("trivial-mimes" ,sbcl-trivial-mimes)))
4964 (arguments
4965 '(#:asd-systems '("lack"
4966 "lack-request"
4967 "lack-response"
4968 "lack-component"
4969 "lack-util"
4970 "lack-middleware-backtrace"
4971 "lack-middleware-static")
4972 #:test-asd-file "t-lack.asd"
4973 ;; XXX: Component :CLACK not found
4974 #:tests? #f))
4975 (home-page "https://github.com/fukamachi/lack")
4976 (synopsis "Lack, the core of Clack")
4977 (description
4978 "Lack is a Common Lisp library which allows web applications to be
4979 constructed of modular components. It was originally a part of Clack, however
4980 it's going to be rewritten as an individual project since Clack v2 with
4981 performance and simplicity in mind.")
4982 (license license:llgpl))))
4983
4984 (define-public cl-lack
4985 (sbcl-package->cl-source-package sbcl-lack))
4986
4987 (define-public ecl-lack
4988 (sbcl-package->ecl-package sbcl-lack))
4989
4990 (define-public sbcl-local-time
4991 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4992 (revision "2"))
4993 (package
4994 (name "sbcl-local-time")
4995 (version (git-version "1.0.6" revision commit))
4996 (source
4997 (origin
4998 (method git-fetch)
4999 (uri (git-reference
5000 (url "https://github.com/dlowe-net/local-time")
5001 (commit commit)))
5002 (file-name (git-file-name name version))
5003 (sha256
5004 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
5005 (build-system asdf-build-system/sbcl)
5006 (native-inputs
5007 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5008 (home-page "https://common-lisp.net/project/local-time/")
5009 (synopsis "Time manipulation library for Common Lisp")
5010 (description
5011 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
5012 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
5013 Long Painful History of Time\".")
5014 (license license:expat))))
5015
5016 (define-public cl-local-time
5017 (sbcl-package->cl-source-package sbcl-local-time))
5018
5019 (define-public ecl-local-time
5020 (sbcl-package->ecl-package sbcl-local-time))
5021
5022 (define-public sbcl-chronicity
5023 (package
5024 (name "sbcl-chronicity")
5025 (version "0.4.1")
5026 (source
5027 (origin
5028 (method git-fetch)
5029 (uri (git-reference
5030 (url "https://github.com/chaitanyagupta/chronicity")
5031 (commit (string-append "v" version))))
5032 (file-name (git-file-name "chronicity" version))
5033 (sha256
5034 (base32 "0rzrl9is2v1aqbm0sym0qx3blnpd0bl13dkkmll6mb3983k2mkax"))))
5035 (build-system asdf-build-system/sbcl)
5036 (native-inputs
5037 `(("lisp-unit" ,sbcl-lisp-unit)))
5038 (inputs
5039 `(("cl-interpol" ,sbcl-cl-interpol)
5040 ("cl-ppcre" ,sbcl-cl-ppcre)
5041 ("local-time" ,sbcl-local-time)))
5042 (home-page "https://github.com/chaitanyagupta/chronicity")
5043 (synopsis "Natural language date and time parser for Common Lisp")
5044 (description
5045 "CHRONICITY is Common Lisp natural language date and time parser inspired
5046 by Ruby's @code{Chronic}.")
5047 (license license:bsd-3)))
5048
5049 (define-public ecl-chronicity
5050 (sbcl-package->ecl-package sbcl-chronicity))
5051
5052 (define-public cl-chronicity
5053 (sbcl-package->cl-source-package sbcl-chronicity))
5054
5055 (define-public sbcl-trivial-mimes
5056 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
5057 (revision "2"))
5058 (package
5059 (name "sbcl-trivial-mimes")
5060 (version (git-version "1.1.0" revision commit))
5061 (source
5062 (origin
5063 (method git-fetch)
5064 (uri (git-reference
5065 (url "https://github.com/Shinmera/trivial-mimes")
5066 (commit commit)))
5067 (file-name (git-file-name name version))
5068 (sha256
5069 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
5070 (build-system asdf-build-system/sbcl)
5071 (native-inputs
5072 `(("stefil" ,sbcl-hu.dwim.stefil)))
5073 (inputs
5074 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
5075 (home-page "https://shinmera.github.io/trivial-mimes/")
5076 (synopsis "Tiny Common Lisp library to detect mime types in files")
5077 (description
5078 "This is a teensy library that provides some functions to determine the
5079 mime-type of a file.")
5080 (license license:zlib))))
5081
5082 (define-public cl-trivial-mimes
5083 (sbcl-package->cl-source-package sbcl-trivial-mimes))
5084
5085 (define-public ecl-trivial-mimes
5086 (sbcl-package->ecl-package sbcl-trivial-mimes))
5087
5088 (define-public sbcl-ningle
5089 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
5090 (revision "1"))
5091 (package
5092 (name "sbcl-ningle")
5093 (version (git-version "0.3.0" revision commit))
5094 (source
5095 (origin
5096 (method git-fetch)
5097 (uri (git-reference
5098 (url "https://github.com/fukamachi/ningle")
5099 (commit commit)))
5100 (file-name (git-file-name name version))
5101 (sha256
5102 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
5103 (build-system asdf-build-system/sbcl)
5104 (arguments
5105 ;; TODO: pull in clack-test
5106 '(#:tests? #f
5107 #:phases
5108 (modify-phases %standard-phases
5109 (delete 'cleanup-files)
5110 (delete 'cleanup)
5111 (add-before 'cleanup 'combine-fasls
5112 (lambda* (#:key outputs #:allow-other-keys)
5113 (let* ((out (assoc-ref outputs "out"))
5114 (lib (string-append out "/lib/sbcl"))
5115 (ningle-path (string-append lib "/ningle"))
5116 (fasl-files (find-files out "\\.fasl$")))
5117 (mkdir-p ningle-path)
5118 (let ((fasl-path (lambda (name)
5119 (string-append ningle-path
5120 "/"
5121 (basename name)
5122 "--system.fasl"))))
5123 (for-each (lambda (file)
5124 (rename-file file
5125 (fasl-path
5126 (basename file ".fasl"))))
5127 fasl-files))
5128 fasl-files)
5129 #t)))))
5130 (native-inputs
5131 `(("sbcl-prove" ,sbcl-prove)))
5132 (inputs
5133 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
5134 ("sbcl-myway" ,sbcl-myway)
5135 ("sbcl-lack" ,sbcl-lack)
5136 ("sbcl-alexandria" ,sbcl-alexandria)
5137 ("sbcl-babel" ,sbcl-babel)))
5138 (home-page "https://8arrow.org/ningle/")
5139 (synopsis "Super micro framework for Common Lisp")
5140 (description
5141 "Ningle is a lightweight web application framework for Common Lisp.")
5142 (license license:llgpl))))
5143
5144 (define-public cl-ningle
5145 (sbcl-package->cl-source-package sbcl-ningle))
5146
5147 (define-public ecl-ningle
5148 (sbcl-package->ecl-package sbcl-ningle))
5149
5150 (define-public sbcl-cl-fastcgi
5151 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
5152 (revision "2"))
5153 (package
5154 (name "sbcl-cl-fastcgi")
5155 (version (git-version "0.2" revision commit))
5156 (source
5157 (origin
5158 (method git-fetch)
5159 (uri (git-reference
5160 (url "https://github.com/KDr2/cl-fastcgi/")
5161 (commit commit)))
5162 (file-name (git-file-name name version))
5163 (sha256
5164 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
5165 (build-system asdf-build-system/sbcl)
5166 (inputs
5167 `(("usocket" ,sbcl-usocket)
5168 ("cffi" ,sbcl-cffi)
5169 ("fcgi" ,fcgi)))
5170 (arguments
5171 `(#:phases
5172 (modify-phases %standard-phases
5173 (add-after 'unpack 'fix-paths
5174 (lambda* (#:key inputs #:allow-other-keys)
5175 (substitute* "cl-fastcgi.lisp"
5176 (("\"libfcgi.so\"")
5177 (string-append
5178 "\""
5179 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
5180 (home-page "https://kdr2.com/project/cl-fastcgi.html")
5181 (synopsis "FastCGI wrapper for Common Lisp")
5182 (description
5183 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
5184 mostly Common Lisp implementation.")
5185 (license license:bsd-2))))
5186
5187 (define-public cl-fastcgi
5188 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
5189
5190 (define-public ecl-cl-fastcgi
5191 (sbcl-package->ecl-package sbcl-cl-fastcgi))
5192
5193 (define-public sbcl-clack
5194 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
5195 (revision "1"))
5196 (package
5197 (name "sbcl-clack")
5198 (version (git-version "2.0.0" revision commit))
5199 (source
5200 (origin
5201 (method git-fetch)
5202 (uri (git-reference
5203 (url "https://github.com/fukamachi/clack")
5204 (commit commit)))
5205 (file-name (git-file-name name version))
5206 (sha256
5207 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
5208 (build-system asdf-build-system/sbcl)
5209 (inputs
5210 `(("alexandria" ,sbcl-alexandria)
5211 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5212 ("cl-fastcgi" ,sbcl-cl-fastcgi)
5213 ("flexi-streams" ,sbcl-flexi-streams)
5214 ("hunchentoot" ,sbcl-hunchentoot)
5215 ("lack" ,sbcl-lack)
5216 ("split-sequence" ,sbcl-split-sequence)
5217 ("usocket" ,sbcl-usocket)
5218 ("quri" ,sbcl-quri)))
5219 (arguments
5220 '(#:asd-systems '("clack"
5221 "clack-handler-fcgi"
5222 "clack-socket"
5223 "clack-handler-hunchentoot")))
5224 (home-page "https://github.com/fukamachi/clack")
5225 (synopsis "Web Application Environment for Common Lisp")
5226 (description
5227 "Clack is a web application environment for Common Lisp inspired by
5228 Python's WSGI and Ruby's Rack.")
5229 (license license:llgpl))))
5230
5231 (define-public cl-clack
5232 (sbcl-package->cl-source-package sbcl-clack))
5233
5234 (define-public ecl-clack
5235 (sbcl-package->ecl-package sbcl-clack))
5236
5237 (define-public sbcl-cl-log
5238 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
5239 (revision "1"))
5240 (package
5241 (name "sbcl-cl-log")
5242 (version "1.0.1")
5243 (source
5244 (origin
5245 (method git-fetch)
5246 (uri (git-reference
5247 (url "https://github.com/nicklevine/cl-log")
5248 (commit commit)))
5249 (sha256
5250 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5251 (file-name (git-file-name "cl-log" version))))
5252 (build-system asdf-build-system/sbcl)
5253 (synopsis "Common Lisp general purpose logging utility")
5254 (description "CL-LOG is a general purpose logging utility, loosely modelled
5255 in some respects after Gary King's Log5. Its features include: logging to
5256 several destinations at once, via \"messengers\", each messenger is tailored to
5257 accept some log messages and reject others, and this tailoring can be changed
5258 on-the-fly, very rapid processing of messages which are rejected by all
5259 messengers, fully independent use of the utility by several different
5260 sub-systems in an application, support for messengers which cl:format text to a
5261 stream, support for messengers which do not invoke cl:format, timestamps in
5262 theory accurate to internal-time-units-per-second.")
5263 (home-page "https://github.com/nicklevine/cl-log")
5264 (license license:expat))))
5265
5266 (define-public cl-log
5267 (sbcl-package->cl-source-package sbcl-cl-log))
5268
5269 (define-public ecl-cl-log
5270 (sbcl-package->ecl-package sbcl-cl-log))
5271
5272 (define-public sbcl-log4cl
5273 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
5274 (revision "1"))
5275 (package
5276 (name "sbcl-log4cl")
5277 (version (git-version "1.1.3" revision commit))
5278 (source
5279 (origin
5280 (method git-fetch)
5281 (uri (git-reference
5282 (url "https://github.com/sharplispers/log4cl")
5283 (commit commit)))
5284 (file-name (git-file-name "log4cl" version))
5285 (sha256
5286 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5287 (build-system asdf-build-system/sbcl)
5288 (native-inputs
5289 `(("stefil" ,sbcl-stefil)))
5290 (inputs
5291 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5292 (home-page "https://github.com/7max/log4cl")
5293 (synopsis "Common Lisp logging framework, modeled after Log4J")
5294 (description
5295 "This is a Common Lisp logging framework that can log at various levels
5296 and mix text with expressions.")
5297 (license license:asl2.0))))
5298
5299 (define-public cl-log4cl
5300 (sbcl-package->cl-source-package sbcl-log4cl))
5301
5302 (define-public ecl-log4cl
5303 (sbcl-package->ecl-package sbcl-log4cl))
5304
5305 (define-public sbcl-printv
5306 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5307 (revision "1"))
5308 (package
5309 (name "sbcl-printv")
5310 (version (git-version "0.1.0" revision commit))
5311 (source
5312 (origin
5313 (method git-fetch)
5314 (uri (git-reference
5315 (url "https://github.com/danlentz/printv")
5316 (commit commit)))
5317 (file-name (git-file-name "printv" version))
5318 (sha256
5319 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5320 (build-system asdf-build-system/sbcl)
5321 (home-page "https://github.com/danlentz/printv")
5322 (synopsis "Common Lisp tracing and debug-logging macro")
5323 (description
5324 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5325 macro for Common Lisp.")
5326 (license license:asl2.0))))
5327
5328 (define-public ecl-printv
5329 (sbcl-package->ecl-package sbcl-printv))
5330
5331 (define-public cl-printv
5332 (sbcl-package->cl-source-package sbcl-printv))
5333
5334 (define-public sbcl-cl-debug
5335 (let ((commit "b334280806104ee7f7d3aec666bf7e08d2f89b31")
5336 (revision "1"))
5337 (package
5338 (name "sbcl-cl-debug")
5339 (version (git-version "1.0.0" revision commit))
5340 (source
5341 (origin
5342 (method git-fetch)
5343 (uri (git-reference
5344 (url "https://github.com/kmx-io/cl-debug")
5345 (commit commit)))
5346 (file-name (git-file-name "cl-debug" version))
5347 (sha256
5348 (base32 "0w5vxbjsgr3zfpivdmghmhzxskfdvm1p34c8whwps2xlhypxsa78"))))
5349 (build-system asdf-build-system/sbcl)
5350 (home-page "https://github.com/kmx-io/cl-debug")
5351 (synopsis "Common Lisp cross-package debugging facility")
5352 (description
5353 "CL-DEBUG provides a unified way to enable or disable debug-specific code.
5354 Debugging code can be enabled or disabled relative to program features denoted
5355 by either a symbol or a keyword.")
5356 (license license:isc))))
5357
5358 (define-public ecl-cl-debug
5359 (sbcl-package->ecl-package sbcl-cl-debug))
5360
5361 (define-public cl-debug
5362 (sbcl-package->cl-source-package sbcl-cl-debug))
5363
5364 (define-public sbcl-verbose
5365 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5366 (revision "1"))
5367 (package
5368 (name "sbcl-verbose")
5369 (version (git-version "2.0.0" revision commit))
5370 (source
5371 (origin
5372 (method git-fetch)
5373 (uri (git-reference
5374 (url "https://github.com/Shinmera/verbose/")
5375 (commit commit)))
5376 (file-name (git-file-name "verbose" version))
5377 (sha256
5378 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5379 (build-system asdf-build-system/sbcl)
5380 (inputs
5381 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5382 ("dissect" ,sbcl-dissect)
5383 ("documentation-utils" ,sbcl-documentation-utils)
5384 ("local-time" ,sbcl-local-time)
5385 ("piping" ,sbcl-piping)))
5386 (home-page "https://shinmera.github.io/verbose/")
5387 (synopsis "Logging framework using the piping library")
5388 (description
5389 "This is a Common Lisp library providing logging faciltiy similar to
5390 @code{CL-LOG} and @code{LOG4CL}.")
5391 (license license:zlib))))
5392
5393 (define-public ecl-verbose
5394 (sbcl-package->ecl-package sbcl-verbose))
5395
5396 (define-public cl-verbose
5397 (sbcl-package->cl-source-package sbcl-verbose))
5398
5399 (define-public sbcl-find-port
5400 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5401 (revision "1"))
5402 (package
5403 (name "sbcl-find-port")
5404 (build-system asdf-build-system/sbcl)
5405 (version "0.1")
5406 (home-page "https://github.com/eudoxia0/find-port")
5407 (source
5408 (origin
5409 (method git-fetch)
5410 (uri (git-reference
5411 (url home-page)
5412 (commit commit)))
5413 (file-name (git-file-name name version))
5414 (sha256
5415 (base32
5416 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5417 (native-inputs
5418 `(("fiveam" ,sbcl-fiveam)))
5419 (inputs
5420 `(("sbcl-usocket" ,sbcl-usocket)))
5421 (synopsis "Find open ports programmatically in Common Lisp")
5422 (description "This is a small Common Lisp library that finds an open
5423 port within a range.")
5424 (license license:expat))))
5425
5426 (define-public cl-find-port
5427 (sbcl-package->cl-source-package sbcl-find-port))
5428
5429 (define-public ecl-find-port
5430 (sbcl-package->ecl-package sbcl-find-port))
5431
5432 (define-public sbcl-clunit
5433 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5434 (revision "1"))
5435 (package
5436 (name "sbcl-clunit")
5437 (version (git-version "0.2.3" revision commit))
5438 (source
5439 (origin
5440 (method git-fetch)
5441 (uri (git-reference
5442 (url "https://github.com/tgutu/clunit")
5443 (commit commit)))
5444 (file-name (git-file-name name version))
5445 (sha256
5446 (base32
5447 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5448 (build-system asdf-build-system/sbcl)
5449 (synopsis "CLUnit is a Common Lisp unit testing framework")
5450 (description
5451 "CLUnit is a Common Lisp unit testing framework. It is designed
5452 to be easy to use so that you can quickly start testing. CLUnit
5453 provides a rich set of features aimed at improving your unit testing
5454 experience.")
5455 (home-page "https://tgutu.github.io/clunit/")
5456 ;; MIT License
5457 (license license:expat))))
5458
5459 (define-public cl-clunit
5460 (sbcl-package->cl-source-package sbcl-clunit))
5461
5462 (define-public ecl-clunit
5463 (sbcl-package->ecl-package sbcl-clunit))
5464
5465 (define-public sbcl-py4cl
5466 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5467 (revision "1"))
5468 (package
5469 (name "sbcl-py4cl")
5470 (version (git-version "0.0.0" revision commit))
5471 (source
5472 (origin
5473 (method git-fetch)
5474 (uri (git-reference
5475 (url "https://github.com/bendudson/py4cl")
5476 (commit commit)))
5477 (file-name (git-file-name name version))
5478 (sha256
5479 (base32
5480 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5481 (modules '((guix build utils)))))
5482 (build-system asdf-build-system/sbcl)
5483 (native-inputs
5484 `(("sbcl-clunit" ,sbcl-clunit)))
5485 (inputs
5486 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5487 (propagated-inputs
5488 ;; This package doesn't do anything without python available
5489 `(("python" ,python)
5490 ;; For multi-dimensional array support
5491 ("python-numpy" ,python-numpy)))
5492 (arguments
5493 '(#:phases
5494 (modify-phases %standard-phases
5495 (add-after 'unpack 'replace-*base-directory*-var
5496 (lambda* (#:key outputs #:allow-other-keys)
5497 ;; In the ASD, the author makes an attempt to
5498 ;; programatically determine the location of the
5499 ;; source-code so lisp can call into "py4cl.py". We can
5500 ;; hard-code this since we know where this file will
5501 ;; reside.
5502 (substitute* "src/callpython.lisp"
5503 (("py4cl/config:\\*base-directory\\*")
5504 (string-append
5505 "\""
5506 (assoc-ref outputs "out")
5507 "/share/common-lisp/sbcl-source/py4cl/"
5508 "\""))))))))
5509 (synopsis "Call python from Common Lisp")
5510 (description
5511 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5512 Lisp to interact with Python code. It uses streams to communicate with a
5513 separate python process, the approach taken by cl4py. This is different to
5514 the CFFI approach used by burgled-batteries, but has the same goal.")
5515 (home-page "https://github.com/bendudson/py4cl")
5516 ;; MIT License
5517 (license license:expat))))
5518
5519 (define-public cl-py4cl
5520 (sbcl-package->cl-source-package sbcl-py4cl))
5521
5522 (define-public ecl-py4cl
5523 (sbcl-package->ecl-package sbcl-py4cl))
5524
5525 (define-public sbcl-parse-declarations
5526 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5527 (revision "1"))
5528 (package
5529 (name "sbcl-parse-declarations")
5530 (version (git-version "1.0.0" revision commit))
5531 (source
5532 (origin
5533 (method git-fetch)
5534 (uri (git-reference
5535 (url (string-append
5536 "https://gitlab.common-lisp.net/parse-declarations/"
5537 "parse-declarations.git"))
5538 (commit commit)))
5539 (file-name (git-file-name name version))
5540 (sha256
5541 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5542 (build-system asdf-build-system/sbcl)
5543 (arguments
5544 `(#:asd-systems '("parse-declarations-1.0")))
5545 (home-page "https://common-lisp.net/project/parse-declarations/")
5546 (synopsis "Parse, filter, and build declarations")
5547 (description
5548 "Parse-Declarations is a Common Lisp library to help writing
5549 macros which establish bindings. To be semantically correct, such
5550 macros must take user declarations into account, as these may affect
5551 the bindings they establish. Yet the ANSI standard of Common Lisp does
5552 not provide any operators to work with declarations in a convenient,
5553 high-level way. This library provides such operators.")
5554 ;; MIT License
5555 (license license:expat))))
5556
5557 (define-public cl-parse-declarations
5558 (sbcl-package->cl-source-package sbcl-parse-declarations))
5559
5560 (define-public ecl-parse-declarations
5561 (sbcl-package->ecl-package sbcl-parse-declarations))
5562
5563 (define-public sbcl-cl-quickcheck
5564 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5565 (revision "1"))
5566 (package
5567 (name "sbcl-cl-quickcheck")
5568 (version (git-version "0.0.4" revision commit))
5569 (source
5570 (origin
5571 (method git-fetch)
5572 (uri (git-reference
5573 (url "https://github.com/mcandre/cl-quickcheck")
5574 (commit commit)))
5575 (file-name (git-file-name name version))
5576 (sha256
5577 (base32
5578 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5579 (build-system asdf-build-system/sbcl)
5580 (synopsis
5581 "Common Lisp port of the QuickCheck unit test framework")
5582 (description
5583 "Common Lisp port of the QuickCheck unit test framework")
5584 (home-page "https://github.com/mcandre/cl-quickcheck")
5585 ;; MIT
5586 (license license:expat))))
5587
5588 (define-public cl-quickcheck
5589 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5590
5591 (define-public ecl-cl-quickcheck
5592 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5593
5594 (define-public sbcl-burgled-batteries3
5595 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5596 (revision "2"))
5597 (package
5598 (name "sbcl-burgled-batteries3")
5599 (version (git-version "0.0.0" revision commit))
5600 (source
5601 (origin
5602 (method git-fetch)
5603 (uri (git-reference
5604 (url "https://github.com/snmsts/burgled-batteries3")
5605 (commit commit)))
5606 (file-name (git-file-name name version))
5607 (sha256
5608 (base32
5609 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5610 (build-system asdf-build-system/sbcl)
5611 (arguments
5612 `(#:tests? #f
5613 #:modules (((guix build python-build-system) #:select (python-version))
5614 ,@%asdf-build-system-modules)
5615 #:imported-modules ((guix build python-build-system)
5616 ,@%asdf-build-system-modules)
5617 #:phases
5618 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5619 (add-after 'unpack 'set-*cpython-include-dir*-var
5620 (lambda* (#:key inputs #:allow-other-keys)
5621 (let ((python (assoc-ref inputs "python")))
5622 (setenv "BB_PYTHON3_INCLUDE_DIR"
5623 (string-append python "/include/python"
5624 (python-version python)))
5625 (setenv "BB_PYTHON3_DYLIB"
5626 (string-append python "/lib/libpython3.so"))
5627 #t)))
5628 (add-after 'unpack 'adjust-for-python-3.8
5629 (lambda _
5630 ;; This method is no longer part of the public API.
5631 (substitute* "ffi-interface.lisp"
5632 ((".*PyEval_ReInitThreads.*")
5633 ""))
5634 #t)))))
5635 (native-inputs
5636 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5637 ("sbcl-lift" ,sbcl-lift)
5638 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5639 (inputs
5640 `(("python" ,python)
5641 ("sbcl-cffi" ,sbcl-cffi)
5642 ("sbcl-alexandria" , sbcl-alexandria)
5643 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5644 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5645 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5646 (description
5647 "This package provides a shim between Python3 (specifically, the
5648 CPython implementation of Python) and Common Lisp.")
5649 (home-page "https://github.com/snmsts/burgled-batteries3")
5650 (license license:expat))))
5651
5652 (define-public cl-burgled-batteries3
5653 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5654
5655 (define-public ecl-burgled-batteries3
5656 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5657
5658 (define-public sbcl-metabang-bind
5659 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5660 (revision "1"))
5661 (package
5662 (name "sbcl-metabang-bind")
5663 (version (git-version "0.8.0" revision commit))
5664 (source
5665 (origin
5666 (method git-fetch)
5667 (uri (git-reference
5668 (url "https://github.com/gwkkwg/metabang-bind")
5669 (commit commit)))
5670 (file-name (git-file-name name version))
5671 (sha256
5672 (base32
5673 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5674 (build-system asdf-build-system/sbcl)
5675 (native-inputs
5676 `(("sbcl-lift" ,sbcl-lift)))
5677 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5678 (description
5679 "Bind extends the idea of of let and destructing to provide a uniform
5680 syntax for all your accessor needs. It combines @code{let},
5681 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5682 editing, property or association-lists, and @code{multiple-value-bind} and a
5683 whole lot more into a single form.")
5684 (home-page "https://common-lisp.net/project/metabang-bind/")
5685 ;; MIT License
5686 (license license:expat))))
5687
5688 (define-public cl-metabang-bind
5689 (sbcl-package->cl-source-package sbcl-metabang-bind))
5690
5691 (define-public ecl-metabang-bind
5692 (sbcl-package->ecl-package sbcl-metabang-bind))
5693
5694 (define-public sbcl-fare-utils
5695 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5696 (revision "1"))
5697 (package
5698 (name "sbcl-fare-utils")
5699 (version (git-version "1.0.0.5" revision commit))
5700 (source
5701 (origin
5702 (method git-fetch)
5703 (uri
5704 (git-reference
5705 (url
5706 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5707 (commit commit)))
5708 (file-name (git-file-name name version))
5709 (sha256
5710 (base32
5711 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5712 (build-system asdf-build-system/sbcl)
5713 (arguments
5714 `(#:test-asd-file "test/fare-utils-test.asd"))
5715 (native-inputs
5716 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5717 (synopsis "Collection of utilities and data structures")
5718 (description
5719 "fare-utils is a small collection of utilities. It contains a lot of
5720 basic everyday functions and macros.")
5721 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5722 ;; MIT License
5723 (license license:expat))))
5724
5725 (define-public cl-fare-utils
5726 (sbcl-package->cl-source-package sbcl-fare-utils))
5727
5728 (define-public ecl-fare-utils
5729 (sbcl-package->ecl-package sbcl-fare-utils))
5730
5731 (define-public sbcl-fare-mop
5732 (let ((commit "538aa94590a0354f382eddd9238934763434af30")
5733 (revision "1"))
5734 (package
5735 (name "sbcl-fare-mop")
5736 (version (git-version "1.0.1" revision commit))
5737 (source
5738 (origin
5739 (method git-fetch)
5740 (uri (git-reference
5741 (url "https://github.com/fare/fare-mop")
5742 (commit commit)))
5743 (file-name (git-file-name "fare-mop" version))
5744 (sha256
5745 (base32
5746 "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"))))
5747 (build-system asdf-build-system/sbcl)
5748 (inputs
5749 `(("close-mop" ,sbcl-closer-mop)
5750 ("fare-utils" ,sbcl-fare-utils)))
5751 (home-page "https://github.com/fare/fare-mop")
5752 (synopsis "General purpose Common Lisp utilities using the MOP")
5753 (description
5754 "FARE-MOP is a small collection of utilities using the MetaObject
5755 Protocol. It notably contains a SIMPLE-PRINT-OBJECT method, and
5756 a SIMPLE-PRINT-OBJECT-MIXIN mixin that allow you to trivially define
5757 PRINT-OBJECT methods that print the interesting slots in your objects, which is
5758 great for REPL interaction and debugging.")
5759 (license license:unlicense))))
5760
5761 (define-public ecl-fare-mop
5762 (sbcl-package->ecl-package sbcl-fare-mop))
5763
5764 (define-public cl-fare-mop
5765 (sbcl-package->cl-source-package sbcl-fare-mop))
5766
5767 (define-public sbcl-inferior-shell
5768 (let ((commit "15c2d04a7398db965ea1c3ba2d49efa7c851f2c2")
5769 (revision "1"))
5770 (package
5771 (name "sbcl-inferior-shell")
5772 (version (git-version "2.0.5" revision commit))
5773 (source
5774 (origin
5775 (method git-fetch)
5776 (uri (git-reference
5777 (url "https://github.com/fare/inferior-shell")
5778 (commit commit)))
5779 (file-name (git-file-name "inferior-shell" version))
5780 (sha256
5781 (base32 "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m"))))
5782 (build-system asdf-build-system/sbcl)
5783 (native-inputs
5784 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5785 (inputs
5786 `(("alexandira" ,sbcl-alexandria)
5787 ("fare-mop" ,sbcl-fare-mop)
5788 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5789 ("fare-utils" ,sbcl-fare-utils)
5790 ("trivia" ,sbcl-trivia)))
5791 (home-page "https://github.com/fare/inferior-shell")
5792 (synopsis "Spawn local or remote processes and shell pipes")
5793 (description
5794 "This package provides a Common Lisp system helping in scripting, it
5795 uses @code{uiop:run-program} as a backend.")
5796 (license license:expat))))
5797
5798 (define-public ecl-inferior-shell
5799 (sbcl-package->ecl-package sbcl-inferior-shell))
5800
5801 (define-public cl-inferior-shell
5802 (sbcl-package->cl-source-package sbcl-inferior-shell))
5803
5804 (define-public sbcl-trivial-utf-8
5805 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5806 (revision "1"))
5807 (package
5808 (name "sbcl-trivial-utf-8")
5809 (version (git-version "0.0.0" revision commit))
5810 (source
5811 (origin
5812 (method git-fetch)
5813 (uri
5814 (git-reference
5815 (url (string-append "https://gitlab.common-lisp.net/"
5816 "trivial-utf-8/trivial-utf-8.git"))
5817 (commit commit)))
5818 (file-name (git-file-name name version))
5819 (sha256
5820 (base32
5821 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5822 (arguments
5823 ;; Guix incorrectly assumes the "8" is part of the version
5824 ;; number and lobs it off.
5825 `(#:asd-systems '("trivial-utf-8")))
5826 (build-system asdf-build-system/sbcl)
5827 (synopsis "UTF-8 input/output library")
5828 (description
5829 "The Babel library solves a similar problem while understanding more
5830 encodings. Trivial UTF-8 was written before Babel existed, but for new
5831 projects you might be better off going with Babel. The one plus that Trivial
5832 UTF-8 has is that it doesn't depend on any other libraries.")
5833 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5834 (license license:bsd-3))))
5835
5836 (define-public cl-trivial-utf-8
5837 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5838
5839 (define-public ecl-trivial-utf-8
5840 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5841
5842 (define-public sbcl-idna
5843 (package
5844 (name "sbcl-idna")
5845 (build-system asdf-build-system/sbcl)
5846 (version "0.2.2")
5847 (home-page "https://github.com/antifuchs/idna")
5848 (source
5849 (origin
5850 (method git-fetch)
5851 (uri (git-reference
5852 (url home-page)
5853 (commit version)))
5854 (file-name (git-file-name name version))
5855 (sha256
5856 (base32
5857 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5858 (inputs
5859 `(("split-sequence" ,sbcl-split-sequence)))
5860 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5861 (description "This Common Lisp library provides string encoding and
5862 decoding routines for IDNA, the International Domain Names in Applications.")
5863 (license license:expat)))
5864
5865 (define-public cl-idna
5866 (sbcl-package->cl-source-package sbcl-idna))
5867
5868 (define-public ecl-idna
5869 (sbcl-package->ecl-package sbcl-idna))
5870
5871 (define-public sbcl-swap-bytes
5872 (package
5873 (name "sbcl-swap-bytes")
5874 (build-system asdf-build-system/sbcl)
5875 (version "1.2")
5876 (home-page "https://github.com/sionescu/swap-bytes")
5877 (source
5878 (origin
5879 (method git-fetch)
5880 (uri (git-reference
5881 (url home-page)
5882 (commit (string-append "v" version))))
5883 (file-name (git-file-name name version))
5884 (sha256
5885 (base32
5886 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5887 (inputs
5888 `(("trivial-features" ,sbcl-trivial-features)))
5889 (native-inputs
5890 `(("fiveam" ,sbcl-fiveam)))
5891 (synopsis "Efficient endianness conversion for Common Lisp")
5892 (description "This Common Lisp library provides optimized byte-swapping
5893 primitives. The library can change endianness of unsigned integers of length
5894 1/2/4/8. Very useful in implementing various network protocols and file
5895 formats.")
5896 (license license:expat)))
5897
5898 (define-public cl-swap-bytes
5899 (sbcl-package->cl-source-package sbcl-swap-bytes))
5900
5901 (define-public ecl-swap-bytes
5902 (sbcl-package->ecl-package sbcl-swap-bytes))
5903
5904 (define-public sbcl-iolib
5905 (package
5906 (name "sbcl-iolib")
5907 (version "0.8.4")
5908 (home-page "https://github.com/sionescu/iolib")
5909 (source
5910 (origin
5911 (method git-fetch)
5912 (uri (git-reference
5913 (url home-page)
5914 (commit (string-append "v" version))))
5915 (file-name (git-file-name name version))
5916 (sha256
5917 (base32
5918 "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"))))
5919 (build-system asdf-build-system/sbcl)
5920 (inputs
5921 `(("alexandria" ,sbcl-alexandria)
5922 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5923 ("cffi" ,sbcl-cffi)
5924 ("idna" ,sbcl-idna)
5925 ("libfixposix" ,libfixposix)
5926 ("split-sequence" ,sbcl-split-sequence)
5927 ("swap-bytes" ,sbcl-swap-bytes)))
5928 (arguments
5929 '(#:asd-files '("iolib.asdf.asd"
5930 "iolib.conf.asd"
5931 "iolib.common-lisp.asd"
5932 "iolib.base.asd"
5933 "iolib.asd")
5934 #:asd-systems '("iolib"
5935 "iolib/os")
5936 #:phases
5937 (modify-phases %standard-phases
5938 (add-after 'unpack 'fix-paths
5939 (lambda* (#:key inputs #:allow-other-keys)
5940 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5941 (("\\(:default \"libfixposix\"\\)")
5942 (string-append
5943 "(:default \""
5944 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5945 ;; Socket tests need Internet access, disable them.
5946 (substitute* "iolib.asd"
5947 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5948 "")))))))
5949 (synopsis "Common Lisp I/O library")
5950 (description "IOlib is to be a better and more modern I/O library than
5951 the standard Common Lisp library. It contains a socket library, a DNS
5952 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5953 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5954 (license license:expat)))
5955
5956 (define-public cl-iolib
5957 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5958 (package
5959 (inherit parent)
5960 (propagated-inputs
5961 ;; Need header to compile.
5962 `(("libfixposix" ,libfixposix)
5963 ,@(package-propagated-inputs parent))))))
5964
5965 (define-public ecl-iolib
5966 (sbcl-package->ecl-package sbcl-iolib))
5967
5968 (define-public sbcl-ieee-floats
5969 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5970 (revision "1"))
5971 (package
5972 (name "sbcl-ieee-floats")
5973 (build-system asdf-build-system/sbcl)
5974 (version (git-version "20170924" revision commit))
5975 (home-page "https://github.com/marijnh/ieee-floats/")
5976 (source
5977 (origin
5978 (method git-fetch)
5979 (uri (git-reference
5980 (url home-page)
5981 (commit commit)))
5982 (file-name (git-file-name name version))
5983 (sha256
5984 (base32
5985 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5986 (native-inputs
5987 `(("fiveam" ,sbcl-fiveam)))
5988 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5989 (description "This is a Common Lisp library that converts
5990 floating point values to IEEE 754 binary representation.")
5991 (license license:bsd-3))))
5992
5993 (define-public cl-ieee-floats
5994 (sbcl-package->cl-source-package sbcl-ieee-floats))
5995
5996 (define-public ecl-ieee-floats
5997 (sbcl-package->ecl-package sbcl-ieee-floats))
5998
5999 (define sbcl-closure-common
6000 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
6001 (revision "1"))
6002 (package
6003 (name "sbcl-closure-common")
6004 (build-system asdf-build-system/sbcl)
6005 (version (git-version "20101006" revision commit))
6006 (home-page "https://common-lisp.net/project/cxml/")
6007 (source
6008 (origin
6009 (method git-fetch)
6010 (uri (git-reference
6011 (url "https://github.com/sharplispers/closure-common")
6012 (commit commit)))
6013 (file-name (git-file-name name version))
6014 (sha256
6015 (base32
6016 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
6017 (inputs
6018 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
6019 ("babel" ,sbcl-babel)))
6020 (synopsis "Support Common Lisp library for CXML")
6021 (description "Closure-common is an internal helper library. The name
6022 Closure is a reference to the web browser it was originally written for.")
6023 ;; TODO: License?
6024 (license #f))))
6025
6026 (define-public sbcl-cxml
6027 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
6028 (revision "1"))
6029 (package
6030 (name "sbcl-cxml")
6031 (version (git-version "0.0.0" revision commit))
6032 (source
6033 (origin
6034 (method git-fetch)
6035 (uri (git-reference
6036 (url "https://github.com/sharplispers/cxml")
6037 (commit commit)))
6038 (file-name (git-file-name name version))
6039 (sha256
6040 (base32
6041 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
6042 (build-system asdf-build-system/sbcl)
6043 (inputs
6044 `(("closure-common" ,sbcl-closure-common)
6045 ("puri" ,sbcl-puri)
6046 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6047 (synopsis "Common Lisp XML parser")
6048 (description "CXML implements a namespace-aware, validating XML 1.0
6049 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
6050 offered, one SAX-like, the other similar to StAX.")
6051 (home-page "https://common-lisp.net/project/cxml/")
6052 (license license:llgpl))))
6053
6054 (define-public cl-cxml
6055 (sbcl-package->cl-source-package sbcl-cxml))
6056
6057 (define-public ecl-cxml
6058 (sbcl-package->ecl-package sbcl-cxml))
6059
6060 (define-public sbcl-cl-reexport
6061 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
6062 (revision "1"))
6063 (package
6064 (name "sbcl-cl-reexport")
6065 (build-system asdf-build-system/sbcl)
6066 (version (git-version "0.1" revision commit))
6067 (home-page "https://github.com/takagi/cl-reexport")
6068 (source
6069 (origin
6070 (method git-fetch)
6071 (uri (git-reference
6072 (url home-page)
6073 (commit commit)))
6074 (file-name (git-file-name name version))
6075 (sha256
6076 (base32
6077 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
6078 (inputs
6079 `(("alexandria" ,sbcl-alexandria)))
6080 (arguments
6081 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
6082 `(#:tests? #f))
6083 (synopsis "HTTP cookie manager for Common Lisp")
6084 (description "cl-cookie is a Common Lisp library featuring parsing of
6085 cookie headers, cookie creation, cookie jar creation and more.")
6086 (license license:llgpl))))
6087
6088 (define-public cl-reexport
6089 (sbcl-package->cl-source-package sbcl-cl-reexport))
6090
6091 (define-public ecl-cl-reexport
6092 (sbcl-package->ecl-package sbcl-cl-reexport))
6093
6094 (define-public sbcl-cl-cookie
6095 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
6096 (revision "1"))
6097 (package
6098 (name "sbcl-cl-cookie")
6099 (build-system asdf-build-system/sbcl)
6100 (version (git-version "0.9.10" revision commit))
6101 (home-page "https://github.com/fukamachi/cl-cookie")
6102 (source
6103 (origin
6104 (method git-fetch)
6105 (uri (git-reference
6106 (url home-page)
6107 (commit commit)))
6108 (file-name (git-file-name name version))
6109 (sha256
6110 (base32
6111 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
6112 (inputs
6113 `(("proc-parse" ,sbcl-proc-parse)
6114 ("alexandria" ,sbcl-alexandria)
6115 ("quri" ,sbcl-quri)
6116 ("cl-ppcre" ,sbcl-cl-ppcre)
6117 ("local-time" ,sbcl-local-time)))
6118 (native-inputs
6119 `(("prove" ,sbcl-prove)))
6120 (arguments
6121 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
6122 `(#:tests? #f))
6123 (synopsis "HTTP cookie manager for Common Lisp")
6124 (description "cl-cookie is a Common Lisp library featuring parsing of
6125 cookie headers, cookie creation, cookie jar creation and more.")
6126 (license license:bsd-2))))
6127
6128 (define-public cl-cookie
6129 (sbcl-package->cl-source-package sbcl-cl-cookie))
6130
6131 (define-public ecl-cl-cookie
6132 (sbcl-package->ecl-package sbcl-cl-cookie))
6133
6134 (define-public sbcl-dexador
6135 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
6136 (revision "1"))
6137 (package
6138 (name "sbcl-dexador")
6139 (build-system asdf-build-system/sbcl)
6140 (version "0.9.14" )
6141 (home-page "https://github.com/fukamachi/dexador")
6142 (source
6143 (origin
6144 (method git-fetch)
6145 (uri (git-reference
6146 (url home-page)
6147 (commit commit)))
6148 (file-name (git-file-name name version))
6149 (sha256
6150 (base32
6151 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
6152 (inputs
6153 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
6154 ("babel" ,sbcl-babel)
6155 ("usocket" ,sbcl-usocket)
6156 ("fast-http" ,sbcl-fast-http)
6157 ("quri" ,sbcl-quri)
6158 ("fast-io" ,sbcl-fast-io)
6159 ("chunga" ,sbcl-chunga)
6160 ("cl-ppcre" ,sbcl-cl-ppcre)
6161 ("cl-cookie" ,sbcl-cl-cookie)
6162 ("trivial-mimes" ,sbcl-trivial-mimes)
6163 ("chipz" ,sbcl-chipz)
6164 ("cl-base64" ,sbcl-cl-base64)
6165 ("cl-reexport" ,sbcl-cl-reexport)
6166 ("cl+ssl" ,sbcl-cl+ssl)
6167 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6168 ("alexandria" ,sbcl-alexandria)))
6169 (native-inputs
6170 `(("prove" ,sbcl-prove)
6171 ("lack" ,sbcl-lack)
6172 ("clack" ,sbcl-clack)
6173 ("babel" ,sbcl-babel)
6174 ("alexandria" ,sbcl-alexandria)
6175 ("cl-ppcre" ,sbcl-cl-ppcre)
6176 ("local-time" ,sbcl-local-time)
6177 ("trivial-features" ,sbcl-trivial-features)))
6178 (arguments
6179 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
6180 `(#:tests? #f
6181 #:phases
6182 (modify-phases %standard-phases
6183 (add-after 'unpack 'fix-permissions
6184 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
6185 (synopsis "Yet another HTTP client for Common Lisp")
6186 (description "Dexador is yet another HTTP client for Common Lisp with
6187 neat APIs and connection-pooling. It is meant to supersede Drakma.")
6188 (license license:expat))))
6189
6190 (define-public cl-dexador
6191 (package
6192 (inherit (sbcl-package->cl-source-package sbcl-dexador))
6193 (arguments
6194 `(#:phases
6195 ;; asdf-build-system/source has its own phases and does not inherit
6196 ;; from asdf-build-system/sbcl phases.
6197 (modify-phases %standard-phases/source
6198 ;; Already done in SBCL package.
6199 (delete 'reset-gzip-timestamps))))))
6200
6201 (define-public ecl-dexador
6202 (sbcl-package->ecl-package sbcl-dexador))
6203
6204 (define-public sbcl-lisp-namespace
6205 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
6206 (revision "1"))
6207 (package
6208 (name "sbcl-lisp-namespace")
6209 (build-system asdf-build-system/sbcl)
6210 (version (git-version "0.1" revision commit))
6211 (home-page "https://github.com/guicho271828/lisp-namespace")
6212 (source
6213 (origin
6214 (method git-fetch)
6215 (uri (git-reference
6216 (url home-page)
6217 (commit commit)))
6218 (file-name (git-file-name name version))
6219 (sha256
6220 (base32
6221 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
6222 (inputs
6223 `(("alexandria" ,sbcl-alexandria)))
6224 (native-inputs
6225 `(("fiveam" ,sbcl-fiveam)))
6226 (arguments
6227 `(#:test-asd-file "lisp-namespace.test.asd"
6228 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
6229 #:tests? #f))
6230 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
6231 (description "Common Lisp already has major 2 namespaces, function
6232 namespace and value namespace (or variable namespace), but there are actually
6233 more — e.g., class namespace.
6234 This library offers macros to deal with symbols from any namespace.")
6235 (license license:llgpl))))
6236
6237 (define-public cl-lisp-namespace
6238 (sbcl-package->cl-source-package sbcl-lisp-namespace))
6239
6240 (define-public ecl-lisp-namespace
6241 (sbcl-package->ecl-package sbcl-lisp-namespace))
6242
6243 (define-public sbcl-trivial-cltl2
6244 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
6245 (revision "2"))
6246 (package
6247 (name "sbcl-trivial-cltl2")
6248 (build-system asdf-build-system/sbcl)
6249 (version (git-version "0.1.1" revision commit))
6250 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
6251 (source
6252 (origin
6253 (method git-fetch)
6254 (uri (git-reference
6255 (url home-page)
6256 (commit commit)))
6257 (file-name (git-file-name name version))
6258 (sha256
6259 (base32
6260 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
6261 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
6262 (description "This library is a portable compatibility layer around
6263 \"Common Lisp the Language, 2nd
6264 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
6265 and it exports symbols from implementation-specific packages.")
6266 (license license:llgpl))))
6267
6268 (define-public cl-trivial-cltl2
6269 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
6270
6271 (define-public ecl-trivial-cltl2
6272 (sbcl-package->ecl-package sbcl-trivial-cltl2))
6273
6274 (define-public sbcl-introspect-environment
6275 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
6276 (revision "1"))
6277 (package
6278 (name "sbcl-introspect-environment")
6279 (build-system asdf-build-system/sbcl)
6280 (version (git-version "0.1" revision commit))
6281 (home-page "https://github.com/Bike/introspect-environment")
6282 (source
6283 (origin
6284 (method git-fetch)
6285 (uri (git-reference
6286 (url home-page)
6287 (commit commit)))
6288 (file-name (git-file-name name version))
6289 (sha256
6290 (base32
6291 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
6292 (native-inputs
6293 `(("fiveam" ,sbcl-fiveam)))
6294 (synopsis "Common Lisp environment introspection portability layer")
6295 (description "This library is a small interface to portable but
6296 nonstandard introspection of Common Lisp environments. It is intended to
6297 allow a bit more compile-time introspection of environments in Common Lisp.
6298
6299 Quite a bit of information is available at the time a macro or compiler-macro
6300 runs; inlining info, type declarations, that sort of thing. This information
6301 is all standard - any Common Lisp program can @code{(declare (integer x))} and
6302 such.
6303
6304 This info ought to be accessible through the standard @code{&environment}
6305 parameters, but it is not. Several implementations keep the information for
6306 their own purposes but do not make it available to user programs, because
6307 there is no standard mechanism to do so.
6308
6309 This library uses implementation-specific hooks to make information available
6310 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
6311 implementations have implementations of the functions that do as much as they
6312 can and/or provide reasonable defaults.")
6313 (license license:wtfpl2))))
6314
6315 (define-public cl-introspect-environment
6316 (sbcl-package->cl-source-package sbcl-introspect-environment))
6317
6318 (define-public ecl-introspect-environment
6319 (sbcl-package->ecl-package sbcl-introspect-environment))
6320
6321 (define-public sbcl-type-i
6322 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
6323 (revision "2"))
6324 (package
6325 (name "sbcl-type-i")
6326 (build-system asdf-build-system/sbcl)
6327 (version (git-version "0.1" revision commit))
6328 (home-page "https://github.com/guicho271828/type-i")
6329 (source
6330 (origin
6331 (method git-fetch)
6332 (uri (git-reference
6333 (url home-page)
6334 (commit commit)))
6335 (file-name (git-file-name name version))
6336 (sha256
6337 (base32
6338 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
6339 (inputs
6340 `(("alexandria" ,sbcl-alexandria)
6341 ("introspect-environment" ,sbcl-introspect-environment)
6342 ("trivia.trivial" ,sbcl-trivia.trivial)))
6343 (native-inputs
6344 `(("fiveam" ,sbcl-fiveam)))
6345 (arguments
6346 `(#:test-asd-file "type-i.test.asd"))
6347 (synopsis "Type inference utility on unary predicates for Common Lisp")
6348 (description "This library tries to provide a way to detect what kind of
6349 type the given predicate is trying to check. This is different from inferring
6350 the return type of a function.")
6351 (license license:llgpl))))
6352
6353 (define-public cl-type-i
6354 (sbcl-package->cl-source-package sbcl-type-i))
6355
6356 (define-public ecl-type-i
6357 (package
6358 (inherit (sbcl-package->ecl-package sbcl-type-i))
6359 (arguments
6360 ;; The tests get stuck indefinitly
6361 '(#:tests? #f))))
6362
6363 (define-public sbcl-optima
6364 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6365 (revision "1"))
6366 (package
6367 (name "sbcl-optima")
6368 (build-system asdf-build-system/sbcl)
6369 (version (git-version "1.0" revision commit))
6370 (home-page "https://github.com/m2ym/optima")
6371 (source
6372 (origin
6373 (method git-fetch)
6374 (uri (git-reference
6375 (url home-page)
6376 (commit commit)))
6377 (file-name (git-file-name name version))
6378 (sha256
6379 (base32
6380 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6381 (inputs
6382 `(("alexandria" ,sbcl-alexandria)
6383 ("closer-mop" ,sbcl-closer-mop)))
6384 (native-inputs
6385 `(("eos" ,sbcl-eos)))
6386 (arguments
6387 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6388 `(#:tests? #f
6389 #:test-asd-file "optima.test.asd"))
6390 (synopsis "Optimized pattern matching library for Common Lisp")
6391 (description "Optima is a fast pattern matching library which uses
6392 optimizing techniques widely used in the functional programming world.")
6393 (license license:expat))))
6394
6395 (define-public cl-optima
6396 (sbcl-package->cl-source-package sbcl-optima))
6397
6398 (define-public ecl-optima
6399 (sbcl-package->ecl-package sbcl-optima))
6400
6401 (define-public sbcl-fare-quasiquote
6402 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6403 (revision "1"))
6404 (package
6405 (name "sbcl-fare-quasiquote")
6406 (build-system asdf-build-system/sbcl)
6407 (version (git-version "1.0.1" revision commit))
6408 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6409 (source
6410 (origin
6411 (method git-fetch)
6412 (uri (git-reference
6413 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6414 "fare-quasiquote.git"))
6415 (commit commit)))
6416 (file-name (git-file-name name version))
6417 (sha256
6418 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6419 (inputs
6420 `(("fare-utils" ,sbcl-fare-utils)
6421 ("named-readtables" ,sbcl-named-readtables)
6422 ("optima" ,sbcl-optima)))
6423 (arguments
6424 ;; XXX: Circular dependencies: Tests depend on subsystems,
6425 ;; which depend on the main systems.
6426 `(#:tests? #f
6427 #:asd-systems '("fare-quasiquote"
6428 "fare-quasiquote-extras")
6429 #:phases
6430 (modify-phases %standard-phases
6431 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6432 ;; commits after 1.0.0.5, but ASDF fails to read the
6433 ;; "-REVISION-COMMIT" part generated by Guix.
6434 (add-after 'unpack 'patch-requirement
6435 (lambda _
6436 (substitute* "fare-quasiquote.asd"
6437 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6438 "\"fare-utils\""))
6439 (substitute* "fare-quasiquote-optima.asd"
6440 (("\\(:version \"optima\" \"1\\.0\"\\)")
6441 "\"optima\""))
6442 #t)))))
6443 (synopsis "Pattern-matching friendly implementation of quasiquote")
6444 (description "The main purpose of this n+2nd reimplementation of
6445 quasiquote is enable matching of quasiquoted patterns, using Optima or
6446 Trivia.")
6447 (license license:expat))))
6448
6449 (define-public cl-fare-quasiquote
6450 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6451
6452 (define-public ecl-fare-quasiquote
6453 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6454
6455 ;;; Split the trivia package in two to work around the circular dependency
6456 ;;; between guicho271828/trivia and guicho271828/type-i.
6457 (define-public sbcl-trivia.trivial
6458 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6459 (revision "3"))
6460 (package
6461 (name "sbcl-trivia.trivial")
6462 (version (git-version "0.0.0" revision commit))
6463 (source
6464 (origin
6465 (method git-fetch)
6466 (uri (git-reference
6467 (url "https://github.com/guicho271828/trivia")
6468 (commit commit)))
6469 (file-name (git-file-name "trivia" version))
6470 (sha256
6471 (base32
6472 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6473 (build-system asdf-build-system/sbcl)
6474 (inputs
6475 `(("alexandria" ,sbcl-alexandria)
6476 ("closer-mop" ,sbcl-closer-mop)
6477 ("lisp-namespace" ,sbcl-lisp-namespace)
6478 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6479 (arguments
6480 '(#:phases
6481 (modify-phases %standard-phases
6482 (add-after 'unpack 'fix-build
6483 (lambda _
6484 (for-each delete-file
6485 '("trivia.balland2006.asd"
6486 "trivia.ppcre.asd"
6487 "trivia.quasiquote.asd"
6488 "trivia.cffi.asd"
6489 "trivia.asd"
6490 "trivia.test.asd"))
6491 #t)))))
6492 (synopsis "Pattern matching in Common Lisp")
6493 (description "Trivia is a pattern matching compiler that is compatible
6494 with Optima, another pattern matching library for Common Lisp. It is meant to
6495 be faster and more extensible than Optima.")
6496 (home-page "https://github.com/guicho271828/trivia")
6497 (license license:llgpl))))
6498
6499 (define-public cl-trivia.trivial
6500 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6501
6502 (define-public ecl-trivia.trivial
6503 (sbcl-package->ecl-package sbcl-trivia.trivial))
6504
6505 (define-public sbcl-trivia
6506 (package
6507 (inherit sbcl-trivia.trivial)
6508 (name "sbcl-trivia")
6509 (native-inputs
6510 `(("fiveam" ,sbcl-fiveam)
6511 ("optima" ,sbcl-optima)))
6512 (inputs
6513 `(("alexandria" ,sbcl-alexandria)
6514 ("cffi" ,sbcl-cffi)
6515 ("cl-ppcre" ,sbcl-cl-ppcre)
6516 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6517 ("iterate" ,sbcl-iterate)
6518 ("trivia.trivial" ,sbcl-trivia.trivial)
6519 ("type-i" ,sbcl-type-i)))
6520 (arguments
6521 '(#:asd-systems '("trivia"
6522 "trivia.ppcre"
6523 "trivia.quasiquote"
6524 "trivia.cffi")
6525 #:test-asd-file "trivia.test.asd"
6526 #:phases
6527 (modify-phases %standard-phases
6528 (add-after 'unpack 'fix-build
6529 (lambda _
6530 (for-each delete-file
6531 '("trivia.level0.asd"
6532 "trivia.level1.asd"
6533 "trivia.level2.asd"
6534 "trivia.trivial.asd"))
6535 #t)))))))
6536
6537 (define-public cl-trivia
6538 (sbcl-package->cl-source-package sbcl-trivia))
6539
6540 (define-public ecl-trivia
6541 (sbcl-package->ecl-package sbcl-trivia))
6542
6543 (define-public sbcl-mk-string-metrics
6544 (package
6545 (name "sbcl-mk-string-metrics")
6546 (version "0.1.2")
6547 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6548 (source (origin
6549 (method git-fetch)
6550 (uri (git-reference
6551 (url home-page)
6552 (commit version)))
6553 (sha256
6554 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6555 (file-name (git-file-name name version))))
6556 (build-system asdf-build-system/sbcl)
6557 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6558 (description "This library implements efficient algorithms that calculate
6559 various string metrics in Common Lisp:
6560
6561 @itemize
6562 @item Damerau-Levenshtein distance
6563 @item Hamming distance
6564 @item Jaccard similarity coefficient
6565 @item Jaro distance
6566 @item Jaro-Winkler distance
6567 @item Levenshtein distance
6568 @item Normalized Damerau-Levenshtein distance
6569 @item Normalized Levenshtein distance
6570 @item Overlap coefficient
6571 @end itemize\n")
6572 (license license:x11)))
6573
6574 (define-public cl-mk-string-metrics
6575 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6576
6577 (define-public ecl-mk-string-metrics
6578 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6579
6580 (define-public sbcl-cl-str
6581 (package
6582 (name "sbcl-cl-str")
6583 (version "0.19")
6584 (home-page "https://github.com/vindarel/cl-str")
6585 (source (origin
6586 (method git-fetch)
6587 (uri (git-reference
6588 (url home-page)
6589 (commit version)))
6590 (sha256
6591 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6592 (file-name (git-file-name name version))))
6593 (build-system asdf-build-system/sbcl)
6594 (inputs
6595 `(("cl-ppcre" ,sbcl-cl-ppcre)
6596 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6597 ("cl-change-case" ,sbcl-cl-change-case)))
6598 (native-inputs
6599 `(("prove" ,sbcl-prove)))
6600 (arguments
6601 `(#:asd-systems '("str")
6602 #:test-asd-file "str.test.asd"))
6603 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6604 (description "A modern and consistent Common Lisp string manipulation
6605 library that focuses on modernity, simplicity and discoverability:
6606 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6607 @code{str:concat strings} instead of an unusual format construct; one
6608 discoverable library instead of many; consistency and composability, where
6609 @code{s} is always the last argument, which makes it easier to feed pipes and
6610 arrows.")
6611 (license license:expat)))
6612
6613 (define-public cl-str
6614 (sbcl-package->cl-source-package sbcl-cl-str))
6615
6616 (define-public ecl-cl-str
6617 (sbcl-package->ecl-package sbcl-cl-str))
6618
6619 (define-public sbcl-cl-xmlspam
6620 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6621 (package
6622 (name "sbcl-cl-xmlspam")
6623 (build-system asdf-build-system/sbcl)
6624 (version (git-version "0.0.0" "1" commit))
6625 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6626 (source
6627 (origin
6628 (method git-fetch)
6629 (uri (git-reference
6630 (url home-page)
6631 (commit commit)))
6632 (file-name (string-append name "-" version))
6633 (sha256
6634 (base32
6635 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6636 (inputs
6637 `(("cxml" ,sbcl-cxml)
6638 ("cl-ppcre" ,sbcl-cl-ppcre)))
6639 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6640 (description "CXML does an excellent job at parsing XML elements, but what
6641 do you do when you have a XML file that's larger than you want to fit in
6642 memory, and you want to extract some information from it? Writing code to deal
6643 with SAX events, or even using Klacks, quickly becomes tedious.
6644 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6645 to write code that mirrors the structure of the XML that it's parsing. It
6646 also makes it easy to shift paradigms when necessary - the usual Lisp control
6647 constructs can be used interchangeably with pattern matching, and the full
6648 power of CXML is available when necessary.")
6649 (license license:bsd-3))))
6650
6651 (define-public cl-xmlspam
6652 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6653
6654 (define-public ecl-cl-xmlspam
6655 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6656
6657 (define-public sbcl-dbus
6658 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6659 (revision "1"))
6660 (package
6661 (name "sbcl-dbus")
6662 (version (git-version "20190408" revision commit))
6663 (home-page "https://github.com/death/dbus")
6664 (source
6665 (origin
6666 (method git-fetch)
6667 (uri (git-reference
6668 (url home-page)
6669 (commit commit)))
6670 (file-name (git-file-name name version))
6671 (sha256
6672 (base32
6673 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6674 (build-system asdf-build-system/sbcl)
6675 (inputs
6676 `(("alexandria" ,sbcl-alexandria)
6677 ("trivial-garbage" ,sbcl-trivial-garbage)
6678 ("babel" ,sbcl-babel)
6679 ("iolib" ,sbcl-iolib)
6680 ("ieee-floats" ,sbcl-ieee-floats)
6681 ("flexi-streams" ,sbcl-flexi-streams)
6682 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6683 ("ironclad" ,sbcl-ironclad)))
6684 (synopsis "D-Bus client library for Common Lisp")
6685 (description "This is a Common Lisp library that publishes D-Bus
6686 objects as well as send and notify other objects connected to a bus.")
6687 (license license:bsd-2))))
6688
6689 (define-public cl-dbus
6690 (sbcl-package->cl-source-package sbcl-dbus))
6691
6692 (define-public ecl-dbus
6693 (sbcl-package->ecl-package sbcl-dbus))
6694
6695 (define-public sbcl-cl-hooks
6696 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6697 (revision "1"))
6698 (package
6699 (name "sbcl-cl-hooks")
6700 (build-system asdf-build-system/sbcl)
6701 (version (git-version "0.2.1" revision commit))
6702 (home-page "https://github.com/scymtym/architecture.hooks")
6703 (source
6704 (origin
6705 (method git-fetch)
6706 (uri (git-reference
6707 (url home-page)
6708 (commit commit)))
6709 (file-name (git-file-name name version))
6710 (sha256
6711 (base32
6712 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6713 (inputs
6714 `(("alexandria" ,sbcl-alexandria)
6715 ("let-plus" ,sbcl-let-plus)
6716 ("trivial-garbage" ,sbcl-trivial-garbage)
6717 ("closer-mop" ,sbcl-closer-mop)))
6718 (native-inputs
6719 `(("fiveam" ,sbcl-fiveam)))
6720 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6721 (description "A hook, in the present context, is a certain kind of
6722 extension point in a program that allows interleaving the execution of
6723 arbitrary code with the execution of a the program without introducing any
6724 coupling between the two. Hooks are used extensively in the extensible editor
6725 Emacs.
6726
6727 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6728 possible using the flexible multi-method dispatch mechanism. It may even seem
6729 that the concept of hooks does not provide any benefits over the possibilities
6730 of CLOS. However, there are some differences:
6731
6732 @itemize
6733
6734 @item There can be only one method for each combination of specializers and
6735 qualifiers. As a result this kind of extension point cannot be used by
6736 multiple extensions independently.
6737 @item Removing code previously attached via a @code{:before}, @code{:after} or
6738 @code{:around} method can be cumbersome.
6739 @item There could be other or even multiple extension points besides @code{:before}
6740 and @code{:after} in a single method.
6741 @item Attaching codes to individual objects using eql specializers can be
6742 cumbersome.
6743 @item Introspection of code attached a particular extension point is
6744 cumbersome since this requires enumerating and inspecting the methods of a
6745 generic function.
6746 @end itemize
6747
6748 This library tries to complement some of these weaknesses of method-based
6749 extension-points via the concept of hooks.")
6750 (license license:llgpl))))
6751
6752 (define-public cl-hooks
6753 (sbcl-package->cl-source-package sbcl-cl-hooks))
6754
6755 (define-public ecl-cl-hooks
6756 (sbcl-package->ecl-package sbcl-cl-hooks))
6757
6758 (define-public sbcl-cl-autowrap
6759 (let ((revision "2")
6760 (commit "a5d71ebd7c21b87f449db1e16ab815750d7c0ea4"))
6761 ;; no taged branches
6762 (package
6763 (name "sbcl-cl-autowrap")
6764 (version (git-version "1.0" revision commit))
6765 (source
6766 (origin
6767 (method git-fetch)
6768 (uri (git-reference
6769 (url "https://github.com/rpav/cl-autowrap")
6770 (commit commit)))
6771 (file-name (git-file-name "cl-autowrap" version))
6772 (sha256
6773 (base32 "0795c817m1c41cz3ywzzg83z4pgkxdg6si553pay9mdgjvmrwmaw"))))
6774 (build-system asdf-build-system/sbcl)
6775 (arguments
6776 `(#:asd-systems '("cl-plus-c" "cl-autowrap")))
6777 (inputs
6778 `(("alexandria" ,sbcl-alexandria)
6779 ("cffi" ,sbcl-cffi)
6780 ("cl-json" ,sbcl-cl-json)
6781 ("cl-ppcre" ,sbcl-cl-ppcre)
6782 ("defpackage-plus" ,sbcl-defpackage-plus)
6783 ("trivial-features" ,sbcl-trivial-features)))
6784 (home-page "https://github.com/rpav/cl-autowrap")
6785 (synopsis "FFI wrapper generator for Common Lisp")
6786 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6787 (license license:bsd-2))))
6788
6789 (define-public cl-autowrap
6790 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6791
6792 (define-public ecl-cl-autowrap
6793 (sbcl-package->ecl-package sbcl-cl-autowrap))
6794
6795 (define-public sbcl-s-sysdeps
6796 ;; No release since 2013.
6797 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6798 (revision "2"))
6799 (package
6800 (name "sbcl-s-sysdeps")
6801 (build-system asdf-build-system/sbcl)
6802 (version (git-version "1" revision commit))
6803 (home-page "https://github.com/svenvc/s-sysdeps")
6804 (source
6805 (origin
6806 (method git-fetch)
6807 (uri (git-reference
6808 (url home-page)
6809 (commit commit)))
6810 (file-name (git-file-name name version))
6811 (sha256
6812 (base32
6813 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6814 (inputs
6815 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6816 ("usocket" ,sbcl-usocket)))
6817 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6818 (description "@code{s-sysdeps} is an abstraction layer over platform
6819 dependent functionality. This simple package is used as a building block in a
6820 number of other open source projects.
6821
6822 @code{s-sysdeps} abstracts:
6823
6824 @itemize
6825 @item managing processes,
6826 @item implementing a standard TCP/IP server,
6827 @item opening a client TCP/IP socket stream,
6828 @item working with process locks.
6829 @end itemize\n")
6830 (license license:llgpl))))
6831
6832 (define-public cl-s-sysdeps
6833 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6834
6835 (define-public ecl-s-sysdeps
6836 (sbcl-package->ecl-package sbcl-s-sysdeps))
6837
6838 (define-public sbcl-cl-prevalence
6839 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6840 (revision "4"))
6841 (package
6842 (name "sbcl-cl-prevalence")
6843 (build-system asdf-build-system/sbcl)
6844 (version (git-version "5" revision commit))
6845 (home-page "https://github.com/40ants/cl-prevalence")
6846 (source
6847 (origin
6848 (method git-fetch)
6849 (uri (git-reference
6850 (url home-page)
6851 (commit commit)))
6852 (file-name (git-file-name name version))
6853 (sha256
6854 (base32
6855 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6856 (inputs
6857 `(("s-sysdeps" ,sbcl-s-sysdeps)
6858 ("s-xml" ,sbcl-s-xml)))
6859 (native-inputs
6860 `(("fiveam" ,sbcl-fiveam)))
6861 (synopsis "Implementation of object prevalence for Common Lisp")
6862 (description "This Common Lisp library implements object prevalence (see
6863 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6864 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6865 classes and cyclic data structures are supported.")
6866 (license license:llgpl))))
6867
6868 (define-public cl-prevalence
6869 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6870
6871 (define-public ecl-cl-prevalence
6872 (sbcl-package->ecl-package sbcl-cl-prevalence))
6873
6874 (define-public sbcl-series
6875 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6876 (revision "1"))
6877 (package
6878 (name "sbcl-series")
6879 (version (git-version "2.2.11" revision commit))
6880 (source
6881 (origin
6882 (method git-fetch)
6883 (uri (git-reference
6884 (url "git://git.code.sf.net/p/series/series")
6885 (commit commit)))
6886 (file-name (git-file-name name version))
6887 (sha256
6888 (base32
6889 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6890 (build-system asdf-build-system/sbcl)
6891 (arguments
6892 ;; Disable the tests, they are apparently buggy and I didn't find
6893 ;; a simple way to make them run and pass.
6894 '(#:tests? #f))
6895 (synopsis "Series data structure for Common Lisp")
6896 (description
6897 "This Common Lisp library provides a series data structure much like
6898 a sequence, with similar kinds of operations. The difference is that in many
6899 situations, operations on series may be composed functionally and yet execute
6900 iteratively, without the need to construct intermediate series values
6901 explicitly. In this manner, series provide both the clarity of a functional
6902 programming style and the efficiency of an iterative programming style.")
6903 (home-page "http://series.sourceforge.net/")
6904 (license license:expat))))
6905
6906 (define-public cl-series
6907 (sbcl-package->cl-source-package sbcl-series))
6908
6909 (define-public ecl-series
6910 (sbcl-package->ecl-package sbcl-series))
6911
6912 (define-public sbcl-periods
6913 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6914 (revision "2"))
6915 (package
6916 (name "sbcl-periods")
6917 (version (git-version "0.0.2" revision commit))
6918 (source
6919 (origin
6920 (method git-fetch)
6921 (uri (git-reference
6922 (url "https://github.com/jwiegley/periods")
6923 (commit commit)))
6924 (file-name (git-file-name name version))
6925 (sha256
6926 (base32
6927 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6928 (build-system asdf-build-system/sbcl)
6929 (inputs
6930 `(("local-time" ,sbcl-local-time)
6931 ("series" ,sbcl-series)))
6932 (arguments
6933 '(#:asd-systems '("periods"
6934 "periods-series")))
6935 (synopsis "Common Lisp library for manipulating date/time objects")
6936 (description
6937 "Periods is a Common Lisp library providing a set of utilities for
6938 manipulating times, distances between times, and both contiguous and
6939 discontiguous ranges of time.")
6940 (home-page "https://github.com/jwiegley/periods")
6941 (license license:bsd-3))))
6942
6943 (define-public cl-periods
6944 (sbcl-package->cl-source-package sbcl-periods))
6945
6946 (define-public ecl-periods
6947 (sbcl-package->ecl-package sbcl-periods))
6948
6949 (define-public sbcl-metatilities-base
6950 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6951 (revision "1"))
6952 (package
6953 (name "sbcl-metatilities-base")
6954 (version (git-version "0.6.6" revision commit))
6955 (source
6956 (origin
6957 (method git-fetch)
6958 (uri (git-reference
6959 (url "https://github.com/gwkkwg/metatilities-base")
6960 (commit commit)))
6961 (file-name (git-file-name name version))
6962 (sha256
6963 (base32
6964 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6965 (build-system asdf-build-system/sbcl)
6966 (native-inputs
6967 `(("lift" ,sbcl-lift)))
6968 (synopsis "Core of the metatilities Common Lisp library")
6969 (description
6970 "Metatilities-base is the core of the metatilities Common Lisp library
6971 which implements a set of utilities.")
6972 (home-page "https://common-lisp.net/project/metatilities-base/")
6973 (license license:expat))))
6974
6975 (define-public cl-metatilities-base
6976 (sbcl-package->cl-source-package sbcl-metatilities-base))
6977
6978 (define-public ecl-metatilities-base
6979 (sbcl-package->ecl-package sbcl-metatilities-base))
6980
6981 (define-public sbcl-cl-containers
6982 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6983 (revision "3"))
6984 (package
6985 (name "sbcl-cl-containers")
6986 (version (git-version "0.12.1" revision commit))
6987 (source
6988 (origin
6989 (method git-fetch)
6990 (uri (git-reference
6991 (url "https://github.com/gwkkwg/cl-containers")
6992 (commit commit)))
6993 (file-name (git-file-name name version))
6994 (sha256
6995 (base32
6996 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6997 (build-system asdf-build-system/sbcl)
6998 (native-inputs
6999 `(("lift" ,sbcl-lift)))
7000 (inputs
7001 `(("metatilities-base" ,sbcl-metatilities-base)))
7002 (arguments
7003 '(#:asd-files '("cl-containers.asd")
7004 #:phases
7005 (modify-phases %standard-phases
7006 (add-after 'unpack 'relax-version-checks
7007 (lambda _
7008 (substitute* "cl-containers.asd"
7009 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
7010 "\"metatilities-base\""))
7011 (substitute* "cl-containers-test.asd"
7012 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
7013 "\"lift\""))
7014 #t)))))
7015 (synopsis "Container library for Common Lisp")
7016 (description
7017 "Common Lisp ships with a set of powerful built in data structures
7018 including the venerable list, full featured arrays, and hash-tables.
7019 CL-containers enhances and builds on these structures by adding containers
7020 that are not available in native Lisp (for example: binary search trees,
7021 red-black trees, sparse arrays and so on), and by providing a standard
7022 interface so that they are simpler to use and so that changing design
7023 decisions becomes significantly easier.")
7024 (home-page "https://common-lisp.net/project/cl-containers/")
7025 (license license:expat))))
7026
7027 (define-public cl-containers
7028 (sbcl-package->cl-source-package sbcl-cl-containers))
7029
7030 (define-public ecl-cl-containers
7031 (sbcl-package->ecl-package sbcl-cl-containers))
7032
7033 (define-public sbcl-xlunit
7034 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
7035 (revision "1"))
7036 (package
7037 (name "sbcl-xlunit")
7038 (version (git-version "0.6.3" revision commit))
7039 (source
7040 (origin
7041 (method git-fetch)
7042 (uri (git-reference
7043 (url "http://git.kpe.io/xlunit.git")
7044 (commit commit)))
7045 (file-name (git-file-name name version))
7046 (sha256
7047 (base32
7048 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
7049 (build-system asdf-build-system/sbcl)
7050 (arguments
7051 '(#:phases
7052 (modify-phases %standard-phases
7053 (add-after 'unpack 'fix-tests
7054 (lambda _
7055 (substitute* "xlunit.asd"
7056 ((" :force t") ""))
7057 #t)))))
7058 (synopsis "Unit testing package for Common Lisp")
7059 (description
7060 "The XLUnit package is a toolkit for building test suites. It is based
7061 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
7062 (home-page "http://quickdocs.org/xlunit/")
7063 (license license:bsd-3))))
7064
7065 (define-public cl-xlunit
7066 (sbcl-package->cl-source-package sbcl-xlunit))
7067
7068 (define-public ecl-xlunit
7069 (sbcl-package->ecl-package sbcl-xlunit))
7070
7071 (define-public sbcl-cambl
7072 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
7073 (revision "1"))
7074 (package
7075 (name "sbcl-cambl")
7076 (version (git-version "4.0.0" revision commit))
7077 (source
7078 (origin
7079 (method git-fetch)
7080 (uri (git-reference
7081 (url "https://github.com/jwiegley/cambl")
7082 (commit commit)))
7083 (file-name (git-file-name "cambl" version))
7084 (sha256
7085 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
7086 (build-system asdf-build-system/sbcl)
7087 (native-inputs
7088 `(("xlunit" ,sbcl-xlunit)))
7089 (inputs
7090 `(("alexandria" ,sbcl-alexandria)
7091 ("cl-containers" ,sbcl-cl-containers)
7092 ("local-time" ,sbcl-local-time)
7093 ("periods" ,sbcl-periods)))
7094 (arguments
7095 '(#:asd-files '("fprog.asd"
7096 "cambl.asd")))
7097 (synopsis "Commoditized amounts and balances for Common Lisp")
7098 (description
7099 "CAMBL is a Common Lisp library providing a convenient facility for
7100 working with commoditized values. It does not allow compound units (and so is
7101 not suited for scientific operations) but does work rather nicely for the
7102 purpose of financial calculations.")
7103 (home-page "https://github.com/jwiegley/cambl")
7104 (license license:bsd-3))))
7105
7106 (define-public cl-cambl
7107 (sbcl-package->cl-source-package sbcl-cambl))
7108
7109 (define-public ecl-cambl
7110 (sbcl-package->ecl-package sbcl-cambl))
7111
7112 (define-public sbcl-cl-ledger
7113 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
7114 (revision "1"))
7115 (package
7116 (name "sbcl-cl-ledger")
7117 (version (git-version "4.0.0" revision commit))
7118 (source
7119 (origin
7120 (method git-fetch)
7121 (uri (git-reference
7122 (url "https://github.com/ledger/cl-ledger")
7123 (commit commit)))
7124 (file-name (git-file-name name version))
7125 (sha256
7126 (base32
7127 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
7128 (build-system asdf-build-system/sbcl)
7129 (inputs
7130 `(("cambl" ,sbcl-cambl)
7131 ("cl-ppcre" ,sbcl-cl-ppcre)
7132 ("local-time" ,sbcl-local-time)
7133 ("periods" ,sbcl-periods)))
7134 (arguments
7135 '(#:phases
7136 (modify-phases %standard-phases
7137 (add-after 'unpack 'fix-system-definition
7138 (lambda _
7139 (substitute* "cl-ledger.asd"
7140 ((" :build-operation program-op") "")
7141 ((" :build-pathname \"cl-ledger\"") "")
7142 ((" :entry-point \"ledger::main\"") ""))
7143 #t)))))
7144 (synopsis "Common Lisp port of the Ledger accounting system")
7145 (description
7146 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
7147 system.")
7148 (home-page "https://github.com/ledger/cl-ledger")
7149 (license license:bsd-3))))
7150
7151 (define-public cl-ledger
7152 (sbcl-package->cl-source-package sbcl-cl-ledger))
7153
7154 (define-public ecl-cl-ledger
7155 (sbcl-package->ecl-package sbcl-cl-ledger))
7156
7157 (define-public sbcl-bst
7158 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
7159 (revision "0"))
7160 (package
7161 (name "sbcl-bst")
7162 (version (git-version "2.0" revision commit))
7163 (source
7164 (origin
7165 (method git-fetch)
7166 (uri (git-reference
7167 (url "https://github.com/glv2/bst")
7168 (commit commit)))
7169 (file-name (git-file-name name version))
7170 (sha256
7171 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
7172 (build-system asdf-build-system/sbcl)
7173 (native-inputs
7174 `(("alexandria" ,sbcl-alexandria)
7175 ("fiveam" ,sbcl-fiveam)))
7176 (synopsis "Binary search tree for Common Lisp")
7177 (description
7178 "BST is a Common Lisp library for working with binary search trees that
7179 can contain any kind of values.")
7180 (home-page "https://github.com/glv2/bst")
7181 (license license:gpl3))))
7182
7183 (define-public cl-bst
7184 (sbcl-package->cl-source-package sbcl-bst))
7185
7186 (define-public ecl-bst
7187 (sbcl-package->ecl-package sbcl-bst))
7188
7189 (define-public sbcl-cl-octet-streams
7190 (package
7191 (name "sbcl-cl-octet-streams")
7192 (version "1.2")
7193 (source
7194 (origin
7195 (method git-fetch)
7196 (uri (git-reference
7197 (url "https://github.com/glv2/cl-octet-streams")
7198 (commit (string-append "v" version))))
7199 (file-name (git-file-name name version))
7200 (sha256
7201 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
7202 (build-system asdf-build-system/sbcl)
7203 (native-inputs
7204 `(("fiveam" ,sbcl-fiveam)))
7205 (inputs
7206 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7207 (synopsis "In-memory octet streams for Common Lisp")
7208 (description
7209 "CL-octet-streams is a library implementing in-memory octet
7210 streams for Common Lisp. It was inspired by the trivial-octet-streams and
7211 cl-plumbing libraries.")
7212 (home-page "https://github.com/glv2/cl-octet-streams")
7213 (license license:gpl3+)))
7214
7215 (define-public cl-octet-streams
7216 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7217
7218 (define-public ecl-cl-octet-streams
7219 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7220
7221 (define-public sbcl-lzlib
7222 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
7223 (revision "2"))
7224 (package
7225 (name "sbcl-lzlib")
7226 (version (git-version "1.1" revision commit))
7227 (source
7228 (origin
7229 (method git-fetch)
7230 (uri (git-reference
7231 (url "https://github.com/glv2/cl-lzlib")
7232 (commit commit)))
7233 (file-name (git-file-name name version))
7234 (sha256
7235 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
7236 (build-system asdf-build-system/sbcl)
7237 (native-inputs
7238 `(("fiveam" ,sbcl-fiveam)))
7239 (inputs
7240 `(("cffi" ,sbcl-cffi)
7241 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7242 ("lparallel" ,sbcl-lparallel)
7243 ("lzlib" ,lzlib)))
7244 (arguments
7245 '(#:phases
7246 (modify-phases %standard-phases
7247 (add-after 'unpack 'fix-paths
7248 (lambda* (#:key inputs #:allow-other-keys)
7249 (substitute* "src/lzlib.lisp"
7250 (("liblz\\.so")
7251 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7252 #t)))))
7253 (synopsis "Common Lisp library for lzip (de)compression")
7254 (description
7255 "This Common Lisp library provides functions for lzip (LZMA)
7256 compression/decompression using bindings to the lzlib C library.")
7257 (home-page "https://github.com/glv2/cl-lzlib")
7258 (license license:gpl3+))))
7259
7260 (define-public cl-lzlib
7261 (sbcl-package->cl-source-package sbcl-lzlib))
7262
7263 (define-public ecl-lzlib
7264 (sbcl-package->ecl-package sbcl-lzlib))
7265
7266 (define-public sbcl-chanl
7267 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7268 (revision "1"))
7269 (package
7270 (name "sbcl-chanl")
7271 (version (git-version "0.4.1" revision commit))
7272 (source
7273 (origin
7274 (method git-fetch)
7275 (uri (git-reference
7276 (url "https://github.com/zkat/chanl")
7277 (commit commit)))
7278 (file-name (git-file-name name version))
7279 (sha256
7280 (base32
7281 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
7282 (build-system asdf-build-system/sbcl)
7283 (native-inputs
7284 `(("fiveam" ,sbcl-fiveam)))
7285 (inputs
7286 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7287 (synopsis "Portable channel-based concurrency for Common Lisp")
7288 (description "Common Lisp library for channel-based concurrency. In
7289 a nutshell, you create various threads sequentially executing tasks you need
7290 done, and use channel objects to communicate and synchronize the state of these
7291 threads.")
7292 (home-page "https://github.com/zkat/chanl")
7293 (license (list license:expat license:bsd-3)))))
7294
7295 (define-public cl-chanl
7296 (sbcl-package->cl-source-package sbcl-chanl))
7297
7298 (define-public ecl-chanl
7299 (sbcl-package->ecl-package sbcl-chanl))
7300
7301 (define-public sbcl-cl-store
7302 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7303 (revision "1"))
7304 (package
7305 (name "sbcl-cl-store")
7306 (version (git-version "0.8.11" revision commit))
7307 (source
7308 (origin
7309 (method git-fetch)
7310 (uri (git-reference
7311 (url "https://github.com/skypher/cl-store")
7312 (commit commit)))
7313 (file-name (git-file-name name version))
7314 (sha256
7315 (base32
7316 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
7317 (build-system asdf-build-system/sbcl)
7318 (native-inputs
7319 `(("rt" ,sbcl-rt)))
7320 (synopsis "Common Lisp library to serialize data")
7321 (description
7322 "CL-STORE is a portable serialization package which should give you the
7323 ability to store all Common Lisp data types into streams.")
7324 (home-page "https://www.common-lisp.net/project/cl-store/")
7325 (license license:expat))))
7326
7327 (define-public cl-store
7328 (sbcl-package->cl-source-package sbcl-cl-store))
7329
7330 (define-public ecl-cl-store
7331 (sbcl-package->ecl-package sbcl-cl-store))
7332
7333 (define-public sbcl-specialization-store
7334 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
7335 (revision "1"))
7336 (package
7337 (name "sbcl-specialization-store")
7338 (version (git-version "0.0.5" revision commit))
7339 (source
7340 (origin
7341 (method git-fetch)
7342 (uri (git-reference
7343 (url "https://github.com/markcox80/specialization-store")
7344 (commit commit)))
7345 (file-name (git-file-name "specialization-store" version))
7346 (sha256
7347 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
7348 (build-system asdf-build-system/sbcl)
7349 (native-inputs
7350 `(("fiveam" ,sbcl-fiveam)))
7351 (inputs
7352 `(("alexandria" ,sbcl-alexandria)
7353 ("introspect-environment" ,sbcl-introspect-environment)))
7354 (home-page "https://github.com/markcox80/specialization-store")
7355 (synopsis "Different type of generic function for Common Lisp")
7356 (description
7357 "SPECIALIZATION-STORE system provides a new kind of function, called
7358 a store function, whose behavior depends on the types of objects passed to the
7359 function.")
7360 (license license:bsd-2))))
7361
7362 (define-public ecl-specialization-store
7363 (package
7364 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7365 (arguments
7366 ;; TODO: Find why the tests get stuck forever; disable them for now.
7367 `(#:tests? #f))))
7368
7369 (define-public cl-specialization-store
7370 (sbcl-package->cl-source-package sbcl-specialization-store))
7371
7372 (define-public sbcl-cl-gobject-introspection
7373 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7374 (revision "1"))
7375 (package
7376 (name "sbcl-cl-gobject-introspection")
7377 (version (git-version "0.3" revision commit))
7378 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7379 (source
7380 (origin
7381 (method git-fetch)
7382 (uri (git-reference
7383 (url home-page)
7384 (commit commit)))
7385 (file-name (git-file-name name version))
7386 (sha256
7387 (base32
7388 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
7389 (build-system asdf-build-system/sbcl)
7390 (inputs
7391 `(("alexandria" ,sbcl-alexandria)
7392 ("cffi" ,sbcl-cffi)
7393 ("iterate" ,sbcl-iterate)
7394 ("trivial-garbage" ,sbcl-trivial-garbage)
7395 ("glib" ,glib)
7396 ("gobject-introspection" ,gobject-introspection)))
7397 (native-inputs
7398 `(("fiveam" ,sbcl-fiveam)))
7399 (arguments
7400 '(#:phases
7401 (modify-phases %standard-phases
7402 (add-after 'unpack 'fix-paths
7403 (lambda* (#:key inputs #:allow-other-keys)
7404 (substitute* "src/init.lisp"
7405 (("libgobject-2\\.0\\.so")
7406 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7407 (("libgirepository-1\\.0\\.so")
7408 (string-append (assoc-ref inputs "gobject-introspection")
7409 "/lib/libgirepository-1.0.so")))
7410 #t)))))
7411 (synopsis "Common Lisp bindings to GObject Introspection")
7412 (description
7413 "This library is a bridge between Common Lisp and GObject
7414 Introspection, which enables Common Lisp programs to access the full interface
7415 of C+GObject libraries without the need of writing dedicated bindings.")
7416 (license (list license:bsd-3
7417 ;; Tests are under a different license.
7418 license:llgpl)))))
7419
7420 (define-public cl-gobject-introspection
7421 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7422
7423 (define-public ecl-cl-gobject-introspection
7424 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7425
7426 (define-public sbcl-cl-slug
7427 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7428 (revision "1"))
7429 (package
7430 (name "sbcl-cl-slug")
7431 (version (git-version "0.4.1" revision commit))
7432 (source
7433 (origin
7434 (method git-fetch)
7435 (uri (git-reference
7436 (url "https://github.com/EuAndreh/cl-slug")
7437 (commit commit)))
7438 (file-name (git-file-name "cl-slug" version))
7439 (sha256
7440 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7441 (build-system asdf-build-system/sbcl)
7442 (arguments
7443 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7444 #:asd-systems '("cl-slug-test" "cl-slug")))
7445 (native-inputs
7446 `(("prove" ,sbcl-prove)))
7447 (inputs
7448 `(("ppcre" ,sbcl-cl-ppcre)))
7449 (home-page "https://github.com/EuAndreh/cl-slug")
7450 (synopsis "Multi-language slug formatter")
7451 (description
7452 "This is a small Common Lisp library to make slugs, mainly for URIs,
7453 from English and beyond.")
7454 (license license:llgpl))))
7455
7456 (define-public ecl-cl-slug
7457 (sbcl-package->ecl-package sbcl-cl-slug))
7458
7459 (define-public cl-slug
7460 (sbcl-package->cl-source-package sbcl-cl-slug))
7461
7462 (define-public sbcl-string-case
7463 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7464 (revision "0"))
7465 (package
7466 (name "sbcl-string-case")
7467 (version (git-version "0.0.2" revision commit))
7468 (home-page "https://github.com/pkhuong/string-case")
7469 (source
7470 (origin
7471 (method git-fetch)
7472 (uri (git-reference
7473 (url home-page)
7474 (commit commit)))
7475 (file-name (git-file-name name version))
7476 (sha256
7477 (base32
7478 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7479 (build-system asdf-build-system/sbcl)
7480 (synopsis "Efficient string= case in Common Lisp")
7481 (description
7482 "@code{string-case} is a Common Lisp macro that generates specialised decision
7483 trees to dispatch on string equality.")
7484 (license license:bsd-3))))
7485
7486 (define-public cl-string-case
7487 (sbcl-package->cl-source-package sbcl-string-case))
7488
7489 (define-public ecl-string-case
7490 (sbcl-package->ecl-package sbcl-string-case))
7491
7492 (define-public sbcl-garbage-pools
7493 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7494 (revision "1"))
7495 (package
7496 (name "sbcl-garbage-pools")
7497 (version (git-version "0.1.2" revision commit))
7498 (source
7499 (origin
7500 (method git-fetch)
7501 (uri (git-reference
7502 (url "https://github.com/archimag/garbage-pools")
7503 (commit commit)))
7504 (file-name (git-file-name name version))
7505 (sha256
7506 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7507 (build-system asdf-build-system/sbcl)
7508 (home-page "https://github.com/archimag/garbage-pools")
7509 (synopsis "Resource management pools for Common Lisp")
7510 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7511 Pools for resource management.")
7512 (license license:expat))))
7513
7514 (define-public ecl-garbage-pools
7515 (sbcl-package->ecl-package sbcl-garbage-pools))
7516
7517 (define-public cl-garbage-pools
7518 (sbcl-package->cl-source-package sbcl-garbage-pools))
7519
7520 (define-public sbcl-global-vars
7521 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7522 (revision "0"))
7523 (package
7524 (name "sbcl-global-vars")
7525 (version (git-version "1.0.0" revision commit))
7526 (home-page "https://github.com/lmj/global-vars")
7527 (source
7528 (origin
7529 (method git-fetch)
7530 (uri (git-reference
7531 (url home-page)
7532 (commit commit)))
7533 (file-name (git-file-name name version))
7534 (sha256
7535 (base32
7536 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7537 (build-system asdf-build-system/sbcl)
7538 (synopsis "Efficient global variables in Common Lisp")
7539 (description
7540 "In Common Lisp, a special variable that is never dynamically bound
7541 typically serves as a stand-in for a global variable. The @code{global-vars}
7542 library provides true global variables that are implemented by some compilers.
7543 An attempt to rebind a global variable properly results in a compiler error.
7544 That is, a global variable cannot be dynamically bound.
7545
7546 Global variables therefore allow us to communicate an intended usage that
7547 differs from special variables. Global variables are also more efficient than
7548 special variables, especially in the presence of threads.")
7549 (license license:expat))))
7550
7551 (define-public cl-global-vars
7552 (sbcl-package->cl-source-package sbcl-global-vars))
7553
7554 (define-public ecl-global-vars
7555 (sbcl-package->ecl-package sbcl-global-vars))
7556
7557 (define-public sbcl-trivial-file-size
7558 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7559 (revision "0"))
7560 (package
7561 (name "sbcl-trivial-file-size")
7562 (version (git-version "0.0.0" revision commit))
7563 (home-page "https://github.com/ruricolist/trivial-file-size")
7564 (source
7565 (origin
7566 (method git-fetch)
7567 (uri (git-reference
7568 (url home-page)
7569 (commit commit)))
7570 (file-name (git-file-name name version))
7571 (sha256
7572 (base32
7573 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7574 (build-system asdf-build-system/sbcl)
7575 (native-inputs
7576 `(("fiveam" ,sbcl-fiveam)))
7577 (synopsis "Size of a file in bytes in Common Lisp")
7578 (description
7579 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7580 is to open the file with an element type of (unsigned-byte 8) and then
7581 calculate the length of the stream. This is less than ideal. In most cases
7582 it is better to get the size of the file from its metadata, using a system
7583 call.
7584
7585 This library exports a single function, file-size-in-octets. It returns the
7586 size of a file in bytes, using system calls when possible.")
7587 (license license:expat))))
7588
7589 (define-public cl-trivial-file-size
7590 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7591
7592 (define-public ecl-trivial-file-size
7593 (sbcl-package->ecl-package sbcl-trivial-file-size))
7594
7595 (define-public sbcl-trivial-macroexpand-all
7596 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7597 (revision "0"))
7598 (package
7599 (name "sbcl-trivial-macroexpand-all")
7600 (version (git-version "0.0.0" revision commit))
7601 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7602 (source
7603 (origin
7604 (method git-fetch)
7605 (uri (git-reference
7606 (url home-page)
7607 (commit commit)))
7608 (file-name (git-file-name name version))
7609 (sha256
7610 (base32
7611 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7612 (build-system asdf-build-system/sbcl)
7613 (native-inputs
7614 `(("fiveam" ,sbcl-fiveam)))
7615 (synopsis "Portable macroexpand-all for Common Lisp")
7616 (description
7617 "This library provides a macroexpand-all function that calls the
7618 implementation specific equivalent.")
7619 (license license:unlicense))))
7620
7621 (define-public cl-trivial-macroexpand-all
7622 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7623
7624 (define-public ecl-trivial-macroexpand-all
7625 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7626
7627 (define-public sbcl-serapeum
7628 (let ((commit "c29a52ff0c5f6e60b09919c3a0daa8df7599ddb9")
7629 (revision "6"))
7630 (package
7631 (name "sbcl-serapeum")
7632 (version (git-version "0.0.0" revision commit))
7633 (home-page "https://github.com/ruricolist/serapeum")
7634 (source
7635 (origin
7636 (method git-fetch)
7637 (uri (git-reference
7638 (url home-page)
7639 (commit commit)))
7640 (file-name (git-file-name name version))
7641 (sha256
7642 (base32 "0vij9jhji09way1rpd0r5sgjnh5amm3f2ymppnqkw0c6nnk2p0kd"))))
7643 (build-system asdf-build-system/sbcl)
7644 (inputs
7645 `(("alexandria" ,sbcl-alexandria)
7646 ("trivia" ,sbcl-trivia)
7647 ("split-sequence" ,sbcl-split-sequence)
7648 ("string-case" ,sbcl-string-case)
7649 ("parse-number" ,sbcl-parse-number)
7650 ("trivial-garbage" ,sbcl-trivial-garbage)
7651 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7652 ("named-readtables" ,sbcl-named-readtables)
7653 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7654 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7655 ("global-vars" ,sbcl-global-vars)
7656 ("trivial-file-size" ,sbcl-trivial-file-size)
7657 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7658 (native-inputs
7659 `(("fiveam" ,sbcl-fiveam)
7660 ("local-time" ,sbcl-local-time)))
7661 (arguments
7662 '(#:phases
7663 (modify-phases %standard-phases
7664 (add-after 'unpack 'disable-failing-tests
7665 (lambda* (#:key inputs #:allow-other-keys)
7666 (substitute* "serapeum.asd"
7667 ;; Guix does not have Quicklisp, and probably never will.
7668 (("\\(:file \"quicklisp\"\\)") ""))
7669 #t)))))
7670 (synopsis "Common Lisp utility library beyond Alexandria")
7671 (description
7672 "Serapeum is a conservative library of Common Lisp utilities. It is a
7673 supplement, not a competitor, to Alexandria.")
7674 (license license:expat))))
7675
7676 (define-public cl-serapeum
7677 (sbcl-package->cl-source-package sbcl-serapeum))
7678
7679 (define-public ecl-serapeum
7680 (sbcl-package->ecl-package sbcl-serapeum))
7681
7682 (define-public sbcl-arrows
7683 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7684 (revision "0"))
7685 (package
7686 (name "sbcl-arrows")
7687 (version (git-version "0.2.0" revision commit))
7688 (source
7689 (origin
7690 (method git-fetch)
7691 (uri (git-reference
7692 (url "https://gitlab.com/Harleqin/arrows.git")
7693 (commit commit)))
7694 (file-name (git-file-name name version))
7695 (sha256
7696 (base32
7697 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7698 (build-system asdf-build-system/sbcl)
7699 (native-inputs
7700 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7701 (synopsis "Clojure-like arrow macros for Common Lisp")
7702 (description
7703 "This library implements the @code{->} and @code{->>} macros from
7704 Clojure, as well as several expansions on the idea.")
7705 (home-page "https://gitlab.com/Harleqin/arrows")
7706 (license license:public-domain))))
7707
7708 (define-public cl-arrows
7709 (sbcl-package->cl-source-package sbcl-arrows))
7710
7711 (define-public ecl-arrows
7712 (sbcl-package->ecl-package sbcl-arrows))
7713
7714 (define-public sbcl-simple-parallel-tasks
7715 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7716 (revision "1"))
7717 (package
7718 (name "sbcl-simple-parallel-tasks")
7719 (version (git-version "1.0" revision commit))
7720 (source
7721 (origin
7722 (method git-fetch)
7723 (uri (git-reference
7724 (url "https://github.com/glv2/simple-parallel-tasks")
7725 (commit commit)))
7726 (file-name (git-file-name name version))
7727 (sha256
7728 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7729 (build-system asdf-build-system/sbcl)
7730 (native-inputs
7731 `(("fiveam" ,sbcl-fiveam)))
7732 (inputs
7733 `(("chanl" ,sbcl-chanl)))
7734 (synopsis "Common Lisp library to evaluate some forms in parallel")
7735 (description "This is a simple Common Lisp library to evaluate some
7736 forms in parallel.")
7737 (home-page "https://github.com/glv2/simple-parallel-tasks")
7738 (license license:gpl3))))
7739
7740 (define-public cl-simple-parallel-tasks
7741 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7742
7743 (define-public ecl-simple-parallel-tasks
7744 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7745
7746 (define-public sbcl-cl-heap
7747 (package
7748 (name "sbcl-cl-heap")
7749 (version "0.1.6")
7750 (source
7751 (origin
7752 (method url-fetch)
7753 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7754 "cl-heap_" version ".tar.gz"))
7755 (sha256
7756 (base32
7757 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7758 (build-system asdf-build-system/sbcl)
7759 (native-inputs
7760 `(("xlunit" ,sbcl-xlunit)))
7761 (arguments
7762 `(#:test-asd-file "cl-heap-tests.asd"))
7763 (synopsis "Heap and priority queue data structures for Common Lisp")
7764 (description
7765 "CL-HEAP provides various implementations of heap data structures (a
7766 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7767 (home-page "https://common-lisp.net/project/cl-heap/")
7768 (license license:gpl3+)))
7769
7770 (define-public cl-heap
7771 (sbcl-package->cl-source-package sbcl-cl-heap))
7772
7773 (define-public ecl-cl-heap
7774 (sbcl-package->ecl-package sbcl-cl-heap))
7775
7776 (define-public sbcl-curry-compose-reader-macros
7777 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7778 (revision "0"))
7779 (package
7780 (name "sbcl-curry-compose-reader-macros")
7781 (version (git-version "1.0.0" revision commit))
7782 (source
7783 (origin
7784 (method git-fetch)
7785 (uri
7786 (git-reference
7787 (url "https://github.com/eschulte/curry-compose-reader-macros")
7788 (commit commit)))
7789 (file-name (git-file-name name version))
7790 (sha256
7791 (base32
7792 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7793 (build-system asdf-build-system/sbcl)
7794 (inputs
7795 `(("alexandria" ,sbcl-alexandria)
7796 ("named-readtables" ,sbcl-named-readtables)))
7797 (synopsis "Reader macros for partial application and composition")
7798 (description
7799 "This Common Lisp library provides reader macros for concise expression
7800 of function partial application and composition.")
7801 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7802 (license license:public-domain))))
7803
7804 (define-public cl-curry-compose-reader-macros
7805 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7806
7807 (define-public ecl-curry-compose-reader-macros
7808 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7809
7810 (define-public sbcl-yason
7811 (package
7812 (name "sbcl-yason")
7813 (version "0.7.7")
7814 (source
7815 (origin
7816 (method git-fetch)
7817 (uri (git-reference
7818 (url "https://github.com/phmarek/yason")
7819 (commit (string-append "v" version))))
7820 (file-name (git-file-name name version))
7821 (sha256
7822 (base32
7823 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7824 (build-system asdf-build-system/sbcl)
7825 (inputs
7826 `(("alexandria" ,sbcl-alexandria)
7827 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7828 (synopsis "Common Lisp JSON parser/encoder")
7829 (description
7830 "YASON is a Common Lisp library for encoding and decoding data in the
7831 JSON interchange format.")
7832 (home-page "https://github.com/phmarek/yason")
7833 (license license:bsd-3)))
7834
7835 (define-public cl-yason
7836 (sbcl-package->cl-source-package sbcl-yason))
7837
7838 (define-public ecl-yason
7839 (sbcl-package->ecl-package sbcl-yason))
7840
7841 (define-public sbcl-stefil
7842 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7843 (revision "0"))
7844 (package
7845 (name "sbcl-stefil")
7846 (version (git-version "0.1" revision commit))
7847 (source
7848 (origin
7849 (method git-fetch)
7850 (uri (git-reference
7851 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7852 (commit commit)))
7853 (file-name (git-file-name name version))
7854 (sha256
7855 (base32
7856 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7857 (build-system asdf-build-system/sbcl)
7858 (inputs
7859 `(("alexandria" ,sbcl-alexandria)
7860 ("iterate" ,sbcl-iterate)
7861 ("metabang-bind" ,sbcl-metabang-bind)
7862 ("swank" ,sbcl-slime-swank)))
7863 (arguments
7864 '(#:phases
7865 (modify-phases %standard-phases
7866 (add-after 'unpack 'drop-unnecessary-dependency
7867 (lambda _
7868 (substitute* "package.lisp"
7869 ((":stefil-system") ""))
7870 #t)))))
7871 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7872 (synopsis "Simple test framework")
7873 (description
7874 "Stefil is a simple test framework for Common Lisp, with a focus on
7875 interactive development.")
7876 (license license:public-domain))))
7877
7878 (define-public cl-stefil
7879 (sbcl-package->cl-source-package sbcl-stefil))
7880
7881 (define-public ecl-stefil
7882 (sbcl-package->ecl-package sbcl-stefil))
7883
7884 (define-public sbcl-graph
7885 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7886 (revision "0"))
7887 (package
7888 (name "sbcl-graph")
7889 (version (git-version "0.0.0" revision commit))
7890 (source
7891 (origin
7892 (method git-fetch)
7893 (uri
7894 (git-reference
7895 (url "https://github.com/eschulte/graph")
7896 (commit commit)))
7897 (file-name (git-file-name name version))
7898 (sha256
7899 (base32
7900 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7901 (build-system asdf-build-system/sbcl)
7902 (native-inputs
7903 `(("stefil" ,sbcl-stefil)))
7904 (inputs
7905 `(("alexandria" ,sbcl-alexandria)
7906 ("cl-heap" ,sbcl-cl-heap)
7907 ("cl-ppcre" ,sbcl-cl-ppcre)
7908 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7909 ("metabang-bind" ,sbcl-metabang-bind)
7910 ("named-readtables" ,sbcl-named-readtables)
7911 ("yason" ,sbcl-yason)))
7912 (arguments
7913 '(#:asd-systems '("graph"
7914 "graph/dot"
7915 "graph/json")))
7916 (synopsis "Graph data structure and algorithms for Common Lisp")
7917 (description
7918 "The GRAPH Common Lisp library provides a data structures to represent
7919 graphs, as well as some graph manipulation and analysis algorithms (shortest
7920 path, maximum flow, minimum spanning tree, etc.).")
7921 (home-page "https://eschulte.github.io/graph/")
7922 (license license:gpl3+))))
7923
7924 (define-public cl-graph
7925 (sbcl-package->cl-source-package sbcl-graph))
7926
7927 (define-public ecl-graph
7928 (sbcl-package->ecl-package sbcl-graph))
7929
7930 (define-public sbcl-trivial-indent
7931 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7932 (revision "0"))
7933 (package
7934 (name "sbcl-trivial-indent")
7935 (version (git-version "1.0.0" revision commit))
7936 (source
7937 (origin
7938 (method git-fetch)
7939 (uri
7940 (git-reference
7941 (url "https://github.com/Shinmera/trivial-indent")
7942 (commit commit)))
7943 (file-name (git-file-name name version))
7944 (sha256
7945 (base32
7946 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7947 (build-system asdf-build-system/sbcl)
7948 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7949 (description
7950 "This library allows you to define custom indentation hints for your
7951 macros if the one recognised by SLIME automatically produces unwanted
7952 results.")
7953 (home-page "https://shinmera.github.io/trivial-indent/")
7954 (license license:zlib))))
7955
7956 (define-public cl-trivial-indent
7957 (sbcl-package->cl-source-package sbcl-trivial-indent))
7958
7959 (define-public ecl-trivial-indent
7960 (sbcl-package->ecl-package sbcl-trivial-indent))
7961
7962 (define-public sbcl-documentation-utils
7963 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7964 (revision "0"))
7965 (package
7966 (name "sbcl-documentation-utils")
7967 (version (git-version "1.2.0" revision commit))
7968 (source
7969 (origin
7970 (method git-fetch)
7971 (uri
7972 (git-reference
7973 (url "https://github.com/Shinmera/documentation-utils")
7974 (commit commit)))
7975 (file-name (git-file-name name version))
7976 (sha256
7977 (base32
7978 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7979 (build-system asdf-build-system/sbcl)
7980 (inputs
7981 `(("trivial-indent" ,sbcl-trivial-indent)))
7982 (synopsis "Few simple tools to document Common Lisp libraries")
7983 (description
7984 "This is a small library to help you with managing the Common Lisp
7985 docstrings for your library.")
7986 (home-page "https://shinmera.github.io/documentation-utils/")
7987 (license license:zlib))))
7988
7989 (define-public cl-documentation-utils
7990 (sbcl-package->cl-source-package sbcl-documentation-utils))
7991
7992 (define-public ecl-documentation-utils
7993 (sbcl-package->ecl-package sbcl-documentation-utils))
7994
7995 (define-public sbcl-documentation-utils-extensions
7996 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7997 (package
7998 (name "sbcl-documentation-utils-extensions")
7999 (version (git-version "0.0.0" "1" commit))
8000 (source
8001 (origin
8002 (method git-fetch)
8003 (uri
8004 (git-reference
8005 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
8006 (commit commit)))
8007 (file-name (git-file-name name version))
8008 (sha256
8009 (base32
8010 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
8011 (build-system asdf-build-system/sbcl)
8012 (inputs
8013 `(("documentation-utils" ,sbcl-documentation-utils)))
8014 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
8015 (synopsis "Set of extensions for documentation-utils")
8016 (description
8017 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
8018 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
8019 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
8020 @code{:see-also} and @code{:notes}. Gather unformatted input by using
8021 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
8022 gathered documentation with find-documentation function. Execute code stored
8023 in documentation with @code{execute-documentation}. See the examples in the
8024 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
8025 for more information.")
8026 (license license:expat))))
8027
8028 (define-public cl-documentation-utils-extensions
8029 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
8030
8031 (define-public ecl-documentation-utils-extensions
8032 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
8033
8034 (define-public sbcl-form-fiddle
8035 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
8036 (revision "0"))
8037 (package
8038 (name "sbcl-form-fiddle")
8039 (version (git-version "1.1.0" revision commit))
8040 (source
8041 (origin
8042 (method git-fetch)
8043 (uri
8044 (git-reference
8045 (url "https://github.com/Shinmera/form-fiddle")
8046 (commit commit)))
8047 (file-name (git-file-name name version))
8048 (sha256
8049 (base32
8050 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
8051 (build-system asdf-build-system/sbcl)
8052 (inputs
8053 `(("documentation-utils" ,sbcl-documentation-utils)))
8054 (synopsis "Utilities to destructure Common Lisp lambda forms")
8055 (description
8056 "Often times we need to destructure a form definition in a Common Lisp
8057 macro. This library provides a set of simple utilities to help with that.")
8058 (home-page "https://shinmera.github.io/form-fiddle/")
8059 (license license:zlib))))
8060
8061 (define-public cl-form-fiddle
8062 (sbcl-package->cl-source-package sbcl-form-fiddle))
8063
8064 (define-public ecl-form-fiddle
8065 (sbcl-package->ecl-package sbcl-form-fiddle))
8066
8067 (define-public sbcl-parachute
8068 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
8069 (revision "0"))
8070 (package
8071 (name "sbcl-parachute")
8072 (version (git-version "1.1.1" revision commit))
8073 (source
8074 (origin
8075 (method git-fetch)
8076 (uri
8077 (git-reference
8078 (url "https://github.com/Shinmera/parachute")
8079 (commit commit)))
8080 (file-name (git-file-name name version))
8081 (sha256
8082 (base32
8083 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
8084 (build-system asdf-build-system/sbcl)
8085 (inputs
8086 `(("documentation-utils" ,sbcl-documentation-utils)
8087 ("form-fiddle" ,sbcl-form-fiddle)))
8088 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
8089 (description
8090 "Parachute is a simple-to-use and extensible testing framework.
8091 In Parachute, things are organised as a bunch of named tests within a package.
8092 Each test can contain a bunch of test forms that make up its body.")
8093 (home-page "https://shinmera.github.io/parachute/")
8094 (license license:zlib))))
8095
8096 (define-public cl-parachute
8097 (sbcl-package->cl-source-package sbcl-parachute))
8098
8099 (define-public ecl-parachute
8100 (sbcl-package->ecl-package sbcl-parachute))
8101
8102 (define-public sbcl-array-utils
8103 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
8104 (revision "0"))
8105 (package
8106 (name "sbcl-array-utils")
8107 (version (git-version "1.1.1" revision commit))
8108 (source
8109 (origin
8110 (method git-fetch)
8111 (uri
8112 (git-reference
8113 (url "https://github.com/Shinmera/array-utils")
8114 (commit commit)))
8115 (file-name (git-file-name name version))
8116 (sha256
8117 (base32
8118 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
8119 (build-system asdf-build-system/sbcl)
8120 (native-inputs
8121 `(("parachute" ,sbcl-parachute)))
8122 (inputs
8123 `(("documentation-utils" ,sbcl-documentation-utils)))
8124 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
8125 (description
8126 "A miniature toolkit that contains some useful shifting/popping/pushing
8127 functions for arrays and vectors. Originally from Plump.")
8128 (home-page "https://shinmera.github.io/array-utils/")
8129 (license license:zlib))))
8130
8131 (define-public cl-array-utils
8132 (sbcl-package->cl-source-package sbcl-array-utils))
8133
8134 (define-public ecl-array-utils
8135 (sbcl-package->ecl-package sbcl-array-utils))
8136
8137 (define-public sbcl-plump
8138 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
8139 (revision "1"))
8140 (package
8141 (name "sbcl-plump")
8142 (version (git-version "2.0.0" revision commit))
8143 (source
8144 (origin
8145 (method git-fetch)
8146 (uri
8147 (git-reference
8148 (url "https://github.com/Shinmera/plump")
8149 (commit commit)))
8150 (file-name (git-file-name name version))
8151 (sha256
8152 (base32
8153 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
8154 (build-system asdf-build-system/sbcl)
8155 (inputs
8156 `(("array-utils" ,sbcl-array-utils)
8157 ("documentation-utils" ,sbcl-documentation-utils)))
8158 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
8159 (description
8160 "Plump is a parser for HTML/XML-like documents, focusing on being
8161 lenient towards invalid markup. It can handle things like invalid attributes,
8162 bad closing tag order, unencoded entities, inexistent tag types, self-closing
8163 tags and so on. It parses documents to a class representation and offers a
8164 small set of DOM functions to manipulate it. It can be extended to parse to
8165 your own classes.")
8166 (home-page "https://shinmera.github.io/plump/")
8167 (license license:zlib))))
8168
8169 (define-public cl-plump
8170 (sbcl-package->cl-source-package sbcl-plump))
8171
8172 (define-public ecl-plump
8173 (sbcl-package->ecl-package sbcl-plump))
8174
8175 ;;; Split the antik package in two to work around the circular dependency
8176 ;;; between antik/antik and antik/gsll.
8177 (define-public sbcl-antik-base
8178 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
8179 (revision "1"))
8180 (package
8181 (name "sbcl-antik-base")
8182 (version (git-version "0.0.0" revision commit))
8183 (source
8184 (origin
8185 (method git-fetch)
8186 (uri (git-reference
8187 (url "https://gitlab.common-lisp.net/antik/antik.git")
8188 (commit commit)))
8189 (file-name (git-file-name name version))
8190 (sha256
8191 (base32
8192 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
8193 (build-system asdf-build-system/sbcl)
8194 (inputs
8195 `(("alexandria" ,sbcl-alexandria)
8196 ("cffi" ,sbcl-cffi)
8197 ("cl-ppcre" ,sbcl-cl-ppcre)
8198 ("drakma" ,sbcl-drakma)
8199 ("fare-utils" ,sbcl-fare-utils)
8200 ("iterate" ,sbcl-iterate)
8201 ("metabang-bind" ,sbcl-metabang-bind)
8202 ("named-readtables" ,sbcl-named-readtables)
8203 ("split-sequence" ,sbcl-split-sequence)
8204 ("static-vectors" ,sbcl-static-vectors)
8205 ("trivial-garbage" ,sbcl-trivial-garbage)
8206 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
8207 (native-inputs
8208 `(("lisp-unit" ,sbcl-lisp-unit)))
8209 (arguments
8210 '(#:asd-systems '("antik-base"
8211 "foreign-array")
8212 #:phases
8213 (modify-phases %standard-phases
8214 (add-after 'unpack 'fix-build
8215 (lambda _
8216 (for-each delete-file
8217 '("antik.asd"
8218 "physical-dimension.asd"
8219 "science-data.asd"))
8220 #t)))))
8221 (synopsis "Scientific and engineering computation in Common Lisp")
8222 (description
8223 "Antik provides a foundation for scientific and engineering
8224 computation in Common Lisp. It is designed not only to facilitate
8225 numerical computations, but to permit the use of numerical computation
8226 libraries and the interchange of data and procedures, whether
8227 foreign (non-Lisp) or Lisp libraries. It is named after the
8228 Antikythera mechanism, one of the oldest examples of a scientific
8229 computer known.")
8230 (home-page "https://common-lisp.net/project/antik/")
8231 (license license:gpl3))))
8232
8233 (define-public cl-antik-base
8234 (sbcl-package->cl-source-package sbcl-antik-base))
8235
8236 (define-public ecl-antik-base
8237 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
8238 (package
8239 (inherit pkg)
8240 (arguments
8241 (substitute-keyword-arguments (package-arguments pkg)
8242 ((#:phases phases)
8243 `(modify-phases ,phases
8244 (add-after 'unpack 'fix-readtable
8245 (lambda _
8246 (substitute* "input-output/readtable.lisp"
8247 (("#-ccl")
8248 "#-(or ccl ecl)"))
8249 #t)))))))))
8250
8251 (define-public sbcl-gsll
8252 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
8253 (revision "1"))
8254 (package
8255 (name "sbcl-gsll")
8256 (version (git-version "0.0.0" revision commit))
8257 (source
8258 (origin
8259 (method git-fetch)
8260 (uri (git-reference
8261 (url "https://gitlab.common-lisp.net/antik/gsll.git")
8262 (commit commit)))
8263 (file-name (git-file-name name version))
8264 (sha256
8265 (base32
8266 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
8267 (build-system asdf-build-system/sbcl)
8268 (native-inputs
8269 `(("lisp-unit" ,sbcl-lisp-unit)))
8270 (inputs
8271 `(("alexandria" ,sbcl-alexandria)
8272 ("antik-base" ,sbcl-antik-base)
8273 ("cffi" ,sbcl-cffi)
8274 ("gsl" ,gsl)
8275 ("metabang-bind" ,sbcl-metabang-bind)
8276 ("trivial-features" ,sbcl-trivial-features)
8277 ("trivial-garbage" ,sbcl-trivial-garbage)))
8278 (arguments
8279 `(#:tests? #f
8280 #:phases
8281 (modify-phases %standard-phases
8282 (add-after 'unpack 'fix-cffi-paths
8283 (lambda* (#:key inputs #:allow-other-keys)
8284 (substitute* "gsll.asd"
8285 ((":depends-on \\(#:foreign-array")
8286 ":depends-on (#:foreign-array #:cffi-libffi"))
8287 (substitute* "init/init.lisp"
8288 (("libgslcblas.so" all)
8289 (string-append
8290 (assoc-ref inputs "gsl") "/lib/" all)))
8291 (substitute* "init/init.lisp"
8292 (("libgsl.so" all)
8293 (string-append
8294 (assoc-ref inputs "gsl") "/lib/" all))))))))
8295 (synopsis "GNU Scientific Library for Lisp")
8296 (description
8297 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8298 GNU Scientific Library (GSL) from Common Lisp. This library provides a
8299 full range of common mathematical operations useful to scientific and
8300 engineering applications. The design of the GSLL interface is such
8301 that access to most of the GSL library is possible in a Lisp-natural
8302 way; the intent is that the user not be hampered by the restrictions
8303 of the C language in which GSL has been written. GSLL thus provides
8304 interactive use of GSL for getting quick answers, even for someone not
8305 intending to program in Lisp.")
8306 (home-page "https://common-lisp.net/project/gsll/")
8307 (license license:gpl3))))
8308
8309 (define-public cl-gsll
8310 (sbcl-package->cl-source-package sbcl-gsll))
8311
8312 (define-public ecl-gsll
8313 (sbcl-package->ecl-package sbcl-gsll))
8314
8315 (define-public sbcl-antik
8316 (package
8317 (inherit sbcl-antik-base)
8318 (name "sbcl-antik")
8319 (inputs
8320 `(("antik-base" ,sbcl-antik-base)
8321 ("gsll" ,sbcl-gsll)))
8322 (arguments
8323 '(#:asd-systems '("antik"
8324 "science-data")
8325 #:phases
8326 (modify-phases %standard-phases
8327 (add-after 'unpack 'fix-build
8328 (lambda _
8329 (for-each delete-file
8330 '("antik-base.asd"
8331 "foreign-array.asd"))
8332 #t)))))))
8333
8334 (define-public cl-antik
8335 (sbcl-package->cl-source-package sbcl-antik))
8336
8337 (define-public sbcl-cl-interpol
8338 (let ((commit "70a1137f41dd8889004dbab9536b1adeac2497aa")
8339 (revision "1"))
8340 (package
8341 (name "sbcl-cl-interpol")
8342 (version (git-version "0.2.7" revision commit))
8343 (source
8344 (origin
8345 (method git-fetch)
8346 (uri (git-reference
8347 (url "https://github.com/edicl/cl-interpol")
8348 (commit commit)))
8349 (file-name (git-file-name "cl-interpol" version))
8350 (sha256
8351 (base32
8352 "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490"))))
8353 (build-system asdf-build-system/sbcl)
8354 (inputs
8355 `(("cl-unicode" ,sbcl-cl-unicode)
8356 ("named-readtables" ,sbcl-named-readtables)))
8357 (native-inputs
8358 `(("flexi-streams" ,sbcl-flexi-streams)))
8359 (synopsis "String interpolation for Common Lisp")
8360 (description
8361 "CL-INTERPOL is a library for Common Lisp which modifies the
8362 reader so that you can have interpolation within strings similar to
8363 Perl or Unix Shell scripts. It also provides various ways to insert
8364 arbitrary characters into literal strings even if your editor/IDE
8365 doesn't support them.")
8366 (home-page "https://edicl.github.io/cl-interpol/")
8367 (license license:bsd-3))))
8368
8369 (define-public cl-interpol
8370 (sbcl-package->cl-source-package sbcl-cl-interpol))
8371
8372 (define-public ecl-cl-interpol
8373 (sbcl-package->ecl-package sbcl-cl-interpol))
8374
8375 (define-public sbcl-symbol-munger
8376 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8377 (revision "1"))
8378 (package
8379 (name "sbcl-symbol-munger")
8380 (version (git-version "0.0.1" revision commit))
8381 (source
8382 (origin
8383 (method git-fetch)
8384 (uri (git-reference
8385 (url "https://github.com/AccelerationNet/symbol-munger")
8386 (commit commit)))
8387 (file-name (git-file-name name version))
8388 (sha256
8389 (base32
8390 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8391 (build-system asdf-build-system/sbcl)
8392 (inputs
8393 `(("alexandria" ,sbcl-alexandria)
8394 ("iterate" ,sbcl-iterate)))
8395 (arguments
8396 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8397 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8398 '(#:tests? #f))
8399 (synopsis
8400 "Capitalization and spacing conversion functions for Common Lisp")
8401 (description
8402 "This is a Common Lisp library to change the capitalization and spacing
8403 of a string or a symbol. It can convert to and from Lisp, english, underscore
8404 and camel-case rules.")
8405 (home-page "https://github.com/AccelerationNet/symbol-munger")
8406 ;; The package declares a BSD license, but all of the license
8407 ;; text is MIT.
8408 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8409 (license license:expat))))
8410
8411 (define-public cl-symbol-munger
8412 (sbcl-package->cl-source-package sbcl-symbol-munger))
8413
8414 (define-public ecl-symbol-munger
8415 (sbcl-package->ecl-package sbcl-symbol-munger))
8416
8417 (define-public sbcl-lisp-unit2
8418 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8419 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8420 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8421 (revision "1"))
8422 (package
8423 (name "sbcl-lisp-unit2")
8424 (version (git-version "0.2.0" revision commit))
8425 (source
8426 (origin
8427 (method git-fetch)
8428 (uri (git-reference
8429 (url "https://github.com/AccelerationNet/lisp-unit2")
8430 (commit commit)))
8431 (file-name (git-file-name name version))
8432 (sha256
8433 (base32
8434 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8435 (build-system asdf-build-system/sbcl)
8436 (inputs
8437 `(("alexandria" ,sbcl-alexandria)
8438 ("cl-interpol" ,sbcl-cl-interpol)
8439 ("iterate" ,sbcl-iterate)
8440 ("symbol-munger" ,sbcl-symbol-munger)))
8441 (synopsis "Test Framework for Common Lisp")
8442 (description
8443 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8444 style of JUnit for Java. It is a new version of the lisp-unit library written
8445 by Chris Riesbeck.")
8446 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8447 (license license:expat))))
8448
8449 (define-public cl-lisp-unit2
8450 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8451
8452 (define-public ecl-lisp-unit2
8453 (sbcl-package->ecl-package sbcl-lisp-unit2))
8454
8455 (define-public sbcl-cl-csv
8456 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8457 (revision "2"))
8458 (package
8459 (name "sbcl-cl-csv")
8460 (version (git-version "1.0.6" revision commit))
8461 (source
8462 (origin
8463 (method git-fetch)
8464 (uri (git-reference
8465 (url "https://github.com/AccelerationNet/cl-csv")
8466 (commit commit)))
8467 (file-name (git-file-name name version))
8468 (sha256
8469 (base32
8470 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8471 (build-system asdf-build-system/sbcl)
8472 (arguments
8473 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8474 `(#:tests? #f))
8475 (inputs
8476 `(("alexandria" ,sbcl-alexandria)
8477 ("cl-interpol" ,sbcl-cl-interpol)
8478 ("iterate" ,sbcl-iterate)))
8479 (native-inputs
8480 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8481 (synopsis "Common lisp library for comma-separated values")
8482 (description
8483 "This is a Common Lisp library providing functions to read/write CSV
8484 from/to strings, streams and files.")
8485 (home-page "https://github.com/AccelerationNet/cl-csv")
8486 (license license:bsd-3))))
8487
8488 (define-public cl-csv
8489 (sbcl-package->cl-source-package sbcl-cl-csv))
8490
8491 (define-public ecl-cl-csv
8492 (sbcl-package->ecl-package sbcl-cl-csv))
8493
8494 (define-public sbcl-external-program
8495 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8496 (revision "1"))
8497 (package
8498 (name "sbcl-external-program")
8499 (version (git-version "0.0.6" revision commit))
8500 (source
8501 (origin
8502 (method git-fetch)
8503 (uri (git-reference
8504 (url "https://github.com/sellout/external-program")
8505 (commit commit)))
8506 (file-name (git-file-name name version))
8507 (sha256
8508 (base32
8509 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8510 (build-system asdf-build-system/sbcl)
8511 (inputs
8512 `(("trivial-features" ,sbcl-trivial-features)))
8513 (native-inputs
8514 `(("fiveam" ,sbcl-fiveam)))
8515 (synopsis "Common Lisp library for running external programs")
8516 (description
8517 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8518 process. It is an attempt to make the RUN-PROGRAM functionality in
8519 implementations like SBCL and CCL as portable as possible without
8520 sacrificing much in the way of power.")
8521 (home-page "https://github.com/sellout/external-program")
8522 (license license:llgpl))))
8523
8524 (define-public cl-external-program
8525 (sbcl-package->cl-source-package sbcl-external-program))
8526
8527 (define-public ecl-external-program
8528 (sbcl-package->ecl-package sbcl-external-program))
8529
8530 (define-public sbcl-cl-ana
8531 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8532 (revision "1"))
8533 (package
8534 (name "sbcl-cl-ana")
8535 (version (git-version "0.0.0" revision commit))
8536 (source
8537 (origin
8538 (method git-fetch)
8539 (uri (git-reference
8540 (url "https://github.com/ghollisjr/cl-ana")
8541 (commit commit)))
8542 (file-name (git-file-name name version))
8543 (sha256
8544 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8545 (build-system asdf-build-system/sbcl)
8546 (native-inputs
8547 `(("cl-fad" ,sbcl-cl-fad)))
8548 (inputs
8549 `(("alexandria" ,sbcl-alexandria)
8550 ("antik" ,sbcl-antik)
8551 ("cffi" ,sbcl-cffi)
8552 ("cl-csv" ,sbcl-cl-csv)
8553 ("closer-mop" ,sbcl-closer-mop)
8554 ("external-program" ,sbcl-external-program)
8555 ("gsl" ,gsl)
8556 ("gsll" ,sbcl-gsll)
8557 ("hdf5" ,hdf5-parallel-openmpi)
8558 ("iterate" ,sbcl-iterate)
8559 ("libffi" ,libffi)
8560 ("split-sequence" ,sbcl-split-sequence)))
8561 (arguments
8562 `(#:phases
8563 (modify-phases %standard-phases
8564 (add-after 'unpack 'fix-paths
8565 (lambda* (#:key inputs #:allow-other-keys)
8566 (substitute* "hdf-cffi/hdf-cffi.lisp"
8567 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8568 (string-append (assoc-ref inputs "hdf5")
8569 "/lib/libhdf5.so")))
8570 (substitute* "gsl-cffi/gsl-cffi.lisp"
8571 (("define-foreign-library gsl-cffi" all)
8572 (string-append all " (:unix "
8573 (assoc-ref inputs "gsl")
8574 "/lib/libgsl.so)")))
8575 #t)))))
8576 (synopsis "Common Lisp data analysis library")
8577 (description
8578 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8579 binned data analysis along with nonlinear least squares fitting and
8580 visualization.")
8581 (home-page "https://github.com/ghollisjr/cl-ana")
8582 (license license:gpl3))))
8583
8584 (define-public cl-ana
8585 (sbcl-package->cl-source-package sbcl-cl-ana))
8586
8587 (define-public sbcl-archive
8588 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8589 (revision "1"))
8590 (package
8591 (name "sbcl-archive")
8592 (version (git-version "0.9" revision commit))
8593 (source (origin
8594 (method git-fetch)
8595 (uri (git-reference
8596 (url "https://github.com/sharplispers/archive")
8597 (commit commit)))
8598 (file-name (git-file-name name version))
8599 (sha256
8600 (base32
8601 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8602 (build-system asdf-build-system/sbcl)
8603 (inputs
8604 `(("cl-fad" ,sbcl-cl-fad)
8605 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8606 (synopsis "Common Lisp library for tar and cpio archives")
8607 (description
8608 "This is a Common Lisp library to read and write disk-based file
8609 archives such as those generated by the tar and cpio programs on Unix.")
8610 (home-page "https://github.com/sharplispers/archive")
8611 (license license:bsd-3))))
8612
8613 (define-public cl-archive
8614 (sbcl-package->cl-source-package sbcl-archive))
8615
8616 (define-public ecl-archive
8617 (sbcl-package->ecl-package sbcl-archive))
8618
8619 (define-public sbcl-misc-extensions
8620 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8621 (revision "1"))
8622 (package
8623 (name "sbcl-misc-extensions")
8624 (version (git-version "3.3" revision commit))
8625 (source
8626 (origin
8627 (method git-fetch)
8628 (uri (git-reference
8629 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8630 (commit commit)))
8631 (file-name (git-file-name name version))
8632 (sha256
8633 (base32
8634 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8635 (build-system asdf-build-system/sbcl)
8636 (synopsis "Collection of small macros and extensions for Common Lisp")
8637 (description
8638 "This project is intended as a catchall for small, general-purpose
8639 extensions to Common Lisp. It contains:
8640
8641 @itemize
8642 @item @code{new-let}, a macro that combines and generalizes @code{let},
8643 @code{let*} and @code{multiple-value-bind},
8644 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8645 @end itemize\n")
8646 (home-page "https://common-lisp.net/project/misc-extensions/")
8647 (license license:public-domain))))
8648
8649 (define-public cl-misc-extensions
8650 (sbcl-package->cl-source-package sbcl-misc-extensions))
8651
8652 (define-public ecl-misc-extensions
8653 (sbcl-package->ecl-package sbcl-misc-extensions))
8654
8655 (define-public sbcl-mt19937
8656 (package
8657 (name "sbcl-mt19937")
8658 (version "1.1")
8659 (source
8660 (origin
8661 (method url-fetch)
8662 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8663 "mt19937-latest.tar.gz"))
8664 (sha256
8665 (base32
8666 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8667 (build-system asdf-build-system/sbcl)
8668 (synopsis "Mersenne Twister pseudo-random number generator")
8669 (description
8670 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8671 for Common Lisp.")
8672 (home-page "https://www.cliki.net/mt19937")
8673 (license license:public-domain)))
8674
8675 (define-public cl-mt19937
8676 (sbcl-package->cl-source-package sbcl-mt19937))
8677
8678 (define-public ecl-mt19937
8679 (sbcl-package->ecl-package sbcl-mt19937))
8680
8681 (define-public sbcl-fset
8682 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8683 (revision "1"))
8684 (package
8685 (name "sbcl-fset")
8686 (version (git-version "1.3.2" revision commit))
8687 (source
8688 (origin
8689 (method git-fetch)
8690 (uri (git-reference
8691 (url "https://github.com/slburson/fset")
8692 (commit commit)))
8693 (file-name (git-file-name name version))
8694 (sha256
8695 (base32
8696 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8697 (snippet '(begin
8698 ;; Remove obsolete copy of system definition.
8699 (delete-file "Code/fset.asd")
8700 #t))))
8701 (build-system asdf-build-system/sbcl)
8702 (inputs
8703 `(("misc-extensions" ,sbcl-misc-extensions)
8704 ("mt19937" ,sbcl-mt19937)
8705 ("named-readtables" ,sbcl-named-readtables)))
8706 (synopsis "Functional set-theoretic collections library")
8707 (description
8708 "FSet is a functional set-theoretic collections library for Common Lisp.
8709 Functional means that all update operations return a new collection rather than
8710 modifying an existing one in place. Set-theoretic means that collections may
8711 be nested arbitrarily with no additional programmer effort; for instance, sets
8712 may contain sets, maps may be keyed by sets, etc.")
8713 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8714 (license license:llgpl))))
8715
8716 (define-public cl-fset
8717 (sbcl-package->cl-source-package sbcl-fset))
8718
8719 (define-public ecl-fset
8720 (package
8721 (inherit (sbcl-package->ecl-package sbcl-fset))
8722 (arguments
8723 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8724 '(#:tests? #f))))
8725
8726 (define-public sbcl-cl-cont
8727 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8728 (revision "1"))
8729 (package
8730 (name "sbcl-cl-cont")
8731 (version (git-version "0.3.8" revision commit))
8732 (source
8733 (origin
8734 (method git-fetch)
8735 (uri (git-reference
8736 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8737 (commit commit)))
8738 (file-name (git-file-name name version))
8739 (sha256
8740 (base32
8741 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8742 (build-system asdf-build-system/sbcl)
8743 (inputs
8744 `(("alexandria" ,sbcl-alexandria)
8745 ("closer-mop" ,sbcl-closer-mop)))
8746 (native-inputs
8747 `(("rt" ,sbcl-rt)))
8748 (synopsis "Delimited continuations for Common Lisp")
8749 (description
8750 "This is a library that implements delimited continuations by
8751 transforming Common Lisp code to continuation passing style.")
8752 (home-page "https://common-lisp.net/project/cl-cont/")
8753 (license license:llgpl))))
8754
8755 (define-public cl-cont
8756 (sbcl-package->cl-source-package sbcl-cl-cont))
8757
8758 (define-public ecl-cl-cont
8759 (sbcl-package->ecl-package sbcl-cl-cont))
8760
8761 (define-public sbcl-cl-coroutine
8762 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8763 (revision "1"))
8764 (package
8765 (name "sbcl-cl-coroutine")
8766 (version (git-version "0.1" revision commit))
8767 (source
8768 (origin
8769 (method git-fetch)
8770 (uri (git-reference
8771 (url "https://github.com/takagi/cl-coroutine")
8772 (commit commit)))
8773 (file-name (git-file-name name version))
8774 (sha256
8775 (base32
8776 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8777 (build-system asdf-build-system/sbcl)
8778 (inputs
8779 `(("alexandria" ,sbcl-alexandria)
8780 ("cl-cont" ,sbcl-cl-cont)))
8781 (native-inputs
8782 `(("prove" ,sbcl-prove)))
8783 (arguments
8784 `(;; TODO: Fix the tests. They fail with:
8785 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8786 #:tests? #f
8787 #:phases
8788 (modify-phases %standard-phases
8789 (add-after 'unpack 'fix-tests
8790 (lambda _
8791 (substitute* "cl-coroutine-test.asd"
8792 (("cl-test-more")
8793 "prove"))
8794 #t)))))
8795 (synopsis "Coroutine library for Common Lisp")
8796 (description
8797 "This is a coroutine library for Common Lisp implemented using the
8798 continuations of the @code{cl-cont} library.")
8799 (home-page "https://github.com/takagi/cl-coroutine")
8800 (license license:llgpl))))
8801
8802 (define-public cl-coroutine
8803 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8804
8805 (define-public ecl-cl-coroutine
8806 (sbcl-package->ecl-package sbcl-cl-coroutine))
8807
8808 (define-public sbcl-vas-string-metrics
8809 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8810 (revision "1"))
8811 (package
8812 (name "sbcl-vas-string-metrics")
8813 (version (git-version "0.0.0" revision commit))
8814 (source
8815 (origin
8816 (method git-fetch)
8817 (uri (git-reference
8818 (url "https://github.com/vsedach/vas-string-metrics")
8819 (commit commit)))
8820 (file-name (git-file-name "vas-string-metrics" version))
8821 (sha256
8822 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8823 (build-system asdf-build-system/sbcl)
8824 (arguments
8825 `(#:test-asd-file "test.vas-string-metrics.asd"))
8826 (home-page "https://github.com/vsedach/vas-string-metrics")
8827 (synopsis "String distance algorithms for Common Lisp")
8828 (description
8829 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8830 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8831 algorithms.")
8832 (license license:lgpl3+))))
8833
8834 (define-public ecl-vas-string-metrics
8835 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8836
8837 (define-public cl-vas-string-metrics
8838 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8839
8840 (define-public sbcl-vom
8841 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8842 (revision "1"))
8843 (package
8844 (name "sbcl-vom")
8845 (version (git-version "0.1.4" revision commit))
8846 (source
8847 (origin
8848 (method git-fetch)
8849 (uri (git-reference
8850 (url "https://github.com/orthecreedence/vom")
8851 (commit commit)))
8852 (file-name (git-file-name name version))
8853 (sha256
8854 (base32
8855 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8856 (build-system asdf-build-system/sbcl)
8857 (synopsis "Tiny logging utility for Common Lisp")
8858 (description
8859 "Vom is a logging library for Common Lisp. It's goal is to be useful
8860 and small. It does not provide a lot of features as other loggers do, but
8861 has a small codebase that's easy to understand and use.")
8862 (home-page "https://github.com/orthecreedence/vom")
8863 (license license:expat))))
8864
8865 (define-public cl-vom
8866 (sbcl-package->cl-source-package sbcl-vom))
8867
8868 (define-public ecl-vom
8869 (sbcl-package->ecl-package sbcl-vom))
8870
8871 (define-public sbcl-cl-libuv
8872 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8873 (revision "1"))
8874 (package
8875 (name "sbcl-cl-libuv")
8876 (version (git-version "0.1.6" revision commit))
8877 (source
8878 (origin
8879 (method git-fetch)
8880 (uri (git-reference
8881 (url "https://github.com/orthecreedence/cl-libuv")
8882 (commit commit)))
8883 (file-name (git-file-name name version))
8884 (sha256
8885 (base32
8886 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8887 (build-system asdf-build-system/sbcl)
8888 (inputs
8889 `(("alexandria" ,sbcl-alexandria)
8890 ("cffi" ,sbcl-cffi)
8891 ("libuv" ,libuv)))
8892 (arguments
8893 `(#:phases
8894 (modify-phases %standard-phases
8895 (add-after 'unpack 'fix-paths
8896 (lambda* (#:key inputs #:allow-other-keys)
8897 (substitute* "lib.lisp"
8898 (("/usr/lib/libuv.so")
8899 (string-append (assoc-ref inputs "libuv")
8900 "/lib/libuv.so")))
8901 #t))
8902 (add-after 'fix-paths 'fix-system-definition
8903 (lambda _
8904 (substitute* "cl-libuv.asd"
8905 (("#:cffi #:alexandria")
8906 "#:cffi #:cffi-grovel #:alexandria"))
8907 #t)))))
8908 (synopsis "Common Lisp bindings to libuv")
8909 (description
8910 "This library provides low-level libuv bindings for Common Lisp.")
8911 (home-page "https://github.com/orthecreedence/cl-libuv")
8912 (license license:expat))))
8913
8914 (define-public cl-libuv
8915 (sbcl-package->cl-source-package sbcl-cl-libuv))
8916
8917 (define-public ecl-cl-libuv
8918 (sbcl-package->ecl-package sbcl-cl-libuv))
8919
8920 (define-public sbcl-cl-async
8921 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8922 (revision "1"))
8923 (package
8924 (name "sbcl-cl-async")
8925 (version (git-version "0.6.1" revision commit))
8926 (source
8927 (origin
8928 (method git-fetch)
8929 (uri (git-reference
8930 (url "https://github.com/orthecreedence/cl-async")
8931 (commit commit)))
8932 (file-name (git-file-name name version))
8933 (sha256
8934 (base32
8935 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8936 (build-system asdf-build-system/sbcl)
8937 (inputs
8938 `(("babel" ,sbcl-babel)
8939 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8940 ("cffi" ,sbcl-cffi)
8941 ("cl-libuv" ,sbcl-cl-libuv)
8942 ("cl-ppcre" ,sbcl-cl-ppcre)
8943 ("fast-io" ,sbcl-fast-io)
8944 ("openssl" ,openssl)
8945 ("static-vectors" ,sbcl-static-vectors)
8946 ("trivial-features" ,sbcl-trivial-features)
8947 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8948 ("vom" ,sbcl-vom)))
8949 (arguments
8950 `(#:asd-systems '("cl-async"
8951 "cl-async-repl"
8952 "cl-async-ssl")
8953 #:phases
8954 (modify-phases %standard-phases
8955 (add-after 'unpack 'fix-paths
8956 (lambda* (#:key inputs #:allow-other-keys)
8957 (substitute* "src/ssl/package.lisp"
8958 (("libcrypto\\.so")
8959 (string-append (assoc-ref inputs "openssl")
8960 "/lib/libcrypto.so"))
8961 (("libssl\\.so")
8962 (string-append (assoc-ref inputs "openssl")
8963 "/lib/libssl.so")))
8964 #t)))))
8965 (synopsis "Asynchronous operations for Common Lisp")
8966 (description
8967 "Cl-async is a library for general purpose, non-blocking programming in
8968 Common Lisp. It uses the libuv library as backend.")
8969 (home-page "https://orthecreedence.github.io/cl-async/")
8970 (license license:expat))))
8971
8972 (define-public cl-async
8973 (sbcl-package->cl-source-package sbcl-cl-async))
8974
8975 (define-public ecl-cl-async
8976 (sbcl-package->ecl-package sbcl-cl-async))
8977
8978 (define-public sbcl-blackbird
8979 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8980 (revision "1"))
8981 (package
8982 (name "sbcl-blackbird")
8983 (version (git-version "0.5.2" revision commit))
8984 (source
8985 (origin
8986 (method git-fetch)
8987 (uri (git-reference
8988 (url "https://github.com/orthecreedence/blackbird")
8989 (commit commit)))
8990 (file-name (git-file-name name version))
8991 (sha256
8992 (base32
8993 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8994 (build-system asdf-build-system/sbcl)
8995 (inputs
8996 `(("vom" ,sbcl-vom)))
8997 (native-inputs
8998 `(("cl-async" ,sbcl-cl-async)
8999 ("fiveam" ,sbcl-fiveam)))
9000 (synopsis "Promise implementation for Common Lisp")
9001 (description
9002 "This is a standalone promise implementation for Common Lisp. It is
9003 the successor to the now-deprecated cl-async-future project.")
9004 (home-page "https://orthecreedence.github.io/blackbird/")
9005 (license license:expat))))
9006
9007 (define-public cl-blackbird
9008 (sbcl-package->cl-source-package sbcl-blackbird))
9009
9010 (define-public ecl-blackbird
9011 (sbcl-package->ecl-package sbcl-blackbird))
9012
9013 (define-public sbcl-cl-async-future
9014 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9015 (revision "1"))
9016 (package
9017 (name "sbcl-cl-async-future")
9018 (version (git-version "0.4.4.1" revision commit))
9019 (source
9020 (origin
9021 (method git-fetch)
9022 (uri (git-reference
9023 (url "https://github.com/orthecreedence/cl-async-future")
9024 (commit commit)))
9025 (file-name (git-file-name name version))
9026 (sha256
9027 (base32
9028 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9029 (build-system asdf-build-system/sbcl)
9030 (inputs
9031 `(("blackbird" ,sbcl-blackbird)))
9032 (native-inputs
9033 `(("cl-async" ,sbcl-cl-async)
9034 ("eos" ,sbcl-eos)))
9035 (synopsis "Futures implementation for Common Lisp")
9036 (description
9037 "This is futures implementation for Common Lisp. It plugs in nicely
9038 to cl-async.")
9039 (home-page "https://orthecreedence.github.io/cl-async/future")
9040 (license license:expat))))
9041
9042 (define-public cl-async-future
9043 (sbcl-package->cl-source-package sbcl-cl-async-future))
9044
9045 (define-public ecl-cl-async-future
9046 (sbcl-package->ecl-package sbcl-cl-async-future))
9047
9048 (define-public sbcl-green-threads
9049 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9050 (revision "1"))
9051 (package
9052 (name "sbcl-green-threads")
9053 (version (git-version "0.3" revision commit))
9054 (source
9055 (origin
9056 (method git-fetch)
9057 (uri (git-reference
9058 (url "https://github.com/thezerobit/green-threads")
9059 (commit commit)))
9060 (file-name (git-file-name name version))
9061 (sha256
9062 (base32
9063 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9064 (build-system asdf-build-system/sbcl)
9065 (inputs
9066 `(("cl-async-future" ,sbcl-cl-async-future)
9067 ("cl-cont" ,sbcl-cl-cont)))
9068 (native-inputs
9069 `(("prove" ,sbcl-prove)))
9070 (arguments
9071 `(;; TODO: Fix the tests. They fail with:
9072 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9073 #:tests? #f
9074 #:phases
9075 (modify-phases %standard-phases
9076 (add-after 'unpack 'fix-tests
9077 (lambda _
9078 (substitute* "green-threads-test.asd"
9079 (("cl-test-more")
9080 "prove"))
9081 #t)))))
9082 (synopsis "Cooperative multitasking library for Common Lisp")
9083 (description
9084 "This library allows for cooperative multitasking with help of cl-cont
9085 for continuations. It tries to mimic the API of bordeaux-threads as much as
9086 possible.")
9087 (home-page "https://github.com/thezerobit/green-threads")
9088 (license license:bsd-3))))
9089
9090 (define-public cl-green-threads
9091 (sbcl-package->cl-source-package sbcl-green-threads))
9092
9093 (define-public ecl-green-threads
9094 (sbcl-package->ecl-package sbcl-green-threads))
9095
9096 (define-public sbcl-cl-base32
9097 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9098 (revision "1"))
9099 (package
9100 (name "sbcl-cl-base32")
9101 (version (git-version "0.1" revision commit))
9102 (source
9103 (origin
9104 (method git-fetch)
9105 (uri (git-reference
9106 (url "https://github.com/hargettp/cl-base32")
9107 (commit commit)))
9108 (file-name (git-file-name name version))
9109 (sha256
9110 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9111 (build-system asdf-build-system/sbcl)
9112 (native-inputs
9113 `(("lisp-unit" ,sbcl-lisp-unit)))
9114 (synopsis "Common Lisp library for base32 encoding and decoding")
9115 (description
9116 "This package provides functions for base32 encoding and decoding as
9117 defined in RFC4648.")
9118 (home-page "https://github.com/hargettp/cl-base32")
9119 (license license:expat))))
9120
9121 (define-public cl-base32
9122 (sbcl-package->cl-source-package sbcl-cl-base32))
9123
9124 (define-public ecl-cl-base32
9125 (sbcl-package->ecl-package sbcl-cl-base32))
9126
9127 (define-public sbcl-cl-z85
9128 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9129 (revision "1"))
9130 (package
9131 (name "sbcl-cl-z85")
9132 (version (git-version "1.0" revision commit))
9133 (source
9134 (origin
9135 (method git-fetch)
9136 (uri (git-reference
9137 (url "https://github.com/glv2/cl-z85")
9138 (commit commit)))
9139 (file-name (git-file-name name version))
9140 (sha256
9141 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9142 (build-system asdf-build-system/sbcl)
9143 (native-inputs
9144 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9145 ("fiveam" ,sbcl-fiveam)))
9146 (synopsis "Common Lisp library for Z85 encoding and decoding")
9147 (description
9148 "This package provides functions to encode or decode byte vectors or
9149 byte streams using the Z85 format, which is a base-85 encoding used by
9150 ZeroMQ.")
9151 (home-page "https://github.com/glv2/cl-z85")
9152 (license license:gpl3+))))
9153
9154 (define-public cl-z85
9155 (sbcl-package->cl-source-package sbcl-cl-z85))
9156
9157 (define-public ecl-cl-z85
9158 (sbcl-package->ecl-package sbcl-cl-z85))
9159
9160 (define-public sbcl-ltk
9161 (package
9162 (name "sbcl-ltk")
9163 (version "0.992")
9164 (source
9165 (origin
9166 (method git-fetch)
9167 (uri (git-reference
9168 (url "https://github.com/herth/ltk")
9169 (commit version)))
9170 (file-name (git-file-name name version))
9171 (sha256
9172 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9173 (build-system asdf-build-system/sbcl)
9174 (inputs
9175 `(("imagemagick" ,imagemagick)
9176 ("tk" ,tk)))
9177 (arguments
9178 `(#:asd-systems '("ltk"
9179 "ltk-mw"
9180 "ltk-remote")
9181 #:tests? #f
9182 #:phases
9183 (modify-phases %standard-phases
9184 (add-after 'unpack 'fix-paths
9185 (lambda* (#:key inputs #:allow-other-keys)
9186 (substitute* "ltk/ltk.lisp"
9187 (("#-freebsd \"wish\"")
9188 (string-append "#-freebsd \""
9189 (assoc-ref inputs "tk")
9190 "/bin/wish\""))
9191 (("do-execute \"convert\"")
9192 (string-append "do-execute \""
9193 (assoc-ref inputs "imagemagick")
9194 "/bin/convert\"")))
9195 #t))
9196 (add-after 'unpack 'fix-build
9197 (lambda _
9198 (substitute* "ltk/ltk-remote.lisp"
9199 (("\\(:export")
9200 "(:shadow #:raise) (:export"))
9201 #t)))))
9202 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9203 (description
9204 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9205 in pure Common Lisp and does not require any Tk knowledge for its usage.")
9206 (home-page "http://www.peter-herth.de/ltk/")
9207 (license license:llgpl)))
9208
9209 (define-public cl-ltk
9210 (sbcl-package->cl-source-package sbcl-ltk))
9211
9212 (define-public ecl-ltk
9213 (sbcl-package->ecl-package sbcl-ltk))
9214
9215 (define-public sbcl-cl-lex
9216 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9217 (revision "1"))
9218 (package
9219 (name "sbcl-cl-lex")
9220 (version (git-version "1.1.3" revision commit))
9221 (source
9222 (origin
9223 (method git-fetch)
9224 (uri (git-reference
9225 (url "https://github.com/djr7C4/cl-lex")
9226 (commit commit)))
9227 (file-name (git-file-name name version))
9228 (sha256
9229 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9230 (build-system asdf-build-system/sbcl)
9231 (inputs
9232 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9233 (synopsis "Common Lisp macros for generating lexical analyzers")
9234 (description
9235 "This is a Common Lisp library providing a set of macros for generating
9236 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9237 be used with @code{cl-yacc}.")
9238 (home-page "https://github.com/djr7C4/cl-lex")
9239 (license license:gpl3))))
9240
9241 (define-public cl-lex
9242 (sbcl-package->cl-source-package sbcl-cl-lex))
9243
9244 (define-public ecl-cl-lex
9245 (sbcl-package->ecl-package sbcl-cl-lex))
9246
9247 (define-public sbcl-clunit2
9248 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9249 (revision "1"))
9250 (package
9251 (name "sbcl-clunit2")
9252 (version (git-version "0.2.4" revision commit))
9253 (source
9254 (origin
9255 (method git-fetch)
9256 (uri (git-reference
9257 (url "https://notabug.org/cage/clunit2.git")
9258 (commit commit)))
9259 (file-name (git-file-name name version))
9260 (sha256
9261 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9262 (build-system asdf-build-system/sbcl)
9263 (synopsis "Unit testing framework for Common Lisp")
9264 (description
9265 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9266 easy to use so that you can quickly start testing.")
9267 (home-page "https://notabug.org/cage/clunit2")
9268 (license license:expat))))
9269
9270 (define-public cl-clunit2
9271 (sbcl-package->cl-source-package sbcl-clunit2))
9272
9273 (define-public ecl-clunit2
9274 (sbcl-package->ecl-package sbcl-clunit2))
9275
9276 (define-public sbcl-cl-colors2
9277 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9278 (revision "1"))
9279 (package
9280 (name "sbcl-cl-colors2")
9281 (version (git-version "0.2.1" revision commit))
9282 (source
9283 (origin
9284 (method git-fetch)
9285 (uri (git-reference
9286 (url "https://notabug.org/cage/cl-colors2.git")
9287 (commit commit)))
9288 (file-name (git-file-name name version))
9289 (sha256
9290 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9291 (build-system asdf-build-system/sbcl)
9292 (native-inputs
9293 `(("clunit2" ,sbcl-clunit2)))
9294 (inputs
9295 `(("alexandria" ,sbcl-alexandria)
9296 ("cl-ppcre" ,sbcl-cl-ppcre)))
9297 (synopsis "Color library for Common Lisp")
9298 (description
9299 "This is a very simple color library for Common Lisp, providing:
9300
9301 @itemize
9302 @item Types for representing colors in HSV and RGB spaces.
9303 @item Simple conversion functions between the above types (and also
9304 hexadecimal representation for RGB).
9305 @item Some predefined colors (currently X11 color names -- of course
9306 the library does not depend on X11).
9307 @end itemize\n")
9308 (home-page "https://notabug.org/cage/cl-colors2")
9309 (license license:boost1.0))))
9310
9311 (define-public cl-colors2
9312 (sbcl-package->cl-source-package sbcl-cl-colors2))
9313
9314 (define-public ecl-cl-colors2
9315 (sbcl-package->ecl-package sbcl-cl-colors2))
9316
9317 (define-public sbcl-cl-jpeg
9318 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9319 (revision "1"))
9320 (package
9321 (name "sbcl-cl-jpeg")
9322 (version (git-version "2.8" revision commit))
9323 (source
9324 (origin
9325 (method git-fetch)
9326 (uri (git-reference
9327 (url "https://github.com/sharplispers/cl-jpeg")
9328 (commit commit)))
9329 (file-name (git-file-name name version))
9330 (sha256
9331 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
9332 (build-system asdf-build-system/sbcl)
9333 (synopsis "JPEG image library for Common Lisp")
9334 (description
9335 "This is a baseline JPEG codec written in Common Lisp. It can be used
9336 for reading and writing JPEG image files.")
9337 (home-page "https://github.com/sharplispers/cl-jpeg")
9338 (license license:bsd-3))))
9339
9340 (define-public cl-jpeg
9341 (sbcl-package->cl-source-package sbcl-cl-jpeg))
9342
9343 (define-public ecl-cl-jpeg
9344 (sbcl-package->ecl-package sbcl-cl-jpeg))
9345
9346 (define-public sbcl-png
9347 (let ((commit "11b965fe378fd0561abe3616b18ff03af5179648")
9348 (revision "1"))
9349 (package
9350 (name "sbcl-png")
9351 (version (git-version "0.6" revision commit))
9352 (source
9353 (origin
9354 (method git-fetch)
9355 (uri (git-reference
9356 (url "https://github.com/ljosa/cl-png")
9357 (commit commit)))
9358 (file-name (git-file-name "cl-png" version))
9359 (sha256
9360 (base32 "173hqwpd0rwqf95mfx1h9l9c3i8bb0gvnpspzmmz3g5x3440czy4"))))
9361 (build-system asdf-build-system/sbcl)
9362 (arguments
9363 `(#:phases
9364 (modify-phases %standard-phases
9365 (add-after 'unpack 'fix-lib-paths
9366 (lambda* (#:key inputs #:allow-other-keys)
9367 (substitute* "libpng.lisp"
9368 (("\"libpng\"")
9369 (string-append "\""
9370 (assoc-ref inputs "libpng")
9371 "/lib/libpng\""))))))))
9372 (inputs
9373 `(("cffi" ,sbcl-cffi)
9374 ("libpng" ,libpng)))
9375 (home-page "https://github.com/ljosa/cl-png")
9376 (synopsis "Read and write PNG file format")
9377 (description
9378 "This package provides a @code{PNG} Common Lisp system to operate with
9379 Portable Network Graphics file format.")
9380 (license license:lgpl2.1))))
9381
9382 (define-public ecl-png
9383 (sbcl-package->ecl-package sbcl-png))
9384
9385 (define-public cl-png
9386 (sbcl-package->cl-source-package sbcl-png))
9387
9388 (define-public sbcl-cl-svg
9389 (let ((commit "1e988ebd2d6e2ee7be4744208828ef1b59e5dcdc")
9390 (revision "1"))
9391 (package
9392 (name "sbcl-cl-svg")
9393 (version (git-version "0.0.3" revision commit))
9394 (source
9395 (origin
9396 (method git-fetch)
9397 (uri (git-reference
9398 (url "https://github.com/wmannis/cl-svg")
9399 (commit commit)))
9400 (file-name (git-file-name "cl-svg" version))
9401 (sha256
9402 (base32 "11rmzimy6j7ln7q5y1h2kw1225rsfb6fpn89qjcq7h5lc8fay0wz"))))
9403 (build-system asdf-build-system/sbcl)
9404 (home-page "https://github.com/wmannis/cl-svg")
9405 (synopsis "Write SVG file format")
9406 (description
9407 "This package provides the @code{CL-SVG} Common Lisp system to produce
9408 Scalable Vector Graphics files.")
9409 (license license:expat))))
9410
9411 (define-public ecl-cl-svg
9412 (sbcl-package->ecl-package sbcl-cl-svg))
9413
9414 (define-public cl-svg
9415 (sbcl-package->cl-source-package sbcl-cl-svg))
9416
9417 (define-public sbcl-nodgui
9418 (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
9419 (revision "1"))
9420 (package
9421 (name "sbcl-nodgui")
9422 (version (git-version "0.1.1" revision commit))
9423 (source
9424 (origin
9425 (method git-fetch)
9426 (uri (git-reference
9427 (url "https://notabug.org/cage/nodgui.git")
9428 (commit commit)))
9429 (file-name (git-file-name "nodgui" version))
9430 (sha256
9431 (base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib"))))
9432 (build-system asdf-build-system/sbcl)
9433 (inputs
9434 `(("alexandria" ,sbcl-alexandria)
9435 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9436 ("cl-colors2" ,sbcl-cl-colors2)
9437 ("cl-jpeg" ,sbcl-cl-jpeg)
9438 ("cl-lex" ,sbcl-cl-lex)
9439 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9440 ("cl-unicode" ,sbcl-cl-unicode)
9441 ("cl-yacc" ,sbcl-cl-yacc)
9442 ("clunit2" ,sbcl-clunit2)
9443 ("named-readtables" ,sbcl-named-readtables)
9444 ("parse-number" ,sbcl-parse-number)
9445 ("tk" ,tk)))
9446 (arguments
9447 `(#:phases (modify-phases %standard-phases
9448 (add-after 'unpack 'fix-paths
9449 (lambda* (#:key inputs #:allow-other-keys)
9450 (substitute* "src/wish-communication.lisp"
9451 (("#-freebsd \"wish\"")
9452 (string-append "#-freebsd \""
9453 (assoc-ref inputs "tk")
9454 "/bin/wish\"")))
9455 #t)))))
9456 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9457 (description
9458 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9459 toolkit. It also provides a few additional widgets more than the standard Tk
9460 ones.")
9461 (home-page "https://www.autistici.org/interzona/nodgui.html")
9462 (license license:llgpl))))
9463
9464 (define-public cl-nodgui
9465 (sbcl-package->cl-source-package sbcl-nodgui))
9466
9467 (define-public ecl-nodgui
9468 (sbcl-package->ecl-package sbcl-nodgui))
9469
9470 (define-public sbcl-salza2
9471 (package
9472 (name "sbcl-salza2")
9473 (version "2.0.9")
9474 (source
9475 (origin
9476 (method git-fetch)
9477 (uri (git-reference
9478 (url "https://github.com/xach/salza2")
9479 (commit (string-append "release-" version))))
9480 (file-name (git-file-name name version))
9481 (sha256
9482 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9483 (build-system asdf-build-system/sbcl)
9484 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9485 (description
9486 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9487 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9488 respectively.")
9489 (home-page "https://www.xach.com/lisp/salza2/")
9490 (license license:bsd-2)))
9491
9492 (define-public cl-salza2
9493 (sbcl-package->cl-source-package sbcl-salza2))
9494
9495 (define-public ecl-salza2
9496 (sbcl-package->ecl-package sbcl-salza2))
9497
9498 (define-public sbcl-origin
9499 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9500 (revision "1"))
9501 (package
9502 (name "sbcl-origin")
9503 (version (git-version "2.0.0" revision commit))
9504 (source
9505 (origin
9506 (method git-fetch)
9507 (uri (git-reference
9508 (url "https://git.mfiano.net/mfiano/origin")
9509 (commit commit)))
9510 (file-name (git-file-name "origin" version))
9511 (sha256
9512 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9513 (build-system asdf-build-system/sbcl)
9514 (native-inputs
9515 `(("parachute" ,sbcl-parachute)))
9516 (inputs
9517 `(("golden-utils" ,sbcl-golden-utils)
9518 ("specialization-store" ,sbcl-specialization-store)))
9519 (home-page "https://git.mfiano.net/mfiano/origin")
9520 (synopsis "Common Lisp graphics math library")
9521 (description
9522 "This is a native Common Lisp graphics math library with an emphasis on
9523 performance and correctness.")
9524 (license license:expat))))
9525
9526 (define-public ecl-origin
9527 (sbcl-package->ecl-package sbcl-origin))
9528
9529 (define-public cl-origin
9530 (sbcl-package->cl-source-package sbcl-origin))
9531
9532 (define-public sbcl-png-read
9533 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9534 (revision "1"))
9535 (package
9536 (name "sbcl-png-read")
9537 (version (git-version "0.3.1" revision commit))
9538 (source
9539 (origin
9540 (method git-fetch)
9541 (uri (git-reference
9542 (url "https://github.com/Ramarren/png-read")
9543 (commit commit)))
9544 (file-name (git-file-name name version))
9545 (sha256
9546 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9547 (build-system asdf-build-system/sbcl)
9548 (inputs
9549 `(("babel" ,sbcl-babel)
9550 ("chipz" ,sbcl-chipz)
9551 ("iterate" ,sbcl-iterate)))
9552 (synopsis "PNG decoder for Common Lisp")
9553 (description "This is a Common Lisp library for reading PNG images.")
9554 (home-page "https://github.com/Ramarren/png-read")
9555 (license license:bsd-3))))
9556
9557 (define-public cl-png-read
9558 (sbcl-package->cl-source-package sbcl-png-read))
9559
9560 (define-public ecl-png-read
9561 (sbcl-package->ecl-package sbcl-png-read))
9562
9563 (define-public sbcl-3b-bmfont
9564 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9565 (revision "1"))
9566 (package
9567 (name "sbcl-3b-bmfont")
9568 (version (git-version "0.0.1" revision commit))
9569 (source
9570 (origin
9571 (method git-fetch)
9572 (uri (git-reference
9573 (url "https://github.com/3b/3b-bmfont/")
9574 (commit commit)))
9575 (file-name (git-file-name "3b-bmfont" version))
9576 (sha256
9577 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9578 (build-system asdf-build-system/sbcl)
9579 (arguments
9580 `(#:asd-systems
9581 '("3b-bmfont"
9582 "3b-bmfont/text"
9583 "3b-bmfont/common"
9584 "3b-bmfont/xml"
9585 "3b-bmfont/json")))
9586 (inputs
9587 `(("alexandria" ,sbcl-alexandria)
9588 ("cxml" ,sbcl-cxml)
9589 ("flexi-streams" ,sbcl-flexi-streams)
9590 ("jsown" ,sbcl-jsown)
9591 ("split-sequence" ,sbcl-split-sequence)))
9592 (home-page "https://github.com/3b/3b-bmfont/")
9593 (synopsis "Read/write bmfont metadata files")
9594 (description
9595 "This is a Common Lisp library which provides functionality to
9596 read/write Bit Map Font (BMF) into text, JSON and XML.")
9597 (license license:expat))))
9598
9599 (define-public ecl-3b-bmfont
9600 (sbcl-package->ecl-package sbcl-3b-bmfont))
9601
9602 (define-public cl-3b-bmfont
9603 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9604
9605 (define-public sbcl-zpng
9606 (package
9607 (name "sbcl-zpng")
9608 (version "1.2.2")
9609 (source
9610 (origin
9611 (method git-fetch)
9612 (uri (git-reference
9613 (url "https://github.com/xach/zpng")
9614 (commit (string-append "release-" version))))
9615 (file-name (git-file-name name version))
9616 (sha256
9617 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9618 (build-system asdf-build-system/sbcl)
9619 (inputs
9620 `(("salza2" ,sbcl-salza2)))
9621 (synopsis "PNG encoder for Common Lisp")
9622 (description "This is a Common Lisp library for creating PNG images.")
9623 (home-page "https://www.xach.com/lisp/zpng/")
9624 (license license:bsd-2)))
9625
9626 (define-public cl-zpng
9627 (sbcl-package->cl-source-package sbcl-zpng))
9628
9629 (define-public ecl-zpng
9630 (sbcl-package->ecl-package sbcl-zpng))
9631
9632 (define-public sbcl-cl-qrencode
9633 (package
9634 (name "sbcl-cl-qrencode")
9635 (version "0.1.2")
9636 (source
9637 (origin
9638 (method git-fetch)
9639 (uri (git-reference
9640 (url "https://github.com/jnjcc/cl-qrencode")
9641 (commit (string-append "v" version))))
9642 (file-name (git-file-name name version))
9643 (sha256
9644 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9645 (build-system asdf-build-system/sbcl)
9646 (native-inputs
9647 `(("lisp-unit" ,sbcl-lisp-unit)))
9648 (inputs
9649 `(("zpng" ,sbcl-zpng)))
9650 (synopsis "QR code encoder for Common Lisp")
9651 (description
9652 "This Common Lisp library provides function to make QR codes and to save
9653 them as PNG files.")
9654 (home-page "https://github.com/jnjcc/cl-qrencode")
9655 (license license:gpl2+)))
9656
9657 (define-public cl-qrencode
9658 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9659
9660 (define-public ecl-cl-qrencode
9661 (sbcl-package->ecl-package sbcl-cl-qrencode))
9662
9663 (define-public sbcl-hdf5-cffi
9664 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9665 (revision "1"))
9666 (package
9667 (name "sbcl-hdf5-cffi")
9668 (version (git-version "1.8.18" revision commit))
9669 (source
9670 (origin
9671 (method git-fetch)
9672 (uri (git-reference
9673 (url "https://github.com/hdfgroup/hdf5-cffi")
9674 (commit commit)))
9675 (file-name (git-file-name name version))
9676 (sha256
9677 (base32
9678 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9679 (build-system asdf-build-system/sbcl)
9680 (synopsis "Common Lisp bindings for the HDF5 library")
9681 (description
9682 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9683 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9684 (license (license:non-copyleft
9685 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9686 commit
9687 "/LICENSE")))
9688 (inputs
9689 `(("cffi" ,sbcl-cffi)
9690 ("hdf5" ,hdf5-1.10)))
9691 (native-inputs
9692 `(("fiveam" ,sbcl-fiveam)))
9693 (arguments
9694 `(#:test-asd-file "hdf5-cffi.test.asd"
9695 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9696 ;; I don't know if there is a way to tell asdf-build-system to load
9697 ;; an additional system first, so tests are disabled.
9698 #:tests? #f
9699 #:phases
9700 (modify-phases %standard-phases
9701 (add-after 'unpack 'fix-paths
9702 (lambda* (#:key inputs #:allow-other-keys)
9703 (substitute* "src/library.lisp"
9704 (("libhdf5.so")
9705 (string-append
9706 (assoc-ref inputs "hdf5")
9707 "/lib/libhdf5.so")))))
9708 (add-after 'unpack 'fix-dependencies
9709 (lambda* (#:key inputs #:allow-other-keys)
9710 (substitute* "hdf5-cffi.asd"
9711 ((":depends-on \\(:cffi\\)")
9712 ":depends-on (:cffi :cffi-grovel)"))
9713 (substitute* "hdf5-cffi.test.asd"
9714 ((":depends-on \\(:cffi :hdf5-cffi")
9715 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9716
9717 (define-public cl-hdf5-cffi
9718 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9719
9720 (define-public ecl-hdf5-cffi
9721 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9722
9723 (define-public sbcl-cl-randist
9724 (package
9725 (name "sbcl-cl-randist")
9726 (version "0.4.2")
9727 (source
9728 (origin
9729 (method git-fetch)
9730 (uri (git-reference
9731 (url "https://github.com/lvaruzza/cl-randist")
9732 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9733 (file-name (git-file-name name version))
9734 (sha256
9735 (base32
9736 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9737 (build-system asdf-build-system/sbcl)
9738 (synopsis "Random distributions for Common Lisp")
9739 (description
9740 "Manual translation from C to Common Lisp of some random number
9741 generation functions from the GSL library.")
9742 (home-page "https://github.com/lvaruzza/cl-randist")
9743 (license license:bsd-2)
9744 (arguments
9745 `(#:tests? #f))))
9746
9747 (define-public cl-randist
9748 (sbcl-package->cl-source-package sbcl-cl-randist))
9749
9750 (define-public ecl-cl-randist
9751 (sbcl-package->ecl-package sbcl-cl-randist))
9752
9753 (define-public sbcl-float-features
9754 (package
9755 (name "sbcl-float-features")
9756 (version "1.0.0")
9757 (source
9758 (origin
9759 (method git-fetch)
9760 (uri (git-reference
9761 (url "https://github.com/Shinmera/float-features")
9762 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9763 (file-name (git-file-name name version))
9764 (sha256
9765 (base32
9766 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9767 (build-system asdf-build-system/sbcl)
9768 (synopsis "Common Lisp IEEE float portability library")
9769 (description
9770 "Portability library for IEEE float features that are not
9771 covered by the Common Lisp standard.")
9772 (home-page "https://github.com/Shinmera/float-features")
9773 (license license:zlib)
9774 (inputs
9775 `(("documentation-utils" ,sbcl-documentation-utils)))
9776 (arguments
9777 `(#:tests? #f))))
9778
9779 (define-public cl-float-features
9780 (sbcl-package->cl-source-package sbcl-float-features))
9781
9782 (define-public ecl-float-features
9783 (sbcl-package->ecl-package sbcl-float-features))
9784
9785 (define-public sbcl-function-cache
9786 (package
9787 (name "sbcl-function-cache")
9788 (version "1.0.3")
9789 (source
9790 (origin
9791 (method git-fetch)
9792 (uri (git-reference
9793 (url "https://github.com/AccelerationNet/function-cache")
9794 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9795 (file-name (git-file-name name version))
9796 (sha256
9797 (base32
9798 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9799 (build-system asdf-build-system/sbcl)
9800 (synopsis "Function caching / memoization library for Common Lisp")
9801 (description
9802 "A common lisp library that provides extensible function result
9803 caching based on arguments (an expanded form of memoization).")
9804 (home-page "https://github.com/AccelerationNet/function-cache")
9805 (license
9806 (license:non-copyleft
9807 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9808 (inputs
9809 `(("alexandria" ,sbcl-alexandria)
9810 ("cl-interpol" ,sbcl-cl-interpol)
9811 ("iterate" ,sbcl-iterate)
9812 ("symbol-munger" ,sbcl-symbol-munger)
9813 ("closer-mop" ,sbcl-closer-mop)))
9814 (arguments
9815 `(#:tests? #f))))
9816
9817 (define-public cl-function-cache
9818 (sbcl-package->cl-source-package sbcl-function-cache))
9819
9820 (define-public ecl-function-cache
9821 (sbcl-package->ecl-package sbcl-function-cache))
9822
9823 (define-public sbcl-type-r
9824 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9825 (revision "1"))
9826 (package
9827 (name "sbcl-type-r")
9828 (version (git-version "0.0.0" revision commit))
9829 (source
9830 (origin
9831 (method git-fetch)
9832 (uri (git-reference
9833 (url "https://github.com/guicho271828/type-r")
9834 (commit commit)))
9835 (file-name (git-file-name name version))
9836 (sha256
9837 (base32
9838 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9839 (build-system asdf-build-system/sbcl)
9840 (synopsis "Parser interface for Common Lisp built-in compound types")
9841 (description
9842 "Collections of accessor functions and patterns to access
9843 the elements in compound type specifier, e.g. @code{dimensions} in
9844 @code{(array element-type dimensions)}")
9845 (home-page "https://github.com/guicho271828/type-r")
9846 (license license:lgpl3+)
9847 (inputs
9848 `(("trivia" ,sbcl-trivia)
9849 ("alexandria" ,sbcl-alexandria)))
9850 (native-inputs
9851 `(("fiveam" ,sbcl-fiveam)))
9852 (arguments
9853 `(#:test-asd-file "type-r.test.asd")))))
9854
9855 (define-public cl-type-r
9856 (sbcl-package->cl-source-package sbcl-type-r))
9857
9858 (define-public ecl-type-r
9859 (sbcl-package->ecl-package sbcl-type-r))
9860
9861 (define-public sbcl-trivialib-type-unify
9862 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9863 (revision "1"))
9864 (package
9865 (name "sbcl-trivialib-type-unify")
9866 (version (git-version "0.1" revision commit))
9867 (source
9868 (origin
9869 (method git-fetch)
9870 (uri (git-reference
9871 (url "https://github.com/guicho271828/trivialib.type-unify")
9872 (commit commit)))
9873 (file-name (git-file-name name version))
9874 (sha256
9875 (base32
9876 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9877 (build-system asdf-build-system/sbcl)
9878 (synopsis "Common Lisp type unification")
9879 (description
9880 "Unifies a parametrized type specifier against an actual type specifier.
9881 Importantly, it handles complicated array-subtypes and number-related types
9882 correctly.")
9883 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9884 (license license:lgpl3+)
9885 (inputs
9886 `(("alexandria" ,sbcl-alexandria)
9887 ("trivia" ,sbcl-trivia)
9888 ("introspect-environment" ,sbcl-introspect-environment)
9889 ("type-r" ,sbcl-type-r)))
9890 (native-inputs
9891 `(("fiveam" ,sbcl-fiveam)))
9892 (arguments
9893 `(#:asd-systems '("trivialib.type-unify")
9894 #:test-asd-file "trivialib.type-unify.test.asd")))))
9895
9896 (define-public cl-trivialib-type-unify
9897 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9898
9899 (define-public ecl-trivialib-type-unify
9900 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9901
9902 (define-public sbcl-cl-unification
9903 (let ((commit "01079f34d197495880aa49ab727d63774d83035c")
9904 (revision "1"))
9905 (package
9906 (name "sbcl-cl-unification")
9907 (version (git-version "0.0.0" revision commit))
9908 (source
9909 (origin
9910 (method git-fetch)
9911 (uri (git-reference
9912 (url "https://gitlab.common-lisp.net/cl-unification/cl-unification")
9913 (commit commit)))
9914 (file-name (git-file-name "cl-unification" version))
9915 (sha256
9916 (base32 "0nhqamn3qgg38i6aw2pshffdwr2hzslycg8ficmn333gw0h9rf4g"))))
9917 (build-system asdf-build-system/sbcl)
9918 (native-inputs
9919 `(("ptester" ,sbcl-ptester)))
9920 (inputs
9921 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9922 (home-page "https://common-lisp.net/project/cl-unification/")
9923 (synopsis "Unification framework for Common Lisp")
9924 (description
9925 "This package provides a framework to unify arbitrary
9926 Common Lisp objects while constructing bindings for placeholders
9927 (unification variables) in a template sublanguage.")
9928 (license license:bsd-0))))
9929
9930 (define-public ecl-cl-unification
9931 (let ((pkg (sbcl-package->ecl-package sbcl-cl-unification)))
9932 (package
9933 (inherit pkg)
9934 (arguments
9935 (substitute-keyword-arguments (package-arguments pkg)
9936 ;; The tests fail on ECL with:
9937 ;; "In MAKE-ARRAY: the elements in :INITIAL-CONTENTS do not match
9938 ;; the array dimensions."
9939 ((#:tests? _ #f) #f))))))
9940
9941 (define-public cl-unification
9942 (sbcl-package->cl-source-package sbcl-cl-unification))
9943
9944 (define-public sbcl-specialized-function
9945 (let ((commit "5e2b04432bdf728496e6ff7227f210f845af7247")
9946 (revision "3"))
9947 (package
9948 (name "sbcl-specialized-function")
9949 (version (git-version "0.1" revision commit))
9950 (source
9951 (origin
9952 (method git-fetch)
9953 (uri (git-reference
9954 (url "https://github.com/numcl/specialized-function")
9955 (commit commit)))
9956 (file-name (git-file-name "specialized-function" version))
9957 (sha256
9958 (base32 "19hfgc83b7as630r1w9r8yl0v6xq3dn01vcrl0bd4pza5hgjn4la"))))
9959 (build-system asdf-build-system/sbcl)
9960 (synopsis "Julia-like dispatch for Common Lisp")
9961 (description
9962 "This library is part of NUMCL. It provides a macro
9963 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9964 lazily compiling a type-specific version of the function from the same
9965 code. The main target of this macro is speed.")
9966 (home-page "https://github.com/numcl/specialized-function")
9967 (license license:lgpl3+)
9968 (inputs
9969 `(("alexandria" ,sbcl-alexandria)
9970 ("iterate" ,sbcl-iterate)
9971 ("lisp-namespace" ,sbcl-lisp-namespace)
9972 ("trivia" ,sbcl-trivia)
9973 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9974 ("type-r" ,sbcl-type-r)))
9975 (native-inputs
9976 `(("fiveam" ,sbcl-fiveam)))
9977 (arguments
9978 `(#:asd-files '("specialized-function.asd")
9979 #:test-asd-file "specialized-function.test.asd")))))
9980
9981 (define-public cl-specialized-function
9982 (sbcl-package->cl-source-package sbcl-specialized-function))
9983
9984 (define-public ecl-specialized-function
9985 (sbcl-package->ecl-package sbcl-specialized-function))
9986
9987 (define-public sbcl-constantfold
9988 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9989 (revision "1"))
9990 (package
9991 (name "sbcl-constantfold")
9992 (version (git-version "0.1" revision commit))
9993 (source
9994 (origin
9995 (method git-fetch)
9996 (uri (git-reference
9997 (url "https://github.com/numcl/constantfold")
9998 (commit commit)))
9999 (file-name (git-file-name name version))
10000 (sha256
10001 (base32
10002 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10003 (build-system asdf-build-system/sbcl)
10004 (synopsis "Support library for numcl")
10005 (description
10006 "Support library for numcl. Registers a function as an
10007 additional form that is considered as a candidate for a constant.")
10008 (home-page "https://github.com/numcl/constantfold")
10009 (license license:lgpl3+)
10010 (inputs
10011 `(("trivia" ,sbcl-trivia)
10012 ("alexandria" ,sbcl-alexandria)
10013 ("iterate" ,sbcl-iterate)
10014 ("lisp-namespace" ,sbcl-lisp-namespace)))
10015 (native-inputs
10016 `(("fiveam" ,sbcl-fiveam)))
10017 (arguments
10018 `(#:asd-files '("constantfold.asd")
10019 #:test-asd-file "constantfold.test.asd")))))
10020
10021 (define-public cl-constantfold
10022 (sbcl-package->cl-source-package sbcl-constantfold))
10023
10024 (define-public ecl-constantfold
10025 (sbcl-package->ecl-package sbcl-constantfold))
10026
10027 (define-public sbcl-gtype
10028 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
10029 (revision "2"))
10030 (package
10031 (name "sbcl-gtype")
10032 (version (git-version "0.1" revision commit))
10033 (source
10034 (origin
10035 (method git-fetch)
10036 (uri (git-reference
10037 (url "https://github.com/numcl/gtype")
10038 (commit commit)))
10039 (file-name (git-file-name name version))
10040 (sha256
10041 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
10042 (build-system asdf-build-system/sbcl)
10043 (synopsis "C++/Julia-like parametric types in Common Lisp")
10044 (description
10045 "Support library for numcl that provides Julia-like runtime parametric
10046 type correctness in Common Lisp. It is based on CLtL2 extensions.")
10047 (home-page "https://github.com/numcl/gtype")
10048 (license license:lgpl3+)
10049 (inputs
10050 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10051 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10052 ("trivia" ,sbcl-trivia)
10053 ("alexandria" ,sbcl-alexandria)
10054 ("iterate" ,sbcl-iterate)
10055 ("type-r" ,sbcl-type-r)))
10056 (native-inputs
10057 `(("fiveam" ,sbcl-fiveam)))
10058 (arguments
10059 `(#:asd-files '("gtype.asd")
10060 #:test-asd-file "gtype.test.asd")))))
10061
10062 (define-public cl-gtype
10063 (sbcl-package->cl-source-package sbcl-gtype))
10064
10065 (define-public ecl-gtype
10066 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
10067 (package
10068 (inherit pkg)
10069 (arguments
10070 (substitute-keyword-arguments (package-arguments pkg)
10071 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
10072 ((#:tests? _ #f) #f))))))
10073
10074 (define-public sbcl-numcl
10075 (let ((commit "3dcdb0e24a33943d6c3a188ecbb0c78003bf975c")
10076 (revision "2"))
10077 (package
10078 (name "sbcl-numcl")
10079 (version (git-version "0.2.0" revision commit))
10080 (source
10081 (origin
10082 (method git-fetch)
10083 (uri (git-reference
10084 (url "https://github.com/numcl/numcl")
10085 (commit commit)))
10086 (file-name (git-file-name "numcl" version))
10087 (sha256
10088 (base32 "17m1rx1gfjbbmgjsf33b8s4bygfsj1hb6kvmypkql21qzjvx60nl"))))
10089 (build-system asdf-build-system/sbcl)
10090 (arguments
10091 `(#:test-asd-file "numcl.test.asd"
10092 #:asd-files '("numcl.asd")
10093 ;; Tests often fail because they require a dynamic-space-size much
10094 ;; bigger than the default one. Disable them for now.
10095 #:tests? #f))
10096 (native-inputs
10097 `(("fiveam" ,sbcl-fiveam)))
10098 (inputs
10099 `(("alexandria" ,sbcl-alexandria)
10100 ("cl-randist" ,sbcl-cl-randist)
10101 ("constantfold" ,sbcl-constantfold)
10102 ("float-features" ,sbcl-float-features)
10103 ("function-cache" ,sbcl-function-cache)
10104 ("gtype" ,sbcl-gtype)
10105 ("iterate" ,sbcl-iterate)
10106 ("lisp-namespace" ,sbcl-lisp-namespace)
10107 ("specialized-function" ,sbcl-specialized-function)
10108 ("trivia" ,sbcl-trivia)
10109 ("type-r" ,sbcl-type-r)))
10110 (home-page "https://numcl.github.io/numcl/")
10111 (synopsis "Numpy clone in Common Lisp")
10112 (description
10113 "This package is a Python Numpy clone implemented in pure Common Lisp.")
10114 (license license:lgpl3+))))
10115
10116 (define-public cl-numcl
10117 (sbcl-package->cl-source-package sbcl-numcl))
10118
10119 (define-public ecl-numcl
10120 (sbcl-package->ecl-package sbcl-numcl))
10121
10122 (define-public sbcl-pzmq
10123 (let ((commit "6f7b2ca02c23ea53510a9b0e0f181d5364ce9d32")
10124 (revision "2"))
10125 (package
10126 (name "sbcl-pzmq")
10127 (version (git-version "0.0.0" revision commit))
10128 (source
10129 (origin
10130 (method git-fetch)
10131 (uri (git-reference
10132 (url "https://github.com/orivej/pzmq")
10133 (commit commit)))
10134 (file-name (git-file-name name version))
10135 (sha256
10136 (base32 "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05"))))
10137 (build-system asdf-build-system/sbcl)
10138 (native-inputs
10139 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10140 ("fiveam" ,sbcl-fiveam)
10141 ("let-plus" ,sbcl-let-plus)))
10142 (inputs
10143 `(("cffi" ,sbcl-cffi)
10144 ("zeromq" ,zeromq)))
10145 (arguments
10146 `(#:phases (modify-phases %standard-phases
10147 (add-after 'unpack 'fix-paths
10148 (lambda* (#:key inputs #:allow-other-keys)
10149 (substitute* "c-api.lisp"
10150 (("\"libzmq")
10151 (string-append "\""
10152 (assoc-ref inputs "zeromq")
10153 "/lib/libzmq")))
10154 #t)))))
10155 (synopsis "Common Lisp bindings for the ZeroMQ library")
10156 (description "This Common Lisp library provides bindings for the ZeroMQ
10157 lightweight messaging kernel.")
10158 (home-page "https://github.com/orivej/pzmq")
10159 (license license:unlicense))))
10160
10161 (define-public cl-pzmq
10162 (sbcl-package->cl-source-package sbcl-pzmq))
10163
10164 (define-public ecl-pzmq
10165 (sbcl-package->ecl-package sbcl-pzmq))
10166
10167 (define-public sbcl-clss
10168 (let ((revision "1")
10169 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10170 (package
10171 (name "sbcl-clss")
10172 (version (git-version "0.3.1" revision commit))
10173 (source
10174 (origin
10175 (method git-fetch)
10176 (uri
10177 (git-reference
10178 (url "https://github.com/Shinmera/clss")
10179 (commit commit)))
10180 (sha256
10181 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10182 (file-name (git-file-name name version))))
10183 (inputs
10184 `(("array-utils" ,sbcl-array-utils)
10185 ("plump" ,sbcl-plump)))
10186 (build-system asdf-build-system/sbcl)
10187 (synopsis "DOM tree searching engine based on CSS selectors")
10188 (description "CLSS is a DOM traversal engine based on CSS
10189 selectors. It makes use of the Plump-DOM and is used by lQuery.")
10190 (home-page "https://github.com/Shinmera/clss")
10191 (license license:zlib))))
10192
10193 (define-public cl-clss
10194 (sbcl-package->cl-source-package sbcl-clss))
10195
10196 (define-public ecl-clss
10197 (sbcl-package->ecl-package sbcl-clss))
10198
10199 (define-public sbcl-lquery
10200 (let ((revision "1")
10201 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10202 (package
10203 (name "sbcl-lquery")
10204 (version (git-version "3.2.1" revision commit))
10205 (source
10206 (origin
10207 (method git-fetch)
10208 (uri
10209 (git-reference
10210 (url "https://github.com/Shinmera/lquery")
10211 (commit commit)))
10212 (sha256
10213 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10214 (file-name (git-file-name name version))))
10215 (native-inputs
10216 `(("fiveam" ,sbcl-fiveam)))
10217 (inputs
10218 `(("array-utils" ,sbcl-array-utils)
10219 ("form-fiddle" ,sbcl-form-fiddle)
10220 ("plump" ,sbcl-plump)
10221 ("clss" ,sbcl-clss)))
10222 (build-system asdf-build-system/sbcl)
10223 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10224 (description "@code{lQuery} is a DOM manipulation library written in
10225 Common Lisp, inspired by and based on the jQuery syntax and
10226 functions. It uses Plump and CLSS as DOM and selector engines. The
10227 main idea behind lQuery is to provide a simple interface for crawling
10228 and modifying HTML sites, as well as to allow for an alternative
10229 approach to templating.")
10230 (home-page "https://github.com/Shinmera/lquery")
10231 (license license:zlib))))
10232
10233 (define-public cl-lquery
10234 (sbcl-package->cl-source-package sbcl-lquery))
10235
10236 (define-public ecl-lquery
10237 (sbcl-package->ecl-package sbcl-lquery))
10238
10239 (define-public sbcl-cl-mysql
10240 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10241 (revision "1"))
10242 (package
10243 (name "sbcl-cl-mysql")
10244 (version (git-version "0.1" revision commit))
10245 (source
10246 (origin
10247 (method git-fetch)
10248 (uri (git-reference
10249 (url "https://github.com/hackinghat/cl-mysql")
10250 (commit commit)))
10251 (file-name (git-file-name name version))
10252 (sha256
10253 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10254 (build-system asdf-build-system/sbcl)
10255 (native-inputs
10256 `(("stefil" ,sbcl-stefil)))
10257 (inputs
10258 `(("cffi" ,sbcl-cffi)
10259 ("mariadb-lib" ,mariadb "lib")))
10260 (arguments
10261 `(#:tests? #f ; TODO: Tests require a running server
10262 #:phases
10263 (modify-phases %standard-phases
10264 (add-after 'unpack 'fix-paths
10265 (lambda* (#:key inputs #:allow-other-keys)
10266 (substitute* "system.lisp"
10267 (("libmysqlclient_r" all)
10268 (string-append (assoc-ref inputs "mariadb-lib")
10269 "/lib/"
10270 all)))
10271 #t)))))
10272 (synopsis "Common Lisp wrapper for MySQL")
10273 (description
10274 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10275 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10276 (license license:expat))))
10277
10278 (define-public cl-mysql
10279 (sbcl-package->cl-source-package sbcl-cl-mysql))
10280
10281 (define-public ecl-cl-mysql
10282 (sbcl-package->ecl-package sbcl-cl-mysql))
10283
10284 (define-public sbcl-postmodern
10285 (package
10286 (name "sbcl-postmodern")
10287 (version "1.32.9")
10288 (source
10289 (origin
10290 (method git-fetch)
10291 (uri (git-reference
10292 (url "https://github.com/marijnh/Postmodern")
10293 (commit (string-append "v" version))))
10294 (file-name (git-file-name name version))
10295 (sha256
10296 (base32 "137jci4hn4vlxf48y39k0di27kc89kvxy3brmn3vl9xq56sy6mhz"))))
10297 (build-system asdf-build-system/sbcl)
10298 (native-inputs
10299 `(("fiveam" ,sbcl-fiveam)))
10300 (inputs
10301 `(("alexandria" ,sbcl-alexandria)
10302 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10303 ("cl-base64" ,sbcl-cl-base64)
10304 ("cl-unicode" ,sbcl-cl-unicode)
10305 ("closer-mop" ,sbcl-closer-mop)
10306 ("global-vars" ,sbcl-global-vars)
10307 ("ironclad" ,sbcl-ironclad)
10308 ("local-time" ,sbcl-local-time)
10309 ("md5" ,sbcl-md5)
10310 ("split-sequence" ,sbcl-split-sequence)
10311 ("uax-15" ,sbcl-uax-15)
10312 ("usocket" ,sbcl-usocket)))
10313 (arguments
10314 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
10315 ;; step, some functionality in `local-time' prevents passing tests.
10316 ;; Error:
10317 ;;
10318 ;; Can't create directory
10319 ;; /gnu/store
10320 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
10321 ;; /lib/common-lisp/sbcl/local-time/src/integration/
10322 ;;
10323 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
10324 ;; issue is resolved but it required live test database to connect to now.
10325 ;; Keep tests switched off.
10326 `(#:tests? #f
10327 #:asd-systems '("cl-postgres"
10328 "s-sql"
10329 "postmodern"
10330 "simple-date"
10331 "simple-date/postgres-glue")))
10332 (synopsis "Common Lisp library for interacting with PostgreSQL")
10333 (description
10334 "@code{postmodern} is a Common Lisp library for interacting with
10335 PostgreSQL databases. It provides the following features:
10336
10337 @itemize
10338 @item Efficient communication with the database server without need for
10339 foreign libraries.
10340 @item Support for UTF-8 on Unicode-aware Lisp implementations.
10341 @item A syntax for mixing SQL and Lisp code.
10342 @item Convenient support for prepared statements and stored procedures.
10343 @item A metaclass for simple database-access objects.
10344 @end itemize\n
10345
10346 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
10347
10348 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
10349 to support storing and retrieving time-related SQL types. It is not loaded by
10350 default and you can use local-time (which has support for timezones) instead.
10351
10352 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
10353 any Lisp values inside, and doing as much as possible of the work at compile
10354 time.
10355
10356 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
10357 server over a socket.
10358
10359 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
10360 level functions, a very simple data access object that can be mapped directly to
10361 database tables and some convient utilities. It then tries to put all these
10362 things together into a convenient programming interface")
10363 (home-page "https://marijnhaverbeke.nl/postmodern/")
10364 (license license:zlib)))
10365
10366 (define-public cl-postmodern
10367 (sbcl-package->cl-source-package sbcl-postmodern))
10368
10369 (define-public ecl-postmodern
10370 (package
10371 (inherit (sbcl-package->ecl-package sbcl-postmodern))
10372 (arguments
10373 `(#:tests? #f
10374 #:asd-systems '("cl-postgres"
10375 "s-sql"
10376 "postmodern"
10377 "simple-date"
10378 "simple-date/postgres-glue")
10379 #:phases
10380 (modify-phases %standard-phases
10381 (add-after 'unpack 'fix-build
10382 (lambda _
10383 (substitute* "cl-postgres.asd"
10384 ((":or :sbcl :allegro :ccl :clisp" all)
10385 (string-append all " :ecl")))
10386 #t)))))))
10387
10388 (define-public sbcl-db3
10389 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
10390 (revision "1"))
10391 (package
10392 (name "sbcl-db3")
10393 (version (git-version "0.0.0" revision commit))
10394 (source
10395 (origin
10396 (method git-fetch)
10397 (uri (git-reference
10398 (url "https://github.com/dimitri/cl-db3")
10399 (commit commit)))
10400 (file-name (git-file-name "cl-db3" version))
10401 (sha256
10402 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
10403 (build-system asdf-build-system/sbcl)
10404 (home-page "https://github.com/dimitri/cl-db3")
10405 (synopsis "Common Lisp library to read dBase III database files")
10406 (description
10407 "This is a Common Lisp library for processing data found in dBase III
10408 database files (dbf and db3 files).")
10409 (license license:public-domain))))
10410
10411 (define-public ecl-db3
10412 (sbcl-package->ecl-package sbcl-db3))
10413
10414 (define-public cl-db3
10415 (sbcl-package->cl-source-package sbcl-db3))
10416
10417 (define-public sbcl-dbi
10418 (let ((commit "7ba050dea8d137c1f85b7e704d4fc945104bf283")
10419 (revision "1"))
10420 (package
10421 (name "sbcl-dbi")
10422 (version (git-version "0.9.5" revision commit))
10423 (source
10424 (origin
10425 (method git-fetch)
10426 (uri (git-reference
10427 (url "https://github.com/fukamachi/cl-dbi")
10428 (commit commit)))
10429 (file-name (git-file-name "cl-dbi" version))
10430 (sha256
10431 (base32 "0qkpsf8w7ig6chbf4r7j1j7fwa6kpi58ij4hbcxpa4irqdan8s9f"))))
10432 (build-system asdf-build-system/sbcl)
10433 (native-inputs
10434 `(("alexandria" ,sbcl-alexandria)
10435 ("rove" ,sbcl-rove)
10436 ("trivial-types" ,sbcl-trivial-types)))
10437 (inputs
10438 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10439 ("cl-mysql" ,sbcl-cl-mysql)
10440 ("cl-sqlite" ,sbcl-cl-sqlite)
10441 ("closer-mop" ,sbcl-closer-mop)
10442 ("postmodern" ,sbcl-postmodern)
10443 ("split-sequence" ,sbcl-split-sequence)
10444 ("trivial-garbage" ,sbcl-trivial-garbage)))
10445 (arguments
10446 `(#:asd-systems '("dbi"
10447 "dbd-mysql"
10448 "dbd-postgres"
10449 "dbd-sqlite3")))
10450 (synopsis "Database independent interface for Common Lisp")
10451 (description
10452 "@code{dbi} is a Common Lisp library providing a database independent
10453 interface for MySQL, PostgreSQL and SQLite.")
10454 (home-page "https://github.com/fukamachi/cl-dbi")
10455 (license license:llgpl))))
10456
10457 (define-public cl-dbi
10458 (sbcl-package->cl-source-package sbcl-dbi))
10459
10460 (define-public ecl-dbi
10461 (sbcl-package->ecl-package sbcl-dbi))
10462
10463 (define-public sbcl-uffi
10464 (package
10465 (name "sbcl-uffi")
10466 (version "2.1.2")
10467 (source
10468 (origin
10469 (method git-fetch)
10470 (uri (git-reference
10471 (url "http://git.kpe.io/uffi.git")
10472 (commit (string-append "v" version))))
10473 (file-name (git-file-name name version))
10474 (sha256
10475 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10476 (build-system asdf-build-system/sbcl)
10477 (arguments
10478 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10479 #:asd-files '("uffi.asd")
10480 #:phases
10481 (modify-phases %standard-phases
10482 (add-after 'unpack 'fix-permissions
10483 (lambda _
10484 (make-file-writable "doc/html.tar.gz")
10485 #t)))))
10486 (synopsis "Universal foreign function library for Common Lisp")
10487 (description
10488 "UFFI provides a universal foreign function interface (FFI)
10489 for Common Lisp.")
10490 (home-page "http://quickdocs.org/uffi/")
10491 (license license:llgpl)))
10492
10493 (define-public cl-uffi
10494 (package
10495 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10496 (arguments
10497 `(#:phases
10498 ;; asdf-build-system/source has its own phases and does not inherit
10499 ;; from asdf-build-system/sbcl phases.
10500 (modify-phases %standard-phases/source
10501 ;; Already done in SBCL package.
10502 (delete 'reset-gzip-timestamps))))))
10503
10504 (define-public sbcl-clsql
10505 (package
10506 (name "sbcl-clsql")
10507 (version "6.7.0")
10508 (source
10509 (origin
10510 (method git-fetch)
10511 (uri (git-reference
10512 (url "http://git.kpe.io/clsql.git")
10513 (commit (string-append "v" version))))
10514 (file-name (git-file-name name version))
10515 (sha256
10516 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10517 (snippet
10518 '(begin
10519 ;; Remove precompiled libraries.
10520 (delete-file "db-mysql/clsql_mysql.dll")
10521 (delete-file "uffi/clsql_uffi.dll")
10522 (delete-file "uffi/clsql_uffi.lib")
10523 #t))))
10524 (build-system asdf-build-system/sbcl)
10525 (native-inputs
10526 `(("rt" ,sbcl-rt)))
10527 (inputs
10528 `(("cffi" ,sbcl-cffi)
10529 ("md5" ,sbcl-md5)
10530 ("mysql" ,mysql)
10531 ("postgresql" ,postgresql)
10532 ("postmodern" ,sbcl-postmodern)
10533 ("sqlite" ,sqlite)
10534 ("uffi" ,sbcl-uffi)
10535 ("zlib" ,zlib)))
10536 (arguments
10537 `(#:asd-files '("clsql.asd"
10538 "clsql-uffi.asd"
10539 "clsql-sqlite3.asd"
10540 "clsql-postgresql.asd"
10541 "clsql-postgresql-socket3.asd"
10542 "clsql-mysql.asd")
10543 #:asd-systems '("clsql"
10544 "clsql-sqlite3"
10545 "clsql-postgresql"
10546 "clsql-postgresql-socket3"
10547 "clsql-mysql")
10548 #:phases
10549 (modify-phases %standard-phases
10550 (add-after 'unpack 'fix-permissions
10551 (lambda _
10552 (make-file-writable "doc/html.tar.gz")
10553 #t))
10554 (add-after 'unpack 'fix-build
10555 (lambda _
10556 (substitute* "clsql-uffi.asd"
10557 (("\\(:version uffi \"2.0\"\\)")
10558 "uffi"))
10559 (substitute* "db-postgresql/postgresql-api.lisp"
10560 (("\\(data :cstring\\)")
10561 "(data :string)"))
10562 #t))
10563 (add-after 'unpack 'fix-paths
10564 (lambda* (#:key inputs outputs #:allow-other-keys)
10565 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10566 (("libsqlite3")
10567 (string-append (assoc-ref inputs "sqlite")
10568 "/lib/libsqlite3")))
10569 (substitute* "db-postgresql/postgresql-loader.lisp"
10570 (("libpq")
10571 (string-append (assoc-ref inputs "postgresql")
10572 "/lib/libpq")))
10573 (let ((lib (string-append "#p\""
10574 (assoc-ref outputs "out")
10575 "/lib/\"")))
10576 (substitute* "clsql-mysql.asd"
10577 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10578 lib))
10579 (substitute* "db-mysql/mysql-loader.lisp"
10580 (("libmysqlclient" all)
10581 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10582 (("clsql-mysql-system::\\*library-file-dir\\*")
10583 lib)))
10584 #t))
10585 (add-before 'build 'build-helper-library
10586 (lambda* (#:key inputs outputs #:allow-other-keys)
10587 (let* ((mysql (assoc-ref inputs "mysql"))
10588 (inc-dir (string-append mysql "/include/mysql"))
10589 (lib-dir (string-append mysql "/lib"))
10590 (shared-lib-dir (string-append (assoc-ref outputs "out")
10591 "/lib"))
10592 (shared-lib (string-append shared-lib-dir
10593 "/clsql_mysql.so")))
10594 (mkdir-p shared-lib-dir)
10595 (invoke "gcc" "-fPIC" "-shared"
10596 "-I" inc-dir
10597 "db-mysql/clsql_mysql.c"
10598 "-Wl,-soname=clsql_mysql"
10599 "-L" lib-dir "-lmysqlclient" "-lz"
10600 "-o" shared-lib)
10601 #t)))
10602 (add-after 'unpack 'fix-tests
10603 (lambda _
10604 (substitute* "clsql.asd"
10605 (("clsql-tests :force t")
10606 "clsql-tests"))
10607 #t)))))
10608 (synopsis "Common Lisp SQL Interface library")
10609 (description
10610 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10611 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10612 interfaces as well as a functional and an object oriented interface.")
10613 (home-page "http://clsql.kpe.io/")
10614 (license license:llgpl)))
10615
10616 (define-public cl-clsql
10617 (package
10618 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10619 (native-inputs
10620 `(("rt" ,cl-rt)))
10621 (inputs
10622 `(("mysql" ,mysql)
10623 ("postgresql" ,postgresql)
10624 ("sqlite" ,sqlite)
10625 ("zlib" ,zlib)))
10626 (propagated-inputs
10627 `(("cffi" ,cl-cffi)
10628 ("md5" ,cl-md5)
10629 ("postmodern" ,cl-postmodern)
10630 ("uffi" ,cl-uffi)))
10631 (arguments
10632 `(#:phases
10633 ;; asdf-build-system/source has its own phases and does not inherit
10634 ;; from asdf-build-system/sbcl phases.
10635 (modify-phases %standard-phases/source
10636 (add-after 'unpack 'fix-permissions
10637 (lambda _
10638 (make-file-writable "doc/html.tar.gz")
10639 #t)))))))
10640
10641 (define-public ecl-clsql
10642 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10643 (package
10644 (inherit pkg)
10645 (inputs
10646 (alist-delete "uffi" (package-inputs pkg)))
10647 (arguments
10648 (substitute-keyword-arguments (package-arguments pkg)
10649 ((#:asd-files asd-files '())
10650 `(cons "clsql-cffi.asd" ,asd-files)))))))
10651
10652 (define-public sbcl-sycamore
10653 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10654 (package
10655 (name "sbcl-sycamore")
10656 (version "0.0.20120604")
10657 (source
10658 (origin
10659 (method git-fetch)
10660 (uri (git-reference
10661 (url "https://github.com/ndantam/sycamore/")
10662 (commit commit)))
10663 (file-name (git-file-name name version))
10664 (sha256
10665 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10666 (build-system asdf-build-system/sbcl)
10667 (inputs
10668 `(("alexandria" ,sbcl-alexandria)
10669 ("cl-ppcre" ,sbcl-cl-ppcre)))
10670 (synopsis "Purely functional data structure library in Common Lisp")
10671 (description
10672 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10673 If features:
10674
10675 @itemize
10676 @item Fast, purely functional weight-balanced binary trees.
10677 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10678 @item Interfaces for tree Sets and Maps (dictionaries).
10679 @item Ropes.
10680 @item Purely functional pairing heaps.
10681 @item Purely functional amortized queue.
10682 @end itemize\n")
10683 (home-page "http://ndantam.github.io/sycamore/")
10684 (license license:bsd-3))))
10685
10686 (define-public cl-sycamore
10687 (sbcl-package->cl-source-package sbcl-sycamore))
10688
10689 (define-public ecl-sycamore
10690 (sbcl-package->ecl-package sbcl-sycamore))
10691
10692 (define-public sbcl-trivial-package-local-nicknames
10693 (package
10694 (name "sbcl-trivial-package-local-nicknames")
10695 (version "0.2")
10696 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10697 (source
10698 (origin
10699 (method git-fetch)
10700 (uri (git-reference
10701 (url home-page)
10702 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10703 (file-name (git-file-name name version))
10704 (sha256
10705 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10706 (build-system asdf-build-system/sbcl)
10707 (synopsis "Common Lisp compatibility library for package local nicknames")
10708 (description
10709 "This library is a portable compatibility layer around package local nicknames (PLN).
10710 This was done so there is a portability library for the PLN API not included
10711 in DEFPACKAGE.")
10712 (license license:unlicense)))
10713
10714 (define-public cl-trivial-package-local-nicknames
10715 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10716
10717 (define-public ecl-trivial-package-local-nicknames
10718 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10719
10720 (define-public sbcl-enchant
10721 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10722 (package
10723 (name "sbcl-enchant")
10724 (version (git-version "0.0.0" "1" commit))
10725 (home-page "https://github.com/tlikonen/cl-enchant")
10726 (source
10727 (origin
10728 (method git-fetch)
10729 (uri (git-reference
10730 (url home-page)
10731 (commit commit)))
10732 (file-name (git-file-name name version))
10733 (sha256
10734 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10735 (build-system asdf-build-system/sbcl)
10736 (inputs
10737 `(("enchant" ,enchant)
10738 ("cffi" ,sbcl-cffi)))
10739 (arguments
10740 `(#:phases
10741 (modify-phases %standard-phases
10742 (add-after 'unpack 'fix-paths
10743 (lambda* (#:key inputs #:allow-other-keys)
10744 (substitute* "load-enchant.lisp"
10745 (("libenchant")
10746 (string-append
10747 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10748 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10749 (description
10750 "Enchant is a Common Lisp interface for the Enchant spell-checker
10751 library. The Enchant library is a generic spell-checker library which uses
10752 other spell-checkers transparently as back-end. The library supports the
10753 multiple checkers, including Aspell and Hunspell.")
10754 (license license:public-domain))))
10755
10756 (define-public cl-enchant
10757 (sbcl-package->cl-source-package sbcl-enchant))
10758
10759 (define-public ecl-enchant
10760 (sbcl-package->ecl-package sbcl-enchant))
10761
10762 (define-public sbcl-cl-change-case
10763 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10764 (revision "1"))
10765 (package
10766 (name "sbcl-cl-change-case")
10767 (version (git-version "0.2.0" revision commit))
10768 (home-page "https://github.com/rudolfochrist/cl-change-case")
10769 (source
10770 (origin
10771 (method git-fetch)
10772 (uri (git-reference
10773 (url home-page)
10774 (commit commit)))
10775 (file-name (git-file-name "cl-change-case" version))
10776 (sha256
10777 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10778 (build-system asdf-build-system/sbcl)
10779 (inputs
10780 `(("cl-ppcre" ,sbcl-cl-ppcre)
10781 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10782 (native-inputs
10783 `(("fiveam" ,sbcl-fiveam)))
10784 (synopsis
10785 "Convert Common Lisp strings between camelCase, PascalCase and more")
10786 (description
10787 "@code{cl-change-case} is a library to convert strings between
10788 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10789 (license license:llgpl))))
10790
10791 (define-public cl-change-case
10792 (sbcl-package->cl-source-package sbcl-cl-change-case))
10793
10794 (define-public ecl-cl-change-case
10795 (sbcl-package->ecl-package sbcl-cl-change-case))
10796
10797 (define-public sbcl-modularize
10798 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10799 (revision "1"))
10800 (package
10801 (name "sbcl-modularize")
10802 (version (git-version "1.0.0" revision commit))
10803 (source
10804 (origin
10805 (method git-fetch)
10806 (uri (git-reference
10807 (url "https://github.com/Shinmera/modularize")
10808 (commit commit)))
10809 (file-name (git-file-name name version))
10810 (sha256
10811 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10812 (build-system asdf-build-system/sbcl)
10813 (arguments
10814 `(#:test-asd-file "modularize-test-module.asd"
10815 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10816 #:asd-systems '("modularize" "modularize-test-module")))
10817 (inputs
10818 `(("documentation-utils" ,sbcl-documentation-utils)
10819 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10820 (home-page "https://shinmera.github.io/modularize/")
10821 (synopsis "Common Lisp modularization framework")
10822 (description
10823 "@code{MODULARIZE} is an attempt at providing a common interface to
10824 segregate major application components. This is achieved by adding special
10825 treatment to packages. Each module is a package that is specially registered,
10826 which allows it to interact and co-exist with other modules in better ways. For
10827 instance, by adding module definition options you can introduce mechanisms to
10828 tie modules together in functionality, hook into each other and so on.")
10829 (license license:zlib))))
10830
10831 (define-public ecl-modularize
10832 (sbcl-package->ecl-package sbcl-modularize))
10833
10834 (define-public cl-modularize
10835 (sbcl-package->cl-source-package sbcl-modularize))
10836
10837 (define-public sbcl-modularize-hooks
10838 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10839 (revision "1"))
10840 (package
10841 (name "sbcl-modularize-hooks")
10842 (version (git-version "1.0.2" revision commit))
10843 (source
10844 (origin
10845 (method git-fetch)
10846 (uri (git-reference
10847 (url "https://github.com/Shinmera/modularize-hooks")
10848 (commit commit)))
10849 (file-name (git-file-name "modularize-hooks" version))
10850 (sha256
10851 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10852 (build-system asdf-build-system/sbcl)
10853 (inputs
10854 `(("closer-mop" ,sbcl-closer-mop)
10855 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10856 ("modularize" ,sbcl-modularize)
10857 ("trivial-arguments" ,sbcl-trivial-arguments)))
10858 (home-page "https://shinmera.github.io/modularize-hooks/")
10859 (synopsis "Generic hooks and triggers extension for Modularize")
10860 (description
10861 "This is a simple extension to @code{MODULARIZE} that allows modules to
10862 define and trigger hooks, which other modules can hook on to.")
10863 (license license:zlib))))
10864
10865 (define-public ecl-modularize-hooks
10866 (sbcl-package->ecl-package sbcl-modularize-hooks))
10867
10868 (define-public cl-modularize-hooks
10869 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10870
10871 (define-public sbcl-modularize-interfaces
10872 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10873 (revision "1"))
10874 (package
10875 (name "sbcl-modularize-interfaces")
10876 (version (git-version "0.9.3" revision commit))
10877 (source
10878 (origin
10879 (method git-fetch)
10880 (uri (git-reference
10881 (url "https://github.com/Shinmera/modularize-interfaces")
10882 (commit commit)))
10883 (file-name (git-file-name "modularize-interfaces" version))
10884 (sha256
10885 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10886 (build-system asdf-build-system/sbcl)
10887 (inputs
10888 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10889 ("modularize" ,sbcl-modularize)
10890 ("trivial-arguments" ,sbcl-trivial-arguments)
10891 ("trivial-indent" ,sbcl-trivial-indent)))
10892 (home-page "https://shinmera.github.io/modularize-interfaces/")
10893 (synopsis "Programmatical interfaces extension for Modularize")
10894 (description
10895 "This is an extension to @code{MODULARIZE} that allows your application
10896 to define interfaces in-code that serve both as a primary documentation and as
10897 compliance control.")
10898 (license license:zlib))))
10899
10900 (define-public ecl-modularize-interfaces
10901 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10902
10903 (define-public cl-modularize-interfaces
10904 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10905
10906 (define-public sbcl-moptilities
10907 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10908 (package
10909 (name "sbcl-moptilities")
10910 (version (git-version "0.3.13" "1" commit))
10911 (home-page "https://github.com/gwkkwg/moptilities/")
10912 (source
10913 (origin
10914 (method git-fetch)
10915 (uri (git-reference
10916 (url home-page)
10917 (commit commit)))
10918 (file-name (git-file-name name version))
10919 (sha256
10920 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10921 (build-system asdf-build-system/sbcl)
10922 (inputs
10923 `(("closer-mop" ,sbcl-closer-mop)))
10924 (native-inputs
10925 `(("lift" ,sbcl-lift)))
10926 (arguments
10927 `(#:phases
10928 (modify-phases %standard-phases
10929 (add-after 'unpack 'fix-tests
10930 (lambda _
10931 (substitute* "lift-standard.config"
10932 ((":relative-to lift-test")
10933 ":relative-to moptilities-test"))
10934 #t)))))
10935 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10936 (description
10937 "MOP utilities provide a common interface between Lisps and make the
10938 MOP easier to use.")
10939 (license license:expat))))
10940
10941 (define-public cl-moptilities
10942 (sbcl-package->cl-source-package sbcl-moptilities))
10943
10944 (define-public sbcl-osicat
10945 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10946 (package
10947 (name "sbcl-osicat")
10948 (version (git-version "0.7.0" "1" commit))
10949 (home-page "http://www.common-lisp.net/project/osicat/")
10950 (source
10951 (origin
10952 (method git-fetch)
10953 (uri (git-reference
10954 (url "https://github.com/osicat/osicat")
10955 (commit commit)))
10956 (file-name (git-file-name name version))
10957 (sha256
10958 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10959 (build-system asdf-build-system/sbcl)
10960 (inputs
10961 `(("alexandria" ,sbcl-alexandria)
10962 ("cffi" ,sbcl-cffi)
10963 ("trivial-features" ,sbcl-trivial-features)))
10964 (native-inputs
10965 `(("rt" ,sbcl-rt)))
10966 (synopsis "Operating system interface for Common Lisp")
10967 (description
10968 "Osicat is a lightweight operating system interface for Common Lisp on
10969 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10970 accompaniment to the standard ANSI facilities.")
10971 (license license:expat))))
10972
10973 (define-public cl-osicat
10974 (sbcl-package->cl-source-package sbcl-osicat))
10975
10976 (define-public ecl-osicat
10977 (sbcl-package->ecl-package sbcl-osicat))
10978
10979 (define-public sbcl-clx-xembed
10980 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10981 (revision "1"))
10982 (package
10983 (name "sbcl-clx-xembed")
10984 (version (git-version "0.1" revision commit))
10985 (home-page "https://github.com/laynor/clx-xembed")
10986 (source
10987 (origin
10988 (method git-fetch)
10989 (uri (git-reference
10990 (url "https://github.com/laynor/clx-xembed")
10991 (commit commit)))
10992 (file-name (git-file-name name version))
10993 (sha256
10994 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10995 (build-system asdf-build-system/sbcl)
10996 (arguments
10997 `(#:asd-systems '("xembed")))
10998 (inputs
10999 `(("sbcl-clx" ,sbcl-clx)))
11000 (synopsis "CL(x) xembed protocol implementation ")
11001 (description "CL(x) xembed protocol implementation")
11002 ;; MIT License
11003 (license license:expat))))
11004
11005 (define-public cl-clx-xembed
11006 (sbcl-package->cl-source-package sbcl-clx-xembed))
11007
11008 (define-public ecl-clx-xembed
11009 (sbcl-package->ecl-package sbcl-clx-xembed))
11010
11011 (define-public sbcl-quantile-estimator
11012 (package
11013 (name "sbcl-quantile-estimator")
11014 (version "0.0.1")
11015 (source
11016 (origin
11017 (method git-fetch)
11018 (uri (git-reference
11019 (url "https://github.com/deadtrickster/quantile-estimator.cl")
11020 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
11021 (file-name (git-file-name name version))
11022 (sha256
11023 (base32
11024 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
11025 (build-system asdf-build-system/sbcl)
11026 (arguments
11027 '(#:asd-files '("quantile-estimator.asd")))
11028 (inputs
11029 `(("alexandria" ,sbcl-alexandria)))
11030 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
11031 (synopsis
11032 "Effective computation of biased quantiles over data streams")
11033 (description
11034 "Common Lisp implementation of Graham Cormode and S.
11035 Muthukrishnan's Effective Computation of Biased Quantiles over Data
11036 Streams in ICDE’05.")
11037 (license license:expat)))
11038
11039 (define-public cl-quantile-estimator
11040 (sbcl-package->cl-source-package sbcl-quantile-estimator))
11041
11042 (define-public ecl-quantile-estimator
11043 (sbcl-package->ecl-package sbcl-quantile-estimator))
11044
11045 (define-public sbcl-prometheus
11046 (package
11047 (name "sbcl-prometheus")
11048 (version "0.4.1")
11049 (source
11050 (origin
11051 (method git-fetch)
11052 (uri (git-reference
11053 (url "https://github.com/deadtrickster/prometheus.cl")
11054 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
11055 (file-name (git-file-name name version))
11056 (sha256
11057 (base32
11058 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
11059 (build-system asdf-build-system/sbcl)
11060 (inputs
11061 `(("alexandria" ,sbcl-alexandria)
11062 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11063 ("cffi" ,sbcl-cffi)
11064 ("cl-fad" ,sbcl-cl-fad)
11065 ("cl-ppcre" ,sbcl-cl-ppcre)
11066 ("drakma" ,sbcl-drakma)
11067 ("hunchentoot" ,sbcl-hunchentoot)
11068 ("local-time" ,sbcl-local-time)
11069 ("quantile-estimator" ,sbcl-quantile-estimator)
11070 ("salza2" ,sbcl-salza2)
11071 ("split-sequence" ,sbcl-split-sequence)
11072 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11073 (arguments
11074 '(#:asd-files '("prometheus.asd"
11075 "prometheus.collectors.sbcl.asd"
11076 "prometheus.collectors.process.asd"
11077 "prometheus.formats.text.asd"
11078 "prometheus.exposers.hunchentoot.asd"
11079 "prometheus.pushgateway.asd")
11080 #:asd-systems '("prometheus"
11081 "prometheus.collectors.sbcl"
11082 "prometheus.collectors.process"
11083 "prometheus.formats.text"
11084 "prometheus.exposers.hunchentoot"
11085 "prometheus.pushgateway")))
11086 (home-page "https://github.com/deadtrickster/prometheus.cl")
11087 (synopsis "Prometheus.io Common Lisp client")
11088 (description "Prometheus.io Common Lisp client.")
11089 (license license:expat)))
11090
11091 (define-public cl-prometheus
11092 (sbcl-package->cl-source-package sbcl-prometheus))
11093
11094 (define-public ecl-prometheus
11095 (sbcl-package->ecl-package sbcl-prometheus))
11096
11097 (define-public sbcl-uuid
11098 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11099 (package
11100 (name "sbcl-uuid")
11101 (version (git-version "2012.12.26" "1" commit))
11102 (source
11103 (origin
11104 (method git-fetch)
11105 (uri (git-reference
11106 (url "https://github.com/dardoria/uuid")
11107 (commit commit)))
11108 (file-name (git-file-name name version))
11109 (sha256
11110 (base32
11111 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11112 (build-system asdf-build-system/sbcl)
11113 (inputs
11114 `(("ironclad" ,sbcl-ironclad)
11115 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11116 (home-page "https://github.com/dardoria/uuid")
11117 (synopsis
11118 "Common Lisp implementation of UUIDs according to RFC4122")
11119 (description
11120 "Common Lisp implementation of UUIDs according to RFC4122.")
11121 (license license:llgpl))))
11122
11123 (define-public cl-uuid
11124 (sbcl-package->cl-source-package sbcl-uuid))
11125
11126 (define-public ecl-uuid
11127 (sbcl-package->ecl-package sbcl-uuid))
11128
11129 (define-public sbcl-dissect
11130 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11131 (package
11132 (name "sbcl-dissect")
11133 (version (git-version "1.0.0" "1" commit))
11134 (source
11135 (origin
11136 (method git-fetch)
11137 (uri (git-reference
11138 (url "https://github.com/Shinmera/dissect")
11139 (commit commit)))
11140 (file-name (git-file-name name version))
11141 (sha256
11142 (base32
11143 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11144 (build-system asdf-build-system/sbcl)
11145 (inputs
11146 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11147 (home-page "https://shinmera.github.io/dissect/")
11148 (synopsis
11149 "Introspection library for the call stack and restarts")
11150 (description
11151 "Dissect is a small Common Lisp library for introspecting the call stack
11152 and active restarts.")
11153 (license license:zlib))))
11154
11155 (define-public cl-dissect
11156 (sbcl-package->cl-source-package sbcl-dissect))
11157
11158 (define-public ecl-dissect
11159 (sbcl-package->ecl-package sbcl-dissect))
11160
11161 (define-public sbcl-rove
11162 (package
11163 (name "sbcl-rove")
11164 (version "0.9.6")
11165 (source
11166 (origin
11167 (method git-fetch)
11168 (uri (git-reference
11169 (url "https://github.com/fukamachi/rove")
11170 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11171 (file-name (git-file-name name version))
11172 (sha256
11173 (base32
11174 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11175 (build-system asdf-build-system/sbcl)
11176 (inputs
11177 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11178 ("dissect" ,sbcl-dissect)
11179 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11180 (home-page "https://github.com/fukamachi/rove")
11181 (synopsis
11182 "Yet another common lisp testing library")
11183 (description
11184 "Rove is a unit testing framework for Common Lisp applications.
11185 This is intended to be a successor of Prove.")
11186 (license license:bsd-3)))
11187
11188 (define-public cl-rove
11189 (sbcl-package->cl-source-package sbcl-rove))
11190
11191 (define-public ecl-rove
11192 (sbcl-package->ecl-package sbcl-rove))
11193
11194 (define-public sbcl-exponential-backoff
11195 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11196 (package
11197 (name "sbcl-exponential-backoff")
11198 (version (git-version "0" "1" commit))
11199 (source
11200 (origin
11201 (method git-fetch)
11202 (uri (git-reference
11203 (url "https://github.com/death/exponential-backoff")
11204 (commit commit)))
11205 (file-name (git-file-name name version))
11206 (sha256
11207 (base32
11208 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11209 (build-system asdf-build-system/sbcl)
11210 (home-page "https://github.com/death/exponential-backoff")
11211 (synopsis "Exponential backoff algorithm in Common Lisp")
11212 (description
11213 "An implementation of the exponential backoff algorithm in Common Lisp.
11214 Inspired by the implementation found in Chromium. Read the header file to
11215 learn about each of the parameters.")
11216 (license license:expat))))
11217
11218 (define-public cl-exponential-backoff
11219 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11220
11221 (define-public ecl-exponential-backoff
11222 (sbcl-package->ecl-package sbcl-exponential-backoff))
11223
11224 (define-public sbcl-sxql
11225 (let ((commit "acdd183a4c38b4e0699a285f8a711c88f6b4302c"))
11226 (package
11227 (name "sbcl-sxql")
11228 (version (git-version "0.1.0" "2" commit))
11229 (source
11230 (origin
11231 (method git-fetch)
11232 (uri (git-reference
11233 (url "https://github.com/fukamachi/sxql")
11234 (commit commit)))
11235 (file-name (git-file-name "sqxl" version))
11236 (sha256
11237 (base32 "1i1crdsf2nbyxxpvjgrwmwpjxn6a4drbcmqs4q4shfi8zyap7vng"))))
11238 (build-system asdf-build-system/sbcl)
11239 (inputs
11240 `(("alexandria" ,sbcl-alexandria)
11241 ("cl-package-locks" ,sbcl-cl-package-locks)
11242 ("cl-syntax" ,sbcl-cl-syntax)
11243 ("iterate" ,sbcl-iterate)
11244 ("optima" ,sbcl-optima)
11245 ("split-sequence" ,sbcl-split-sequence)
11246 ("trivial-types" ,sbcl-trivial-types)))
11247 (native-inputs
11248 `(("prove" ,sbcl-prove)))
11249 (home-page "https://github.com/fukamachi/sxql")
11250 (synopsis "SQL generator for Common Lisp")
11251 (description "SQL generator for Common Lisp.")
11252 (license license:bsd-3))))
11253
11254 (define-public cl-sxql
11255 (sbcl-package->cl-source-package sbcl-sxql))
11256
11257 (define-public ecl-sxql
11258 (sbcl-package->ecl-package sbcl-sxql))
11259
11260 (define-public sbcl-1am
11261 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11262 (package
11263 (name "sbcl-1am")
11264 (version (git-version "0.0" "1" commit))
11265 (source
11266 (origin
11267 (method git-fetch)
11268 (uri (git-reference
11269 (url "https://github.com/lmj/1am")
11270 (commit commit)))
11271 (file-name (git-file-name name version))
11272 (sha256
11273 (base32
11274 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11275 (build-system asdf-build-system/sbcl)
11276 (home-page "https://github.com/lmj/1am")
11277 (synopsis "Minimal testing framework for Common Lisp")
11278 (description "A minimal testing framework for Common Lisp.")
11279 (license license:expat))))
11280
11281 (define-public cl-1am
11282 (sbcl-package->cl-source-package sbcl-1am))
11283
11284 (define-public ecl-1am
11285 (sbcl-package->ecl-package sbcl-1am))
11286
11287 (define-public sbcl-cl-ascii-table
11288 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11289 (revision "1"))
11290 (package
11291 (name "sbcl-cl-ascii-table")
11292 (version (git-version "0.0.0" revision commit))
11293 (source
11294 (origin
11295 (method git-fetch)
11296 (uri (git-reference
11297 (url "https://github.com/telephil/cl-ascii-table")
11298 (commit commit)))
11299 (file-name (git-file-name name version))
11300 (sha256
11301 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11302 (build-system asdf-build-system/sbcl)
11303 (synopsis "Library to make ascii-art tables")
11304 (description
11305 "This is a Common Lisp library to present tabular data in ascii-art
11306 tables.")
11307 (home-page "https://github.com/telephil/cl-ascii-table")
11308 (license license:expat))))
11309
11310 (define-public cl-ascii-table
11311 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11312
11313 (define-public ecl-cl-ascii-table
11314 (sbcl-package->ecl-package sbcl-cl-ascii-table))
11315
11316 (define-public sbcl-cl-rdkafka
11317 (package
11318 (name "sbcl-cl-rdkafka")
11319 (version "1.1.0")
11320 (source
11321 (origin
11322 (method git-fetch)
11323 (uri (git-reference
11324 (url "https://github.com/SahilKang/cl-rdkafka")
11325 (commit (string-append "v" version))))
11326 (file-name (git-file-name name version))
11327 (sha256
11328 (base32
11329 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
11330 (build-system asdf-build-system/sbcl)
11331 (arguments
11332 `(#:tests? #f ; Attempts to connect to locally running Kafka
11333 #:phases
11334 (modify-phases %standard-phases
11335 (add-after 'unpack 'fix-paths
11336 (lambda* (#:key inputs #:allow-other-keys)
11337 (substitute* "src/low-level/librdkafka-bindings.lisp"
11338 (("librdkafka" all)
11339 (string-append (assoc-ref inputs "librdkafka") "/lib/"
11340 all))))))))
11341 (inputs
11342 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11343 ("cffi" ,sbcl-cffi)
11344 ("librdkafka" ,librdkafka)
11345 ("lparallel" ,sbcl-lparallel)
11346 ("trivial-garbage" ,sbcl-trivial-garbage)))
11347 (home-page "https://github.com/SahilKang/cl-rdkafka")
11348 (synopsis "Common Lisp client library for Apache Kafka")
11349 (description "A Common Lisp client library for Apache Kafka.")
11350 (license license:gpl3)))
11351
11352 (define-public cl-rdkafka
11353 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
11354
11355 (define-public ecl-cl-rdkafka
11356 (sbcl-package->ecl-package sbcl-cl-rdkafka))
11357
11358 (define-public sbcl-acclimation
11359 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11360 (package
11361 (name "sbcl-acclimation")
11362 (version (git-version "0.0.0" "1" commit))
11363 (source
11364 (origin
11365 (method git-fetch)
11366 (uri (git-reference
11367 (url "https://github.com/robert-strandh/Acclimation")
11368 (commit commit)))
11369 (file-name (git-file-name name version))
11370 (sha256
11371 (base32
11372 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11373 (build-system asdf-build-system/sbcl)
11374 (home-page "https://github.com/robert-strandh/Acclimation")
11375 (synopsis "Internationalization library for Common Lisp")
11376 (description "This project is meant to provide tools for
11377 internationalizing Common Lisp programs.
11378
11379 One important aspect of internationalization is of course the language used in
11380 error messages, documentation strings, etc. But with this project we provide
11381 tools for all other aspects of internationalization as well, including dates,
11382 weight, temperature, names of physical quantitites, etc.")
11383 (license license:bsd-2))))
11384
11385 (define-public cl-acclimation
11386 (sbcl-package->cl-source-package sbcl-acclimation))
11387
11388 (define-public ecl-acclimation
11389 (sbcl-package->ecl-package sbcl-acclimation))
11390
11391 (define-public sbcl-clump
11392 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
11393 (package
11394 (name "sbcl-clump")
11395 (version (git-version "0.0.0" "1" commit))
11396 (source
11397 (origin
11398 (method git-fetch)
11399 (uri (git-reference
11400 (url "https://github.com/robert-strandh/Clump")
11401 (commit commit)))
11402 (file-name (git-file-name name version))
11403 (sha256
11404 (base32
11405 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
11406 (inputs
11407 `(("acclimation" ,sbcl-acclimation)))
11408 (build-system asdf-build-system/sbcl)
11409 (home-page "https://github.com/robert-strandh/Clump")
11410 (synopsis "Collection of tree implementations for Common Lisp")
11411 (description "The purpose of this library is to provide a collection of
11412 implementations of trees.
11413
11414 In contrast to existing libraries such as cl-containers, it does not impose a
11415 particular use for the trees. Instead, it aims for a stratified design,
11416 allowing client code to choose between different levels of abstraction.
11417
11418 As a consequence of this policy, low-level interfaces are provided where
11419 the concrete representation is exposed, but also high level interfaces
11420 where the trees can be used as search trees or as trees that represent
11421 sequences of objects.")
11422 (license license:bsd-2))))
11423
11424 (define-public cl-clump
11425 (sbcl-package->cl-source-package sbcl-clump))
11426
11427 (define-public ecl-clump
11428 (sbcl-package->ecl-package sbcl-clump))
11429
11430 (define-public sbcl-cluffer
11431 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
11432 (package
11433 (name "sbcl-cluffer")
11434 (version (git-version "0.0.0" "1" commit))
11435 (source
11436 (origin
11437 (method git-fetch)
11438 (uri (git-reference
11439 (url "https://github.com/robert-strandh/cluffer")
11440 (commit commit)))
11441 (file-name (git-file-name name version))
11442 (sha256
11443 (base32
11444 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
11445 (build-system asdf-build-system/sbcl)
11446 (inputs
11447 `(("acclimation" ,sbcl-acclimation)
11448 ("clump" ,sbcl-clump)))
11449 (home-page "https://github.com/robert-strandh/cluffer")
11450 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
11451 (description "Cluffer is a library for representing the buffer of a text
11452 editor. As such, it defines a set of CLOS protocols for client code to
11453 interact with the buffer contents in various ways, and it supplies different
11454 implementations of those protocols for different purposes.")
11455 (license license:bsd-2))))
11456
11457 (define-public cl-cluffer
11458 (sbcl-package->cl-source-package sbcl-cluffer))
11459
11460 (define-public ecl-cluffer
11461 (sbcl-package->ecl-package sbcl-cluffer))
11462
11463 (define-public sbcl-cl-libsvm-format
11464 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11465 (revision "0"))
11466 (package
11467 (name "sbcl-cl-libsvm-format")
11468 (version (git-version "0.1.0" revision commit))
11469 (source
11470 (origin
11471 (method git-fetch)
11472 (uri (git-reference
11473 (url "https://github.com/masatoi/cl-libsvm-format")
11474 (commit commit)))
11475 (file-name (git-file-name name version))
11476 (sha256
11477 (base32
11478 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11479 (build-system asdf-build-system/sbcl)
11480 (native-inputs
11481 `(("prove" ,sbcl-prove)))
11482 (inputs
11483 `(("alexandria" ,sbcl-alexandria)))
11484 (synopsis "LibSVM data format reader for Common Lisp")
11485 (description
11486 "This Common Lisp library provides a fast reader for data in LibSVM
11487 format.")
11488 (home-page "https://github.com/masatoi/cl-libsvm-format")
11489 (license license:expat))))
11490
11491 (define-public cl-libsvm-format
11492 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11493
11494 (define-public ecl-cl-libsvm-format
11495 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11496
11497 (define-public sbcl-cl-online-learning
11498 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11499 (revision "1"))
11500 (package
11501 (name "sbcl-cl-online-learning")
11502 (version (git-version "0.5" revision commit))
11503 (source
11504 (origin
11505 (method git-fetch)
11506 (uri (git-reference
11507 (url "https://github.com/masatoi/cl-online-learning")
11508 (commit commit)))
11509 (file-name (git-file-name "cl-online-learning" version))
11510 (sha256
11511 (base32
11512 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
11513 (build-system asdf-build-system/sbcl)
11514 (native-inputs
11515 `(("prove" ,sbcl-prove)))
11516 (inputs
11517 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11518 ("cl-store" ,sbcl-cl-store)))
11519 (arguments
11520 `(#:test-asd-file "cl-online-learning-test.asd"
11521 #:asd-systems '("cl-online-learning-test"
11522 "cl-online-learning")))
11523 (home-page "https://github.com/masatoi/cl-online-learning")
11524 (synopsis "Online Machine Learning for Common Lisp")
11525 (description
11526 "This library contains a collection of machine learning algorithms for
11527 online linear classification written in Common Lisp.")
11528 (license license:expat))))
11529
11530 (define-public cl-online-learning
11531 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11532
11533 (define-public ecl-cl-online-learning
11534 (sbcl-package->ecl-package sbcl-cl-online-learning))
11535
11536 (define-public sbcl-cl-mpg123
11537 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11538 (revision "1"))
11539 (package
11540 (name "sbcl-cl-mpg123")
11541 (version (git-version "1.0.0" revision commit))
11542 (source
11543 (origin
11544 (method git-fetch)
11545 (uri (git-reference
11546 (url "https://github.com/Shirakumo/cl-mpg123")
11547 (commit commit)))
11548 (file-name (git-file-name "cl-mpg123" version))
11549 (sha256
11550 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11551 (modules '((guix build utils)))
11552 (snippet
11553 '(begin
11554 ;; Remove bundled pre-compiled libraries.
11555 (delete-file-recursively "static")
11556 #t))))
11557 (build-system asdf-build-system/sbcl)
11558 (arguments
11559 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11560 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11561 #:phases
11562 (modify-phases %standard-phases
11563 (add-after 'unpack 'fix-paths
11564 (lambda* (#:key inputs #:allow-other-keys)
11565 (substitute* "low-level.lisp"
11566 (("libmpg123.so" all)
11567 (string-append (assoc-ref inputs "libmpg123")
11568 "/lib/" all))))))))
11569 (inputs
11570 `(("cffi" ,sbcl-cffi)
11571 ("cl-out123" ,sbcl-cl-out123)
11572 ("documentation-utils" ,sbcl-documentation-utils)
11573 ("libmpg123" ,mpg123)
11574 ("trivial-features" ,sbcl-trivial-features)
11575 ("trivial-garbage" ,sbcl-trivial-garbage)
11576 ("verbose" ,sbcl-verbose)))
11577 (home-page "https://shirakumo.github.io/cl-mpg123/")
11578 (synopsis "Common Lisp bindings to libmpg123")
11579 (description
11580 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11581 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11582 files.")
11583 (license license:zlib))))
11584
11585 (define-public ecl-cl-mpg123
11586 (sbcl-package->ecl-package sbcl-cl-mpg123))
11587
11588 (define-public cl-mpg123
11589 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11590
11591 (define-public sbcl-cl-out123
11592 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11593 (revision "1"))
11594 (package
11595 (name "sbcl-cl-out123")
11596 (version (git-version "1.0.0" revision commit))
11597 (source
11598 (origin
11599 (method git-fetch)
11600 (uri (git-reference
11601 (url "https://github.com/Shirakumo/cl-out123")
11602 (commit commit)))
11603 (file-name (git-file-name "cl-out123" version))
11604 (sha256
11605 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11606 (modules '((guix build utils)))
11607 (snippet
11608 '(begin
11609 ;; Remove bundled pre-compiled libraries.
11610 (delete-file-recursively "static")
11611 #t))))
11612 (build-system asdf-build-system/sbcl)
11613 (arguments
11614 `(#:phases
11615 (modify-phases %standard-phases
11616 (add-after 'unpack 'fix-paths
11617 (lambda* (#:key inputs #:allow-other-keys)
11618 (substitute* "low-level.lisp"
11619 (("libout123.so" all)
11620 (string-append (assoc-ref inputs "libout123")
11621 "/lib/" all)))))
11622 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11623 ;; exported macro `without-interrupts' it's moved to `mp' package
11624 ;; https://github.com/Shirakumo/cl-out123/issues/2
11625 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11626 (add-after 'unpack 'fix-ecl-package-name
11627 (lambda _
11628 (substitute* "wrapper.lisp"
11629 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11630 #t)))))
11631 (inputs
11632 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11633 ("cffi" ,sbcl-cffi)
11634 ("documentation-utils" ,sbcl-documentation-utils)
11635 ("libout123" ,mpg123)
11636 ("trivial-features" ,sbcl-trivial-features)
11637 ("trivial-garbage" ,sbcl-trivial-garbage)))
11638 (home-page "https://shirakumo.github.io/cl-out123/")
11639 (synopsis "Common Lisp bindings to libout123")
11640 (description
11641 "This is a bindings library to @code{libout123} which allows easy
11642 cross-platform audio playback.")
11643 (license license:zlib))))
11644
11645 (define-public ecl-cl-out123
11646 (sbcl-package->ecl-package sbcl-cl-out123))
11647
11648 (define-public cl-out123
11649 (sbcl-package->cl-source-package sbcl-cl-out123))
11650
11651 (define-public sbcl-cl-random-forest
11652 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11653 (revision "1"))
11654 (package
11655 (name "sbcl-cl-random-forest")
11656 (version (git-version "0.1" revision commit))
11657 (source
11658 (origin
11659 (method git-fetch)
11660 (uri (git-reference
11661 (url "https://github.com/masatoi/cl-random-forest")
11662 (commit commit)))
11663 (file-name (git-file-name name version))
11664 (sha256
11665 (base32
11666 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11667 (build-system asdf-build-system/sbcl)
11668 (native-inputs
11669 `(("prove" ,sbcl-prove)
11670 ("trivial-garbage" ,sbcl-trivial-garbage)))
11671 (inputs
11672 `(("alexandria" ,sbcl-alexandria)
11673 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11674 ("cl-online-learning" ,sbcl-cl-online-learning)
11675 ("lparallel" ,sbcl-lparallel)))
11676 (arguments
11677 `(#:tests? #f)) ; The tests download data from the Internet
11678 (synopsis "Random Forest and Global Refinement for Common Lisp")
11679 (description
11680 "CL-random-forest is an implementation of Random Forest for multiclass
11681 classification and univariate regression written in Common Lisp. It also
11682 includes an implementation of Global Refinement of Random Forest.")
11683 (home-page "https://github.com/masatoi/cl-random-forest")
11684 (license license:expat))))
11685
11686 (define-public cl-random-forest
11687 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11688
11689 (define-public ecl-cl-random-forest
11690 (sbcl-package->ecl-package sbcl-cl-random-forest))
11691
11692 (define-public sbcl-bordeaux-fft
11693 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11694 (revision "0"))
11695 (package
11696 (name "sbcl-bordeaux-fft")
11697 (version (git-version "1.0.1" revision commit))
11698 (source
11699 (origin
11700 (method git-fetch)
11701 (uri (git-reference
11702 (url "https://github.com/ahefner/bordeaux-fft")
11703 (commit commit)))
11704 (file-name (git-file-name name version))
11705 (sha256
11706 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11707 (build-system asdf-build-system/sbcl)
11708 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11709 (synopsis "Fast Fourier Transform for Common Lisp")
11710 (description
11711 "The Bordeaux-FFT library provides a reasonably efficient implementation
11712 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11713 portable Common Lisp.")
11714 (license license:gpl2+))))
11715
11716 (define-public cl-bordeaux-fft
11717 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11718
11719 (define-public ecl-bordeaux-fft
11720 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11721
11722 (define-public sbcl-napa-fft3
11723 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11724 (revision "0"))
11725 (package
11726 (name "sbcl-napa-fft3")
11727 (version (git-version "0.0.1" revision commit))
11728 (source
11729 (origin
11730 (method git-fetch)
11731 (uri (git-reference
11732 (url "https://github.com/pkhuong/Napa-FFT3")
11733 (commit commit)))
11734 (file-name (git-file-name name version))
11735 (sha256
11736 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11737 (build-system asdf-build-system/sbcl)
11738 (home-page "https://github.com/pkhuong/Napa-FFT3")
11739 (synopsis "Fast Fourier Transform routines in Common Lisp")
11740 (description
11741 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11742 buildings blocks to express common operations that involve DFTs: filtering,
11743 convolutions, etc.")
11744 (license license:bsd-3))))
11745
11746 (define-public cl-napa-fft3
11747 (sbcl-package->cl-source-package sbcl-napa-fft3))
11748
11749 (define-public sbcl-cl-tga
11750 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11751 (revision "0"))
11752 (package
11753 (name "sbcl-cl-tga")
11754 (version (git-version "0.0.0" revision commit))
11755 (source
11756 (origin
11757 (method git-fetch)
11758 (uri (git-reference
11759 (url "https://github.com/fisxoj/cl-tga")
11760 (commit commit)))
11761 (file-name (git-file-name name version))
11762 (sha256
11763 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11764 (build-system asdf-build-system/sbcl)
11765 (home-page "https://github.com/fisxoj/cl-tga")
11766 (synopsis "TGA file loader for Common Lisp")
11767 (description
11768 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11769 programs. It's a very simple library, and, at the moment, only supports
11770 non-RLE encoded forms of the files.")
11771 (license license:expat))))
11772
11773 (define-public cl-tga
11774 (sbcl-package->cl-source-package sbcl-cl-tga))
11775
11776 (define-public ecl-cl-tga
11777 (sbcl-package->ecl-package sbcl-cl-tga))
11778
11779 (define-public sbcl-com.gigamonkeys.binary-data
11780 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11781 (revision "0"))
11782 (package
11783 (name "sbcl-com.gigamonkeys.binary-data")
11784 (version (git-version "0.0.0" revision commit))
11785 (source
11786 (origin
11787 (method git-fetch)
11788 (uri (git-reference
11789 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11790 (commit commit)))
11791 (file-name (git-file-name name version))
11792 (sha256
11793 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11794 (build-system asdf-build-system/sbcl)
11795 (inputs
11796 `(("alexandria" ,sbcl-alexandria)))
11797 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11798 (synopsis "Common Lisp library for reading and writing binary data")
11799 (description
11800 "This a Common Lisp library for reading and writing binary data. It is
11801 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11802 (license license:bsd-3))))
11803
11804 (define-public cl-com.gigamonkeys.binary-data
11805 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11806
11807 (define-public ecl-com.gigamonkeys.binary-data
11808 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11809
11810 (define-public sbcl-deflate
11811 (package
11812 (name "sbcl-deflate")
11813 (version "1.0.3")
11814 (source
11815 (origin
11816 (method git-fetch)
11817 (uri (git-reference
11818 (url "https://github.com/pmai/Deflate")
11819 (commit (string-append "release-" version))))
11820 (file-name (git-file-name name version))
11821 (sha256
11822 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11823 (build-system asdf-build-system/sbcl)
11824 (home-page "https://github.com/pmai/Deflate")
11825 (synopsis "Native deflate decompression for Common Lisp")
11826 (description
11827 "This library is an implementation of Deflate (RFC 1951) decompression,
11828 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11829 wrappers of deflate streams. It currently does not handle compression.")
11830 (license license:expat)))
11831
11832 (define-public cl-deflate
11833 (sbcl-package->cl-source-package sbcl-deflate))
11834
11835 (define-public ecl-deflate
11836 (sbcl-package->ecl-package sbcl-deflate))
11837
11838 (define-public sbcl-skippy
11839 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11840 (revision "0"))
11841 (package
11842 (name "sbcl-skippy")
11843 (version (git-version "1.3.12" revision commit))
11844 (source
11845 (origin
11846 (method git-fetch)
11847 (uri (git-reference
11848 (url "https://github.com/xach/skippy")
11849 (commit commit)))
11850 (file-name (git-file-name name version))
11851 (sha256
11852 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11853 (build-system asdf-build-system/sbcl)
11854 (home-page "https://xach.com/lisp/skippy/")
11855 (synopsis "Common Lisp library for GIF images")
11856 (description
11857 "Skippy is a Common Lisp library to read and write GIF image files.")
11858 (license license:bsd-2))))
11859
11860 (define-public cl-skippy
11861 (sbcl-package->cl-source-package sbcl-skippy))
11862
11863 (define-public ecl-skippy
11864 (sbcl-package->ecl-package sbcl-skippy))
11865
11866 (define-public sbcl-cl-freetype2
11867 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11868 (revision "0"))
11869 (package
11870 (name "sbcl-cl-freetype2")
11871 (version (git-version "1.1" revision commit))
11872 (source
11873 (origin
11874 (method git-fetch)
11875 (uri (git-reference
11876 (url "https://github.com/rpav/cl-freetype2")
11877 (commit commit)))
11878 (file-name (git-file-name name version))
11879 (sha256
11880 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11881 (build-system asdf-build-system/sbcl)
11882 (native-inputs
11883 `(("fiveam" ,sbcl-fiveam)))
11884 (inputs
11885 `(("alexandria" ,sbcl-alexandria)
11886 ("cffi" ,sbcl-cffi)
11887 ("freetype" ,freetype)
11888 ("trivial-garbage" ,sbcl-trivial-garbage)))
11889 (arguments
11890 `(#:phases
11891 (modify-phases %standard-phases
11892 (add-after 'unpack 'fix-paths
11893 (lambda* (#:key inputs #:allow-other-keys)
11894 (substitute* "src/ffi/ft2-lib.lisp"
11895 (("\"libfreetype\"")
11896 (string-append "\"" (assoc-ref inputs "freetype")
11897 "/lib/libfreetype\"")))
11898 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11899 (("-I/usr/include/freetype")
11900 (string-append "-I" (assoc-ref inputs "freetype")
11901 "/include/freetype")))
11902 #t)))))
11903 (home-page "https://github.com/rpav/cl-freetype2")
11904 (synopsis "Common Lisp bindings for Freetype 2")
11905 (description
11906 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11907 geared toward both using Freetype directly by providing a simplified API, as
11908 well as providing access to the underlying C structures and functions for use
11909 with other libraries which may also use Freetype.")
11910 (license license:bsd-3))))
11911
11912 (define-public cl-freetype2
11913 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11914
11915 (define-public ecl-cl-freetype2
11916 (sbcl-package->ecl-package sbcl-cl-freetype2))
11917
11918 (define-public sbcl-opticl-core
11919 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11920 (revision "0"))
11921 (package
11922 (name "sbcl-opticl-core")
11923 (version (git-version "0.0.0" revision commit))
11924 (source
11925 (origin
11926 (method git-fetch)
11927 (uri (git-reference
11928 (url "https://github.com/slyrus/opticl-core")
11929 (commit commit)))
11930 (file-name (git-file-name name version))
11931 (sha256
11932 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11933 (build-system asdf-build-system/sbcl)
11934 (inputs
11935 `(("alexandria" ,sbcl-alexandria)))
11936 (home-page "https://github.com/slyrus/opticl-core")
11937 (synopsis "Core classes and pixel access macros for Opticl")
11938 (description
11939 "This Common Lisp library contains the core classes and pixel access
11940 macros for the Opticl image processing library.")
11941 (license license:bsd-2))))
11942
11943 (define-public cl-opticl-core
11944 (sbcl-package->cl-source-package sbcl-opticl-core))
11945
11946 (define-public ecl-opticl-core
11947 (sbcl-package->ecl-package sbcl-opticl-core))
11948
11949 (define-public sbcl-retrospectiff
11950 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11951 (revision "0"))
11952 (package
11953 (name "sbcl-retrospectiff")
11954 (version (git-version "0.2" revision commit))
11955 (source
11956 (origin
11957 (method git-fetch)
11958 (uri (git-reference
11959 (url "https://github.com/slyrus/retrospectiff")
11960 (commit commit)))
11961 (file-name (git-file-name name version))
11962 (sha256
11963 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11964 (build-system asdf-build-system/sbcl)
11965 (native-inputs
11966 `(("fiveam" ,sbcl-fiveam)))
11967 (inputs
11968 `(("cl-jpeg" ,sbcl-cl-jpeg)
11969 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11970 ("deflate" ,sbcl-deflate)
11971 ("flexi-streams" ,sbcl-flexi-streams)
11972 ("ieee-floats" ,sbcl-ieee-floats)
11973 ("opticl-core" ,sbcl-opticl-core)))
11974 (home-page "https://github.com/slyrus/retrospectiff")
11975 (synopsis "Common Lisp library for TIFF images")
11976 (description
11977 "Retrospectiff is a common lisp library for reading and writing images
11978 in the TIFF (Tagged Image File Format) format.")
11979 (license license:bsd-2))))
11980
11981 (define-public cl-retrospectif
11982 (sbcl-package->cl-source-package sbcl-retrospectiff))
11983
11984 (define-public ecl-retrospectiff
11985 (sbcl-package->ecl-package sbcl-retrospectiff))
11986
11987 (define-public sbcl-mmap
11988 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11989 (revision "0"))
11990 (package
11991 (name "sbcl-mmap")
11992 (version (git-version "1.0.0" revision commit))
11993 (source
11994 (origin
11995 (method git-fetch)
11996 (uri (git-reference
11997 (url "https://github.com/Shinmera/mmap")
11998 (commit commit)))
11999 (file-name (git-file-name name version))
12000 (sha256
12001 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
12002 (build-system asdf-build-system/sbcl)
12003 (native-inputs
12004 `(("alexandria" ,sbcl-alexandria)
12005 ("cffi" ,sbcl-cffi)
12006 ("parachute" ,sbcl-parachute)
12007 ("trivial-features" ,sbcl-trivial-features)))
12008 (inputs
12009 `(("cffi" ,sbcl-cffi)
12010 ("documentation-utils" ,sbcl-documentation-utils)))
12011 (home-page "https://shinmera.github.io/mmap/")
12012 (synopsis "File memory mapping for Common Lisp")
12013 (description
12014 "This is a utility library providing access to the @emph{mmap} family of
12015 functions in a portable way. It allows you to directly map a file into the
12016 address space of your process without having to manually read it into memory
12017 sequentially. Typically this is much more efficient for files that are larger
12018 than a few Kb.")
12019 (license license:zlib))))
12020
12021 (define-public cl-mmap
12022 (sbcl-package->cl-source-package sbcl-mmap))
12023
12024 (define-public ecl-mmap
12025 (sbcl-package->ecl-package sbcl-mmap))
12026
12027 (define-public sbcl-3bz
12028 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
12029 (revision "1"))
12030 (package
12031 (name "sbcl-3bz")
12032 (version (git-version "0.0.0" revision commit))
12033 (source
12034 (origin
12035 (method git-fetch)
12036 (uri (git-reference
12037 (url "https://github.com/3b/3bz")
12038 (commit commit)))
12039 (file-name (git-file-name name version))
12040 (sha256
12041 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
12042 (build-system asdf-build-system/sbcl)
12043 (inputs
12044 `(("alexandria" ,sbcl-alexandria)
12045 ("babel" ,sbcl-babel)
12046 ("cffi" ,sbcl-cffi)
12047 ("mmap" ,sbcl-mmap)
12048 ("nibbles" ,sbcl-nibbles)
12049 ("trivial-features" ,sbcl-trivial-features)))
12050 (home-page "https://github.com/3b/3bz")
12051 (synopsis "Deflate decompression for Common Lisp")
12052 (description
12053 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
12054 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
12055 foreign pointers (for use with mmap and similar, etc), and from CL octet
12056 vectors and streams.")
12057 (license license:expat))))
12058
12059 (define-public cl-3bz
12060 (sbcl-package->cl-source-package sbcl-3bz))
12061
12062 (define-public ecl-3bz
12063 (sbcl-package->ecl-package sbcl-3bz))
12064
12065 (define-public sbcl-zpb-exif
12066 (package
12067 (name "sbcl-zpb-exif")
12068 (version "1.2.4")
12069 (source
12070 (origin
12071 (method git-fetch)
12072 (uri (git-reference
12073 (url "https://github.com/xach/zpb-exif")
12074 (commit (string-append "release-" version))))
12075 (file-name (git-file-name name version))
12076 (sha256
12077 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
12078 (build-system asdf-build-system/sbcl)
12079 (home-page "https://xach.com/lisp/zpb-exif/")
12080 (synopsis "EXIF information extractor for Common Lisp")
12081 (description
12082 "This is a Common Lisp library to extract EXIF information from image
12083 files.")
12084 (license license:bsd-2)))
12085
12086 (define-public cl-zpb-exif
12087 (sbcl-package->cl-source-package sbcl-zpb-exif))
12088
12089 (define-public ecl-zpb-exif
12090 (sbcl-package->ecl-package sbcl-zpb-exif))
12091
12092 (define-public sbcl-pngload
12093 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
12094 (revision "2"))
12095 (package
12096 (name "sbcl-pngload")
12097 (version (git-version "2.0.0" revision commit))
12098 (source
12099 (origin
12100 (method git-fetch)
12101 (uri (git-reference
12102 (url "https://git.mfiano.net/mfiano/pngload.git")
12103 (commit commit)))
12104 (file-name (git-file-name "pngload" version))
12105 (sha256
12106 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
12107 (build-system asdf-build-system/sbcl)
12108 (inputs
12109 `(("3bz" ,sbcl-3bz)
12110 ("alexandria" ,sbcl-alexandria)
12111 ("cffi" ,sbcl-cffi)
12112 ("mmap" ,sbcl-mmap)
12113 ("parse-float" ,sbcl-parse-float)
12114 ("static-vectors" ,sbcl-static-vectors)
12115 ("swap-bytes" ,sbcl-swap-bytes)
12116 ("zpb-exif" ,sbcl-zpb-exif)))
12117 (arguments
12118 ;; Test suite disabled because of a dependency cycle.
12119 ;; pngload tests depend on opticl which depends on pngload.
12120 '(#:tests? #f))
12121 (home-page "https://git.mfiano.net/mfiano/pngload.git")
12122 (synopsis "PNG image decoder for Common Lisp")
12123 (description
12124 "This is a Common Lisp library to load images in the PNG image format,
12125 both from files on disk, or streams in memory.")
12126 (license license:expat))))
12127
12128 (define-public cl-pngload
12129 (sbcl-package->cl-source-package sbcl-pngload))
12130
12131 (define-public ecl-pngload
12132 (sbcl-package->ecl-package sbcl-pngload))
12133
12134 (define-public sbcl-opticl
12135 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12136 (revision "0"))
12137 (package
12138 (name "sbcl-opticl")
12139 (version (git-version "0.0.0" revision commit))
12140 (source
12141 (origin
12142 (method git-fetch)
12143 (uri (git-reference
12144 (url "https://github.com/slyrus/opticl")
12145 (commit commit)))
12146 (file-name (git-file-name name version))
12147 (sha256
12148 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12149 (build-system asdf-build-system/sbcl)
12150 (native-inputs
12151 `(("fiveam" ,sbcl-fiveam)))
12152 (inputs
12153 `(("alexandria" ,sbcl-alexandria)
12154 ("cl-jpeg" ,sbcl-cl-jpeg)
12155 ("cl-tga" ,sbcl-cl-tga)
12156 ("png-read" ,sbcl-png-read)
12157 ("pngload" ,sbcl-pngload)
12158 ("retrospectiff" ,sbcl-retrospectiff)
12159 ("skippy" ,sbcl-skippy)
12160 ("zpng" ,sbcl-zpng)))
12161 (arguments
12162 '(#:asd-files '("opticl.asd")))
12163 (home-page "https://github.com/slyrus/opticl")
12164 (synopsis "Image processing library for Common Lisp")
12165 (description
12166 "Opticl is a Common Lisp library for representing, processing, loading,
12167 and saving 2-dimensional pixel-based images.")
12168 (license license:bsd-2))))
12169
12170 (define-public cl-opticl
12171 (sbcl-package->cl-source-package sbcl-opticl))
12172
12173 (define-public ecl-opticl
12174 (sbcl-package->ecl-package sbcl-opticl))
12175
12176 (define-public sbcl-mcclim
12177 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
12178 (revision "1"))
12179 (package
12180 (name "sbcl-mcclim")
12181 (version (git-version "0.9.7" revision commit))
12182 (source
12183 (origin
12184 (method git-fetch)
12185 (uri (git-reference
12186 (url "https://github.com/mcclim/mcclim")
12187 (commit commit)))
12188 (file-name (git-file-name name version))
12189 (sha256
12190 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
12191 (build-system asdf-build-system/sbcl)
12192 (native-inputs
12193 `(("fiveam" ,sbcl-fiveam)
12194 ("pkg-config" ,pkg-config)))
12195 (inputs
12196 `(("alexandria" ,sbcl-alexandria)
12197 ("babel" ,sbcl-babel)
12198 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12199 ("cl-freetype2" ,sbcl-cl-freetype2)
12200 ("cl-pdf" ,sbcl-cl-pdf)
12201 ("cffi" ,sbcl-cffi)
12202 ("cl-unicode" ,sbcl-cl-unicode)
12203 ("cl-vectors" ,sbcl-cl-vectors)
12204 ("closer-mop" ,sbcl-closer-mop)
12205 ("clx" ,sbcl-clx)
12206 ("flexi-streams" ,sbcl-flexi-streams)
12207 ("flexichain" ,sbcl-flexichain)
12208 ("font-dejavu" ,font-dejavu)
12209 ("fontconfig" ,fontconfig)
12210 ("freetype" ,freetype)
12211 ("harfbuzz" ,harfbuzz)
12212 ("log4cl" ,sbcl-log4cl)
12213 ("opticl" ,sbcl-opticl)
12214 ("spatial-trees" ,sbcl-spatial-trees)
12215 ("swank" ,sbcl-slime-swank)
12216 ("trivial-features" ,sbcl-trivial-features)
12217 ("trivial-garbage" ,sbcl-trivial-garbage)
12218 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
12219 ("zpb-ttf" ,sbcl-zpb-ttf)))
12220 (arguments
12221 '(#:asd-systems '("mcclim"
12222 "clim-examples")
12223 #:phases
12224 (modify-phases %standard-phases
12225 (add-after 'unpack 'fix-paths
12226 (lambda* (#:key inputs #:allow-other-keys)
12227 ;; mcclim-truetype uses DejaVu as default font and
12228 ;; sets the path at build time.
12229 (substitute* "Extensions/fonts/fontconfig.lisp"
12230 (("/usr/share/fonts/truetype/dejavu/")
12231 (string-append (assoc-ref inputs "font-dejavu")
12232 "/share/fonts/truetype/")))
12233 (substitute* "Extensions/fontconfig/src/functions.lisp"
12234 (("libfontconfig\\.so")
12235 (string-append (assoc-ref inputs "fontconfig")
12236 "/lib/libfontconfig.so")))
12237 (substitute* "Extensions/harfbuzz/src/functions.lisp"
12238 (("libharfbuzz\\.so")
12239 (string-append (assoc-ref inputs "harfbuzz")
12240 "/lib/libharfbuzz.so")))
12241 #t))
12242 (add-after 'unpack 'fix-build
12243 (lambda _
12244 ;; The cffi-grovel system does not get loaded automatically,
12245 ;; so we load it explicitly.
12246 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
12247 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
12248 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12249 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
12250 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
12251 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12252 #t)))))
12253 (home-page "https://common-lisp.net/project/mcclim/")
12254 (synopsis "Common Lisp GUI toolkit")
12255 (description
12256 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12257 specification}, a toolkit for writing GUIs in Common Lisp.")
12258 (license license:lgpl2.1+))))
12259
12260 (define-public cl-mcclim
12261 (sbcl-package->cl-source-package sbcl-mcclim))
12262
12263 (define-public ecl-mcclim
12264 (sbcl-package->ecl-package sbcl-mcclim))
12265
12266 (define-public sbcl-cl-inflector
12267 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
12268 (revision "1"))
12269 (package
12270 (name "sbcl-cl-inflector")
12271 (version (git-version "0.2" revision commit))
12272 (source
12273 (origin
12274 (method git-fetch)
12275 (uri (git-reference
12276 (url "https://github.com/AccelerationNet/cl-inflector")
12277 (commit commit)))
12278 (file-name (git-file-name name version))
12279 (sha256
12280 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
12281 (build-system asdf-build-system/sbcl)
12282 (native-inputs
12283 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12284 (inputs
12285 `(("alexandria" ,sbcl-alexandria)
12286 ("cl-ppcre" ,sbcl-cl-ppcre)))
12287 (home-page "https://github.com/AccelerationNet/cl-inflector")
12288 (synopsis "Library to pluralize/singularize English and Portuguese words")
12289 (description
12290 "This is a common lisp library to easily pluralize and singularize
12291 English and Portuguese words. This is a port of the ruby ActiveSupport
12292 Inflector module.")
12293 (license license:expat))))
12294
12295 (define-public cl-inflector
12296 (sbcl-package->cl-source-package sbcl-cl-inflector))
12297
12298 (define-public ecl-cl-inflector
12299 (sbcl-package->ecl-package sbcl-cl-inflector))
12300
12301 (define-public sbcl-ixf
12302 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
12303 (revision "1"))
12304 (package
12305 (name "sbcl-ixf")
12306 (version (git-version "0.1.0" revision commit))
12307 (source
12308 (origin
12309 (method git-fetch)
12310 (uri (git-reference
12311 (url "https://github.com/dimitri/cl-ixf")
12312 (commit commit)))
12313 (file-name (git-file-name "cl-ixf" version))
12314 (sha256
12315 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
12316 (build-system asdf-build-system/sbcl)
12317 (inputs
12318 `(("alexandria" ,sbcl-alexandria)
12319 ("babel" ,sbcl-babel)
12320 ("cl-ppcre" ,sbcl-cl-ppcre)
12321 ("ieee-floats" ,sbcl-ieee-floats)
12322 ("local-time" ,sbcl-local-time)
12323 ("md5" ,sbcl-md5)
12324 ("split-sequence" ,sbcl-split-sequence)))
12325 (home-page "https://github.com/dimitri/cl-ixf")
12326 (synopsis "Parse IBM IXF file format")
12327 (description
12328 "This is a Common Lisp library to handle the IBM PC version of the IXF
12329 (Integration Exchange Format) file format.")
12330 (license license:public-domain))))
12331
12332 (define-public ecl-ixf
12333 (sbcl-package->ecl-package sbcl-ixf))
12334
12335 (define-public cl-ixf
12336 (sbcl-package->cl-source-package sbcl-ixf))
12337
12338 (define-public sbcl-qbase64
12339 (package
12340 (name "sbcl-qbase64")
12341 (version "0.3.0")
12342 (source
12343 (origin
12344 (method git-fetch)
12345 (uri (git-reference
12346 (url "https://github.com/chaitanyagupta/qbase64")
12347 (commit version)))
12348 (file-name (git-file-name name version))
12349 (sha256
12350 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
12351 (build-system asdf-build-system/sbcl)
12352 (inputs
12353 `(("metabang-bind" ,sbcl-metabang-bind)
12354 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12355 (native-inputs
12356 `(("fiveam" ,sbcl-fiveam)))
12357 (home-page "https://github.com/chaitanyagupta/qbase64")
12358 (synopsis "Base64 encoder and decoder for Common Lisp")
12359 (description "@code{qbase64} provides a fast and flexible base64 encoder
12360 and decoder for Common Lisp.")
12361 (license license:bsd-3)))
12362
12363 (define-public cl-qbase64
12364 (sbcl-package->cl-source-package sbcl-qbase64))
12365
12366 (define-public ecl-qbase64
12367 (sbcl-package->ecl-package sbcl-qbase64))
12368
12369 (define-public sbcl-lw-compat
12370 ;; No release since 2013.
12371 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
12372 (package
12373 (name "sbcl-lw-compat")
12374 (version (git-version "1.0.0" "1" commit))
12375 (source
12376 (origin
12377 (method git-fetch)
12378 (uri (git-reference
12379 (url "https://github.com/pcostanza/lw-compat/")
12380 (commit commit)))
12381 (file-name (git-file-name name version))
12382 (sha256
12383 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
12384 (build-system asdf-build-system/sbcl)
12385 (home-page "https://github.com/pcostanza/lw-compat/")
12386 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
12387 (description "This package contains a few utility functions from the
12388 LispWorks library that are used in software such as ContextL.")
12389 (license license:expat))))
12390
12391 (define-public cl-lw-compat
12392 (sbcl-package->cl-source-package sbcl-lw-compat))
12393
12394 (define-public ecl-lw-compat
12395 (sbcl-package->ecl-package sbcl-lw-compat))
12396
12397 (define-public sbcl-contextl
12398 ;; No release since 2013.
12399 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
12400 (package
12401 (name "sbcl-contextl")
12402 (version (git-version "1.0.0" "1" commit))
12403 (source
12404 (origin
12405 (method git-fetch)
12406 (uri (git-reference
12407 (url "https://github.com/pcostanza/contextl/")
12408 (commit commit)))
12409 (file-name (git-file-name name version))
12410 (sha256
12411 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
12412 (build-system asdf-build-system/sbcl)
12413 (inputs
12414 `(("closer-mop" ,sbcl-closer-mop)
12415 ("lw-compat" ,sbcl-lw-compat)))
12416 (home-page "https://github.com/pcostanza/contextl")
12417 (synopsis "Context-oriented programming for Common Lisp")
12418 (description "ContextL is a CLOS extension for Context-Oriented
12419 Programming (COP).
12420
12421 Find overview of ContextL's features in an overview paper:
12422 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
12423 overview article about COP which also contains some ContextL examples:
12424 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
12425 (license license:expat))))
12426
12427 (define-public cl-contextl
12428 (sbcl-package->cl-source-package sbcl-contextl))
12429
12430 (define-public ecl-contextl
12431 (sbcl-package->ecl-package sbcl-contextl))
12432
12433 (define-public sbcl-hu.dwim.common-lisp
12434 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
12435 (package
12436 (name "sbcl-hu.dwim.common-lisp")
12437 (version "2021-01-27")
12438 (source
12439 (origin
12440 (method git-fetch)
12441 (uri (git-reference
12442 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
12443 (commit commit)))
12444 (file-name (git-file-name name version))
12445 (sha256
12446 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
12447 (build-system asdf-build-system/sbcl)
12448 (native-inputs
12449 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12450 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
12451 (synopsis "Redefine some standard Common Lisp names")
12452 (description "This library is a redefinition of the standard Common Lisp
12453 package that includes a number of renames and shadows. ")
12454 (license license:public-domain))))
12455
12456 (define-public cl-hu.dwim.common-lisp
12457 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12458
12459 (define-public ecl-hu.dwim.common-lisp
12460 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
12461
12462 (define-public sbcl-hu.dwim.common
12463 (package
12464 (name "sbcl-hu.dwim.common")
12465 (version "2015-07-09")
12466 (source
12467 (origin
12468 (method url-fetch)
12469 (uri (string-append
12470 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12471 version "/hu.dwim.common-"
12472 (string-replace-substring version "-" "")
12473 "-darcs.tgz"))
12474 (sha256
12475 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12476 (build-system asdf-build-system/sbcl)
12477 (native-inputs
12478 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12479 (inputs
12480 `(("alexandria" ,sbcl-alexandria)
12481 ("anaphora" ,sbcl-anaphora)
12482 ("closer-mop" ,sbcl-closer-mop)
12483 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12484 ("iterate" ,sbcl-iterate)
12485 ("metabang-bind" ,sbcl-metabang-bind)))
12486 (home-page "http://dwim.hu/")
12487 (synopsis "Common Lisp library shared by other hu.dwim systems")
12488 (description "This package contains a support library for other
12489 hu.dwim systems.")
12490 (license license:public-domain)))
12491
12492 (define-public cl-hu.dwim.common
12493 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12494
12495 (define-public ecl-hu.dwim.common
12496 (sbcl-package->ecl-package sbcl-hu.dwim.common))
12497
12498 (define-public sbcl-hu.dwim.defclass-star
12499 (let ((commit "3086878a485074f9b2913c58267a9b764cd632fd"))
12500 (package
12501 (name "sbcl-hu.dwim.defclass-star")
12502 ;; We used to set version from the date when it was a darcs repo, so we
12503 ;; keep the year so that package gets updated on previous installs.
12504 (version (git-version "2021" "2" commit))
12505 (source
12506 (origin
12507 (method git-fetch)
12508 (uri (git-reference
12509 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12510 (commit commit)))
12511 (file-name (git-file-name name version))
12512 (sha256
12513 (base32 "19ipds9r71qymfdp4izg0l7zmvinp06adr8rdalhaq7v7mzpg83z"))))
12514 (build-system asdf-build-system/sbcl)
12515 (native-inputs
12516 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12517 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12518 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12519 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12520 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12521 (arguments
12522 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12523 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12524 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12525 #:tests? #f))
12526 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12527 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12528 (description "@code{defclass-star} provides defclass* and defcondition* to
12529 simplify class and condition declarations. Features include:
12530
12531 @itemize
12532 @item Automatically export all or select slots at compile time.
12533 @item Define the @code{:initarg} and @code{:accessor} automatically.
12534 @item Specify a name transformer for both the @code{:initarg} and
12535 @code{:accessor}, etc.
12536 @item Specify the @code{:initform} as second slot value.
12537 @end itemize
12538
12539 See
12540 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12541 for an example.")
12542 (license license:public-domain))))
12543
12544 (define-public cl-hu.dwim.defclass-star
12545 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12546
12547 (define-public ecl-hu.dwim.defclass-star
12548 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12549
12550 (define-public sbcl-livesupport
12551 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12552 (revision "1"))
12553 (package
12554 (name "sbcl-livesupport")
12555 (version (git-version "0.0.0" revision commit))
12556 (source
12557 (origin
12558 (method git-fetch)
12559 (uri (git-reference
12560 (url "https://github.com/cbaggers/livesupport")
12561 (commit commit)))
12562 (file-name (git-file-name name version))
12563 (sha256
12564 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12565 (build-system asdf-build-system/sbcl)
12566 (home-page "https://github.com/cbaggers/livesupport")
12567 (synopsis "Some helpers that make livecoding a little easier")
12568 (description "This package provides a macro commonly used in livecoding to
12569 enable continuing when errors are raised. Simply wrap around a chunk of code
12570 and it provides a restart called @code{continue} which ignores the error and
12571 carrys on from the end of the body.")
12572 (license license:bsd-2))))
12573
12574 (define-public cl-livesupport
12575 (sbcl-package->cl-source-package sbcl-livesupport))
12576
12577 (define-public ecl-livesupport
12578 (sbcl-package->ecl-package sbcl-livesupport))
12579
12580 (define-public sbcl-envy
12581 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12582 (revision "1"))
12583 (package
12584 (name "sbcl-envy")
12585 (version (git-version "0.1" revision commit))
12586 (home-page "https://github.com/fukamachi/envy")
12587 (source
12588 (origin
12589 (method git-fetch)
12590 (uri (git-reference
12591 (url home-page)
12592 (commit commit)))
12593 (file-name (git-file-name name version))
12594 (sha256
12595 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12596 (build-system asdf-build-system/sbcl)
12597 ;; (native-inputs ; Only for tests.
12598 ;; `(("prove" ,sbcl-prove)
12599 ;; ("osicat" ,sbcl-osicat)))
12600 (arguments
12601 '(#:phases
12602 (modify-phases %standard-phases
12603 (add-after 'unpack 'fix-tests
12604 (lambda _
12605 (substitute* "envy-test.asd"
12606 (("cl-test-more") "prove"))
12607 #t)))
12608 ;; Tests fail with
12609 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12610 ;; like xsubseq. Why?
12611 #:tests? #f))
12612 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12613 (description "Envy is a configuration manager for various applications.
12614 Envy uses an environment variable to determine a configuration to use. This
12615 can separate configuration system from an implementation.")
12616 (license license:bsd-2))))
12617
12618 (define-public cl-envy
12619 (sbcl-package->cl-source-package sbcl-envy))
12620
12621 (define-public ecl-envy
12622 (sbcl-package->ecl-package sbcl-envy))
12623
12624 (define-public sbcl-mito
12625 (let ((commit "2fbfc8aa6f9e3e8029bf09888c74b9af98dad341")
12626 (revision "2"))
12627 (package
12628 (name "sbcl-mito")
12629 (version (git-version "0.1" revision commit))
12630 (home-page "https://github.com/fukamachi/mito")
12631 (source
12632 (origin
12633 (method git-fetch)
12634 (uri (git-reference
12635 (url home-page)
12636 (commit commit)))
12637 (file-name (git-file-name "mito" version))
12638 (sha256
12639 (base32 "1a9kivpy9j2grf1c6gdjk7fwcdlvvq67p3m98jyfhiyzj7axjymd"))))
12640 (build-system asdf-build-system/sbcl)
12641 (native-inputs
12642 `(("prove" ,sbcl-prove)))
12643 (inputs
12644 `(("alexandria" ,sbcl-alexandria)
12645 ("cl-package-locks" ,sbcl-cl-package-locks)
12646 ("cl-ppcre" ,sbcl-cl-ppcre)
12647 ("cl-reexport" ,sbcl-cl-reexport)
12648 ("closer-mop" ,sbcl-closer-mop)
12649 ("dbi" ,sbcl-dbi)
12650 ("dissect" ,sbcl-dissect)
12651 ("esrap" ,sbcl-esrap)
12652 ("local-time" ,sbcl-local-time)
12653 ("sxql" ,sbcl-sxql)
12654 ("trivia" ,sbcl-trivia)
12655 ("uuid" ,sbcl-uuid)))
12656 (arguments
12657 '(#:phases
12658 (modify-phases %standard-phases
12659 (add-after 'unpack 'remove-non-functional-tests
12660 (lambda _
12661 (substitute* "mito-test.asd"
12662 (("\\(:test-file \"db/mysql\"\\)") "")
12663 (("\\(:test-file \"db/postgres\"\\)") "")
12664 (("\\(:test-file \"dao\"\\)") "")
12665 ;; TODO: migration/sqlite3 should work, re-enable once
12666 ;; upstream has fixed it:
12667 ;; https://github.com/fukamachi/mito/issues/70
12668 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12669 (("\\(:test-file \"migration/mysql\"\\)") "")
12670 (("\\(:test-file \"migration/postgres\"\\)") "")
12671 (("\\(:test-file \"postgres-types\"\\)") "")
12672 (("\\(:test-file \"mixin\"\\)") ""))
12673 #t)))
12674 ;; TODO: While all enabled tests pass, the phase fails with:
12675 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12676 #:tests? #f))
12677 (synopsis "ORM for Common Lisp with migrations and relationships support")
12678 (description "Mito is yet another object relational mapper, and it aims
12679 to be a successor of Integral.
12680
12681 @itemize
12682 @item Support MySQL, PostgreSQL and SQLite3.
12683 @item Add id (serial/uuid primary key), created_at and updated_at by default
12684 like Ruby's ActiveRecord.
12685 @item Migrations.
12686 @item Database schema versioning.
12687 @end itemize\n")
12688 (license license:llgpl))))
12689
12690 (define-public cl-mito
12691 (sbcl-package->cl-source-package sbcl-mito))
12692
12693 (define-public ecl-mito
12694 (sbcl-package->ecl-package sbcl-mito))
12695
12696 (define-public sbcl-kebab
12697 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12698 (revision "1"))
12699 (package
12700 (name "sbcl-kebab")
12701 (version (git-version "0.1" revision commit))
12702 (home-page "https://github.com/pocket7878/kebab")
12703 (source
12704 (origin
12705 (method git-fetch)
12706 (uri (git-reference
12707 (url home-page)
12708 (commit commit)))
12709 (file-name (git-file-name name version))
12710 (sha256
12711 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12712 (build-system asdf-build-system/sbcl)
12713 (inputs
12714 `(("cl-ppcre" ,sbcl-cl-ppcre)
12715 ("alexandria" ,sbcl-alexandria)
12716 ("cl-interpol" ,sbcl-cl-interpol)
12717 ("split-sequence" ,sbcl-split-sequence)))
12718 (native-inputs
12719 `(("prove" ,sbcl-prove)))
12720 (arguments
12721 ;; Tests passes but the phase fails with
12722 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12723 `(#:tests? #f))
12724 (synopsis "Common Lisp case converter")
12725 (description "This Common Lisp library converts strings, symbols and
12726 keywords between any of the following typographical cases: PascalCase,
12727 camelCase, snake_case, kebab-case (lisp-case).")
12728 (license license:llgpl))))
12729
12730 (define-public cl-kebab
12731 (sbcl-package->cl-source-package sbcl-kebab))
12732
12733 (define-public ecl-kebab
12734 (sbcl-package->ecl-package sbcl-kebab))
12735
12736 (define-public sbcl-datafly
12737 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12738 (revision "1"))
12739 (package
12740 (name "sbcl-datafly")
12741 (version (git-version "0.1" revision commit))
12742 (home-page "https://github.com/fukamachi/datafly")
12743 (source
12744 (origin
12745 (method git-fetch)
12746 (uri (git-reference
12747 (url home-page)
12748 (commit commit)))
12749 (file-name (git-file-name name version))
12750 (sha256
12751 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12752 (build-system asdf-build-system/sbcl)
12753 (inputs
12754 `(("alexandria" ,sbcl-alexandria)
12755 ("iterate" ,sbcl-iterate)
12756 ("optima" ,sbcl-optima)
12757 ("trivial-types" ,sbcl-trivial-types)
12758 ("closer-mop" ,sbcl-closer-mop)
12759 ("cl-syntax" ,sbcl-cl-syntax)
12760 ("sxql" ,sbcl-sxql)
12761 ("dbi" ,sbcl-dbi)
12762 ("babel" ,sbcl-babel)
12763 ("local-time" ,sbcl-local-time)
12764 ("function-cache" ,sbcl-function-cache)
12765 ("jonathan" ,sbcl-jonathan)
12766 ("kebab" ,sbcl-kebab)
12767 ("log4cl" ,sbcl-log4cl)))
12768 (native-inputs
12769 `(("prove" ,sbcl-prove)))
12770 (arguments
12771 ;; TODO: Tests fail with
12772 ;; While evaluating the form starting at line 22, column 0
12773 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12774 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12775 ;; {10009F8083}>:
12776 ;; Error when binding parameter 1 to value NIL.
12777 ;; Code RANGE: column index out of range.
12778 `(#:tests? #f))
12779 (synopsis "Lightweight database library for Common Lisp")
12780 (description "Datafly is a lightweight database library for Common Lisp.")
12781 (license license:bsd-3))))
12782
12783 (define-public cl-datafly
12784 (sbcl-package->cl-source-package sbcl-datafly))
12785
12786 (define-public ecl-datafly
12787 (sbcl-package->ecl-package sbcl-datafly))
12788
12789 (define-public sbcl-do-urlencode
12790 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12791 (revision "1"))
12792 (package
12793 (name "sbcl-do-urlencode")
12794 (version (git-version "0.0.0" revision commit))
12795 (home-page "https://github.com/drdo/do-urlencode")
12796 (source
12797 (origin
12798 (method git-fetch)
12799 (uri (git-reference
12800 (url home-page)
12801 (commit commit)))
12802 (file-name (git-file-name name version))
12803 (sha256
12804 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12805 (build-system asdf-build-system/sbcl)
12806 (inputs
12807 `(("alexandria" ,sbcl-alexandria)
12808 ("babel" ,sbcl-babel)))
12809 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12810 (description "This library provides trivial percent encoding and
12811 decoding functions for URLs.")
12812 (license license:isc))))
12813
12814 (define-public cl-do-urlencode
12815 (sbcl-package->cl-source-package sbcl-do-urlencode))
12816
12817 (define-public ecl-do-urlencode
12818 (sbcl-package->ecl-package sbcl-do-urlencode))
12819
12820 (define-public sbcl-cl-emb
12821 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12822 (revision "1"))
12823 (package
12824 (name "sbcl-cl-emb")
12825 (version (git-version "0.4.3" revision commit))
12826 (home-page "https://common-lisp.net/project/cl-emb/")
12827 (source
12828 (origin
12829 (method git-fetch)
12830 (uri (git-reference
12831 (url "https://github.com/38a938c2/cl-emb")
12832 (commit commit)))
12833 (file-name (git-file-name name version))
12834 (sha256
12835 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12836 (build-system asdf-build-system/sbcl)
12837 (inputs
12838 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12839 (synopsis "Templating system for Common Lisp")
12840 (description "A mixture of features from eRuby and HTML::Template. You
12841 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12842 that and not limited to a certain server or text format.")
12843 (license license:llgpl))))
12844
12845 (define-public cl-emb
12846 (sbcl-package->cl-source-package sbcl-cl-emb))
12847
12848 (define-public ecl-cl-emb
12849 (sbcl-package->ecl-package sbcl-cl-emb))
12850
12851 (define-public sbcl-cl-project
12852 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12853 (revision "1"))
12854 (package
12855 (name "sbcl-cl-project")
12856 (version (git-version "0.3.1" revision commit))
12857 (home-page "https://github.com/fukamachi/cl-project")
12858 (source
12859 (origin
12860 (method git-fetch)
12861 (uri (git-reference
12862 (url home-page)
12863 (commit commit)))
12864 (file-name (git-file-name name version))
12865 (sha256
12866 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12867 (build-system asdf-build-system/sbcl)
12868 (inputs
12869 `(("cl-emb" ,sbcl-cl-emb)
12870 ("cl-ppcre" ,sbcl-cl-ppcre)
12871 ("local-time" ,sbcl-local-time)
12872 ("prove" ,sbcl-prove)))
12873 (arguments
12874 ;; Tests depend on caveman, which in turns depends on cl-project.
12875 '(#:tests? #f
12876 #:asd-files '("cl-project.asd")))
12877 (synopsis "Generate a skeleton for modern Common Lisp projects")
12878 (description "This library provides a modern project skeleton generator.
12879 In contract with other generators, CL-Project generates one package per file
12880 and encourages unit testing by generating a system for unit testing, so you
12881 can begin writing unit tests as soon as the project is generated.")
12882 (license license:llgpl))))
12883
12884 (define-public cl-project
12885 (sbcl-package->cl-source-package sbcl-cl-project))
12886
12887 (define-public ecl-cl-project
12888 (sbcl-package->ecl-package sbcl-cl-project))
12889
12890 (define-public sbcl-caveman
12891 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12892 (revision "1"))
12893 (package
12894 (name "sbcl-caveman")
12895 (version (git-version "2.4.0" revision commit))
12896 (home-page "http://8arrow.org/caveman/")
12897 (source
12898 (origin
12899 (method git-fetch)
12900 (uri (git-reference
12901 (url "https://github.com/fukamachi/caveman/")
12902 (commit commit)))
12903 (file-name (git-file-name name version))
12904 (sha256
12905 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12906 (build-system asdf-build-system/sbcl)
12907 (inputs
12908 `(("ningle" ,cl-ningle)
12909 ("lack" ,sbcl-lack)
12910 ("cl-project" ,sbcl-cl-project)
12911 ("dbi" ,sbcl-dbi)
12912 ("cl-syntax" ,sbcl-cl-syntax)
12913 ("myway" ,sbcl-myway)
12914 ("quri" ,sbcl-quri)))
12915 (native-inputs
12916 `(("usocket" ,sbcl-usocket)
12917 ("dexador" ,sbcl-dexador)))
12918 (arguments
12919 `(#:asd-files '("caveman2.asd")
12920 #:asd-systems '("caveman2")
12921 #:phases
12922 (modify-phases %standard-phases
12923 (add-after 'unpack 'remove-v1
12924 (lambda _
12925 (delete-file-recursively "v1")
12926 (for-each delete-file
12927 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12928 ;; TODO: Tests fail with:
12929 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12930 ;; While evaluating the form starting at line 38, column 0
12931 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12932 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12933 ;; {10009F8083}>:
12934 ;; Component "myapp573" not found
12935 #:tests? #f))
12936 (synopsis "Lightweight web application framework in Common Lisp")
12937 (description "Caveman is intended to be a collection of common parts for
12938 web applications. Caveman2 has three design goals:
12939
12940 @itemize
12941 @item Be extensible.
12942 @item Be practical.
12943 @item Don't force anything.
12944 @end itemize\n")
12945 (license license:llgpl))))
12946
12947 (define-public cl-caveman
12948 (package
12949 (inherit
12950 (sbcl-package->cl-source-package sbcl-caveman))
12951 (propagated-inputs
12952 `(("ningle" ,cl-ningle)))))
12953
12954 (define-public ecl-caveman
12955 (sbcl-package->ecl-package sbcl-caveman))
12956
12957 (define-public sbcl-lambda-fiddle
12958 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12959 (revision "1"))
12960 (package
12961 (name "sbcl-lambda-fiddle")
12962 (version (git-version "1.0.0" revision commit))
12963 (source
12964 (origin
12965 (method git-fetch)
12966 (uri (git-reference
12967 (url "https://github.com/Shinmera/lambda-fiddle")
12968 (commit commit)))
12969 (file-name (git-file-name name version))
12970 (sha256
12971 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12972 (build-system asdf-build-system/sbcl)
12973 (home-page "https://github.com/Shinmera/lambda-fiddle")
12974 (synopsis "Collection of utilities to process lambda-lists")
12975 (description "This collection of utilities is useful in contexts where
12976 you want a macro that uses lambda-lists in some fashion but need more precise
12977 processing.")
12978 (license license:zlib))))
12979
12980 (define-public cl-lambda-fiddle
12981 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12982
12983 (define-public ecl-lambda-fiddle
12984 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12985
12986 (define-public sbcl-xmls
12987 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12988 (revision "1"))
12989 (package
12990 (name "sbcl-xmls")
12991 (version (git-version "3.0.2" revision commit))
12992 (source
12993 (origin
12994 (method git-fetch)
12995 (uri (git-reference
12996 (url "https://github.com/rpgoldman/xmls")
12997 (commit commit)))
12998 (file-name (git-file-name name version))
12999 (sha256
13000 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
13001 (native-inputs
13002 `(("fiveam" ,sbcl-fiveam)))
13003 (build-system asdf-build-system/sbcl)
13004 (home-page "https://github.com/rpgoldman/xmls")
13005 (synopsis "Non-validating XML parser for Common Lisp")
13006 (description "Xmls is a self-contained, easily embedded parser that
13007 recognizes a useful subset of the XML spec. It provides a simple mapping from
13008 XML to Lisp structures or s-expressions and back.")
13009 (license license:bsd-2))))
13010
13011 (define-public cl-xmls
13012 (sbcl-package->cl-source-package sbcl-xmls))
13013
13014 (define-public ecl-xmls
13015 (let ((pkg (sbcl-package->ecl-package sbcl-xmls)))
13016 (package
13017 (inherit pkg)
13018 (arguments
13019 (substitute-keyword-arguments (package-arguments pkg)
13020 ;; Upstream doesn't have a test suite adapted for ECL.
13021 ((#:tests? _ #f) #f))))))
13022
13023 (define-public sbcl-geco
13024 (package
13025 (name "sbcl-geco")
13026 (version "2.1.1")
13027 (source
13028 (origin
13029 (method git-fetch)
13030 (uri (git-reference
13031 (url "https://github.com/gpwwjr/GECO")
13032 (commit (string-append "v" version))))
13033 (file-name (git-file-name "geco" version))
13034 (sha256
13035 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
13036 (build-system asdf-build-system/sbcl)
13037 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
13038 (synopsis "Genetic algorithm toolkit for Common Lisp")
13039 (description
13040 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
13041 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
13042 (license license:lgpl2.1+)))
13043
13044 (define-public cl-geco
13045 (sbcl-package->cl-source-package sbcl-geco))
13046
13047 (define-public ecl-geco
13048 (sbcl-package->ecl-package sbcl-geco))
13049
13050 (define-public sbcl-html-entities
13051 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
13052 (package
13053 (name "sbcl-html-entities")
13054 (version (git-version "0.02" "1" commit))
13055 (source
13056 (origin
13057 (method git-fetch)
13058 (uri (git-reference
13059 (url "https://github.com/BnMcGn/html-entities/")
13060 (commit commit)))
13061 (file-name (git-file-name name version))
13062 (sha256
13063 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
13064 (build-system asdf-build-system/sbcl)
13065 (inputs
13066 `(("ppcre" ,sbcl-cl-ppcre)))
13067 (native-inputs
13068 `(("fiveam" ,sbcl-fiveam)))
13069 (home-page "https://github.com/BnMcGn/html-entities/")
13070 (synopsis "Encode and decode entities in HTML with Common Lisp")
13071 (description "Html-entities is a Common Lisp library that lets you
13072 encode and decode entities in HTML.")
13073 (license license:expat))))
13074
13075 (define-public cl-html-entities
13076 (sbcl-package->cl-source-package sbcl-html-entities))
13077
13078 (define-public ecl-html-entities
13079 (sbcl-package->ecl-package sbcl-html-entities))
13080
13081 (define-public sbcl-quicksearch
13082 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
13083 (package
13084 (name "sbcl-quicksearch")
13085 (version (git-version "0.01.04" "1" commit))
13086 (source
13087 (origin
13088 (method git-fetch)
13089 (uri (git-reference
13090 (url "https://github.com/tkych/quicksearch/")
13091 (commit commit)))
13092 (file-name (git-file-name name version))
13093 (sha256
13094 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
13095 (build-system asdf-build-system/sbcl)
13096 (inputs
13097 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13098 ("iterate" ,sbcl-iterate)
13099 ("alexandria" ,sbcl-alexandria)
13100 ("anaphora" ,sbcl-anaphora)
13101 ("ppcre" ,sbcl-cl-ppcre)
13102 ("drakma" ,sbcl-drakma)
13103 ("html-entities" ,sbcl-html-entities)
13104 ("yason" ,sbcl-yason)
13105 ("flexi-streams" ,sbcl-flexi-streams)
13106 ("do-urlencode" ,sbcl-do-urlencode)))
13107 (home-page "https://github.com/tkych/quicksearch/")
13108 (synopsis "Search Engine Interface for Common Lisp packages")
13109 (description "Quicksearch is a search-engine-interface for Common Lisp.
13110 The goal of Quicksearch is to find the Common Lisp library quickly. For
13111 example, if you will find the library about json, just type @code{(qs:?
13112 'json)} at REPL.
13113
13114 The function @code{quicksearch} searches for Common Lisp projects in
13115 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
13116 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
13117 (license license:expat))))
13118
13119 (define-public cl-quicksearch
13120 (sbcl-package->cl-source-package sbcl-quicksearch))
13121
13122 (define-public ecl-quicksearch
13123 (sbcl-package->ecl-package sbcl-quicksearch))
13124
13125 (define-public sbcl-agutil
13126 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
13127 (package
13128 (name "sbcl-agutil")
13129 (version (git-version "0.0.1" "1" commit))
13130 (source
13131 (origin
13132 (method git-fetch)
13133 (uri (git-reference
13134 (url "https://github.com/alex-gutev/agutil/")
13135 (commit commit)))
13136 (file-name (git-file-name name version))
13137 (sha256
13138 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
13139 (build-system asdf-build-system/sbcl)
13140 (inputs
13141 `(("alexandria" ,sbcl-alexandria)
13142 ("trivia" ,sbcl-trivia)))
13143 (home-page "https://github.com/alex-gutev/agutil/")
13144 (synopsis "Collection of Common Lisp utilities")
13145 (description "A collection of Common Lisp utility functions and macros
13146 mostly not found in other utility packages.")
13147 (license license:expat))))
13148
13149 (define-public cl-agutil
13150 (sbcl-package->cl-source-package sbcl-agutil))
13151
13152 (define-public ecl-agutil
13153 (sbcl-package->ecl-package sbcl-agutil))
13154
13155 (define-public sbcl-custom-hash-table
13156 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
13157 (package
13158 (name "sbcl-custom-hash-table")
13159 (version (git-version "0.3" "1" commit))
13160 (source
13161 (origin
13162 (method git-fetch)
13163 (uri (git-reference
13164 (url "https://github.com/metawilm/cl-custom-hash-table")
13165 (commit commit)))
13166 (file-name (git-file-name name version))
13167 (sha256
13168 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
13169 (build-system asdf-build-system/sbcl)
13170 (arguments
13171 '(#:asd-files '("cl-custom-hash-table.asd")
13172 #:asd-systems '("cl-custom-hash-table")))
13173 (home-page "https://github.com/metawilm/cl-custom-hash-table")
13174 (synopsis "Custom hash tables for Common Lisp")
13175 (description "This library allows creation of hash tables with arbitrary
13176 @code{test}/@code{hash} functions, in addition to the @code{test} functions
13177 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
13178 @code{EQUALP}), even in implementations that don't support this functionality
13179 directly.")
13180 (license license:expat))))
13181
13182 (define-public cl-custom-hash-table
13183 (sbcl-package->cl-source-package sbcl-custom-hash-table))
13184
13185 (define-public ecl-custom-hash-table
13186 (sbcl-package->ecl-package sbcl-custom-hash-table))
13187
13188 (define-public sbcl-collectors
13189 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
13190 (package
13191 (name "sbcl-collectors")
13192 (version (git-version "0.1" "1" commit))
13193 (source
13194 (origin
13195 (method git-fetch)
13196 (uri (git-reference
13197 (url "https://github.com/AccelerationNet/collectors")
13198 (commit commit)))
13199 (file-name (git-file-name name version))
13200 (sha256
13201 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
13202 (build-system asdf-build-system/sbcl)
13203 (inputs
13204 `(("alexandria" ,sbcl-alexandria)
13205 ("closer-mop" ,sbcl-closer-mop)
13206 ("symbol-munger" ,sbcl-symbol-munger)))
13207 (native-inputs
13208 `(("lisp-unit2" ,sbcl-lisp-unit2)))
13209 (home-page "https://github.com/AccelerationNet/collectors/")
13210 (synopsis "Common lisp library providing collector macros")
13211 (description "A small collection of common lisp macros to make
13212 collecting values easier.")
13213 (license license:bsd-3))))
13214
13215 (define-public cl-collectors
13216 (sbcl-package->cl-source-package sbcl-collectors))
13217
13218 (define-public ecl-collectors
13219 (sbcl-package->ecl-package sbcl-collectors))
13220
13221 (define-public sbcl-cl-environments
13222 (package
13223 (name "sbcl-cl-environments")
13224 (version "0.4")
13225 (source
13226 (origin
13227 (method git-fetch)
13228 (uri (git-reference
13229 (url "https://github.com/alex-gutev/cl-environments")
13230 (commit (string-append "v" version))))
13231 (file-name (git-file-name "cl-environments" version))
13232 (sha256
13233 (base32 "10jxj043d2dw5vc0i0lz0lsa4qszn8him5is8jdhl4nsyfcazmky"))))
13234 (build-system asdf-build-system/sbcl)
13235 (inputs
13236 `(("alexandria" ,sbcl-alexandria)
13237 ("anaphora" ,sbcl-anaphora)
13238 ("collectors" ,sbcl-collectors)
13239 ("optima" ,sbcl-optima)))
13240 (native-inputs
13241 `(("prove" ,sbcl-prove)))
13242 (home-page "https://github.com/alex-gutev/cl-environments")
13243 (synopsis "Implements the Common Lisp standard environment access API")
13244 (description
13245 "This library provides a uniform API, as specified in Common Lisp the
13246 Language 2, for accessing information about variable and function bindings
13247 from implementation-defined lexical environment objects. All major Common
13248 Lisp implementations are supported, even those which don't support the CLTL2
13249 environment access API.")
13250 (license license:expat)))
13251
13252 (define-public cl-environments
13253 (sbcl-package->cl-source-package sbcl-cl-environments))
13254
13255 (define-public ecl-cl-environments
13256 (sbcl-package->ecl-package sbcl-cl-environments))
13257
13258 (define-public sbcl-static-dispatch
13259 (package
13260 (name "sbcl-static-dispatch")
13261 (version "0.5.1")
13262 (source
13263 (origin
13264 (method git-fetch)
13265 (uri (git-reference
13266 (url "https://github.com/alex-gutev/static-dispatch")
13267 (commit (string-append "v" version))))
13268 (file-name (git-file-name "static-dispatch" version))
13269 (sha256
13270 (base32 "1602vx6ybp0n8mbrrp6q8397fkkyvhrqpahc302pjdb57qildajz"))))
13271 (build-system asdf-build-system/sbcl)
13272 (native-inputs
13273 `(("fiveam" ,sbcl-fiveam)))
13274 (inputs
13275 `(("agutil" ,sbcl-agutil)
13276 ("alexandria" ,sbcl-alexandria)
13277 ("anaphora" ,sbcl-anaphora)
13278 ("arrows" ,sbcl-arrows)
13279 ("cl-environments" ,sbcl-cl-environments)
13280 ("closer-mop" ,sbcl-closer-mop)
13281 ("iterate" ,sbcl-iterate)
13282 ("optima" ,sbcl-optima)))
13283 (home-page "https://github.com/alex-gutev/static-dispatch")
13284 (synopsis "Static generic function dispatch for Common Lisp")
13285 (description "Static dispatch is a Common Lisp library, inspired by
13286 @code{inlined-generic-function}, which allows standard Common Lisp generic
13287 function dispatch to be performed statically (at compile time) rather than
13288 dynamically (runtime). This is similar to what is known as \"overloading\" in
13289 languages such as C++ and Java.
13290
13291 The purpose of static dispatch is to provide an optimization in cases where
13292 the usual dynamic dispatch is too slow, and the dynamic features of generic
13293 functions, such as adding/removing methods at runtime are not required. An
13294 example of such a case is a generic equality comparison function. Currently
13295 generic functions are considered far too slow to implement generic arithmetic
13296 and comparison operations when used heavily in numeric code.")
13297 (license license:expat)))
13298
13299 (define-public cl-static-dispatch
13300 (sbcl-package->cl-source-package sbcl-static-dispatch))
13301
13302 (define-public ecl-static-dispatch
13303 (sbcl-package->ecl-package sbcl-static-dispatch))
13304
13305 (define-public sbcl-generic-cl
13306 ;; Latest commit includes a necessary fix for our Guix build.
13307 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
13308 (package
13309 (name "sbcl-generic-cl")
13310 (version (git-version "0.7.1" "1" commit))
13311 (source
13312 (origin
13313 (method git-fetch)
13314 (uri (git-reference
13315 (url "https://github.com/alex-gutev/generic-cl")
13316 (commit commit)))
13317 (file-name (git-file-name name version))
13318 (sha256
13319 (base32
13320 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
13321 (build-system asdf-build-system/sbcl)
13322 (inputs
13323 `(("agutil" ,sbcl-agutil)
13324 ("alexandria" ,sbcl-alexandria)
13325 ("anaphora" ,sbcl-anaphora)
13326 ("arrows" ,sbcl-arrows)
13327 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
13328 ("static-dispatch" ,sbcl-static-dispatch)
13329 ("trivia" ,sbcl-trivia)))
13330 (native-inputs
13331 `(("prove" ,sbcl-prove)))
13332 (arguments
13333 ;; Tests fail because SBCL head size is not high enough.
13334 ;; https://github.com/alex-gutev/generic-cl/issues/6
13335 `(#:tests? #f))
13336 (home-page "https://alex-gutev.github.io/generic-cl/")
13337 (synopsis "Generic function interface to standard Common Lisp functions")
13338 (description "@code{generic-cl} provides a generic function wrapper over
13339 various functions in the Common Lisp standard, such as equality predicates and
13340 sequence operations. The goal of this wrapper is to provide a standard
13341 interface to common operations, such as testing for the equality of two
13342 objects, which is extensible to user-defined types.")
13343 (license license:expat))))
13344
13345 (define-public cl-generic-cl
13346 (sbcl-package->cl-source-package sbcl-generic-cl))
13347
13348 (define-public ecl-generic-cl
13349 (sbcl-package->ecl-package sbcl-generic-cl))
13350
13351 (define-public sbcl-defpackage-plus
13352 (let ((revision "0")
13353 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
13354 (package
13355 (name "sbcl-defpackage-plus")
13356 (version (git-version "1.0" revision commit))
13357 (source
13358 (origin
13359 (method git-fetch)
13360 (uri (git-reference
13361 (url "https://github.com/rpav/defpackage-plus")
13362 (commit commit)))
13363 (file-name (git-file-name name version))
13364 (sha256
13365 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
13366 (build-system asdf-build-system/sbcl)
13367 (inputs
13368 `(("alexandria" ,sbcl-alexandria)))
13369 (home-page "https://github.com/rpav/defpackage-plus")
13370 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
13371 (description
13372 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
13373 predictable cross-platform behavior and some utilities useful for versioning.")
13374 (license license:bsd-2))))
13375
13376 (define-public cl-defpackage-plus
13377 (sbcl-package->cl-source-package sbcl-defpackage-plus))
13378
13379 (define-public ecl-defpackage-plus
13380 (sbcl-package->ecl-package sbcl-defpackage-plus))
13381
13382 (define-public sbcl-deploy
13383 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
13384 (revision "2"))
13385 (package
13386 (name "sbcl-deploy")
13387 (version (git-version "1.0.0" revision commit))
13388 (source
13389 (origin
13390 (method git-fetch)
13391 (uri (git-reference
13392 (url "https://github.com/Shinmera/deploy")
13393 (commit commit)))
13394 (file-name (git-file-name "deploy" version))
13395 (sha256
13396 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
13397 (build-system asdf-build-system/sbcl)
13398 (arguments
13399 `(#:test-asd-file "deploy-test.asd"
13400 #:asd-files '("deploy.asd"
13401 "deploy-test.asd")))
13402 (native-inputs
13403 `(("cl-mpg123" ,sbcl-cl-mpg123)
13404 ("cl-out123" ,sbcl-cl-out123)))
13405 (inputs
13406 `(("cffi" ,sbcl-cffi)
13407 ("documentation-utils" ,sbcl-documentation-utils)
13408 ("trivial-features" ,sbcl-trivial-features)))
13409 (home-page "https://shinmera.github.io/deploy/")
13410 (synopsis "Deployment tools for standalone Common Lisp application")
13411 (description
13412 "This is a system to help you easily and quickly deploy standalone
13413 common lisp applications as binaries. Specifically it is geared towards
13414 applications with foreign library dependencies that run some kind of GUI.")
13415 (license license:artistic2.0))))
13416
13417 (define-public cl-deploy
13418 (sbcl-package->cl-source-package sbcl-deploy))
13419
13420 (define-public ecl-deploy
13421 (sbcl-package->ecl-package sbcl-deploy))
13422
13423 (define-public sbcl-deeds
13424 ;; taged branch is outdated
13425 (let ((revision "1")
13426 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
13427 (package
13428 (name "sbcl-deeds")
13429 (version (git-version "1.1.1" revision commit))
13430 (source
13431 (origin
13432 (method git-fetch)
13433 (uri (git-reference
13434 (url "https://github.com/Shinmera/deeds")
13435 (commit commit)))
13436 (file-name (git-file-name name version))
13437 (sha256
13438 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
13439 (build-system asdf-build-system/sbcl)
13440 (inputs
13441 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13442 ("closer-mop" ,sbcl-closer-mop)
13443 ("form-fiddle" ,sbcl-form-fiddle)
13444 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
13445 (home-page "https://github.com/Shinmera/deeds")
13446 (synopsis "Extensible Event Delivery System")
13447 (description
13448 "@code{deeds} allows for efficient event delivery to multiple handlers
13449 with a complex event filtering system.")
13450 (license license:zlib))))
13451
13452 (define-public cl-deeds
13453 (sbcl-package->cl-source-package sbcl-deeds))
13454
13455 (define-public ecl-deeds
13456 (sbcl-package->ecl-package sbcl-deeds))
13457
13458 (define-public sbcl-make-hash
13459 ;; no tagged branch
13460 (let ((revision "1")
13461 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13462 (package
13463 (name "sbcl-make-hash")
13464 (version (git-version "1.0.2" revision commit))
13465 (source
13466 (origin
13467 (method git-fetch)
13468 (uri (git-reference
13469 (url "https://github.com/genovese/make-hash")
13470 (commit commit)))
13471 (file-name (git-file-name name version))
13472 (sha256
13473 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13474 (build-system asdf-build-system/sbcl)
13475 (home-page "https://github.com/genovese/make-hash")
13476 (synopsis "Common Lisp package for flexible hash table creation")
13477 (description
13478 "This is a Common Lisp package for hash table creation with flexible,
13479 extensible initializers.")
13480 (license license:bsd-3))))
13481
13482 (define-public cl-make-hash
13483 (sbcl-package->cl-source-package sbcl-make-hash))
13484
13485 (define-public ecl-make-hash
13486 (sbcl-package->ecl-package sbcl-make-hash))
13487
13488 (define-public sbcl-claw-support
13489 (package
13490 (name "sbcl-claw-support")
13491 (version "1.0.0")
13492 (source
13493 (origin
13494 (method git-fetch)
13495 (uri (git-reference
13496 (url "https://github.com/borodust/claw-support")
13497 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13498 (file-name (git-file-name name version))
13499 (sha256
13500 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13501 (build-system asdf-build-system/sbcl)
13502 (home-page "https://github.com/borodust/claw-support")
13503 (synopsis "Support routines for claw")
13504 (description
13505 "This package provides support routines for the @code{claw} Common Lisp
13506 package.")
13507 (license license:expat)))
13508
13509 (define-public cl-claw-support
13510 (sbcl-package->cl-source-package sbcl-claw-support))
13511
13512 (define-public ecl-claw-support
13513 (sbcl-package->ecl-package sbcl-claw-support))
13514
13515 (define-public sbcl-claw
13516 (let ((revision "0")
13517 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13518 (package
13519 (name "sbcl-claw")
13520 (version (git-version "1.0" revision commit))
13521 (source
13522 (origin
13523 (method git-fetch)
13524 (uri (git-reference
13525 (url "https://github.com/borodust/claw")
13526 (commit commit)))
13527 (file-name (git-file-name "claw" version))
13528 (sha256
13529 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13530 (build-system asdf-build-system/sbcl)
13531 (inputs
13532 `(("alexandria" ,sbcl-alexandria)
13533 ("cffi" ,sbcl-cffi)
13534 ("cl-json" ,sbcl-cl-json)
13535 ("cl-ppcre" ,sbcl-cl-ppcre)
13536 ("claw-support" ,sbcl-claw-support)
13537 ("local-time" ,sbcl-local-time)
13538 ("trivial-features" ,sbcl-trivial-features)))
13539 (home-page "https://github.com/borodust/claw")
13540 (synopsis "Autowrapper for Common Lisp")
13541 (description
13542 "This is a Common Lisp autowrapping facility for quickly creating clean
13543 and lean bindings to C libraries.")
13544 (license license:bsd-2))))
13545
13546 (define-public cl-claw
13547 (sbcl-package->cl-source-package sbcl-claw))
13548
13549 (define-public ecl-claw
13550 (sbcl-package->ecl-package sbcl-claw))
13551
13552 (define-public sbcl-claw-utils
13553 (let ((revision "0")
13554 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13555 (package
13556 (name "sbcl-claw-utils")
13557 ;; version is not specified
13558 (version (git-version "0.0.0" revision commit))
13559 (source
13560 (origin
13561 (method git-fetch)
13562 (uri (git-reference
13563 (url "https://github.com/borodust/claw-utils")
13564 (commit commit)))
13565 (file-name (git-file-name "claw-utils" version))
13566 (sha256
13567 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13568 (build-system asdf-build-system/sbcl)
13569 (inputs
13570 `(("alexandria" ,sbcl-alexandria)
13571 ("cffi" ,sbcl-cffi)
13572 ("claw" ,sbcl-claw)))
13573 (home-page "https://github.com/borodust/claw-utils")
13574 (synopsis "Utilities for easier autowrapping")
13575 (description
13576 "This Common Lisp library contains various handy utilities to help
13577 autowrapping with @code{claw}.")
13578 (license license:expat))))
13579
13580 (define-public cl-claw-utils
13581 (sbcl-package->cl-source-package sbcl-claw-utils))
13582
13583 (define-public ecl-claw-utils
13584 (sbcl-package->ecl-package sbcl-claw-utils))
13585
13586 (define-public sbcl-array-operations
13587 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13588 (revision "0"))
13589 (package
13590 (name "sbcl-array-operations")
13591 (version (git-version "0.0.0" revision commit))
13592 (source
13593 (origin
13594 (method git-fetch)
13595 (uri (git-reference
13596 (url "https://github.com/bendudson/array-operations")
13597 (commit commit)))
13598 (file-name (git-file-name "array-operations" version))
13599 (sha256
13600 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13601 (build-system asdf-build-system/sbcl)
13602 (native-inputs
13603 `(("alexandria" ,sbcl-alexandria)
13604 ("clunit2" ,sbcl-clunit2)))
13605 (inputs
13606 `(("let-plus" ,sbcl-let-plus)))
13607 (synopsis "Simple array operations library for Common Lisp")
13608 (description
13609 "This library is a collection of functions and macros for manipulating
13610 Common Lisp arrays and performing numerical calculations with them.")
13611 (home-page "https://github.com/bendudson/array-operations")
13612 (license license:expat))))
13613
13614 (define-public cl-array-operations
13615 (sbcl-package->cl-source-package sbcl-array-operations))
13616
13617 (define-public ecl-array-operations
13618 (sbcl-package->ecl-package sbcl-array-operations))
13619
13620 (define-public sbcl-clml
13621 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13622 (revision "0"))
13623 (package
13624 (name "sbcl-clml")
13625 (version (git-version "0.0.0" revision commit))
13626 (source
13627 (origin
13628 (method git-fetch)
13629 (uri (git-reference
13630 (url "https://github.com/mmaul/clml")
13631 (commit commit)))
13632 (file-name (git-file-name "clml" version))
13633 (sha256
13634 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13635 ;; TODO: Remove this when the patch has been merged upstream.
13636 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13637 (build-system asdf-build-system/sbcl)
13638 (inputs
13639 `(("alexandia" ,sbcl-alexandria)
13640 ("array-operations" ,sbcl-array-operations)
13641 ("cl-fad" ,sbcl-cl-fad)
13642 ("cl-ppcre" ,sbcl-cl-ppcre)
13643 ("drakma" ,sbcl-drakma)
13644 ("introspect-environment" ,sbcl-introspect-environment)
13645 ("iterate" ,sbcl-iterate)
13646 ("lparallel" ,sbcl-lparallel)
13647 ("parse-number" ,sbcl-parse-number)
13648 ("split-sequence" ,sbcl-split-sequence)
13649 ("trivial-garbage" ,sbcl-trivial-garbage)))
13650 (synopsis "Common Lisp machine learning library")
13651 (description
13652 "CLML (Common Lisp Machine Learning) is a high performance and large
13653 scale statistical machine learning package")
13654 (home-page "https://mmaul.github.io/clml/")
13655 (license license:llgpl))))
13656
13657 (define-public cl-clml
13658 (sbcl-package->cl-source-package sbcl-clml))
13659
13660 (define-public sbcl-utm-ups
13661 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13662 (revision "0"))
13663 (package
13664 (name "sbcl-utm-ups")
13665 (version (git-version "1.1" revision commit))
13666 (source
13667 (origin
13668 (method git-fetch)
13669 (uri (git-reference
13670 (url "https://github.com/glv2/utm-ups")
13671 (commit commit)))
13672 (file-name (git-file-name "utm-ups" version))
13673 (sha256
13674 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13675 (build-system asdf-build-system/sbcl)
13676 (native-inputs
13677 `(("fiveam" ,sbcl-fiveam)))
13678 (synopsis
13679 "Convert coordinates between latitude/longitude and UTM or UPS")
13680 (description
13681 "This a Common Lisp library to convert geographic coordinates between
13682 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13683 Polar Stereographic).")
13684 (home-page "https://github.com/glv2/utm-ups")
13685 (license license:gpl3+))))
13686
13687 (define-public cl-utm-ups
13688 (sbcl-package->cl-source-package sbcl-utm-ups))
13689
13690 (define-public ecl-utm-ups
13691 (sbcl-package->ecl-package sbcl-utm-ups))
13692
13693 (define-public sbcl-mgrs
13694 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13695 (revision "0"))
13696 (package
13697 (name "sbcl-mgrs")
13698 (version (git-version "1.0" revision commit))
13699 (source
13700 (origin
13701 (method git-fetch)
13702 (uri (git-reference
13703 (url "https://github.com/glv2/mgrs")
13704 (commit commit)))
13705 (file-name (git-file-name "mgrs" version))
13706 (sha256
13707 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13708 (build-system asdf-build-system/sbcl)
13709 (native-inputs
13710 `(("fiveam" ,sbcl-fiveam)))
13711 (inputs
13712 `(("utm-ups" ,sbcl-utm-ups)))
13713 (synopsis
13714 "Convert coordinates between latitude/longitude and MGRS")
13715 (description
13716 "This a Common Lisp library to convert geographic coordinates between
13717 latitude/longitude and MGRS.")
13718 (home-page "https://github.com/glv2/mgrs")
13719 (license license:gpl3+))))
13720
13721 (define-public cl-mgrs
13722 (sbcl-package->cl-source-package sbcl-mgrs))
13723
13724 (define-public ecl-mgrs
13725 (sbcl-package->ecl-package sbcl-mgrs))
13726
13727 (define-public sbcl-maidenhead
13728 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13729 (revision "0"))
13730 (package
13731 (name "sbcl-maidenhead")
13732 (version (git-version "1.0" revision commit))
13733 (source
13734 (origin
13735 (method git-fetch)
13736 (uri (git-reference
13737 (url "https://github.com/glv2/maidenhead")
13738 (commit commit)))
13739 (file-name (git-file-name "maidenhead" version))
13740 (sha256
13741 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13742 (build-system asdf-build-system/sbcl)
13743 (native-inputs
13744 `(("fiveam" ,sbcl-fiveam)))
13745 (synopsis
13746 "Convert coordinates between latitude/longitude and Maidenhead")
13747 (description
13748 "This a Common Lisp library to convert geographic coordinates between
13749 latitude/longitude and Maidenhead locator system.")
13750 (home-page "https://github.com/glv2/maidenhead")
13751 (license license:gpl3+))))
13752
13753 (define-public cl-maidenhead
13754 (sbcl-package->cl-source-package sbcl-maidenhead))
13755
13756 (define-public ecl-maidenhead
13757 (sbcl-package->ecl-package sbcl-maidenhead))
13758
13759 (define-public sbcl-olc
13760 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13761 (revision "0"))
13762 (package
13763 (name "sbcl-olc")
13764 (version (git-version "1.0" revision commit))
13765 (source
13766 (origin
13767 (method git-fetch)
13768 (uri (git-reference
13769 (url "https://github.com/glv2/olc")
13770 (commit commit)))
13771 (file-name (git-file-name "olc" version))
13772 (sha256
13773 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13774 (build-system asdf-build-system/sbcl)
13775 (native-inputs
13776 `(("fiveam" ,sbcl-fiveam)))
13777 (synopsis
13778 "Convert coordinates between latitude/longitude and Open Location Code")
13779 (description
13780 "This a Common Lisp library to convert geographic coordinates between
13781 latitude/longitude and Open Location Code.")
13782 (home-page "https://github.com/glv2/olc")
13783 (license license:gpl3+))))
13784
13785 (define-public cl-olc
13786 (sbcl-package->cl-source-package sbcl-olc))
13787
13788 (define-public ecl-olc
13789 (sbcl-package->ecl-package sbcl-olc))
13790
13791 (define-public sbcl-regex
13792 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13793 (package
13794 (name "sbcl-regex")
13795 (version (git-version "1" "1" commit))
13796 (source
13797 (origin
13798 (method git-fetch)
13799 (uri (git-reference
13800 (url "https://github.com/michaelw/regex/")
13801 (commit commit)))
13802 (file-name (git-file-name name version))
13803 (sha256
13804 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13805 (build-system asdf-build-system/sbcl)
13806 (home-page "https://github.com/michaelw/regex/")
13807 (synopsis "Regular expression engine for Common Lisp")
13808 (description
13809 "This Common Lisp package provides a regular expression engine.")
13810 (license license:bsd-2))))
13811
13812 (define-public cl-regex
13813 (sbcl-package->cl-source-package sbcl-regex))
13814
13815 (define-public ecl-regex
13816 (sbcl-package->ecl-package sbcl-regex))
13817
13818 (define-public sbcl-clawk
13819 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13820 (package
13821 (name "sbcl-clawk")
13822 (version (git-version "4" "1" commit))
13823 (source
13824 (origin
13825 (method git-fetch)
13826 (uri (git-reference
13827 (url "https://github.com/sharplispers/clawk")
13828 (commit commit)))
13829 (file-name (git-file-name name version))
13830 (sha256
13831 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13832 (build-system asdf-build-system/sbcl)
13833 (inputs
13834 `(("sbcl-regex" ,sbcl-regex)))
13835 (home-page "https://github.com/sharplispers/clawk")
13836 (synopsis "Common Lisp AWK")
13837 (description
13838 "CLAWK is an AWK implementation embedded into Common Lisp.")
13839 (license license:bsd-2))))
13840
13841 (define-public cl-clawk
13842 (sbcl-package->cl-source-package sbcl-clawk))
13843
13844 (define-public ecl-clawk
13845 (sbcl-package->ecl-package sbcl-clawk))
13846
13847 (define-public sbcl-check-it
13848 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13849 (package
13850 (name "sbcl-check-it")
13851 (version (git-version "0.1.0" "1" commit))
13852 (source
13853 (origin
13854 (method git-fetch)
13855 (uri (git-reference
13856 (url "https://github.com/DalekBaldwin/check-it/")
13857 (commit commit)))
13858 (file-name (git-file-name name version))
13859 (sha256
13860 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13861 (build-system asdf-build-system/sbcl)
13862 (inputs
13863 `(("alexandria" ,sbcl-alexandria)
13864 ("closer-mop" ,sbcl-closer-mop)
13865 ("optima" ,sbcl-optima)))
13866 (native-inputs
13867 `(("stefil" ,sbcl-stefil)))
13868 (home-page "https://github.com/arclanguage/Clamp")
13869 (synopsis "Randomized specification-based testing for Common Lisp")
13870 (description
13871 "This is a randomized property-based testing library for Common Lisp.
13872 Rather than being a full-fledged general test framework in its own right, it's
13873 designed to embed randomized tests in whatever framework you like.")
13874 (license license:llgpl))))
13875
13876 (define-public cl-check-it
13877 (sbcl-package->cl-source-package sbcl-check-it))
13878
13879 (define-public ecl-check-it
13880 (sbcl-package->ecl-package sbcl-check-it))
13881
13882 (define-public sbcl-clamp
13883 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13884 (package
13885 (name "sbcl-clamp")
13886 (version (git-version "0.3" "1" commit))
13887 (source
13888 (origin
13889 (method git-fetch)
13890 (uri (git-reference
13891 (url "https://github.com/arclanguage/Clamp")
13892 (commit commit)))
13893 (file-name (git-file-name name version))
13894 (sha256
13895 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13896 (build-system asdf-build-system/sbcl)
13897 (inputs
13898 `(("iterate" ,sbcl-iterate)
13899 ("cl-syntax" ,sbcl-cl-syntax)))
13900 (native-inputs
13901 `(("cl-unit" ,sbcl-clunit)
13902 ("check-it" ,sbcl-check-it)))
13903 (arguments
13904 `(#:phases
13905 (modify-phases %standard-phases
13906 (add-after 'unpack 'fix-build
13907 (lambda _
13908 (substitute* "clamp.asd"
13909 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13910 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13911 #t)))))
13912 (home-page "https://github.com/arclanguage/Clamp")
13913 (synopsis "Common Lisp with Arc macros and procedures")
13914 (description
13915 "Clamp is an attempt to bring the powerful, but verbose, language of
13916 Common Lisp up to the terseness of Arc.
13917
13918 There are two parts to Clamp. There is the core of Clamp, which implements
13919 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13920 other part is the \"experimental\" part. It contains features of Arc that are
13921 not so easy to copy (ssyntax, argument destructuring, etc.).")
13922 (license license:artistic2.0))))
13923
13924 (define-public cl-clamp
13925 (sbcl-package->cl-source-package sbcl-clamp))
13926
13927 (define-public ecl-clamp
13928 (sbcl-package->ecl-package sbcl-clamp))
13929
13930 (define-public sbcl-trivial-shell
13931 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13932 (package
13933 (name "sbcl-trivial-shell")
13934 (version (git-version "0.2.0" "1" commit))
13935 (source
13936 (origin
13937 (method git-fetch)
13938 (uri (git-reference
13939 (url "https://github.com/gwkkwg/trivial-shell")
13940 (commit commit)))
13941 (file-name (git-file-name name version))
13942 (sha256
13943 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13944 (build-system asdf-build-system/sbcl)
13945 (native-inputs
13946 `(("lift" ,sbcl-lift)))
13947 (home-page "http://common-lisp.net/project/trivial-shell/")
13948 (synopsis "Common Lisp access to the shell")
13949 (description
13950 "A simple Common-Lisp interface to the underlying operating system.
13951 It's independent of the implementation and operating system.")
13952 (license license:expat))))
13953
13954 (define-public cl-trivial-shell
13955 (sbcl-package->cl-source-package sbcl-trivial-shell))
13956
13957 (define-public ecl-trivial-shell
13958 (sbcl-package->ecl-package sbcl-trivial-shell))
13959
13960 (define-public sbcl-clesh
13961 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13962 (package
13963 (name "sbcl-clesh")
13964 (version (git-version "0.0.0" "1" commit))
13965 (source
13966 (origin
13967 (method git-fetch)
13968 (uri (git-reference
13969 (url "https://github.com/Neronus/Clesh")
13970 (commit commit)))
13971 (file-name (git-file-name name version))
13972 (sha256
13973 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13974 (build-system asdf-build-system/sbcl)
13975 (inputs
13976 `(("trivial-shell" ,sbcl-trivial-shell)
13977 ("named-readtables" ,sbcl-named-readtables)))
13978 (home-page "https://github.com/Neronus/Clesh")
13979 (synopsis "Embed shell code in Common Lisp")
13980 (description
13981 "This is a very short and simple program, written in Common Lisp, that
13982 extends Common Lisp to embed shell code in a manner similar to Perl's
13983 backtick. It has been forked from SHELISP.")
13984 (license license:bsd-2))))
13985
13986 (define-public cl-clesh
13987 (sbcl-package->cl-source-package sbcl-clesh))
13988
13989 (define-public ecl-clesh
13990 (sbcl-package->ecl-package sbcl-clesh))
13991
13992 (define-public sbcl-trivial-channels
13993 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13994 (revision "1"))
13995 (package
13996 (name "sbcl-trivial-channels")
13997 (version (git-version "1.0" revision commit))
13998 (source
13999 (origin
14000 (method git-fetch)
14001 (uri (git-reference
14002 (url "https://github.com/rpav/trivial-channels")
14003 (commit commit)))
14004 (file-name (git-file-name "trivial-channels" version))
14005 (sha256
14006 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
14007 (build-system asdf-build-system/sbcl)
14008 (inputs
14009 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14010 ("trivial-timeout" ,sbcl-trivial-timeout)))
14011 (home-page "https://github.com/rpav/trivial-channels")
14012 (synopsis "Common Lisp simple thread-safe channels with timeout")
14013 (description
14014 "It's very basic implementation of channels and queue for Common Lisp.")
14015 (license license:bsd-2))))
14016
14017 (define-public ecl-trivial-channels
14018 (sbcl-package->ecl-package sbcl-trivial-channels))
14019
14020 (define-public cl-trivial-channels
14021 (sbcl-package->cl-source-package sbcl-trivial-channels))
14022
14023 (define-public sbcl-trivial-download
14024 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
14025 (package
14026 (name "sbcl-trivial-download")
14027 (version (git-version "0.3" "1" commit))
14028 (source
14029 (origin
14030 (method git-fetch)
14031 (uri (git-reference
14032 (url "https://github.com/eudoxia0/trivial-download/")
14033 (commit commit)))
14034 (file-name (git-file-name name version))
14035 (sha256
14036 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
14037 (build-system asdf-build-system/sbcl)
14038 (inputs
14039 `(("drakma" ,sbcl-drakma)))
14040 (home-page "https://github.com/eudoxia0/trivial-download/")
14041 (synopsis "Download files from Common Lisp")
14042 (description
14043 "@code{trivial-download} allows you to download files from the Internet
14044 from Common Lisp. It provides a progress bar.")
14045 (license license:bsd-2))))
14046
14047 (define-public cl-trivial-download
14048 (sbcl-package->cl-source-package sbcl-trivial-download))
14049
14050 (define-public ecl-trivial-download
14051 (sbcl-package->ecl-package sbcl-trivial-download))
14052
14053 (define-public sbcl-gtwiwtg
14054 (package
14055 (name "sbcl-gtwiwtg")
14056 (version "0.1.1")
14057 (source
14058 (origin
14059 (method git-fetch)
14060 (uri (git-reference
14061 (url "https://github.com/cbeo/gtwiwtg/")
14062 (commit version)))
14063 (file-name (git-file-name name version))
14064 (sha256
14065 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
14066 (build-system asdf-build-system/sbcl)
14067 (native-inputs
14068 `(("osicat" ,sbcl-osicat)
14069 ("prove" ,sbcl-prove)))
14070 (home-page "https://github.com/cbeo/gtwiwtg/")
14071 (synopsis "Naive generators for Common Lisp")
14072 (description
14073 "The GTWIWTG library (Generators The Way I Want Them Generated --
14074 technically not generators, but iterators) is meant to be small, explorable,
14075 and understandable.")
14076 (license license:gpl3)))
14077
14078 (define-public cl-gtwiwtg
14079 (sbcl-package->cl-source-package sbcl-gtwiwtg))
14080
14081 (define-public ecl-gtwiwtg
14082 (sbcl-package->ecl-package sbcl-gtwiwtg))
14083
14084 (define-public sbcl-cl-progress-bar
14085 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
14086 (package
14087 (name "sbcl-cl-progress-bar")
14088 (version (git-version "0.0.0" "1" commit))
14089 (source
14090 (origin
14091 (method git-fetch)
14092 (uri (git-reference
14093 (url "https://github.com/sirherrbatka/cl-progress-bar/")
14094 (commit commit)))
14095 (file-name (git-file-name name version))
14096 (sha256
14097 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
14098 (build-system asdf-build-system/sbcl)
14099 (inputs
14100 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14101 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
14102 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
14103 (synopsis "Progress bars in Common Lisp")
14104 (description
14105 "This library provides almost the same code as used inside Quicklisp
14106 for drawning progress bars")
14107 (license license:expat))))
14108
14109 (define-public cl-progress-bar
14110 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
14111
14112 (define-public ecl-cl-progress-bar
14113 (sbcl-package->ecl-package sbcl-cl-progress-bar))
14114
14115 (define-public sbcl-repl-utilities
14116 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
14117 (package
14118 (name "sbcl-repl-utilities")
14119 (version (git-version "0.0.0" "1" commit))
14120 (source
14121 (origin
14122 (method git-fetch)
14123 (uri (git-reference
14124 (url "https://github.com/m-n/repl-utilities/")
14125 (commit commit)))
14126 (file-name (git-file-name name version))
14127 (sha256
14128 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
14129 (build-system asdf-build-system/sbcl)
14130 (home-page "https://github.com/m-n/repl-utilities")
14131 (synopsis "Ease common tasks at the Common Lisp REPL")
14132 (description
14133 "@code{repl-utilities} is a set of utilities which ease life at the
14134 REPL. It includes three sorts of features: introspective procedures,
14135 miscellaneous utility functions, and, pulling them together, methods to
14136 conveniently keep these symbols and optionally additional symbols available in
14137 whichever package you switch to.")
14138 (license license:bsd-2))))
14139
14140 (define-public cl-repl-utilities
14141 (sbcl-package->cl-source-package sbcl-repl-utilities))
14142
14143 (define-public ecl-repl-utilities
14144 (sbcl-package->ecl-package sbcl-repl-utilities))
14145
14146 (define-public sbcl-supertrace
14147 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
14148 (package
14149 (name "sbcl-supertrace")
14150 (version (git-version "0.1.0" "1" commit))
14151 (source
14152 (origin
14153 (method git-fetch)
14154 (uri (git-reference
14155 (url "https://github.com/fukamachi/supertrace")
14156 (commit commit)))
14157 (file-name (git-file-name name version))
14158 (sha256
14159 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
14160 (build-system asdf-build-system/sbcl)
14161 (native-inputs
14162 `(("cffi-grovel" ,sbcl-cffi)
14163 ("rove" ,sbcl-rove)
14164 ("cl-ppcre" ,sbcl-cl-ppcre)
14165 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
14166 (inputs
14167 `(("cffi" ,sbcl-cffi)))
14168 (home-page "https://github.com/fukamachi/supertrace")
14169 (synopsis "Improved Common Lisp tracing for debugging and profiling")
14170 (description
14171 "Supertrace provides a superior Common Lisp @code{trace} functionality
14172 for debugging and profiling real world applications.")
14173 (license license:bsd-2))))
14174
14175 (define-public cl-supertrace
14176 (sbcl-package->cl-source-package sbcl-supertrace))
14177
14178 (define-public ecl-supertrace
14179 (sbcl-package->ecl-package sbcl-supertrace))
14180
14181 (define-public sbcl-trivial-benchmark
14182 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
14183 (package
14184 (name "sbcl-trivial-benchmark")
14185 (version (git-version "2.0.0" "1" commit))
14186 (source
14187 (origin
14188 (method git-fetch)
14189 (uri (git-reference
14190 (url "https://github.com/Shinmera/trivial-benchmark/")
14191 (commit commit)))
14192 (file-name (git-file-name name version))
14193 (sha256
14194 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
14195 (build-system asdf-build-system/sbcl)
14196 (inputs
14197 `(("alexandria" ,sbcl-alexandria)))
14198 (home-page "http://shinmera.github.io/trivial-benchmark/")
14199 (synopsis "Easy to use benchmarking system for Common Lisp")
14200 (description
14201 "Trivial-Benchmark runs a block of code many times and outputs some
14202 statistical data for it. On SBCL this includes the data from @code{time}, for
14203 all other implementations just the @code{real-time} and @code{run-time} data.
14204 However, you can extend the system by adding your own @code{metrics} to it, or
14205 even by adding additional statistical @code{compute}ations. ")
14206 (license license:zlib))))
14207
14208 (define-public cl-trivial-benchmark
14209 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
14210
14211 (define-public ecl-trivial-benchmark
14212 (sbcl-package->ecl-package sbcl-trivial-benchmark))
14213
14214 (define-public sbcl-glyphs
14215 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
14216 (package
14217 (name "sbcl-glyphs")
14218 (version (git-version "0.0.0" "1" commit))
14219 (source
14220 (origin
14221 (method git-fetch)
14222 (uri (git-reference
14223 (url "https://github.com/ahungry/glyphs/")
14224 (commit commit)))
14225 (file-name (git-file-name name version))
14226 (sha256
14227 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
14228 (build-system asdf-build-system/sbcl)
14229 (inputs
14230 `(("cl-ppcre" ,sbcl-cl-ppcre)
14231 ("parenscript" ,sbcl-parenscript)
14232 ("named-readtables" ,sbcl-named-readtables)))
14233 (home-page "https://github.com/ahungry/glyphs/")
14234 (synopsis "Reduce Common Lisp verbosity")
14235 (description
14236 "This library is a little experiment in reducing verbosity in Common
14237 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
14238 (license license:gpl3))))
14239
14240 (define-public cl-glyphs
14241 (sbcl-package->cl-source-package sbcl-glyphs))
14242
14243 (define-public ecl-glyphs
14244 (sbcl-package->ecl-package sbcl-glyphs))
14245
14246 (define-public sbcl-zs3
14247 (package
14248 (name "sbcl-zs3")
14249 (version "1.3.3")
14250 (source
14251 (origin
14252 (method git-fetch)
14253 (uri
14254 (git-reference
14255 (url "https://github.com/xach/zs3")
14256 (commit (string-append "release-" version))))
14257 (file-name (git-file-name "zs3" version))
14258 (sha256
14259 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
14260 (build-system asdf-build-system/sbcl)
14261 (inputs
14262 `(("drakma" ,sbcl-drakma)
14263 ("alexandria" ,sbcl-alexandria)
14264 ("cxml" ,sbcl-cxml)
14265 ("ironclad" ,sbcl-ironclad)
14266 ("puri" ,sbcl-puri)
14267 ("cl-base64" ,sbcl-cl-base64)))
14268 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
14269 (description "This is ZS3, a library for working with Amazon's Simple Storage
14270 Service (S3) and CloudFront service from Common Lisp.")
14271 (home-page "https://github.com/xach/zs3")
14272 (license license:bsd-2)))
14273
14274 (define-public cl-zs3
14275 (sbcl-package->cl-source-package sbcl-zs3))
14276
14277 (define-public ecl-zs3
14278 (sbcl-package->ecl-package sbcl-zs3))
14279
14280 (define-public sbcl-simple-neural-network
14281 (package
14282 (name "sbcl-simple-neural-network")
14283 (version "3.1")
14284 (source
14285 (origin
14286 (method git-fetch)
14287 (uri (git-reference
14288 (url "https://github.com/glv2/simple-neural-network")
14289 (commit (string-append "v" version))))
14290 (file-name (git-file-name "simple-neural-network" version))
14291 (sha256
14292 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
14293 (build-system asdf-build-system/sbcl)
14294 (native-inputs
14295 `(("chipz" ,sbcl-chipz)
14296 ("fiveam" ,sbcl-fiveam)))
14297 (inputs
14298 `(("cl-store" ,sbcl-cl-store)
14299 ("lparallel" ,sbcl-lparallel)))
14300 (arguments
14301 `(#:phases
14302 (modify-phases %standard-phases
14303 (add-after 'check 'remove-test-data
14304 (lambda* (#:key outputs #:allow-other-keys)
14305 (let ((out (assoc-ref outputs "out")))
14306 (for-each delete-file (find-files out "\\.gz$"))))))))
14307 (synopsis "Simple neural network in Common Lisp")
14308 (description
14309 "@code{simple-neural-network} is a Common Lisp library for creating,
14310 training and using basic neural networks. The networks created by this
14311 library are feedforward neural networks trained using backpropagation.")
14312 (home-page "https://github.com/glv2/simple-neural-network")
14313 (license license:gpl3+)))
14314
14315 (define-public cl-simple-neural-network
14316 (sbcl-package->cl-source-package sbcl-simple-neural-network))
14317
14318 (define-public ecl-simple-neural-network
14319 (sbcl-package->ecl-package sbcl-simple-neural-network))
14320
14321 (define-public sbcl-zstd
14322 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
14323 (revision "1"))
14324 (package
14325 (name "sbcl-zstd")
14326 (version (git-version "1.0" revision commit))
14327 (source
14328 (origin
14329 (method git-fetch)
14330 (uri (git-reference
14331 (url "https://github.com/glv2/cl-zstd")
14332 (commit commit)))
14333 (file-name (git-file-name "cl-zstd" version))
14334 (sha256
14335 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
14336 (build-system asdf-build-system/sbcl)
14337 (native-inputs
14338 `(("fiveam" ,sbcl-fiveam)))
14339 (inputs
14340 `(("cffi" ,sbcl-cffi)
14341 ("cl-octet-streams" ,sbcl-cl-octet-streams)
14342 ("zstd-lib" ,zstd "lib")))
14343 (arguments
14344 '(#:phases
14345 (modify-phases %standard-phases
14346 (add-after 'unpack 'fix-paths
14347 (lambda* (#:key inputs #:allow-other-keys)
14348 (substitute* "src/libzstd.lisp"
14349 (("libzstd\\.so")
14350 (string-append (assoc-ref inputs "zstd-lib")
14351 "/lib/libzstd.so")))
14352 #t)))))
14353 (synopsis "Common Lisp library for Zstandard (de)compression")
14354 (description
14355 "This Common Lisp library provides functions for Zstandard
14356 compression/decompression using bindings to the libzstd C library.")
14357 (home-page "https://github.com/glv2/cl-zstd")
14358 (license license:gpl3+))))
14359
14360 (define-public cl-zstd
14361 (sbcl-package->cl-source-package sbcl-zstd))
14362
14363 (define-public ecl-zstd
14364 (sbcl-package->ecl-package sbcl-zstd))
14365
14366 (define-public sbcl-agnostic-lizard
14367 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
14368 (revision "1"))
14369 (package
14370 (name "sbcl-agnostic-lizard")
14371 (version (git-version "0.0.0" revision commit))
14372 (source
14373 (origin
14374 (method git-fetch)
14375 (uri (git-reference
14376 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14377 (commit commit)))
14378 (file-name (git-file-name name version))
14379 (sha256
14380 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
14381 (build-system asdf-build-system/sbcl)
14382 (synopsis "Almost correct portable code walker for Common Lisp")
14383 (description
14384 "Agnostic Lizard is a portable implementation of a code walker and in
14385 particular of the macroexpand-all function (and macro) that makes a best
14386 effort to be correct while not expecting much beyond what the Common Lisp
14387 standard requires.
14388
14389 It aims to be implementation-agnostic and to climb the syntax trees.")
14390 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
14391 (license license:gpl3+))))
14392
14393 (define-public cl-agnostic-lizard
14394 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
14395
14396 (define-public ecl-agnostic-lizard
14397 (sbcl-package->ecl-package sbcl-agnostic-lizard))
14398
14399 (define-public sbcl-dynamic-classes
14400 (package
14401 (name "sbcl-dynamic-classes")
14402 (version "1.0.2")
14403 (source
14404 (origin
14405 (method git-fetch)
14406 (uri (git-reference
14407 (url "https://github.com/gwkkwg/dynamic-classes")
14408 (commit (string-append "version-" version))))
14409 (file-name (git-file-name "dynamic-classes" version))
14410 (sha256
14411 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
14412 (build-system asdf-build-system/sbcl)
14413 (inputs
14414 `(("metatilities-base" ,sbcl-metatilities-base)))
14415 (arguments
14416 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
14417 ;; test suites. lift-standard.config contains referances to deprecated
14418 ;; functionality.
14419 `(#:tests? #f))
14420 (home-page "https://common-lisp.net/project/dynamic-classes/")
14421 (synopsis "Dynamic class definition for Common Lisp")
14422 (description "Dynamic-Classes helps to ease the prototyping process by
14423 bringing dynamism to class definition.")
14424 (license license:expat)))
14425
14426 (define-public ecl-dynamic-classes
14427 (sbcl-package->ecl-package sbcl-dynamic-classes))
14428
14429 (define-public cl-dynamic-classes
14430 (sbcl-package->cl-source-package sbcl-dynamic-classes))
14431
14432 (define-public sbcl-cl-markdown
14433 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
14434 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
14435 ;; #:container-dynamic-classes
14436 (package
14437 (name "sbcl-cl-markdown")
14438 (version "0.10.4")
14439 (source
14440 (origin
14441 (method git-fetch)
14442 (uri (git-reference
14443 (url "https://github.com/gwkkwg/cl-markdown")
14444 (commit (string-append "version-" version))))
14445 (file-name (git-file-name "cl-markdown" version))
14446 (sha256
14447 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
14448 (build-system asdf-build-system/sbcl)
14449 (inputs
14450 `(("anaphora" ,sbcl-anaphora)
14451 ("cl-containers" ,sbcl-cl-containers)
14452 ("cl-ppcre" ,sbcl-cl-ppcre)
14453 ("dynamic-classes" ,sbcl-dynamic-classes)
14454 ("metabang-bind" ,sbcl-metabang-bind)
14455 ("metatilities-base" ,sbcl-metatilities-base)))
14456 (arguments
14457 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14458 ;; available systems, which themself are abandoned.
14459 `(#:tests? #f))
14460 (home-page "https://common-lisp.net/project/cl-markdown/")
14461 (synopsis "Common Lisp rewrite of Markdown")
14462 (description
14463 "This is an implementation of a Markdown parser in Common Lisp.")
14464 (license license:expat)))
14465
14466 (define-public ecl-cl-markdown
14467 (sbcl-package->ecl-package sbcl-cl-markdown))
14468
14469 (define-public cl-markdown
14470 (sbcl-package->cl-source-package sbcl-cl-markdown))
14471
14472 (define-public sbcl-magicffi
14473 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14474 (package
14475 (name "sbcl-magicffi")
14476 (version (git-version "0.0.0" "1" commit))
14477 (source
14478 (origin
14479 (method git-fetch)
14480 (uri (git-reference
14481 (url "https://github.com/dochang/magicffi/")
14482 (commit commit)))
14483 (file-name (git-file-name name version))
14484 (sha256
14485 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14486 (build-system asdf-build-system/sbcl)
14487 (native-inputs
14488 `(("alexandria" ,sbcl-alexandria)))
14489 (inputs
14490 `(("cffi" ,sbcl-cffi)
14491 ("ppcre" ,sbcl-cl-ppcre)
14492 ("libmagic" ,file)))
14493 (arguments
14494 `(#:phases
14495 (modify-phases %standard-phases
14496 (add-after 'unpack 'fix-paths
14497 (lambda* (#:key inputs #:allow-other-keys)
14498 (let ((magic (assoc-ref inputs "libmagic")))
14499 (substitute* "grovel.lisp"
14500 (("/usr/include/magic.h")
14501 (string-append magic "/include/magic.h")))
14502 (substitute* "api.lisp"
14503 ((":default \"libmagic\"" all)
14504 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14505 (home-page "https://common-lisp.net/project/magicffi/")
14506 (synopsis "Common Lisp interface to libmagic based on CFFI")
14507 (description
14508 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14509 determination library using @emph{magic} numbers.")
14510 (license license:bsd-2))))
14511
14512 (define-public ecl-magicffi
14513 (sbcl-package->ecl-package sbcl-magicffi))
14514
14515 (define-public cl-magicffi
14516 (sbcl-package->cl-source-package sbcl-magicffi))
14517
14518 (define-public sbcl-shlex
14519 (let ((commit "3dee1cb7c0140fa7660ca7a3b2ac5e75d1218e5c")
14520 (revision "2"))
14521 (package
14522 (name "sbcl-shlex")
14523 (version (git-version "0.0.0" revision commit))
14524 (source
14525 (origin
14526 (method git-fetch)
14527 (uri (git-reference
14528 (url "https://github.com/ruricolist/cl-shlex")
14529 (commit commit)))
14530 (file-name (git-file-name "cl-shlex" version))
14531 (sha256
14532 (base32 "16ag48sswgimr1fzr582vhym4s03idpd4lkydw5s58lv80ibpim8"))))
14533 (build-system asdf-build-system/sbcl)
14534 (inputs
14535 `(("alexandria" ,sbcl-alexandria)
14536 ("serapeum" ,sbcl-serapeum)
14537 ("ppcre" ,sbcl-cl-ppcre)
14538 ("unicode" ,sbcl-cl-unicode)))
14539 (home-page "https://github.com/ruricolist/cl-shlex")
14540 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14541 (description
14542 "This library contains a lexer for syntaxes that use shell-like rules
14543 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14544 standard library.")
14545 (license license:expat))))
14546
14547 (define-public ecl-shlex
14548 (sbcl-package->ecl-package sbcl-shlex))
14549
14550 (define-public cl-shlex
14551 (sbcl-package->cl-source-package sbcl-shlex))
14552
14553 (define-public sbcl-cmd
14554 (let ((commit "8ace7fb45f2ecf0eefae28583ee36c941d142179"))
14555 (package
14556 (name "sbcl-cmd")
14557 (version (git-version "0.0.1" "4" commit))
14558 (source
14559 (origin
14560 (method git-fetch)
14561 (uri (git-reference
14562 (url "https://github.com/ruricolist/cmd/")
14563 (commit commit)))
14564 (file-name (git-file-name name version))
14565 (sha256
14566 (base32 "1da8sa0fsvsdivnx2s9m6jbb7yszrnkqqcxrn1sszp7k6iwnnkgi"))))
14567 (build-system asdf-build-system/sbcl)
14568 (inputs
14569 `(("alexandria" ,sbcl-alexandria)
14570 ("coreutils" ,coreutils)
14571 ("procps" ,procps)
14572 ("serapeum" ,sbcl-serapeum)
14573 ("shlex" ,sbcl-shlex)
14574 ("trivia" ,sbcl-trivia)))
14575 (arguments
14576 `(#:phases
14577 (modify-phases %standard-phases
14578 (add-after 'unpack 'fix-paths
14579 (lambda* (#:key inputs #:allow-other-keys)
14580 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14581 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14582 (substitute* "cmd.lisp"
14583 (("\\(def \\+env\\+ \"env\"\\)")
14584 (format #f "(def +env+ \"~a/env\")" bin))
14585 (("\\(def \\+kill\\+ \"kill\"\\)")
14586 (format #f "(def +kill+ \"~a/kill\")" bin))
14587 (("\\(def \\+ps\\+ \"ps\"\\)")
14588 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14589 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14590 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14591 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14592 (format #f "(def +sh+ \"~a\")" (which "sh")))
14593 (("\\(def \\+tr\\+ \"tr\"\\)")
14594 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14595 (home-page "https://github.com/ruricolist/cmd")
14596 (synopsis "Conveniently run external programs from Common Lisp")
14597 (description
14598 "A utility for running external programs, built on UIOP.
14599 Cmd is designed to be natural to use, protect against shell interpolation and
14600 be usable from multi-threaded programs.")
14601 (license license:expat))))
14602
14603 (define-public ecl-cmd
14604 (sbcl-package->ecl-package sbcl-cmd))
14605
14606 (define-public cl-cmd
14607 (sbcl-package->cl-source-package sbcl-cmd))
14608
14609 (define-public sbcl-ppath
14610 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14611 (package
14612 (name "sbcl-ppath")
14613 (version (git-version "0.1" "1" commit))
14614 (source
14615 (origin
14616 (method git-fetch)
14617 (uri (git-reference
14618 (url "https://github.com/fourier/ppath/")
14619 (commit commit)))
14620 (file-name (git-file-name name commit))
14621 (sha256
14622 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14623 (build-system asdf-build-system/sbcl)
14624 (inputs
14625 `(("alexandria" ,sbcl-alexandria)
14626 ("cffi" ,sbcl-cffi)
14627 ("osicat" ,sbcl-osicat)
14628 ("ppcre" ,sbcl-cl-ppcre)
14629 ("split-sequence" ,sbcl-split-sequence)
14630 ("trivial-features" ,sbcl-trivial-features)))
14631 (native-inputs
14632 `(("cl-fad" ,sbcl-cl-fad)
14633 ("prove" ,sbcl-prove)))
14634 (home-page "https://github.com/fourier/ppath")
14635 (synopsis "Common Lisp's implementation of the Python's os.path module")
14636 (description
14637 "This library is a path strings manipulation library inspired by
14638 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14639 major operation systems.
14640
14641 The philosophy behind is to use simple strings and \"dumb\" string
14642 manipulation functions to handle paths and filenames. Where possible the
14643 corresponding OS system functions are called.")
14644 (license license:bsd-2))))
14645
14646 (define-public ecl-ppath
14647 (sbcl-package->ecl-package sbcl-ppath))
14648
14649 (define-public cl-ppath
14650 (sbcl-package->cl-source-package sbcl-ppath))
14651
14652 (define-public sbcl-trivial-escapes
14653 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14654 (package
14655 (name "sbcl-trivial-escapes")
14656 (version (git-version "1.2.0" "1" commit))
14657 (source
14658 (origin
14659 (method git-fetch)
14660 (uri (git-reference
14661 (url "https://github.com/williamyaoh/trivial-escapes")
14662 (commit commit)))
14663 (file-name (git-file-name name commit))
14664 (sha256
14665 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14666 (build-system asdf-build-system/sbcl)
14667 (inputs
14668 `(("named-readtables" ,sbcl-named-readtables)))
14669 (native-inputs
14670 `(("fiveam" ,sbcl-fiveam)))
14671 (home-page "https://github.com/williamyaoh/trivial-escapes")
14672 (synopsis "C-style escape directives for Common Lisp")
14673 (description
14674 "This Common Lisp library interprets escape characters the same way that
14675 most other programming language do.
14676 It provides four readtables. The default one lets you write strings like this:
14677 @code{#\"This string has\na newline in it!\"}.")
14678 (license license:public-domain))))
14679
14680 (define-public ecl-trivial-escapes
14681 (sbcl-package->ecl-package sbcl-trivial-escapes))
14682
14683 (define-public cl-trivial-escapes
14684 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14685
14686 (define-public sbcl-cl-indentify
14687 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14688 (package
14689 (name "sbcl-cl-indentify")
14690 (version (git-version "0.1" "1" commit))
14691 (source
14692 (origin
14693 (method git-fetch)
14694 (uri (git-reference
14695 (url "https://github.com/yitzchak/cl-indentify")
14696 (commit commit)))
14697 (file-name (git-file-name name commit))
14698 (sha256
14699 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14700 (build-system asdf-build-system/sbcl)
14701 (inputs
14702 `(("alexandria" ,sbcl-alexandria)
14703 ("command-line-arguments" ,sbcl-command-line-arguments)
14704 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14705 (native-inputs
14706 `(("trivial-escapes" ,sbcl-trivial-escapes)
14707 ("rove" ,sbcl-rove)))
14708 (home-page "https://github.com/yitzchak/cl-indentify")
14709 (synopsis "Code beautifier for Common Lisp")
14710 (description
14711 "A library and command line utility to automatically indent Common Lisp
14712 source files.")
14713 (license license:expat))))
14714
14715 (define-public ecl-cl-indentify
14716 (sbcl-package->ecl-package sbcl-cl-indentify))
14717
14718 (define-public cl-indentify
14719 (sbcl-package->cl-source-package sbcl-cl-indentify))
14720
14721 (define-public sbcl-concrete-syntax-tree
14722 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14723 (package
14724 (name "sbcl-concrete-syntax-tree")
14725 (version (git-version "0.0.0" "1" commit))
14726 (source
14727 (origin
14728 (method git-fetch)
14729 (uri (git-reference
14730 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14731 (commit commit)))
14732 (file-name (git-file-name name commit))
14733 (sha256
14734 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14735 (build-system asdf-build-system/sbcl)
14736 (inputs
14737 `(("acclimation" ,sbcl-acclimation)))
14738 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14739 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14740 (description
14741 "This library is intended to solve the problem of source tracking for
14742 Common Lisp code.
14743
14744 By \"source tracking\", it is meant that code elements that have a known
14745 origin in the form of a position in a file or in an editor buffer are
14746 associated with some kind of information about this origin.
14747
14748 Since the exact nature of such origin information depends on the Common Lisp
14749 implementation and the purpose of wanting to track that origin, the library
14750 does not impose a particular structure of this information. Instead, it
14751 provides utilities for manipulating source code in the form of what is called
14752 concrete syntax trees (CSTs for short) that preserve this information about
14753 the origin.")
14754 (license license:bsd-2))))
14755
14756 (define-public ecl-concrete-syntax-tree
14757 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14758
14759 (define-public cl-concrete-syntax-tree
14760 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14761
14762 (define-public sbcl-eclector
14763 (package
14764 (name "sbcl-eclector")
14765 (version "0.5.0")
14766 (source
14767 (origin
14768 (method git-fetch)
14769 (uri (git-reference
14770 (url "https://github.com/s-expressionists/Eclector")
14771 (commit version)))
14772 (file-name (git-file-name name version))
14773 (sha256
14774 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14775 (build-system asdf-build-system/sbcl)
14776 (inputs
14777 `(("acclimation" ,sbcl-acclimation)
14778 ("alexandria" ,sbcl-alexandria)
14779 ("closer-mop" ,sbcl-closer-mop)
14780 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14781 (native-inputs
14782 `(("fiveam" ,sbcl-fiveam)))
14783 (arguments
14784 '(#:asd-systems '("eclector"
14785 "eclector-concrete-syntax-tree")))
14786 (home-page "https://s-expressionists.github.io/Eclector/")
14787 (synopsis "Highly customizable, portable Common Lisp reader")
14788 (description
14789 "Eclector is a portable Common Lisp reader that is highly customizable,
14790 can recover from errors and can return concrete syntax trees.
14791
14792 In contrast to many other reader implementations, eclector can recover from
14793 most errors in the input supplied to it and continue reading. This capability
14794 is realized as a restart.
14795
14796 It can also produce instances of the concrete syntax tree classes provided by
14797 the concrete syntax tree library.")
14798 (license license:bsd-2)))
14799
14800 (define-public ecl-eclector
14801 (sbcl-package->ecl-package sbcl-eclector))
14802
14803 (define-public cl-eclector
14804 (sbcl-package->cl-source-package sbcl-eclector))
14805
14806 (define-public sbcl-jsown
14807 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14808 (package
14809 (name "sbcl-jsown")
14810 (version (git-version "1.0.1" "1" commit))
14811 (source
14812 (origin
14813 (method git-fetch)
14814 (uri (git-reference
14815 (url "https://github.com/madnificent/jsown")
14816 (commit commit)))
14817 (file-name (git-file-name name commit))
14818 (sha256
14819 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14820 (build-system asdf-build-system/sbcl)
14821 (home-page "https://github.com/madnificent/jsown")
14822 (synopsis "Fast JSON reader / writer library for Common Lisp")
14823 (description
14824 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14825 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14826 functions and macros have been added to ease the burden of writing and editing
14827 @code{jsown} objects.
14828
14829 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14830 list and write them back. If you only need partial retrieval of objects,
14831 @code{jsown} allows you to select the keys which you would like to see parsed.
14832 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14833 objects themselves.")
14834 (license license:expat))))
14835
14836 (define-public ecl-jsown
14837 (sbcl-package->ecl-package sbcl-jsown))
14838
14839 (define-public cl-jsown
14840 (sbcl-package->cl-source-package sbcl-jsown))
14841
14842 (define-public sbcl-system-locale
14843 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14844 (package
14845 (name "sbcl-system-locale")
14846 (version (git-version "1.0.0" "1" commit))
14847 (source
14848 (origin
14849 (method git-fetch)
14850 (uri (git-reference
14851 (url "https://github.com/Shinmera/system-locale/")
14852 (commit commit)))
14853 (file-name (git-file-name name commit))
14854 (sha256
14855 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14856 (build-system asdf-build-system/sbcl)
14857 (inputs
14858 `(("documentation-utils" ,sbcl-documentation-utils)))
14859 (home-page "https://shinmera.github.io/system-locale/")
14860 (synopsis "Get the system's locale and language settings in Common Lisp")
14861 (description
14862 "This library retrieves locale information configured on the
14863 system. This is helpful if you want to write applications and libraries that
14864 display messages in the user's native language.")
14865 (license license:zlib))))
14866
14867 (define-public ecl-system-locale
14868 (sbcl-package->ecl-package sbcl-system-locale))
14869
14870 (define-public cl-system-locale
14871 (sbcl-package->cl-source-package sbcl-system-locale))
14872
14873 (define-public sbcl-language-codes
14874 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14875 (package
14876 (name "sbcl-language-codes")
14877 (version (git-version "1.0.0" "1" commit))
14878 (source
14879 (origin
14880 (method git-fetch)
14881 (uri (git-reference
14882 (url "https://github.com/Shinmera/language-codes")
14883 (commit commit)))
14884 (file-name (git-file-name name commit))
14885 (sha256
14886 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14887 (build-system asdf-build-system/sbcl)
14888 (inputs
14889 `(("documentation-utils" ,sbcl-documentation-utils)))
14890 (home-page "https://shinmera.github.io/language-codes/")
14891 (synopsis "Map ISO language codes to language names in Common Lisp")
14892 (description
14893 "This is a small library providing the ISO-639 language code to
14894 language name mapping.")
14895 (license license:zlib))))
14896
14897 (define-public ecl-language-codes
14898 (sbcl-package->ecl-package sbcl-language-codes))
14899
14900 (define-public cl-language-codes
14901 (sbcl-package->cl-source-package sbcl-language-codes))
14902
14903 (define-public sbcl-multilang-documentation
14904 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14905 (package
14906 (name "sbcl-multilang-documentation")
14907 (version (git-version "1.0.0" "1" commit))
14908 (source
14909 (origin
14910 (method git-fetch)
14911 (uri (git-reference
14912 (url "https://github.com/Shinmera/multilang-documentation")
14913 (commit commit)))
14914 (file-name (git-file-name name commit))
14915 (sha256
14916 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14917 (build-system asdf-build-system/sbcl)
14918 (inputs
14919 `(("documentation-utils" ,sbcl-documentation-utils)
14920 ("language-codes" ,sbcl-language-codes)
14921 ("system-locale" ,sbcl-system-locale)))
14922 (home-page "https://shinmera.github.io/multilang-documentation/")
14923 (synopsis "Add multiple languages support to Common Lisp documentation")
14924 (description
14925 "This library provides a drop-in replacement function for
14926 cl:documentation that supports multiple docstrings per-language, allowing you
14927 to write documentation that can be internationalised.")
14928 (license license:zlib))))
14929
14930 (define-public ecl-multilang-documentation
14931 (sbcl-package->ecl-package sbcl-multilang-documentation))
14932
14933 (define-public cl-multilang-documentation
14934 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14935
14936 (define-public sbcl-trivial-do
14937 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14938 (package
14939 (name "sbcl-trivial-do")
14940 (version (git-version "0.1" "1" commit))
14941 (source
14942 (origin
14943 (method git-fetch)
14944 (uri (git-reference
14945 (url "https://github.com/yitzchak/trivial-do")
14946 (commit commit)))
14947 (file-name (git-file-name name commit))
14948 (sha256
14949 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14950 (build-system asdf-build-system/sbcl)
14951 (home-page "https://github.com/yitzchak/trivial-do")
14952 (synopsis "Additional dolist style macros for Common Lisp")
14953 (description
14954 "Additional dolist style macros for Common Lisp, such as
14955 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14956 and @code{doseq*}.")
14957 (license license:zlib))))
14958
14959 (define-public ecl-trivial-do
14960 (sbcl-package->ecl-package sbcl-trivial-do))
14961
14962 (define-public cl-trivial-do
14963 (sbcl-package->cl-source-package sbcl-trivial-do))
14964
14965 (define-public sbcl-common-lisp-jupyter
14966 (let ((commit "ba9f0e746b9200d6fd6db647d7274448119ed01b")
14967 (revision "3"))
14968 (package
14969 (name "sbcl-common-lisp-jupyter")
14970 (version (git-version "0.1.0" revision commit))
14971 (source
14972 (origin
14973 (method git-fetch)
14974 (uri (git-reference
14975 (url "https://github.com/yitzchak/common-lisp-jupyter")
14976 (commit commit)))
14977 (file-name (git-file-name "common-lisp-jupyter" commit))
14978 (sha256
14979 (base32 "0si69xfzi769dprwfy7gp1x3bl7lxz6d4n98sa26w9r41wvay5ja"))))
14980 (build-system asdf-build-system/sbcl)
14981 (inputs
14982 `(("alexandria" ,sbcl-alexandria)
14983 ("babel" ,sbcl-babel)
14984 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14985 ("cl-base64" ,sbcl-cl-base64)
14986 ("cl-indentify" ,sbcl-cl-indentify)
14987 ("closer-mop" ,sbcl-closer-mop)
14988 ("dissect" ,sbcl-dissect)
14989 ("eclector" ,sbcl-eclector)
14990 ("ironclad" ,sbcl-ironclad)
14991 ("iterate" ,sbcl-iterate)
14992 ("multilang-documentation" ,sbcl-multilang-documentation)
14993 ("puri" ,sbcl-puri)
14994 ("pzmq" ,sbcl-pzmq)
14995 ("shasht" ,sbcl-shasht)
14996 ("static-vectors" ,sbcl-static-vectors)
14997 ("trivial-do" ,sbcl-trivial-do)
14998 ("trivial-garbage" ,sbcl-trivial-garbage)
14999 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
15000 ("trivial-mimes" ,sbcl-trivial-mimes)))
15001 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
15002 (synopsis "Common Lisp kernel for Jupyter")
15003 (description
15004 "This is a Common Lisp kernel for Jupyter along with a library for
15005 building Jupyter kernels, based on Maxima-Jupyter which was based on
15006 @code{cl-jupyter}.")
15007 (license license:expat))))
15008
15009 (define-public ecl-common-lisp-jupyter
15010 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
15011
15012 (define-public cl-common-lisp-jupyter
15013 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
15014
15015 (define-public sbcl-radiance
15016 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
15017 (revision "1"))
15018 (package
15019 (name "sbcl-radiance")
15020 (version (git-version "2.1.2" revision commit))
15021 (source
15022 (origin
15023 (method git-fetch)
15024 (uri (git-reference
15025 (url "https://github.com/Shirakumo/radiance")
15026 (commit commit)))
15027 (file-name (git-file-name "radiance" version))
15028 (sha256
15029 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
15030 (build-system asdf-build-system/sbcl)
15031 (arguments
15032 `(#:tests? #f ; TODO: The tests require some configuration.
15033 #:phases
15034 (modify-phases %standard-phases
15035 (add-after 'unpack 'disable-quicklisp
15036 (lambda _
15037 ;; Disable the automatic installation of systems by Quicklisp.
15038 ;; (Maybe there would be a way to package Quicklisp and make it
15039 ;; install things in the user's directory instead of
15040 ;; /gnu/store/...).
15041 (substitute* "interfaces.lisp"
15042 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
15043 all)
15044 (string-append "#+quicklisp " all))))))))
15045 (native-inputs
15046 `(("alexandria" ,sbcl-alexandria)
15047 ("dexador" ,sbcl-dexador)
15048 ("parachute" ,sbcl-parachute)
15049 ("verbose" ,sbcl-verbose)))
15050 (inputs
15051 `(("babel" ,sbcl-babel)
15052 ("bordeaux-threads" ,sbcl-bordeaux-threads)
15053 ("cl-ppcre" ,sbcl-cl-ppcre)
15054 ("closer-mop" ,sbcl-closer-mop)
15055 ("documentation-utils" ,sbcl-documentation-utils)
15056 ("deploy" ,sbcl-deploy)
15057 ("form-fiddle" ,sbcl-form-fiddle)
15058 ("lambda-fiddle" ,sbcl-lambda-fiddle)
15059 ("local-time" ,sbcl-local-time)
15060 ("modularize-hooks" ,sbcl-modularize-hooks)
15061 ("modularize-interfaces" ,sbcl-modularize-interfaces)
15062 ("puri" ,sbcl-puri)
15063 ("trivial-indent" ,sbcl-trivial-indent)
15064 ("trivial-mimes" ,sbcl-trivial-mimes)
15065 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
15066 (home-page "https://shirakumo.github.io/radiance/")
15067 (synopsis "Common Lisp web application environment")
15068 (description
15069 "Radiance is a web application environment, which is sort of like a web
15070 framework, but more general, more flexible. It should let you write personal
15071 websites and generally deployable applications easily and in such a way that
15072 they can be used on practically any setup without having to undergo special
15073 adaptations.")
15074 (license license:zlib))))
15075
15076 (define-public ecl-radiance
15077 (sbcl-package->ecl-package sbcl-radiance))
15078
15079 (define-public cl-radiance
15080 (sbcl-package->cl-source-package sbcl-radiance))
15081
15082 (define-public sbcl-daemon
15083 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
15084 (revision "1"))
15085 (package
15086 (name "sbcl-daemon")
15087 (version (git-version "0.0.4" revision commit))
15088 (source
15089 (origin
15090 (method git-fetch)
15091 (uri (git-reference
15092 (url "https://github.com/snmsts/daemon")
15093 (commit commit)))
15094 (file-name (git-file-name "daemon" version))
15095 (sha256
15096 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
15097 (build-system asdf-build-system/sbcl)
15098 (inputs
15099 `(("trivial-features" ,sbcl-trivial-features)))
15100 (home-page "https://github.com/snmsts/daemon")
15101 (synopsis "Daemonize Common Lisp processes")
15102 (description
15103 "DAEMON provides the functionality of daemonizing Common Lisp processes
15104 on UNIX like platforms.")
15105 (license license:expat))))
15106
15107 (define-public ecl-daemon
15108 (sbcl-package->ecl-package sbcl-daemon))
15109
15110 (define-public cl-daemon
15111 (sbcl-package->cl-source-package sbcl-daemon))
15112
15113 (define-public sbcl-file-attributes
15114 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
15115 (package
15116 (name "sbcl-file-attributes")
15117 (version (git-version "1.0.0" "2" commit))
15118 (source
15119 (origin
15120 (method git-fetch)
15121 (uri (git-reference
15122 (url "https://github.com/Shinmera/file-attributes/")
15123 (commit commit)))
15124 (file-name (git-file-name name version))
15125 (sha256
15126 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
15127 (build-system asdf-build-system/sbcl)
15128 (inputs
15129 `(("cffi" ,sbcl-cffi)
15130 ("documentation-utils" ,sbcl-documentation-utils)
15131 ("trivial-features" ,sbcl-trivial-features)))
15132 (home-page "https://shinmera.github.io/file-attributes/")
15133 (synopsis "Access to common file attributes in Common Lisp")
15134 (description
15135 "This is a small OS portability library to retrieve and set file
15136 attributes not supported by the Common Lisp standard functions.")
15137 (license license:zlib))))
15138
15139 (define-public ecl-file-attributes
15140 (sbcl-package->ecl-package sbcl-file-attributes))
15141
15142 (define-public cl-file-attributes
15143 (sbcl-package->cl-source-package sbcl-file-attributes))
15144
15145 (define-public sbcl-cl-difflib
15146 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
15147 (revision "0"))
15148 (package
15149 (name "sbcl-cl-difflib")
15150 (version (git-version "0.2" revision commit))
15151 (source
15152 (origin
15153 (method git-fetch)
15154 (uri (git-reference
15155 (url "https://github.com/wiseman/cl-difflib")
15156 (commit commit)))
15157 (file-name
15158 (git-file-name name version))
15159 (sha256
15160 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
15161 (build-system asdf-build-system/sbcl)
15162 ;; Due to the age of this library tests use some deprecated
15163 ;; functionality and keep failing.
15164 (arguments
15165 '(#:tests? #f
15166 #:asd-files '("cl-difflib.asd")))
15167 (home-page "https://github.com/wiseman/cl-difflib")
15168 (synopsis "Compute differences between pairs of sequences")
15169 (description
15170 "A Common Lisp library for computing differences between
15171 sequences based on the Python difflib module.")
15172 (license license:expat))))
15173
15174 (define-public ecl-cl-difflib
15175 (sbcl-package->ecl-package sbcl-cl-difflib))
15176
15177 (define-public cl-difflib
15178 (sbcl-package->cl-source-package sbcl-cl-difflib))
15179
15180 (define-public sbcl-cl-html-diff
15181 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
15182 (revision "0"))
15183 (package
15184 (name "sbcl-cl-html-diff")
15185 (version (git-version "0.1" revision commit))
15186 (source
15187 (origin
15188 (method git-fetch)
15189 (uri (git-reference
15190 (url "https://github.com/wiseman/cl-html-diff")
15191 (commit commit)))
15192 (file-name
15193 (git-file-name name version))
15194 (sha256
15195 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
15196 (build-system asdf-build-system/sbcl)
15197 (inputs
15198 `(("cl-difflib" ,sbcl-cl-difflib)))
15199 (home-page "https://github.com/wiseman/cl-html-diff")
15200 (synopsis "Generate a human-readable diff of two HTML documents")
15201 (description
15202 "A Common Lisp library for generating a human-readable diff of two
15203 HTML documents.")
15204 (license license:expat))))
15205
15206 (define-public ecl-cl-html-diff
15207 (sbcl-package->ecl-package sbcl-cl-html-diff))
15208
15209 (define-public cl-html-diff
15210 (sbcl-package->cl-source-package sbcl-cl-html-diff))
15211
15212 (define-public sbcl-tooter
15213 (let ((commit "b1639d8a58dfe8020c82ed36697b7a668ef41a09")
15214 (revision "2"))
15215 (package
15216 (name "sbcl-tooter")
15217 (version (git-version "1.0.0" revision commit))
15218 (source
15219 (origin
15220 (method git-fetch)
15221 (uri (git-reference
15222 (url "https://github.com/Shinmera/tooter")
15223 (commit commit)))
15224 (file-name (git-file-name "tooter" version))
15225 (sha256
15226 (base32 "0842lbj9ml6qxdm5xvhdbm87wyrvrq7bxawa6i8wk80n8lnvmhdw"))))
15227 (build-system asdf-build-system/sbcl)
15228 (inputs
15229 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
15230 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
15231 ("sbcl-drakma" ,sbcl-drakma)
15232 ("sbcl-yason" ,sbcl-yason)))
15233 (synopsis "Common Lisp client library for Mastodon instances")
15234 (description
15235 "This is a Common Lisp library implementing the full v1 REST API
15236 protocol for Mastodon.")
15237 (home-page "https://shinmera.github.io/tooter/")
15238 (license license:zlib))))
15239
15240 (define-public ecl-tooter
15241 (sbcl-package->ecl-package sbcl-tooter))
15242
15243 (define-public cl-tooter
15244 (sbcl-package->cl-source-package sbcl-tooter))
15245
15246 (define-public sbcl-croatoan
15247 (let ((commit "a577951d8dd607f828d6efb3290b4e8ac9f1e654")
15248 (revision "3"))
15249 (package
15250 (name "sbcl-croatoan")
15251 (version (git-version "0.0.1" revision commit))
15252 (source
15253 (origin
15254 (method git-fetch)
15255 (uri (git-reference
15256 (url "https://github.com/McParen/croatoan")
15257 (commit commit)))
15258 (file-name (git-file-name "croatoan" version))
15259 (sha256
15260 (base32 "1y7a13mzy0cz19pw0xvqwca1s7frfaqryaqwl1mrq7iz84sw0fcw"))))
15261 (build-system asdf-build-system/sbcl)
15262 (arguments
15263 '(#:phases
15264 (modify-phases %standard-phases
15265 (add-after 'unpack 'fix-paths
15266 (lambda* (#:key inputs #:allow-other-keys)
15267 (substitute* "ncurses/ncurses.lisp"
15268 (("libncursesw" all)
15269 (string-append (assoc-ref inputs "ncurses")
15270 "/lib/"
15271 all))))))))
15272 (inputs
15273 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
15274 ("cffi" ,sbcl-cffi)
15275 ("ncurses" ,ncurses)
15276 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
15277 (synopsis "Common Lisp bindings for the ncurses terminal library")
15278 (description "Croatoan provides high-level Common Lisp CLOS bindings for
15279 the ncurses terminal library.")
15280 (home-page "https://github.com/McParen/croatoan")
15281 (license license:expat))))
15282
15283 (define-public ecl-croatoan
15284 (sbcl-package->ecl-package sbcl-croatoan))
15285
15286 (define-public cl-croatoan
15287 (sbcl-package->cl-source-package sbcl-croatoan))
15288
15289 (define-public sbcl-cl-spark
15290 (let ((commit "4e34bcebdcf8e45265986eb43ad4ad03bb41a581")
15291 (revision "1"))
15292 (package
15293 (name "sbcl-cl-spark")
15294 (version (git-version "0.1.13" revision commit))
15295 (source
15296 (origin
15297 (method git-fetch)
15298 (uri (git-reference
15299 (url "https://github.com/tkych/cl-spark")
15300 (commit commit)))
15301 (file-name (git-file-name "cl-spark" version))
15302 (sha256
15303 (base32 "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"))))
15304 (build-system asdf-build-system/sbcl)
15305 (native-inputs
15306 `(("fiveam" ,sbcl-fiveam)))
15307 (synopsis "Common Lisp library to make histograms")
15308 (description "This is a Common Lisp library to make histograms using
15309 UTF-8 block characters.")
15310 (home-page "https://github.com/tkych/cl-spark")
15311 (license license:expat))))
15312
15313 (define-public ecl-cl-spark
15314 (sbcl-package->ecl-package sbcl-cl-spark))
15315
15316 (define-public cl-spark
15317 (sbcl-package->cl-source-package sbcl-cl-spark))
15318
15319 (define-public sbcl-access
15320 (let ((commit "1b26db3760018cdc4624f880f0a1e0155d8f6c50")
15321 (revision "1"))
15322 (package
15323 (name "sbcl-access")
15324 (version (git-version "1.5.0" revision commit))
15325 (source
15326 (origin
15327 (method git-fetch)
15328 (uri (git-reference
15329 (url "https://github.com/sharplispers/access")
15330 (commit commit)))
15331 (file-name (git-file-name "access" version))
15332 (sha256
15333 (base32 "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5"))))
15334 (build-system asdf-build-system/sbcl)
15335 (native-inputs
15336 `(("lisp-unit2" ,sbcl-lisp-unit2)))
15337 (inputs
15338 `(("alexandria" ,sbcl-alexandria)
15339 ("anaphora" ,sbcl-anaphora)
15340 ("closer-mop" ,sbcl-closer-mop)
15341 ("interpol" ,sbcl-cl-interpol)
15342 ("iterate" ,sbcl-iterate)))
15343 (synopsis
15344 "Common lisp library to unify access to dictionary-like structures")
15345 (description
15346 "This is a Common lisp library to unify access to the most common
15347 dictionary-like data structures.")
15348 (home-page "https://github.com/sharplispers/access")
15349 (license license:bsd-3))))
15350
15351 (define-public ecl-access
15352 (sbcl-package->ecl-package sbcl-access))
15353
15354 (define-public cl-access
15355 (sbcl-package->cl-source-package sbcl-access))
15356
15357 (define-public sbcl-sxql-composer
15358 (let ((commit "2b2230cb01ae1b68e28921d99e4814046867fb75")
15359 (revision "1"))
15360 (package
15361 (name "sbcl-sxql-composer")
15362 (version (git-version "0.1" revision commit))
15363 (source
15364 (origin
15365 (method git-fetch)
15366 (uri (git-reference
15367 (url "https://github.com/mmontone/sxql-composer")
15368 (commit commit)))
15369 (file-name (git-file-name "sxql-composer" version))
15370 (sha256
15371 (base32 "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"))))
15372 (build-system asdf-build-system/sbcl)
15373 (inputs
15374 `(("sxql" ,sbcl-sxql)))
15375 (synopsis "Build and compose SXQL queries dynamically")
15376 (description
15377 "This is a Common Lisp library to build and compose SXQL queries
15378 dynamically.")
15379 (home-page "https://github.com/mmontone/sxql-composer")
15380 (license license:expat))))
15381
15382 (define-public ecl-sxql-composer
15383 (sbcl-package->ecl-package sbcl-sxql-composer))
15384
15385 (define-public cl-sxql-composer
15386 (sbcl-package->cl-source-package sbcl-sxql-composer))
15387
15388 (define-public sbcl-cl-i18n
15389 (let ((commit "fa0aa5bef8dfbdf2d72f7cc9f49e848ccbb567aa")
15390 (revision "1"))
15391 (package
15392 (name "sbcl-cl-i18n")
15393 (version (git-version "0.5.0" revision commit))
15394 (source
15395 (origin
15396 (method git-fetch)
15397 (uri (git-reference
15398 (url "https://notabug.org/cage/cl-i18n")
15399 (commit commit)))
15400 (file-name (git-file-name "cl-i18n" version))
15401 (sha256
15402 (base32 "1hpsdbb3hd79bzbrnbqgk2j3f0ispxvk91snp08fm2z3f1sds5as"))))
15403 (build-system asdf-build-system/sbcl)
15404 (inputs
15405 `(("alexandria" ,sbcl-alexandria)
15406 ("babel" ,sbcl-babel)
15407 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
15408 (synopsis "Internationalisation framework for Common Lisp")
15409 (description
15410 "This is a Gettext-style internationalisation framework for Common
15411 Lisp.")
15412 (home-page "https://notabug.org/cage/cl-i18n")
15413 (license license:llgpl))))
15414
15415 (define-public ecl-cl-i18n
15416 (sbcl-package->ecl-package sbcl-cl-i18n))
15417
15418 (define-public cl-i18n
15419 (sbcl-package->cl-source-package sbcl-cl-i18n))
15420
15421 (define-public sbcl-crypto-shortcuts
15422 (let ((commit "7efd22d80e867cd8c9f8f363d4fe7b51ee2dadc0")
15423 (revision "1"))
15424 (package
15425 (name "sbcl-crypto-shortcuts")
15426 (version (git-version "2.0.0" revision commit))
15427 (source
15428 (origin
15429 (method git-fetch)
15430 (uri (git-reference
15431 (url "https://github.com/Shinmera/crypto-shortcuts")
15432 (commit commit)))
15433 (file-name (git-file-name "crypto-shortcuts" version))
15434 (sha256
15435 (base32 "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin"))))
15436 (build-system asdf-build-system/sbcl)
15437 (inputs
15438 `(("cl-base64" ,sbcl-cl-base64)
15439 ("flexi-stream" ,sbcl-flexi-streams)
15440 ("ironclad" ,sbcl-ironclad)))
15441 (synopsis "Collection of common cryptography functions")
15442 (description
15443 "This is a collection of common cryptography functions for Common
15444 Lisp.")
15445 (home-page "https://shinmera.github.io/crypto-shortcuts/")
15446 (license license:zlib))))
15447
15448 (define-public ecl-crypto-shortcuts
15449 (sbcl-package->ecl-package sbcl-crypto-shortcuts))
15450
15451 (define-public cl-crypto-shortcuts
15452 (sbcl-package->cl-source-package sbcl-crypto-shortcuts))
15453
15454 (define-public sbcl-cl-html5-parser
15455 (let ((commit "74a92eb3a183a0afd089ea33350e816e6b9aeefa")
15456 (revision "1"))
15457 (package
15458 (name "sbcl-cl-html5-parser")
15459 (version (git-version "0.0.0" revision commit))
15460 (source
15461 (origin
15462 (method git-fetch)
15463 (uri (git-reference
15464 (url "https://github.com/rotatef/cl-html5-parser")
15465 (commit commit)))
15466 (file-name (git-file-name "cl-html5-parser" version))
15467 (sha256
15468 (base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
15469 (build-system asdf-build-system/sbcl)
15470 (native-inputs
15471 `(("json-streams" ,sbcl-json-streams)
15472 ("split-sequence" ,sbcl-split-sequence)
15473 ("stefil" ,sbcl-stefil)))
15474 (inputs
15475 `(("cl-ppcre" ,sbcl-cl-ppcre)
15476 ("flexi-stream" ,sbcl-flexi-streams)
15477 ("string-case" ,sbcl-string-case)))
15478 (synopsis "HTML5 parser for Common Lisp")
15479 (description "This a Common Lisp library to parse HTML5 documents.")
15480 (home-page "https://github.com/rotatef/cl-html5-parser")
15481 (license license:lgpl3+))))
15482
15483 (define-public ecl-cl-html5-parser
15484 (sbcl-package->ecl-package sbcl-cl-html5-parser))
15485
15486 (define-public cl-html5-parser
15487 (sbcl-package->cl-source-package sbcl-cl-html5-parser))
15488
15489 (define-public sbcl-percent-encoding
15490 (let ((commit "c1224e22bc8048fbd3ebbc9329715a0c1b673170")
15491 (revision "1"))
15492 (package
15493 (name "sbcl-percent-encoding")
15494 (version (git-version "0.1" revision commit))
15495 (source
15496 (origin
15497 (method git-fetch)
15498 (uri (git-reference
15499 (url "https://github.com/llibra/percent-encoding")
15500 (commit commit)))
15501 (file-name (git-file-name "percent-encoding" version))
15502 (sha256
15503 (base32 "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"))))
15504 (build-system asdf-build-system/sbcl)
15505 (native-inputs
15506 `(("fiveam" ,sbcl-fiveam)))
15507 (inputs
15508 `(("anaphora" ,sbcl-anaphora)
15509 ("babel" ,sbcl-babel)))
15510 (synopsis "RFC 3986 percent-encoding library")
15511 (description
15512 "This is a Common Lisp library providing RFC 3986 percent-encoding.")
15513 (home-page "https://github.com/llibra/percent-encoding")
15514 (license license:expat))))
15515
15516 (define-public ecl-percent-encoding
15517 (sbcl-package->ecl-package sbcl-percent-encoding))
15518
15519 (define-public cl-percent-encoding
15520 (sbcl-package->cl-source-package sbcl-percent-encoding))
15521
15522 (define-public sbcl-cl-mount-info
15523 (let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b")
15524 (revision "1"))
15525 (package
15526 (name "sbcl-cl-mount-info")
15527 (version (git-version "0.0.1" revision commit))
15528 (source
15529 (origin
15530 (method git-fetch)
15531 (uri (git-reference
15532 (url "https://notabug.org/cage/cl-mount-info.git")
15533 (commit commit)))
15534 (file-name (git-file-name "cl-mount-info" version))
15535 (sha256
15536 (base32 "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x"))))
15537 (build-system asdf-build-system/sbcl)
15538 (inputs
15539 `(("alexandria" ,sbcl-alexandria)
15540 ("cffi" ,sbcl-cffi)
15541 ("cl-ppcre" ,sbcl-cl-ppcre)))
15542 (home-page "https://notabug.org/cage/cl-mount-info.git")
15543 (synopsis "Library to get information about mounted filesystems")
15544 (description
15545 "CL-MOUNT-INFO is a Common Lisp wrapper around @code{getmntent(3)} and
15546 related C functions to get information about the mounted file system.")
15547 (license license:lgpl3))))
15548
15549 (define-public ecl-cl-mount-info
15550 (sbcl-package->ecl-package sbcl-cl-mount-info))
15551
15552 (define-public cl-mount-info
15553 (sbcl-package->cl-source-package sbcl-cl-mount-info))
15554
15555 (define-public sbcl-cl-diskspace
15556 (let ((commit "2dce2d0387d58221c452bd76c7b9b7a7de81ef55")
15557 (revision "1"))
15558 (package
15559 (name "sbcl-cl-diskspace")
15560 (version (git-version "0.3.1" revision commit))
15561 (source
15562 (origin
15563 (method git-fetch)
15564 (uri (git-reference
15565 (url "https://github.com/muyinliu/cl-diskspace")
15566 (commit commit)))
15567 (file-name (git-file-name "cl-diskspace" version))
15568 (sha256
15569 (base32 "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"))))
15570 (build-system asdf-build-system/sbcl)
15571 (arguments
15572 `(#:phases
15573 (modify-phases %standard-phases
15574 (add-after 'unpack 'fix-paths
15575 (lambda* (#:key inputs #:allow-other-keys)
15576 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15577 (("grep")
15578 (string-append (assoc-ref inputs "grep") "/bin/grep")))
15579 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15580 (("/bin/df")
15581 (which "df")))
15582 #t)))))
15583 (inputs
15584 `(("cl-ppcre" ,sbcl-cl-ppcre)
15585 ("cffi" ,sbcl-cffi)
15586 ("grep" ,grep)))
15587 (home-page "https://github.com/muyinliu/cl-diskspace")
15588 (synopsis "Disk space information library for Common Lisp")
15589 (description
15590 "CL-DISKSPACE is a Common Lisp library to list disks with the command
15591 line tool @code{df} and get disk space information using @code{statvfs}.")
15592 (license license:isc))))
15593
15594 (define-public ecl-cl-diskspace
15595 (sbcl-package->ecl-package sbcl-cl-diskspace))
15596
15597 (define-public cl-diskspace
15598 (sbcl-package->cl-source-package sbcl-cl-diskspace))
15599
15600 (define-public sbcl-cl-cpus
15601 (package
15602 (name "sbcl-cl-cpus")
15603 (version "0.0.3")
15604 (source
15605 (origin
15606 (method git-fetch)
15607 (uri (git-reference
15608 (url "https://github.com/muyinliu/cl-cpus")
15609 (commit (string-append "v" version))))
15610 (file-name (git-file-name "cl-cpus" version))
15611 (sha256
15612 (base32 "0sdaff9hpsx7bpkkkqavmxmrrlc2d61gmqjjgn8xchncng4a0rf8"))))
15613 (build-system asdf-build-system/sbcl)
15614 (inputs
15615 `(("cffi" ,sbcl-cffi)))
15616 (home-page "https://github.com/muyinliu/cl-cpus")
15617 (synopsis "Common Lisp feature to get number of CPUs")
15618 (description
15619 "This package provides a Common Lisp system which has only one function to
15620 return the CPU count of the current system.")
15621 (license license:isc)))
15622
15623 (define-public ecl-cl-cpus
15624 (sbcl-package->ecl-package sbcl-cl-cpus))
15625
15626 (define-public cl-cpus
15627 (sbcl-package->cl-source-package sbcl-cl-cpus))
15628
15629 (define-public sbcl-fof
15630 (package
15631 (name "sbcl-fof")
15632 (version "0.2.0")
15633 (source
15634 (origin
15635 (method git-fetch)
15636 (uri (git-reference
15637 (url "https://gitlab.com/ambrevar/fof")
15638 (commit version)))
15639 (file-name (git-file-name name version))
15640 (sha256
15641 (base32 "0j64b7p40h8bq33hqkpgakm3vs1607vyx6n48d7qg3287v1akk6m"))))
15642 (build-system asdf-build-system/sbcl)
15643 (arguments
15644 `(#:phases
15645 (modify-phases %standard-phases
15646 (add-after 'unpack 'fix-paths
15647 (lambda* (#:key inputs #:allow-other-keys)
15648 (substitute* "ffprobe.lisp"
15649 (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
15650 (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
15651 (assoc-ref inputs "ffmpeg") )))
15652 #t)))))
15653 (inputs
15654 `(("alexandria" ,sbcl-alexandria)
15655 ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star)
15656 ("local-time" ,sbcl-local-time)
15657 ("magicffi" ,sbcl-magicffi)
15658 ("osicat" ,sbcl-osicat)
15659 ("serapeum" ,sbcl-serapeum)
15660 ("str" ,sbcl-cl-str)
15661 ("trivia" ,sbcl-trivia)
15662 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
15663 ;; Non-CL deps:
15664 ("ffmpeg" ,ffmpeg)))
15665 (home-page "https://gitlab.com/ambrevar/fof")
15666 (synopsis "File object finder library for Common Lisp")
15667 (description
15668 "This library enable rapid file search, inspection and manipulation
15669 straight from the REPL.
15670 It aims at replacing Unix tools such as @code{find} or @code{du}.
15671 It also offers a replacement to the @code{pathname} Common Lisp API.
15672 Slot writers which commit changes to disk, e.g. permissions, modification
15673 time, etc.")
15674 (license license:gpl3+)))
15675
15676 (define-public ecl-fof
15677 (sbcl-package->ecl-package sbcl-fof))
15678
15679 (define-public cl-fof
15680 (sbcl-package->cl-source-package sbcl-fof))
15681
15682 (define-public sbcl-computable-reals
15683 (let ((commit "fdc73d75e79d0a4ce6d01c822c950ae2eb137d39"))
15684 (package
15685 (name "sbcl-computable-reals")
15686 (version (git-version "1.1.0" "1" commit))
15687 (source
15688 (origin
15689 (method git-fetch)
15690 (uri (git-reference
15691 (url "https://github.com/stylewarning/computable-reals")
15692 (commit commit)))
15693 (file-name (git-file-name name version))
15694 (sha256
15695 (base32 "0f12axi53x14l12dgf4a1lfq3p1fx7fh7sjfc0db3lk88ph9qfwl"))))
15696 (build-system asdf-build-system/sbcl)
15697 (home-page "https://github.com/stylewarning/computable-reals")
15698 (synopsis "Arbitrary-precision, re-computing real-numbers in Common Lisp")
15699 (description
15700 "This library provides arbitrary precision (floating point) real
15701 numbers in Common Lisp.")
15702 (license license:bsd-3))))
15703
15704 (define-public ecl-computable-reals
15705 (sbcl-package->ecl-package sbcl-computable-reals))
15706
15707 (define-public cl-computable-reals
15708 (sbcl-package->cl-source-package sbcl-computable-reals))
15709
15710 (define-public sbcl-html-template
15711 (package
15712 (name "sbcl-html-template")
15713 (version "0.9.2")
15714 (source
15715 (origin
15716 (method git-fetch)
15717 (uri (git-reference
15718 (url "https://github.com/edicl/html-template")
15719 (commit (string-append "v" version))))
15720 (file-name (git-file-name name version))
15721 (sha256
15722 (base32 "0wz3czvjsn4x971dsiia9f9nvvcmbkablcl75zsvxndkimc93wxb"))))
15723 (build-system asdf-build-system/sbcl)
15724 (home-page "https://edicl.github.io/html-template/")
15725 (synopsis "HTML templates from Common Lisp")
15726 (description
15727 "HTML-TEMPLATE is a Common Lisp library which can be used to fill
15728 templates with arbitrary (string) values at runtime. The result does not have
15729 to be HTML.
15730
15731 It is loosely modeled after the Perl module @code{HTML::Template} and
15732 partially compatible with a its syntax, though both libraries contain some
15733 extensions that the other does not support.
15734
15735 HTML-TEMPLATE translates templates into efficient closures which can be
15736 re-used as often as needed. It uses a cache mechanism so you can update
15737 templates while your program is running and have the changes take effect
15738 immediately.")
15739 (license license:bsd-2)))
15740
15741 (define-public ecl-html-template
15742 (sbcl-package->ecl-package sbcl-html-template))
15743
15744 (define-public cl-html-template
15745 (sbcl-package->cl-source-package sbcl-html-template))
15746
15747 (define-public sbcl-quickproject
15748 (package
15749 (name "sbcl-quickproject")
15750 (version "1.4.1")
15751 (source
15752 (origin
15753 (method git-fetch)
15754 (uri (git-reference
15755 (url "https://github.com/xach/quickproject")
15756 (commit (string-append "release-" version))))
15757 (file-name (git-file-name name version))
15758 (sha256
15759 (base32 "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6"))))
15760 (build-system asdf-build-system/sbcl)
15761 (inputs
15762 `(("cl-fad" ,sbcl-cl-fad)
15763 ("html-template" ,sbcl-html-template)))
15764 (arguments
15765 '(#:asd-files '("quickproject.asd")))
15766 (home-page "https://xach.com/lisp/quickproject/")
15767 (synopsis "Create Common Lisp project skeletons")
15768 (description
15769 "Quickproject provides a quick way to make a Common Lisp project. After
15770 creating a project, it extends the ASDF registry so the project may be
15771 immediately loaded.")
15772 (license license:expat)))
15773
15774 (define-public ecl-quickproject
15775 (sbcl-package->ecl-package sbcl-quickproject))
15776
15777 (define-public cl-quickproject
15778 (sbcl-package->cl-source-package sbcl-quickproject))
15779
15780 (define-public sbcl-bodge-math
15781 (let ((commit "9159b7faf88d440024c07110dbef2abddb20b9af")
15782 (revision "1"))
15783 (package
15784 (name "sbcl-bodge-math")
15785 (version (git-version "1.0.0" revision commit))
15786 (source
15787 (origin
15788 (method git-fetch)
15789 (uri (git-reference
15790 (url "https://github.com/borodust/bodge-math")
15791 (commit commit)))
15792 (file-name (git-file-name "bodge-math" version))
15793 (sha256
15794 (base32 "0r3vnl9lywn4ksy34apcv6j825qp7l1naddawr14v4lwacndb80v"))))
15795 (build-system asdf-build-system/sbcl)
15796 (inputs
15797 `(("bodge-utilities" ,sbcl-bodge-utilities)
15798 ("rtg-math" ,sbcl-rtg-math)))
15799 (home-page "https://github.com/borodust/bodge-math")
15800 (synopsis "Common Lisp core math utilities of BODGE library collection")
15801 (description
15802 "This Common Lisp package contains the core math utilities of the
15803 @emph{Bodge} library collection.")
15804 (license license:expat))))
15805
15806 (define-public ecl-bodge-math
15807 (sbcl-package->ecl-package sbcl-bodge-math))
15808
15809 (define-public cl-bodge-math
15810 (sbcl-package->cl-source-package sbcl-bodge-math))
15811
15812 (define-public sbcl-bodge-blobs-support
15813 (let ((commit "c5034ca5f4fc3a44dbadeba215a09afd59a404b0")
15814 (revision "1"))
15815 (package
15816 (name "sbcl-bodge-blobs-support")
15817 (version (git-version "1.0.0" revision commit))
15818 (source
15819 (origin
15820 (method git-fetch)
15821 (uri (git-reference
15822 (url "https://github.com/borodust/bodge-blobs-support")
15823 (commit commit)))
15824 (file-name (git-file-name "bodge-blobs-support" version))
15825 (sha256
15826 (base32 "02nd1x6y1akp1ymv1y4z9ympwbnpd1drwi4f86xbjszxqff6jyj8"))))
15827 (build-system asdf-build-system/sbcl)
15828 (native-inputs
15829 `(("trivial-features" ,sbcl-trivial-features)))
15830 (inputs
15831 `(("cffi" ,sbcl-cffi)
15832 ("sbcl-alexandria" ,sbcl-alexandria)))
15833 (home-page "https://github.com/borodust/bodge-blobs-support")
15834 (synopsis "Common Lisp utilities for blob packages")
15835 (description
15836 "This is a Common Lisp library for simplifying packaging and loading of
15837 compiled foreign library collection.")
15838 (license license:unlicense))))
15839
15840 (define-public cl-bodge-blobs-support
15841 (sbcl-package->cl-source-package sbcl-bodge-blobs-support))
15842
15843 (define-public ecl-bodge-blobs-support
15844 (sbcl-package->ecl-package sbcl-bodge-blobs-support))
15845
15846 (define-public sbcl-cl-conspack
15847 (let ((commit "fc8473bc6f929696b03b43820596b7c976c4678e")
15848 (revision "1"))
15849 (package
15850 (name "sbcl-cl-conspack")
15851 (version (git-version "0.0.0" revision commit))
15852 (source
15853 (origin
15854 (method git-fetch)
15855 (uri (git-reference
15856 (url "https://github.com/conspack/cl-conspack")
15857 (commit commit)))
15858 (file-name (git-file-name "cl-conspack" version))
15859 (sha256
15860 (base32 "0b7qzvsrpvnw12hqhjmz0b02sigj0kdjy55j4k7xzmj8684cs8bx"))))
15861 (build-system asdf-build-system/sbcl)
15862 ;; FIXME: (Sharlatan-20210331T220652+0100): Test are disabled because of:
15863 ;;
15864 ;; Error while trying to load definition for system cl-conspack-test
15865 ;; from pathname .../cl-conspack/cl-conspack-test.asd:
15866 ;; Error opening .../checkl/formalize-tmpGHU3ALSV.fasl": Permission denied
15867 ;;
15868 ;; It looks like the issues is in CheckL itself as other packages keep
15869 ;; failing test where it's in use.
15870 (arguments
15871 '(#:tests? #f
15872 #:asd-files '("cl-conspack.asd")))
15873 (native-inputs
15874 `(("checkl" ,sbcl-checkl)))
15875 (inputs
15876 `(("alexandria" ,sbcl-alexandria)
15877 ("closer-mop" ,sbcl-closer-mop)
15878 ("fast-io" ,sbcl-fast-io)
15879 ("ieee-floats" ,sbcl-ieee-floats)
15880 ("trivial-garbage" ,sbcl-trivial-garbage)
15881 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
15882 (home-page "https://github.com/conspack/cl-conspack")
15883 (synopsis "CONSPACK implementation for Common Lisp")
15884 (description
15885 "This package provides a CONSPACK implementation for Common Lisp.")
15886 (license license:bsd-3))))
15887
15888 (define-public ecl-cl-conspack
15889 (sbcl-package->ecl-package sbcl-cl-conspack))
15890
15891 (define-public cl-conspack
15892 (sbcl-package->cl-source-package sbcl-cl-conspack))
15893
15894 (define-public sbcl-cl-opengl
15895 (let ((commit "e2d83e0977b7e7ac3f3d348d8ccc7ccd04e74d59")
15896 (revision "1"))
15897 (package
15898 (name "sbcl-cl-opengl")
15899 (version (git-version "0.1.0" revision commit))
15900 (source
15901 (origin
15902 (method git-fetch)
15903 (uri (git-reference
15904 (url "https://github.com/3b/cl-opengl")
15905 (commit commit)))
15906 (file-name (git-file-name "cl-opengl" version))
15907 (sha256
15908 (base32 "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7"))))
15909 (build-system asdf-build-system/sbcl)
15910 (arguments
15911 `(#:asd-systems '("cl-opengl" "cl-glu" "cl-glut")
15912 #:phases
15913 (modify-phases %standard-phases
15914 (add-after 'unpack 'patch-lib-path
15915 (lambda* (#:key inputs #:allow-other-keys)
15916 (substitute* "gl/library.lisp"
15917 (("libGL.so" all)
15918 (string-append (assoc-ref inputs "mesa") "/lib/" all)))
15919 (substitute* "glu/library.lisp"
15920 (("libGLU.so" all)
15921 (string-append (assoc-ref inputs "glu") "/lib/" all)))
15922 (substitute* "glut/library.lisp"
15923 (("libglut.so" all)
15924 (string-append (assoc-ref inputs "freeglut") "/lib/" all)))
15925 #t)))))
15926 (inputs
15927 `(("alexandria" ,sbcl-alexandria)
15928 ("cffi" ,sbcl-cffi)
15929 ("float-features" ,sbcl-float-features)
15930 ("freeglut" ,freeglut)
15931 ("glu" ,glu)
15932 ("mesa" ,mesa)))
15933 (home-page "https://github.com/3b/cl-opengl")
15934 (synopsis "Common Lisp bindings to OpenGL, GLU and GLUT APIs")
15935 (description
15936 "This package provides a set of bindings and utilities for accessing the
15937 OpenGL (Mesa), GLU and GLUT (FreeGLUT) APIs using CFFI.")
15938 (license license:bsd-3))))
15939
15940 (define-public ecl-cl-opengl
15941 (sbcl-package->ecl-package sbcl-cl-opengl))
15942
15943 (define-public cl-opengl
15944 (sbcl-package->cl-source-package sbcl-cl-opengl))
15945
15946 (define-public sbcl-shadow
15947 (let ((commit "b2031adbfba3579b48c9d39ad997e19b79b6852f")
15948 (revision "1"))
15949 (package
15950 (name "sbcl-shadow")
15951 (version (git-version "0.0.0" revision commit))
15952 (source
15953 (origin
15954 (method git-fetch)
15955 (uri (git-reference
15956 (url "https://git.mfiano.net/mfiano/shadow")
15957 (commit commit)))
15958 (file-name (git-file-name "shadow" version))
15959 (sha256
15960 (base32 "0w1i734gkdkziin74ql2nhx7jdjxx02ylssaa6qdrvnj4br1124a"))))
15961 (build-system asdf-build-system/sbcl)
15962 (inputs
15963 `(("cffi" ,sbcl-cffi)
15964 ("cl-opengl" ,sbcl-cl-opengl)
15965 ("glsl-packing" ,sbcl-glsl-packing)
15966 ("golden-utils" ,sbcl-golden-utils)
15967 ("static-vectors" ,sbcl-static-vectors)
15968 ("varjo" ,sbcl-varjo)))
15969 (home-page "https://git.mfiano.net/mfiano/shadow")
15970 (synopsis "Management system for OpenGL shader programs")
15971 (description
15972 "This package provides a Common Lisp library for defining OpenGL shader
15973 programs. There are also functions for referencing shader programs by name,
15974 querying for basic information about them, modifying uniform variables
15975 throughout the lifecycle of an OpenGL application, and managing certain OpenGL
15976 buffer object types (UBO, SSBO currently).")
15977 (license license:expat))))
15978
15979 (define-public ecl-shadow
15980 (sbcl-package->ecl-package sbcl-shadow))
15981
15982 (define-public cl-shadow
15983 (sbcl-package->cl-source-package sbcl-shadow))
15984
15985 (define-public sbcl-umbra
15986 (let ((commit "d6ef2f6cbfa26180929061129eaf325bf17f73d8")
15987 (revision "1"))
15988 (package
15989 (name "sbcl-umbra")
15990 (version (git-version "0.0.0" revision commit))
15991 (source
15992 (origin
15993 (method git-fetch)
15994 (uri (git-reference
15995 (url "https://git.mfiano.net/mfiano/umbra")
15996 (commit commit)))
15997 (file-name (git-file-name "umbra" version))
15998 (sha256
15999 (base32 "04vyh2j00zdpb8ryxr8g81wjcmqlz9wrn55r3cypcj4qg970r5wi"))))
16000 (build-system asdf-build-system/sbcl)
16001 (inputs
16002 `(("golden-utils" ,sbcl-golden-utils)
16003 ("shadow" ,sbcl-shadow)
16004 ("varjo" ,sbcl-varjo)))
16005 (home-page "https://git.mfiano.net/mfiano/umbra")
16006 (synopsis "Common Lisp library of reusable GPU shader functions")
16007 (description
16008 "This is a Common Lisp library consisting of a collection of useful GPU
16009 shader functions, written with @code{Shadow}.")
16010 (license license:expat))))
16011
16012 (define-public ecl-umbra
16013 (sbcl-package->ecl-package sbcl-umbra))
16014
16015 (define-public cl-umbra
16016 (sbcl-package->cl-source-package sbcl-umbra))
16017
16018 (define-public sbcl-abstract-classes
16019 (let ((commit "7fa74f1e057f9ba7c1ffecff14f049f979e45267")
16020 (revision "1"))
16021 (package
16022 (name "sbcl-abstract-classes")
16023 (version (git-version "1.7.0" revision commit))
16024 (source
16025 (origin
16026 (method git-fetch)
16027 (uri (git-reference
16028 (url "https://bitbucket.org/eeeickythump/cl-abstract-classes")
16029 (commit commit)))
16030 (file-name (git-file-name "cl-abstract-classes" version))
16031 (sha256
16032 (base32 "06lby4i6xbbgs7kgb0f3fqybvyskyg6djhrf967lnysv7hn3zpg9"))))
16033 (build-system asdf-build-system/sbcl)
16034 (inputs
16035 `(("closer-mop" ,sbcl-closer-mop)))
16036 (arguments
16037 `(#:asd-systems '("abstract-classes" "singleton-classes")))
16038 (home-page "https://bitbucket.org/eeeickythump/cl-abstract-classes")
16039 (synopsis "Abstract, final, and singleton metaclasses for CLOS")
16040 (description
16041 "This package provides Common Lisp extension to the MOP to allow
16042 abstract, final and singleton classes.")
16043 (license license:public-domain))))
16044
16045 (define-public ecl-abstract-classes
16046 (sbcl-package->ecl-package sbcl-abstract-classes))
16047
16048 (define-public cl-abstract-classes
16049 (sbcl-package->cl-source-package sbcl-abstract-classes))
16050
16051 (define-public sbcl-coalton
16052 (let ((commit "4a42ffb4222fde3abfd1b50d96e455ff2eef9fe8")
16053 (revision "1"))
16054 (package
16055 (name "sbcl-coalton")
16056 (version (git-version "0.0.0" revision commit))
16057 (source
16058 (origin
16059 (method git-fetch)
16060 (uri (git-reference
16061 (url "https://github.com/stylewarning/coalton")
16062 (commit commit)))
16063 (file-name (git-file-name "coalton" version))
16064 (sha256
16065 (base32 "0aidwwam7cnhb3p9212zbv5w2dl6kr5iklzanypzr1a9lqaxwdlk"))))
16066 (build-system asdf-build-system/sbcl)
16067 (native-inputs
16068 `(("fiasco" ,sbcl-fiasco)))
16069 (inputs
16070 `(("abstract-classes" ,sbcl-abstract-classes)
16071 ("alexandria" ,sbcl-alexandria)
16072 ("global-vars" ,sbcl-global-vars)
16073 ("optima" ,sbcl-optima)
16074 ("trivial-garbage" ,sbcl-trivial-garbage)))
16075 (home-page "https://github.com/stylewarning/coalton")
16076 (synopsis "Dialect of ML in Common Lisp")
16077 (description
16078 "Coalton is a dialect of ML embedded in Common Lisp. It emphasizes
16079 practicality and interoperability with Lisp, and is intended to be a DSL that
16080 allows one to gradually make their programs safer.")
16081 (license license:expat))))
16082
16083 (define-public ecl-coalton
16084 (sbcl-package->ecl-package sbcl-coalton))
16085
16086 (define-public cl-coalton
16087 (sbcl-package->cl-source-package sbcl-coalton))
16088
16089 (define-public sbcl-clip
16090 (let ((commit "7afa68702fbb99c47ed115ea0faccd97a29d9b2e")
16091 (revision "1"))
16092 (package
16093 (name "sbcl-clip")
16094 (version (git-version "0.7.0" revision commit))
16095 (source
16096 (origin
16097 (method git-fetch)
16098 (uri (git-reference
16099 (url "https://github.com/shinmera/clip")
16100 (commit commit)))
16101 (file-name (git-file-name "clip" version))
16102 (sha256
16103 (base32 "13kkajkva2shm19fvn4yashsw18l6imv2rmy3hmpcky7g5ay7bv3"))))
16104 (build-system asdf-build-system/sbcl)
16105 (inputs
16106 `(("array-utils" ,sbcl-array-utils)
16107 ("lquery" ,sbcl-lquery)))
16108 (home-page "https://shinmera.github.io/clip/")
16109 (synopsis "Common Lisp HTML templating engine")
16110 (description
16111 "Clip is an attempt at a templating library that allows you to write
16112 templates in a way that is both accessible to direct webdesign and
16113 flexible. The main idea is to incorporate transformation commands into an HTML
16114 file through tags and attributes. Clip is heavily dependent on Plump and
16115 lQuery.")
16116 (license license:zlib))))
16117
16118 (define-public ecl-clip
16119 (sbcl-package->ecl-package sbcl-clip))
16120
16121 (define-public cl-clip
16122 (sbcl-package->cl-source-package sbcl-clip))
16123
16124 (define-public sbcl-pathname-utils
16125 (let ((commit "70f517e44e13a38e0c8f296613236376d679fa8f")
16126 (revision "1"))
16127 (package
16128 (name "sbcl-pathname-utils")
16129 (version (git-version "1.1.0" revision commit))
16130 (source
16131 (origin
16132 (method git-fetch)
16133 (uri (git-reference
16134 (url "https://github.com/Shinmera/pathname-utils")
16135 (commit commit)))
16136 (file-name (git-file-name "pathname-utils" version))
16137 (sha256
16138 (base32 "1zm4bf6gajpgmhr7zwf7600zlaf8fs1fcyzabqsh2ma2crkgqdxq"))))
16139 (build-system asdf-build-system/sbcl)
16140 (native-inputs
16141 `(("parachute" ,sbcl-parachute)))
16142 (home-page "https://shinmera.github.io/pathname-utils/")
16143 (synopsis "Collection of utilities to help with pathname operations")
16144 (description
16145 "This package provides a Common Lisp system a with collection of common
16146 tests and operations to help handling pathnames. It does not actually deal in
16147 handling the accessing of files on the underlying system however.")
16148 (license license:zlib))))
16149
16150 (define-public ecl-pathname-utils
16151 (sbcl-package->ecl-package sbcl-pathname-utils))
16152
16153 (define-public cl-pathname-utils
16154 (sbcl-package->cl-source-package sbcl-pathname-utils))
16155
16156 (define-public sbcl-terrable
16157 (let ((commit "e4fe23ffa08e8d53a8168105b413861da59cc786")
16158 (revision "1"))
16159 (package
16160 (name "sbcl-terrable")
16161 (version (git-version "1.0.0" revision commit))
16162 (source
16163 (origin
16164 (method git-fetch)
16165 (uri (git-reference
16166 (url "https://github.com/Shirakumo/terrable")
16167 (commit commit)))
16168 (file-name (git-file-name "terrable" version))
16169 (sha256
16170 (base32 "0pnqflgz410zydc1ivwnd8hcl24bgr7x12yjzr7g4lq3ibc8y97b"))))
16171 (build-system asdf-build-system/sbcl)
16172 (inputs
16173 `(("documentation-utils" ,sbcl-documentation-utils)
16174 ("fast-io" ,sbcl-fast-io)
16175 ("ieee-floats" ,sbcl-ieee-floats)
16176 ("static-vectors" ,sbcl-static-vectors)
16177 ("trivial-garbage" ,sbcl-trivial-garbage)))
16178 (home-page "https://shirakumo.github.io/terrable/")
16179 (synopsis "Parser library for Terragen TER terrain files")
16180 (description
16181 "This package provides Common Lisp support for reading the Terragen
16182 @code{.TER} format. The format specification can be found at
16183 @url{https://planetside.co.uk/wiki/index.php?title=Terragen_.TER_Format}")
16184 (license license:zlib))))
16185
16186 (define-public ecl-terrable
16187 (sbcl-package->ecl-package sbcl-terrable))
16188
16189 (define-public cl-terrable
16190 (sbcl-package->cl-source-package sbcl-terrable))
16191
16192 (define-public sbcl-simple-rgb
16193 (let ((commit "ba9b0689362c28aa6a91c0636796c6c372657293")
16194 (revision "1"))
16195 (package
16196 (name "sbcl-simple-rgb")
16197 (version (git-version "0.01" revision commit))
16198 (source
16199 (origin
16200 (method git-fetch)
16201 (uri (git-reference
16202 (url "https://github.com/wmannis/simple-rgb/")
16203 (commit commit)))
16204 (file-name (git-file-name name version))
16205 (sha256
16206 (base32 "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1"))))
16207 (build-system asdf-build-system/sbcl)
16208 (home-page "https://github.com/wmannis/simple-rgb")
16209 (synopsis "Manipulate colors in RGB format")
16210 (description
16211 "This Common Lisp library focuses on the small set of basic color
16212 manipulations (lightening, compliments, etc.) you might use to generate a
16213 color palette for a GUI or web page.")
16214 (license license:bsd-2))))
16215
16216 (define-public ecl-simple-rgb
16217 (sbcl-package->ecl-package sbcl-simple-rgb))
16218
16219 (define-public cl-simple-rgb
16220 (sbcl-package->cl-source-package sbcl-simple-rgb))
16221
16222 (define-public sbcl-cl-qprint
16223 (let ((commit "bfe398551cbfb7ca84a9ba59a26a1116ac5c06eb")
16224 (revision "1"))
16225 (package
16226 (name "sbcl-cl-qprint")
16227 (version (git-version "0.9.0" revision commit))
16228 (source
16229 (origin
16230 (method git-fetch)
16231 (uri (git-reference
16232 (url "https://github.com/eugeneia/cl-qprint/")
16233 (commit commit)))
16234 (file-name (git-file-name name version))
16235 (sha256
16236 (base32 "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir"))))
16237 (build-system asdf-build-system/sbcl)
16238 (inputs
16239 `(("flexi-streams" ,sbcl-flexi-streams)))
16240 (home-page "https://github.com/eugeneia/cl-qprint/")
16241 (synopsis "Implementation of the quoted-printable encoding")
16242 (description
16243 "This Common Lisp library implements the quoted-printable encoding as
16244 described in RFC 2045 (see @url{http://tools.ietf.org/html/rfc2045}).")
16245 (license license:lgpl2.1))))
16246
16247 (define-public ecl-cl-qprint
16248 (sbcl-package->ecl-package sbcl-cl-qprint))
16249
16250 (define-public cl-qprint
16251 (sbcl-package->cl-source-package sbcl-cl-qprint))
16252
16253 (define-public sbcl-cl-mime
16254 (let ((commit "d30a28e0a40393bd3af7d138daa05319ed2e9d07")
16255 (revision "1"))
16256 (package
16257 (name "sbcl-cl-mime")
16258 ;; One commit says "update to cl-mime-0.5.3", even though the .asd is at 0.5.1.
16259 (version (git-version "0.5.3" revision commit))
16260 (source
16261 (origin
16262 (method git-fetch)
16263 (uri (git-reference
16264 ;; Maintained fork according to http://www.cliki.net/CL-MIME:
16265 (url "https://github.com/40ants/cl-mime")
16266 (commit commit)))
16267 (file-name (git-file-name name version))
16268 (sha256
16269 (base32 "0qn8if0fj6vzc897pqqqs0m1y107gmzqngpqhqmwrcsp1ckj5k0v"))))
16270 (build-system asdf-build-system/sbcl)
16271 (inputs
16272 `(("ppcre" ,sbcl-cl-ppcre)
16273 ("cl-base64" ,sbcl-cl-base64)
16274 ("cl-qprint" ,sbcl-cl-qprint)))
16275 (native-inputs
16276 `(("rove" ,sbcl-rove)))
16277 (home-page "https://github.com/eugeneia/cl-qprint/")
16278 (synopsis "Read and print MIME content in Common Lisp")
16279 (description
16280 "This is a Common Lisp library for reading and printing MIME content.
16281 It supports automatic conversion between 7-bit, quoted-printable and base64
16282 encodings.")
16283 (license license:lgpl2.1))))
16284
16285 (define-public ecl-cl-mime
16286 (sbcl-package->ecl-package sbcl-cl-mime))
16287
16288 (define-public cl-mime
16289 (sbcl-package->cl-source-package sbcl-cl-mime))
16290
16291 (define-public sbcl-lispbuilder-sdl
16292 (let ((commit "589b3c6d552bbec4b520f61388117d6c7b3de5ab"))
16293 (package
16294 (name "sbcl-lispbuilder-sdl")
16295 (version (git-version "0.9.8.2" "1" commit))
16296 (source
16297 (origin
16298 (method git-fetch)
16299 (uri (git-reference
16300 (url "https://github.com/lispbuilder/lispbuilder")
16301 (commit commit)))
16302 (file-name (git-file-name name version))
16303 (sha256
16304 (base32 "0zga59fjlhq3mhwbf80qwqwpkjkxqnn2mhxajlb8563vhn3dbafp"))))
16305 (build-system asdf-build-system/sbcl)
16306 (inputs
16307 `(("cffi" ,sbcl-cffi)
16308 ("trivial-garbage" ,sbcl-trivial-garbage)
16309 ("sdl" ,sdl)))
16310 (arguments
16311 `(#:phases
16312 (modify-phases %standard-phases
16313 (add-after 'unpack 'cd-sdl
16314 (lambda _
16315 (chdir "lispbuilder-sdl")
16316 #t))
16317 (add-after 'cd-sdl 'fix-paths
16318 (lambda* (#:key inputs #:allow-other-keys)
16319 (substitute* "cffi/library.lisp"
16320 (("libSDL[^\"]*" all)
16321 (string-append (assoc-ref inputs "sdl") "/lib/" all)))
16322 #t)))))
16323 (home-page "https://github.com/lispbuilder/lispbuilder/wiki/LispbuilderSDL")
16324 (synopsis "Common Lisp wrapper for SDL")
16325 (description
16326 "This library is an SDL wrapper as part of an umbrella project that
16327 provides cross-platform packages for building large, interactive applications
16328 in Common Lisp.")
16329 (license license:expat))))
16330
16331 (define-public ecl-lispbuilder-sdl
16332 (sbcl-package->ecl-package sbcl-lispbuilder-sdl))
16333
16334 (define-public cl-lispbuilder-sdl
16335 (sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
16336
16337 (define-public sbcl-dufy
16338 (package
16339 (name "sbcl-dufy")
16340 (version "0.4.1")
16341 (source
16342 (origin
16343 (method git-fetch)
16344 (uri (git-reference
16345 (url "https://github.com/privet-kitty/dufy")
16346 (commit (string-append "v" version))))
16347 (file-name (git-file-name name version))
16348 (sha256
16349 (base32 "15vrp1kayhjb5c1vc9x8wlm8rimk73vpa7yc101cf0gsg1fjazl6"))))
16350 (build-system asdf-build-system/sbcl)
16351 (inputs
16352 `(("alexandria" ,sbcl-alexandria)
16353 ("ppcre" ,sbcl-cl-ppcre)))
16354 (native-inputs
16355 `(("fiveam" ,sbcl-fiveam)
16356 ("cl-csv" ,sbcl-cl-csv)
16357 ("parse-float" ,sbcl-parse-float)
16358 ("lispbuilder-sdl" ,sbcl-lispbuilder-sdl)
16359 ("lparallel" ,sbcl-lparallel)))
16360 (home-page "https://github.com/privet-kitty/dufy")
16361 (synopsis "Color library for Common Lisp")
16362 (description
16363 "Dufy is a library for exact color manipulation and conversion in various
16364 color spaces, which supports many color models.")
16365 (license license:expat)))
16366
16367 (define-public ecl-dufy
16368 (sbcl-package->ecl-package sbcl-dufy))
16369
16370 (define-public cl-dufy
16371 (sbcl-package->cl-source-package sbcl-dufy))
16372
16373 (define-public sbcl-unit-test
16374 (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735")
16375 (revision "1"))
16376 (package
16377 (name "sbcl-unit-test")
16378 (version (git-version "0.0.0" revision commit))
16379 (source
16380 (origin
16381 (method git-fetch)
16382 (uri (git-reference
16383 (url "https://github.com/hanshuebner/unit-test")
16384 (commit commit)))
16385 (file-name (git-file-name "unit-test" version))
16386 (sha256
16387 (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9"))))
16388 (build-system asdf-build-system/sbcl)
16389 (home-page "https://github.com/hanshuebner/unit-test")
16390 (synopsis "Unit-testing framework for Common Lisp")
16391 (description "This is a unit-testing framework for Common Lisp.")
16392 (license license:unlicense))))
16393
16394 (define-public ecl-unit-test
16395 (sbcl-package->ecl-package sbcl-unit-test))
16396
16397 (define-public cl-unit-test
16398 (sbcl-package->cl-source-package sbcl-unit-test))
16399
16400 (define-public sbcl-bknr-datastore
16401 (let ((commit "c98d44f47cc88d19ff91ca3eefbd9719a8ace022")
16402 (revision "1"))
16403 (package
16404 (name "sbcl-bknr-datastore")
16405 (version (git-version "0.0.0" revision commit))
16406 (source
16407 (origin
16408 (method git-fetch)
16409 (uri (git-reference
16410 (url "https://github.com/hanshuebner/bknr-datastore")
16411 (commit commit)))
16412 (file-name (git-file-name "bknr-datastore" version))
16413 (sha256
16414 (base32 "1vi3w65fnczqvswkm381n6liqfrzjrg40y698qvj7skj28dm5vrm"))))
16415 (build-system asdf-build-system/sbcl)
16416 (arguments
16417 `(#:asd-systems
16418 '("bknr.datastore"
16419 "bknr.impex"
16420 "bknr.indices"
16421 "bknr.skip-list"
16422 "bknr.utils"
16423 "bknr.xml")
16424 #:phases
16425 (modify-phases %standard-phases
16426 (add-after 'unpack 'enter-source-directory
16427 (lambda _
16428 (chdir "src")
16429 #t)))))
16430 (native-inputs
16431 `(("cl-store" ,sbcl-cl-store)
16432 ("fiveam" ,sbcl-fiveam)
16433 ("unit-test" ,sbcl-unit-test)))
16434 (inputs
16435 `(("alexandria" ,sbcl-alexandria)
16436 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16437 ("closer-mop" ,sbcl-closer-mop)
16438 ("cl-interpol" ,sbcl-cl-interpol)
16439 ("cl-ppcre" ,sbcl-cl-ppcre)
16440 ("cxml" ,sbcl-cxml)
16441 ("flexi-streams" ,sbcl-flexi-streams)
16442 ("md5" ,sbcl-md5)
16443 ("trivial-utf-8" ,sbcl-trivial-utf-8)
16444 ("yason" ,sbcl-yason)))
16445 (home-page "https://github.com/hanshuebner/bknr-datastore")
16446 (synopsis "In-memory database for Common Lisp")
16447 (description
16448 "BKNR.DATASTORE is an in-memory CLOS based database with transactions
16449 for Common Lisp.")
16450 (license license:bsd-0))))
16451
16452 ;; NOTE: (Sharlatan-20210429T191426+0100):
16453 ;; There is no port for ECL in upstream yet
16454 ;; (define-public ecl-bknr-datastore
16455 ;; (sbcl-package->ecl-package sbcl-bknr-datastore))
16456
16457 (define-public cl-bknr-datastore
16458 (sbcl-package->cl-source-package sbcl-bknr-datastore))
16459
16460 (define-public sbcl-3d-vectors
16461 (let ((commit "29bb9684df803590deed344af63dbf7b712aabc0")
16462 (revision "1"))
16463 (package
16464 (name "sbcl-3d-vectors")
16465 (version (git-version "3.1.0" revision commit))
16466 (source
16467 (origin
16468 (method git-fetch)
16469 (uri (git-reference
16470 (url "https://github.com/Shinmera/3d-vectors")
16471 (commit commit)))
16472 (file-name (git-file-name "3d-vectors" version))
16473 (sha256
16474 (base32 "0qc7m5brhpwi531rgmlaj1c609by533a1ia5hv8f90ilm8ksmw3l"))))
16475 (build-system asdf-build-system/sbcl)
16476 (native-inputs
16477 `(("parachute" ,sbcl-parachute)))
16478 (inputs
16479 `(("documentation-utils" ,sbcl-documentation-utils)))
16480 (home-page "https://shinmera.github.io/3d-vectors/")
16481 (synopsis "Utility library implementing 2D, 3D, and 4D vectors")
16482 (description
16483 "@code{3D-VECTORS} is a library for vector math in 3D space. It contains
16484 most of the vector operations one would usually expect out of such a library and
16485 offers them both in non-modifying and modifying versions where applicable.")
16486 (license license:zlib))))
16487
16488 (define-public ecl-3d-vectors
16489 (sbcl-package->ecl-package sbcl-3d-vectors))
16490
16491 (define-public cl-3d-vectors
16492 (sbcl-package->cl-source-package sbcl-3d-vectors))
16493
16494 (define-public sbcl-3d-matrices
16495 (let ((commit "f453b521b8f2ceabb01eac94389119dece8c05f8")
16496 (revision "1"))
16497 (package
16498 (name "sbcl-3d-matrices")
16499 (version (git-version "1.0.0" revision commit))
16500 (source
16501 (origin
16502 (method git-fetch)
16503 (uri (git-reference
16504 (url "https://github.com/Shinmera/3d-matrices")
16505 (commit commit)))
16506 (file-name (git-file-name "3d-matrices" version))
16507 (sha256
16508 (base32 "10q9c96gqzq6k8n89agy0khgimmnsn4s69171m3vhghqa2yv5n6v"))))
16509 (build-system asdf-build-system/sbcl)
16510 (native-inputs
16511 `(("parachute" ,sbcl-parachute)))
16512 (inputs
16513 `(("3d-vectors" ,sbcl-3d-vectors)
16514 ("documentation-utils" ,sbcl-documentation-utils)))
16515 (home-page "https://shinmera.github.io/3d-matrices/")
16516 (synopsis "Utility library implementing 2x2, 3x3, 4x4 and NxM matrices")
16517 (description
16518 "@code{3D-MATRICES} is a library implementing common matrix operations,
16519 mainly intended as the counterpiece to @code{3d-vectors} and thus being aimed at
16520 operations in 3D space.")
16521 (license license:zlib))))
16522
16523 (define-public ecl-3d-matrices
16524 (sbcl-package->ecl-package sbcl-3d-matrices))
16525
16526 (define-public cl-3d-matrices
16527 (sbcl-package->cl-source-package sbcl-3d-matrices))
16528
16529 (define-public sbcl-messagebox
16530 (let ((commit "ea3688d9a9954bee7079c0173bc7b3f327021e9f")
16531 (revision "1"))
16532 (package
16533 (name "sbcl-messagebox")
16534 (version (git-version "1.0.0" revision commit))
16535 (source
16536 (origin
16537 (method git-fetch)
16538 (uri (git-reference
16539 (url "https://github.com/Shinmera/messagebox")
16540 (commit commit)))
16541 (file-name (git-file-name "messagebox" version))
16542 (sha256
16543 (base32 "0jkbzlca0wvspgsfj0b0hjwlyyy8jlywsldsbkp79q48fc3aa8jd"))))
16544 (build-system asdf-build-system/sbcl)
16545 (arguments
16546 `(#:phases
16547 (modify-phases %standard-phases
16548 (add-after 'unpack 'patch-zenity-path
16549 (lambda* (#:key inputs #:allow-other-keys)
16550 (substitute* "zenity.lisp"
16551 (("\"zenity\"")
16552 (string-append "\"" (assoc-ref inputs "zenity")
16553 "/bin/zenity\""))))))))
16554 (inputs
16555 `(("documentation-utils" ,sbcl-documentation-utils)
16556 ("trivial-features" ,sbcl-trivial-features)
16557 ("zenity" ,zenity)))
16558 (home-page "https://shinmera.github.io/messagebox/")
16559 (synopsis "Display a native GUI message box")
16560 (description
16561 "This is a small library to display a native GUI message box. This can be
16562 useful to show error messages and other informational pieces should the
16563 application fail and be unable to do so using its standard UI.")
16564 (license license:zlib))))
16565
16566 (define-public ecl-messagebox
16567 (sbcl-package->ecl-package sbcl-messagebox))
16568
16569 (define-public cl-messagebox
16570 (sbcl-package->cl-source-package sbcl-messagebox))
16571
16572 (define-public sbcl-glsl-toolkit
16573 (let ((commit "d00ba1906e3b5eb08ea346ac300a1e77bb999d04")
16574 (revision "1"))
16575 (package
16576 (name "sbcl-glsl-toolkit")
16577 (version (git-version "1.0.0" revision commit))
16578 (source
16579 (origin
16580 (method git-fetch)
16581 (uri (git-reference
16582 (url "https://github.com/Shirakumo/glsl-toolkit")
16583 (commit commit)))
16584 (file-name (git-file-name "glsl-toolkit" version))
16585 (sha256
16586 (base32 "0as5796yazchq1qkna3srxlz5v7cf7ffny9cbqi41wsa2s20vbh9"))))
16587 (build-system asdf-build-system/sbcl)
16588 (inputs
16589 `(("cl-ppcre" ,sbcl-cl-ppcre)
16590 ("documentation-utils" ,sbcl-documentation-utils)
16591 ("parse-float" ,sbcl-parse-float)
16592 ("trivial-indent" ,sbcl-trivial-indent)))
16593 (home-page "https://shirakumo.github.io/glsl-toolkit/")
16594 (synopsis "Parser for OpenGL Shader Language source files")
16595 (description
16596 "This package provides a Common Lisp system collecting tools written to
16597 allow to wrangle OpenGL Shader Language (GLSL) source files.")
16598 (license license:zlib))))
16599
16600 (define-public ecl-glsl-toolkit
16601 (sbcl-package->ecl-package sbcl-glsl-toolkit))
16602
16603 (define-public cl-glsl-toolkit
16604 (sbcl-package->cl-source-package sbcl-glsl-toolkit))
16605
16606 (define-public sbcl-simple-tasks
16607 (let ((commit "745d4b54eac9bf5d6909792e63ecd2ef8d303cf2")
16608 (revision "1"))
16609 (package
16610 (name "sbcl-simple-tasks")
16611 (version (git-version "1.3.0" revision commit))
16612 (source
16613 (origin
16614 (method git-fetch)
16615 (uri (git-reference
16616 (url "https://github.com/Shinmera/simple-tasks")
16617 (commit commit)))
16618 (file-name (git-file-name "simple-tasks" version))
16619 (sha256
16620 (base32 "1ls1pij7dvb65g4nam7nvik1218jvfk5iplr48vy290fw3lq7v98"))))
16621 (build-system asdf-build-system/sbcl)
16622 (inputs
16623 `(("array-utils" ,sbcl-array-utils)
16624 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16625 ("dissect" ,sbcl-dissect)))
16626 (home-page "https://shinmera.github.io/simple-tasks/")
16627 (synopsis "Simple task scheduling framework")
16628 (description "This is a task scheduling framework for Common Lisp.")
16629 (license license:zlib))))
16630
16631 (define-public ecl-simple-tasks
16632 (sbcl-package->ecl-package sbcl-simple-tasks))
16633
16634 (define-public cl-simple-tasks
16635 (sbcl-package->cl-source-package sbcl-simple-tasks))
16636
16637 (define-public sbcl-trivial-main-thread
16638 (let ((commit "25f114973bb69eb63e01d0bbfead31f8e682846a")
16639 (revision "1"))
16640 (package
16641 (name "sbcl-trivial-main-thread")
16642 (version (git-version "1.0.0" revision commit))
16643 (source
16644 (origin
16645 (method git-fetch)
16646 (uri (git-reference
16647 (url "https://github.com/Shinmera/trivial-main-thread")
16648 (commit commit)))
16649 (file-name (git-file-name "trivial-main-thread" version))
16650 (sha256
16651 (base32 "0bw1887i7396lqg75qvmgjfzz4xbiq9w5dp8wxdgrcsm0qwlraw7"))))
16652 (build-system asdf-build-system/sbcl)
16653 (inputs
16654 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
16655 ("simple-tasks" ,sbcl-simple-tasks)
16656 ("trivial-features" ,sbcl-trivial-features)))
16657 (home-page "https://shinmera.github.io/trivial-main-thread/")
16658 (synopsis "Compatibility library to run things in the main thread")
16659 (description
16660 "This package provides a Common Lisp system which wraps the
16661 BORDEAUX-THREADS system to be able to run things in the main thread of the
16662 implementation, for example drawing calls of GUI applications.")
16663 (license license:zlib))))
16664
16665 (define-public ecl-trivial-main-thread
16666 (sbcl-package->ecl-package sbcl-trivial-main-thread))
16667
16668 (define-public cl-trivial-main-thread
16669 (sbcl-package->cl-source-package sbcl-trivial-main-thread))
16670
16671 (define-public sbcl-cl-package-locks
16672 (let ((commit "96a358ede7cef416d61d2f699e724fe1d9de602c")
16673 (revision "1"))
16674 (package
16675 (name "sbcl-cl-package-locks")
16676 (version (git-version "0.0.2" revision commit))
16677 (source
16678 (origin
16679 (method git-fetch)
16680 (uri (git-reference
16681 (url "https://github.com/elliottjohnson/cl-package-locks")
16682 (commit commit)))
16683 (file-name (git-file-name "cl-package-locks" version))
16684 (sha256
16685 (base32 "0g3gfljnvpgd66ccd2sqawlkwqx4a0wsdrg5180va61w869cgxqq"))))
16686 (build-system asdf-build-system/sbcl)
16687 (home-page "https://github.com/elliottjohnson/cl-package-locks")
16688 (synopsis "Compatibility layer for dealing with package locks")
16689 (description
16690 "This is a Common Lisp library providing a unified way to work with
16691 package locks across supported Common Lisp implementations.")
16692 (license license:expat))))
16693
16694 (define-public ecl-cl-package-locks
16695 (sbcl-package->ecl-package sbcl-cl-package-locks))
16696
16697 (define-public cl-package-locks
16698 (sbcl-package->cl-source-package sbcl-cl-package-locks))
16699
16700 (define-public sbcl-cl-typesetting
16701 (let ((commit "86eba981fc4254addebecf765578ec350d6e3b75")
16702 (revision "1"))
16703 (package
16704 (name "sbcl-cl-typesetting")
16705 (version (git-version "0.8.0" revision commit))
16706 (source
16707 (origin
16708 (method git-fetch)
16709 (uri (git-reference
16710 (url "https://github.com/mbattyani/cl-typesetting")
16711 (commit commit)))
16712 (file-name (git-file-name "cl-typesetting" version))
16713 (sha256
16714 (base32 "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h"))))
16715 (build-system asdf-build-system/sbcl)
16716 (arguments
16717 ;; NOTE: (Sharlatan-20210515T213014+0100): Circular dependencies with
16718 ;; cl-typegraph
16719 `(#:tests? #f))
16720 (inputs
16721 `(("cl-pdf" ,sbcl-cl-pdf)
16722 ("xmls" ,sbcl-xmls)))
16723 (home-page "https://github.com/mbattyani/cl-typesetting")
16724 (synopsis "Stand-alone Common Lisp typesetting system")
16725 (description
16726 "CL-TYPESETTING is a cross-platform Common Lisp typesetting library for
16727 all kind of typesetting applications.")
16728 (license license:bsd-2))))
16729
16730 (define-public ecl-cl-typesetting
16731 (sbcl-package->ecl-package sbcl-cl-typesetting))
16732
16733 (define-public cl-typesetting
16734 (sbcl-package->cl-source-package sbcl-cl-typesetting))
16735
16736 (define-public sbcl-shasht
16737 (let ((commit "4055327ef8e2aaa8627892ab256350ff3cb15e3c")
16738 (revision "1"))
16739 (package
16740 (name "sbcl-shasht")
16741 (version (git-version "0.1.0" revision commit))
16742 (source
16743 (origin
16744 (method git-fetch)
16745 (uri (git-reference
16746 (url "https://github.com/yitzchak/shasht")
16747 (commit commit)))
16748 (file-name (git-file-name "shasht" version))
16749 (sha256
16750 (base32 "01mh20s5gj0lajq45anxji77ykq1wcg72mn1y9a1k8i7q1ainjlr"))))
16751 (build-system asdf-build-system/sbcl)
16752 (native-inputs
16753 `(("alexandria" ,sbcl-alexandria)
16754 ("parachute" ,sbcl-parachute)))
16755 (inputs
16756 `(("trivial-do" ,sbcl-trivial-do)))
16757 (home-page "https://yitzchak.github.io/shasht/")
16758 (synopsis "Common Lisp JSON reading and writing library")
16759 (description
16760 "This package provides a Common Lisp library to work with the JSON file
16761 format.")
16762 (license license:expat))))
16763
16764 (define-public ecl-shasht
16765 (sbcl-package->ecl-package sbcl-shasht))
16766
16767 (define-public cl-shasht
16768 (sbcl-package->cl-source-package sbcl-shasht))
16769
16770 (define-public sbcl-cl-speedy-queue
16771 (let ((commit "0425c7c62ad3b898a5ec58cd1b3e74f7d91eec4b")
16772 (revision "1"))
16773 (package
16774 (name "sbcl-cl-speedy-queue")
16775 (version (git-version "0.0.0" revision commit))
16776 (source
16777 (origin
16778 (method git-fetch)
16779 (uri (git-reference
16780 (url "https://github.com/zkat/cl-speedy-queue")
16781 (commit commit)))
16782 (file-name (git-file-name "cl-speedy-queue" version))
16783 (sha256
16784 (base32 "0czhnvxn9lvbjz9h1lb7y18nqrsq3drq5icd3lqdaa07362alriq"))))
16785 (build-system asdf-build-system/sbcl)
16786 (home-page "https://github.com/zkat/cl-speedy-queue")
16787 (synopsis "Lightweight optimized queue for Common Lisp")
16788 (description
16789 "This is a lightweight, non-consing, optimized queue implementation for
16790 Common Lisp.")
16791 (license license:expat))))
16792
16793 (define-public cl-speedy-queue
16794 (sbcl-package->cl-source-package sbcl-cl-speedy-queue))
16795
16796 (define-public ecl-cl-speedy-queue
16797 (sbcl-package->ecl-package sbcl-cl-speedy-queue))
16798
16799 (define-public sbcl-lev
16800 (let ((commit "7d03c68dad44f1cc4ac2aeeab2d24eb525ad941a")
16801 (revision "1"))
16802 (package
16803 (name "sbcl-lev")
16804 (version (git-version "0.1.0" revision commit))
16805 (source
16806 (origin
16807 (method git-fetch)
16808 (uri (git-reference
16809 (url "https://github.com/fukamachi/lev")
16810 (commit commit)))
16811 (file-name (git-file-name "lev" version))
16812 (sha256
16813 (base32 "14lfnrvfyg2nnvlwck896p6vgarzc6g4kijmvhi2d8wra7gxzifh"))))
16814 (build-system asdf-build-system/sbcl)
16815 (arguments
16816 ;; NOTE: (Sharlatan-20210520T163300+0100): No tests in upstream
16817 `(#:tests? #f
16818 #:phases
16819 (modify-phases %standard-phases
16820 (add-after 'unpack 'patch-libev-lib-path
16821 (lambda* (#:key inputs #:allow-other-keys)
16822 (substitute* "src/lev.lisp"
16823 (("libev.so" all)
16824 (string-append (assoc-ref inputs "libev")
16825 "/lib/" all))))))))
16826 (inputs
16827 `(("cffi" ,sbcl-cffi)
16828 ("libev" ,libev)))
16829 (home-page "https://github.com/fukamachi/lev")
16830 (synopsis "Common Lisp bindings for libev")
16831 (description "This package provides Common Lisp bindings for libev.")
16832 (license license:bsd-2))))
16833
16834 (define-public cl-lev
16835 (sbcl-package->cl-source-package sbcl-lev))
16836
16837 (define-public ecl-lev
16838 (sbcl-package->ecl-package sbcl-lev))
16839
16840 (define-public sbcl-woo
16841 (let ((commit "fba3567be95ed6e782d98a4c1477d3a74b8ad124")
16842 (revision "1"))
16843 (package
16844 (name "sbcl-woo")
16845 (version (git-version "0.12.0" revision commit))
16846 (source
16847 (origin
16848 (method git-fetch)
16849 (uri (git-reference
16850 (url "https://github.com/fukamachi/woo")
16851 (commit commit)))
16852 (file-name (git-file-name "woo" version))
16853 (sha256
16854 (base32 "06f95x8s8v523gxmrkn9wwgw2pvc3bc66znbgrzhqb30y4aar5v5"))))
16855 (build-system asdf-build-system/sbcl)
16856 (arguments
16857 ;; FIXME: Tests fail because they try to compile clack-test:
16858 ;;
16859 ;; Error opening #P"/gnu/store/...-sbcl-clack-2.0.0-1.e3e0328/
16860 ;; lib/common-lisp/sbcl/clack/src/test-tmpGHU3ALSV.fasl":
16861 ;;
16862 ;; Permission denied
16863 ;;
16864 ;; clack-test should be compiled when building the sbcl-clack package,
16865 ;; but it isn't right now because of the circular dependency between
16866 ;; clack-test and dexador.
16867 `(#:tests? #f))
16868 (native-inputs
16869 `(("clack" ,sbcl-clack)
16870 ("rove" ,sbcl-rove)))
16871 (inputs
16872 `(("alexandria" ,sbcl-alexandria)
16873 ("bordeaux-threads" ,sbcl-bordeaux-threads)
16874 ("cffi" ,sbcl-cffi)
16875 ("cl-speedy-queue" ,sbcl-cl-speedy-queue) ;; Required for ecl build
16876 ("clack-socket" ,sbcl-clack)
16877 ("fast-http" ,sbcl-fast-http)
16878 ("fast-io" ,sbcl-fast-io)
16879 ("lev" ,sbcl-lev)
16880 ("quri" ,sbcl-quri)
16881 ("rove" ,sbcl-rove)
16882 ("smart-buffer" ,sbcl-smart-buffer)
16883 ("static-vectors" ,sbcl-static-vectors)
16884 ("swap-bytes" ,sbcl-swap-bytes)
16885 ("trivial-utf-8" ,sbcl-trivial-utf-8)
16886 ("vom" ,sbcl-vom)))
16887 (home-page "https://github.com/fukamachi/woo")
16888 (synopsis "Non-blocking HTTP server based on libev")
16889 (description
16890 "This package provides the Common Lisp HTTP server @code{WOO}, which
16891 is built on top of the @code{libev} event library.")
16892 (license license:expat))))
16893
16894 (define-public cl-woo
16895 (sbcl-package->cl-source-package sbcl-woo))
16896
16897 (define-public ecl-woo
16898 (sbcl-package->ecl-package sbcl-woo))
16899
16900 (define-public sbcl-json-streams
16901 (let ((commit "5da012e8133affbf75024e7500feb37394690752")
16902 (revision "1"))
16903 (package
16904 (name "sbcl-json-streams")
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/json-streams")
16911 (commit commit)))
16912 (file-name (git-file-name "json-streams" version))
16913 (sha256
16914 (base32 "0cia3721im04q73dfkd688d8splgpz03qa4h8s3r39kar4w3xll2"))))
16915 (build-system asdf-build-system/sbcl)
16916 (native-inputs
16917 `(("cl-quickcheck" ,sbcl-cl-quickcheck)
16918 ("flexi-streams" ,sbcl-flexi-streams)))
16919 (home-page "https://github.com/rotatef/json-streams")
16920 (synopsis "Common Lisp library for reading and writing JSON")
16921 (description
16922 "This package provides a stream based JSON parser/writer, well suited as
16923 building block for higher level libraries.")
16924 (license license:gpl3+))))
16925
16926 (define-public cl-json-streams
16927 (sbcl-package->cl-source-package sbcl-json-streams))
16928
16929 (define-public ecl-json-streams
16930 (sbcl-package->ecl-package sbcl-json-streams))
16931
16932 (define-public sbcl-arnesi
16933 (let ((commit "1e7dc4cb2cad8599113c7492c78f4925e839522e")
16934 (revision "1"))
16935 (package
16936 (name "sbcl-arnesi")
16937 (version (git-version "2.0.0" revision commit))
16938 (source
16939 (origin
16940 (method git-fetch)
16941 (uri (git-reference
16942 (url "https://github.com/AccelerationNet/arnesi")
16943 (commit commit)))
16944 (file-name (git-file-name "arnesi" version))
16945 (sha256
16946 (base32 "0jgj2xgd1gq6rf8ia43lkmbrbxnp8rgs053br9azfa25ygk3ikbh"))))
16947 (build-system asdf-build-system/sbcl)
16948 (arguments
16949 ;; FIXME: (Sharlatan-20210523T190315+0100): Tests failed on
16950 ;; special-lisp-var-rebount-in/cc
16951 ;;
16952 ;; ; processing (TEST SPECIAL-LISP-VAR-REBOUND-IN/CC ...)
16953 ;; ; wrote .../sbcl/arnesi/t/call-cc-tmp5GEXGEG5.fasl
16954 ;; ; compilation finished in 0:00:00.028
16955 ;; Unhandled SIMPLE-ERROR in thread
16956 ;; #<SB-THREAD:THREAD "main thread" RUNNING {100B768173}>:
16957 ;; Sorry, No walker for the special operater DECLARE defined.
16958 ;;
16959 ;; Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100B768173}>
16960 ;; 0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SIMPLE-ERROR "Sorry,
16961 ;; No walker for the special operater ~S defined."
16962 ;; {1001FAF9D3}> #<unused argument> :QUIT T)
16963 ;;
16964 `(#:tests? #f))
16965 (native-inputs
16966 `(("fiveam" ,sbcl-fiveam)))
16967 (inputs
16968 `(("cl-ppcre" ,sbcl-cl-ppcre)
16969 ("collectors" ,sbcl-collectors)
16970 ("swank" ,sbcl-slime-swank)))
16971 (home-page "https://github.com/AccelerationNet/arnesi")
16972 (synopsis "Common Lisp utility suite")
16973 (description
16974 "ARNESI is Common Lisp utilities library similar to ALEXANDRIA, ANAPHORA
16975 or GOLDEN-UTILS.")
16976 (license license:bsd-3))))
16977
16978 (define-public ecl-arnesi
16979 (sbcl-package->ecl-package sbcl-arnesi))
16980
16981 (define-public cl-arnesi
16982 (sbcl-package->cl-source-package sbcl-arnesi))
16983
16984 (define-public sbcl-gettext
16985 (let ((commit "a432020cbad99fc22cbe6bb9aa8a83a35000d7aa")
16986 (revision "1"))
16987 (package
16988 (name "sbcl-gettext")
16989 (version (git-version "0.0.0" revision commit))
16990 (source
16991 (origin
16992 (method git-fetch)
16993 (uri (git-reference
16994 (url "https://github.com/rotatef/gettext")
16995 (commit commit)))
16996 (file-name (git-file-name "gettext" version))
16997 (sha256
16998 (base32 "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar"))))
16999 (build-system asdf-build-system/sbcl)
17000 (native-inputs
17001 `(("stefil" ,sbcl-stefil)))
17002 (inputs
17003 `(("flexi-streams" ,sbcl-flexi-streams)
17004 ("split-sequence" ,sbcl-split-sequence)
17005 ("yacc" ,sbcl-cl-yacc)))
17006 (home-page "https://github.com/rotatef/gettext")
17007 (synopsis "Common Lisp implementation of Gettext")
17008 (description
17009 "This package provides GNU @code{gettext} completely implemented in
17010 Common Lisp without any C library bindings.")
17011 (license license:lgpl3+))))
17012
17013 (define-public ecl-gettext
17014 (sbcl-package->ecl-package sbcl-gettext))
17015
17016 (define-public cl-gettext
17017 (sbcl-package->cl-source-package sbcl-gettext))
17018
17019 (define-public sbcl-parser-combinators
17020 (let ((commit "9c7569a4f6af5e60c0d3a51d9c15c16d1714c845")
17021 (revision "1"))
17022 (package
17023 (name "sbcl-parser-combinators")
17024 (version (git-version "0.0.0" revision commit))
17025 (source
17026 (origin
17027 (method git-fetch)
17028 (uri (git-reference
17029 (url "https://github.com/Ramarren/cl-parser-combinators")
17030 (commit commit)))
17031 (file-name (git-file-name "parser-combinators" version))
17032 (sha256
17033 (base32 "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8"))))
17034 (build-system asdf-build-system/sbcl)
17035 (arguments
17036 ;; FIXME: (Sharlatan-20210523T184237+0100): Tests require `femlisp', which
17037 ;; is quite chunky not packaged system yet, enable them when it's packed.
17038 `(#:tests? #f
17039 #:test-asd-file "parser-combinators-tests.asd"))
17040 ;; (native-inputs
17041 ;; `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)
17042 ;; ("infix" ,sbcl-femlisp)))
17043 (inputs
17044 `(("alexandria" ,sbcl-alexandria)
17045 ("cl-containers" ,sbcl-cl-containers)
17046 ("cl-ppcre" ,sbcl-cl-ppcre)
17047 ("iterate" ,sbcl-iterate)))
17048 (home-page "https://github.com/Ramarren/cl-parser-combinators")
17049 (synopsis "Parser combinators in Common Lisp")
17050 (description
17051 "PARSER-COMBINATORS is a library implementing monadic parser
17052 combinators in Common Lisp, similar in concept to Haskell Parsec system.")
17053 (license license:bsd-3))))
17054
17055 (define-public ecl-parser-combinators
17056 (sbcl-package->ecl-package sbcl-parser-combinators))
17057
17058 (define-public cl-parser-combinators
17059 (sbcl-package->cl-source-package sbcl-parser-combinators))
17060
17061 (define-public sbcl-cl-locale
17062 (let ((commit "0a36cc0dcf5e0a8c8bf97869cd6199980ca25eec")
17063 (revision "1"))
17064 (package
17065 (name "sbcl-cl-locale")
17066 (version (git-version "0.1.1" revision commit))
17067 (source
17068 (origin
17069 (method git-fetch)
17070 (uri (git-reference
17071 (url "https://github.com/fukamachi/cl-locale")
17072 (commit commit)))
17073 (file-name (git-file-name "cl-locale" version))
17074 (sha256
17075 (base32 "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p"))))
17076 (build-system asdf-build-system/sbcl)
17077 (arguments
17078 ;; FIXME: (Sharlatan-20210523T190658+0100): All tests passed ok but
17079 ;; successfully failed in the end:
17080 ;;
17081 ;; Summary:
17082 ;; All 1 file passed.
17083 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-DEPENDENCY
17084 ;; in thread #<SB-THREAD:THREAD "main thread" RUNNING {100B6C8253}>:
17085 ;; Component CL-LOCALE-ASD::CL-LOCALE-TEST not found, required by
17086 ;; #<SYSTEM "cl-locale">
17087 ;;
17088 `(#:tests? #f))
17089 (native-inputs
17090 `(("prove" ,sbcl-prove)
17091 ("flexi-streams" ,sbcl-flexi-streams)))
17092 (inputs
17093 `(("anaphora" ,sbcl-anaphora)
17094 ("arnesi" ,sbcl-arnesi)
17095 ("cl-annot" ,sbcl-cl-annot)
17096 ("cl-syntax" ,sbcl-cl-syntax)))
17097 (home-page "https://github.com/fukamachi/cl-locale")
17098 (synopsis "Internalization library for Common Lisp")
17099 (description
17100 "This package provides a Common Lisp translation library similar to
17101 CL-I18N and CL-L10N.")
17102 (license license:llgpl))))
17103
17104 (define-public ecl-cl-locale
17105 (sbcl-package->ecl-package sbcl-cl-locale))
17106
17107 (define-public cl-locale
17108 (sbcl-package->cl-source-package sbcl-cl-locale))
17109
17110 (define-public sbcl-cl-slice
17111 (let ((commit "c531683f287216aebbb0affbe090611fa1b5d697")
17112 (revision "1"))
17113 (package
17114 (name "sbcl-cl-slice")
17115 (version (git-version "0.1.0" revision commit))
17116 (source
17117 (origin
17118 (method git-fetch)
17119 (uri (git-reference
17120 (url "https://github.com/tpapp/cl-slice")
17121 (commit commit)))
17122 (file-name (git-file-name "cl-slice" version))
17123 (sha256
17124 (base32 "1ybznf4y5lda6bn163jcvj281qzhm24dfcwhbgxmm5n6f27gdccl"))))
17125 (build-system asdf-build-system/sbcl)
17126 (native-inputs
17127 `(("clunit" ,sbcl-clunit)))
17128 (inputs
17129 `(("alexandria" ,sbcl-alexandria)
17130 ("anaphora" ,sbcl-anaphora)
17131 ("let-plus" ,sbcl-let-plus)))
17132 (home-page "https://github.com/tpapp/cl-slice")
17133 (synopsis "Array slices for Common Lisp")
17134 (description
17135 "This package provides a DSL for array slices in Common Lisp.")
17136 (license license:expat))))
17137
17138 (define-public ecl-cl-slice
17139 (sbcl-package->ecl-package sbcl-cl-slice))
17140
17141 (define-public cl-slice
17142 (sbcl-package->cl-source-package sbcl-cl-slice))
17143
17144 (define-public sbcl-djula
17145 (let ((commit "5df7af35a21503d468a878fc6029caa527a7d204")
17146 (revision "1"))
17147 (package
17148 (name "sbcl-djula")
17149 (version (git-version "0.2.0" revision commit))
17150 (source
17151 (origin
17152 (method git-fetch)
17153 (uri (git-reference
17154 (url "https://github.com/mmontone/djula")
17155 (commit commit)))
17156 (file-name (git-file-name "djula" version))
17157 (sha256
17158 (base32 "1lk2ypm3sacf60h96a7hv9jwjlxkl4k40yzdalmqdg548vrd1jjm"))))
17159 (build-system asdf-build-system/sbcl)
17160 (native-inputs
17161 `(("fiveam" ,sbcl-fiveam)))
17162 (inputs
17163 `(("access" ,sbcl-access)
17164 ("alexandria" ,sbcl-alexandria)
17165 ("anaphora" ,sbcl-anaphora)
17166 ("babel" ,sbcl-babel)
17167 ("cl-locale" ,sbcl-cl-locale)
17168 ("cl-ppcre" ,sbcl-cl-ppcre)
17169 ("cl-slice" ,sbcl-cl-slice)
17170 ("closer-mop" ,sbcl-closer-mop)
17171 ("gettext" ,sbcl-gettext)
17172 ("iterate" ,sbcl-iterate)
17173 ("local-time" ,sbcl-local-time)
17174 ("parser-combinators" ,sbcl-parser-combinators)
17175 ("split-sequence" ,sbcl-split-sequence)
17176 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
17177 (home-page "https://mmontone.github.io/djula/")
17178 (synopsis "Common Lisp port of the Django templating language")
17179 (description
17180 "This package provides a Common Lisp templating system based on Python
17181 Django with a syntax similar to Python Jinja2.")
17182 (license license:expat))))
17183
17184 (define-public ecl-djula
17185 (sbcl-package->ecl-package sbcl-djula))
17186
17187 (define-public cl-djula
17188 (sbcl-package->cl-source-package sbcl-djula))
17189
17190 (define-public sbcl-for
17191 (let ((commit "2e4fcfa0f9c1d2f4559c58cef20ccefa50ba180d")
17192 (revision "1"))
17193 (package
17194 (name "sbcl-for")
17195 (version (git-version "1.1.0" revision commit))
17196 (source
17197 (origin
17198 (method git-fetch)
17199 (uri (git-reference
17200 (url "https://github.com/Shinmera/for")
17201 (commit commit)))
17202 (file-name (git-file-name "for" version))
17203 (sha256
17204 (base32 "1akz9ggh33x2cq3h0f1cd0p632v1mbagv3dzsb0r10bwg9lh3nmv"))))
17205 (build-system asdf-build-system/sbcl)
17206 (inputs
17207 `(("documentation-utils" ,sbcl-documentation-utils)
17208 ("form-fiddle" ,sbcl-form-fiddle)
17209 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
17210 (home-page "https://shinmera.github.io/for/")
17211 (synopsis "Extensible iteration macro library")
17212 (description
17213 "For is a library for an extensible iteration macro. It allows you to write
17214 concise looping constructs similar to @code{loop} and @code{iterate}. Unlike
17215 loop however it is extensible and sensible, and unlike iterate it does not
17216 require code-walking and is easier to extend.")
17217 (license license:zlib))))
17218
17219 (define-public ecl-for
17220 (sbcl-package->ecl-package sbcl-for))
17221
17222 (define-public cl-for
17223 (sbcl-package->cl-source-package sbcl-for))
17224
17225 (define-public sbcl-flare
17226 (let ((commit "4f9f17a4fc5b368c2a1988b9a20288695b8d8c48")
17227 (revision "1"))
17228 (package
17229 (name "sbcl-flare")
17230 (version (git-version "1.1.0" revision commit))
17231 (source
17232 (origin
17233 (method git-fetch)
17234 (uri (git-reference
17235 (url "https://github.com/Shinmera/flare")
17236 (commit commit)))
17237 (file-name (git-file-name "flare" version))
17238 (sha256
17239 (base32 "00nm3sjngbflj2gd5q0xs2m136w4kix6krww23nk64pkkyq2fs86"))))
17240 (build-system asdf-build-system/sbcl)
17241 (inputs
17242 `(("3d-vectors" ,sbcl-3d-vectors)
17243 ("array-utils" ,sbcl-array-utils)
17244 ("documentation-utils" ,sbcl-documentation-utils)
17245 ("for" ,sbcl-for)
17246 ("lambda-fiddle" ,sbcl-lambda-fiddle)
17247 ("trivial-garbage" ,sbcl-trivial-garbage)))
17248 (home-page "https://shinmera.github.io/flare/")
17249 (synopsis "Easy particle systems with fine grained control")
17250 (description
17251 "FLARE is a library designed to allow quick and precise particle effect
17252 creations. It does not concern itself with displaying and only with the
17253 management and movement of particles. As such, it can easily be integrated into
17254 any existing or future application.")
17255 (license license:zlib))))
17256
17257 (define-public ecl-flare
17258 (sbcl-package->ecl-package sbcl-flare))
17259
17260 (define-public cl-flare
17261 (sbcl-package->cl-source-package sbcl-flare))
17262
17263 (define-public sbcl-simple-inferiors
17264 (let ((commit "deac886354e03f8a9502ce96f12a0459ce3be671"))
17265 (package
17266 (name "sbcl-simple-inferiors")
17267 (version (git-version "1.1.0" "1" commit))
17268 (source
17269 (origin
17270 (method git-fetch)
17271 (uri (git-reference
17272 (url "https://github.com/Shinmera/simple-inferiors")
17273 (commit commit)))
17274 (file-name (git-file-name name version))
17275 (sha256
17276 (base32 "08vsvqv3768bwb2y8mwxbw5wyqzzwqr7rd004r6gafdgf9p9mcx3"))))
17277 (build-system asdf-build-system/sbcl)
17278 (inputs
17279 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
17280 ("documentation-utils" ,sbcl-documentation-utils)))
17281 (home-page "https://shinmera.github.io/simple-inferiors/")
17282 (synopsis "Common Lisp library to use inferior processes")
17283 (description
17284 "This is a library to allow easy handling of external processes, and
17285 primarily to get their output. It handles proper copying of the standard and
17286 error outputs of the process simultaneously, both in a sequential and parallel
17287 fashion. It also features a lazy directory switching mechanism, to avoid
17288 running into parallelism problems when having to change directory.")
17289 (license license:zlib))))
17290
17291 (define-public ecl-simple-inferiors
17292 (sbcl-package->ecl-package sbcl-simple-inferiors))
17293
17294 (define-public cl-simple-inferiors
17295 (sbcl-package->cl-source-package sbcl-simple-inferiors))
17296
17297 (define-public sbcl-legit
17298 (let ((commit "48d50a20d8dcbd941d119683463b7c8257ba6458"))
17299 (package
17300 (name "sbcl-legit")
17301 (version (git-version "1.0.0" "1" commit))
17302 (source
17303 (origin
17304 (method git-fetch)
17305 (uri (git-reference
17306 (url "https://github.com/Shinmera/legit")
17307 (commit commit)))
17308 (file-name (git-file-name name version))
17309 (sha256
17310 (base32 "181aqpj4zkfk1aavj5jw8rym6gw4ma3gd64z2h5fpryabgmwk236"))))
17311 (build-system asdf-build-system/sbcl)
17312 (inputs
17313 `(("simple-inferiors" ,sbcl-simple-inferiors)
17314 ("lambda-fiddle" ,sbcl-lambda-fiddle)
17315 ("cl-ppcre" ,sbcl-cl-ppcre)
17316 ("documentation-utils" ,sbcl-documentation-utils)))
17317 (home-page "https://shinmera.github.io/legit/")
17318 (synopsis "Interface to the git binary")
17319 (description
17320 "This is an interface to the @code{git} binary to make controlling it
17321 from within Common Lisp much easier. It might not ever reach full coverage of
17322 all features given git's immense size, but features will be added as they are
17323 needed. The low-level command API is fully mapped however.")
17324 (license license:zlib))))
17325
17326 (define-public ecl-legit
17327 (sbcl-package->ecl-package sbcl-legit))
17328
17329 (define-public cl-legit
17330 (sbcl-package->cl-source-package sbcl-legit))
17331
17332 (define-public sbcl-flow
17333 (let ((commit "6d925af009cdfe033650d7048197a5e6ee937d15")
17334 (revision "1"))
17335 (package
17336 (name "sbcl-flow")
17337 (version (git-version "1.0.0" revision commit))
17338 (source
17339 (origin
17340 (method git-fetch)
17341 (uri (git-reference
17342 (url "https://github.com/Shinmera/flow")
17343 (commit commit)))
17344 (file-name (git-file-name "flow" version))
17345 (sha256
17346 (base32 "0ysw1kwiqlf8kzllhnz8v3q40dmvwf83fzq8bfkbmwy5hfjh3pxp"))))
17347 (build-system asdf-build-system/sbcl)
17348 (arguments
17349 ;; FIXME: (Sharlatan-20210527T203118+0100): FLOW-VISUALIZER requires
17350 ;; COMMONQT which is not packed yet and required tweaks with QT. Remove
17351 ;; this when it's ready.
17352 `(#:asd-files '("flow.asd")))
17353 (inputs
17354 `(("closer-mop" ,sbcl-closer-mop)
17355 ("documentation-utils" ,sbcl-documentation-utils)))
17356 (home-page "https://shinmera.github.io/flow/")
17357 (synopsis "Tools for the representation of graphs and flowcharts")
17358 (description
17359 "FLOW is a flowchart graph library. Unlike other graphing libraries,
17360 this one focuses on nodes in a graph having distinct @code{ports} through which
17361 connections to other nodes are formed. This helps in many concrete scenarios
17362 where it is important to distinguish not only which nodes are connected, but
17363 also how they are connected to each other.
17364
17365 Particularly, a lot of data flow and exchange problems can be reduced to such
17366 a @code{flowchart}. For example, an audio processing library may present its
17367 pipeline as a flowchart of segments that communicate with each other through
17368 audio sample buffers. Flow gives a convenient view onto this kind of problem,
17369 and even allows the generic visualisation of graphs in this format.")
17370 (license license:zlib))))
17371
17372 (define-public ecl-flow
17373 (sbcl-package->ecl-package sbcl-flow))
17374
17375 (define-public cl-flow
17376 (sbcl-package->cl-source-package sbcl-flow))
17377
17378 (define-public sbcl-cl-glfw3
17379 (let ((commit "32c3f34d592d55ee7ce932ed85804c1a9c4158c6")
17380 (revision "1"))
17381 (package
17382 (name "sbcl-cl-glfw3")
17383 (version (git-version "0.0.0" revision commit))
17384 (source
17385 (origin
17386 (method git-fetch)
17387 (uri (git-reference
17388 (url "https://github.com/AlexCharlton/cl-glfw3")
17389 (commit commit)))
17390 (file-name (git-file-name "cl-glfw3" version))
17391 (sha256
17392 (base32 "1wzr43nckdx4rlgxzhm1r4kfc264q969mc43y0js9ramh7l8gba5"))))
17393 (build-system asdf-build-system/sbcl)
17394 (arguments
17395 `(#:phases
17396 (modify-phases %standard-phases
17397 (add-after 'unpack 'patch-glfw-lib-path
17398 (lambda* (#:key inputs #:allow-other-keys)
17399 (substitute* "glfw-bindings.lisp"
17400 (("libglfw.so.3" all)
17401 (string-append (assoc-ref inputs "glfw") "/lib/" all))))))))
17402 (inputs
17403 `(("alexandria" ,sbcl-alexandria)
17404 ("cffi" ,sbcl-cffi)
17405 ("cl-opengl" ,sbcl-cl-opengl)
17406 ("glfw" ,glfw)
17407 ("trivial-main-thread" ,sbcl-trivial-main-thread)))
17408 (home-page "https://github.com/AlexCharlton/cl-glfw3")
17409 (synopsis "Common Lisp bindings to GLFW version 3.x")
17410 (description
17411 "This package provides a Common Lisp bindings to @code{glfw}, an OpenGL
17412 application development library.")
17413 (license license:bsd-2))))
17414
17415 (define-public ecl-cl-glfw3
17416 (sbcl-package->ecl-package sbcl-cl-glfw3))
17417
17418 (define-public cl-glfw3
17419 (sbcl-package->cl-source-package sbcl-cl-glfw3))
17420
17421 (define-public sbcl-chirp
17422 (let ((commit "01c79fa41939688216d1f86d0766a687becb0654")
17423 (revision "1"))
17424 (package
17425 (name "sbcl-chirp")
17426 (version (git-version "0.2.0" revision commit))
17427 (source
17428 (origin
17429 (method git-fetch)
17430 (uri (git-reference
17431 (url "https://github.com/Shinmera/chirp")
17432 (commit commit)))
17433 (file-name (git-file-name "chirp" version))
17434 (sha256
17435 (base32 "10xlz1vwdv3jv48kmpndpnrg6672m0r5vsjgm2pksfl8bc05j2m0"))))
17436 (build-system asdf-build-system/sbcl)
17437 (arguments
17438 `(#:asd-systems '("chirp-core" "chirp-dexador" "chirp-drakma" "chirp")))
17439 (inputs
17440 `(("alexandria" ,sbcl-alexandria)
17441 ("babel" ,sbcl-babel)
17442 ("cl-base64" ,sbcl-cl-base64)
17443 ("cl-ppcre" ,sbcl-cl-ppcre)
17444 ("dexador" ,sbcl-dexador)
17445 ("drakma" ,sbcl-drakma)
17446 ("flexi-streams" ,sbcl-flexi-streams)
17447 ("ironclad" ,sbcl-ironclad)
17448 ("local-time" ,sbcl-local-time)
17449 ("split-sequence" ,sbcl-split-sequence)
17450 ("uuid" ,sbcl-uuid)
17451 ("yason" ,sbcl-yason)))
17452 (home-page "https://shinmera.github.io/chirp/")
17453 (synopsis "Twitter client library for Common Lisp")
17454 (description
17455 "This package provides a Common Lisp Twitter client featuring full API
17456 coverage.")
17457 (license license:zlib))))
17458
17459 (define-public ecl-chirp
17460 (sbcl-package->ecl-package sbcl-chirp))
17461
17462 (define-public cl-chirp
17463 (sbcl-package->cl-source-package sbcl-chirp))
17464
17465 (define-public sbcl-cepl
17466 (let ((commit "d1a10b6c8f4cedc07493bf06aef3a56c7b6f8d5b")
17467 (revision "1"))
17468 (package
17469 (name "sbcl-cepl")
17470 (version (git-version "0.0.0" revision commit))
17471 (source
17472 (origin
17473 (method git-fetch)
17474 (uri (git-reference
17475 (url "https://github.com/cbaggers/cepl")
17476 (commit commit)))
17477 (file-name (git-file-name "cepl" version))
17478 (sha256
17479 (base32 "0izbw2advqm3wailj3dpq6zqfrfirwn14pw5qmqh8i71r51xwmm2"))))
17480 (build-system asdf-build-system/sbcl)
17481 (arguments
17482 `(#:asd-files '("cepl.asd" "cepl.build.asd")))
17483 (inputs
17484 `(("alexandria" ,sbcl-alexandria)
17485 ("bordeaux-threads" ,sbcl-bordeaux-threads)
17486 ("cffi" ,sbcl-cffi)
17487 ("cl-opengl" ,sbcl-cl-opengl)
17488 ("cl-ppcre" ,sbcl-cl-ppcre)
17489 ("documentation-utils" ,sbcl-documentation-utils)
17490 ("float-features" ,sbcl-float-features)
17491 ("ieee-floats" ,sbcl-ieee-floats)
17492 ("split-sequence" ,sbcl-split-sequence)
17493 ("varjo" ,sbcl-varjo)))
17494 (propagated-inputs
17495 `(("quickproject" ,sbcl-quickproject)))
17496 (home-page "https://github.com/cbaggers/cepl")
17497 (synopsis "Development playground to work with OpenGL")
17498 (description
17499 "CEPL (Code Evaluate Play Loop ) is a lispy and REPL-friendly Common Lisp
17500 library for working with OpenGL.
17501
17502 Its definition of success is making the user feel that GPU programming has
17503 always been part of the languages standard.
17504
17505 The usual approach to using CEPL is to start it at the beginning of your Lisp
17506 session and leave it open for the duration of your work. You can then treat the
17507 window it creates as just another output for your graphics, analogous to how
17508 @code{*standard-output*} is treated for text.")
17509 (license license:bsd-2))))
17510
17511 (define-public ecl-cepl
17512 (sbcl-package->ecl-package sbcl-cepl))
17513
17514 (define-public cl-cepl
17515 (sbcl-package->cl-source-package sbcl-cepl))
17516
17517 (define-public sbcl-stmx
17518 ;; No release for years and recent commits contain fixes for revent SBCL versions.
17519 (let ((commit "a7bb44082cd53ee968965adff03d4351750711a1")
17520 (revision "1"))
17521 (package
17522 (name "sbcl-stmx")
17523 (version (git-version "2.0.5" revision commit))
17524 (source
17525 (origin
17526 (method git-fetch)
17527 (uri (git-reference
17528 (url "https://github.com/cosmos72/stmx/")
17529 (commit commit)))
17530 (file-name (git-file-name name version))
17531 (sha256
17532 (base32 "1hfmh4vj271jdilir97qs6nqbi5nmn5alyls0w3d3xxqwi6ffqjs"))))
17533 (build-system asdf-build-system/sbcl)
17534 (inputs
17535 `(("alexandria" ,sbcl-alexandria)
17536 ("bordeaux-threads" ,sbcl-bordeaux-threads)
17537 ("log4cl" ,sbcl-log4cl)
17538 ("closer-mop" ,sbcl-closer-mop)
17539 ("trivial-garbage" ,sbcl-trivial-garbage)))
17540 (home-page "https://stmx.org/")
17541 (synopsis "High performance Transactional Memory for Common Lisp")
17542 (description
17543 "STMX is a high-performance implementation of composable Transactional
17544 Memory, which is a concurrency control mechanism aimed at making concurrent
17545 programming easier to write and understand. Instead of traditional lock-based
17546 programming, one programs with atomic memory transactions, which can be
17547 composed together to make larger atomic memory transactions.
17548
17549 A memory transaction gets committed if it returns normally, while it gets
17550 rolled back if it signals an error (and the error is propagated to the
17551 caller).
17552
17553 Finally, memory transactions can safely run in parallel in different threads,
17554 are re-executed from the beginning in case of conflicts or if consistent reads
17555 cannot be guaranteed, and their effects are not visible from other threads
17556 until they commit.
17557
17558 Memory transactions give freedom from deadlocks, are immune to thread-safety
17559 bugs and race conditions, provide automatic roll-back on failure, and aim at
17560 resolving the tension between granularity and concurrency.")
17561 (license license:llgpl))))
17562
17563 (define-public ecl-stmx
17564 (sbcl-package->ecl-package sbcl-stmx))
17565
17566 (define-public cl-stmx
17567 (sbcl-package->cl-source-package sbcl-stmx))
17568
17569 (define-public sbcl-binding-arrows
17570 ;; Fork of sbcl-arrows that does not have a new tag.
17571 (let ((commit "d19364ec8850880ed6e42078ccaa2ed9114dc83a")
17572 (revision "1"))
17573 (package
17574 (name "sbcl-binding-arrows")
17575 (version (git-version "1.0.0" revision commit))
17576 (source
17577 (origin
17578 (method git-fetch)
17579 (uri (git-reference
17580 (url "https://github.com/phoe/binding-arrows")
17581 (commit commit)))
17582 (file-name (git-file-name name version))
17583 (sha256
17584 (base32 "0hqikgzic7kjq2n1d924yldfm30qz67cmsk6gghi9cbmxkwdlwp8"))))
17585 (build-system asdf-build-system/sbcl)
17586 (native-inputs
17587 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
17588 (home-page "https://github.com/phoe/binding-arrows")
17589 (synopsis "Threading macros based on binding anonymous variables")
17590 (description
17591 "This system implements binding threading macros -- a kind of threading
17592 macros with different semantics than classical, Clojure core threading macros
17593 or their extension, swiss-arrows. Two Common Lisp implementations of those are
17594 @code{arrows} and @code{arrow-macros}.
17595
17596 This system is a fork of @code{arrows} with changes in semantics that make it
17597 impossible to merge back upstream.")
17598 (license license:expat))))
17599
17600 (define-public ecl-binding-arrows
17601 (sbcl-package->ecl-package sbcl-binding-arrows))
17602
17603 (define-public cl-binding-arrows
17604 (sbcl-package->cl-source-package sbcl-binding-arrows))
17605
17606 (define-public sbcl-atomics
17607 ;; No release in years.
17608 (let ((commit "9ee0bdebcd2bb9b242671a75460db13fbf45454c")
17609 (revision "1"))
17610 (package
17611 (name "sbcl-atomics")
17612 (version (git-version "1.0.0" revision commit))
17613 (source
17614 (origin
17615 (method git-fetch)
17616 (uri (git-reference
17617 (url "https://github.com/Shinmera/atomics")
17618 (commit commit)))
17619 (file-name (git-file-name "atomics" version))
17620 (sha256
17621 (base32 "0mp5jdqq0aamdhgnvw149cqqi3zg7dkkibp25qi4rafw1fnpd40z"))))
17622 (build-system asdf-build-system/sbcl)
17623 (inputs
17624 `(("documentation-utils" ,sbcl-documentation-utils)))
17625 (native-inputs
17626 `(("parachute" ,sbcl-parachute)))
17627 (home-page "https://shinmera.github.io/atomics/")
17628 (synopsis "Common Lisp portability layer for atomic operations")
17629 (description
17630 "This is a library for access to atomic operation primitives such as
17631 compare-and-swap. It aims to be a rather thin layer over what the
17632 implementations offer.")
17633 (license license:zlib))))
17634
17635 (define-public ecl-atomics
17636 (sbcl-package->ecl-package sbcl-atomics))
17637
17638 (define-public cl-atomics
17639 (sbcl-package->cl-source-package sbcl-atomics))
17640
17641 (define-public sbcl-cl-mock
17642 ;; .asd version only got updated recently, despired the old GitHug "1.0.1" release.
17643 (let ((commit "7988dca2093358911b67597a2cd1570c785dfe76"))
17644 (package
17645 (name "sbcl-cl-mock")
17646 (version (git-version "1.0.1" "1" commit))
17647 (source
17648 (origin
17649 (method git-fetch)
17650 (uri (git-reference
17651 (url "https://github.com/Ferada/cl-mock/")
17652 (commit commit)))
17653 (file-name (git-file-name name version))
17654 (sha256
17655 (base32 "0f40wikcf783jx26ip0nnhwjjfjvjiw7njqsqrb6kaphc8bgw0i1"))))
17656 (build-system asdf-build-system/sbcl)
17657 (inputs
17658 `(("alexandria" ,sbcl-alexandria)
17659 ("closer-mop" ,sbcl-closer-mop)
17660 ("trivia" ,sbcl-trivia)))
17661 (native-inputs
17662 `(("fiveam" ,sbcl-fiveam)))
17663 (home-page "https://github.com/Ferada/cl-mock")
17664 (synopsis "Mocking functions for Common Lisp testing")
17665 (description
17666 "This small library provides a way to replace the actual implementation
17667 of either regular or generic functions with mocks.")
17668 (license license:agpl3))))
17669
17670 (define-public ecl-cl-mock
17671 (sbcl-package->ecl-package sbcl-cl-mock))
17672
17673 (define-public cl-mock
17674 (sbcl-package->cl-source-package sbcl-cl-mock))
17675
17676 (define-public sbcl-cl-murmurhash
17677 ;; No release.
17678 (let ((commit "5433f5e95f1cce63a81259a471150834c6a59364")
17679 (revision "1"))
17680 (package
17681 (name "sbcl-cl-murmurhash")
17682 (version (git-version "0.0.0" revision commit))
17683 (home-page "https://github.com/ruricolist/cl-murmurhash/")
17684 (source
17685 (origin
17686 (method git-fetch)
17687 (uri (git-reference
17688 (url home-page)
17689 (commit commit)))
17690 (file-name (git-file-name name version))
17691 (sha256
17692 (base32
17693 "0251r0mpjm0y3qsm4lm7ncvrkxvgwc53spdm1p2mpayhvkkqqsws"))))
17694 (build-system asdf-build-system/sbcl)
17695 (inputs
17696 `(("babel" ,sbcl-babel)))
17697 (native-inputs
17698 `(("fiveam" ,sbcl-fiveam)))
17699 (synopsis "32-bit version of Murmurhash3 for Common Lisp")
17700 (description
17701 "This Common Lisp package offers an implementation of the 32-bit
17702 variant of MurmurHash3 (@url{https://github.com/aappleby/smhasher}), a fast
17703 non-crytographic hashing algorithm.")
17704 (license license:expat))))
17705
17706 (define-public ecl-cl-murmurhash
17707 (sbcl-package->ecl-package sbcl-cl-murmurhash))
17708
17709 (define-public cl-murmurhash
17710 (sbcl-package->cl-source-package sbcl-cl-murmurhash))
17711
17712 (define-public sbcl-cl-hamt
17713 ;; No release
17714 (let ((commit "7a99eaaca1f952029def9ad5a2b80a612a712208"))
17715 (package
17716 (name "sbcl-cl-hamt")
17717 (version (git-version "0.0.0" "1" commit))
17718 (source
17719 (origin
17720 (method git-fetch)
17721 (uri (git-reference
17722 (url "https://github.com/danshapero/cl-hamt/")
17723 (commit commit)))
17724 (file-name (git-file-name name version))
17725 (sha256
17726 (base32 "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5"))))
17727 (build-system asdf-build-system/sbcl)
17728 (inputs
17729 `(("cl-murmurhash" ,sbcl-cl-murmurhash)))
17730 (native-inputs
17731 `(("fiveam" ,sbcl-fiveam)))
17732 (home-page "https://github.com/danshapero/cl-hamt")
17733 (synopsis "Dictionary & set data structure using hash array-mapped tries")
17734 (description
17735 "This library provides purely functional dictionaries and sets in
17736 Common Lisp based on the hash array-mapped trie data structure.")
17737 (license license:bsd-3))))
17738
17739 (define-public ecl-cl-hamt
17740 (sbcl-package->ecl-package sbcl-cl-hamt))
17741
17742 (define-public cl-hamt
17743 (sbcl-package->cl-source-package sbcl-cl-hamt))
17744
17745 (define-public sbcl-cl-gserver
17746 (package
17747 (name "sbcl-cl-gserver")
17748 (version "1.7.2")
17749 (source
17750 (origin
17751 (method git-fetch)
17752 (uri (git-reference
17753 (url "https://github.com/mdbergmann/cl-gserver")
17754 (commit version)))
17755 (file-name (git-file-name "cl-gserver" version))
17756 (sha256
17757 (base32 "1vkxs6ybi1pkpji2crmhq8c71zg0dn2ji0lcwhs0rivphz5jxk24"))))
17758 (build-system asdf-build-system/sbcl)
17759 (inputs
17760 `(("alexandria" ,sbcl-alexandria)
17761 ("bordeaux-threads" ,sbcl-bordeaux-threads)
17762 ("lparallel" ,sbcl-lparallel)
17763 ("cl-speedy-queue" ,sbcl-cl-speedy-queue)
17764 ("log4cl" ,sbcl-log4cl)
17765 ("str" ,sbcl-cl-str)
17766 ("blackbird" ,sbcl-blackbird)
17767 ("cl-hamt" ,sbcl-cl-hamt)
17768 ("binding-arrows" ,sbcl-binding-arrows)
17769 ("atomics" ,sbcl-atomics)))
17770 (native-inputs
17771 `(("fiveam" ,sbcl-fiveam)
17772 ("mock" ,sbcl-cl-mock)))
17773 (home-page "https://mdbergmann.github.io/cl-gserver/index.html")
17774 (synopsis "Actor framework for easy access to state and async operations")
17775 (description
17776 "@code{cl-gserver} is a 'message passing' library / framework with actors
17777 similar to Erlang or Akka. It supports creating reactive systems for parallel
17778 computing and event based message handling.")
17779 (license license:agpl3)))
17780
17781 (define-public ecl-cl-gserver
17782 (sbcl-package->ecl-package sbcl-cl-gserver))
17783
17784 (define-public cl-gserver
17785 (sbcl-package->cl-source-package sbcl-cl-gserver))
17786
17787 (define-public sbcl-cl-posix-mqueue
17788 (let ((commit "8977370c7206d1f62bd1be80f4254af40654b83f")
17789 (revision "1"))
17790 (package
17791 (name "sbcl-cl-posix-mqueue")
17792 (version (git-version "0.1.2" revision commit))
17793 (source
17794 (origin
17795 (method git-fetch)
17796 (uri (git-reference
17797 (url "https://github.com/xFA25E/cl-posix-mqueue")
17798 (commit commit)))
17799 (file-name (git-file-name "cl-posix-mqueue" version))
17800 (sha256
17801 (base32 "04519rg8vc782z097dzlb8nx0skab2fy2zd0m60r6mz2nw8xdvh6"))))
17802 (build-system asdf-build-system/sbcl)
17803 (arguments
17804 `(#:test-asd-file "cl-posix-mqueue-tests.asd"
17805 #:phases
17806 (modify-phases %standard-phases
17807 (add-after 'unpack 'patch-librt-path
17808 (lambda* (#:key inputs #:allow-other-keys)
17809 (substitute* "src/spec.lisp"
17810 (("librt.so" all)
17811 (string-append (assoc-ref inputs "glibc") "/lib/" all))))))))
17812 (native-inputs
17813 `(("cl-ppcre" ,sbcl-cl-ppcre)
17814 ("rove" ,sbcl-rove)))
17815 (inputs
17816 `(("alexandria" ,sbcl-alexandria)
17817 ("babel" ,sbcl-babel)
17818 ("cffi" ,sbcl-cffi)
17819 ("glibc" ,glibc)
17820 ("local-time" ,sbcl-local-time)))
17821 (home-page "https://github.com/xFA25E/cl-posix-mqueue")
17822 (synopsis "Common Lisp binding to POSIX mqueue")
17823 (description
17824 "This package provides Common Lisp bindings to POSIX message queue, an
17825 @acronym{IPC, Inter-Process Communication} method that is easy to use and quick
17826 to setup.")
17827 (license license:gpl3))))
17828
17829 (define-public ecl-cl-posix-mqueue
17830 (sbcl-package->ecl-package sbcl-cl-posix-mqueue))
17831
17832 (define-public cl-posix-mqueue
17833 (sbcl-package->cl-source-package sbcl-cl-posix-mqueue))
17834
17835 (define-public sbcl-sdl2
17836 (let ((commit "bb2aa2a41cf799e3bb1ddf50de41fe389c6db668")
17837 (revision "1"))
17838 (package
17839 (name "sbcl-sdl2")
17840 (version (git-version "0.0.0" revision commit))
17841 (source
17842 (origin
17843 (method git-fetch)
17844 (uri (git-reference
17845 (url "https://github.com/lispgames/cl-sdl2")
17846 (commit commit)))
17847 (file-name (git-file-name "cl-sdl2" version))
17848 (sha256
17849 (base32 "1a4904310z2wwq80grnlixmyz30452vgd4lh74y105j2yrr43z97"))))
17850 (build-system asdf-build-system/sbcl)
17851 (arguments
17852 `(#:phases
17853 (modify-phases %standard-phases
17854 (add-after 'unpack 'fix-paths
17855 (lambda* (#:key inputs #:allow-other-keys)
17856 (substitute* "src/library.lisp"
17857 (("libSDL2-2.0.so.0" all)
17858 (string-append (assoc-ref inputs "libsdl2") "/lib/" all)))
17859 #t)))))
17860 (inputs
17861 `(("alexandria" ,sbcl-alexandria)
17862 ("cl-autowrap" ,sbcl-cl-autowrap)
17863 ("cl-ppcre" ,sbcl-cl-ppcre)
17864 ("libsdl2" ,sdl2)
17865 ("trivial-channels" ,sbcl-trivial-channels)
17866 ("trivial-features" ,sbcl-trivial-features)))
17867 (home-page "https://github.com/lispgames/cl-sdl2")
17868 (synopsis "Common Lisp bindings for SDL2 using C2FFI")
17869 (description
17870 "This package provides a Common Lisp wrapper system for the SDL 2.0
17871 C Library.")
17872 (license license:expat))))
17873
17874 (define-public ecl-sdl2
17875 (sbcl-package->ecl-package sbcl-sdl2))
17876
17877 (define-public cl-sdl2
17878 (sbcl-package->cl-source-package sbcl-sdl2))
17879
17880 (define-public sbcl-cl-gamepad
17881 (let ((commit "7e12137927b42db064ffbf9ea34bd4790ad4bb33")
17882 (revision "1"))
17883 (package
17884 (name "sbcl-cl-gamepad")
17885 (version (git-version "3.0.0" revision commit))
17886 (source
17887 (origin
17888 (method git-fetch)
17889 (uri (git-reference
17890 (url "https://github.com/Shirakumo/cl-gamepad")
17891 (commit commit)))
17892 (file-name (git-file-name "cl-gamepad" version))
17893 (sha256
17894 (base32 "1gzx590i7s81qmramnjvfzrrq5yppas8yxqq1jl3yzqhhjwjfvkd"))))
17895 (build-system asdf-build-system/sbcl)
17896 (arguments
17897 `(#:phases
17898 (modify-phases %standard-phases
17899 (add-after 'unpack 'patch-evdev-lib-path
17900 (lambda* (#:key inputs #:allow-other-keys)
17901 (substitute* "evdev-cffi.lisp"
17902 (("libevdev.so" all)
17903 (string-append (assoc-ref inputs "libevdev")
17904 "/lib/" all)))))
17905 ;; Here we use a custom build phase to work around a compilation bug.
17906 ;; Using 'asdf:compile-system' fails, but using 'asdf:load-system'
17907 ;; succeeds (and also compiles the system).
17908 ;; See https://github.com/Shirakumo/cl-gamepad/issues/8
17909 (replace 'build
17910 (lambda* (#:key outputs #:allow-other-keys)
17911 (let* ((out (assoc-ref outputs "out"))
17912 (source-path (string-append out
17913 "/share/common-lisp/"
17914 (%lisp-type)))
17915 (translations `((,source-path
17916 :**/ :*.*.*)
17917 (,(string-append out
17918 "/lib/common-lisp/"
17919 (%lisp-type))
17920 :**/ :*.*.*))))
17921 (setenv "ASDF_OUTPUT_TRANSLATIONS"
17922 (format #f "~S" `(:output-translations
17923 ,translations
17924 :inherit-configuration)))
17925 (setenv "HOME" (assoc-ref outputs "out"))
17926 (with-directory-excursion (string-append source-path
17927 "/cl-gamepad")
17928 (invoke (%lisp-type)
17929 "--eval" "(require :asdf)"
17930 "--eval" "(asdf:load-asd (truename \"cl-gamepad.asd\"))"
17931 "--eval" "(asdf:load-system :cl-gamepad)"
17932 "--eval" "(quit)"))))))))
17933 (inputs
17934 `(("cffi" ,sbcl-cffi)
17935 ("documentation-utils" ,sbcl-documentation-utils)
17936 ("libevdev" ,libevdev)
17937 ("trivial-features" ,sbcl-trivial-features)))
17938 (home-page "https://shirakumo.github.io/cl-gamepad/")
17939 (synopsis "Library for access to gamepads and joystick input devices")
17940 (description
17941 "This is a library to provide cross-platform access to gamepads,
17942 joysticks, and other such HID devices.")
17943 (license license:zlib))))
17944
17945 (define-public ecl-cl-gamepad
17946 (sbcl-package->ecl-package sbcl-cl-gamepad))
17947
17948 (define-public cl-gamepad
17949 (sbcl-package->cl-source-package sbcl-cl-gamepad))
17950
17951 (define-public sbcl-trial
17952 (let ((commit "ba178cac3a5528c570c7e8dad66c58cc770db53a")
17953 (revision "1"))
17954 (package
17955 (name "sbcl-trial")
17956 (version (git-version "1.2.0" revision commit))
17957 (source
17958 (origin
17959 (method git-fetch)
17960 (uri (git-reference
17961 (url "https://github.com/Shirakumo/trial")
17962 (commit commit)))
17963 (file-name (git-file-name "trial" version))
17964 (sha256
17965 (base32 "1vpv9nrpq93fz1c5cyi1hazaaz9ijbrf1l7zwp7gammndr5v028r"))))
17966 (build-system asdf-build-system/sbcl)
17967 (native-inputs
17968 `(("trivial-features" ,sbcl-trivial-features)))
17969 (inputs
17970 `(("alexandria" ,sbcl-alexandria)
17971 ("3d-matrices" ,sbcl-3d-matrices)
17972 ("3d-vectors" ,sbcl-3d-vectors)
17973 ("bordeaux-threads" ,sbcl-bordeaux-threads)
17974 ("cl-gamepad" ,sbcl-cl-gamepad)
17975 ("cl-jpeg" ,sbcl-cl-jpeg)
17976 ("cl-opengl" ,sbcl-cl-opengl)
17977 ("cl-ppcre" ,sbcl-cl-ppcre)
17978 ("cl-tga" ,sbcl-cl-tga)
17979 ("closer-mop" ,sbcl-closer-mop)
17980 ("deploy" ,sbcl-deploy)
17981 ("fast-io" ,sbcl-fast-io)
17982 ("flare" ,sbcl-flare)
17983 ("float-features" ,sbcl-float-features)
17984 ("flow" ,sbcl-flow)
17985 ("for" ,sbcl-for)
17986 ("form-fiddle" ,sbcl-form-fiddle)
17987 ("glsl-toolkit" ,sbcl-glsl-toolkit)
17988 ("ieee-floats" ,sbcl-ieee-floats)
17989 ("jsown" ,sbcl-jsown)
17990 ("lambda-fiddle" ,sbcl-lambda-fiddle)
17991 ("lquery" ,sbcl-lquery)
17992 ("messagebox" ,sbcl-messagebox)
17993 ("mmap" ,sbcl-mmap)
17994 ("pathname-utils" ,sbcl-pathname-utils)
17995 ("pngload" ,sbcl-pngload)
17996 ("retrospectiff" ,sbcl-retrospectiff)
17997 ("static-vectors" ,sbcl-static-vectors)
17998 ("terrable" ,sbcl-terrable)
17999 ("trivial-garbage" ,sbcl-trivial-garbage)
18000 ("trivial-indent" ,sbcl-trivial-indent)
18001 ("verbose" ,sbcl-verbose)
18002 ("zpng" ,sbcl-zpng)))
18003 (home-page "https://github.com/Shirakumo/trial")
18004 (synopsis "Common Lisp game engine")
18005 (description
18006 "Trial is a game engine written in Common Lisp. Unlike many other
18007 engines, it is meant to be more of a loose connection of components that can be
18008 fit together as required by any particular game.")
18009 (license license:zlib))))
18010
18011 (define-public ecl-trial
18012 (sbcl-package->ecl-package sbcl-trial))
18013
18014 (define-public cl-trial
18015 (sbcl-package->cl-source-package sbcl-trial))
18016
18017 (define-public sbcl-org-sampler
18018 (let ((commit "ee135a417750e5b1d810bb9574eb85223cb3038a")
18019 (revision "1"))
18020 (package
18021 (name "sbcl-org-sampler")
18022 (version (git-version "0.2.1" revision commit))
18023 (source
18024 (origin
18025 (method git-fetch)
18026 (uri (git-reference
18027 (url "https://github.com/jphmrst/cl-org-sampler")
18028 (commit commit)))
18029 (file-name (git-file-name "cl-org-sampler" version))
18030 (sha256
18031 (base32 "1dg029in14928qfxvfshyxmdwhzskzhxx3na0zy98ybx69b21qla"))))
18032 (build-system asdf-build-system/sbcl)
18033 (inputs
18034 `(("iterate" ,sbcl-iterate)))
18035 (home-page "https://github.com/jphmrst/cl-org-sampler")
18036 (synopsis "Extracting Common Lisp docstrings as Emacs Org-mode documents")
18037 (description
18038 "ORG-SAMPLER allows using Lisp docstrings and reflection to make org-mode
18039 text for inclusion into a larger document.")
18040 (license license:llgpl))))
18041
18042 (define-public ecl-org-sampler
18043 (sbcl-package->ecl-package sbcl-org-sampler))
18044
18045 (define-public cl-org-sampler
18046 (sbcl-package->cl-source-package sbcl-org-sampler))
18047
18048 (define-public sbcl-acl-compat
18049 ;; There does not seem to be proper releases.
18050 (let ((commit "cac1d6920998ddcbee8310a873414732e707d8e5"))
18051 (package
18052 (name "sbcl-acl-compat")
18053 (version (git-version "0.1.1" "1" commit))
18054 (source
18055 (origin
18056 (method git-fetch)
18057 (uri (git-reference
18058 (url "git://git.code.sf.net/p/portableaserve/git")
18059 (commit commit)))
18060 (file-name (git-file-name "acl-compat" version))
18061 (sha256
18062 (base32 "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"))))
18063 (build-system asdf-build-system/sbcl)
18064 (arguments
18065 `(#:phases
18066 (modify-phases %standard-phases
18067 (add-after 'unpack 'cd-acl-compat
18068 (lambda _
18069 (chdir "acl-compat")
18070 #t)))))
18071 (inputs
18072 `(("puri" ,sbcl-puri)
18073 ("cl-ppcre" ,sbcl-cl-ppcre)
18074 ("ironclad" ,sbcl-ironclad)
18075 ("cl-fad" ,sbcl-cl-fad)))
18076 (home-page "https://sourceforge.net/projects/portableaserve/")
18077 (synopsis "AllegroServe, a web server written in Common Lisp")
18078 (description
18079 "The server part of AllegroServe can be used either as a standalone web
18080 server or a module loaded into an application to provide a user interface to
18081 the application. AllegroServe's proxy ability allows it to run on the gateway
18082 machine between some internal network and the Internet. AllegroServe's client
18083 functions allow Lisp programs to explore the web.")
18084 (license license:llgpl))))
18085
18086 (define-public cl-acl-compat
18087 (sbcl-package->cl-source-package sbcl-acl-compat))
18088
18089 (define-public sbcl-aserve
18090 ;; There does not seem to be proper releases.
18091 (let ((commit "cac1d6920998ddcbee8310a873414732e707d8e5"))
18092 (package
18093 (name "sbcl-aserve")
18094 (version (git-version "1.2.50" "1" commit))
18095 (source
18096 (origin
18097 (method git-fetch)
18098 (uri (git-reference
18099 ;; https://github.com/franzinc/aserve/ seems to be incompatible
18100 ;; with SBCL, etc.
18101 (url "git://git.code.sf.net/p/portableaserve/git")
18102 (commit commit)))
18103 (file-name (git-file-name "aserve" version))
18104 (sha256
18105 (base32 "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa"))))
18106 (build-system asdf-build-system/sbcl)
18107 (arguments
18108 `(#:phases
18109 (modify-phases %standard-phases
18110 (add-after 'unpack 'cd-aserve
18111 (lambda _
18112 (chdir "aserve")
18113 #t))
18114 (add-after 'cd-aserve 'fix-asd
18115 (lambda _
18116 (substitute* "aserve.asd"
18117 ((" :force t") ""))
18118 #t))
18119 (add-after 'cd-aserve 'fix-tests
18120 (lambda _
18121 (substitute* "test/t-aserve.cl"
18122 (("\\(asdf:oos 'asdf:load-op :ptester\\)") ""))
18123 #t)))))
18124 (inputs
18125 `(("acl-compat" ,sbcl-acl-compat)))
18126 (home-page "https://franz.com/support/documentation/current/doc/aserve/aserve.html")
18127 (synopsis "AllegroServe, a web server written in Common Lisp")
18128 (description
18129 "The server part of AllegroServe can be used either as a standalone web
18130 server or a module loaded into an application to provide a user interface to
18131 the application. AllegroServe's proxy ability allows it to run on the gateway
18132 machine between some internal network and the Internet. AllegroServe's client
18133 functions allow Lisp programs to explore the web.")
18134 (license license:llgpl))))
18135
18136 (define-public cl-aserve
18137 (sbcl-package->cl-source-package sbcl-aserve))
18138
18139 (define-public sbcl-rss
18140 ;; No release.
18141 (let ((commit "51d0145e91b86327ae5c36364f9c3048052e7a58"))
18142 (package
18143 (name "sbcl-rss")
18144 (version (git-version "0.9.1.1" "2" commit))
18145 (source
18146 (origin
18147 (method git-fetch)
18148 (uri (git-reference
18149 (url "http://git.kpe.io/cl-rss.git")
18150 (commit commit)))
18151 (file-name (git-file-name name version))
18152 (sha256
18153 (base32 "0wv3j13fj73gigriw5r9vi920hz05ld7zllsvbxdxvmyfy9k1kly"))))
18154 (build-system asdf-build-system/sbcl)
18155 (inputs
18156 `(("aserve" ,sbcl-aserve)
18157 ("kmrcl" ,sbcl-kmrcl)
18158 ("xmls" ,sbcl-xmls)))
18159 (home-page "https://github.com/nsrahmad/cl-rss")
18160 (synopsis "Common Lisp RSS processor")
18161 (description
18162 "This package provides a Common Lisp library for fetching and parsing
18163 RSS feeds data via HTTP. Currently, it supports RSS versions 0.90,
18164 0.91, and 0.92 as well as RSS version 2.")
18165 (license license:bsd-3))))
18166
18167 (define-public cl-rss
18168 (sbcl-package->cl-source-package sbcl-rss))
18169
18170 (define-public sbcl-trivial-with-current-source-form
18171 (let ((commit "9e343e043a77a5478c1f77bb626db22335fbbfb8")
18172 (revision "1"))
18173 (package
18174 (name "sbcl-trivial-with-current-source-form")
18175 (version (git-version "0.1.0" revision commit))
18176 (source
18177 (origin
18178 (method git-fetch)
18179 (uri (git-reference
18180 (url
18181 "https://github.com/scymtym/trivial-with-current-source-form")
18182 (commit commit)))
18183 (file-name (git-file-name "trivial-with-current-source-form" version))
18184 (sha256
18185 (base32 "15zs7mc422ycp1cvcxmirif1dq15mlmv8vzd6l6nzn4qgmph9wz0"))))
18186 (build-system asdf-build-system/sbcl)
18187 (inputs
18188 `(("alexandria" ,sbcl-alexandria)))
18189 (home-page "https://github.com/scymtym/trivial-with-current-source-form")
18190 (synopsis "Help producing better errors for macro users")
18191 (description
18192 "This library allows macro writers to provide better feedback to macro
18193 users when errors are signaled during macroexpansion. It uses the compiler's
18194 concept of a source-form to report where the error or warning is located.")
18195 (license license:lgpl3))))
18196
18197 (define-public ecl-trivial-with-current-source-form
18198 ;; Trivial-with-current-source-form does not give any benefits on ECL.
18199 ;; This package is so packages dependent on trivial-with-current-source-form
18200 ;; can be loaded on ECL.
18201 (sbcl-package->ecl-package sbcl-trivial-with-current-source-form))
18202
18203 (define-public cl-trivial-with-current-source-form
18204 (sbcl-package->cl-source-package sbcl-trivial-with-current-source-form))
18205
18206 (define-public sbcl-tailrec
18207 (let ((commit "a7cf91ef7bd73c118e96817e809a7ae587d4673f")
18208 (revision "1"))
18209 (package
18210 (name "sbcl-tailrec")
18211 (version (git-version "0" revision commit))
18212 (source
18213 (origin
18214 (method git-fetch)
18215 (uri (git-reference
18216 (url "https://github.com/charje/tailrec")
18217 (commit commit)))
18218 (file-name (git-file-name name version))
18219 (sha256
18220 (base32 "0a25xa2kqai480micv8ap5bg4pz1dg7q3lz61g1ygim96cdjpwhl"))))
18221 (build-system asdf-build-system/sbcl)
18222 (inputs
18223 `(("alexandia" ,sbcl-alexandria)
18224 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)
18225 ("trivial-with-current-source-form"
18226 ,sbcl-trivial-with-current-source-form)))
18227 (home-page "https://github.com/charje/tailrec")
18228 (synopsis "Macro to optimize a Common Lisp function for tail recursion")
18229 (description "Just wrap your Common Lisp function in this macro call and
18230 it will be optimized for tail recursion. You will be warned if the function
18231 is not tail recursive.")
18232 (license license:llgpl))))
18233
18234 (define-public ecl-tailrec
18235 (sbcl-package->ecl-package sbcl-tailrec))
18236
18237 (define-public cl-tailrec
18238 (sbcl-package->cl-source-package sbcl-tailrec))
18239
18240 (define-public sbcl-issr-core
18241 (let ((commit "64e3b07a63a7ca3ad70ba42474f98ac4513580aa")
18242 (revision "1"))
18243 (package
18244 (name "sbcl-issr-core")
18245 (version (git-version "0.1" revision commit))
18246 (source
18247 (origin
18248 (method git-fetch)
18249 (uri (git-reference
18250 (url "https://github.com/interactive-ssr/core")
18251 (commit commit)))
18252 (file-name (git-file-name "issr-core" version))
18253 (sha256
18254 (base32 "1bajb09crzadkirdpd6jrpcc55irjd4sxzavygr25l85pafyhniw"))))
18255 (build-system asdf-build-system/sbcl)
18256 (inputs
18257 `(("cl-str" ,sbcl-cl-str)
18258 ("global-vars" ,sbcl-global-vars)
18259 ("plump" ,sbcl-plump)
18260 ("tailrec" ,sbcl-tailrec)))
18261 (home-page
18262 "https://github.com/interactive-ssr/client/blob/master/main.org")
18263 (synopsis "The core functionality for ISSR server modules")
18264 (description
18265 "ISSR core provides functions and variables for ISSR server modules so
18266 that different servers can behave similarly. The most important features are
18267 Document Object Model differencing to generate instructions to update a DOM,
18268 and DOM cleaning, to ensure that all remote DOMs are the same.")
18269 (license license:llgpl))))
18270
18271 (define-public ecl-issr-core
18272 (sbcl-package->ecl-package sbcl-issr-core))
18273
18274 (define-public cl-issr-core
18275 (sbcl-package->cl-source-package sbcl-issr-core))
18276
18277 (define-public sbcl-portal
18278 (let ((commit "cc7ba6a54cea6ef63b17dcc6e653d91d9907f59e")
18279 (revision "1"))
18280 (package
18281 (name "sbcl-portal")
18282 (version (git-version "1" revision commit))
18283 (source
18284 (origin
18285 (method git-fetch)
18286 (uri (git-reference
18287 (url "https://github.com/charJe/portal")
18288 (commit commit)))
18289 (file-name (git-file-name "portal" version))
18290 (sha256
18291 (base32 "0fc81iwb4lpp8d2scdwafkixxwkfmq4gqns522zyb4bh6c1rfmwy"))))
18292 (build-system asdf-build-system/sbcl)
18293 (inputs
18294 `(("alexandria" ,sbcl-alexandria)
18295 ("arrows" ,sbcl-arrows)
18296 ("cl-base64" ,sbcl-cl-base64)
18297 ("cl-str" ,sbcl-cl-str)
18298 ("flexi-streams" ,sbcl-flexi-streams)
18299 ("global-vars" ,sbcl-global-vars)
18300 ("ironclad" ,sbcl-ironclad)
18301 ("parse-float" ,sbcl-parse-float)
18302 ("usocket" ,sbcl-usocket)))
18303 (home-page "https://github.com/charJe/portal")
18304 (synopsis "Portable Websocket Server for Common Lisp")
18305 (description
18306 "This is a websocket server for Common Lisp using usockets to be
18307 portable between implementations and operating systems. It has a programming
18308 interface that allows for multiple websocket apps per server using Common Lisp
18309 keywords for different websocket events. It has useful restarts and
18310 customizable errors.")
18311 (license license:llgpl))))
18312
18313 (define-public ecl-portal
18314 (sbcl-package->ecl-package sbcl-portal))
18315
18316 (define-public cl-portal
18317 (sbcl-package->cl-source-package sbcl-portal))
18318
18319 (define-public sbcl-hunchenissr
18320 (let ((commit "7df702f2e110999a2f31c7ebad81bfc39ac06670")
18321 (revision "1"))
18322 (package
18323 (name "sbcl-hunchenissr")
18324 (version (git-version "1" revision commit))
18325 (source
18326 (origin
18327 (method git-fetch)
18328 (uri (git-reference
18329 (url "https://github.com/interactive-ssr/hunchenissr")
18330 (commit commit)))
18331 (file-name (git-file-name "hunchenissr" version))
18332 (sha256
18333 (base32 "0826qrvk64pjspdklns29dv3zhzfhd6k42fq030xajv8a7hkcxda"))))
18334 (build-system asdf-build-system/sbcl)
18335 (inputs
18336 `(("cl-base64" ,sbcl-cl-base64)
18337 ("cl-str" ,sbcl-cl-str)
18338 ("hunchentoot" ,sbcl-hunchentoot)
18339 ("issr-core" ,sbcl-issr-core)
18340 ("jonathan" ,sbcl-jonathan)
18341 ("plump" ,sbcl-plump)
18342 ("portal" ,sbcl-portal)))
18343 (home-page "https://github.com/interactive-ssr/hunchenissr")
18344 (synopsis "Interactive Server Side Rendering backend for Hunchentoot")
18345 (description
18346 "Hunchenissr works together with issr.js for the develpment of
18347 interactive (changing without page refreshes) websites making use of websocket
18348 and Common Lisp server HTML generation instead of mountains of convoluted
18349 Javascript.")
18350 (license license:llgpl))))
18351
18352 (define-public ecl-hunchenissr
18353 (sbcl-package->ecl-package sbcl-hunchenissr))
18354
18355 (define-public cl-hunchenissr
18356 (sbcl-package->cl-source-package sbcl-hunchenissr))
18357