aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorRoman Scherer <roman@burningswell.com>2024-09-07 11:51:34 +0200
committerLudovic Courtès <ludo@gnu.org>2024-09-12 19:10:04 +0200
commit263205deada6367e0393ad23702afb12d9f23b68 (patch)
tree95cd0fdbb5e39e97e8a8ace047cf973c2a6de6d1 /gnu/packages
parenta33a7afcc236a1ed584df98099eb13325a629b07 (diff)
downloadguix-263205deada6367e0393ad23702afb12d9f23b68.tar
guix-263205deada6367e0393ad23702afb12d9f23b68.tar.gz
gnu: Add clojure-core-async.
* gnu/packages/clojure.scm (clojure-core-async): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/clojure.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index f11b75140b..4000c075ad 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -318,6 +318,40 @@ defining and using monads and useful monadic functions.")
(home-page "https://github.com/clojure/algo.monads")
(license license:epl1.0)))
+(define-public clojure-core-async
+ (package
+ (name "clojure-core-async")
+ (version "1.6.681")
+ (home-page "https://github.com/clojure/core.async")
+ (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
+ "1j9yz14hy2qs8g3flsqkn1sx9c0qlr5mmpy6ab1zml9yhbw5arzg"))))
+ (build-system clojure-build-system)
+ (arguments
+ '(#:source-dirs '("src/main/clojure")
+ #:test-dirs '("src/test/clojure")
+ #:doc-dirs '()
+ #:phases
+ (modify-phases %standard-phases
+ ;; Remove ClojureScript code, we are only supporting Clojure for now.
+ (add-after 'unpack 'delete-cljs
+ (lambda _
+ (delete-file-recursively "src/main/clojure/cljs")
+ (delete-file-recursively "src/test/cljs"))))))
+ (propagated-inputs (list clojure-tools-analyzer-jvm))
+ (synopsis "Facilities for async programming and communication in Clojure")
+ (description "The core.async library adds support for asynchronous
+programming using channels to Clojure. It provides facilities for independent
+threads of activity, communicating via queue-like channels inspired by Hoare’s
+work on Communicating Sequential Processes (CSP).")
+ (license license:epl1.0)))
+
(define-public clojure-core-cache
(package
(name "clojure-core-cache")