summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2020-09-01 16:52:40 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2020-09-01 18:26:08 +0200
commitf5ca844fc165547de26060a7a174dbde41f85dde (patch)
treef84bee197ad4a415fa97234956f82d8c7b00d996 /gnu/packages
parentbc1f552b1a391e9eeed7405cd7ad2ba0252bb3dc (diff)
gnu: Add caveman.
* gnu/packages/lisp-xyz.scm (cl-caveman, ecl-caveman, sbcl-caveman): New variables.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/lisp-xyz.scm68
1 files changed, 68 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 37f48d22f3..6e726847ea 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -13910,3 +13910,71 @@ can begin writing unit tests as soon as the project is generated.")
(define-public ecl-cl-project
(sbcl-package->ecl-package sbcl-cl-project))
+
+(define-public sbcl-caveman
+ (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
+ (revision "1"))
+ (package
+ (name "sbcl-caveman")
+ (version (git-version "2.4.0" revision commit))
+ (home-page "http://8arrow.org/caveman/")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/caveman/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("ningle" ,cl-ningle)
+ ("lack-request" ,sbcl-lack-request)
+ ("lack-response" ,sbcl-lack-response)
+ ("cl-project" ,sbcl-cl-project)
+ ("dbi" ,sbcl-dbi)
+ ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
+ ("myway" ,sbcl-myway)
+ ("quri" ,sbcl-quri)))
+ (native-inputs
+ `(("usocket" ,sbcl-usocket)
+ ("dexador" ,sbcl-dexador)))
+ (arguments
+ `(#:asd-file "caveman2.asd"
+ #:asd-system-name "caveman2"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-v1
+ (lambda _
+ (delete-file-recursively "v1")
+ (for-each delete-file
+ '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
+ ;; TODO: Tests fail with:
+ ;; writing /gnu/store/j4l1k28yq47qbg074b4yf1b7wnccg8j1-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
+ ;; While evaluating the form starting at line 38, column 0
+ ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
+ ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
+ ;; {10009F8083}>:
+ ;; Component "myapp573" not found
+ #:tests? #f))
+ (synopsis "Lightweight web application framework in Common Lisp")
+ (description "Caveman is intended to be a collection of common parts for
+web applications. Caveman2 has three design goals:
+
+@itemize
+@item Be extensible.
+@item Be practical.
+@item Don't force anything.
+@end itemize\n")
+ (license license:llgpl))))
+
+(define-public cl-caveman
+ (package
+ (inherit
+ (sbcl-package->cl-source-package sbcl-caveman))
+ (propagated-inputs
+ `(("ningle" ,cl-ningle)))))
+
+(define-public ecl-caveman
+ (sbcl-package->ecl-package sbcl-caveman))