summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp-xyz.scm
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2020-01-17 11:17:38 +0100
committerGuillaume Le Vaillant <glv@posteo.net>2020-01-17 13:44:39 +0100
commitae51aa9136013cdf63efd1f7906668d6d011d4f3 (patch)
tree62f7b2b4687eeba59f9632e2656138bcf13d7212 /gnu/packages/lisp-xyz.scm
parent19f36366c9e99126da49c764d0febb63ceb58d1c (diff)
gnu: Add cl-async-ssl.
* gnu/packages/lisp-xyz.scm (sbcl-cl-async-ssl, cl-async-ssl, ecl-cl-async-ssl): New variables.
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r--gnu/packages/lisp-xyz.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ded5489114..c4e27e1507 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -9559,3 +9559,35 @@ Common Lisp. It uses the libuv library as backend.")
(define-public ecl-cl-async-repl
(sbcl-package->ecl-package sbcl-cl-async-repl))
+
+(define-public sbcl-cl-async-ssl
+ (package
+ (inherit sbcl-cl-async-base)
+ (name "sbcl-cl-async-ssl")
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("cl-async" ,sbcl-cl-async)
+ ("openssl" ,openssl)
+ ("vom" ,sbcl-vom)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
+ ((#:asd-file _ "") "cl-async-ssl.asd")
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/ssl/package.lisp"
+ (("libcrypto\\.so")
+ (string-append (assoc-ref inputs "openssl")
+ "/lib/libcrypto.so"))
+ (("libssl\\.so")
+ (string-append (assoc-ref inputs "openssl")
+ "/lib/libssl.so")))
+ #t))))))
+ (synopsis "SSL wrapper around cl-async socket implementation")))
+
+(define-public cl-async-ssl
+ (sbcl-package->cl-source-package sbcl-cl-async-ssl))
+
+(define-public ecl-cl-async-ssl
+ (sbcl-package->ecl-package sbcl-cl-async-ssl))