unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit
@ 2024-08-04 14:44 Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 01/10] gnu: Add clojure-data-json Roman Scherer
                   ` (11 more replies)
  0 siblings, 12 replies; 25+ messages in thread
From: Roman Scherer @ 2024-08-04 14:44 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer

Hello Guix,

this patch series adds some Clojure Core packages and HTTPkit.

Could you please review and apply them?

Thanks, Roman.

Roman Scherer (10):
  gnu: Add clojure-data-json.
  gnu: Add clojure-data-priority-map.
  gnu: Add clojure-core-cache.
  gnu: Add clojure-core-memoize.
  gnu: Add clojure-tools-analyzer.
  gnu: Add clojure-tools-reader.
  gnu: Add clojure-tools-analyzer-jvm.
  gnu: Add clojure-tools-logging.
  gnu: Add clojure-core-async.
  gnu: Add http-kit.

 gnu/packages/clojure.scm | 291 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 291 insertions(+)


base-commit: b20956651a53a8f23828fdeb6945e1a31e6997a8
--
2.45.2




^ permalink raw reply	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 01/10] gnu: Add clojure-data-json.
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
@ 2024-08-05  5:16 ` Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 02/10] gnu: Add clojure-data-priority-map Roman Scherer
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-08-05  5:16 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer, andrew

* gnu/packages/clojure.scm (clojure-data-json): New variable.

Change-Id: Id5da429fe375c656842250ed88d84d281954cec9
---
 gnu/packages/clojure.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index d315fc9187..c3f34e61a6 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -397,6 +397,32 @@ (define-public clojure-data-csv
 relaxed.")
     (license license:epl1.0)))
 
+(define-public clojure-data-json
+  (package
+    (name "clojure-data-json")
+    (version "2.5.0")
+    (home-page "https://github.com/clojure/data.json")
+    (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
+                "04k3fr9y1gp337h0d2zxam3aa3hl046r2g2qiizn7aq0rq6311p9"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (native-inputs (list clojure-test-check))
+    (synopsis "Clojure library for reading and writing JSON data")
+    (description "@code{data.json} is a Clojure library for reading and
+writing JSON data.  @code{data.xml} is compliant with the JSON spec and has no
+external dependencies")
+    (license license:epl1.0)))
+
 (define-public clojure-data-xml
   (package
     (name "clojure-data-xml")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 02/10] gnu: Add clojure-data-priority-map.
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 01/10] gnu: Add clojure-data-json Roman Scherer
@ 2024-08-05  5:16 ` Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 03/10] gnu: Add clojure-core-cache Roman Scherer
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-08-05  5:16 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer, andrew

* gnu/packages/clojure.scm (clojure-data-priority-map): New variable.
---
 gnu/packages/clojure.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index c3f34e61a6..d824d8e063 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -423,6 +423,35 @@ (define-public clojure-data-json
 external dependencies")
     (license license:epl1.0)))
 
+(define-public clojure-data-priority-map
+  (package
+    (name "clojure-data-priority-map")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/data.priority-map")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0aynzrdl0w08q89nd069lcx8s6msqmwrpqnya63jv1l2pn3w6ij4"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (synopsis "Priority map implementation in Clojure.")
+    (description
+     "A priority map is very similar to a sorted map, but whereas a sorted map
+produces a sequence of the entries sorted by key, a priority map produces the
+entries sorted by value.  In addition to supporting all the functions a sorted
+map supports, a priority map can also be thought of as a queue of [item
+priority] pairs.  To support usage as a versatile priority queue, priority
+maps also support conj/peek/pop operations.")
+    (home-page "https://github.com/clojure/data.priority-map")
+    (license license:epl1.0)))
+
 (define-public clojure-data-xml
   (package
     (name "clojure-data-xml")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 03/10] gnu: Add clojure-core-cache.
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 01/10] gnu: Add clojure-data-json Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 02/10] gnu: Add clojure-data-priority-map Roman Scherer
@ 2024-08-05  5:16 ` Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 04/10] gnu: Add clojure-core-memoize Roman Scherer
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-08-05  5:16 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer, andrew

* gnu/packages/clojure.scm (clojure-core-cache): New variable.
---
 gnu/packages/clojure.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index d824d8e063..44f9cc4691 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -318,6 +318,33 @@ (define-public clojure-algo-monads
     (home-page "https://github.com/clojure/algo.monads")
     (license license:epl1.0)))
 
