diff mbox series

[bug#53765,11/17] gnu: Add clojure-core-async.

Message ID 87iltv32bu.fsf@reilysiegel.com
State New
Headers show
Series Remove limitations on clojure-tools | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Reily Siegel Feb. 4, 2022, 12:25 a.m. UTC
* gnu/packages/clojure.scm (clojure-core-async): New variable.
---
 gnu/packages/clojure.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

Comments

M Feb. 7, 2022, 8:32 p.m. UTC | #1
Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
> +    (home-page "https://github.com/clojure/core.async")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url home-page)
> +                    (commit (string-append "v" version))))

While sometimes there locations happen to coincide, home pages are git
repos are rather different things.  As such, the
"https://github.com/clojure/core.async" needs to be put into the 'url'
field instead of 'home-page'.  At least, that's the current consensus
AFAICT, I haven't given this much thought myself.

Greetings,
Maxime.
M Feb. 7, 2022, 8:34 p.m. UTC | #2
Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
> +    (synopsis "Facilities for async programming and communication in Clojure")
> +    (description "Facilities for async programming and communication in
> +Clojure using communicating sequential processes.")

As per (guix)Synopses and Descriptions, use complete sentences in
descriptions.  Additionally, this is rather on the short side, more
information would be nice.

Greetings,
Maxime.
M Feb. 7, 2022, 8:37 p.m. UTC | #3
Hi,

Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
> +       ;; These tests cause the build system to hang.
> +       #:test-exclude '(clojure.core.async-test
> +                        clojure.core.async.lab-test)))

That seems like a bug --- in the main source code, in the test suite,
or in Clojure itself.  In the first and last case, this indicates
a real problem to be fixed (presumably upstream) and not simply ignored
--- what is the point of a test suite when we just ignore failing (or
hanging) tests?

In the second case, upstream needs to be informed such that they can
fix their tests.

Has upstream been informed?

Greetings,
Maxime.
M Feb. 7, 2022, 8:53 p.m. UTC | #4
Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
> +    (source (origin

A license header is missing from ioc_macros_test.clj, lab_test.clj and
timers_test.clj, async_test.clj and pipeline_test.clj, ex-alts.clj, ex-
altsgo.clj, ex-async.clj, ex-go.clj and walkthrough.clj, while it is
present in other source code.  As such, it seems like an oversight
upstream.  Could upstream be informed?

There doesn't appear to be any malware.

Source code looks authentic to me (the repo belongs to the ‘clojure’
GitHub organisation, and clojure.org links to that GitHub
organisation).

Greetings,
Maxime.
Reily Siegel Feb. 7, 2022, 11:46 p.m. UTC | #5
Maxime Devos <maximedevos@telenet.be> writes:


> That seems like a bug --- in the main source code, in the test suite,
> or in Clojure itself.  In the first and last case, this indicates
> a real problem to be fixed (presumably upstream) and not simply ignored
> --- what is the point of a test suite when we just ignore failing (or
> hanging) tests?

This was an issue with the clojure-build-system, but either the patch I
submitted recently or another patch has resolved the issue, so these
test cases seem to now work successfully. These exclusions will be
removed in the second version of the patch.
diff mbox series

Patch

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 360d86f6ab..7bbab8b741 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -259,6 +259,37 @@  (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.5.648")
+    (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
+                "1any7bh5zsn6agia6y7al1gxnqa6s5g0y45gzy51rfjjccq33xq4"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("doc")
+       #:aot-exclude '(cljs.core.async
+                       cljs.core.async.macros
+                       cljs.core.async.impl.ioc-macros)
+       ;; These tests cause the build system to hang.
+       #:test-exclude '(clojure.core.async-test
+                        clojure.core.async.lab-test)))
+    (propagated-inputs (list clojure-tools-analyzer-jvm))
+    (synopsis "Facilities for async programming and communication in Clojure")
+    (description "Facilities for async programming and communication in
+Clojure using communicating sequential processes.")
+    (license license:epl1.0)))
+
 (define-public clojure-core-cache
   (package
     (name "clojure-core-cache")