summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r--gnu/packages/lisp.scm1570
1 files changed, 1509 insertions, 61 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 87dcf36372..4eeb801c70 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -12,6 +12,8 @@
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com>
+;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,6 +67,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xorg)
#:use-module (gnu packages databases)
@@ -318,14 +321,14 @@ an interpreter, a compiler, a debugger, and much more.")
(define-public sbcl
(package
(name "sbcl")
- (version "1.4.16")
+ (version "1.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
version "-source.tar.bz2"))
(sha256
- (base32 "1myg4wkxnbfn5nz38xy62r1jhjy07x3h0b04vg858n41chdsv4wd"))
+ (base32 "08z62qba0kmm15k93s2rq7ipi769895g8iwigcp20qjh6amwnwph"))
(modules '((guix build utils)))
(snippet
;; Add sbcl-bundle-systems to 'default-system-source-registry'.
@@ -689,13 +692,13 @@ portable between implementations.")
(version "1.2")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/sionescu/fiveam/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sionescu/fiveam.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "fiveam" version))
(sha256
- (base32 "0f48pcbhqs3wwwzjl5nk57d4hcbib4l9xblxc66b8c2fhvhmhxnv"))
- (file-name (string-append "fiveam-" version ".tar.gz"))))
+ (base32 "1yx9716mk8pq9076q6cjx4c9lyax3amiccy37sh0913k2x8gsm4l"))))
(inputs `(("alexandria" ,sbcl-alexandria)))
(build-system asdf-build-system/sbcl)
(synopsis "Common Lisp testing framework")
@@ -712,18 +715,18 @@ interactive development model in mind.")
(sbcl-package->ecl-package sbcl-fiveam))
(define-public sbcl-bordeaux-threads
- (let ((commit "354abb0ae9f1d9324001e1a8abab3128d7420e0e")
+ (let ((commit "5dce49fbc829f4d136a734f5ef4f5d599660984f")
(revision "1"))
(package
(name "sbcl-bordeaux-threads")
- (version (git-version "0.8.5" revision commit))
+ (version (git-version "0.8.6" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sionescu/bordeaux-threads.git")
(commit commit)))
(sha256
- (base32 "1hcfp21l6av1xj6z7r77sp6h4mwf9vvx4s745803sysq2qy2mwnq"))
+ (base32 "1gkh9rz7zw57n3110ikcf4835950wr4hgp8l79id5ai6nd86x7wv"))
(file-name
(git-file-name "bordeaux-threads" version))))
(inputs `(("alexandria" ,sbcl-alexandria)))
@@ -816,14 +819,21 @@ logical continuation of Stefil. It focuses on interactive debugging.")
(version "1.0.16")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/edicl/flexi-streams/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edicl/flexi-streams.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "flexi-streams" version))
(sha256
- (base32 "1fb0jrwxr5c3i2lhy7kn30m1n0vggfzwjm1dacx6y5wf9wfsbamw"))
- (file-name (string-append "flexi-streams-" version ".tar.gz"))))
+ (base32 "0gvykjlmja060zqq6nn6aqxlshh6r6ijahmmgf20q0d839rwpgxc"))))
(build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'make-git-checkout-writable
+ (lambda _
+ (for-each make-file-writable (find-files "."))
+ #t)))))
(inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
(synopsis "Implementation of virtual bivalent streams for Common Lisp")
(description "Flexi-streams is an implementation of \"virtual\" bivalent
@@ -846,13 +856,13 @@ streams which are similar to string streams.")
(version "2.0.11")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/edicl/cl-ppcre/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edicl/cl-ppcre.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "cl-ppcre" version))
(sha256
- (base32 "1i7daxf0wnydb0pgwiym7qh2wy70n14lxd6dyv28sy0naa8p31gd"))
- (file-name (string-append "cl-ppcre-" version ".tar.gz"))))
+ (base32 "0q3iany07vgqm144lw6pj0af2d3vsikpbkwcxr30fci3kzsq4f49"))))
(build-system asdf-build-system/sbcl)
(native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
(synopsis "Portable regular expression library for Common Lisp")
@@ -971,18 +981,19 @@ from other CLXes around the net.")
(package
(name "stumpwm")
(version "18.11")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/stumpwm/stumpwm/archive/"
- version ".tar.gz"))
- (sha256
- (base32 "177gxfk4c127i9crghx6fmkipznhgylvzgnjb2pna38g21gg6s39"))
- (file-name (string-append "stumpwm-" version ".tar.gz"))
- (patches
- ;; This patch is included in the post-18.11 git master tree
- ;; and can be removed when we move to the next release.
- (search-patches "stumpwm-fix-broken-read-one-line.patch"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stumpwm/stumpwm.git")
+ (commit version)))
+ (file-name (git-file-name "stumpwm" version))
+ (sha256
+ (base32 "003g1fmh7446ws49866kzny4lrk1wf034dq5fa4m9mq1nzc7cwv7"))
+ (patches
+ ;; This patch is included in the post-18.11 git master tree
+ ;; and can be removed when we move to the next release.
+ (search-patches "stumpwm-fix-broken-read-one-line.patch"))))
(build-system asdf-build-system/sbcl)
(native-inputs `(("fiasco" ,sbcl-fiasco)
("texinfo" ,texinfo)))
@@ -1467,7 +1478,7 @@ compressor. It works on data produced by @code{parse-js} to generate a
@item reduce variable names (usually to single letters)
@item join consecutive @code{var} statements
@item resolve simple binary expressions
-@item group most consecutive statements using the ``sequence'' operator (comma)
+@item group most consecutive statements using the @code{sequence} operator (comma)
@item remove unnecessary blocks
@item convert @code{IF} expressions in various ways that result in smaller code
@item remove some unreachable code
@@ -1602,13 +1613,13 @@ utilities that make it even easier to manipulate text in Common Lisp. It has
(version "0.8")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/trivial-features/trivial-features/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/trivial-features/trivial-features.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "trivial-features" version))
(sha256
- (base32 "0db1awn6jyhcfhyfvpjvfziprmq85cigf19mwbvaprhblydsag3c"))
- (file-name (string-append "trivial-features-" version ".tar.gz"))))
+ (base32 "0ccv7dqyrk55xga78i5vzlic7mdwp28in3g1a8fqhlk6626scsq9"))))
(build-system asdf-build-system/sbcl)
(arguments '(#:tests? #f))
(home-page "http://cliki.net/trivial-features")
@@ -1689,13 +1700,13 @@ with a focus on interactive development.")
(version "0.5.0")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/cl-babel/babel/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cl-babel/babel.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "babel" version))
(sha256
- (base32 "189kgbmslh36xx0d2i1g6a7mcvjryvjzkdlnhilqy5xs7hkyqirq"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (base32 "139a8rn2gnhj082n8jg01gc8fyr63hkj57hgrnmb3d1r327yc77f"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
@@ -2554,8 +2565,7 @@ which causes everything printed in the body to be displayed with the provided
color. It further provides functions which will print the argument with the
named color.")
(home-page "https://github.com/pnathan/cl-ansi-text")
- ;; REVIEW: The actual license is LLGPL. Should we add it to Guix?
- (license license:lgpl3+))))
+ (license license:llgpl))))
(define-public cl-ansi-text
(sbcl-package->cl-source-package sbcl-cl-ansi-text))
@@ -2970,12 +2980,13 @@ non-consing thread safe queues and fibonacci priority queues.")
(version "0.19.0")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/cffi/cffi/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cffi/cffi.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "cffi-bootstrap" version))
(sha256
- (base32 "07bc3c1fbfx17wgrvx6bh9byilfzfwv5n597cfdllm0vzwvbmiyk"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (base32 "09sfgc6r7ihmbkwfpvkq5fxc7h45cabpvgbvs47i5cvnmv3k72xy"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("libffi" ,libffi)
@@ -3234,13 +3245,13 @@ precisely control behavior of the parser via Common Lisp restarts.")
(version "0.21")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/trivial-garbage/trivial-garbage/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/trivial-garbage/trivial-garbage.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "trivial-garbage" version))
(sha256
- (base32 "0b244nlszkrqawsnp568clnx32xmvjmbbagbz7625w9n0yq7396y"))
- (file-name (string-append "trivial-garbage-" version ".tar.gz"))))
+ (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("rt" ,sbcl-rt)))
@@ -3840,3 +3851,1440 @@ client and server.")
(define-public ecl-trivial-clipboard
(sbcl-package->ecl-package sbcl-trivial-clipboard))
+
+(define-public sbcl-trivial-backtrace
+ (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
+ (revision "1"))
+ (package
+ (name "sbcl-trivial-backtrace")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gwkkwg/trivial-backtrace.git")
+ (commit commit)))
+ (file-name (git-file-name "trivial-backtrace" version))
+ (sha256
+ (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("sbcl-lift" ,sbcl-lift)))
+ (home-page "https://common-lisp.net/project/trivial-backtrace/")
+ (synopsis "Portable simple API to work with backtraces in Common Lisp")
+ (description
+ "On of the many things that didn't quite get into the Common Lisp
+standard was how to get a Lisp to output its call stack when something has
+gone wrong. As such, each Lisp has developed its own notion of what to
+display, how to display it, and what sort of arguments can be used to
+customize it. @code{trivial-backtrace} is a simple solution to generating a
+backtrace portably.")
+ (license license:expat))))
+
+(define-public cl-trivial-backtrace
+ (sbcl-package->cl-source-package sbcl-trivial-backtrace))
+
+(define-public sbcl-rfc2388
+ (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
+ (revision "1"))
+ (package
+ (name "sbcl-rfc2388")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jdz/rfc2388.git")
+ (commit commit)))
+ (file-name (git-file-name "rfc2388" version))
+ (sha256
+ (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/jdz/rfc2388/")
+ (synopsis "An implementation of RFC 2388 in Common Lisp")
+ (description
+ "This package contains an implementation of RFC 2388, which is used to
+process form data posted with HTTP POST method using enctype
+\"multipart/form-data\".")
+ (license license:bsd-2))))
+
+(define-public cl-rfc2388
+ (sbcl-package->cl-source-package sbcl-rfc2388))
+
+(define-public sbcl-md5
+ (package
+ (name "sbcl-md5")
+ (version "2.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
+ (sha256
+ (base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/pmai/md5")
+ (synopsis
+ "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
+ (description
+ "This package implements The MD5 Message-Digest Algorithm, as defined in
+RFC 1321 by R. Rivest, published April 1992.")
+ (license license:public-domain)))
+
+(define-public cl-md5
+ (sbcl-package->cl-source-package sbcl-md5))
+
+(define-public sbcl-cl+ssl
+ (let ((commit "b81c1135cf5700e870ce2573d5035d249e491788")
+ (revision "1"))
+ (package
+ (name "sbcl-cl+ssl")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cl-plus-ssl/cl-plus-ssl.git")
+ (commit commit)))
+ (file-name (git-file-name "cl+ssl" version))
+ (sha256
+ (base32 "1845i1pafmqb6cdlr53yaqy67kjrhkvbx6c37ca15cw70vhdr3z9"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/reload.lisp"
+ (("libssl.so" all)
+ (string-append
+ (assoc-ref inputs "openssl") "/lib/" all))))))))
+ (inputs
+ `(("openssl" ,openssl)
+ ("sbcl-cffi" ,sbcl-cffi)
+ ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
+ ("sbcl-flexi-streams" ,sbcl-flexi-streams)
+ ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
+ (home-page "http://common-lisp.net/project/cl-plus-ssl/")
+ (synopsis "Common Lisp bindings to OpenSSL")
+ (description
+ "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
+code was written by Eric Marsden and includes contributions by Jochen Schmidt.
+Development into CL+SSL was done by David Lichteblau.")
+ (license license:expat))))
+
+(define-public cl-cl+ssl
+ (sbcl-package->cl-source-package sbcl-cl+ssl))
+
+(define-public sbcl-kmrcl
+ (let ((version "1.109.0")
+ (commit "5260068b2eb735af6796740c2db4955afac21636")
+ (revision "1"))
+ (package
+ (name "sbcl-kmrcl")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://git.kpe.io/kmrcl.git/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
+ ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
+ '(#:tests? #f))
+ (inputs
+ `(("sbcl-rt" ,sbcl-rt)))
+ (home-page "http://files.kpe.io/kmrcl/")
+ (synopsis "General utilities for Common Lisp programs")
+ (description
+ "KMRCL is a collection of utilities used by a number of Kevin
+Rosenberg's CL packages.")
+ (license license:llgpl))))
+
+(define-public cl-kmrcl
+ (sbcl-package->cl-source-package sbcl-kmrcl))
+
+(define-public sbcl-cl-base64
+ (let ((version "3.3.3"))
+ (package
+ (name "sbcl-cl-base64")
+ (version version)
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://git.kpe.io/cl-base64.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "cl-base64" version))
+ (sha256
+ (base32 "1dw6j7n6gsd2qa0p0rbsjxj00acxx3i9ca1qkgl0liy8lpnwkypl"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
+ ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
+ ;; to toplevel
+ '(#:tests? #f))
+ (inputs
+ `(("sbcl-ptester" ,sbcl-ptester)
+ ("sbcl-kmrcl" ,sbcl-kmrcl)))
+ (home-page "http://files.kpe.io/cl-base64/")
+ (synopsis
+ "Common Lisp package to encode and decode base64 with URI support")
+ (description
+ "This package provides highly optimized base64 encoding and decoding.
+Besides conversion to and from strings, integer conversions are supported.
+Encoding with Uniform Resource Identifiers is supported by using a modified
+encoding table that uses only URI-compatible characters.")
+ (license license:bsd-3))))
+
+(define-public cl-base64
+ (sbcl-package->cl-source-package sbcl-cl-base64))
+
+(define-public sbcl-chunga
+ (package
+ (name "sbcl-chunga")
+ (version "1.1.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/edicl/chunga/archive/v" version ".tar.gz"))
+ (sha256
+ (base32 "0ra17kyc9l7qbaw003ly111r1cbn4zixbfq1ydr9cxw10v30q1n7"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+ (home-page "https://edicl.github.io/chunga/")
+ (synopsis "Portable chunked streams for Common Lisp")
+ (description
+ "Chunga implements streams capable of chunked encoding on demand as
+defined in RFC 2616.")
+ (license license:bsd-2)))
+
+(define-public cl-chunga
+ (sbcl-package->cl-source-package sbcl-chunga))
+
+(define-public sbcl-cl-who
+ (let ((version "1.1.4")
+ (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-who")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edicl/cl-who.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
+ (home-page "https://edicl.github.io/cl-who/")
+ (synopsis "Yet another Lisp markup language")
+ (description
+ "There are plenty of Lisp Markup Languages out there - every Lisp
+programmer seems to write at least one during his career - and CL-WHO (where
+WHO means \"with-html-output\" for want of a better acronym) is probably just
+as good or bad as the next one.")
+ (license license:bsd-2))))
+
+(define-public cl-cl-who
+ (sbcl-package->cl-source-package sbcl-cl-who))
+
+(define-public sbcl-chipz
+ (let ((version "0.8")
+ (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
+ (revision "1"))
+ (package
+ (name "sbcl-chipz")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/froydnj/chipz.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
+ (home-page "http://method-combination.net/lisp/chipz/")
+ (synopsis
+ "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
+data")
+ (description
+ "DEFLATE data, defined in RFC1951, forms the core of popular
+compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
+Chipz also provides for decompressing data in those formats as well. BZIP2 is
+the format used by the popular compression tool bzip2.")
+ ;; The author describes it as "MIT-like"
+ (license license:expat))))
+
+(define-public cl-chipz
+ (sbcl-package->cl-source-package sbcl-chipz))
+
+(define-public sbcl-drakma
+ (let ((version "2.0.4")
+ (commit "7647c0ae842ff2058624e53979c7f297760c97a7")
+ (revision "1"))
+ (package
+ (name "sbcl-drakma")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edicl/drakma.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1c4i9wakhj5pxfyyykxshdmv3180sbkrx6fcyynikmc0jd0rh84r"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("sbcl-puri" ,sbcl-puri)
+ ("sbcl-cl-base64" ,sbcl-cl-base64)
+ ("sbcl-chunga" ,sbcl-chunga)
+ ("sbcl-flexi-streams" ,sbcl-flexi-streams)
+ ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
+ ("sbcl-chipz" ,sbcl-chipz)
+ ("sbcl-usocket" ,sbcl-usocket)
+ ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
+ (native-inputs
+ `(("sbcl-fiveam" ,sbcl-fiveam)))
+ (home-page "https://edicl.github.io/drakma/")
+ (synopsis "HTTP client written in Common Lisp")
+ (description
+ "Drakma is a full-featured HTTP client implemented in Common Lisp. It
+knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
+sockets, SSL, continuable uploads, file uploads, cookies, and more.")
+ (license license:bsd-2))))
+
+(define-public cl-drakma
+ (sbcl-package->cl-source-package sbcl-drakma))
+
+(define-public sbcl-hunchentoot
+ (package
+ (name "sbcl-hunchentoot")
+ (version "1.2.38")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edicl/hunchentoot.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "hunchentoot" version))
+ (sha256
+ (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("sbcl-cl-who" ,sbcl-cl-who)
+ ("sbcl-drakma" ,sbcl-drakma)))
+ (inputs
+ `(("sbcl-chunga" ,sbcl-chunga)
+ ("sbcl-cl-base64" ,sbcl-cl-base64)
+ ("sbcl-cl-fad" ,sbcl-cl-fad)
+ ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
+ ("sbcl-flexi-streams" ,sbcl-flexi-streams)
+ ("sbcl-cl+ssl" ,sbcl-cl+ssl)
+ ("sbcl-md5" ,sbcl-md5)
+ ("sbcl-rfc2388" ,sbcl-rfc2388)
+ ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
+ ("sbcl-usocket" ,sbcl-usocket)))
+ (home-page "https://edicl.github.io/hunchentoot/")
+ (synopsis "Web server written in Common Lisp")
+ (description
+ "Hunchentoot is a web server written in Common Lisp and at the same
+time a toolkit for building dynamic websites. As a stand-alone web server,
+Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
+connections (keep-alive), and SSL.")
+ (license license:bsd-2)))
+
+(define-public cl-hunchentoot
+ (sbcl-package->cl-source-package sbcl-hunchentoot))
+
+(define-public sbcl-trivial-types
+ (package
+ (name "sbcl-trivial-types")
+ (version "0.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/m2ym/trivial-types.git")
+ (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/m2ym/trivial-types")
+ (synopsis "Trivial type definitions for Common Lisp")
+ (description
+ "TRIVIAL-TYPES provides missing but important type definitions such as
+PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
+ (license license:llgpl)))
+
+(define-public cl-trivial-types
+ (sbcl-package->cl-source-package sbcl-trivial-types))
+
+(define-public sbcl-cl-syntax
+ (package
+ (name "sbcl-cl-syntax")
+ (version "0.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/m2ym/cl-syntax.git")
+ (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
+ (file-name (git-file-name "cl-syntax" version))
+ (sha256
+ (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "cl-syntax.asd"
+ #:asd-system-name "cl-syntax"))
+ (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
+ ("sbcl-named-readtables" ,sbcl-named-readtables)))
+ (home-page "https://github.com/m2ym/cl-syntax")
+ (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
+ (description
+ "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
+ (license license:llgpl)))
+
+(define-public cl-syntax
+ (sbcl-package->cl-source-package sbcl-cl-syntax))
+
+(define-public sbcl-cl-annot
+ (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-annot")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/m2ym/cl-annot.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "cl-annot.asd"
+ #:asd-system-name "cl-annot"))
+ (inputs
+ `(("sbcl-alexandria" ,sbcl-alexandria)))
+ (home-page "https://github.com/m2ym/cl-annot")
+ (synopsis "Python-like Annotation Syntax for Common Lisp.")
+ (description
+ "@code{cl-annot} is an general annotation library for Common Lisp.")
+ (license license:llgpl))))
+
+(define-public cl-annot
+ (sbcl-package->cl-source-package sbcl-cl-annot))
+
+(define-public sbcl-cl-syntax-annot
+ (package
+ (name "sbcl-cl-syntax-annot")
+ (version "0.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/m2ym/cl-syntax.git")
+ (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "cl-syntax-annot.asd"
+ #:asd-system-name "cl-syntax-annot"))
+ (inputs
+ `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
+ ("sbcl-cl-annot" ,sbcl-cl-annot)))
+ (home-page "https://github.com/m2ym/cl-syntax")
+ (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
+ (description
+ "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and
+SLIME.")
+ (license license:llgpl)))
+
+(define-public cl-syntax-annot
+ (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
+
+(define-public sbcl-cl-utilities
+ (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-utilities")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
+ "archive/" commit "/cl-utilities-" commit ".tar.gz"))
+ (sha256
+ (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "cl-utilities.asd"
+ #:asd-system-name "cl-utilities"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "rotate-byte.lisp"
+ (("in-package :cl-utilities)" all)
+ "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
+ (home-page "http://common-lisp.net/project/cl-utilities")
+ (synopsis "A collection of semi-standard utilities")
+ (description
+ "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
+is a collection of Common Lisp Utilities, things that everybody writes since
+they're not part of the official standard. There are some very useful things
+there; the only problems are that they aren't implemented as well as you'd
+like (some aren't implemented at all) and they aren't conveniently packaged
+and maintained. It takes quite a bit of work to carefully implement utilities
+for common use, commented and documented, with error checking placed
+everywhere some dumb user might make a mistake.")
+ (license license:public-domain))))
+
+(define-public cl-utilities
+ (sbcl-package->cl-source-package sbcl-cl-utilities))
+
+(define-public sbcl-map-set
+ (let ((commit "7b4b545b68b8")
+ (revision "1"))
+ (package
+ (name "sbcl-map-set")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://bitbucket.org/tarballs_are_good/map-set/get/"
+ commit ".tar.gz"))
+ (sha256
+ (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://bitbucket.org/tarballs_are_good/map-set")
+ (synopsis "Set-like data structure")
+ (description
+ "Implementation of a set-like data structure with constant time
+addition, removal, and random selection.")
+ (license license:bsd-3))))
+
+(define-public cl-map-set
+ (sbcl-package->cl-source-package sbcl-map-set))
+
+(define-public sbcl-quri
+ (let ((commit "76b75103f21ead092c9f715512fa82441ef61185")
+ (revision "1"))
+ (package
+ (name "sbcl-quri")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/quri.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ccbxsgzdibmzq33mmbmmz9vwl6l03xh6nbpsh1hkdvdcl7q0a60"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
+ ;; required by #<SYSTEM "quri">. Why?
+ '(#:tests? #f))
+ (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+ ("sbcl-prove" ,sbcl-prove)))
+ (inputs `(("sbcl-babel" ,sbcl-babel)
+ ("sbcl-split-sequence" ,sbcl-split-sequence)
+ ("sbcl-cl-utilities" ,sbcl-cl-utilities)
+ ("sbcl-alexandria" ,sbcl-alexandria)))
+ (home-page "https://github.com/fukamachi/quri")
+ (synopsis "Yet another URI library for Common Lisp")
+ (description
+ "QURI (pronounced \"Q-ree\") is yet another URI library for Common
+Lisp. It is intended to be a replacement of PURI.")
+ (license license:bsd-3))))
+
+(define-public cl-quri
+ (sbcl-package->cl-source-package sbcl-quri))
+
+(define-public sbcl-myway
+ (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
+ (revision "1"))
+ (package
+ (name "sbcl-myway")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/myway.git")
+ (commit commit)))
+ (file-name (git-file-name "myway" version))
+ (sha256
+ (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
+ ;; by #<SYSTEM "myway">. Why?
+ '(#:tests? #f))
+ (native-inputs
+ `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+ ("sbcl-prove" ,sbcl-prove)))
+ (inputs
+ `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
+ ("sbcl-quri" ,sbcl-quri)
+ ("sbcl-map-set" ,sbcl-map-set)))
+ (home-page "https://github.com/fukamachi/myway")
+ (synopsis "Sinatra-compatible URL routing library for Common Lisp")
+ (description "My Way is a Sinatra-compatible URL routing library.")
+ (license license:llgpl))))
+
+(define-public cl-myway
+ (sbcl-package->cl-source-package sbcl-myway))
+
+(define-public sbcl-xsubseq
+ (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
+ (revision "1"))
+ (package
+ (name "sbcl-xsubseq")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/xsubseq")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
+ ;; required by #<SYSTEM "xsubseq">. Why?
+ '(#:tests? #f))
+ (native-inputs
+ `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+ ("sbcl-prove" ,sbcl-prove)))
+ (home-page "https://github.com/fukamachi/xsubseq")
+ (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
+ (description
+ "XSubseq provides functions to be able to handle \"subseq\"s more
+effieiently.")
+ (license license:bsd-2))))
+
+(define-public cl-xsubseq
+ (sbcl-package->cl-source-package sbcl-xsubseq))
+
+(define-public sbcl-smart-buffer
+ (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
+ (revision "1"))
+ (package
+ (name "sbcl-smart-buffer")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/smart-buffer")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
+ ;; found, required by #<SYSTEM "smart-buffer">. Why?
+ `(#:tests? #f))
+ (native-inputs
+ `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+ ("sbcl-prove" ,sbcl-prove)))
+ (inputs
+ `(("sbcl-xsubseq" ,sbcl-xsubseq)
+ ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
+ (home-page "https://github.com/fukamachi/smart-buffer")
+ (synopsis "Smart octets buffer")
+ (description
+ "Smart-buffer provides an output buffer which changes the destination
+depending on content size.")
+ (license license:bsd-3))))
+
+(define-public cl-smart-buffer
+ (sbcl-package->cl-source-package sbcl-smart-buffer))
+
+(define-public sbcl-fast-http
+ (let ((commit "f9e7597191bae380503e20724fd493a24d024935")
+ (revision "1"))
+ (package
+ (name "sbcl-fast-http")
+ (version (git-version "0.2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/fast-http")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qdmwv2zm0sizxdb8nnclgwl0nfjcbjaimbakavikijw7lr9b4jp"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
+ ;; required by #<SYSTEM "fast-http">. Why?
+ `(#:tests? #f))
+ (native-inputs
+ `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+ ("sbcl-prove" ,sbcl-prove)))
+ (inputs
+ `(("sbcl-alexandria" ,sbcl-alexandria)
+ ("sbcl-proc-parse" ,sbcl-proc-parse)
+ ("sbcl-xsubseq" ,sbcl-xsubseq)
+ ("sbcl-smart-buffer" ,sbcl-smart-buffer)
+ ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
+ (home-page "https://github.com/fukamachi/fast-http")
+ (synopsis "HTTP request/response parser for Common Lisp")
+ (description
+ "@code{fast-http} is a HTTP request/response protocol parser for Common
+Lisp.")
+ ;; Author specified the MIT license
+ (license license:expat))))
+
+(define-public cl-fast-http
+ (sbcl-package->cl-source-package sbcl-fast-http))
+
+(define-public sbcl-static-vectors
+ (let ((commit "0681eac1f49370cde03e64b077251e8abf47d702")
+ (revision "1"))
+ (package
+ (name "sbcl-static-vectors")
+ (version (git-version "1.8.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sionescu/static-vectors.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "138nlsq14hv8785ycjm6jw3i6ablhq8vcwys7q09y80arcgrg6r3"))))
+ (native-inputs
+ `(("sbcl-fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
+ ("sbcl-cffi" ,sbcl-cffi)))
+ (build-system asdf-build-system/sbcl)
+ (home-page "http://common-lisp.net/projects/iolib/")
+ (synopsis "Allocate SIMPLE-ARRAYs in static memory")
+ (description
+ "With @code{static-vectors}, you can create vectors allocated in static
+memory.")
+ (license license:expat))))
+
+(define-public cl-static-vectors
+ (sbcl-package->cl-source-package sbcl-static-vectors))
+
+(define-public sbcl-marshal
+ (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
+ (revision "1"))
+ (package
+ (name "sbcl-marshal")
+ (version (git-version "1.3.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wlbr/cl-marshal.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/wlbr/cl-marshal")
+ (synopsis "Simple (de)serialization of Lisp datastructures")
+ (description
+ "Simple and fast marshalling of Lisp datastructures. Convert any object
+into a string representation, put it on a stream an revive it from there.
+Only minimal changes required to make your CLOS objects serializable.")
+ (license license:expat))))
+
+(define-public cl-marshal
+ (sbcl-package->cl-source-package sbcl-marshal))
+
+(define-public sbcl-checkl
+ (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
+ (revision "1"))
+ (package
+ (name "sbcl-checkl")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rpav/CheckL.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; Error while trying to load definition for system checkl-test from
+ ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
+ ;; is undefined.
+ '(#:tests? #f))
+ (native-inputs
+ `(("sbcl-fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("sbcl-marshal" ,sbcl-marshal)))
+ (home-page "https://github.com/rpav/CheckL/")
+ (synopsis "Dynamic testing for Common Lisp")
+ (description
+ "CheckL lets you write tests dynamically, it checks resulting values
+against the last run.")
+ ;; The author specifies both LLGPL and "BSD", but the "BSD" license
+ ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
+ ;; stronger of the two and so I think only listing this should suffice.
+ (license license:llgpl))))
+
+(define-public cl-checkl
+ (sbcl-package->cl-source-package sbcl-checkl))
+
+(define-public sbcl-fast-io
+ (let ((commit "dc3a71db7e9b756a88781ae9c342fe9d4bbab51c")
+ (revision "1"))
+ (package
+ (name "sbcl-fast-io")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rpav/fast-io.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jsp6xvi26ln6fdy5j5zi05xvan8jsqdhisv552dy6xg6ws8i1yq"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; Error while trying to load definition for system fast-io-test from
+ ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
+ ;; is undefined.
+ '(#:tests? #f))
+ (native-inputs
+ `(("sbcl-fiveam" ,sbcl-fiveam)
+ ("sbcl-checkl" ,sbcl-checkl)))
+ (inputs
+ `(("sbcl-alexandria" ,sbcl-alexandria)
+ ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
+ ("sbcl-static-vectors" ,sbcl-static-vectors)))
+ (home-page "https://github.com/rpav/fast-io")
+ (synopsis "Fast octet-vector/stream I/O for Common Lisp")
+ (description
+ "Fast-io is about improving performance to octet-vectors and octet
+streams (though primarily the former, while wrapping the latter).")
+ ;; Author specifies this as NewBSD which is an alias
+ (license license:bsd-3))))
+
+(define-public cl-fast-io
+ (sbcl-package->cl-source-package sbcl-fast-io))
+
+(define-public sbcl-jonathan
+ (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
+ (revision "1"))
+ (package
+ (name "sbcl-jonathan")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Rudolph-Miller/jonathan.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
+ ;; required by #<SYSTEM "jonathan">. Why?
+ `(#:tests? #f))
+ (native-inputs
+ `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+ ("sbcl-prove" ,sbcl-prove)))
+ (inputs
+ `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
+ ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
+ ("sbcl-fast-io" ,sbcl-fast-io)
+ ("sbcl-proc-parse" ,sbcl-proc-parse)
+ ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
+ (home-page "http://rudolph-miller.github.io/jonathan/overview.html")
+ (synopsis "JSON encoder and decoder")
+ (description
+ "High performance JSON encoder and decoder. Currently support: SBCL,
+CCL.")
+ ;; Author specifies the MIT license
+ (license license:expat))))
+
+(define-public cl-jonathan
+ (sbcl-package->cl-source-package sbcl-jonathan))
+
+(define-public sbcl-http-body
+ (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
+ (revision "1"))
+ (package
+ (name "sbcl-http-body")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/http-body")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
+ ;; found, required by #<SYSTEM "http-body">. Why?
+ `(#:tests? #f))
+ (native-inputs
+ `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+ ("sbcl-prove" ,sbcl-prove)))
+ (inputs
+ `(("sbcl-fast-http" ,sbcl-fast-http)
+ ("sbcl-jonathan" ,sbcl-jonathan)
+ ("sbcl-quri" ,sbcl-quri)))
+ (home-page "https://github.com/fukamachi/http-body")
+ (synopsis "HTTP POST data parser")
+ (description
+ "HTTP-Body parses HTTP POST data and returns POST parameters. It
+supports application/x-www-form-urlencoded, application/json, and
+multipart/form-data.")
+ (license license:bsd-2))))
+
+(define-public cl-http-body
+ (sbcl-package->cl-source-package sbcl-http-body))
+
+(define-public sbcl-circular-streams
+ (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
+ (revision "1"))
+ (package
+ (name "sbcl-circular-streams")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/circular-streams")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; The tests depend on cl-test-more which is now prove. Prove
+ ;; tests aren't working for some reason.
+ `(#:tests? #f))
+ (inputs
+ `(("sbcl-fast-io" ,sbcl-fast-io)
+ ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+ (home-page "https://github.com/fukamachi/circular-streams")
+ (synopsis "Circularly readable streams for Common Lisp")
+ (description
+ "Circular-Streams allows you to read streams circularly by wrapping real
+streams. Once you reach end-of-file of a stream, it's file position will be
+reset to 0 and you're able to read it again.")
+ (license license:llgpl))))
+
+(define-public cl-circular-streams
+ (sbcl-package->cl-source-package sbcl-circular-streams))
+
+(define-public sbcl-lack-request
+ (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+ (revision "1"))
+ (package
+ (name "sbcl-lack-request")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/lack.git")
+ (commit commit)))
+ (sha256
+ (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "lack-request.asd"
+ #:asd-system-name "lack-request"
+ #:test-asd-file "t-lack-request.asd"
+ ;; XXX: Component :CLACK-TEST not found
+ #:tests? #f))
+ (native-inputs
+ `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+ ("sbcl-prove" ,sbcl-prove)))
+ (inputs
+ `(("sbcl-quri" ,sbcl-quri)
+ ("sbcl-http-body" ,sbcl-http-body)
+ ("sbcl-circular-streams" ,sbcl-circular-streams)))
+ (home-page "https://github.com/fukamachi/lack")
+ (synopsis "Lack, the core of Clack")
+ (description
+ "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components. It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+ (license license:llgpl))))
+
+(define-public cl-lack-request
+ (sbcl-package->cl-source-package sbcl-lack-request))
+
+(define-public sbcl-local-time
+ (let ((commit "beac054eef428552b63d4ae7820c32ffef9a3015")
+ (revision "1"))
+ (package
+ (name "sbcl-local-time")
+ (version (git-version "1.0.6" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dlowe-net/local-time.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xhkmgxh41dg2wwlsp0h2l41jp144xn4gpxhh0lna6kh0560w2cc"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; TODO: Component :STEFIL not found, required by #<SYSTEM
+ ;; "local-time/test">
+ '(#:tests? #f))
+ (native-inputs
+ `(("stefil" ,sbcl-hu.dwim.stefil)))
+ (inputs
+ `(("sbcl-cl-fad" ,sbcl-cl-fad)))
+ (home-page "https://common-lisp.net/project/local-time/")
+ (synopsis "Time manipulation library for Common Lisp")
+ (description
+ "The LOCAL-TIME library is a Common Lisp library for the manipulation of
+dates and times. It is based almost entirely upon Erik Naggum's paper \"The
+Long Painful History of Time\".")
+ (license license:expat))))
+
+(define-public cl-local-time
+ (sbcl-package->cl-source-package sbcl-local-time))
+
+(define-public sbcl-lack-response
+ (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+ (revision "1"))
+ (package
+ (name "sbcl-lack-response")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/lack.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "lack-response.asd"
+ #:asd-system-name "lack-response"
+ ;; XXX: no tests for lack-response.
+ #:tests? #f))
+ (native-inputs
+ `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+ ("sbcl-prove" ,sbcl-prove)))
+ (inputs
+ `(("sbcl-quri" ,sbcl-quri)
+ ("sbcl-http-body" ,sbcl-http-body)
+ ("sbcl-circular-streams" ,sbcl-circular-streams)
+ ("sbcl-local-time" ,sbcl-local-time)))
+ (home-page "https://github.com/fukamachi/lack")
+ (synopsis "Lack, the core of Clack")
+ (description
+ "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components. It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+ (license license:llgpl))))
+
+(define-public cl-lack-response
+ (sbcl-package->cl-source-package sbcl-lack-response))
+
+(define-public sbcl-lack-component
+ (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+ (revision "1"))
+ (package
+ (name "sbcl-lack-component")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/lack.git")
+ (commit commit)))
+ (sha256
+ (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "lack-component.asd"
+ #:asd-system-name "lack-component"
+ #:test-asd-file "t-lack-component.asd"
+ ;; XXX: Component :LACK-TEST not found
+ #:tests? #f))
+ (native-inputs
+ `(("prove-asdf" ,sbcl-prove-asdf)))
+ (home-page "https://github.com/fukamachi/lack")
+ (synopsis "Lack, the core of Clack")
+ (description
+ "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components. It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+ (license license:llgpl))))
+
+(define-public cl-lack-component
+ (sbcl-package->cl-source-package sbcl-lack-component))
+
+(define-public sbcl-lack-util
+ (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+ (revision "1"))
+ (package
+ (name "sbcl-lack-util")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/lack.git")
+ (commit commit)))
+ (sha256
+ (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "lack-util.asd"
+ #:asd-system-name "lack-util"
+ #:test-asd-file "t-lack-util.asd"
+ ;; XXX: Component :LACK-TEST not found
+ #:tests? #f))
+ (native-inputs
+ `(("prove-asdf" ,sbcl-prove-asdf)))
+ (inputs
+ `(("sbcl-ironclad" ,sbcl-ironclad)))
+ (home-page "https://github.com/fukamachi/lack")
+ (synopsis "Lack, the core of Clack")
+ (description
+ "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components. It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+ (license license:llgpl))))
+
+(define-public cl-lack-util
+ (sbcl-package->cl-source-package sbcl-lack-util))
+
+(define-public sbcl-lack-middleware-backtrace
+ (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+ (revision "1"))
+ (package
+ (name "sbcl-lack-middleware-backtrace")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/lack.git")
+ (commit commit)))
+ (sha256
+ (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "lack-middleware-backtrace.asd"
+ #:asd-system-name "lack-middleware-backtrace"
+ #:test-asd-file "t-lack-middleware-backtrace.asd"
+ ;; XXX: Component :LACK not found
+ #:tests? #f))
+ (native-inputs
+ `(("prove-asdf" ,sbcl-prove-asdf)))
+ (home-page "https://github.com/fukamachi/lack")
+ (synopsis "Lack, the core of Clack")
+ (description
+ "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components. It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+ (license license:llgpl))))
+
+(define-public cl-lack-middleware-backtrace
+ (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
+
+(define-public sbcl-trivial-mimes
+ (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
+ (revision "1"))
+ (package
+ (name "sbcl-trivial-mimes")
+ (version (git-version "1.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/trivial-mimes.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((anchor "#p\"/etc/mime.types\""))
+ (substitute* "mime-types.lisp"
+ ((anchor all)
+ (string-append
+ anchor "\n"
+ "(asdf:system-relative-pathname :trivial-mimes \"../../share/common-lisp/sbcl-source/trivial-mimes/mime.types\")")))))))))
+ (native-inputs
+ `(("stefil" ,sbcl-hu.dwim.stefil)))
+ (inputs
+ `(("sbcl-cl-fad" ,sbcl-cl-fad)))
+ (home-page "http://shinmera.github.io/trivial-mimes/")
+ (synopsis "Tiny Common Lisp library to detect mime types in files")
+ (description
+ "This is a teensy library that provides some functions to determine the
+mime-type of a file.")
+ (license license:artistic2.0))))
+
+(define-public cl-trivial-mimes
+ (sbcl-package->cl-source-package sbcl-trivial-mimes))
+
+(define-public sbcl-lack-middleware-static
+ (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+ (revision "1"))
+ (package
+ (name "sbcl-lack-middleware-static")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/lack.git")
+ (commit commit)))
+ (sha256
+ (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "lack-middleware-static.asd"
+ #:asd-system-name "lack-middleware-static"
+ #:test-asd-file "t-lack-middleware-static.asd"
+ ;; XXX: Component :LACK not found
+ #:tests? #f))
+ (native-inputs
+ `(("prove-asdf" ,sbcl-prove-asdf)))
+ (inputs
+ `(("sbcl-ironclad" ,sbcl-ironclad)
+ ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
+ ("sbcl-local-time" ,sbcl-local-time)))
+ (home-page "https://github.com/fukamachi/lack")
+ (synopsis "Lack, the core of Clack")
+ (description
+ "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components. It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+ (license license:llgpl))))
+
+(define-public cl-lack-middleware-static
+ (sbcl-package->cl-source-package sbcl-lack-middleware-static))
+
+(define-public sbcl-lack
+ (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+ (revision "1"))
+ (package
+ (name "sbcl-lack")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/lack.git")
+ (commit commit)))
+ (sha256
+ (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:test-asd-file "t-lack.asd"
+ ;; XXX: Component :CLACK not found
+ #:tests? #f))
+ (native-inputs
+ `(("prove-asdf" ,sbcl-prove-asdf)))
+ (inputs
+ `(("sbcl-lack-component" ,sbcl-lack-component)
+ ("sbcl-lack-util" ,sbcl-lack-util)))
+ (home-page "https://github.com/fukamachi/lack")
+ (synopsis "Lack, the core of Clack")
+ (description
+ "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components. It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+ (license license:llgpl))))
+
+(define-public cl-lack
+ (sbcl-package->cl-source-package sbcl-lack))
+
+(define-public sbcl-ningle
+ (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
+ (revision "1"))
+ (package
+ (name "sbcl-ningle")
+ (version (git-version "0.3.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/ningle.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ ;; TODO: pull in clack-test
+ '(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'cleanup-files)
+ (delete 'cleanup)
+ (add-before 'cleanup 'combine-fasls
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib/sbcl"))
+ (ningle-path (string-append lib "/ningle"))
+ (fasl-files (find-files out "\\.fasl$")))
+ (mkdir-p ningle-path)
+ (let ((fasl-path (lambda (name)
+ (string-append ningle-path
+ "/"
+ (basename name)
+ "--system.fasl"))))
+ (for-each (lambda (file)
+ (rename-file file
+ (fasl-path
+ (basename file ".fasl"))))
+ fasl-files))
+ fasl-files)
+ #t)))))
+ (native-inputs
+ `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+ ("sbcl-prove" ,sbcl-prove)))
+ (inputs
+ `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
+ ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
+ ("sbcl-myway" ,sbcl-myway)
+ ("sbcl-lack-request" ,sbcl-lack-request)
+ ("sbcl-lack-response" ,sbcl-lack-response)
+ ("sbcl-lack-component" ,sbcl-lack-component)
+ ("sbcl-alexandria" ,sbcl-alexandria)
+ ("sbcl-babel" ,sbcl-babel)))
+ (home-page "http://8arrow.org/ningle/")
+ (synopsis "Super micro framework for Common Lisp")
+ (description
+ "Ningle is a lightweight web application framework for Common Lisp.")
+ (license license:llgpl))))
+
+(define-public cl-ningle
+ (sbcl-package->cl-source-package sbcl-ningle))
+
+(define-public sbcl-clack
+ (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
+ (revision "1"))
+ (package
+ (name "sbcl-clack")
+ (version (git-version "2.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/clack.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("sbcl-lack" ,sbcl-lack)
+ ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
+ ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
+ (home-page "https://github.com/fukamachi/clack")
+ (synopsis "Web Application Environment for Common Lisp")
+ (description
+ "Clack is a web application environment for Common Lisp inspired by
+Python's WSGI and Ruby's Rack.")
+ (license license:llgpl))))
+
+(define-public cl-clack
+ (sbcl-package->cl-source-package sbcl-clack))
+
+(define-public sbcl-log4cl
+ (let ((commit "611e094458504b938d49de904eab141285328c7c")
+ (revision "1"))
+ (package
+ (name "sbcl-log4cl")
+ (build-system asdf-build-system/sbcl)
+ (version "1.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sharplispers/log4cl")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
+ ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
+ (arguments
+ `(#:tests? #f))
+ (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
+ (synopsis "Common Lisp logging framework, modeled after Log4J")
+ (home-page "https://github.com/7max/log4cl")
+ (description "This is a Common Lisp logging framework that can log at
+various levels and mix text with expressions.")
+ (license license:asl2.0))))
+
+(define-public cl-log4cl
+ (sbcl-package->cl-source-package sbcl-log4cl))
+
+(define-public ecl-log4cl
+ (sbcl-package->ecl-package sbcl-log4cl))