+(define-public clojure-core-cache
+  (package
+    (name "clojure-core-cache")
+    (version "1.1.234")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/core.cache")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0jiq022kd5jdpmxz884rvg5317xmx7g3gnidkpcfsamchyfh5qxq"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("docs")))
+    (propagated-inputs (list clojure-data-priority-map))
+    (synopsis "Clojure caching library.")
+    (description
+     "Caching library for Clojure implementing various cache strategies such
+as First-in-first-out, Least-recently-used, Least-used, Time-to-live, Naive
+cache and Naive cache backed with soft references.")
+    (home-page "https://github.com/clojure/core.cache")
+    (license license:epl1.0)))
+
 (define-public clojure-core-match
   (package
     (name "clojure-core-match")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 04/10] gnu: Add clojure-core-memoize.
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
                   ` (2 preceding siblings ...)
  2024-08-05  5:16 ` [bug#72463] [PATCH 03/10] gnu: Add clojure-core-cache Roman Scherer
@ 2024-08-05  5:16 ` Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 05/10] gnu: Add clojure-tools-analyzer Roman Scherer
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-08-05  5:16 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer, andrew

* gnu/packages/clojure.scm (clojure-core-memoize): New variable.
---
 gnu/packages/clojure.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 44f9cc4691..12a54a3977 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -370,6 +370,33 @@ (define-public clojure-core-match
     (home-page "https://github.com/clojure/core.match")
     (license license:epl1.0)))
 
+(define-public clojure-core-memoize
+  (package
+    (name "clojure-core-memoize")
+    (version "1.1.266")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/core.memoize")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0nys79zrvcnwgyxb91zlyl3nb4p6r6y4n5rbdvzqkvsxxazi9ji0"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("docs")))
+    (propagated-inputs (list clojure-core-cache))
+    (synopsis "Memoization framework for Clojure")
+    (description
+     "A manipulable, pluggable, memoization framework for Clojure implementing
+some common memoization caching strategies, such as First-in-first-out,
+Least-recently-used, Least-used and Time-to-live.")
+    (home-page "https://github.com/clojure/core.memoize")
+    (license license:epl1.0)))
+
 (define-public clojure-data-codec
   (package
     (name "clojure-data-codec")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 05/10] gnu: Add clojure-tools-analyzer.
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
                   ` (3 preceding siblings ...)
  2024-08-05  5:16 ` [bug#72463] [PATCH 04/10] gnu: Add clojure-core-memoize Roman Scherer
@ 2024-08-05  5:16 ` Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 06/10] gnu: Add clojure-tools-reader Roman Scherer
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-08-05  5:16 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer, andrew

* gnu/packages/clojure.scm (clojure-tools-analyzer): New variable.
---
 gnu/packages/clojure.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 12a54a3977..670075de4d 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -634,6 +634,31 @@ (define-public clojure-test-check
 concise, powerful tests.")
     (license license:epl1.0)))
 
