diff mbox series

[bug#72463,09/10] gnu: Add clojure-core-async.

Message ID ec0a9a3dfad44e809217347ce2adc0d3f404ede8.1722782570.git.roman@burningswell.com
State New
Headers show
Series Add Clojure Core packages and HTTPkit | expand

Commit Message

Roman Scherer Aug. 5, 2024, 5:16 a.m. UTC
* gnu/packages/clojure.scm (clojure-core-async): New variable.
---
 gnu/packages/clojure.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 2c00f637ff..d09af801d0 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -318,6 +318,40 @@  (define-public clojure-algo-monads
     (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")