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.scm627
1 files changed, 627 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index dfc58d469f..58813c2d84 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -47,6 +47,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages c)
#:use-module (gnu packages compression)
#:use-module (gnu packages ed)
#:use-module (gnu packages flex)
@@ -65,6 +66,8 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
@@ -5369,3 +5372,627 @@ command line, to data scanning and extracting scripts, to full application
development in a wide-range of areas.")
(home-page "https://nongnu.org/txr/")
(license license:bsd-2)))
+
+(define-public sbcl-clunit
+ (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
+ (revision "1"))
+ (package
+ (name "sbcl-clunit")
+ (version (git-version "0.2.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tgutu/clunit.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "CLUnit is a Common Lisp unit testing framework")
+ (description
+ "CLUnit is a Common Lisp unit testing framework. It is designed
+to be easy to use so that you can quickly start testing. CLUnit
+provides a rich set of features aimed at improving your unit testing
+experience.")
+ (home-page "http://tgutu.github.io/clunit/")
+ ;; MIT License
+ (license license:expat))))
+
+(define-public cl-clunit
+ (sbcl-package->cl-source-package sbcl-clunit))
+
+(define-public ecl-clunit
+ (sbcl-package->ecl-package sbcl-clunit))
+
+(define-public sbcl-py4cl
+ (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
+ (revision "1"))
+ (package
+ (name "sbcl-py4cl")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bendudson/py4cl.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
+ (modules '((guix build utils)))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("sbcl-clunit" ,sbcl-clunit)))
+ (inputs
+ `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
+ (propagated-inputs
+ ;; This package doesn't do anything without python available
+ `(("python" ,python)
+ ;; For multi-dimensional array support
+ ("python-numpy" ,python-numpy)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'replace-*base-directory*-var
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; In the ASD, the author makes an attempt to
+ ;; programatically determine the location of the
+ ;; source-code so lisp can call into "py4cl.py". We can
+ ;; hard-code this since we know where this file will
+ ;; reside.
+ (substitute* "src/callpython.lisp"
+ (("py4cl/config:\\*base-directory\\*")
+ (string-append
+ "\""
+ (assoc-ref outputs "out")
+ "/share/common-lisp/sbcl-source/py4cl/"
+ "\""))))))))
+ (synopsis "Call python from Common Lisp")
+ (description
+ "Py4CL is a bridge between Common Lisp and Python, which enables Common
+Lisp to interact with Python code. It uses streams to communicate with a
+separate python process, the approach taken by cl4py. This is different to
+the CFFI approach used by burgled-batteries, but has the same goal.")
+ (home-page "https://github.com/bendudson/py4cl")
+ ;; MIT License
+ (license license:expat))))
+
+(define-public cl-py4cl
+ (sbcl-package->cl-source-package sbcl-py4cl))
+
+(define-public ecl-py4cl
+ (sbcl-package->ecl-package sbcl-py4cl))
+
+(define-public sbcl-parse-declarations
+ (package
+ (name "sbcl-parse-declarations")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://beta.quicklisp.org/archive/parse-declarations/"
+ "2010-10-06/parse-declarations-20101006-darcs.tgz"))
+ (sha256
+ (base32
+ "0r85b0jfacd28kr65kw9c13dx4i6id1dpmby68zjy63mqbnyawrd"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-file "parse-declarations-1.0.asd"
+ #:asd-system-name "parse-declarations-1.0"))
+ (home-page "https://common-lisp.net/project/parse-declarations/")
+ (synopsis "Parse, filter, and build declarations")
+ (description
+ "Parse-Declarations is a Common Lisp library to help writing
+macros which establish bindings. To be semantically correct, such
+macros must take user declarations into account, as these may affect
+the bindings they establish. Yet the ANSI standard of Common Lisp does
+not provide any operators to work with declarations in a convenient,
+high-level way. This library provides such operators.")
+ ;; MIT License
+ (license license:expat)))
+
+(define-public cl-parse-declarations
+ (sbcl-package->cl-source-package sbcl-parse-declarations))
+
+(define-public ecl-parse-declarations
+ (sbcl-package->ecl-package sbcl-parse-declarations))
+
+(define-public sbcl-cl-quickcheck
+ (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-quickcheck")
+ (version (git-version "0.0.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mcandre/cl-quickcheck.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis
+ "Common Lisp port of the QuickCheck unit test framework")
+ (description
+ "Common Lisp port of the QuickCheck unit test framework")
+ (home-page "https://github.com/mcandre/cl-quickcheck")
+ ;; MIT
+ (license license:expat))))
+
+(define-public cl-cl-quickcheck
+ (sbcl-package->cl-source-package sbcl-cl-quickcheck))
+
+(define-public ecl-cl-quickcheck
+ (sbcl-package->ecl-package sbcl-cl-quickcheck))
+
+(define-public sbcl-burgled-batteries3
+ (let ((commit "9c0f6667e1a71ddf77e21793a0bea524710fef6e")
+ (revision "1"))
+ (package
+ (name "sbcl-burgled-batteries3")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/snmsts/burgled-batteries3.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b726kz2xxcg5l930gz035rsdvhxrzmp05iwfwympnb4z4ammicb"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-*cpython-include-dir*-var
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "grovel-include-dir.lisp"
+ (("\\(defparameter \\*cpython-include-dir\\* \\(detect-python\\)\\)")
+ (string-append
+ "(defparameter *cpython-include-dir* \""
+ (assoc-ref inputs "python")
+ "/include/python3.7m"
+ "\")")))
+ (substitute* "ffi-interface.lisp"
+ (("\\*cpython-lib\\*")
+ (format #f "'(\"~a/lib/libpython3.so\")"
+ (assoc-ref inputs "python"))))
+ #t)))))
+ (native-inputs
+ `(("python" ,python)
+ ("sbcl-cl-fad" ,sbcl-cl-fad)
+ ("sbcl-lift" ,sbcl-lift)
+ ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
+ (inputs
+ `(("sbcl-cffi" ,sbcl-cffi)
+ ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
+ ("sbcl-alexandria" , sbcl-alexandria)
+ ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
+ ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
+ (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
+ (description
+ "This package provides a shim between Python3 (specifically, the
+CPython implementation of Python) and Common Lisp.")
+ (home-page "https://github.com/snmsts/burgled-batteries3")
+ ;; MIT
+ (license license:expat))))
+
+(define-public cl-burgled-batteries3
+ (sbcl-package->cl-source-package sbcl-burgled-batteries3))
+
+(define-public ecl-burgled-batteries3
+ (sbcl-package->ecl-package sbcl-burgled-batteries3))
+
+(define-public sbcl-metabang-bind
+ (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
+ (revision "1"))
+ (package
+ (name "sbcl-metabang-bind")
+ (version (git-version "0.8.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gwkkwg/metabang-bind.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("sbcl-lift" ,sbcl-lift)))
+ (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
+ (description
+ "Bind extends the idea of of let and destructing to provide a uniform
+syntax for all your accessor needs. It combines @code{let},
+@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
+editing, property or association-lists, and @code{multiple-value-bind} and a
+whole lot more into a single form.")
+ (home-page "https://common-lisp.net/project/metabang-bind/")
+ ;; MIT License
+ (license license:expat))))
+
+(define-public cl-metabang-bind
+ (sbcl-package->cl-source-package sbcl-metabang-bind))
+
+(define-public ecl-metabang-bind
+ (sbcl-package->ecl-package sbcl-metabang-bind))
+
+(define-public sbcl-fare-utils
+ (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
+ (revision "1"))
+ (package
+ (name "sbcl-fare-utils")
+ (version (git-version "1.0.0.5" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url
+ "https://gitlab.common-lisp.net/frideau/fare-utils.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:test-asd-file "test/fare-utils-test.asd"))
+ (native-inputs
+ `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
+ (synopsis "Collection of utilities and data structures")
+ (description
+ "fare-utils is a small collection of utilities. It contains a lot of
+basic everyday functions and macros.")
+ (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
+ ;; MIT License
+ (license license:expat))))
+
+(define-public cl-fare-utils
+ (sbcl-package->cl-source-package sbcl-fare-utils))
+
+(define-public ecl-fare-utils
+ (sbcl-package->ecl-package sbcl-fare-utils))
+
+(define-public sbcl-idna
+ (package
+ (name "sbcl-idna")
+ (build-system asdf-build-system/sbcl)
+ (version "0.2.2")
+ (home-page "https://github.com/antifuchs/idna")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
+ (inputs
+ `(("split-sequence" ,sbcl-split-sequence)))
+ (synopsis "IDNA string encoding and decoding routines for Common Lisp")
+ (description "This Common Lisp library provides string encoding and
+decoding routines for IDNA, the International Domain Names in Applications.")
+ (license license:expat)))
+
+(define-public cl-idna
+ (sbcl-package->cl-source-package sbcl-idna))
+
+(define-public ecl-idna
+ (sbcl-package->ecl-package sbcl-idna))
+
+(define-public sbcl-swap-bytes
+ (package
+ (name "sbcl-swap-bytes")
+ (build-system asdf-build-system/sbcl)
+ (version "1.1")
+ (home-page "https://github.com/sionescu/swap-bytes")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qysbv0jngdfkv53y874qjhcxc4qi8ixaqq6j8bzxh5z0931wv55"))))
+ (inputs
+ `(("trivial-features" ,sbcl-trivial-features)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ ;; TODO: Tests fail, why?
+ `(#:tests? #f))
+ (synopsis "Efficient endianness conversion for Common Lisp")
+ (description "This Common Lisp library provides optimized byte-swapping
+primitives. The library can change endianness of unsigned integers of length
+1/2/4/8. Very useful in implementing various network protocols and file
+formats.")
+ (license license:expat)))
+
+(define-public cl-swap-bytes
+ (sbcl-package->cl-source-package sbcl-swap-bytes))
+
+(define-public ecl-swap-bytes
+ (sbcl-package->ecl-package sbcl-swap-bytes))
+
+(define-public sbcl-iolib.asdf
+ ;; Latest release is from June 2017.
+ (let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4")
+ (revision "1"))
+ (package
+ (name "sbcl-iolib.asdf")
+ (build-system asdf-build-system/sbcl)
+ (version "0.8.3")
+ (home-page "https://github.com/sionescu/iolib")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm"))))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)))
+ (arguments
+ '(#:asd-file "iolib.asdf.asd"))
+ (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
+ (description "IOlib is to be a better and more modern I/O library than
+the standard Common Lisp library. It contains a socket library, a DNS
+resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
+and @code{kqueue(2)}), a pathname library and file-system utilities.")
+ (license license:expat))))
+
+(define-public sbcl-iolib.conf
+ (package
+ (inherit sbcl-iolib.asdf)
+ (name "sbcl-iolib.conf")
+ (inputs
+ `(("iolib.asdf" ,sbcl-iolib.asdf)))
+ (arguments
+ '(#:asd-file "iolib.conf.asd"))
+ (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib.common-lisp
+ (package
+ (inherit sbcl-iolib.asdf)
+ (name "sbcl-iolib.common-lisp")
+ (inputs
+ `(("iolib.asdf" ,sbcl-iolib.asdf)
+ ("iolib.conf" ,sbcl-iolib.conf)))
+ (arguments
+ '(#:asd-file "iolib.common-lisp.asd"))
+ (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib.base
+ (package
+ (inherit sbcl-iolib.asdf)
+ (name "sbcl-iolib.base")
+ (inputs
+ `(("iolib.asdf" ,sbcl-iolib.asdf)
+ ("iolib.conf" ,sbcl-iolib.conf)
+ ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
+ ("split-sequence" ,sbcl-split-sequence)))
+ (arguments
+ '(#:asd-file "iolib.base.asd"))
+ (synopsis "Base package for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib.grovel
+ (package
+ (inherit sbcl-iolib.asdf)
+ (name "sbcl-iolib.grovel")
+ (inputs
+ `(("iolib.asdf" ,sbcl-iolib.asdf)
+ ("iolib.conf" ,sbcl-iolib.conf)
+ ("iolib.base", sbcl-iolib.base)
+ ("cffi", sbcl-cffi)))
+ (arguments
+ '(#:asd-file "iolib.grovel.asd"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-header
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; This header is required by sbcl-iolib.
+ (install-file "src/grovel/grovel-common.h"
+ (string-append (assoc-ref outputs "out")
+ "/lib/sbcl"))
+ #t)))))
+ (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
+
+(define-public sbcl-iolib
+ (package
+ (inherit sbcl-iolib.asdf)
+ (name "sbcl-iolib")
+ (inputs
+ `(("iolib.asdf" ,sbcl-iolib.asdf)
+ ("iolib.conf" ,sbcl-iolib.conf)
+ ("iolib.grovel" ,sbcl-iolib.grovel)
+ ("iolib.base", sbcl-iolib.base)
+ ("bordeaux-threads", sbcl-bordeaux-threads)
+ ("idna", sbcl-idna)
+ ("swap-bytes", sbcl-swap-bytes)
+ ("libfixposix", libfixposix)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ '(#:asd-file "iolib.asd"
+ #:asd-system-name "iolib"
+ #:test-asd-file "iolib.tests.asd"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/syscalls/ffi-functions-unix.lisp"
+ (("\\(:default \"libfixposix\"\\)")
+ (string-append
+ "(:default \""
+ (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
+ ;; Socket tests need Internet access, disable them.
+ (substitute* "iolib.tests.asd"
+ (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
+ "")))))))
+ (synopsis "Common Lisp I/O library")))
+
+(define sbcl-iolib+multiplex
+ (package
+ (inherit sbcl-iolib)
+ (name "sbcl-iolib+multiplex")
+ (arguments
+ (substitute-keyword-arguments (package-arguments sbcl-iolib)
+ ((#:asd-system-name _) "iolib/multiplex")))))
+
+(define sbcl-iolib+syscalls
+ (package
+ (inherit sbcl-iolib)
+ (name "sbcl-iolib+syscalls")
+ (arguments
+ (substitute-keyword-arguments (package-arguments sbcl-iolib)
+ ((#:asd-system-name _) "iolib/syscalls")))))
+
+(define sbcl-iolib+streams
+ (package
+ (inherit sbcl-iolib)
+ (name "sbcl-iolib+streams")
+ (arguments
+ (substitute-keyword-arguments (package-arguments sbcl-iolib)
+ ((#:asd-system-name _) "iolib/streams")))))
+
+(define sbcl-iolib+sockets
+ (package
+ (inherit sbcl-iolib)
+ (name "sbcl-iolib+sockets")
+ (arguments
+ (substitute-keyword-arguments (package-arguments sbcl-iolib)
+ ((#:asd-system-name _) "iolib/sockets")))))
+
+(define-public sbcl-ieee-floats
+ (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
+ (revision "1"))
+ (package
+ (name "sbcl-ieee-floats")
+ (build-system asdf-build-system/sbcl)
+ (version (git-version "20170924" revision commit))
+ (home-page "https://github.com/marijnh/ieee-floats/")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (synopsis "IEEE 754 binary representation for floats in Common Lisp")
+ (description "This is a Common Lisp library that allows to convert
+floating point values to IEEE 754 binary representation.")
+ (license license:bsd-3))))
+
+(define sbcl-closure-common
+ (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
+ (revision "1"))
+ (package
+ (name "sbcl-closure-common")
+ (build-system asdf-build-system/sbcl)
+ (version (git-version "20101006" revision commit))
+ (home-page "https://github.com/sharplispers/closure-common")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
+ (inputs
+ `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
+ ("babel" ,sbcl-babel)))
+ (synopsis "Support Common Lisp library for CXML")
+ (description "Closure-common is an internal helper library. The name
+Closure is a reference to the web browser it was originally written for.")
+ ;; TODO: License?
+ (license #f))))
+
+(define-public sbcl-cl-reexport
+ (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-reexport")
+ (build-system asdf-build-system/sbcl)
+ (version (git-version "0.1" revision commit))
+ (home-page "https://github.com/takagi/cl-reexport")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)))
+ (arguments
+ ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
+ `(#:tests? #f))
+ (synopsis "HTTP cookie manager for Common Lisp")
+ (description "cl-cookie is a Common Lisp library featuring parsing of
+cookie headers, cookie creation, cookie jar creation and more.")
+ (license license:llgpl))))
+
+(define-public sbcl-cl-cookie
+ (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-cookie")
+ (build-system asdf-build-system/sbcl)
+ (version (git-version "0.9.10" revision commit))
+ (home-page "https://github.com/fukamachi/cl-cookie")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
+ (inputs
+ `(("proc-parse" ,sbcl-proc-parse)
+ ("alexandria" ,sbcl-alexandria)
+ ("quri" ,sbcl-quri)
+ ("cl-ppcre" ,sbcl-cl-ppcre)
+ ("local-time" ,sbcl-local-time)))
+ (native-inputs
+ `(("prove-asdf" ,sbcl-prove-asdf)
+ ("prove" ,sbcl-prove)))
+ (arguments
+ ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
+ `(#:tests? #f))
+ (synopsis "HTTP cookie manager for Common Lisp")
+ (description "cl-cookie is a Common Lisp library featuring parsing of
+cookie headers, cookie creation, cookie jar creation and more.")
+ (license license:bsd-2))))