+(define-public clojure-tools-analyzer
+  (package
+    (name "clojure-tools-analyzer")
+    (version "1.2.0")
+    (home-page "https://github.com/clojure/tools.analyzer")
+    (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
+                "05v4i8qs5d51lh113phib0brkysphxa2d71khm840586432knyaa"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (synopsis "An analyzer for Clojure code.")
+    (description "An analyzer for Clojure code, written in Clojure, which
+produces an abstract syntax tree in the EDN ( Extensible Data Notation)
+format.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-macro
   (package
     (name "clojure-tools-macro")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 06/10] gnu: Add clojure-tools-reader.
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
                   ` (4 preceding siblings ...)
  2024-08-05  5:16 ` [bug#72463] [PATCH 05/10] gnu: Add clojure-tools-analyzer Roman Scherer
@ 2024-08-05  5:16 ` Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 07/10] gnu: Add clojure-tools-analyzer-jvm Roman Scherer
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-08-05  5:16 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer, andrew

* gnu/packages/clojure.scm (clojure-tools-reader): New variable.
---
 gnu/packages/clojure.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 670075de4d..4bcf0479d6 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -860,3 +860,29 @@ (define-public clojure-tools-gitlibs
 indicated by git SHAs.  This library provides this functionality and also
 keeps a cache of git directories and working trees that can be reused.")
     (license license:epl1.0)))
+
+(define-public clojure-tools-reader
+  (package
+    (name "clojure-tools-reader")
+    (version "1.4.2")
+    (home-page "https://github.com/clojure/tools.reader")
+    (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
+                "0rl0nas23f0a0iy5wl0v5kx4b6dqmi2xnvx4wr0xlpqbapz2ng3y"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:doc-dirs '()
+       #:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:test-exclude '(clojure.tools.common-tests))) ; Loaded by other tests.
+    (synopsis "Clojure reader written in Clojure.")
+    (description "The clojure.tools.reader library offers all functionality
+provided by the Clojure Core reader and more.  It adds metadata such as column
+and line numbers not only to lists, but also to symbols, vectors and maps.")
+    (license license:epl1.0)))
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 07/10] gnu: Add clojure-tools-analyzer-jvm.
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
                   ` (5 preceding siblings ...)
  2024-08-05  5:16 ` [bug#72463] [PATCH 06/10] gnu: Add clojure-tools-reader Roman Scherer
@ 2024-08-05  5:16 ` Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 08/10] gnu: Add clojure-tools-logging Roman Scherer
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-08-05  5:16 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer, andrew

* gnu/packages/clojure.scm (clojure-tools-analyzer-jvm): New variable.
---
 gnu/packages/clojure.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 4bcf0479d6..721539fe66 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -659,6 +659,34 @@ (define-public clojure-tools-analyzer
 format.")
     (license license:epl1.0)))
 
+(define-public clojure-tools-analyzer-jvm
+  (package
+    (name "clojure-tools-analyzer-jvm")
+    (version "1.3.0")
+    (home-page "https://github.com/clojure/tools.analyzer.jvm")
+    (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
+                "13nxzdp15772hzl3jmi5014jkwldkm1qccfycwkk2pn64hycmnxl"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("docs")))
+    (propagated-inputs (list clojure-tools-analyzer
+                             clojure-tools-reader
+                             clojure-core-memoize
+                             java-asm))
+    (synopsis "An analyzer for Clojure code targeting the JVM.")
+    (description "An analyzer for Clojure code, written on top of
+tools.analyzer, providing additional JVM-specific passes.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-macro
   (package
     (name "clojure-tools-macro")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 08/10] gnu: Add clojure-tools-logging.
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
                   ` (6 preceding siblings ...)
  2024-08-05  5:16 ` [bug#72463] [PATCH 07/10] gnu: Add clojure-tools-analyzer-jvm Roman Scherer
@ 2024-08-05  5:16 ` Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 09/10] gnu: Add clojure-core-async Roman Scherer
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-08-05  5:16 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer, andrew

* gnu/packages/clojure.scm (clojure-tools-logging): New variable.
---
 gnu/packages/clojure.scm | 44 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 721539fe66..2c00f637ff 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -889,6 +889,50 @@ (define-public clojure-tools-gitlibs
 keeps a cache of git directories and working trees that can be reused.")
     (license license:epl1.0)))
 
+(define-public clojure-tools-logging
+  (package
+    (name "clojure-tools-logging")
+    (version "1.2.4")
+    (home-page "https://github.com/clojure/tools.logging")
+    (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
+                "1vcl1s75amazzdyirnpza8jizp85d5178p0qkqfk26vl7yajvz7a"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:doc-dirs '()
+       #:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:phases
+       (modify-phases %standard-phases
+         ;; These tests should throw a ClassCastException, but they don't
+         ;; under AOT. Adjust them :/
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "src/test/clojure/clojure/tools/logging/test_readable.clj"
+               (("\\(thrown\\? ClassCastException \\(logf :debug \\(Exception\\.\\)\\)\\)")
+                "(nil? (logf :debug (Exception.)))"))
+             (substitute* "src/test/clojure/clojure/tools/test_logging.clj"
+               (("\\(thrown\\? ClassCastException \\(logf :debug \\(Exception\\.\\)\\)\\)")
+                "(nil? (logf :debug (Exception.)))")))))))
+    (native-inputs
+     (list java-commons-logging-minimal
+           java-log4j-1.2-api
+           java-log4j-api
+           java-log4j-core
+           java-slf4j-api
+           java-slf4j-simple))
+    (synopsis "Clojure logging library.")
+    (description "Logging macros which delegate to a specific logging
+implementation, selected at runtime when the clojure.tools.logging namespace
+is first loaded.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-reader
   (package
     (name "clojure-tools-reader")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 09/10] gnu: Add clojure-core-async.
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
                   ` (7 preceding siblings ...)
  2024-08-05  5:16 ` [bug#72463] [PATCH 08/10] gnu: Add clojure-tools-logging Roman Scherer
@ 2024-08-05  5:16 ` Roman Scherer
  2024-08-05  5:16 ` [bug#72463] [PATCH 10/10] gnu: Add http-kit Roman Scherer
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-08-05  5:16 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer, andrew

* gnu/packages/clojure.scm (clojure-core-async): New variable.
---
 gnu/packages/clojure.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

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")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 10/10] gnu: Add http-kit.
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
                   ` (8 preceding siblings ...)
  2024-08-05  5:16 ` [bug#72463] [PATCH 09/10] gnu: Add clojure-core-async Roman Scherer
@ 2024-08-05  5:16 ` Roman Scherer
  2024-09-06 21:55 ` [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Ludovic Courtès
  2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
  11 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-08-05  5:16 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer, andrew

* gnu/packages/clojure.scm (http-kit): New variable.
---
 gnu/packages/clojure.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index d09af801d0..ed2714a87a 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -992,3 +992,28 @@ (define-public clojure-tools-reader
 provided by the Clojure Core reader and more.  It adds metadata such as column
 and line numbers not only to lists, but also to symbols, vectors and maps.")
     (license license:epl1.0)))
+
+(define-public http-kit
+  (package
+    (name "http-kit")
+    (version "2.8.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/http-kit/http-kit")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1361bpb4sn3dbp215s7gf1bcrb45lgx3lk6lix7bndw9lahr5ank"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:java-source-dirs '("src/java")
+       #:source-dirs '("src")
+       #:doc-dirs '()
+       #:tests? #f))  ;; Too many unpackaged dependencies
+    (synopsis "Simple, high-performance event-driven HTTP client and server for Clojure")
+    (description "Minimalist, event-driven, high-performance Clojure HTTP
+client and server library with WebSocket and asynchronous support.")
+    (home-page "https://github.com/http-kit/http-kit")
+    (license license:asl2.0)))
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
                   ` (9 preceding siblings ...)
  2024-08-05  5:16 ` [bug#72463] [PATCH 10/10] gnu: Add http-kit Roman Scherer
@ 2024-09-06 21:55 ` Ludovic Courtès
  2024-09-07  9:53   ` Roman Scherer
  2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
  11 siblings, 1 reply; 25+ messages in thread
From: Ludovic Courtès @ 2024-09-06 21:55 UTC (permalink / raw)
  To: Roman Scherer; +Cc: 72463

Hi Roman,

Roman Scherer <roman@burningswell.com> skribis:

>   gnu: Add clojure-data-json.
>   gnu: Add clojure-data-priority-map.
>   gnu: Add clojure-core-cache.
>   gnu: Add clojure-core-memoize.
>   gnu: Add clojure-tools-analyzer.
>   gnu: Add clojure-tools-reader.
>   gnu: Add clojure-tools-analyzer-jvm.
>   gnu: Add clojure-tools-logging.
>   gnu: Add clojure-core-async.
>   gnu: Add http-kit.

This looks great, modulo one tiny thing: synopses shouldn’t have a
period, as flagged by ‘guix lint’, and descriptions should be proper
sentences (see
<https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html>).

Do you think you could tweak those?

Thanks, and apologies for the delay!

Ludo’.




^ permalink raw reply	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json.
  2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
                   ` (10 preceding siblings ...)
  2024-09-06 21:55 ` [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Ludovic Courtès
@ 2024-09-07  9:51 ` Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 02/10] gnu: Add clojure-data-priority-map Roman Scherer
                     ` (8 more replies)
  11 siblings, 9 replies; 25+ messages in thread
From: Roman Scherer @ 2024-09-07  9:51 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer

* gnu/packages/clojure.scm (clojure-data-json): New variable.

Change-Id: Id5da429fe375c656842250ed88d84d281954cec9
---
 gnu/packages/clojure.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index d315fc9187..c3f34e61a6 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -397,6 +397,32 @@ (define-public clojure-data-csv
 relaxed.")
     (license license:epl1.0)))
 
+(define-public clojure-data-json
+  (package
+    (name "clojure-data-json")
+    (version "2.5.0")
+    (home-page "https://github.com/clojure/data.json")
+    (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
+                "04k3fr9y1gp337h0d2zxam3aa3hl046r2g2qiizn7aq0rq6311p9"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (native-inputs (list clojure-test-check))
+    (synopsis "Clojure library for reading and writing JSON data")
+    (description "@code{data.json} is a Clojure library for reading and
+writing JSON data.  @code{data.xml} is compliant with the JSON spec and has no
+external dependencies")
+    (license license:epl1.0)))
+
 (define-public clojure-data-xml
   (package
     (name "clojure-data-xml")

base-commit: b2f9231cd9ff0ce326e36e258a4d14484d6e2199
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH v2 02/10] gnu: Add clojure-data-priority-map.
  2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
@ 2024-09-07  9:51   ` Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 03/10] gnu: Add clojure-core-cache Roman Scherer
                     ` (7 subsequent siblings)
  8 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-09-07  9:51 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer

* gnu/packages/clojure.scm (clojure-data-priority-map): New variable.
---
 gnu/packages/clojure.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index c3f34e61a6..9887f1c520 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -423,6 +423,35 @@ (define-public clojure-data-json
 external dependencies")
     (license license:epl1.0)))
 
+(define-public clojure-data-priority-map
+  (package
+    (name "clojure-data-priority-map")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/data.priority-map")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0aynzrdl0w08q89nd069lcx8s6msqmwrpqnya63jv1l2pn3w6ij4"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (synopsis "Priority map implementation in Clojure")
+    (description
+     "A priority map is very similar to a sorted map, but whereas a sorted map
+produces a sequence of the entries sorted by key, a priority map produces the
+entries sorted by value.  In addition to supporting all the functions a sorted
+map supports, a priority map can also be thought of as a queue of [item
+priority] pairs.  To support usage as a versatile priority queue, priority
+maps also support conj/peek/pop operations.")
+    (home-page "https://github.com/clojure/data.priority-map")
+    (license license:epl1.0)))
+
 (define-public clojure-data-xml
   (package
     (name "clojure-data-xml")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH v2 03/10] gnu: Add clojure-core-cache.
  2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 02/10] gnu: Add clojure-data-priority-map Roman Scherer
@ 2024-09-07  9:51   ` Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 04/10] gnu: Add clojure-core-memoize Roman Scherer
                     ` (6 subsequent siblings)
  8 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-09-07  9:51 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer

* gnu/packages/clojure.scm (clojure-core-cache): New variable.
---
 gnu/packages/clojure.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 9887f1c520..005a7f2b4a 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -318,6 +318,33 @@ (define-public clojure-algo-monads
     (home-page "https://github.com/clojure/algo.monads")
     (license license:epl1.0)))
 
+(define-public clojure-core-cache
+  (package
+    (name "clojure-core-cache")
+    (version "1.1.234")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/core.cache")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0jiq022kd5jdpmxz884rvg5317xmx7g3gnidkpcfsamchyfh5qxq"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("docs")))
+    (propagated-inputs (list clojure-data-priority-map))
+    (synopsis "Clojure caching library")
+    (description
+     "Caching library for Clojure implementing various cache strategies such
+as First-in-first-out, Least-recently-used, Least-used, Time-to-live, Naive
+cache and Naive cache backed with soft references.")
+    (home-page "https://github.com/clojure/core.cache")
+    (license license:epl1.0)))
+
 (define-public clojure-core-match
   (package
     (name "clojure-core-match")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH v2 04/10] gnu: Add clojure-core-memoize.
  2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 02/10] gnu: Add clojure-data-priority-map Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 03/10] gnu: Add clojure-core-cache Roman Scherer
@ 2024-09-07  9:51   ` Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 05/10] gnu: Add clojure-tools-analyzer Roman Scherer
                     ` (5 subsequent siblings)
  8 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-09-07  9:51 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer

* gnu/packages/clojure.scm (clojure-core-memoize): New variable.
---
 gnu/packages/clojure.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 005a7f2b4a..7323b0181f 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -370,6 +370,33 @@ (define-public clojure-core-match
     (home-page "https://github.com/clojure/core.match")
     (license license:epl1.0)))
 
+(define-public clojure-core-memoize
+  (package
+    (name "clojure-core-memoize")
+    (version "1.1.266")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/core.memoize")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0nys79zrvcnwgyxb91zlyl3nb4p6r6y4n5rbdvzqkvsxxazi9ji0"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("docs")))
+    (propagated-inputs (list clojure-core-cache))
+    (synopsis "Memoization framework for Clojure")
+    (description
+     "A manipulable, pluggable, memoization framework for Clojure implementing
+some common memoization caching strategies, such as First-in-first-out,
+Least-recently-used, Least-used and Time-to-live.")
+    (home-page "https://github.com/clojure/core.memoize")
+    (license license:epl1.0)))
+
 (define-public clojure-data-codec
   (package
     (name "clojure-data-codec")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH v2 05/10] gnu: Add clojure-tools-analyzer.
  2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
                     ` (2 preceding siblings ...)
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 04/10] gnu: Add clojure-core-memoize Roman Scherer
@ 2024-09-07  9:51   ` Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 06/10] gnu: Add clojure-tools-reader Roman Scherer
                     ` (4 subsequent siblings)
  8 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-09-07  9:51 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer

* gnu/packages/clojure.scm (clojure-tools-analyzer): New variable.
---
 gnu/packages/clojure.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 7323b0181f..082ff530fa 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -634,6 +634,31 @@ (define-public clojure-test-check
 concise, powerful tests.")
     (license license:epl1.0)))
 
