diff mbox series

[bug#36393] gnu: Add sbcl-dexador.

Message ID 20190626114452.28492-1-mail@ambrevar.xyz
State Accepted
Headers show
Series [bug#36393] gnu: Add sbcl-dexador. | expand

Commit Message

Pierre Neidhardt June 26, 2019, 11:44 a.m. UTC
* gnu/packages/lisp.scm (sbcl-dexador): New variable.
---
 gnu/packages/lisp.scm | 53 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

Comments

Pierre Neidhardt June 26, 2019, 11:47 a.m. UTC | #1
This one does not build and fails during the reset-gzip-timestamps
phase.
Excerpt from the log:

#+begin_src log
phase `install-license-files' succeeded after 0.0 seconds
starting phase `reset-gzip-timestamps'
Backtrace:
          10 (primitive-load "/gnu/store/x8mkcdn21m1n9zwwy6n6ap8bcw9…")
In ice-9/eval.scm:
   191:35  9 (_ _)
In ice-9/boot-9.scm:
    152:2  8 (with-fluid* _ _ _)
    152:2  7 (with-fluid* _ _ _)
In srfi/srfi-1.scm:
   863:16  6 (every1 #<procedure 537020 at /gnu/store/228yfv8c0q7l6…> …)
In /gnu/store/228yfv8c0q7l6m8xri4nhkfh6ix8lbdp-module-import/guix/build/gnu-build-system.scm:
   799:28  5 (_ _)
    598:5  4 (reset-gzip-timestamps #:outputs _)
In srfi/srfi-1.scm:
    640:9  3 (for-each #<procedure process-directory (directory)> (#))
    640:9  2 (for-each #<procedure reset-gzip-timestamp (file #:key…> …)
In /gnu/store/228yfv8c0q7l6m8xri4nhkfh6ix8lbdp-module-import/guix/build/utils.scm:
   231:14  1 (reset-gzip-timestamp "/gnu/store/6xg7rr9g75vjj6sm2h71…" …)
In unknown file:
           0 (open "/gnu/store/6xg7rr9g75vjj6sm2h7117sqcqxb0hh0-sbc…" …)

ERROR: In procedure open:
In procedure open-fdes: Permission denied
#+end_src

Any idea?
Guillaume Le Vaillant July 2, 2019, 7:40 a.m. UTC | #2
Pierre Neidhardt a écrit :

> This one does not build and fails during the reset-gzip-timestamps
> phase.
> ...
> ERROR: In procedure open:
> In procedure open-fdes: Permission denied

I think it fails because it tries to modify the file 't/data/test.gz'
which is in read-only mode because it comes from the sources.

Adding a 'fix-permissions' phase after the 'unpack' phase making this
file writeable should fix the problem.
Pierre Neidhardt July 4, 2019, 1:52 p.m. UTC | #3
It did fix it indeed, thanks for the tip!
diff mbox series

Patch

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 58813c2d84..6be8386bce 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5996,3 +5996,56 @@  cookie headers, cookie creation, cookie jar creation and more.")
       (description "cl-cookie is a Common Lisp library featuring parsing of
 cookie headers, cookie creation, cookie jar creation and more.")
       (license license:bsd-2))))
+
+(define-public sbcl-dexador
+  (let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378")
+        (revision "1"))
+    (package
+      (name "sbcl-dexador")
+      (build-system asdf-build-system/sbcl)
+      (version (git-version "0.9.10" revision commit))
+      (home-page "https://github.com/fukamachi/dexador")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0nbqgn4v3l2z6m1k1bdxfnqpfrk84nxdmz7csz11zzcfs4flkv79"))))
+      (inputs
+       `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
+         ("babel" ,sbcl-babel)
+         ("usocket" ,sbcl-usocket)
+         ("fast-http" ,sbcl-fast-http)
+         ("quri" ,sbcl-quri)
+         ("fast-io" ,sbcl-fast-io)
+         ("chunga" ,sbcl-chunga)
+         ("cl-ppcre" ,sbcl-cl-ppcre)
+         ("cl-cookie" ,sbcl-cl-cookie)
+         ("trivial-mimes" ,sbcl-trivial-mimes)
+         ("chipz" ,sbcl-chipz)
+         ("cl-base64" ,sbcl-cl-base64)
+         ("cl-reexport" ,sbcl-cl-reexport)
+         ("cl+ssl" ,sbcl-cl+ssl)
+         ("bordeaux-threads" ,sbcl-bordeaux-threads)
+         ("alexandria" ,sbcl-alexandria)))
+      (native-inputs
+       `(("prove" ,sbcl-prove)
+         ("prove-asdf" ,sbcl-prove-asdf)
+         ("lack-request" ,sbcl-lack-request)
+         ("clack" ,sbcl-clack)
+         ("babel" ,sbcl-babel)
+         ("alexandria" ,sbcl-alexandria)
+         ("quri" ,sbcl-quri)
+         ("cl-ppcre" ,sbcl-cl-ppcre)
+         ("local-time" ,sbcl-local-time)))
+      (arguments
+       ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
+       `(#:tests? #f))
+      (synopsis "Yet another HTTP client for Common Lisp")
+      (description "Dexador is yet another HTTP client for Common Lisp with
+neat APIs and connection-pooling.  It is meant to supersede Drakma.")
+      (license license:expat))))