+(define-public clojure-tools-analyzer
+  (package
+    (name "clojure-tools-analyzer")
+    (version "1.2.0")
+    (home-page "https://github.com/clojure/tools.analyzer")
+    (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
+                "05v4i8qs5d51lh113phib0brkysphxa2d71khm840586432knyaa"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (synopsis "Analyzer for Clojure code")
+    (description "Analyzer for Clojure code, written in Clojure, which
+produces an abstract syntax tree in the EDN ( Extensible Data Notation)
+format.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-macro
   (package
     (name "clojure-tools-macro")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH v2 06/10] gnu: Add clojure-tools-reader.
  2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
                     ` (3 preceding siblings ...)
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 05/10] gnu: Add clojure-tools-analyzer Roman Scherer
@ 2024-09-07  9:51   ` Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 07/10] gnu: Add clojure-tools-analyzer-jvm Roman Scherer
                     ` (3 subsequent siblings)
  8 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-09-07  9:51 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer

* gnu/packages/clojure.scm (clojure-tools-reader): New variable.
---
 gnu/packages/clojure.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 082ff530fa..e6666c4440 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -860,3 +860,29 @@ (define-public clojure-tools-gitlibs
 indicated by git SHAs.  This library provides this functionality and also
 keeps a cache of git directories and working trees that can be reused.")
     (license license:epl1.0)))
+
+(define-public clojure-tools-reader
+  (package
+    (name "clojure-tools-reader")
+    (version "1.5.0")
+    (home-page "https://github.com/clojure/tools.reader")
+    (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
+                "1jf05q4ym8z16qaxidx47g2gjv04qcf1wvkca3wqyiaszpvym4zz"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:doc-dirs '()
+       #:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:test-exclude '(clojure.tools.common-tests))) ; Loaded by other tests.
+    (synopsis "Clojure reader written in Clojure")
+    (description "The clojure.tools.reader library offers all functionality
+provided by the Clojure Core reader and more.  It adds metadata such as column
+and line numbers not only to lists, but also to symbols, vectors and maps.")
+    (license license:epl1.0)))
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH v2 07/10] gnu: Add clojure-tools-analyzer-jvm.
  2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
                     ` (4 preceding siblings ...)
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 06/10] gnu: Add clojure-tools-reader Roman Scherer
@ 2024-09-07  9:51   ` Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 08/10] gnu: Add clojure-tools-logging Roman Scherer
                     ` (2 subsequent siblings)
  8 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-09-07  9:51 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer

* gnu/packages/clojure.scm (clojure-tools-analyzer-jvm): New variable.
---
 gnu/packages/clojure.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index e6666c4440..98aed529f5 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -659,6 +659,34 @@ (define-public clojure-tools-analyzer
 format.")
     (license license:epl1.0)))
 
+(define-public clojure-tools-analyzer-jvm
+  (package
+    (name "clojure-tools-analyzer-jvm")
+    (version "1.3.0")
+    (home-page "https://github.com/clojure/tools.analyzer.jvm")
+    (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
+                "13nxzdp15772hzl3jmi5014jkwldkm1qccfycwkk2pn64hycmnxl"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("docs")))
+    (propagated-inputs (list clojure-tools-analyzer
+                             clojure-tools-reader
+                             clojure-core-memoize
+                             java-asm))
+    (synopsis "Analyzer for Clojure code targeting the JVM")
+    (description "Analyzer for Clojure code, written on top of
+tools.analyzer, providing additional JVM-specific passes.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-macro
   (package
     (name "clojure-tools-macro")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH v2 08/10] gnu: Add clojure-tools-logging.
  2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
                     ` (5 preceding siblings ...)
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 07/10] gnu: Add clojure-tools-analyzer-jvm Roman Scherer
@ 2024-09-07  9:51   ` Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 09/10] gnu: Add clojure-core-async Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 10/10] gnu: Add http-kit Roman Scherer
  8 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-09-07  9:51 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer

* gnu/packages/clojure.scm (clojure-tools-logging): New variable.
---
 gnu/packages/clojure.scm | 47 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 98aed529f5..f11b75140b 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -889,6 +889,53 @@ (define-public clojure-tools-gitlibs
 keeps a cache of git directories and working trees that can be reused.")
     (license license:epl1.0)))
 
+(define-public clojure-tools-logging
+  (package
+    (name "clojure-tools-logging")
+    (version "1.3.0")
+    (home-page "https://github.com/clojure/tools.logging")
+    (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
+                "106n4cxsxzs0hvpsfi1h14b09xm6klrvj1g5fbd5nw8fj3mpkdac"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:doc-dirs '()
+       #:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:phases
+       (modify-phases %standard-phases
+         ;; These tests should throw a ClassCastException, but they don't
+         ;; under AOT. Adjust them :/
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* (string-append "src/test/clojure/clojure/tools"
+                                         "/logging/test_readable.clj")
+               (((string-append "\\(thrown\\? ClassCastException \\(logf "
+                                ":debug \\(Exception\\.\\)\\)\\)"))
+                "(nil? (logf :debug (Exception.)))"))
+             (substitute* "src/test/clojure/clojure/tools/test_logging.clj"
+               (((string-append "\\(thrown\\? ClassCastException \\(logf "
+                                ":debug \\(Exception\\.\\)\\)\\)"))
+                "(nil? (logf :debug (Exception.)))")))))))
+    (native-inputs
+     (list java-commons-logging-minimal
+           java-log4j-1.2-api
+           java-log4j-api
+           java-log4j-core
+           java-slf4j-api
+           java-slf4j-simple))
+    (synopsis "Clojure logging library")
+    (description "Logging macros which delegate to a specific logging
+implementation, selected at runtime when the clojure.tools.logging namespace
+is first loaded.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-reader
   (package
     (name "clojure-tools-reader")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH v2 09/10] gnu: Add clojure-core-async.
  2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
                     ` (6 preceding siblings ...)
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 08/10] gnu: Add clojure-tools-logging Roman Scherer
@ 2024-09-07  9:51   ` Roman Scherer
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 10/10] gnu: Add http-kit Roman Scherer
  8 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-09-07  9:51 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer

* gnu/packages/clojure.scm (clojure-core-async): New variable.
---
 gnu/packages/clojure.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

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 @@ (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")
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH v2 10/10] gnu: Add http-kit.
  2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
                     ` (7 preceding siblings ...)
  2024-09-07  9:51   ` [bug#72463] [PATCH v2 09/10] gnu: Add clojure-core-async Roman Scherer
@ 2024-09-07  9:51   ` Roman Scherer
  8 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-09-07  9:51 UTC (permalink / raw)
  To: 72463; +Cc: Roman Scherer

* gnu/packages/clojure.scm (http-kit): New variable.
---
 gnu/packages/clojure.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 4000c075ad..1aa81c21ae 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -995,3 +995,28 @@ (define-public clojure-tools-reader
 provided by the Clojure Core reader and more.  It adds metadata such as column
 and line numbers not only to lists, but also to symbols, vectors and maps.")
     (license license:epl1.0)))
+
+(define-public http-kit
+  (package
+    (name "http-kit")
+    (version "2.8.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/http-kit/http-kit")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1361bpb4sn3dbp215s7gf1bcrb45lgx3lk6lix7bndw9lahr5ank"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:java-source-dirs '("src/java")
+       #:source-dirs '("src")
+       #:doc-dirs '()
+       #:tests? #f))  ;; Too many unpackaged dependencies
+    (synopsis "Simple, high-performance event-driven HTTP client and server for Clojure")
+    (description "Minimalist, event-driven, high-performance Clojure HTTP
+client and server library with WebSocket and asynchronous support.")
+    (home-page "https://github.com/http-kit/http-kit")
+    (license license:asl2.0)))
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit
  2024-09-06 21:55 ` [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Ludovic Courtès
@ 2024-09-07  9:53   ` Roman Scherer
  2024-09-12 17:08     ` bug#72463: " Ludovic Courtès
  0 siblings, 1 reply; 25+ messages in thread
From: Roman Scherer @ 2024-09-07  9:53 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Roman Scherer, 72463

[-- Attachment #1: Type: text/plain, Size: 1078 bytes --]


Hi Ludo,

thanks for the review. Thanks for the review. Looks like I forgot to run
the linter on those patches. I did so now, and also updated 2 of the
packages to a newer version.

Can you have another look, please?

Thanks, Roman.

Ludovic Courtès <ludo@gnu.org> writes:

> Hi Roman,
>
> Roman Scherer <roman@burningswell.com> skribis:
>
>>   gnu: Add clojure-data-json.
>>   gnu: Add clojure-data-priority-map.
>>   gnu: Add clojure-core-cache.
>>   gnu: Add clojure-core-memoize.
>>   gnu: Add clojure-tools-analyzer.
>>   gnu: Add clojure-tools-reader.
>>   gnu: Add clojure-tools-analyzer-jvm.
>>   gnu: Add clojure-tools-logging.
>>   gnu: Add clojure-core-async.
>>   gnu: Add http-kit.
>
> This looks great, modulo one tiny thing: synopses shouldn’t have a
> period, as flagged by ‘guix lint’, and descriptions should be proper
> sentences (see
> <https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html>).
>
> Do you think you could tweak those?
>
> Thanks, and apologies for the delay!
>
> Ludo’.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* bug#72463: [PATCH 00/10] Add Clojure Core packages and HTTPkit
  2024-09-07  9:53   ` Roman Scherer
@ 2024-09-12 17:08     ` Ludovic Courtès
  2024-09-12 18:35       ` [bug#72463] " Roman Scherer
  0 siblings, 1 reply; 25+ messages in thread
From: Ludovic Courtès @ 2024-09-12 17:08 UTC (permalink / raw)
  To: Roman Scherer; +Cc: 72463-done

[-- Attachment #1: Type: text/plain, Size: 88 bytes --]

Hello,

Applied v2 with the change below on the last patch.

Thanks!

Ludo’.


[-- Attachment #2: Type: text/x-patch, Size: 1362 bytes --]

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 1aa81c21ae..09674f541e 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
 ;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1014,9 +1015,11 @@ (define-public http-kit
      '(#:java-source-dirs '("src/java")
        #:source-dirs '("src")
        #:doc-dirs '()
-       #:tests? #f))  ;; Too many unpackaged dependencies
-    (synopsis "Simple, high-performance event-driven HTTP client and server for Clojure")
-    (description "Minimalist, event-driven, high-performance Clojure HTTP
-client and server library with WebSocket and asynchronous support.")
+       #:tests? #f))                    ;XXX: too many unpackaged dependencies
+    (synopsis
+     "High-performance, event-driven HTTP client and server for Clojure")
+    (description "This package provides a minimalist, event-driven,
+high-performance Clojure HTTP client and server library with WebSocket and
+asynchronous support.")
     (home-page "https://github.com/http-kit/http-kit")
     (license license:asl2.0)))

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit
  2024-09-12 17:08     ` bug#72463: " Ludovic Courtès
@ 2024-09-12 18:35       ` Roman Scherer
  0 siblings, 0 replies; 25+ messages in thread
From: Roman Scherer @ 2024-09-12 18:35 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Roman Scherer, 72463-done

[-- Attachment #1: Type: text/plain, Size: 1577 bytes --]


Thank you!

Ludovic Courtès <ludo@gnu.org> writes:

> Hello,
>
> Applied v2 with the change below on the last patch.
>
> Thanks!
>
> Ludo’.
>
> diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
> index 1aa81c21ae..09674f541e 100644
> --- a/gnu/packages/clojure.scm
> +++ b/gnu/packages/clojure.scm
> @@ -4,6 +4,7 @@
>  ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
>  ;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
>  ;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
> +;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -1014,9 +1015,11 @@ (define-public http-kit
>       '(#:java-source-dirs '("src/java")
>         #:source-dirs '("src")
>         #:doc-dirs '()
> -       #:tests? #f))  ;; Too many unpackaged dependencies
> -    (synopsis "Simple, high-performance event-driven HTTP client and server for Clojure")
> -    (description "Minimalist, event-driven, high-performance Clojure HTTP
> -client and server library with WebSocket and asynchronous support.")
> +       #:tests? #f))                    ;XXX: too many unpackaged dependencies
> +    (synopsis
> +     "High-performance, event-driven HTTP client and server for Clojure")
> +    (description "This package provides a minimalist, event-driven,
> +high-performance Clojure HTTP client and server library with WebSocket and
> +asynchronous support.")
>      (home-page "https://github.com/http-kit/http-kit")
>      (license license:asl2.0)))

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2024-09-12 18:38 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-04 14:44 [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Roman Scherer
2024-08-05  5:16 ` [bug#72463] [PATCH 01/10] gnu: Add clojure-data-json Roman Scherer
2024-08-05  5:16 ` [bug#72463] [PATCH 02/10] gnu: Add clojure-data-priority-map Roman Scherer
2024-08-05  5:16 ` [bug#72463] [PATCH 03/10] gnu: Add clojure-core-cache Roman Scherer
2024-08-05  5:16 ` [bug#72463] [PATCH 04/10] gnu: Add clojure-core-memoize Roman Scherer
2024-08-05  5:16 ` [bug#72463] [PATCH 05/10] gnu: Add clojure-tools-analyzer Roman Scherer
2024-08-05  5:16 ` [bug#72463] [PATCH 06/10] gnu: Add clojure-tools-reader Roman Scherer
2024-08-05  5:16 ` [bug#72463] [PATCH 07/10] gnu: Add clojure-tools-analyzer-jvm Roman Scherer
2024-08-05  5:16 ` [bug#72463] [PATCH 08/10] gnu: Add clojure-tools-logging Roman Scherer
2024-08-05  5:16 ` [bug#72463] [PATCH 09/10] gnu: Add clojure-core-async Roman Scherer
2024-08-05  5:16 ` [bug#72463] [PATCH 10/10] gnu: Add http-kit Roman Scherer
2024-09-06 21:55 ` [bug#72463] [PATCH 00/10] Add Clojure Core packages and HTTPkit Ludovic Courtès
2024-09-07  9:53   ` Roman Scherer
2024-09-12 17:08     ` bug#72463: " Ludovic Courtès
2024-09-12 18:35       ` [bug#72463] " Roman Scherer
2024-09-07  9:51 ` [bug#72463] [PATCH v2 01/10] gnu: Add clojure-data-json Roman Scherer
2024-09-07  9:51   ` [bug#72463] [PATCH v2 02/10] gnu: Add clojure-data-priority-map Roman Scherer
2024-09-07  9:51   ` [bug#72463] [PATCH v2 03/10] gnu: Add clojure-core-cache Roman Scherer
2024-09-07  9:51   ` [bug#72463] [PATCH v2 04/10] gnu: Add clojure-core-memoize Roman Scherer
2024-09-07  9:51   ` [bug#72463] [PATCH v2 05/10] gnu: Add clojure-tools-analyzer Roman Scherer
2024-09-07  9:51   ` [bug#72463] [PATCH v2 06/10] gnu: Add clojure-tools-reader Roman Scherer
2024-09-07  9:51   ` [bug#72463] [PATCH v2 07/10] gnu: Add clojure-tools-analyzer-jvm Roman Scherer
2024-09-07  9:51   ` [bug#72463] [PATCH v2 08/10] gnu: Add clojure-tools-logging Roman Scherer
2024-09-07  9:51   ` [bug#72463] [PATCH v2 09/10] gnu: Add clojure-core-async Roman Scherer
2024-09-07  9:51   ` [bug#72463] [PATCH v2 10/10] gnu: Add http-kit Roman Scherer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).