all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#53765] [PATCH v3 01/17] gnu: Add clojure-data-priority-map.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
@ 2022-01-15 22:30   ` Reily Siegel
  2022-01-15 22:32   ` [bug#53765] [PATCH v3 02/17] gnu: Add clojure-data-json Reily Siegel
                     ` (15 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-15 22:30 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index e6eb749501..44c85b9ef2 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -315,6 +315,36 @@ (define-public clojure-data-codec
 is on par with Java implementations, e.g., Apache commons-codec.")
     (license license:epl1.0)))
 
+(define-public clojure-data-priority-map
+  (package
+    (name "clojure-data-priority-map")
+    (version "1.1.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
+                "1i6mf59g2l3vamris869mndy9l1bp5mzfqv5gj5qzzb937iiykm0"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (home-page "https://github.com/clojure/data.priority-map")
+    (synopsis "Clojure library implementing priority maps")
+    (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 @code{[item priority]} pairs.  To
+support usage as a versatile priority queue, priority maps also support
+insert/peek/pop operations.")
+    (license license:epl1.0)))
+
 (define-public clojure-data-xml
   (package
     (name "clojure-data-xml")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 02/17] gnu: Add clojure-data-json.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
  2022-01-15 22:30   ` [bug#53765] [PATCH v3 01/17] gnu: Add clojure-data-priority-map Reily Siegel
@ 2022-01-15 22:32   ` Reily Siegel
  2022-01-16  1:38   ` [bug#53765] [PATCH v3 03/17] gnu: Add java-eclipse-jetty-client Reily Siegel
                     ` (14 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-15 22:32 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 44c85b9ef2..f9349e7523 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -315,6 +315,37 @@ (define-public clojure-data-codec
 is on par with Java implementations, e.g., Apache commons-codec.")
     (license license:epl1.0)))
 
+(define-public clojure-data-json
+  (package
+    (name "clojure-data-json")
+    (version "2.4.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/data.json")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1xx3hiy62rrph4y4g3aqa1lfb0ns3p6vdvcvlpgm5w1npl70n2r5"))))
+    (build-system clojure-build-system)
+    (native-inputs (list clojure-test-check))
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()
+       ;; Tests fail due to issues with clojure.pprint. This is an issue with
+       ;; how Guix AOT-compiles Clojure.
+       #:test-exclude '(clojure.data.json-compat-0-1-test
+                        clojure.data.json-gen-test
+                        clojure.data.json-test)))
+    (home-page "https://github.com/clojure/data.json")
+    (synopsis "JSON parser/generator to/from Clojure data structures")
+    (description "clojure-data-json implements a JSON parser/generator that
+enables easy conversion between Clojure data structures and JSON strings,
+without needing a defined schema.")
+    (license license:epl1.0)))
+
 (define-public clojure-data-priority-map
   (package
     (name "clojure-data-priority-map")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 03/17] gnu: Add java-eclipse-jetty-client.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
  2022-01-15 22:30   ` [bug#53765] [PATCH v3 01/17] gnu: Add clojure-data-priority-map Reily Siegel
  2022-01-15 22:32   ` [bug#53765] [PATCH v3 02/17] gnu: Add clojure-data-json Reily Siegel
@ 2022-01-16  1:38   ` Reily Siegel
  2022-01-16  1:48   ` [bug#53765] [PATCH v3 04/17] gnu: Add clojure-core-cache Reily Siegel
                     ` (13 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-16  1:38 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


---
 gnu/packages/web.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 75aa5ce907..7e486ca18c 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -7272,6 +7272,30 @@ (define-public java-eclipse-jetty-webapp-9.2
      `(("java-eclipse-jetty-io-9.2" ,java-eclipse-jetty-io-9.2)
        ,@(package-native-inputs java-eclipse-jetty-util-9.2)))))
 
+(define-public java-eclipse-jetty-client
+  (package
+    (inherit java-eclipse-jetty-util)
+    (name "java-eclipse-jetty-client")
+    (arguments
+     `(#:jar-name "eclipse-jetty-client.jar"
+       #:source-dir "src/main/java"
+       #:tests? #f; require junit 5
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'chdir
+           (lambda _
+             (chdir "jetty-client"))))))
+    (inputs
+     (list java-eclipse-jetty-util
+           java-eclipse-jetty-http
+           java-eclipse-jetty-io
+           java-eclipse-jetty-server
+           java-eclipse-jetty-servlet
+           java-eclipse-jetty-security
+           java-eclipse-jetty-xml
+           java-javaee-servletapi
+           java-eclipse-jetty-jmx))))
+
 (define-public java-jsoup
   (package
     (name "java-jsoup")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 04/17] gnu: Add clojure-core-cache.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (2 preceding siblings ...)
  2022-01-16  1:38   ` [bug#53765] [PATCH v3 03/17] gnu: Add java-eclipse-jetty-client Reily Siegel
@ 2022-01-16  1:48   ` Reily Siegel
  2022-01-16  1:51   ` [bug#53765] [PATCH v3 05/17] gnu: Add clojure-core-memoize Reily Siegel
                     ` (12 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-16  1:48 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index f9349e7523..9063776921 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -259,6 +259,58 @@ (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.0.225")
+    (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
+                "1dr1ply7ffdbd6bv4gygzmc0wx3q7zwzaaa1p93s28jkfp28276l"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("doc")))
+    (propagated-inputs (list clojure-data-priority-map))
+    (home-page "https://github.com/clojure/core.cache")
+    (synopsis "Caching library for Clojure implementing various cache strategies")
+    (description "@code{core.cache} is a Clojure library providing the
+following features:
+
+@itemize
+
+@item An underlying CacheProtocol used as the base abstraction for implementing
+new synchronous caches
+
+@item A @code{defcache} macro for defining key-value caches that implement the
+standard collection interfaces.
+
+@item Implementations of some basic caching strategies
+
+
+@itemize
+@item @acronym{FIFO, first in first out}
+@item @acronym{LRU, least recently used}
+@item @acronym{LU, least frequently used}
+@item @acronym{TLL, time to live}
+@item Naive cache which can grow indefinitely
+@end itemize
+
+@item Factory functions for each existing cache type
+@end itemize
+
+Caches are generally immutable and should be used in conjunction with
+Clojure's state management, such as atom.  SoftCache is the exception here,
+built on top of mutable Java collections, but it can be treated as an
+immutable cache as well.")
+    (license license:epl1.0)))
+
 (define-public clojure-core-match
   (let ((commit "1837ffbd4a150e8f3953b2d9ed5cf4a4ad3720a7")
         (revision "1")) ; this is the 1st commit buildable with clojure 1.9
-- 
2.35.1




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

* [bug#53765] [PATCH v3 05/17] gnu: Add clojure-core-memoize.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (3 preceding siblings ...)
  2022-01-16  1:48   ` [bug#53765] [PATCH v3 04/17] gnu: Add clojure-core-cache Reily Siegel
@ 2022-01-16  1:51   ` Reily Siegel
  2022-01-16  2:06   ` [bug#53765] [PATCH v3 06/17] gnu: Add clojure-http-kit Reily Siegel
                     ` (11 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-16  1:51 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 9063776921..0b4c7a623a 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -338,6 +338,40 @@ (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.0.253")
+    (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
+                "1qky54v114sh3xn0lffwy7xx3wnnayk07fr2nvhd4lih84sv6rdz"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("docs")
+       ;; Tests fail when AOT'd.
+       #:aot-exclude '(#:all)))
+    (propagated-inputs (list clojure-core-cache))
+    (home-page "https://github.com/clojure/core.memoize")
+    (synopsis "Customisable memoization library supporting automatic removal")
+    (description "This memoization library supports various cache replacement
+strategies:
+
+ @itemize
+ @item @acronym{FIFO, first in first out}
+ @item @acronym{LRU, least recently used}
+ @item @acronym{TLL, time to live}
+ @item no replacement, the memoisation cache can grow indefinitely
+ @end itemize")
+    (license license:epl1.0)))
+
 (define-public clojure-data-codec
   (package
     (name "clojure-data-codec")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 06/17] gnu: Add clojure-http-kit.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (4 preceding siblings ...)
  2022-01-16  1:51   ` [bug#53765] [PATCH v3 05/17] gnu: Add clojure-core-memoize Reily Siegel
@ 2022-01-16  2:06   ` Reily Siegel
  2022-01-16  2:40   ` [bug#53765] [PATCH v3 07/17] gnu: Add clojure-tools-analyzer Reily Siegel
                     ` (10 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-16  2:06 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 0b4c7a623a..664988f2bd 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -499,6 +499,37 @@ (define-public clojure-data-xml
 lazy - should allow parsing and emitting of large XML documents")
     (license license:epl1.0)))
 
+(define-public clojure-http-kit
+  (package
+    (name "clojure-http-kit")
+    (version "2.5.3")
+    (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
+                "19m3j5ad4q7ywl0nd39vs0wha4md8fb846ykz0anv31rvdzv5yv3"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:doc-dirs '()
+       #:java-source-dirs '("src/java")
+       ;; Broken test dependencies. Upstream reports that the current version
+       ;; of ring-defaults causes tests to hang, but that updating it would
+       ;; break other test dependencies. See project.clj for more details.
+       ;;
+       ;; Before re-enabling tests, make sure that test/ssl_keystore won't
+       ;; expire, to ensure reproducibility.
+       #:tests? #f))
+    (home-page "https://github.com/http-kit/http-kit")
+    (synopsis "High-performance event-driven HTTP client/server for Clojure")
+    (description "HTTP Kit is an HTTP client and server that complies with the
+Ring HTTP standard for integration with other Ring compatible libraries.  It
+supports both synchronous and asynchronous requests, as well as WebSockets.")
+    (license (list license:asl2.0 license:bsd-3))))
+
 (define-public clojure-instaparse
   (let ((commit "dcfffad5b065e750f0f5835f017cdd8188b8ca2e")
         (version "1.4.9")) ; upstream forget to tag this release
-- 
2.35.1




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

* [bug#53765] [PATCH v3 07/17] gnu: Add clojure-tools-analyzer.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (5 preceding siblings ...)
  2022-01-16  2:06   ` [bug#53765] [PATCH v3 06/17] gnu: Add clojure-http-kit Reily Siegel
@ 2022-01-16  2:40   ` Reily Siegel
  2022-01-16  2:43   ` [bug#53765] [PATCH v3 08/17] gnu: Add clojure-tools-analyzer-jvm Reily Siegel
                     ` (9 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-16  2:40 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 664988f2bd..12bbbaeabe 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -632,6 +632,37 @@ (define-public clojure-tools-macro
     (home-page "https://github.com/clojure/tools.macro")
     (license license:epl1.0)))
 
+(define-public clojure-tools-analyzer
+  (package
+    (name "clojure-tools-analyzer")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/tools.analyzer")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "19cgxxbav3z3k62hwl34vbi3lilrs4vksa4j8lvswha8sdjs01vh"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (home-page "https://github.com/clojure/tools.analyzer")
+    (synopsis "Analyzer for Clojure code, written in Clojure and producing
+AST in EDN")
+    (description "An analyzer for host agnostic Clojure code, written in
+Clojure and producing AST in EDN.
+
+Note that the analyzer in this library should not to be used directly as it
+lacks any knowledge about host-specific special forms and it should only be
+considered as a building platform for host-specific analyzers.  Currently the
+following platform specific analyzers written on top of tools.analyzer exist:
+@code{tools.analyzer.jvm}, @code{tools.analyzer.js}")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-cli
   (package
     (name "clojure-tools-cli")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 08/17] gnu: Add clojure-tools-analyzer-jvm.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (6 preceding siblings ...)
  2022-01-16  2:40   ` [bug#53765] [PATCH v3 07/17] gnu: Add clojure-tools-analyzer Reily Siegel
@ 2022-01-16  2:43   ` Reily Siegel
  2022-01-21 23:43   ` [bug#53765] [PATCH v3 10/17] gnu: Add clojure-tools-logging Reily Siegel
                     ` (8 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-16  2:43 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 12bbbaeabe..e17abd271e 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -663,6 +663,34 @@ (define-public clojure-tools-analyzer
 @code{tools.analyzer.jvm}, @code{tools.analyzer.js}")
     (license license:epl1.0)))
 
+(define-public clojure-tools-analyzer-jvm
+  (package
+    (name "clojure-tools-analyzer-jvm")
+    (version "1.2.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/tools.analyzer.jvm")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1ibvgvfa4618l5d0pff9gjar1s0fwagi029v4allk7z3swb93ibr"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("doc")))
+    (propagated-inputs (list clojure-core-memoize
+                             clojure-tools-reader
+                             clojure-tools-analyzer
+                             java-asm))
+    (home-page "https://github.com/clojure/tools.analyzer.jvm")
+    (synopsis "Additional jvm-specific passes for @code{tools.analyzer}")
+    (description "An analyzer for Clojure code, written on top of
+@code{tools.analyzer}, providing additional jvm-specific passes.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-cli
   (package
     (name "clojure-tools-cli")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 10/17] gnu: Add clojure-tools-logging.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (7 preceding siblings ...)
  2022-01-16  2:43   ` [bug#53765] [PATCH v3 08/17] gnu: Add clojure-tools-analyzer-jvm Reily Siegel
@ 2022-01-21 23:43   ` Reily Siegel
  2022-01-22  0:19   ` [bug#53765] [PATCH v3 11/17] gnu: Add clojure-core-async Reily Siegel
                     ` (7 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-21 23:43 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 5b7189b997..edc6e4be9a 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -805,6 +805,40 @@ (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")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/tools.logging")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vcl1s75amazzdyirnpza8jizp85d5178p0qkqfk26vl7yajvz7a"))))
+    (build-system clojure-build-system)
+    (native-inputs (list clojure-test-check
+                         java-slf4j-api
+                         java-slf4j-simple
+                         java-log4j-api
+                         java-log4j-core
+                         java-commons-logging-minimal))
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()
+       ;; Tests fail due to issues with clojure.pprint. This is an issue with
+       ;; how Guix AOT-compiles Clojure.
+       #:tests? #f))
+    (home-page "https://github.com/clojure/tools.logging")
+    (synopsis "Clojure logging toolkit")
+    (description "Logging macros which delegate to a specific logging
+implementation, selected at runtime when the @code{clojure.tools.logging}
+namespace is first loaded.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-reader
   (package
     (name "clojure-tools-reader")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 11/17] gnu: Add clojure-core-async.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (8 preceding siblings ...)
  2022-01-21 23:43   ` [bug#53765] [PATCH v3 10/17] gnu: Add clojure-tools-logging Reily Siegel
@ 2022-01-22  0:19   ` Reily Siegel
  2022-01-22  0:32   ` [bug#53765] [PATCH v3 12/17] gnu: Add clojure-com-cognitect-http-client Reily Siegel
                     ` (6 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-22  0:19 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index edc6e4be9a..7b2af9464d 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -259,6 +259,36 @@ (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")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/core.async")
+                    (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)))
+    (propagated-inputs (list clojure-tools-analyzer-jvm))
+    (home-page "https://github.com/clojure/core.async")
+    (synopsis "Facilities for async programming and communication in Clojure")
+    (description "@{core.async} is a Clojure library providing facilities for
+async programming and communication in Clojure using communicating sequential
+processes.  @{core.async} supports both multi-threaded and single-threaded
+environments.")
+    (license license:epl1.0)))
+
 (define-public clojure-core-cache
   (package
     (name "clojure-core-cache")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 12/17] gnu: Add clojure-com-cognitect-http-client.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (9 preceding siblings ...)
  2022-01-22  0:19   ` [bug#53765] [PATCH v3 11/17] gnu: Add clojure-core-async Reily Siegel
@ 2022-01-22  0:32   ` Reily Siegel
  2022-01-22  0:35   ` [bug#53765] [PATCH v3 13/17] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
                     ` (5 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-22  0:32 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 7b2af9464d..964d33185e 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -25,6 +25,7 @@ (define-module (gnu packages clojure)
   #:use-module (gnu packages java)
   #:use-module (gnu packages maven)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages web)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -259,6 +260,36 @@ (define-public clojure-algo-monads
     (home-page "https://github.com/clojure/algo.monads")
     (license license:epl1.0)))
 
+(define-public clojure-com-cognitect-http-client
+  (package
+    (name "clojure-com-cognitect-http-client")
+    (version "1.0.111")
+    (source (origin
+              (method url-fetch)
+              ;; This JAR contains only uncompiled Clojure sources.
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "com/cognitect/http-client/"
+                                  version "/http-client-"
+                                  version ".jar"))
+              (sha256
+               (base32
+                "0n03vyr6i6n8ll8jn14b5zsba5pndb0ivdwizimz16gd8w3kf5xh"))))
+    (build-system clojure-build-system)
+    (propagated-inputs (list clojure-core-async
+                             java-eclipse-jetty-client
+                             java-eclipse-jetty-http
+                             java-eclipse-jetty-util
+                             java-eclipse-jetty-io))
+    (arguments
+     '(#:source-dirs '("src")
+       #:test-dirs '()
+       #:doc-dirs '()))
+    (home-page "https://cognitect.com")
+    (synopsis "HTTP client for Clojure")
+    (description "HTTP client for Clojure that wraps Jetty's Java API,
+providing an API that follows Clojure conventions.")
+    (license license:asl2.0)))
+
 (define-public clojure-core-async
   (package
     (name "clojure-core-async")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 13/17] gnu: Add clojure-com-cognitect-aws-api.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (10 preceding siblings ...)
  2022-01-22  0:32   ` [bug#53765] [PATCH v3 12/17] gnu: Add clojure-com-cognitect-http-client Reily Siegel
@ 2022-01-22  0:35   ` Reily Siegel
  2022-01-22  0:36   ` [bug#53765] [PATCH v3 14/17] gnu: Add clojure-com-cognitect-aws-endpoints Reily Siegel
                     ` (4 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-22  0:35 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 964d33185e..072edea7b2 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -260,6 +260,41 @@ (define-public clojure-algo-monads
     (home-page "https://github.com/clojure/algo.monads")
     (license license:epl1.0)))
 
+(define-public clojure-com-cognitect-aws-api
+  (package
+    (name "clojure-com-cognitect-aws-api")
+    (version "0.8.539")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/cognitect-labs/aws-api")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1pi1578hgfy9w25gyidz5dwl85q51rjm3kfffmlxsysl7vx3gv03"))))
+    (build-system clojure-build-system)
+    (native-inputs (list clojure-http-kit
+                         java-commons-io
+                         clojure-com-cognitect-aws-endpoints
+                         clojure-com-cognitect-aws-s3
+                         clojure-test-check))
+    (propagated-inputs (list clojure-core-async
+                             clojure-tools-logging
+                             clojure-data-json
+                             clojure-data-xml
+                             clojure-com-cognitect-http-client))
+    (arguments
+     '(#:source-dirs '("src" "resources")
+       #:test-dirs '("test/src" "test/resources")
+       #:doc-dirs '("doc")))
+    (home-page "https://github.com/cognitect-labs/aws-api")
+    (synopsis "aws-api is a Clojure library which provides programmatic access
+to AWS services from your Clojure program")
+    (description "@code{aws-api} is a data-oriented Clojure library for
+invoking AWS APIs.")
+    (license license:asl2.0)))
+
 (define-public clojure-com-cognitect-http-client
   (package
     (name "clojure-com-cognitect-http-client")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 14/17] gnu: Add clojure-com-cognitect-aws-endpoints.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (11 preceding siblings ...)
  2022-01-22  0:35   ` [bug#53765] [PATCH v3 13/17] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
@ 2022-01-22  0:36   ` Reily Siegel
  2022-01-22  0:36   ` [bug#53765] [PATCH v3 15/17] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
                     ` (3 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-22  0:36 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 072edea7b2..04eb78c3d6 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -295,6 +295,30 @@ (define-public clojure-com-cognitect-aws-api
 invoking AWS APIs.")
     (license license:asl2.0)))
 
+(define-public clojure-com-cognitect-aws-endpoints
+  (package
+    (inherit clojure-com-cognitect-aws-api)
+    (name "clojure-com-cognitect-aws-endpoints")
+    (version "1.1.12.136")
+    (source (origin
+              (method url-fetch)
+              ;; This JAR contains only data files.
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "com/cognitect/aws/endpoints/"
+                                  version "/endpoints-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "15irzbnr0gp5pf0nh9vws6kyzjsbqshiqm9b8frjgsnizvqw0jqj"))))
+    (native-inputs '())
+    (propagated-inputs '())
+    (arguments
+     '(#:doc-dirs '()
+       ;; This package contains only data, no code to test.
+       #:tests? #f))
+    (synopsis "Endpoint data for @code{aws-api}")
+    (license license:asl2.0)))
+
 (define-public clojure-com-cognitect-http-client
   (package
     (name "clojure-com-cognitect-http-client")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 15/17] gnu: Add clojure-com-cognitect-aws-s3.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (12 preceding siblings ...)
  2022-01-22  0:36   ` [bug#53765] [PATCH v3 14/17] gnu: Add clojure-com-cognitect-aws-endpoints Reily Siegel
@ 2022-01-22  0:36   ` Reily Siegel
  2022-01-25 18:37   ` [bug#53765] [PATCH v3 16/17] gnu: clojure-tools-deps-alpha: Fix issues with S3 Reily Siegel
                     ` (2 subsequent siblings)
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-22  0:36 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 04eb78c3d6..82e9970cfb 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -319,6 +319,31 @@ (define-public clojure-com-cognitect-aws-endpoints
     (synopsis "Endpoint data for @code{aws-api}")
     (license license:asl2.0)))
 
+(define-public clojure-com-cognitect-aws-s3
+  (package
+    (inherit clojure-com-cognitect-aws-api)
+    (name "clojure-com-cognitect-aws-s3")
+    (version "821.2.1083.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "com/cognitect/aws/s3/"
+                                  version "/s3-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "0aqjwbpdlfccy1pl7bdxqxbzb6dcwvb00v07i4hcj6q8mpk8r1wj"))))
+    (native-inputs '())
+    (propagated-inputs '())
+    (arguments
+     '(#:doc-dirs '()
+       ;; This package has no tests.
+       #:tests? #f
+       #:aot-exclude '(#:all)))
+    (synopsis "Supporting files for accessing the S3 API using
+@code{aws-api}")
+    (license license:asl2.0)))
+
 (define-public clojure-com-cognitect-http-client
   (package
     (name "clojure-com-cognitect-http-client")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 16/17] gnu: clojure-tools-deps-alpha: Fix issues with S3
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (13 preceding siblings ...)
  2022-01-22  0:36   ` [bug#53765] [PATCH v3 15/17] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
@ 2022-01-25 18:37   ` Reily Siegel
  2022-01-25 18:41   ` [bug#53765] [PATCH v3 17/17] gnu: clojure-tools: Fix logging warning messages Reily Siegel
  2022-02-28 18:39   ` [bug#53765] [PATCH v3 09/17] gnu: Add clojure-tools-reader Reily Siegel
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-25 18:37 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


---
 gnu/packages/clojure.scm | 41 ++++++++++++----------------------------
 1 file changed, 12 insertions(+), 29 deletions(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 82e9970cfb..849ca50852 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -864,11 +864,10 @@ (define-public clojure-tools-deps-alpha
   (package
     (name "clojure-tools-deps-alpha")
     (version "0.12.1104")
-    (home-page "https://github.com/clojure/tools.deps.alpha")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url home-page)
+                    (url "https://github.com/clojure/tools.deps.alpha")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
@@ -877,34 +876,13 @@ (define-public clojure-tools-deps-alpha
     (build-system clojure-build-system)
     (arguments
      `(#:source-dirs '("src/main/clojure" "src/main/resources")
+       #:java-source-dirs '("src/main/java")
        #:test-dirs '("src/test/clojure")
        #:doc-dirs '()
-       ;; FIXME: Could not initialize class org.eclipse.aether.transport.http.SslSocketFactory
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         ;; FIXME: Currently, the S3 transporter depends on ClojureScript,
-         ;; which is very difficult to package due to dependencies on Java
-         ;; libraries with non-standard build systems. Instead of actually
-         ;; packaging these libraries, we just remove the S3 transporter that
-         ;; depends on them.
-         (add-after 'unpack 'remove-s3-transporter
-           (lambda _
-             (for-each delete-file
-                       (list
-                        (string-append
-                         "src/main/clojure/clojure/"
-                         "tools/deps/alpha/util/s3_aws_client.clj")
-                        (string-append
-                         "src/main/clojure/clojure/"
-                         "tools/deps/alpha/util/s3_transporter.clj")
-                        (string-append
-                         "src/test/clojure/clojure/"
-                         "tools/deps/alpha/util/test_s3_transporter.clj")))
-             (substitute*
-                 "src/main/clojure/clojure/tools/deps/alpha/util/maven.clj"
-               (("clojure.tools.deps.alpha.util.s3-transporter")
-                "")))))))
+       ;; Could not initialize class
+       ;; org.eclipse.aether.transport.http.SslSocketFactory
+       ;; See maven-resolver-transport-http
+       #:tests? #f))
     (propagated-inputs (list maven-resolver-api
                              maven-resolver-spi
                              maven-resolver-impl
@@ -916,7 +894,12 @@ (define-public clojure-tools-deps-alpha
                              maven-resolver-transport-file
                              clojure-tools-gitlibs
                              clojure-tools-cli
-                             clojure-data-xml))
+                             clojure-data-xml
+                             clojure-com-cognitect-aws-api
+                             clojure-com-cognitect-aws-endpoints
+                             clojure-com-cognitect-aws-s3
+                             java-javax-inject))
+    (home-page "https://github.com/clojure/tools.deps.alpha")
     (synopsis "Clojure library supporting clojure-tools")
     (description "This package provides a functional API for transitive
 dependency graph expansion and the creation of classpaths.")
-- 
2.35.1




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

* [bug#53765] [PATCH v3 17/17] gnu: clojure-tools: Fix logging warning messages.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (14 preceding siblings ...)
  2022-01-25 18:37   ` [bug#53765] [PATCH v3 16/17] gnu: clojure-tools-deps-alpha: Fix issues with S3 Reily Siegel
@ 2022-01-25 18:41   ` Reily Siegel
  2022-02-28 18:39   ` [bug#53765] [PATCH v3 09/17] gnu: Add clojure-tools-reader Reily Siegel
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-01-25 18:41 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


---
 gnu/packages/clojure.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 849ca50852..225898c5bc 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -200,7 +200,8 @@ (define-public clojure-tools
     (inputs (list rlwrap
                   clojure
                   clojure-tools-deps-alpha
-                  java-commons-logging-minimal))
+                  java-commons-logging-minimal
+                  java-slf4j-simple))
     (home-page "https://clojure.org/releases/tools")
     (synopsis "CLI tools for the Clojure programming language")
     (description "The Clojure command line tools can be used to start a
-- 
2.35.1




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

* [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools
@ 2022-02-04  0:22 Reily Siegel
  2022-02-04  0:24 ` [bug#53765] [PATCH 01/17] gnu: Add clojure-data-priority-map Reily Siegel
                   ` (40 more replies)
  0 siblings, 41 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:22 UTC (permalink / raw)
  To: 53765


Due to a lack of ability to package some of clojure-tools's
dependencies, certain functionality was disabled for its initial
packaging. Now that limitations in both the clojure-build-system and
limitations building some dependencies have been overcome, the full
functionality of the clojure-tools package can be restored.

Reily Siegel (17):
  gnu: Add clojure-data-priority-map.
  gnu: Add clojure-data-json.
  gnu: Add java-eclipse-jetty-client.
  gnu: Add clojure-core-cache.
  gnu: Add clojure-core-memoize.
  gnu: clojure-data-xml: Exclude failing tests.
  gnu: Add clojure-http-kit.
  gnu: Add clojure-tools-analyzer.
  gnu: Add clojure-tools-analyzer-jvm.
  gnu: Add clojure-tools-logging.
  gnu: Add clojure-core-async.
  gnu: Add clojure-com-cognitect-http-client.
  gnu: Add clojure-com-cognitect-aws-api.
  gnu: Add clojure-com-cognitect-aws-endpoints.
  gnu: Add clojure-com-cognitect-aws-s3.
  gnu: clojure-tools-deps-alpha: Fix issues with S3 transporter.
  gnu: clojure-tools: Fix logging warning messages.

 gnu/packages/clojure.scm | 497 ++++++++++++++++++++++++++++++++++++---
 gnu/packages/web.scm     |  26 ++
 2 files changed, 495 insertions(+), 28 deletions(-)

-- 
2.34.0




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

* [bug#53765] [PATCH 01/17] gnu: Add clojure-data-priority-map.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
@ 2022-02-04  0:24 ` Reily Siegel
  2022-02-09 11:10   ` Maxime Devos
  2022-02-09 11:18   ` Maxime Devos
  2022-02-04  0:24 ` [bug#53765] [PATCH 02/17] gnu: Add clojure-data-json Reily Siegel
                   ` (39 subsequent siblings)
  40 siblings, 2 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:24 UTC (permalink / raw)
  To: 53765


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index f728083eb2..3cf287140d 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -315,6 +315,36 @@ (define-public clojure-data-codec
 is on par with Java implementations, e.g., Apache commons-codec.")
     (license license:epl1.0)))
 
+(define-public clojure-data-priority-map
+  (package
+    (name "clojure-data-priority-map")
+    (version "1.1.0")
+    (home-page "https://github.com/clojure/data.priority-map")
+    (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
+                "1i6mf59g2l3vamris869mndy9l1bp5mzfqv5gj5qzzb937iiykm0"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (synopsis "Clojure library implementing priority maps")
+    (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.")
+    (license license:epl1.0)))
+
 (define-public clojure-data-xml
   (package
     (name "clojure-data-xml")
-- 
2.34.0




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

* [bug#53765] [PATCH 02/17] gnu: Add clojure-data-json.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
  2022-02-04  0:24 ` [bug#53765] [PATCH 01/17] gnu: Add clojure-data-priority-map Reily Siegel
@ 2022-02-04  0:24 ` Reily Siegel
  2022-02-10 17:52   ` Maxime Devos
  2022-02-10 18:00   ` Maxime Devos
  2022-02-04  0:24 ` [bug#53765] [PATCH 03/17] gnu: Add java-eclipse-jetty-client Reily Siegel
                   ` (38 subsequent siblings)
  40 siblings, 2 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:24 UTC (permalink / raw)
  To: 53765


* gnu/packages/clojure.scm (clojure-data-json): 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 3cf287140d..c4524c2abb 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -315,6 +315,34 @@ (define-public clojure-data-codec
 is on par with Java implementations, e.g., Apache commons-codec.")
     (license license:epl1.0)))
 
+(define-public clojure-data-json
+  (package
+    (name "clojure-data-json")
+    (version "2.4.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
+                "1xx3hiy62rrph4y4g3aqa1lfb0ns3p6vdvcvlpgm5w1npl70n2r5"))))
+    (build-system clojure-build-system)
+    (native-inputs (list clojure-test-check))
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()
+       ;; ClassCastException, ConcurrentExecutionException
+       #:test-exclude '(clojure.data.json-compat-0-1-test
+                        clojure.data.json-gen-test
+                        clojure.data.json-test)))
+    (synopsis "JSON parser/generator to/from Clojure data structures")
+    (description "JSON parser/generator to/from Clojure data structures.")
+    (license license:epl1.0)))
+
 (define-public clojure-data-priority-map
   (package
     (name "clojure-data-priority-map")
-- 
2.34.0




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

* [bug#53765] [PATCH 03/17] gnu: Add java-eclipse-jetty-client.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
  2022-02-04  0:24 ` [bug#53765] [PATCH 01/17] gnu: Add clojure-data-priority-map Reily Siegel
  2022-02-04  0:24 ` [bug#53765] [PATCH 02/17] gnu: Add clojure-data-json Reily Siegel
@ 2022-02-04  0:24 ` Reily Siegel
  2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
                   ` (37 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:24 UTC (permalink / raw)
  To: 53765


* gnu/packages/web.scm (java-eclipse-jetty-client): New variable.
---
 gnu/packages/web.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 3ddecb15c4..e010212a43 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -7269,6 +7269,32 @@ (define-public java-eclipse-jetty-webapp-9.2
      `(("java-eclipse-jetty-io-9.2" ,java-eclipse-jetty-io-9.2)
        ,@(package-native-inputs java-eclipse-jetty-util-9.2)))))
 
+(define-public java-eclipse-jetty-client
+  (package
+    (inherit java-eclipse-jetty-util)
+    (name "java-eclipse-jetty-client")
+    (arguments
+     `(#:jar-name "eclipse-jetty-client.jar"
+       #:source-dir "src/main/java"
+       #:jdk ,icedtea-8
+       #:tests? #f; require junit 5
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'chdir
+           (lambda _
+             (chdir "jetty-client")
+             #t)))))
+    (inputs
+     (list java-eclipse-jetty-util
+           java-eclipse-jetty-http
+           java-eclipse-jetty-io
+           java-eclipse-jetty-server
+           java-eclipse-jetty-servlet
+           java-eclipse-jetty-security
+           java-eclipse-jetty-xml
+           java-javaee-servletapi
+           java-eclipse-jetty-jmx))))
+
 (define-public java-jsoup
   (package
     (name "java-jsoup")
-- 
2.34.0




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

* [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (2 preceding siblings ...)
  2022-02-04  0:24 ` [bug#53765] [PATCH 03/17] gnu: Add java-eclipse-jetty-client Reily Siegel
@ 2022-02-04  0:24 ` Reily Siegel
  2022-03-17 20:44   ` Maxime Devos
                     ` (8 more replies)
  2022-02-04  0:24 ` [bug#53765] [PATCH 05/17] gnu: Add clojure-core-memoize Reily Siegel
                   ` (36 subsequent siblings)
  40 siblings, 9 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:24 UTC (permalink / raw)
  To: 53765


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index c4524c2abb..d390feff3d 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -259,6 +259,61 @@ (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.0.225")
+    (home-page "https://github.com/clojure/core.cache")
+    (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
+                "1dr1ply7ffdbd6bv4gygzmc0wx3q7zwzaaa1p93s28jkfp28276l"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("doc")))
+    (propagated-inputs (list clojure-data-priority-map))
+    (synopsis "Caching library for Clojure implementing various cache strategies")
+    (description "@code{core.cache} is a Clojure contrib library providing the
+following features:
+
+An underlying CacheProtocol used as the base abstraction for implementing new
+synchronous caches
+
+A defcache macro for hooking your CacheProtocol implementations into the
+Clojure associative data capabilities.
+
+Implementations of some basic caching strategies
+
+First-in-first-out (FIFOCache)
+Least-recently-used (LRUCache)
+Least-used (LUCache -- sometimes called Least Frequently Used)
+Time-to-live (TTLCacheQ)
+Naive cache (BasicCache)
+Naive cache backed with soft references (SoftCache)
+
+Implementation of an efficient buffer replacement policy based on the low
+inter-reference recency set algorithm (LIRSCache) described in the LIRS paper
+
+Factory functions for each existing cache type
+
+Caches are generally immutable and should be used in conjunction with
+Clojure's state management, such as atom.  SoftCache is the exception here,
+built on top of mutable Java collections, but it can be treated as an
+immutable cache as well.
+
+The @code{clojure.core.cache} namespace contains the immutable caches
+themselves.  The @code{clojure.core.cache.wrapped} namespace contains the same
+API operating on caches wrapped in atoms, which is the \"normal\" use in the
+wild.")
+    (license license:epl1.0)))
+
 (define-public clojure-core-match
   (let ((commit "1837ffbd4a150e8f3953b2d9ed5cf4a4ad3720a7")
         (revision "1")) ; this is the 1st commit buildable with clojure 1.9
-- 
2.34.0




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

* [bug#53765] [PATCH 05/17] gnu: Add clojure-core-memoize.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (3 preceding siblings ...)
  2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
@ 2022-02-04  0:24 ` Reily Siegel
  2022-02-04  0:24 ` [bug#53765] [PATCH 06/17] gnu: clojure-data-xml: Exclude failing tests Reily Siegel
                   ` (35 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:24 UTC (permalink / raw)
  To: 53765


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index d390feff3d..a0350290e5 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -341,6 +341,57 @@ (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.0.253")
+    (home-page "https://github.com/clojure/core.memoize")
+    (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
+                "1qky54v114sh3xn0lffwy7xx3wnnayk07fr2nvhd4lih84sv6rdz"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("docs")
+       ;; Tests fail when AOT'd.
+       #:aot-exclude '(#:all)))
+    (propagated-inputs (list clojure-core-cache))
+    (synopsis "Manipulable, pluggable, memoization framework for Clojure")
+    (description "@code{core.memoize} is a Clojure contrib library providing
+the following features:
+
+An underlying PluggableMemoization protocol that allows the use of
+customizable and swappable memoization caches that adhere to the synchronous
+CacheProtocol found in core.cache
+
+Memoization builders for implementations of common caching strategies,
+including:
+
+First-in-first-out (clojure.core.memoize/fifo)
+
+Least-recently-used (clojure.core.memoize/lru)
+
+Least-used (clojure.core.memoize/lu)
+
+Time-to-live (clojure.core.memoize/ttl)
+
+Naive cache (memo) that duplicates the functionality of Clojure's memoize
+function but, unlike the built-in memoize function, ensures that in the case
+of concurrent calls with the same arguments, the memoized function is only
+invoked once; in addition memo can use metadata from the memoized function to
+ignore certain arguments for the purpose of creating the cache key, e.g.,
+allowing you to memoize clojure.java.jdbc functions where the first argument
+includes a (mutable) JDBC Connection object by specifying
+:clojure.core.memoize/args-fn rest in the metadata")
+    (license license:epl1.0)))
+
 (define-public clojure-data-codec
   (package
     (name "clojure-data-codec")
-- 
2.34.0




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

* [bug#53765] [PATCH 06/17] gnu: clojure-data-xml: Exclude failing tests.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (4 preceding siblings ...)
  2022-02-04  0:24 ` [bug#53765] [PATCH 05/17] gnu: Add clojure-core-memoize Reily Siegel
@ 2022-02-04  0:24 ` Reily Siegel
  2022-02-04  0:24 ` [bug#53765] [PATCH 07/17] gnu: Add clojure-http-kit Reily Siegel
                   ` (34 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:24 UTC (permalink / raw)
  To: 53765


* gnu/packages/clojure.scm (clojure-data-xml): Failing tests excluded from
check phase.
---
 gnu/packages/clojure.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index a0350290e5..2080c0afec 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -497,7 +497,9 @@ (define-public clojure-data-xml
     (arguments
      '(#:source-dirs '("src/main/clojure")
        #:test-dirs '("src/test/clojure")
-       #:doc-dirs '()))
+       #:doc-dirs '()
+       #:test-exclude '(clojure.data.xml.test-cljs
+                        clojure.data.xml.test-entities)))
     (propagated-inputs (list clojure-data-codec))
     (synopsis "Clojure library for reading and writing XML data")
     (description "@code{data.xml} is a Clojure library for reading and writing
-- 
2.34.0




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

* [bug#53765] [PATCH 07/17] gnu: Add clojure-http-kit.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (5 preceding siblings ...)
  2022-02-04  0:24 ` [bug#53765] [PATCH 06/17] gnu: clojure-data-xml: Exclude failing tests Reily Siegel
@ 2022-02-04  0:24 ` Reily Siegel
  2022-02-06 10:30   ` Maxime Devos
  2022-02-04  0:25 ` [bug#53765] [PATCH 08/17] gnu: Add clojure-tools-analyzer Reily Siegel
                   ` (33 subsequent siblings)
  40 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:24 UTC (permalink / raw)
  To: 53765


* gnu/packages/clojure.scm (clojure-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 2080c0afec..23635fe1b9 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -512,6 +512,31 @@ (define-public clojure-data-xml
 lazy - should allow parsing and emitting of large XML documents")
     (license license:epl1.0)))
 
+(define-public clojure-http-kit
+  (package
+    (name "clojure-http-kit")
+    (version "2.5.3")
+    (home-page "https://github.com/http-kit/http-kit")
+    (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
+                "19m3j5ad4q7ywl0nd39vs0wha4md8fb846ykz0anv31rvdzv5yv3"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:doc-dirs '()
+       #:java-source-dirs '("src/java")
+       ;; Broken test dependencies.
+       #:tests? #f))
+    (synopsis "High-performance event-driven HTTP client/server for Clojure")
+    (description "High-performance event-driven HTTP client/server for
+Clojure.")
+    (license license:asl2.0)))
+
 (define-public clojure-instaparse
   (let ((commit "dcfffad5b065e750f0f5835f017cdd8188b8ca2e")
         (version "1.4.9")) ; upstream forget to tag this release
-- 
2.34.0




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

* [bug#53765] [PATCH 08/17] gnu: Add clojure-tools-analyzer.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (6 preceding siblings ...)
  2022-02-04  0:24 ` [bug#53765] [PATCH 07/17] gnu: Add clojure-http-kit Reily Siegel
@ 2022-02-04  0:25 ` Reily Siegel
  2022-02-04  0:25 ` [bug#53765] [PATCH 09/17] gnu: Add clojure-tools-analyzer-jvm Reily Siegel
                   ` (32 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:25 UTC (permalink / raw)
  To: 53765


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 23635fe1b9..7e188b99b6 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -639,6 +639,37 @@ (define-public clojure-tools-macro
     (home-page "https://github.com/clojure/tools.macro")
     (license license:epl1.0)))
 
+(define-public clojure-tools-analyzer
+  (package
+    (name "clojure-tools-analyzer")
+    (version "1.1.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
+                "19cgxxbav3z3k62hwl34vbi3lilrs4vksa4j8lvswha8sdjs01vh"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (synopsis "Analyzer for Clojure code, written in Clojure and producing
+AST in EDN")
+    (description "An analyzer for host agnostic Clojure code, written in
+Clojure and producing AST in EDN.
+
+Note that the analyzer in this library should not to be used directly as it
+lacks any knowledge about host-specific special forms and it should only be
+considered as a building platform for host-specific analyzers.  Currently the
+following platform specific analyzers written on top of tools.analyzer exist:
+@code{tools.analyzer.jvm}, @code{tools.analyzer.js}")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-cli
   (package
     (name "clojure-tools-cli")
-- 
2.34.0




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

* [bug#53765] [PATCH 09/17] gnu: Add clojure-tools-analyzer-jvm.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (7 preceding siblings ...)
  2022-02-04  0:25 ` [bug#53765] [PATCH 08/17] gnu: Add clojure-tools-analyzer Reily Siegel
@ 2022-02-04  0:25 ` Reily Siegel
  2022-02-06 10:46   ` Maxime Devos
  2022-02-04  0:25 ` [bug#53765] [PATCH 10/17] gnu: Add clojure-tools-logging Reily Siegel
                   ` (31 subsequent siblings)
  40 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:25 UTC (permalink / raw)
  To: 53765


* 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 7e188b99b6..4cd50483e3 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -670,6 +670,34 @@ (define-public clojure-tools-analyzer
 @code{tools.analyzer.jvm}, @code{tools.analyzer.js}")
     (license license:epl1.0)))
 
+(define-public clojure-tools-analyzer-jvm
+  (package
+    (name "clojure-tools-analyzer-jvm")
+    (version "1.2.2")
+    (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
+                "1ibvgvfa4618l5d0pff9gjar1s0fwagi029v4allk7z3swb93ibr"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("doc")))
+    (propagated-inputs (list clojure-core-memoize
+                             clojure-tools-reader
+                             clojure-tools-analyzer
+                             java-asm))
+    (synopsis "Additional jvm-specific passes for @code{tools.analyzer}")
+    (description "An analyzer for Clojure code, written on top of
+@code{tools.analyzer}, providing additional jvm-specific passes.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-cli
   (package
     (name "clojure-tools-cli")
-- 
2.34.0




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

* [bug#53765] [PATCH 10/17] gnu: Add clojure-tools-logging.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (8 preceding siblings ...)
  2022-02-04  0:25 ` [bug#53765] [PATCH 09/17] gnu: Add clojure-tools-analyzer-jvm Reily Siegel
@ 2022-02-04  0:25 ` Reily Siegel
  2022-02-07 20:55   ` Maxime Devos
  2022-02-08 10:22   ` Maxime Devos
  2022-02-04  0:25 ` [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async Reily Siegel
                   ` (30 subsequent siblings)
  40 siblings, 2 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:25 UTC (permalink / raw)
  To: 53765


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 4cd50483e3..360d86f6ab 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -811,3 +811,63 @@ (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-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)
+    (native-inputs (list clojure-test-check
+                         java-slf4j-api
+                         java-slf4j-simple
+                         java-log4j-api
+                         java-log4j-core
+                         java-commons-logging-minimal))
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()
+       ;; Tests fail due to issues with clojure.pprint
+       #:tests? #f))
+    (synopsis "Clojure logging toolkit")
+    (description "Logging macros which delegate to a specific logging
+implementation, selected at runtime when the @code{clojure.tools.logging}
+namespace is first loaded.")
+    (license license:epl1.0)))
+
+(define-public clojure-tools-reader
+  (package
+    (name "clojure-tools-reader")
+    (version "1.3.6")
+    (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
+                "0rcqq024ysz5g2ad8g6jvhnlpwqym58hd1mywl8c4v3x5628d028"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()
+       ;; Tests are not well formed clojure namespaces.
+       #:tests? #f))
+    (synopsis "Clojure reader in Clojure")
+    (description "A complete Clojure reader and an EDN-only reader, works with
+Clojure versions >= 1.4.0 and Clojurescript >=0.5308 and since version
+0.10.0-alpha1.")
+    (license license:epl1.0)))
-- 
2.34.0




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

* [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (9 preceding siblings ...)
  2022-02-04  0:25 ` [bug#53765] [PATCH 10/17] gnu: Add clojure-tools-logging Reily Siegel
@ 2022-02-04  0:25 ` Reily Siegel
  2022-02-07 20:32   ` Maxime Devos
                     ` (3 more replies)
  2022-02-04  0:25 ` [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client Reily Siegel
                   ` (29 subsequent siblings)
  40 siblings, 4 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:25 UTC (permalink / raw)
  To: 53765


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

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




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

* [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (10 preceding siblings ...)
  2022-02-04  0:25 ` [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async Reily Siegel
@ 2022-02-04  0:25 ` Reily Siegel
  2022-02-06 10:50   ` Maxime Devos
                     ` (3 more replies)
  2022-02-04  0:25 ` [bug#53765] [PATCH 14/17] gnu: Add clojure-com-cognitect-aws-endpoints Reily Siegel
                   ` (28 subsequent siblings)
  40 siblings, 4 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:25 UTC (permalink / raw)
  To: 53765


* gnu/packages/clojure.scm (clojure-com-cognitect-http-client): New variable.
---
 gnu/packages/clojure.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 7bbab8b741..58adb8d080 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -25,6 +25,7 @@ (define-module (gnu packages clojure)
   #:use-module (gnu packages java)
   #:use-module (gnu packages maven)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages web)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -259,6 +260,35 @@ (define-public clojure-algo-monads
     (home-page "https://github.com/clojure/algo.monads")
     (license license:epl1.0)))
 
+(define-public clojure-com-cognitect-http-client
+  (package
+    (name "clojure-com-cognitect-aws-api")
+    (version "1.0.111")
+    (source (origin
+              (method url-fetch)
+              ;; This JAR contains only uncompiled Clojure sources.
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "com/cognitect/http-client/"
+                                  version "/http-client-"
+                                  version ".jar"))
+              (sha256
+               (base32
+                "0n03vyr6i6n8ll8jn14b5zsba5pndb0ivdwizimz16gd8w3kf5xh"))))
+    (build-system clojure-build-system)
+    (propagated-inputs (list clojure-core-async
+                             java-eclipse-jetty-client
+                             java-eclipse-jetty-http
+                             java-eclipse-jetty-util
+                             java-eclipse-jetty-io))
+    (arguments
+     '(#:source-dirs '("src")
+       #:test-dirs '()
+       #:doc-dirs '()))
+    (home-page "https://cognitect.com")
+    (synopsis "HTTP Client for Clojure")
+    (description "HTTP client for Clojure.")
+    (license license:asl2.0)))
+
 (define-public clojure-core-async
   (package
     (name "clojure-core-async")
-- 
2.34.0




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

* [bug#53765] [PATCH 14/17] gnu: Add clojure-com-cognitect-aws-endpoints.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (11 preceding siblings ...)
  2022-02-04  0:25 ` [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client Reily Siegel
@ 2022-02-04  0:25 ` Reily Siegel
  2022-02-07 19:53   ` Maxime Devos
  2022-02-04  0:26 ` [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
                   ` (27 subsequent siblings)
  40 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:25 UTC (permalink / raw)
  To: 53765


* gnu/packages/clojure.scm (clojure-com-cognitect-aws-endpoints): New variable.
---
 gnu/packages/clojure.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index b99ec139da..f4b389f7b0 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -300,6 +300,30 @@ (define-public clojure-com-cognitect-aws-api
 for every operation on every service.")
     (license license:asl2.0)))
 
+(define-public clojure-com-cognitect-aws-endpoints
+  (package
+    (inherit clojure-com-cognitect-aws-api)
+    (name "clojure-com-cognitect-aws-endpoints")
+    (version "1.1.12.136")
+    (source (origin
+              (method url-fetch)
+              ;; This JAR contains only data files.
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "com/cognitect/aws/endpoints/"
+                                  version "/endpoints-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "15irzbnr0gp5pf0nh9vws6kyzjsbqshiqm9b8frjgsnizvqw0jqj"))))
+    (native-inputs '())
+    (propagated-inputs '())
+    (arguments
+     '(#:doc-dirs '()
+       ;; This package contains only data, no code to test.
+       #:tests? #f))
+    (synopsis "Endpoint data for @code{aws-api}")
+    (license license:asl2.0)))
+
 (define-public clojure-com-cognitect-http-client
   (package
     (name "clojure-com-cognitect-aws-api")
-- 
2.34.0




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

* [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (12 preceding siblings ...)
  2022-02-04  0:25 ` [bug#53765] [PATCH 14/17] gnu: Add clojure-com-cognitect-aws-endpoints Reily Siegel
@ 2022-02-04  0:26 ` Reily Siegel
  2022-02-06 10:37   ` Maxime Devos
                     ` (2 more replies)
  2022-02-04  0:26 ` [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
                   ` (26 subsequent siblings)
  40 siblings, 3 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:26 UTC (permalink / raw)
  To: 53765


* gnu/packages/clojure.scm (clojure-com-cognitect-aws-api): New variable.
---
 gnu/packages/clojure.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 58adb8d080..b99ec139da 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -260,6 +260,46 @@ (define-public clojure-algo-monads
     (home-page "https://github.com/clojure/algo.monads")
     (license license:epl1.0)))
 
+(define-public clojure-com-cognitect-aws-api
+  (package
+    (name "clojure-com-cognitect-aws-api")
+    (version "0.8.539")
+    (home-page "https://github.com/cognitect-labs/aws-api")
+    (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
+                "1pi1578hgfy9w25gyidz5dwl85q51rjm3kfffmlxsysl7vx3gv03"))))
+    (build-system clojure-build-system)
+    (native-inputs (list clojure-http-kit
+                         java-commons-io
+                         clojure-com-cognitect-aws-endpoints
+                         clojure-com-cognitect-aws-s3
+                         clojure-test-check))
+    (propagated-inputs (list clojure-core-async
+                             clojure-tools-logging
+                             clojure-data-json
+                             clojure-data-xml
+                             clojure-com-cognitect-http-client))
+    (arguments
+     '(#:source-dirs '("src" "resources")
+       #:test-dirs '("test/src" "test/resources")
+       #:doc-dirs '("doc")))
+    (synopsis "aws-api is a Clojure library which provides programmatic access
+to AWS services from your Clojure program")
+    (description "@code{aws-api} is an idiomatic, data-oriented Clojure
+library for invoking AWS APIs.  While the library offers some helper and
+documentation functions you'll use at development time, the only functions you
+ever need at runtime are @code{client}, which creates a client for a given
+service and @code{invoke}, which invokes an operation on the
+service. @code{invoke} takes a map and returns a map, and works the same way
+for every operation on every service.")
+    (license license:asl2.0)))
+
 (define-public clojure-com-cognitect-http-client
   (package
     (name "clojure-com-cognitect-aws-api")
-- 
2.34.0




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

* [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (13 preceding siblings ...)
  2022-02-04  0:26 ` [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
@ 2022-02-04  0:26 ` Reily Siegel
  2022-02-06 10:35   ` Maxime Devos
                     ` (2 more replies)
  2022-02-04  0:26 ` [bug#53765] [PATCH 16/17] gnu: clojure-tools-deps-alpha: Fix issues with S3 Reily Siegel
                   ` (25 subsequent siblings)
  40 siblings, 3 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:26 UTC (permalink / raw)
  To: 53765


* gnu/packages/clojure.scm (clojure-com-cognitect-aws-s3): New variable.
---
 gnu/packages/clojure.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index f4b389f7b0..4979300dc7 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -324,6 +324,30 @@ (define-public clojure-com-cognitect-aws-endpoints
     (synopsis "Endpoint data for @code{aws-api}")
     (license license:asl2.0)))
 
+(define-public clojure-com-cognitect-aws-s3
+  (package
+    (inherit clojure-com-cognitect-aws-api)
+    (name "clojure-com-cognitect-aws-s3")
+    (version "814.2.991.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "com/cognitect/aws/s3/"
+                                  version "/s3-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "0aw3mpddmnjmp45vbmv1l47jn84lgq866fy9mg4wf1x2lqdyhigh"))))
+    (native-inputs '())
+    (propagated-inputs '())
+    (arguments
+     '(#:doc-dirs '()
+       ;; This package has no tests.
+       #:tests? #f
+       #:aot-exclude '(#:all)))
+    (synopsis "S3 service description for @code{aws-api}")
+    (license license:asl2.0)))
+
 (define-public clojure-com-cognitect-http-client
   (package
     (name "clojure-com-cognitect-aws-api")
-- 
2.34.0




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

* [bug#53765] [PATCH 16/17] gnu: clojure-tools-deps-alpha: Fix issues with S3
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (14 preceding siblings ...)
  2022-02-04  0:26 ` [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
@ 2022-02-04  0:26 ` Reily Siegel
  2022-02-04  0:26 ` [bug#53765] [PATCH 17/17] gnu: clojure-tools: Fix logging warning messages Reily Siegel
                   ` (24 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:26 UTC (permalink / raw)
  To: 53765


* gnu/packages/clojure.scm (clojure-tools-deps-alpha): Remove a restriction
which prevented the S3 loader from being used due to dependency issues. Now
that clojure-core-async has been packaged, this restriction can be lifted.
---
 gnu/packages/clojure.scm | 33 +++++++--------------------------
 1 file changed, 7 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 4979300dc7..fe10a198db 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -888,34 +888,11 @@ (define-public clojure-tools-deps-alpha
     (build-system clojure-build-system)
     (arguments
      `(#:source-dirs '("src/main/clojure" "src/main/resources")
+       #:java-source-dirs '("src/main/java")
        #:test-dirs '("src/test/clojure")
        #:doc-dirs '()
        ;; FIXME: Could not initialize class org.eclipse.aether.transport.http.SslSocketFactory
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         ;; FIXME: Currently, the S3 transporter depends on ClojureScript,
-         ;; which is very difficult to package due to dependencies on Java
-         ;; libraries with non-standard build systems. Instead of actually
-         ;; packaging these libraries, we just remove the S3 transporter that
-         ;; depends on them.
-         (add-after 'unpack 'remove-s3-transporter
-           (lambda _
-             (for-each delete-file
-                       (list
-                        (string-append
-                         "src/main/clojure/clojure/"
-                         "tools/deps/alpha/util/s3_aws_client.clj")
-                        (string-append
-                         "src/main/clojure/clojure/"
-                         "tools/deps/alpha/util/s3_transporter.clj")
-                        (string-append
-                         "src/test/clojure/clojure/"
-                         "tools/deps/alpha/util/test_s3_transporter.clj")))
-             (substitute*
-                 "src/main/clojure/clojure/tools/deps/alpha/util/maven.clj"
-               (("clojure.tools.deps.alpha.util.s3-transporter")
-                "")))))))
+       #:tests? #f))
     (propagated-inputs (list maven-resolver-api
                              maven-resolver-spi
                              maven-resolver-impl
@@ -927,7 +904,11 @@ (define-public clojure-tools-deps-alpha
                              maven-resolver-transport-file
                              clojure-tools-gitlibs
                              clojure-tools-cli
-                             clojure-data-xml))
+                             clojure-data-xml
+                             clojure-com-cognitect-aws-api
+                             clojure-com-cognitect-aws-endpoints
+                             clojure-com-cognitect-aws-s3
+                             java-javax-inject))
     (synopsis "Clojure library supporting clojure-tools")
     (description "This package provides a functional API for transitive
 dependency graph expansion and the creation of classpaths.")
-- 
2.34.0




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

* [bug#53765] [PATCH 17/17] gnu: clojure-tools: Fix logging warning messages.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (15 preceding siblings ...)
  2022-02-04  0:26 ` [bug#53765] [PATCH 16/17] gnu: clojure-tools-deps-alpha: Fix issues with S3 Reily Siegel
@ 2022-02-04  0:26 ` Reily Siegel
  2022-03-16 12:39 ` [bug#53765] [PATCH v2 00/18] Reily Siegel
                   ` (23 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-04  0:26 UTC (permalink / raw)
  To: 53765


* gnu/packages/clojure.scm (clojure-tools): Add a dependency on
java-slf4j-simple to silence warnings that no logger implementation is
available.
---
 gnu/packages/clojure.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index fe10a198db..ab27fd8bd3 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -200,7 +200,8 @@ (define-public clojure-tools
     (inputs (list rlwrap
                   clojure
                   clojure-tools-deps-alpha
-                  java-commons-logging-minimal))
+                  java-commons-logging-minimal
+                  java-slf4j-simple))
     (home-page "https://clojure.org/releases/tools")
     (synopsis "CLI tools for the Clojure programming language")
     (description "The Clojure command line tools can be used to start a
-- 
2.34.0




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

* [bug#53765] [PATCH 07/17] gnu: Add clojure-http-kit.
  2022-02-04  0:24 ` [bug#53765] [PATCH 07/17] gnu: Add clojure-http-kit Reily Siegel
@ 2022-02-06 10:30   ` Maxime Devos
  0 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-06 10:30 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> +       ;; Broken test dependencies.
> +       #:tests? #f))

Which dependencies are broken?  How are they broken?
Can we fix them?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3.
  2022-02-04  0:26 ` [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
@ 2022-02-06 10:35   ` Maxime Devos
  2022-02-07 19:44   ` Maxime Devos
  2022-04-05 13:50   ` Maxime Devos
  2 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-06 10:35 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:26 [-0500]:
> +    (synopsis "S3 service description for @code{aws-api}")

I have no idea what that means.

From ‘17.4.4 Synopses and Descriptions’:

[...] Use full sentences, and avoid using acronyms without first
introducing them. [...]

That's strictly speaking only for descriptions, but it's useful advice
for synopses as well.

Greetings,
Maxime.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api.
  2022-02-04  0:26 ` [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
@ 2022-02-06 10:37   ` Maxime Devos
  2022-02-06 10:39   ` Maxime Devos
  2022-02-06 10:45   ` Maxime Devos
  2 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-06 10:37 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:26 [-0500]:
> +    (synopsis "aws-api is a Clojure library which provides programmatic access
> +to AWS services from your Clojure program")

It seems irrelevant that it's mine or yours or someone else's, I would
replace 'your Clojure program' with 'Clojure'.

Also, introduce the acronym AWS before using it.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api.
  2022-02-04  0:26 ` [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
  2022-02-06 10:37   ` Maxime Devos
@ 2022-02-06 10:39   ` Maxime Devos
  2022-02-07 18:09     ` Reily Siegel
  2022-02-06 10:45   ` Maxime Devos
  2 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-02-06 10:39 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:26 [-0500]:
> @code{aws-api} is an idiomatic, data-oriented Clojure
> +library for invoking AWS APIs.

From ‘Synopses and Descriptions’:

Please avoid marketing phrases such as “world-leading”,
“industrial-strength”, and “next-generation”, and avoid superlatives
like “the most advanced”—they are not helpful to users looking for a
package and may even sound suspicious.  Instead, try to be factual,
mentioning use cases and features.

I'm referring to 'idiomatic' and 'data-oriented' which is rather vague
and subjective.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api.
  2022-02-04  0:26 ` [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
  2022-02-06 10:37   ` Maxime Devos
  2022-02-06 10:39   ` Maxime Devos
@ 2022-02-06 10:45   ` Maxime Devos
  2 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-06 10:45 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:26 [-0500]:
> +    (description "@code{aws-api} is an idiomatic, data-oriented Clojure
> +library for invoking AWS APIs.
> 
What's an ‘AWS API’?  How do I now if I have one?  Some context is
required here.

>   While the library offers some helper and
> +documentation functions you'll use at development time, the only functions you
> +ever need at runtime are @code{client}, which creates a client for a given
> +service and @code{invoke}, which invokes an operation on the
> +service.
> 

How can this description now I will never need these helper functions?
If they are unneeded, why are they included at all?

>  @code{invoke} takes a map and returns a map, and works the same way
> +for every operation on every service.")

Anyway, descriptions aren't the place to describe the API, that's for
the documentation of clojure-com-cognitect-aws-api.  Instead, keep in
mind:

‘[...], try to be factual, mentioning use cases and features.’

‘Keep in mind that the synopsis must be meaningful for a very wide
audience.  For example, “Manipulate alignments in the SAM format” might
make sense for a seasoned bioinformatics researcher, but might be
fairly unhelpful or even misleading to a non-specialized audience.  It
is a good idea to come up with a synopsis that gives an idea of the
application domain of the package.  In this example, this might give
something like “Manipulate nucleotide sequence alignments”, which
hopefully gives the user a better idea of whether this is what they are
looking for.’

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 09/17] gnu: Add clojure-tools-analyzer-jvm.
  2022-02-04  0:25 ` [bug#53765] [PATCH 09/17] gnu: Add clojure-tools-analyzer-jvm Reily Siegel
@ 2022-02-06 10:46   ` Maxime Devos
  2022-02-07 18:04     ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-02-06 10:46 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
> +    (synopsis "Additional jvm-specific passes for @code{tools.analyzer}")

Is it jvm-specific, or Java-specific?  Also, isn't Clojure based on
Java, so Java-specific seems a tautology here?

Greeting,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client.
  2022-02-04  0:25 ` [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client Reily Siegel
@ 2022-02-06 10:50   ` Maxime Devos
  2022-02-07 18:06     ` Reily Siegel
  2022-02-07 20:21   ` Maxime Devos
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-02-06 10:50 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
> +              ;; This JAR contains only uncompiled Clojure sources.
> +              (uri (string-append "https://repo1.maven.org/maven2/"
> +                                  "com/cognitect/http-client/"
> +                                  version "/http-client-"
> +                                  version ".jar"))

Where did you find this source code? How can I now whether it's
authentic (i.e., whether it actually came from cognitect and not some
imposter)?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 09/17] gnu: Add clojure-tools-analyzer-jvm.
  2022-02-06 10:46   ` Maxime Devos
@ 2022-02-07 18:04     ` Reily Siegel
  2022-02-07 19:01       ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-02-07 18:04 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:


> Is it jvm-specific, or Java-specific?
This is JVM-specific, as clojure compiles directly to JVM bytecode,
without an intermediary Java state.

>  Also, isn't Clojure based on Java, so Java-specific seems a tautology
> here?
There are also other implementations of Clojure that run on other
platforms, such as the CLR, JavaScript, and BEAM, and one under
development for Flutter.

-- 
Reily Siegel




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

* [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client.
  2022-02-06 10:50   ` Maxime Devos
@ 2022-02-07 18:06     ` Reily Siegel
  2022-02-07 19:30       ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-02-07 18:06 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
>> +              ;; This JAR contains only uncompiled Clojure sources.
>> +              (uri (string-append "https://repo1.maven.org/maven2/"
>> +                                  "com/cognitect/http-client/"
>> +                                  version "/http-client-"
>> +                                  version ".jar"))
>
> Where did you find this source code? How can I now whether it's
> authentic (i.e., whether it actually came from cognitect and not some
> imposter)?

This code is taken directly from Maven, as are many Java packages. This
relies on whatever authentication Maven does to ensure packages are not
forgeries.

-- 
Reily Siegel

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

* [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api.
  2022-02-06 10:39   ` Maxime Devos
@ 2022-02-07 18:09     ` Reily Siegel
  2022-02-07 19:19       ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-02-07 18:09 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> Reily Siegel schreef op do 03-02-2022 om 19:26 [-0500]:
>> @code{aws-api} is an idiomatic, data-oriented Clojure
>> +library for invoking AWS APIs.

> I'm referring to 'idiomatic' and 'data-oriented' which is rather vague
> and subjective.
Data-oriented has a rather specific meaning in the Clojure community,
that is that the API is declarative and operates on plain Clojure data
structures, as opposed to using Macros or a class-based system. I will
update the descriptions and synopses that were mentioned in other
replies, and submit a new version of the patch.

-- 
Reily Siegel




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

* [bug#53765] [PATCH 09/17] gnu: Add clojure-tools-analyzer-jvm.
  2022-02-07 18:04     ` Reily Siegel
@ 2022-02-07 19:01       ` Maxime Devos
  2022-02-07 19:18         ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 19:01 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 07-02-2022 om 13:04 [-0500]:
> > Is it jvm-specific, or Java-specific?
> This is JVM-specific, as clojure compiles directly to JVM bytecode,
> without an intermediary Java state.

Compiling to Java bytecode does not imply the JVM -- for example,
GCJ can compile Java bytecode to native code, according to
<https://gcc.gnu.org/wiki/GCJ_FAQ>.  There is no JVM involved in this
situation.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 09/17] gnu: Add clojure-tools-analyzer-jvm.
  2022-02-07 19:01       ` Maxime Devos
@ 2022-02-07 19:18         ` Reily Siegel
  0 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-07 19:18 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> Compiling to Java bytecode does not imply the JVM -- for example,
> GCJ can compile Java bytecode to native code, according to
> <https://gcc.gnu.org/wiki/GCJ_FAQ>.  There is no JVM involved in this
> situation.
Yes. However, here "Java Bytecode" has nothing to do with the Java
programming language. It could have been produced by any programming
language that executes on the JVM. The Java, as well as Clojure
compilers produce bytecode that is designed to run on the Java Virtual
Machine. The fact that other programs can analyze that bytecode and do
something else with it doesn't seem super relevant to me. We wouldn't
call x86 assembly "C bytecode" because you could theoretically run it in
an emulator and not on an x86 processor. I really don't think this is
worth a huge debate, but my concern is that changing this to Java
implies that it only works with the Java programming language, and not
any other programming language or tool that respects JVM bytecode, of
which there are several (Scala, Groovy, Kotlin, etc.).

-- 
Reily Siegel




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

* [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api.
  2022-02-07 18:09     ` Reily Siegel
@ 2022-02-07 19:19       ` Maxime Devos
  2022-02-07 19:31         ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 19:19 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 07-02-2022 om 13:09 [-0500]:
> Data-oriented has a rather specific meaning in the Clojure community,
> that is that the API is declarative and operates on plain Clojure data
> structures, as opposed to using Macros or a class-based system.

OK, though I don't see how it can be declarative -- it's a library
for ‘invoking AWS APIs’, which seems rather imperative, at least
procedural.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client.
  2022-02-07 18:06     ` Reily Siegel
@ 2022-02-07 19:30       ` Maxime Devos
  2022-02-07 19:50         ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 19:30 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 07-02-2022 om 13:06 [-0500]:
> This code is taken directly from Maven, as are many Java packages. This
> relies on whatever authentication Maven does to ensure packages are not
> forgeries.

I took a look at <https://maven.apache.org> and AFAICT Maven does not
have any process in place to prevent forgeries or malicious code;
there does not appear to be any vetting process, though perhaps
I haven't looked far enough.

A web page from cognitect telling ‘grab source code from Maven
(com/cognitect/http-client)’, combined with going over the source
code to sniff things like ’Send ~/.gnupg to evil.com’ should be
sufficient.

For the damage the absence of a vetting process can do,
see e.g. <https://lwn.net/Articles/694830/>.  The same issue
appears to hold for PyPI, RubyGems and npm.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api.
  2022-02-07 19:19       ` Maxime Devos
@ 2022-02-07 19:31         ` Reily Siegel
  0 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-07 19:31 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> OK, though I don't see how it can be declarative -- it's a library
> for ‘invoking AWS APIs’, which seems rather imperative, at least
> procedural.
Let me compare this library and the official Java AWS SDK.

#+BEGIN_SRC java
// Create a GetItemRequest instance
GetItemRequest request = GetItemRequest.builder()
                       .key(keyToGet)
                       .tableName(tableName)
                       .build();

// Invoke the DynamoDbAsyncClient object's getItem
java.util.Collection<AttributeValue> returnedItem = client.getItem(request)
                                                  .join()
                                                  .item()
                                                  .values();
#+END_SRC

#+BEGIN_SRC clojure
(aws/invoke s3 {:op :GetObject :request {:Bucket bucket-name :Key "hello.txt"}})
#+END_SRC

The Java API programatically creates a Request object, when is then
modified by several methods to set the options, before being invoked.
The Clojure API, on the other hand, specifies the operation
declaratively using plain Clojure data structures (in this case,
keywords, strings, and maps), before calling invoke on that
specification. The declarative part is in how the API is interacted
with, not necessarily what happens in the library internals or over the
wire.

Examples from the respective documentations of each project.
-- 
Reily Siegel




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

* [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3.
  2022-02-04  0:26 ` [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
  2022-02-06 10:35   ` Maxime Devos
@ 2022-02-07 19:44   ` Maxime Devos
  2022-02-07 19:56     ` Reily Siegel
  2022-04-05 13:50   ` Maxime Devos
  2 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 19:44 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:26 [-0500]:
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://repo1.maven.org/maven2/"
> +                                  "com/cognitect/aws/s3/"
> +                                  version "/s3-"
> +                                  version "-sources.jar"))
> +    [...]
> +    (license license:asl2.0)))

I downloaded it, the hash matches.
However, the license appears to be incorrect: specs.clj starts with

;; Copyright (c) Cognitect, Inc.
;; All rights reserved.

‘All rights reserved’ is not ASL2.0, and is blatantly non-free.
Also, are you sure this is source code? Aside from the comment above,
I don't see any comments or docstrings in specs.clj.

Furthermore, service.edn and docs.edn are huge blobs -- it's textual
and not binary, but that doesn't make it source code.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client.
  2022-02-07 19:30       ` Maxime Devos
@ 2022-02-07 19:50         ` Reily Siegel
  2022-02-15  8:59           ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-02-07 19:50 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> A web page from cognitect telling ‘grab source code from Maven
> (com/cognitect/http-client)’
I am fairly certain that this code is not officially documented and
released as a library, it is only used in internal cognitect projects.
However, this is where other, officially supported cognitect libraries
pull the source from. The dependency specification[1] for cognitect-aws-api
uses:

com.cognitect/http-client {:mvn/version "1.0.110"}

As the location to pull this dependency. Given that the dependency
resolution system uses https://repo1.maven.org/maven2/ by default (see
the file /lib/clojure/deps.edn in clojure-tools), this results in the
URL https://repo1.maven.org/maven2/com/cognitect/http-client/1.0.110.
This is one revision older than the version I use (I just grabbed the
most recent one), but if you would like me to submit a new version of
the patch using this older version instead, I have no problem with that,
and it should work just fine.

> Going over the source code to sniff things like ’Send ~/.gnupg to
> evil.com’ should be sufficient.
I have read the entire source code of the project, and can verify that
it doesn't obviously do anything like this. Not claiming that I can
guarantee that the code is bug-free, but there is nothing obviously evil
about it. The code is only ~300 lines long, and mostly wraps existing
Java APIs.

-- 
Reily Siegel

[1]: https://github.com/cognitect-labs/aws-api/blob/master/deps.edn




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

* [bug#53765] [PATCH 14/17] gnu: Add clojure-com-cognitect-aws-endpoints.
  2022-02-04  0:25 ` [bug#53765] [PATCH 14/17] gnu: Add clojure-com-cognitect-aws-endpoints Reily Siegel
@ 2022-02-07 19:53   ` Maxime Devos
  2022-02-07 20:01     ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 19:53 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
> +(define-public clojure-com-cognitect-aws-endpoints
> +  (package
> +    (inherit clojure-com-cognitect-aws-api)
> +    (name "clojure-com-cognitect-aws-endpoints")
> +    (version "1.1.12.136")
> +    (source (origin
> +              (method url-fetch)
> +              ;; This JAR contains only data files.
> +              (uri (string-append "https://repo1.maven.org/maven2/"
> +                                  "com/cognitect/aws/endpoints/"
> +                                  version "/endpoints-"
> +                                  version "-sources.jar"))
> +              (sha256
> +               (base32
> +                "15irzbnr0gp5pf0nh9vws6kyzjsbqshiqm9b8frjgsnizvqw0jqj"))))
> +    [...]
> +    (license license:asl2.0)))

I downloaded the source code. The hash matches.
It does indeed appear to be pure data.
However, I don't see any indication of it being ASL2.0
-- <https://mvnrepository.com/artifact/com.cognitect.aws/endpoints>
says it's Apache 2.0, but that seems in conflict with 4.(a) of the
ASL2.0:

4. Redistribution.   You may reproduce and distribute copies [...],
provided that You meet the following conditions:

a. You must give any other recipients of the Work or Derivative Works a
copy of this License; and [...]

so the license information on Maven doesn't seem convincing evidence.

It might be ASL2.0 after all, but stronger evidence is needed.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3.
  2022-02-07 19:44   ` Maxime Devos
@ 2022-02-07 19:56     ` Reily Siegel
  2022-03-26 10:08       ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-02-07 19:56 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> ;; Copyright (c) Cognitect, Inc.
> ;; All rights reserved.
>
> ‘All rights reserved’ is not ASL2.0, and is blatantly non-free.

The pom.xml file says that this is ASL2.0 [1]

> Also, are you sure this is source code? Aside from the comment above,
> I don't see any comments or docstrings in specs.clj.

specs.clj just contains what are essentially type definitions. The
aws-api library that uses this is declarative, so it only needs to load
type definitions, and the edn files that describe the endpoints.

> Furthermore, service.edn and docs.edn are huge blobs -- it's textual
> and not binary, but that doesn't make it source code.

EDN is a strict subset of Clojure used for representing Clojure data
structures, similar to JSON for JavaScript.

> Greetings,
> Maxime.

-- 
Reily Siegel

[1]: https://repo1.maven.org/maven2/com/cognitect/aws/s3/814.2.991.0/s3-814.2.991.0.pom




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

* [bug#53765] [PATCH 14/17] gnu: Add clojure-com-cognitect-aws-endpoints.
  2022-02-07 19:53   ` Maxime Devos
@ 2022-02-07 20:01     ` Reily Siegel
  0 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-07 20:01 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> However, I don't see any indication of it being ASL2.0
> -- <https://mvnrepository.com/artifact/com.cognitect.aws/endpoints>
> says it's Apache 2.0, but that seems in conflict with 4.(a) of the
> ASL2.0:
The pom.xml file on Maven links to
http://www.apache.org/licenses/LICENSE-2.0.txt, is this sufficient to
meet the terms of the license? If not, I can reach out to people from
cognitect, but may or may not be able to get a response.

-- 
Reily Siegel




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

* [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client.
  2022-02-04  0:25 ` [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client Reily Siegel
  2022-02-06 10:50   ` Maxime Devos
@ 2022-02-07 20:21   ` Maxime Devos
  2022-02-07 20:23   ` Maxime Devos
  2022-02-07 20:29   ` Maxime Devos
  3 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 20:21 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:

> +(define-public clojure-com-cognitect-http-client
> +  (package
> +    (name "clojure-com-cognitect-aws-api")
> +    (version "1.0.111")
> +    (source (origin
> +              (method url-fetch)
> +              ;; This JAR contains only uncompiled Clojure sources.
> +              (uri (string-append "https://repo1.maven.org/maven2/"
> +                                  "com/cognitect/http-client/"
> +                                  version "/http-client-"
> +                                  version ".jar"))
> +              (sha256
> +               (base32
> +                "0n03vyr6i6n8ll8jn14b5zsba5pndb0ivdwizimz16gd8w3kf5xh"))))

I downloaded the JAR and verified the hash matches.

> +    (license license:asl2.0)))
> 

This time, the source code has a COPYING file and the headers of the
source code state that it is Apache 2.0, which is good.

There's still something weird though: even though the source files
later state it's Apache 2.0, initially they state

;; Copyright (c) Cognitect, Inc.
;; All rights reserved.

This seems rather contradictory --- do they reserve all monopology
rights for theirselves, or do they license it as Apache 2.0, giving
people some rights?  The intent seems clear here (Apache 2.0), so
not a blocker for inclusion in Guix I think, but IANAL and this should
ideally eventually be fixed upstream.

The files in the zip appear to be actual source code, not compiled
something.  There indeed doesn't appear to be anything malicious.

I'll look into the authenticity later.

Greetings,
Maxime.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client.
  2022-02-04  0:25 ` [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client Reily Siegel
  2022-02-06 10:50   ` Maxime Devos
  2022-02-07 20:21   ` Maxime Devos
@ 2022-02-07 20:23   ` Maxime Devos
  2022-02-07 20:31     ` Reily Siegel
  2022-02-07 20:29   ` Maxime Devos
  3 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 20:23 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
> +(define-public clojure-com-cognitect-http-client
> +  (package
> +    (name "clojure-com-cognitect-aws-api")
> +              (uri (string-append "https://repo1.maven.org/maven2/"
> +                                  "com/cognitect/http-client/"

The variable name, package name and URI are inconsistent.
They should all be http-client, not aws-api, I think?

Greetings,
Maxime

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client.
  2022-02-04  0:25 ` [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client Reily Siegel
                     ` (2 preceding siblings ...)
  2022-02-07 20:23   ` Maxime Devos
@ 2022-02-07 20:29   ` Maxime Devos
  3 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 20:29 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
> +    (synopsis "HTTP Client for Clojure")

Why is ‘Client’ capitalised here?

> +    (description "HTTP client for Clojure.")

This seems rather misleading, it is not its own HTTP client
but rather a tiny wrapper around jetty's HTTP client that
makes the API a bit less Java-y and more Clojure-y.

I would mention something along the lines

(description "This package is a Clojure wrapper around Jetty's HTTP
client for Java.  While Jetty is a Java package and hence its API
follows Java conventions, this Clojure wrapper follows Clojure API
conventions.")

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client.
  2022-02-07 20:23   ` Maxime Devos
@ 2022-02-07 20:31     ` Reily Siegel
  0 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-07 20:31 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> The variable name, package name and URI are inconsistent.
> They should all be http-client, not aws-api, I think?

Thanks for catching this, I will fix in v2 of the patch.

-- 
Reily Siegel




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

* [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async.
  2022-02-04  0:25 ` [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async Reily Siegel
@ 2022-02-07 20:32   ` Maxime Devos
  2022-02-07 20:34   ` Maxime Devos
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 20:32 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

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.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async.
  2022-02-04  0:25 ` [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async Reily Siegel
  2022-02-07 20:32   ` Maxime Devos
@ 2022-02-07 20:34   ` Maxime Devos
  2022-02-07 20:37   ` Maxime Devos
  2022-02-07 20:53   ` Maxime Devos
  3 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 20:34 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async.
  2022-02-04  0:25 ` [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async Reily Siegel
  2022-02-07 20:32   ` Maxime Devos
  2022-02-07 20:34   ` Maxime Devos
@ 2022-02-07 20:37   ` Maxime Devos
  2022-02-07 23:46     ` Reily Siegel
  2022-02-07 20:53   ` Maxime Devos
  3 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 20:37 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async.
  2022-02-04  0:25 ` [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async Reily Siegel
                     ` (2 preceding siblings ...)
  2022-02-07 20:37   ` Maxime Devos
@ 2022-02-07 20:53   ` Maxime Devos
  3 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 20:53 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

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.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 10/17] gnu: Add clojure-tools-logging.
  2022-02-04  0:25 ` [bug#53765] [PATCH 10/17] gnu: Add clojure-tools-logging Reily Siegel
@ 2022-02-07 20:55   ` Maxime Devos
  2022-02-07 22:19     ` Reily Siegel
  2022-02-08 10:22   ` Maxime Devos
  1 sibling, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-02-07 20:55 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
> +       ;; Tests fail due to issues with clojure.pprint
> +       #:tests? #f))

Like mentioned for another packages, in that case the tests or the main
code are broken, and in the latter case, clojure-tools-logging is
broken, so it should be fixed or at the very least upstream should be
informed, before including it in Guix.

I'll look at patches 1--10 later.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 10/17] gnu: Add clojure-tools-logging.
  2022-02-07 20:55   ` Maxime Devos
@ 2022-02-07 22:19     ` Reily Siegel
  2022-02-08 10:15       ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-02-07 22:19 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> Like mentioned for another packages, in that case the tests or the main
> code are broken, and in the latter case, clojure-tools-logging is
> broken, so it should be fixed or at the very least upstream should be
> informed, before including it in Guix.

This is caused by a problem with how Guix compiles clojure itself, in
the ant-build-system. I believe it has to do with preserving timestamps
on AOT compiled files, but it is not a bug I fully understand or am
qualified to fix. However, to be clear, tests upstream are fine.

-- 
Reily Siegel




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

* [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async.
  2022-02-07 20:37   ` Maxime Devos
@ 2022-02-07 23:46     ` Reily Siegel
  0 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-07 23:46 UTC (permalink / raw)
  To: Maxime Devos, 53765

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.

-- 
Reily Siegel




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

* [bug#53765] [PATCH 10/17] gnu: Add clojure-tools-logging.
  2022-02-07 22:19     ` Reily Siegel
@ 2022-02-08 10:15       ` Maxime Devos
  0 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-08 10:15 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 07-02-2022 om 17:19 [-0500]:
> > Like mentioned for another packages, in that case the tests or the
> > main
> > code are broken, and in the latter case, clojure-tools-logging is
> > broken, so it should be fixed or at the very least upstream should
> > be
> > informed, before including it in Guix.
> 
> This is caused by a problem with how Guix compiles clojure itself, in
> the ant-build-system. I believe it has to do with preserving
> timestamps
> on AOT compiled files, but it is not a bug I fully understand or am
> qualified to fix. However, to be clear, tests upstream are fine.

I recommend filing a bug and linking to it from a comment next to
;; #:tests? #false.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 10/17] gnu: Add clojure-tools-logging.
  2022-02-04  0:25 ` [bug#53765] [PATCH 10/17] gnu: Add clojure-tools-logging Reily Siegel
  2022-02-07 20:55   ` Maxime Devos
@ 2022-02-08 10:22   ` Maxime Devos
  1 sibling, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-08 10:22 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:25 [-0500]:
> +    (description "A complete Clojure reader and an EDN-only reader, works with
> +Clojure versions >= 1.4.0 and Clojurescript >=0.5308 and since version
> +0.10.0-alpha1.")

Guix only has version 1.10.0>1.4.0 of Clojure and doesn't have
Clojurescript packaged, so I don't see the point of mentioning these
version ranges.

Also, as per ‘Synopses and Descriptions’: ‘avoid using acronyms without
first introducing them’.  EDN has not been introduced.

‘Keep in mind that the synopsis must be meaningful for a very wide
audience.  For example, “Manipulate alignments in the SAM format” might
make sense for a seasoned bioinformatics researcher, but might be
fairly unhelpful or even misleading to a non-specialized audience.’

What does ‘reader’ mean here?  Is it a book explaining Clojure?  Is
it an application for helping the user with reading Clojure source
code?  Is it like Scheme's 'read' procedure or whatever wisp's 'read'
procedure is named?

What is meant by ‘complete’ here -- how does it compare to incomplete
Clojure readers?

Greetings,
Maxime.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 01/17] gnu: Add clojure-data-priority-map.
  2022-02-04  0:24 ` [bug#53765] [PATCH 01/17] gnu: Add clojure-data-priority-map Reily Siegel
@ 2022-02-09 11:10   ` Maxime Devos
  2022-02-09 11:18   ` Maxime Devos
  1 sibling, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-09 11:10 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> [item priority]

Looks like Clojure code, so you can probably do use TeXinfo markup
here: @lisp{[item priority].

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 01/17] gnu: Add clojure-data-priority-map.
  2022-02-04  0:24 ` [bug#53765] [PATCH 01/17] gnu: Add clojure-data-priority-map Reily Siegel
  2022-02-09 11:10   ` Maxime Devos
@ 2022-02-09 11:18   ` Maxime Devos
  1 sibling, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-09 11:18 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> conj/peek/pop operations

What's ‘conj’ here?  While this term might make sense to Clojure
people, it is rather Clojure-specific and hence isn't meaningful to a
wide audience -- my first thought was that it meant ‘conjugation’
somehow.  Using non-standard terminology makes, say, translating
descriptions harder.  I would use standard terminology here: 'insert'
or 'add' instead of 'conj'.

Alternatively, you could rewrite the description to define a priority
map as a combination of a priority map and a priority queue and go from
there, avoiding naming the actual operations.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 02/17] gnu: Add clojure-data-json.
  2022-02-04  0:24 ` [bug#53765] [PATCH 02/17] gnu: Add clojure-data-json Reily Siegel
@ 2022-02-10 17:52   ` Maxime Devos
  2022-02-10 18:00   ` Maxime Devos
  1 sibling, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-10 17:52 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> +       ;; ClassCastException, ConcurrentExecutionException
> +       #:test-exclude '(clojure.data.json-compat-0-1-test
> +                        clojure.data.json-gen-test
> +                        clojure.data.json-test)))

Seems like there's a bug in clojure-data-json to fix or at least report
upstream then?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 02/17] gnu: Add clojure-data-json.
  2022-02-04  0:24 ` [bug#53765] [PATCH 02/17] gnu: Add clojure-data-json Reily Siegel
  2022-02-10 17:52   ` Maxime Devos
@ 2022-02-10 18:00   ` Maxime Devos
  1 sibling, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-10 18:00 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> * gnu/packages/clojure.scm (clojure-data-json): New variable.

Some files under src/test/clojure/clojure/data are missing license
headers, while others do have an EPL license header.  Are they
also under the EPL?

There doesn't appear to be anything malicious in the source code.

There's again the ‘all rights reserved’ despite ‘EPL licensed’.

> +    (synopsis "JSON parser/generator to/from Clojure data structures")
> +    (description "JSON parser/generator to/from Clojure data structures.")

Description is missing.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client.
  2022-02-07 19:50         ` Reily Siegel
@ 2022-02-15  8:59           ` Maxime Devos
  0 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-02-15  8:59 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 07-02-2022 om 14:50 [-0500]:
> I am fairly certain that this code is not officially documented and
> released as a library, it is only used in internal cognitect projects.
> However, this is where other, officially supported cognitect libraries
> pull the source from. [...]

Additionally, Clojure is developed at Cognitect (see
https://clojure.org/dev/dev), the Maven artifacts are named
com.cognitect.FOO and so far nothing malicious has been found.
There does not appear to be any room for typosquatting here and
everything appears to be authentic.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v3 09/17] gnu: Add clojure-tools-reader.
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                     ` (15 preceding siblings ...)
  2022-01-25 18:41   ` [bug#53765] [PATCH v3 17/17] gnu: clojure-tools: Fix logging warning messages Reily Siegel
@ 2022-02-28 18:39   ` Reily Siegel
  16 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-02-28 18:39 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index e17abd271e..5b7189b997 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -804,3 +804,30 @@ (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.3.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/clojure/tools.reader")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0rcqq024ysz5g2ad8g6jvhnlpwqym58hd1mywl8c4v3x5628d028"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()
+       ;; Tests are not well formed clojure namespaces.
+       #:tests? #f))
+    (home-page "https://github.com/clojure/tools.reader")
+    (synopsis "Clojure reader in Clojure")
+    (description "A reader for Clojure source code and data structures written
+in Clojure.  Offers all functionality of Clojure's default reader,
+LispReader.java, with additional features added.")
+    (license license:epl1.0)))
-- 
2.35.1




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

* [bug#53765] [PATCH v2 00/18]
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (16 preceding siblings ...)
  2022-02-04  0:26 ` [bug#53765] [PATCH 17/17] gnu: clojure-tools: Fix logging warning messages Reily Siegel
@ 2022-03-16 12:39 ` Reily Siegel
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 01/18] gnu: Add clojure-data-priority-map Reily Siegel
                   ` (22 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:39 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


Sorry for the delay in sending updated patches, I have been quite busy
with school. Hopefully these patches address the issues found with the
first series, please let me know if further updates are needed.

Reily Siegel (18):
  gnu: Add clojure-data-priority-map.
  gnu: Add clojure-data-json.
  gnu: Add java-eclipse-jetty-client.
  gnu: Add clojure-core-cache.
  gnu: Add clojure-core-memoize.
  gnu: clojure-data-xml: Exclude failing tests.
  gnu: Add clojure-http-kit.
  gnu: Add clojure-tools-analyzer.
  gnu: Add clojure-tools-analyzer-jvm.
  gnu: Add clojure-tools-reader.
  gnu: Add clojure-tools-logging.
  gnu: Add clojure-core-async.
  gnu: Add clojure-com-cognitect-http-client.
  gnu: Add clojure-com-cognitect-aws-api.
  gnu: Add clojure-com-cognitect-aws-endpoints.
  gnu: Add clojure-com-cognitect-aws-s3.
  gnu: clojure-tools-deps-alpha: Fix issues with S3 transporter.
  gnu: clojure-tools: Fix logging warning messages.

 gnu/packages/clojure.scm | 498 ++++++++++++++++++++++++++++++++++++---
 gnu/packages/web.scm     |  26 ++
 2 files changed, 496 insertions(+), 28 deletions(-)

-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 01/18] gnu: Add clojure-data-priority-map.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (17 preceding siblings ...)
  2022-03-16 12:39 ` [bug#53765] [PATCH v2 00/18] Reily Siegel
@ 2022-03-16 12:43 ` Reily Siegel
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 02/18] gnu: Add clojure-data-json Reily Siegel
                   ` (21 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:43 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index f728083eb2..aa21ed7823 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -315,6 +315,36 @@ (define-public clojure-data-codec
 is on par with Java implementations, e.g., Apache commons-codec.")
     (license license:epl1.0)))
 
+(define-public clojure-data-priority-map
+  (package
+    (name "clojure-data-priority-map")
+    (version "1.1.0")
+    (home-page "https://github.com/clojure/data.priority-map")
+    (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
+                "1i6mf59g2l3vamris869mndy9l1bp5mzfqv5gj5qzzb937iiykm0"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (synopsis "Clojure library implementing priority maps")
+    (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 @code{[item priority]} pairs.  To
+support usage as a versatile priority queue, priority maps also support
+insert/peek/pop operations.")
+    (license license:epl1.0)))
+
 (define-public clojure-data-xml
   (package
     (name "clojure-data-xml")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 02/18] gnu: Add clojure-data-json.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (18 preceding siblings ...)
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 01/18] gnu: Add clojure-data-priority-map Reily Siegel
@ 2022-03-16 12:43 ` Reily Siegel
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 03/18] gnu: Add java-eclipse-jetty-client Reily Siegel
                   ` (20 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:43 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index aa21ed7823..9911b14577 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -315,6 +315,36 @@ (define-public clojure-data-codec
 is on par with Java implementations, e.g., Apache commons-codec.")
     (license license:epl1.0)))
 
+(define-public clojure-data-json
+  (package
+    (name "clojure-data-json")
+    (version "2.4.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
+                "1xx3hiy62rrph4y4g3aqa1lfb0ns3p6vdvcvlpgm5w1npl70n2r5"))))
+    (build-system clojure-build-system)
+    (native-inputs (list clojure-test-check))
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()
+       ;; ClassCastException, ConcurrentExecutionException
+       #:test-exclude '(clojure.data.json-compat-0-1-test
+                        clojure.data.json-gen-test
+                        clojure.data.json-test)))
+    (synopsis "JSON parser/generator to/from Clojure data structures")
+    (description "clojure-data-json implements a JSON parser/generator that
+enables easy conversion between Clojure data structures and JSON strings,
+without needing a defined schema.")
+    (license license:epl1.0)))
+
 (define-public clojure-data-priority-map
   (package
     (name "clojure-data-priority-map")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 03/18] gnu: Add java-eclipse-jetty-client.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (19 preceding siblings ...)
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 02/18] gnu: Add clojure-data-json Reily Siegel
@ 2022-03-16 12:43 ` Reily Siegel
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 04/18] gnu: Add clojure-core-cache Reily Siegel
                   ` (19 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:43 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/web.scm (java-eclipse-jetty-client): New variable.
---
 gnu/packages/web.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 3ddecb15c4..e010212a43 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -7269,6 +7269,32 @@ (define-public java-eclipse-jetty-webapp-9.2
      `(("java-eclipse-jetty-io-9.2" ,java-eclipse-jetty-io-9.2)
        ,@(package-native-inputs java-eclipse-jetty-util-9.2)))))
 
+(define-public java-eclipse-jetty-client
+  (package
+    (inherit java-eclipse-jetty-util)
+    (name "java-eclipse-jetty-client")
+    (arguments
+     `(#:jar-name "eclipse-jetty-client.jar"
+       #:source-dir "src/main/java"
+       #:jdk ,icedtea-8
+       #:tests? #f; require junit 5
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'chdir
+           (lambda _
+             (chdir "jetty-client")
+             #t)))))
+    (inputs
+     (list java-eclipse-jetty-util
+           java-eclipse-jetty-http
+           java-eclipse-jetty-io
+           java-eclipse-jetty-server
+           java-eclipse-jetty-servlet
+           java-eclipse-jetty-security
+           java-eclipse-jetty-xml
+           java-javaee-servletapi
+           java-eclipse-jetty-jmx))))
+
 (define-public java-jsoup
   (package
     (name "java-jsoup")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 04/18] gnu: Add clojure-core-cache.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (20 preceding siblings ...)
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 03/18] gnu: Add java-eclipse-jetty-client Reily Siegel
@ 2022-03-16 12:43 ` Reily Siegel
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize Reily Siegel
                   ` (18 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:43 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 9911b14577..37cea74c95 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -259,6 +259,61 @@ (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.0.225")
+    (home-page "https://github.com/clojure/core.cache")
+    (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
+                "1dr1ply7ffdbd6bv4gygzmc0wx3q7zwzaaa1p93s28jkfp28276l"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("doc")))
+    (propagated-inputs (list clojure-data-priority-map))
+    (synopsis "Caching library for Clojure implementing various cache strategies")
+    (description "@code{core.cache} is a Clojure contrib library providing the
+following features:
+
+An underlying CacheProtocol used as the base abstraction for implementing new
+synchronous caches
+
+A defcache macro for hooking your CacheProtocol implementations into the
+Clojure associative data capabilities.
+
+Implementations of some basic caching strategies
+
+First-in-first-out (FIFOCache)
+Least-recently-used (LRUCache)
+Least-used (LUCache -- sometimes called Least Frequently Used)
+Time-to-live (TTLCacheQ)
+Naive cache (BasicCache)
+Naive cache backed with soft references (SoftCache)
+
+Implementation of an efficient buffer replacement policy based on the low
+inter-reference recency set algorithm (LIRSCache) described in the LIRS paper
+
+Factory functions for each existing cache type
+
+Caches are generally immutable and should be used in conjunction with
+Clojure's state management, such as atom.  SoftCache is the exception here,
+built on top of mutable Java collections, but it can be treated as an
+immutable cache as well.
+
+The @code{clojure.core.cache} namespace contains the immutable caches
+themselves.  The @code{clojure.core.cache.wrapped} namespace contains the same
+API operating on caches wrapped in atoms, which is the \"normal\" use in the
+wild.")
+    (license license:epl1.0)))
+
 (define-public clojure-core-match
   (let ((commit "1837ffbd4a150e8f3953b2d9ed5cf4a4ad3720a7")
         (revision "1")) ; this is the 1st commit buildable with clojure 1.9
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (21 preceding siblings ...)
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 04/18] gnu: Add clojure-core-cache Reily Siegel
@ 2022-03-16 12:43 ` Reily Siegel
  2022-03-17 21:10   ` Maxime Devos
                     ` (4 more replies)
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 06/18] gnu: clojure-data-xml: Exclude failing tests Reily Siegel
                   ` (17 subsequent siblings)
  40 siblings, 5 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:43 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 37cea74c95..d6c8218f93 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -341,6 +341,57 @@ (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.0.253")
+    (home-page "https://github.com/clojure/core.memoize")
+    (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
+                "1qky54v114sh3xn0lffwy7xx3wnnayk07fr2nvhd4lih84sv6rdz"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("docs")
+       ;; Tests fail when AOT'd.
+       #:aot-exclude '(#:all)))
+    (propagated-inputs (list clojure-core-cache))
+    (synopsis "Manipulable, pluggable, memoization framework for Clojure")
+    (description "@code{core.memoize} is a Clojure contrib library providing
+the following features:
+
+An underlying PluggableMemoization protocol that allows the use of
+customizable and swappable memoization caches that adhere to the synchronous
+CacheProtocol found in core.cache
+
+Memoization builders for implementations of common caching strategies,
+including:
+
+First-in-first-out (clojure.core.memoize/fifo)
+
+Least-recently-used (clojure.core.memoize/lru)
+
+Least-used (clojure.core.memoize/lu)
+
+Time-to-live (clojure.core.memoize/ttl)
+
+Naive cache (memo) that duplicates the functionality of Clojure's memoize
+function but, unlike the built-in memoize function, ensures that in the case
+of concurrent calls with the same arguments, the memoized function is only
+invoked once; in addition memo can use metadata from the memoized function to
+ignore certain arguments for the purpose of creating the cache key, e.g.,
+allowing you to memoize clojure.java.jdbc functions where the first argument
+includes a (mutable) JDBC Connection object by specifying
+:clojure.core.memoize/args-fn rest in the metadata")
+    (license license:epl1.0)))
+
 (define-public clojure-data-codec
   (package
     (name "clojure-data-codec")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 06/18] gnu: clojure-data-xml: Exclude failing tests.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (22 preceding siblings ...)
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize Reily Siegel
@ 2022-03-16 12:43 ` Reily Siegel
  2022-03-17 21:27   ` Maxime Devos
  2022-03-17 21:30   ` Maxime Devos
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit Reily Siegel
                   ` (16 subsequent siblings)
  40 siblings, 2 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:43 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-data-xml): Failing tests excluded from
check phase.
---
 gnu/packages/clojure.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index d6c8218f93..850e1beea8 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -499,7 +499,9 @@ (define-public clojure-data-xml
     (arguments
      '(#:source-dirs '("src/main/clojure")
        #:test-dirs '("src/test/clojure")
-       #:doc-dirs '()))
+       #:doc-dirs '()
+       #:test-exclude '(clojure.data.xml.test-cljs
+                        clojure.data.xml.test-entities)))
     (propagated-inputs (list clojure-data-codec))
     (synopsis "Clojure library for reading and writing XML data")
     (description "@code{data.xml} is a Clojure library for reading and writing
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (23 preceding siblings ...)
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 06/18] gnu: clojure-data-xml: Exclude failing tests Reily Siegel
@ 2022-03-16 12:43 ` Reily Siegel
  2022-03-17 21:31   ` Maxime Devos
                     ` (4 more replies)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 08/18] gnu: Add clojure-tools-analyzer Reily Siegel
                   ` (15 subsequent siblings)
  40 siblings, 5 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:43 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-http-kit): 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 850e1beea8..5e93a14dbc 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -514,6 +514,33 @@ (define-public clojure-data-xml
 lazy - should allow parsing and emitting of large XML documents")
     (license license:epl1.0)))
 
+(define-public clojure-http-kit
+  (package
+    (name "clojure-http-kit")
+    (version "2.5.3")
+    (home-page "https://github.com/http-kit/http-kit")
+    (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
+                "19m3j5ad4q7ywl0nd39vs0wha4md8fb846ykz0anv31rvdzv5yv3"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:doc-dirs '()
+       #:java-source-dirs '("src/java")
+       ;; Broken test dependencies. Upstream reports that the current version
+       ;; of ring-defaults causes tests to hang, but that updating it would
+       ;; break other test dependencies.
+       #:tests? #f))
+    (synopsis "High-performance event-driven HTTP client/server for Clojure")
+    (description "High-performance event-driven HTTP client/server for
+Clojure.")
+    (license license:asl2.0)))
+
 (define-public clojure-instaparse
   (let ((commit "dcfffad5b065e750f0f5835f017cdd8188b8ca2e")
         (version "1.4.9")) ; upstream forget to tag this release
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 08/18] gnu: Add clojure-tools-analyzer.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (24 preceding siblings ...)
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit Reily Siegel
@ 2022-03-16 12:44 ` Reily Siegel
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 09/18] gnu: Add clojure-tools-analyzer-jvm Reily Siegel
                   ` (14 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:44 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 5e93a14dbc..4d64d72f5a 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -643,6 +643,37 @@ (define-public clojure-tools-macro
     (home-page "https://github.com/clojure/tools.macro")
     (license license:epl1.0)))
 
+(define-public clojure-tools-analyzer
+  (package
+    (name "clojure-tools-analyzer")
+    (version "1.1.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
+                "19cgxxbav3z3k62hwl34vbi3lilrs4vksa4j8lvswha8sdjs01vh"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()))
+    (synopsis "Analyzer for Clojure code, written in Clojure and producing
+AST in EDN")
+    (description "An analyzer for host agnostic Clojure code, written in
+Clojure and producing AST in EDN.
+
+Note that the analyzer in this library should not to be used directly as it
+lacks any knowledge about host-specific special forms and it should only be
+considered as a building platform for host-specific analyzers.  Currently the
+following platform specific analyzers written on top of tools.analyzer exist:
+@code{tools.analyzer.jvm}, @code{tools.analyzer.js}")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-cli
   (package
     (name "clojure-tools-cli")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 09/18] gnu: Add clojure-tools-analyzer-jvm.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (25 preceding siblings ...)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 08/18] gnu: Add clojure-tools-analyzer Reily Siegel
@ 2022-03-16 12:44 ` Reily Siegel
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 10/18] gnu: Add clojure-tools-reader Reily Siegel
                   ` (13 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:44 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* 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 4d64d72f5a..5b15d50114 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -674,6 +674,34 @@ (define-public clojure-tools-analyzer
 @code{tools.analyzer.jvm}, @code{tools.analyzer.js}")
     (license license:epl1.0)))
 
+(define-public clojure-tools-analyzer-jvm
+  (package
+    (name "clojure-tools-analyzer-jvm")
+    (version "1.2.2")
+    (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
+                "1ibvgvfa4618l5d0pff9gjar1s0fwagi029v4allk7z3swb93ibr"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '("doc")))
+    (propagated-inputs (list clojure-core-memoize
+                             clojure-tools-reader
+                             clojure-tools-analyzer
+                             java-asm))
+    (synopsis "Additional jvm-specific passes for @code{tools.analyzer}")
+    (description "An analyzer for Clojure code, written on top of
+@code{tools.analyzer}, providing additional jvm-specific passes.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-cli
   (package
     (name "clojure-tools-cli")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 10/18] gnu: Add clojure-tools-reader.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (26 preceding siblings ...)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 09/18] gnu: Add clojure-tools-analyzer-jvm Reily Siegel
@ 2022-03-16 12:44 ` Reily Siegel
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 11/18] gnu: Add clojure-tools-logging Reily Siegel
                   ` (12 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:44 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-tools-reader): 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 5b15d50114..b33cc963ef 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -815,3 +815,30 @@ (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.3.6")
+    (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
+                "0rcqq024ysz5g2ad8g6jvhnlpwqym58hd1mywl8c4v3x5628d028"))))
+    (build-system clojure-build-system)
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()
+       ;; Tests are not well formed clojure namespaces.
+       #:tests? #f))
+    (synopsis "Clojure reader in Clojure")
+    (description "A reader for Clojure source code and data structures written
+in Clojure.  Offers all functionality of Clojure's default reader,
+LispReader.java, with additional features added.")
+    (license license:epl1.0)))
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 11/18] gnu: Add clojure-tools-logging.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (27 preceding siblings ...)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 10/18] gnu: Add clojure-tools-reader Reily Siegel
@ 2022-03-16 12:44 ` Reily Siegel
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 12/18] gnu: Add clojure-core-async Reily Siegel
                   ` (11 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:44 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-tools-logging): 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 b33cc963ef..29f7401ac3 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -816,6 +816,40 @@ (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)
+    (native-inputs (list clojure-test-check
+                         java-slf4j-api
+                         java-slf4j-simple
+                         java-log4j-api
+                         java-log4j-core
+                         java-commons-logging-minimal))
+    (arguments
+     '(#:source-dirs '("src/main/clojure")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()
+       ;; Tests fail due to issues with clojure.pprint. This is an issue with
+       ;; how Guix AOT-compiles clojure.
+       #:tests? #f))
+    (synopsis "Clojure logging toolkit")
+    (description "Logging macros which delegate to a specific logging
+implementation, selected at runtime when the @code{clojure.tools.logging}
+namespace is first loaded.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-reader
   (package
     (name "clojure-tools-reader")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 12/18] gnu: Add clojure-core-async.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (28 preceding siblings ...)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 11/18] gnu: Add clojure-tools-logging Reily Siegel
@ 2022-03-16 12:44 ` Reily Siegel
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 13/18] gnu: Add clojure-com-cognitect-http-client Reily Siegel
                   ` (10 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:44 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 29f7401ac3..6a45ba7d6c 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -259,6 +259,36 @@ (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)))
+    (propagated-inputs (list clojure-tools-analyzer-jvm))
+    (synopsis "Facilities for async programming and communication in Clojure")
+    (description "@{core.async} is a Clojure library providing facilities for
+async programming and communication in Clojure using communicating sequential
+processes.  @{core.async} supports both multi-threaded and single-threaded
+environments.")
+    (license license:epl1.0)))
+
 (define-public clojure-core-cache
   (package
     (name "clojure-core-cache")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 13/18] gnu: Add clojure-com-cognitect-http-client.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (29 preceding siblings ...)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 12/18] gnu: Add clojure-core-async Reily Siegel
@ 2022-03-16 12:44 ` Reily Siegel
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 14/18] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
                   ` (9 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:44 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-com-cognitect-http-client): New variable.
---
 gnu/packages/clojure.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 6a45ba7d6c..9d4026e844 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -25,6 +25,7 @@ (define-module (gnu packages clojure)
   #:use-module (gnu packages java)
   #:use-module (gnu packages maven)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages web)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -259,6 +260,36 @@ (define-public clojure-algo-monads
     (home-page "https://github.com/clojure/algo.monads")
     (license license:epl1.0)))
 
+(define-public clojure-com-cognitect-http-client
+  (package
+    (name "clojure-com-cognitect-http-client")
+    (version "1.0.111")
+    (source (origin
+              (method url-fetch)
+              ;; This JAR contains only uncompiled Clojure sources.
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "com/cognitect/http-client/"
+                                  version "/http-client-"
+                                  version ".jar"))
+              (sha256
+               (base32
+                "0n03vyr6i6n8ll8jn14b5zsba5pndb0ivdwizimz16gd8w3kf5xh"))))
+    (build-system clojure-build-system)
+    (propagated-inputs (list clojure-core-async
+                             java-eclipse-jetty-client
+                             java-eclipse-jetty-http
+                             java-eclipse-jetty-util
+                             java-eclipse-jetty-io))
+    (arguments
+     '(#:source-dirs '("src")
+       #:test-dirs '()
+       #:doc-dirs '()))
+    (home-page "https://cognitect.com")
+    (synopsis "HTTP client for Clojure")
+    (description "HTTP client for Clojure that wraps Jetty's Java API,
+providing an API that follows Clojure conventions.")
+    (license license:asl2.0)))
+
 (define-public clojure-core-async
   (package
     (name "clojure-core-async")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 14/18] gnu: Add clojure-com-cognitect-aws-api.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (30 preceding siblings ...)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 13/18] gnu: Add clojure-com-cognitect-http-client Reily Siegel
@ 2022-03-16 12:44 ` Reily Siegel
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 15/18] gnu: Add clojure-com-cognitect-aws-endpoints Reily Siegel
                   ` (8 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:44 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-com-cognitect-aws-api): New variable.
---
 gnu/packages/clojure.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 9d4026e844..ac6d58149d 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -260,6 +260,41 @@ (define-public clojure-algo-monads
     (home-page "https://github.com/clojure/algo.monads")
     (license license:epl1.0)))
 
+(define-public clojure-com-cognitect-aws-api
+  (package
+    (name "clojure-com-cognitect-aws-api")
+    (version "0.8.539")
+    (home-page "https://github.com/cognitect-labs/aws-api")
+    (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
+                "1pi1578hgfy9w25gyidz5dwl85q51rjm3kfffmlxsysl7vx3gv03"))))
+    (build-system clojure-build-system)
+    (native-inputs (list clojure-http-kit
+                         java-commons-io
+                         clojure-com-cognitect-aws-endpoints
+                         clojure-com-cognitect-aws-s3
+                         clojure-test-check))
+    (propagated-inputs (list clojure-core-async
+                             clojure-tools-logging
+                             clojure-data-json
+                             clojure-data-xml
+                             clojure-com-cognitect-http-client))
+    (arguments
+     '(#:source-dirs '("src" "resources")
+       #:test-dirs '("test/src" "test/resources")
+       #:doc-dirs '("doc")))
+    (synopsis "aws-api is a Clojure library which provides programmatic access
+to AWS services from your Clojure program")
+    (description "@code{aws-api} is a data-oriented Clojure library for
+invoking AWS APIs.")
+    (license license:asl2.0)))
+
 (define-public clojure-com-cognitect-http-client
   (package
     (name "clojure-com-cognitect-http-client")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 15/18] gnu: Add clojure-com-cognitect-aws-endpoints.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (31 preceding siblings ...)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 14/18] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
@ 2022-03-16 12:44 ` Reily Siegel
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 16/18] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
                   ` (7 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:44 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-com-cognitect-aws-endpoints): New variable.
---
 gnu/packages/clojure.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index ac6d58149d..ace0a169e8 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -295,6 +295,30 @@ (define-public clojure-com-cognitect-aws-api
 invoking AWS APIs.")
     (license license:asl2.0)))
 
+(define-public clojure-com-cognitect-aws-endpoints
+  (package
+    (inherit clojure-com-cognitect-aws-api)
+    (name "clojure-com-cognitect-aws-endpoints")
+    (version "1.1.12.136")
+    (source (origin
+              (method url-fetch)
+              ;; This JAR contains only data files.
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "com/cognitect/aws/endpoints/"
+                                  version "/endpoints-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "15irzbnr0gp5pf0nh9vws6kyzjsbqshiqm9b8frjgsnizvqw0jqj"))))
+    (native-inputs '())
+    (propagated-inputs '())
+    (arguments
+     '(#:doc-dirs '()
+       ;; This package contains only data, no code to test.
+       #:tests? #f))
+    (synopsis "Endpoint data for @code{aws-api}")
+    (license license:asl2.0)))
+
 (define-public clojure-com-cognitect-http-client
   (package
     (name "clojure-com-cognitect-http-client")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 16/18] gnu: Add clojure-com-cognitect-aws-s3.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (32 preceding siblings ...)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 15/18] gnu: Add clojure-com-cognitect-aws-endpoints Reily Siegel
@ 2022-03-16 12:44 ` Reily Siegel
  2022-03-26 10:03   ` Maxime Devos
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 17/18] gnu: clojure-tools-deps-alpha: Fix issues with S3 Reily Siegel
                   ` (6 subsequent siblings)
  40 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:44 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-com-cognitect-aws-s3): 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 ace0a169e8..d2d5bbda48 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -319,6 +319,31 @@ (define-public clojure-com-cognitect-aws-endpoints
     (synopsis "Endpoint data for @code{aws-api}")
     (license license:asl2.0)))
 
+(define-public clojure-com-cognitect-aws-s3
+  (package
+    (inherit clojure-com-cognitect-aws-api)
+    (name "clojure-com-cognitect-aws-s3")
+    (version "814.2.991.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "com/cognitect/aws/s3/"
+                                  version "/s3-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "0aw3mpddmnjmp45vbmv1l47jn84lgq866fy9mg4wf1x2lqdyhigh"))))
+    (native-inputs '())
+    (propagated-inputs '())
+    (arguments
+     '(#:doc-dirs '()
+       ;; This package has no tests.
+       #:tests? #f
+       #:aot-exclude '(#:all)))
+    (synopsis "Supporting files for accessing the S3 API using
+@code{aws-api}")
+    (license license:asl2.0)))
+
 (define-public clojure-com-cognitect-http-client
   (package
     (name "clojure-com-cognitect-http-client")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 17/18] gnu: clojure-tools-deps-alpha: Fix issues with S3
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (33 preceding siblings ...)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 16/18] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
@ 2022-03-16 12:44 ` Reily Siegel
  2022-03-26  9:51   ` Maxime Devos
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 18/18] gnu: clojure-tools: Fix logging warning messages Reily Siegel
                   ` (5 subsequent siblings)
  40 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:44 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-tools-deps-alpha): Remove a restriction
which prevented the S3 loader from being used due to dependency issues. Now
that clojure-core-async has been packaged, this restriction can be lifted.
---
 gnu/packages/clojure.scm | 33 +++++++--------------------------
 1 file changed, 7 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index d2d5bbda48..f6169bc324 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -888,34 +888,11 @@ (define-public clojure-tools-deps-alpha
     (build-system clojure-build-system)
     (arguments
      `(#:source-dirs '("src/main/clojure" "src/main/resources")
+       #:java-source-dirs '("src/main/java")
        #:test-dirs '("src/test/clojure")
        #:doc-dirs '()
        ;; FIXME: Could not initialize class org.eclipse.aether.transport.http.SslSocketFactory
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         ;; FIXME: Currently, the S3 transporter depends on ClojureScript,
-         ;; which is very difficult to package due to dependencies on Java
-         ;; libraries with non-standard build systems. Instead of actually
-         ;; packaging these libraries, we just remove the S3 transporter that
-         ;; depends on them.
-         (add-after 'unpack 'remove-s3-transporter
-           (lambda _
-             (for-each delete-file
-                       (list
-                        (string-append
-                         "src/main/clojure/clojure/"
-                         "tools/deps/alpha/util/s3_aws_client.clj")
-                        (string-append
-                         "src/main/clojure/clojure/"
-                         "tools/deps/alpha/util/s3_transporter.clj")
-                        (string-append
-                         "src/test/clojure/clojure/"
-                         "tools/deps/alpha/util/test_s3_transporter.clj")))
-             (substitute*
-                 "src/main/clojure/clojure/tools/deps/alpha/util/maven.clj"
-               (("clojure.tools.deps.alpha.util.s3-transporter")
-                "")))))))
+       #:tests? #f))
     (propagated-inputs (list maven-resolver-api
                              maven-resolver-spi
                              maven-resolver-impl
@@ -927,7 +904,11 @@ (define-public clojure-tools-deps-alpha
                              maven-resolver-transport-file
                              clojure-tools-gitlibs
                              clojure-tools-cli
-                             clojure-data-xml))
+                             clojure-data-xml
+                             clojure-com-cognitect-aws-api
+                             clojure-com-cognitect-aws-endpoints
+                             clojure-com-cognitect-aws-s3
+                             java-javax-inject))
     (synopsis "Clojure library supporting clojure-tools")
     (description "This package provides a functional API for transitive
 dependency graph expansion and the creation of classpaths.")
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 18/18] gnu: clojure-tools: Fix logging warning messages.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (34 preceding siblings ...)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 17/18] gnu: clojure-tools-deps-alpha: Fix issues with S3 Reily Siegel
@ 2022-03-16 12:44 ` Reily Siegel
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (4 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-16 12:44 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-tools): Add a dependency on
java-slf4j-simple to silence warnings that no logger implementation is
available.
---
 gnu/packages/clojure.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index f6169bc324..e53163dad2 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -200,7 +200,8 @@ (define-public clojure-tools
     (inputs (list rlwrap
                   clojure
                   clojure-tools-deps-alpha
-                  java-commons-logging-minimal))
+                  java-commons-logging-minimal
+                  java-slf4j-simple))
     (home-page "https://clojure.org/releases/tools")
     (synopsis "CLI tools for the Clojure programming language")
     (description "The Clojure command line tools can be used to start a
-- 
2.34.0


-- 
Reily Siegel




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

* [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache.
  2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
@ 2022-03-17 20:44   ` Maxime Devos
  2022-03-17 20:45   ` Maxime Devos
                     ` (7 subsequent siblings)
  8 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 20:44 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> +Implementations of some basic caching strategies
> +
> +First-in-first-out (FIFOCache)
> +Least-recently-used (LRUCache)
> +Least-used (LUCache -- sometimes called Least Frequently Used)
> +Time-to-live (TTLCacheQ)
> +Naive cache (BasicCache)
> +Naive cache backed with soft references (SoftCache)

Texinfo has some markup for lists, maybe @itemize (not sure)?


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache.
  2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
  2022-03-17 20:44   ` Maxime Devos
@ 2022-03-17 20:45   ` Maxime Devos
  2022-03-17 20:47   ` Maxime Devos
                     ` (6 subsequent siblings)
  8 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 20:45 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> +    (description "@code{core.cache} is a Clojure contrib library providing the
> +following features:

What's a ‘contrib’ library?  What is the importance of this library is
considered ‘contrib’?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache.
  2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
  2022-03-17 20:44   ` Maxime Devos
  2022-03-17 20:45   ` Maxime Devos
@ 2022-03-17 20:47   ` Maxime Devos
  2022-03-17 20:50   ` Maxime Devos
                     ` (5 subsequent siblings)
  8 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 20:47 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> +A defcache macro for hooking your CacheProtocol implementations into the

'defcache' is the name of Lisp (in this case, the Lisp is Clojure)
macro, so @lisp might be appropriate.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache.
  2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
                     ` (2 preceding siblings ...)
  2022-03-17 20:47   ` Maxime Devos
@ 2022-03-17 20:50   ` Maxime Devos
  2022-03-17 20:57   ` Maxime Devos
                     ` (4 subsequent siblings)
  8 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 20:50 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> +A defcache macro for hooking your CacheProtocol implementations into the
> +Clojure associative data capabilities.

I don't think that clojure-core-cache cares whether it's my
CacheProtocol implementation, yours, someone elses or nobodies.
WDYT of dropping the 'your'?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache.
  2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
                     ` (3 preceding siblings ...)
  2022-03-17 20:50   ` Maxime Devos
@ 2022-03-17 20:57   ` Maxime Devos
  2022-03-17 20:59   ` Maxime Devos
                     ` (3 subsequent siblings)
  8 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 20:57 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> +A defcache macro for hooking your CacheProtocol implementations into the
> +Clojure associative data capabilities.

‘hooking foo into bar’ and ‘associative data capabilities’ seems rather
wordy, WDYT of

 ‘A @lisp{defcache} macro for defining key-value caches that implement
the standard collection interfaces."

?  That seems much clearer to me and (AFAICT) not any less accurate.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache.
  2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
                     ` (4 preceding siblings ...)
  2022-03-17 20:57   ` Maxime Devos
@ 2022-03-17 20:59   ` Maxime Devos
  2022-03-17 21:00   ` Maxime Devos
                     ` (2 subsequent siblings)
  8 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 20:59 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> +The @code{clojure.core.cache} namespace contains the immutable caches
> +themselves.  The @code{clojure.core.cache.wrapped} namespace contains the same
> +API operating on caches wrapped in atoms, which is the \"normal\" use in the
> +wild.")

What exactly namespaces are used, seems more something for the
documentation of clojure-core-cache to me, and not very relevant for a
potential user that needs to choose between several packages.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache.
  2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
                     ` (5 preceding siblings ...)
  2022-03-17 20:59   ` Maxime Devos
@ 2022-03-17 21:00   ` Maxime Devos
  2022-03-17 21:06   ` Maxime Devos
  2022-03-17 21:08   ` Maxime Devos
  8 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:00 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> +Implementation of an efficient buffer replacement policy based on the low
> +inter-reference recency set algorithm (LIRSCache) described in the LIRS paper

I don't see the point of mentioning implementation details in the
description.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache.
  2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
                     ` (6 preceding siblings ...)
  2022-03-17 21:00   ` Maxime Devos
@ 2022-03-17 21:06   ` Maxime Devos
  2022-03-17 21:08   ` Maxime Devos
  8 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:06 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> +(define-public clojure-core-cache
> +  (package
> +    (name "clojure-core-cache")
> +    (version "1.0.225")
> +    (home-page "https://github.com/clojure/core.cache")
> +    (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
> +                "1dr1ply7ffdbd6bv4gygzmc0wx3q7zwzaaa1p93s28jkfp28276l"))))

There does not appear to be anything 'suspicious' in the source code
and the hash checks out.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache.
  2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
                     ` (7 preceding siblings ...)
  2022-03-17 21:06   ` Maxime Devos
@ 2022-03-17 21:08   ` Maxime Devos
  8 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:08 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:24 [-0500]:
> +    (home-page "https://github.com/clojure/core.cache")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url home-page)

IIUC, home pages and the git repository location are considered
independent, that merely happen to sometimes coincide, so I'd move the
home-page downwards and copy the URL into the 'url' field.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize Reily Siegel
@ 2022-03-17 21:10   ` Maxime Devos
  2022-03-18  9:01     ` Reily Siegel
  2022-03-17 21:11   ` Maxime Devos
                     ` (3 subsequent siblings)
  4 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:10 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> +       ;; Tests fail when AOT'd.
> +       #:aot-exclude '(#:all)))

Looks like there's a bug somewhere then.  Has this been reported? 
Could a link be added to the report so we know when the #:aot-exclude
can be removed?  If it's an issue with ant-build-system, can this be
reported?

Greetings,
Maxime.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize Reily Siegel
  2022-03-17 21:10   ` Maxime Devos
@ 2022-03-17 21:11   ` Maxime Devos
  2022-03-17 21:19   ` Maxime Devos
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:11 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> +First-in-first-out (clojure.core.memoize/fifo)
> +
> +Least-recently-used (clojure.core.memoize/lru)
> +
> +Least-used (clojure.core.memoize/lu)
> +
> +Time-to-live (clojure.core.memoize/ttl)

Like in a reply to a previous package, here @itemize can be used.  And
@lisp or @code for clojure.core.memoize/foo.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize Reily Siegel
  2022-03-17 21:10   ` Maxime Devos
  2022-03-17 21:11   ` Maxime Devos
@ 2022-03-17 21:19   ` Maxime Devos
  2022-03-17 21:26   ` Maxime Devos
  2022-03-21 14:18   ` Maxime Devos
  4 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:19 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> +    (synopsis "Manipulable, pluggable, memoization framework for Clojure")

I would hope that it's manipulable, how would it be an useful library,
if it cannot be used?  Also, the notion of ‘framework’ is rather vague.

Given the mentioning of various caching strategies, WDYT of:

  (synopsis
    "Customisable memoization library supporting automatic removal")

AFAICT, usually, memoization is presented without any automatical removal, instead
old entries are preserved forever -- that's (one of the) the difference(s) between
memoization and caching.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize Reily Siegel
                     ` (2 preceding siblings ...)
  2022-03-17 21:19   ` Maxime Devos
@ 2022-03-17 21:26   ` Maxime Devos
  2022-03-21 14:18   ` Maxime Devos
  4 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:26 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> +An underlying [...]
> +Memoization builders for implementations of common caching strategies,
> +including:

‘An underlying foo that bars’ and ‘Memoization builders for foo of bar’
seems rather convoluted phrasing, maybe it can simplified a bit:

‘This memoization library supports various cache replacement
strategies:

 @itemize
 @item @acronym{FIFO, first in first out}
 @item @acronym{LRU, least recently used}
 @item @acronym{TLL, time to live}
 @item no replacement, the memoisation cache can grow indefinitely
 @end itemize’

For the exact class and interface names, the user can look at the
documentation of core.memoize.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 06/18] gnu: clojure-data-xml: Exclude failing tests.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 06/18] gnu: clojure-data-xml: Exclude failing tests Reily Siegel
@ 2022-03-17 21:27   ` Maxime Devos
  2022-03-17 21:30   ` Maxime Devos
  1 sibling, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:27 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> +       #:test-exclude '(clojure.data.xml.test-cljs
> +                        clojure.data.xml.test-entities)))

Have these test failures been reported (upstream, assuming it's not a
downstream issue)?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 06/18] gnu: clojure-data-xml: Exclude failing tests.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 06/18] gnu: clojure-data-xml: Exclude failing tests Reily Siegel
  2022-03-17 21:27   ` Maxime Devos
@ 2022-03-17 21:30   ` Maxime Devos
  1 sibling, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:30 UTC (permalink / raw)
  To: Reily Siegel, 53765; +Cc: Julien Lepiller

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> +       #:doc-dirs '()
> +       #:test-exclude '(clojure.data.xml.test-cljs
> +                        clojure.data.xml.test-entities)))

This is already done in 6d357541021578914eba7bb33d2529a6744de36d, in a
different form.

Anyways, a comment on what the issue is here is missing.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit Reily Siegel
@ 2022-03-17 21:31   ` Maxime Devos
  2022-03-17 21:32   ` Maxime Devos
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:31 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> +       ;; Broken test dependencies. Upstream reports that the current version
> +       ;; of ring-defaults causes tests to hang, but that updating it would
> +       ;; break other test dependencies.
> +       #:tests? #f))

A link to the upstream bug report would be nice.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit Reily Siegel
  2022-03-17 21:31   ` Maxime Devos
@ 2022-03-17 21:32   ` Maxime Devos
  2022-03-17 21:42   ` Maxime Devos
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:32 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> +    (synopsis "High-performance event-driven HTTP client/server for Clojure")
> +    (description "High-performance event-driven HTTP client/server for
> +Clojure.")

The description seems to be missing here; it's just the synopsis
duplicated here.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit Reily Siegel
  2022-03-17 21:31   ` Maxime Devos
  2022-03-17 21:32   ` Maxime Devos
@ 2022-03-17 21:42   ` Maxime Devos
  2022-03-17 21:44   ` Maxime Devos
  2022-03-17 21:45   ` Maxime Devos
  4 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:42 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> +    (license license:asl2.0)))

There's some bsd3 in test/org/httpkit/ring_request_proxy.clj.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit Reily Siegel
                     ` (2 preceding siblings ...)
  2022-03-17 21:42   ` Maxime Devos
@ 2022-03-17 21:44   ` Maxime Devos
  2022-03-17 21:45   ` Maxime Devos
  4 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:44 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> +       #:tests? #f))

There's a file test/ssl_keystore.  Certificates eventually expire.  As
such, I would add a comment

  ;; Before re-enabling tests, make sure that test/ssl_keystore won't
  ;; expire, to ensure reproducibility.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit Reily Siegel
                     ` (3 preceding siblings ...)
  2022-03-17 21:44   ` Maxime Devos
@ 2022-03-17 21:45   ` Maxime Devos
  4 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-17 21:45 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> +(define-public clojure-http-kit
> +  (package
> +    (name "clojure-http-kit")
> +    (version "2.5.3")
> +    (home-page "https://github.com/http-kit/http-kit")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url home-page)

As mentioned for a different package, home-page and the git-reference
URL are considered independent even if sometimes they coincide.

> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "19m3j5ad4q7ywl0nd39vs0wha4md8fb846ykz0anv31rvdzv5yv3"))))

Aside from the ssl_keystore thing, I see nothing ‘suspicious’ and the
hash checks out.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-17 21:10   ` Maxime Devos
@ 2022-03-18  9:01     ` Reily Siegel
  2022-03-18 13:22       ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-03-18  9:01 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> Looks like there's a bug somewhere then.  Has this been reported? 
> Could a link be added to the report so we know when the #:aot-exclude
> can be removed?  If it's an issue with ant-build-system, can this be
> reported?

Clojure libraries are usually not designed to be AOT-compiled, and are
largely distributed in source form. The fact that Guix's
clojure-build-system chooses to AOT all Clojure code by default is
confusing to me. At some point, this default should probably be changed
because many Clojure libraries rely on the fact that they are
distributed uncompiled to work properly.

-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-18  9:01     ` Reily Siegel
@ 2022-03-18 13:22       ` Maxime Devos
  2022-03-19 19:07         ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-03-18 13:22 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op vr 18-03-2022 om 10:01 [+0100]:
> > Looks like there's a bug somewhere then.  Has this been reported? 
> > Could a link be added to the report so we know when the #:aot-
> > exclude
> > can be removed?  If it's an issue with ant-build-system, can this
> > be
> > reported?
> 
> Clojure libraries are usually not designed to be AOT-compiled, and
> are largely distributed in source form. The fact that Guix's
> clojure-build-system chooses to AOT all Clojure code by default is
> confusing to me.

For languages for which a compiler is available, AOT is rather standard.
(E.g., C, C++, Guile Scheme, Python, Java, Fortran).  Apparently Clojure
has a compiler as well.  Basically, why not AOT when it is possible, instead
of delaying compilation until runtime?

> At some point, this default should probably be changed because many
> Clojure libraries rely on the fact that they are distributed
> uncompiled to work properly.

How can a Clojure library rely on this fact in the first place?  I
don't quite see how -- for comparison, there are a few methods in Guile
for detecting if it is has been compiled or is being interpreted,
e.g. some uses of 'eval-when', '%load-compiled-path' or 'procedure-
name', but they are rather convoluted and unused (except in examples).

Also, if a Clojure library misbehaves when being AOT-compiled, without
additional context, that seems like a bug in the Clojure library to me
(or the AOT-compilation code).

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-18 13:22       ` Maxime Devos
@ 2022-03-19 19:07         ` Reily Siegel
  2022-03-19 19:15           ` Maxime Devos
                             ` (5 more replies)
  0 siblings, 6 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-19 19:07 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> Also, if a Clojure library misbehaves when being AOT-compiled, without
> additional context, that seems like a bug in the Clojure library to me
> (or the AOT-compilation code).

When I first started running into these issues, I reached out to Clojure
maintainers on the Clojurians Slack, and the response was that AOT
compilation is only meant for complete applications to reduce startup
latency, not individual libraries. Here are some of the specific
responses I got.

Alex Miller:

> Well, guix’s system is wrong to [AOT library code]. Lots of Clojure
> libs have clj files that are not part of the lib.


Sean Corfield:

> Packaging a library as AOT'd code is likely to cause horrible problems
> for consumers of that library. You're aware that lots of Clojure
> libraries are packaged as JAR files with no compilation of source
> code? "Packaging" Clojure libraries seems kinda wrong on several
> levels. The normal way to get Clojure libraries is as dependencies in
> a project -- fetched by the Clojure tooling itself, when it is run.

-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-19 19:07         ` Reily Siegel
@ 2022-03-19 19:15           ` Maxime Devos
  2022-03-21  8:35             ` Reily Siegel
  2022-03-21  9:55             ` Maxime Devos
  2022-03-19 19:23           ` Maxime Devos
                             ` (4 subsequent siblings)
  5 siblings, 2 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-19 19:15 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op za 19-03-2022 om 20:07 [+0100]:
> When I first started running into these issues, I reached out to Clojure
> maintainers on the Clojurians Slack, and the response was that AOT
> compilation is only meant for complete applications to reduce startup
> latency, not individual libraries. Here are some of the specific
> responses I got. [...]

On which day was this, and on which channel?  I'd like to have a look
at the rest of the responses (on the archives at
<https://clojurians-log.clojureverse.org/>) for some additional
context.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-19 19:07         ` Reily Siegel
  2022-03-19 19:15           ` Maxime Devos
@ 2022-03-19 19:23           ` Maxime Devos
  2022-03-19 19:28           ` Maxime Devos
                             ` (3 subsequent siblings)
  5 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-19 19:23 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op za 19-03-2022 om 20:07 [+0100]:
> Sean Corfield:
> 
> > [...] "Packaging" Clojure libraries seems kinda wrong on several
> > levels. The normal way to get Clojure libraries is as dependencies in
> > a project -- fetched by the Clojure tooling itself, when it is run.

This defeats the point of Guix and would come with all the same
problems that ‘just use the language-specific, unmoderated package
registry’ (NPM, Cargo, Maven (*), ...).

(*) TBC, Maven doesn't seem to cause any packaging trouble in Guix --
but from a security POV and ‘oops there are some references to binaries
that need to be corrected to an absolute file name’ POV it is not
sufficient.   Probably likewise for whatever Clojure has in place,
ignoring the occasional AOT problem.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-19 19:07         ` Reily Siegel
  2022-03-19 19:15           ` Maxime Devos
  2022-03-19 19:23           ` Maxime Devos
@ 2022-03-19 19:28           ` Maxime Devos
  2022-03-19 19:34           ` Maxime Devos
                             ` (2 subsequent siblings)
  5 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-19 19:28 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op za 19-03-2022 om 20:07 [+0100]:
> > Packaging a library as AOT'd code is likely to cause horrible
> > problems for consumers of that library.

This just states ‘there will be horrible problems’ but it doesn't
explain at all which these problems would be.

> > You're aware that lots of Clojure libraries are packaged as
> > JAR files with no compilation of source code?

I don't see the relation between this sentence and the previous.
Also, yes, that's the idea: upstream provides the raw source code,
downstream (Guix) converts it in ready-to-use pre-compiled binaries.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-19 19:07         ` Reily Siegel
                             ` (2 preceding siblings ...)
  2022-03-19 19:28           ` Maxime Devos
@ 2022-03-19 19:34           ` Maxime Devos
  2022-03-19 19:46           ` Maxime Devos
  2022-03-19 19:54           ` Maxime Devos
  5 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-19 19:34 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op za 19-03-2022 om 20:07 [+0100]:
> > Also, if a Clojure library misbehaves when being AOT-compiled,
> > without
> > additional context, that seems like a bug in the Clojure library to
> > me
> > (or the AOT-compilation code).
> 
> When I first started running into these issues, I reached out to
> Clojure
> maintainers on the Clojurians Slack, and the response was that AOT
> compilation is only meant for complete applications to reduce startup
> latency, not individual libraries. Here are some of the specific
> responses I got. [...]

This does not explain what these AOT issues actually are.  Do you
receive some error message or backtrace or something when building or
running tests?

Greetings,
Maxime.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-19 19:07         ` Reily Siegel
                             ` (3 preceding siblings ...)
  2022-03-19 19:34           ` Maxime Devos
@ 2022-03-19 19:46           ` Maxime Devos
  2022-03-19 19:56             ` Maxime Devos
  2022-03-19 19:54           ` Maxime Devos
  5 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-03-19 19:46 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op za 19-03-2022 om 20:07 [+0100]:
> When I first started running into these issues, I reached out to Clojure
> maintainers on the Clojurians Slack, and the response was that AOT
> compilation is only meant for complete applications to reduce startup
> latency, not individual libraries.

That seems backwards to me.  Wouldn't AOTing compiling individual
libraries be more efficient than AOTing individual applications?
More concretely:

Suppose app A and B consists of a single source file A.clj and B.clj
respectively, and each have library C (with C.clj) as dependency.
Then, what Guix currently does, is AOT'ing C.lj when building C, then
AOT'ing A.clj when building A and AOT'ing B when building B.
In total, AOT'ing a file happens thrice here.

What seems to be implied here, is that the AOT'ing needs to be delayed
to A and B.  In this case, C.clj would be AOT'd twice: once for A, and
once for B.  In total, AOT'ing a file happens four times here.

As such, wouldn't AOT'ing the applications instead of the libraries be
less efficient?

An additional problem here is grafting.  If the AOT'ing was delayed to
the application packages, then the libraries cannot be grafted, for the
same reason that (C, C++, Go, ...) static libraries cannot be grafted.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-19 19:07         ` Reily Siegel
                             ` (4 preceding siblings ...)
  2022-03-19 19:46           ` Maxime Devos
@ 2022-03-19 19:54           ` Maxime Devos
  5 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-19 19:54 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op za 19-03-2022 om 20:07 [+0100]:
> and the response was that AOT compilation is only meant
> for complete applications to reduce startup latency, not
> individual libraries.

I don't see the relevancy of that what Guix does, is apparently not
meant to be done.  If the thing that is meant to be done is problematic
and a better option exists (w.r.t. grafting and build times, see other
e-mail), wouldn't it it better to ignore the officiously (*) proscribed
purpose of the AOT here?

(*) ‘unofficially sort-of official’

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-19 19:46           ` Maxime Devos
@ 2022-03-19 19:56             ` Maxime Devos
  0 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-19 19:56 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Maxime Devos schreef op za 19-03-2022 om 20:46 [+0100]:
> An additional problem here is grafting.  If the AOT'ing was delayed
> to the application packages, then the libraries cannot be grafted,
> for the same reason that (C, C++, Go, ...) static libraries cannot be
> grafted.

Another benefit is that intermediate libraries will fail to build
if there are missing dependencies or syntax errors and perhaps if
the dependencies are out-of-date, which would make updating
intermediate libraries because it would be easier to see if the
packaged library actually works.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-19 19:15           ` Maxime Devos
@ 2022-03-21  8:35             ` Reily Siegel
  2022-03-21  9:06               ` Maxime Devos
                                 ` (2 more replies)
  2022-03-21  9:55             ` Maxime Devos
  1 sibling, 3 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-21  8:35 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> On which day was this, and on which channel?  I'd like to have a look
> at the rest of the responses (on the archives at
> <https://clojurians-log.clojureverse.org/>) for some additional
> context.

https://clojurians.slack.com/archives/C6QH853H8/p1642208631059100

Here is a link to the conversation I had, everything discussed was as a reply to
this message.

As of now, my only goal is to package the Clojure libraries needed to
make the Clojure CLI work, as that is the community standard way of
accessing Clojure libraries. This seems acceptable, as NPM, Nix, etc are
also packaged.

-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-21  8:35             ` Reily Siegel
@ 2022-03-21  9:06               ` Maxime Devos
  2022-03-21  9:07               ` Maxime Devos
  2022-03-21  9:51               ` Maxime Devos
  2 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-21  9:06 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 21-03-2022 om 09:35 [+0100]:
> Maxime Devos <maximedevos@telenet.be> writes:
> 
> > On which day was this, and on which channel?  I'd like to have a look
> > at the rest of the responses (on the archives at
> > <https://clojurians-log.clojureverse.org/>) for some additional
> > context.
> 
> https://clojurians.slack.com/archives/C6QH853H8/p1642208631059100

That page is not publicly visible, it asks for signing in with Google
or Apple.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-21  8:35             ` Reily Siegel
  2022-03-21  9:06               ` Maxime Devos
@ 2022-03-21  9:07               ` Maxime Devos
  2022-03-21  9:51               ` Maxime Devos
  2 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-21  9:07 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 21-03-2022 om 09:35 [+0100]:
> This seems acceptable, as NPM, Nix, etc are
> also packaged.

NPM does not appear to be packaged in Guix?

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-21  8:35             ` Reily Siegel
  2022-03-21  9:06               ` Maxime Devos
  2022-03-21  9:07               ` Maxime Devos
@ 2022-03-21  9:51               ` Maxime Devos
  2 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-21  9:51 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 21-03-2022 om 09:35 [+0100]:
> As of now, my only goal is to package the Clojure libraries needed to
> make the Clojure CLI work, as that is the community standard way of
> accessing Clojure libraries.

Ok.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-19 19:15           ` Maxime Devos
  2022-03-21  8:35             ` Reily Siegel
@ 2022-03-21  9:55             ` Maxime Devos
  2022-03-21 11:27               ` Reily Siegel
  1 sibling, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-03-21  9:55 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Maxime Devos schreef op za 19-03-2022 om 20:15 [+0100]:
> Reily Siegel schreef op za 19-03-2022 om 20:07 [+0100]:
> > When I first started running into these issues, I reached out to
> Clojure
> > maintainers on the Clojurians Slack, and the response was that AOT
> > compilation is only meant for complete applications to reduce
> startup
> > latency, not individual libraries. Here are some of the specific
> > responses I got. [...]
> 
> On which day was this, and on which channel?  I'd like to have a look
> at the rest of the responses (on the archives at
> <https://clojurians-log.clojureverse.org/>) for some additional
> context.

More concretely, I'm looking for answers to things like ‘how to detect
which files can be compiled’, ‘how to determine if a build failure is
caused by AOT problems’, ‘how to know in advance if AOT might cause
problems’ and ‘should AOT compilation be disabled by default for
tests?’.

If some answers can be found, perhaps adding #:aot-exclude can be
automated in (guix build clojure-build-system), and thsese answers
could help future packagers.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-21  9:55             ` Maxime Devos
@ 2022-03-21 11:27               ` Reily Siegel
  2022-03-21 13:38                 ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-03-21 11:27 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> More concretely, I'm looking for answers to things like ‘how to detect
> which files can be compiled’, ‘how to determine if a build failure is
> caused by AOT problems’, ‘how to know in advance if AOT might cause
> problems’ and ‘should AOT compilation be disabled by default for
> tests?’.
>
> If some answers can be found, perhaps adding #:aot-exclude can be
> automated in (guix build clojure-build-system), and thsese answers
> could help future packagers.

It seems to me that the easiest way to do this is to by default not AOT
compile anything, and if a library needs a file AOT compiled, it can be
set when packaged. I don't believe there is any good way to automate
this, at least not with the sort of problems I have run into.
-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-21 11:27               ` Reily Siegel
@ 2022-03-21 13:38                 ` Maxime Devos
  0 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-21 13:38 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 21-03-2022 om 12:27 [+0100]:
> It seems to me that the easiest way to do this is to by default not AOT
> compile anything, and if a library needs a file AOT compiled, it can be
> set when packaged.

As I understand it, no package strictly _needs_ to be AOT compiled.
It does, however, appear to be a nice optimisation and has some
tangential benefits (e.g. error out early in case of syntax errors),
so to me it seems better to keep AOT on by default.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
  2022-03-16 12:43 ` [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize Reily Siegel
                     ` (3 preceding siblings ...)
  2022-03-17 21:26   ` Maxime Devos
@ 2022-03-21 14:18   ` Maxime Devos
  4 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-21 14:18 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:43 [+0100]:
> [...]
> +       ;; Tests fail when AOT'd.
> +       #:aot-exclude '(#:all)))

It seems to me that the easiest way to investigate what the issue
actually is, is to actually build it (without #:aot-exclude) and look
at the build log, so WDYT of first reviewing the other non-reviewed
patches first (ignoring AOT), and leaving the investigation of #:aot-
exclude for last?

Also, the build log would be useful to investigate.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 17/18] gnu: clojure-tools-deps-alpha: Fix issues with S3
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 17/18] gnu: clojure-tools-deps-alpha: Fix issues with S3 Reily Siegel
@ 2022-03-26  9:51   ` Maxime Devos
  2022-03-29  9:54     ` [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Ludovic Courtès
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-03-26  9:51 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:44 [+0100]:
>         ;; FIXME: Could not initialize class org.eclipse.aether.transport.http.SslSocketFactory
> -       #:tests? #f
> [...]
> +       #:tests? #f))

Is this still necessary, or has this been fixed by adding the
dependencies?  Looking at "guix search java-eclipse-aether", there are
a few results, so maybe all that is necessary is adding one of the
results to the native-inputs?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 16/18] gnu: Add clojure-com-cognitect-aws-s3.
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 16/18] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
@ 2022-03-26 10:03   ` Maxime Devos
  2022-03-28  9:41     ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-03-26 10:03 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op wo 16-03-2022 om 13:44 [+0100]:
> +(define-public clojure-com-cognitect-aws-s3
> +  (package
> +    (inherit clojure-com-cognitect-aws-api)
> +    (name "clojure-com-cognitect-aws-s3")
> +    (version "814.2.991.0")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://repo1.maven.org/maven2/"
> +                                  "com/cognitect/aws/s3/"
> +                                  version "/s3-"
> +                                  version "-sources.jar"))
> +              (sha256
> +               (base32
> +                "0aw3mpddmnjmp45vbmv1l47jn84lgq866fy9mg4wf1x2lqdyhigh"))))

Nevermind my previous comments about ‘All rights reserved’, this seems
to be a leftover of the 1910
(https://en.wikipedia.org/wiki/All_rights_reserved).

However, I still do not have proof that it is actually ASL2.0 license
-- I don't consider pom.xml to be proof by itself, because I often see
packages where the license mentioned in the source files does not match
the license in their equivalent of pom.xml or README.

> +    (native-inputs '())
> +    (propagated-inputs '())
> +    (arguments
> +     '(#:doc-dirs '()
> +       ;; This package has no tests.
> +       #:tests? #f

Alternatively, you can try #:test-dirs '() here.  I don't know what
would be better here.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3.
  2022-02-07 19:56     ` Reily Siegel
@ 2022-03-26 10:08       ` Maxime Devos
  2022-03-26 10:13         ` Maxime Devos
  2022-03-28 10:31         ` Reily Siegel
  0 siblings, 2 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-26 10:08 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 07-02-2022 om 14:56 [-0500]:
> > Furthermore, service.edn and docs.edn are huge blobs -- it's
> > textual
> > and not binary, but that doesn't make it source code.
> 
> EDN is a strict subset of Clojure used for representing Clojure data
> structures, similar to JSON for JavaScript.

If docs.edn is documentation, should it be in #:doc-dirs?
Additionally, this doesn't make it any less a blob.  Where does this
data come from?  Was it written manually by cognitect people?  Was some
(possibly propietary?) data taken from Amazon and then converted into
another data format?  How can I edit these files?

Greetings,
MAxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3.
  2022-03-26 10:08       ` Maxime Devos
@ 2022-03-26 10:13         ` Maxime Devos
  2022-03-28 10:31         ` Reily Siegel
  1 sibling, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-26 10:13 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Maxime Devos schreef op za 26-03-2022 om 11:08 [+0100]:
> Reily Siegel schreef op ma 07-02-2022 om 14:56 [-0500]:
> > > Furthermore, service.edn and docs.edn are huge blobs -- it's
> > > textual
> > > and not binary, but that doesn't make it source code.
> > 
> > EDN is a strict subset of Clojure used for representing Clojure
> data
> > structures, similar to JSON for JavaScript.
> 
> If docs.edn is documentation, should it be in #:doc-dirs?
> Additionally, this doesn't make it any less a blob.  Where does this
> data come from?  Was it written manually by cognitect people?  Was
> some
> (possibly propietary?) data taken from Amazon and then converted into
> another data format?  How can I edit these files?

More specifically, I noticed that "docs.edn" contains the string

 Amazon S3 frees up the space used to store the parts and stop charging
you for storing them only after you either complete or abort a
multipart upload.

and so does

<https://web.archive.org/web/20220322191400/https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html>

but AFAIK Amazon has not released the documentation as ASL2.0.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 16/18] gnu: Add clojure-com-cognitect-aws-s3.
  2022-03-26 10:03   ` Maxime Devos
@ 2022-03-28  9:41     ` Reily Siegel
  2022-03-28 11:46       ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-03-28  9:41 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> However, I still do not have proof that it is actually ASL2.0 license
> -- I don't consider pom.xml to be proof by itself, because I often see
> packages where the license mentioned in the source files does not match
> the license in their equivalent of pom.xml or README.

What course of action would you like me to take here? I believe this is
the only indication of the license in the source code, so nothing to
conflict with. I can reach out to Cognitect on slack to confirm that the
license is correct, however given my past interactions I suspect that
the package won't be updated for the benefit of this project.

> Alternatively, you can try #:test-dirs '() here.  I don't know what
> would be better here.

My understanding is that with #:test-dirs '() the clojure build system
still attempts to run a process to run 0 tests, which increases build
time significantly. I believe #:tests? #f is the better choice here.

-- 
Reily Siegel




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

* [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3.
  2022-03-26 10:08       ` Maxime Devos
  2022-03-26 10:13         ` Maxime Devos
@ 2022-03-28 10:31         ` Reily Siegel
  2022-03-28 11:50           ` Maxime Devos
  2022-03-28 11:52           ` Maxime Devos
  1 sibling, 2 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-28 10:31 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> If docs.edn is documentation, should it be in #:doc-dirs?

It is not documentation, it is a data structure that is used to generate
code.

> Additionally, this doesn't make it any less a blob.  Where does this
> data come from?  Was it written manually by cognitect people?  Was some
> (possibly propietary?) data taken from Amazon and then converted into
> another data format?  How can I edit these files?

As I said in response to another package, I can reach out to Cognitect
on slack and ask, however based on the previous conversations I have had
I strongly suspect they will not want to make any changes ot the package
to clarify licensing for the sole benefit of Guix.

-- 
Reily Siegel




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

* [bug#53765] [PATCH v2 16/18] gnu: Add clojure-com-cognitect-aws-s3.
  2022-03-28  9:41     ` Reily Siegel
@ 2022-03-28 11:46       ` Maxime Devos
  2022-03-28 11:57         ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-03-28 11:46 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 28-03-2022 om 11:41 [+0200]:
> Maxime Devos <maximedevos@telenet.be> writes:
> 
> > However, I still do not have proof that it is actually ASL2.0 license
> > -- I don't consider pom.xml to be proof by itself, because I often see
> > packages where the license mentioned in the source files does not match
> > the license in their equivalent of pom.xml or README.
> 
> What course of action would you like me to take here? I believe this is
> the only indication of the license in the source code, so nothing to
> conflict with. I can reach out to Cognitect on slack to confirm that the
> license is correct,
> 

That should be sufficient to confirm the licensing terms ...

>  however given my past interactions I suspect that
> the package won't be updated for the benefit of this project.

... however, if that turns out to be the case, then it seems that Guix
cannot include clojure-com-cognitect-aws-s3 as-is, because of 3.2(b) of
the EPL2.0:

  3.2 When the Program is Distributed as Source Code:

      a)[...]
      b) a copy of this Agreement must be included with each copy of the Program.

Perhaps an appropriate snippet would be sufficient, or maybe not.

Rhethorical question: why do people keep forgetting this of kind term (in the
GPL, EPL, Expat or otherwise, even in their own software?)

Do you know where the cognitect slack channels are located?  I've created an
account (for the clojure slack) some time ago, but I don't know where the
cognitect slack is (didn't find it).  Also, do you know if they are also
reachable via some open platform (e-mail, IRC, ...)?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3.
  2022-03-28 10:31         ` Reily Siegel
@ 2022-03-28 11:50           ` Maxime Devos
  2022-03-28 11:52           ` Maxime Devos
  1 sibling, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-28 11:50 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 28-03-2022 om 12:31 [+0200]:
> Maxime Devos <maximedevos@telenet.be> writes:
> 
> > If docs.edn is documentation, should it be in #:doc-dirs?
> 
> It is not documentation, it is a data structure that is used to generate
> code.

The string ‘Amazon S3 frees up the space used to store the parts and
stop charging you for storing them only after you either complete or
abort a multipart upload.’ and other strings like that look like
documentation to me, and I did not see any code reading docs.edn to
generate code from it.

Greetings,
Maxime.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3.
  2022-03-28 10:31         ` Reily Siegel
  2022-03-28 11:50           ` Maxime Devos
@ 2022-03-28 11:52           ` Maxime Devos
  1 sibling, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-28 11:52 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op ma 28-03-2022 om 12:31 [+0200]:
> > Additionally, this doesn't make it any less a blob.  Where does
> > this
> > data come from?  Was it written manually by cognitect people?  Was
> > some
> > (possibly propietary?) data taken from Amazon and then converted
> > into
> > another data format?  How can I edit these files?
> 
> As I said in response to another package, I can reach out to
> Cognitect on slack and ask, however based on the previous
> conversations I have had I strongly suspect they will not want to
> make any changes ot the package to clarify licensing for the sole
> benefit of Guix.

It won't be for the sole benefit of Guix.  It would be of the benefit
for *everyone* distributing a copy of clojure-com-cognitect-aws-s3 that
wants to avoids copyright violation.

If the apparent (*) copyright violation and non-freeness cannot be
resolved, then I don't think that clojure-com-cognitect-aws-s3 can be
included in Guix, given that Guix is not above the (copyright) law and
given that software in Guix must be free software.

Unless the blob is removed I suppose, in a snippet.

(*) as-in, there is no evidence it is not a violation or actually free.

Greetings,
MMaxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v2 16/18] gnu: Add clojure-com-cognitect-aws-s3.
  2022-03-28 11:46       ` Maxime Devos
@ 2022-03-28 11:57         ` Reily Siegel
  0 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-03-28 11:57 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> Do you know where the cognitect slack channels are located?  I've created an
> account (for the clojure slack) some time ago, but I don't know where the
> cognitect slack is (didn't find it).  Also, do you know if they are also
> reachable via some open platform (e-mail, IRC, ...)?

I was planning on contacting them on #aws on the clojure slack, I am not
aware of any other way to contact Cognitect. AFAIK there is no open
platform for contacting Cognitect, although there is a rarely-used
mailing list and IRC for Clojure itself.

-- 
Reily Siegel




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

* [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools
  2022-03-26  9:51   ` Maxime Devos
@ 2022-03-29  9:54     ` Ludovic Courtès
  2022-03-29 10:39       ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Ludovic Courtès @ 2022-03-29  9:54 UTC (permalink / raw)
  To: Maxime Devos; +Cc: Reily Siegel, 53765

Hello Maxime & Reily!

I haven’t followed closely; what’s the consensus here: would you say a
v3 is necessary?

Anyhow, I’m happy to apply when push when you deem it ready; feel free
to ping me!

Ludo’.




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

* [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools
  2022-03-29  9:54     ` [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Ludovic Courtès
@ 2022-03-29 10:39       ` Maxime Devos
  0 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-03-29 10:39 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Reily Siegel, 53765

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

Ludovic Courtès schreef op di 29-03-2022 om 11:54 [+0200]:
> Hello Maxime & Reily!
> 
> I haven’t followed closely; what’s the consensus here: would you say a
> v3 is necessary?
> 
> Anyhow, I’m happy to apply when push when you deem it ready; feel free
> to ping me!
> 
> Ludo’.

There are some problems with compiling the clojure code (AOT), though
they appear to be not exclusive to clojure-tools but possibly with the
build system -- from the discussions I've read, I guess that Clojure
macros use 'gensym', which causes build time<->runtime problems?  Or
maybe not exactly that, but something with the same effect.  And
apparently probably the dependencies are compiled instead of only the
library.

These potential compilation problems could be studied and resolved in a
separate issue/patch though (for now, AOT is being disabled).

There are also some potential license problems with
clojure-com-cognitect-aws-s3.  Upstream has been contacted for
more information
<https://github.com/cognitect-labs/aws-api/issues/208>.

Greetings,

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3.
  2022-02-04  0:26 ` [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
  2022-02-06 10:35   ` Maxime Devos
  2022-02-07 19:44   ` Maxime Devos
@ 2022-04-05 13:50   ` Maxime Devos
  2 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-04-05 13:50 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op do 03-02-2022 om 19:26 [-0500]:
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://repo1.maven.org/maven2/"
> +                                  "com/cognitect/aws/s3/"
> +                                  version "/s3-"
> +                                  version "-sources.jar"))
> +              (sha256
> +               (base32

The potential license issue appears to have been resolved in the new
version:
<https://github.com/cognitect-labs/aws-api/issues/208#issuecomment-1088702896>.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (35 preceding siblings ...)
  2022-03-16 12:44 ` [bug#53765] [PATCH v2 18/18] gnu: clojure-tools: Fix logging warning messages Reily Siegel
@ 2022-04-06 12:37 ` Reily Siegel
  2022-01-15 22:30   ` [bug#53765] [PATCH v3 01/17] gnu: Add clojure-data-priority-map Reily Siegel
                     ` (16 more replies)
  2022-04-15 13:54 ` [bug#53765] (no subject) Reily Siegel
                   ` (3 subsequent siblings)
  40 siblings, 17 replies; 166+ messages in thread
From: Reily Siegel @ 2022-04-06 12:37 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


I have made the following changes since the last version:

- Update descriptions and synopses to be more useful and make better use
  of markup
- Provide more details for why some tests are disabled
- Better adhere to conventions for Java packages
- Update clojure-com-cognitect-aws-s3 to a version which includes a
  license in the source
- Stop using home-page in the url field



 gnu/packages/clojure.scm | 487 ++++++++++++++++++++++++++++++++++++---
 gnu/packages/web.scm     |  24 ++
 2 files changed, 481 insertions(+), 30 deletions(-)

-- 
2.35.1




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

* [bug#53765] (no subject)
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (36 preceding siblings ...)
  2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
@ 2022-04-15 13:54 ` Reily Siegel
  2022-04-15 13:55 ` [bug#53765] V3 Patches Reily Siegel
                   ` (2 subsequent siblings)
  40 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-04-15 13:54 UTC (permalink / raw)
  To: 53765


-- 
Reily Siegel




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

* [bug#53765] V3 Patches
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (37 preceding siblings ...)
  2022-04-15 13:54 ` [bug#53765] (no subject) Reily Siegel
@ 2022-04-15 13:55 ` Reily Siegel
  2022-04-15 18:47   ` Maxime Devos
  2022-04-16 19:32   ` Maxime Devos
  2022-04-16 21:59 ` [bug#53765] [PATCH v5 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable deps warning Reily Siegel
  2022-04-16 23:00 ` [bug#53765] [PATCH v4 0/2] Simpler patch removing warnings Reily Siegel
  40 siblings, 2 replies; 166+ messages in thread
From: Reily Siegel @ 2022-04-15 13:55 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


Hello,

I just wanted to check in and make sure you saw the version 3 patches I
sent in, having resolved the licensing issue.

-- 
Reily Siegel




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

* [bug#53765] V3 Patches
  2022-04-15 13:55 ` [bug#53765] V3 Patches Reily Siegel
@ 2022-04-15 18:47   ` Maxime Devos
  2022-04-15 19:03     ` Maxime Devos
  2022-04-16 19:32   ` Maxime Devos
  1 sibling, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-04-15 18:47 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op vr 15-04-2022 om 15:55 [+0200]:
> Hello,
> 
> I just wanted to check in and make sure you saw the version 3 patches I
> sent in, having resolved the licensing issue.

I've received them but I didn't have much time.  I haven't looked a the
new patches but it seems that the only potential issue remaining is ...

> It looks like these files are generated from JSON definitions files
> released as part of the official AWS javascript sdk, which are
> available here [1] under the ASL2.0.
>
> However, it looks like based on this issue on the aws-api github [2],
> the code that generates the EDN files from the JSON definitions is
> not open source, only the resulting output EDN files. 

... do these EDN output files count as source?  They are licensed as
ASL2.0, which is an open source license, but that does not necessarily
make it free software, as they could perhaps be considered binaries
instead of source.

Well, the (original?) source (the JSON files) seems to be free
software, but if there is no free compiler for the source (and worse,
there is only a single compiler and it can only be used by a single
entity (cognitect)), wouldn't that make the software, from a practical
perspective, non-free?

gnu.org words this in more detail at
<https://www.gnu.org/philosophy/when-free-depends-on-nonfree.html>.
FWIW, this seems a similar situation as Debian's ‘contrib’ archive.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] V3 Patches
  2022-04-15 18:47   ` Maxime Devos
@ 2022-04-15 19:03     ` Maxime Devos
  2022-04-16 17:39       ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-04-15 19:03 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Maxime Devos schreef op vr 15-04-2022 om 20:47 [+0200]:
> [com.cognitect.aws.* things]

I found the following messages:

  <https://lists.debian.org/debian-clojure/2021/06/msg00013.html>
  <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891136#27>

Apparently the aws things aren't very useful and they can be patched
out?

Greetings,
Maxime


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] V3 Patches
  2022-04-15 19:03     ` Maxime Devos
@ 2022-04-16 17:39       ` Reily Siegel
  2022-04-16 19:16         ` Maxime Devos
  2022-04-16 19:45         ` Maxime Devos
  0 siblings, 2 replies; 166+ messages in thread
From: Reily Siegel @ 2022-04-16 17:39 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> Apparently the aws things aren't very useful and they can be patched
> out?

That is exactly what I did with the first patch I sent for clojure-tools,
which was accepted. However, this causes the tools to print warnings on
startup, as well as removing the feature of accessing S3 repositories. I
suppose these warnings could be patched out, given that the work to
packages the dependencies has already been done, I see no reason to not
resolve the issue, given that the links you sent me to Debian seem to
believe all of these dependencies fit the requirements of free software.

Elana Hashman <ehashman@debian.org> writes:

> These deps are all open source as far as I can tell, but given that it's
> a lot of work to enable commercial/proprietary development I personally
> do not want to spend volunteer time on it. I would not block someone
> from volunteering to work on this, particularly with a commercial
> sponsor, but I don't think it'd be a great use of time for e.g. a GSoC
> student.

To be clear, I am not working on these patches on behalf of a commercial
sponsor, but because it didn't feel right to me to package the library
with significant functionality missing, especially not in the long term.

Maxime Devos <maximedevos@telenet.be> writes:

> Well, the (original?) source (the JSON files) seems to be free software,
> but if there is no free compiler for the source (and worse, there is
> only a single compiler and it can only be used by a single entity
> (cognitect)), wouldn't that make the software, from a practical
> perspective, non-free?

It is my personal opinion that this is not a compilation, but a
translation. All this "compiler" is doing, as far as I can tell, is
reading the JSON source, and outputting an equivalent source in EDN
format. This seems completely fine to me, as nothing then prevents the
user of this library from editing the EDN source, which is equivalent to
the JSON source. In fact, since this is a Clojure library, the EDN
source is probably the preferred form for editing for people who are
likely to use it.

> gnu.org words this in more detail at
> <https://www.gnu.org/philosophy/when-free-depends-on-nonfree.html>.

This seems to focus on instances when some important software freedom is
lost. I can't see anything that would give guidance on what to do when
all freedoms are preserved, as they seem to be here.

-- 
Reily Siegel




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

* [bug#53765] V3 Patches
  2022-04-16 17:39       ` Reily Siegel
@ 2022-04-16 19:16         ` Maxime Devos
  2022-04-16 19:35           ` Reily Siegel
  2022-04-16 19:45         ` Maxime Devos
  1 sibling, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-04-16 19:16 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op za 16-04-2022 om 19:39 [+0200]:
> It is my personal opinion that this is not a compilation, but a
> translation. All this "compiler" is doing, as far as I can tell, is
> reading the JSON source, and outputting an equivalent source in EDN
> format.

Translation (between human languages) is hard.  Translation between
file formats can be hard to, e.g. for complicated documents, I often
see errors introduced by Libreoffice (odt) <-> Microsoft (docx)
conversion.  

> This seems completely fine to me, as nothing then prevents the
> user of this library from editing the EDN source, which is equivalent to
> the JSON source. In fact, since this is a Clojure library, the EDN
> source is probably the preferred form for editing for people who are
> likely to use it.

These EDN files could be modified, so non-Cognitect people could
perhaps, for every new API thing or modified API that Amazon
introduces, manually search for the relevant part in the JSON files and
transcribe them to EDN, do some tests to make sure they didn't make any
errors during the transcribing process.  Likewise for updating the
documentation parts.

However, that looks like a lot of pointless work and a power indynamic,
that could be trivially be resolved by Cognitect.

> This seems to focus on instances when some important software freedom
> is lost. I can't see anything that would give guidance on what to do
> when all freedoms are preserved, as they seem to be here.

Theoretically, the freedoms seem to be preserved here.  However, at
least currently, Cognitect is making exercising some of these freedoms
pointlessly difficult.

TBC, I'm not saying that Cognitect must make things easy, rather the
making things hard (by keeping the compiler, or translator, secret) is
what I consider the problem here.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] V3 Patches
  2022-04-15 13:55 ` [bug#53765] V3 Patches Reily Siegel
  2022-04-15 18:47   ` Maxime Devos
@ 2022-04-16 19:32   ` Maxime Devos
  2022-04-16 20:11     ` Reily Siegel
  1 sibling, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-04-16 19:32 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op vr 15-04-2022 om 15:55 [+0200]:
> Hello,
> 
> I just wanted to check in and make sure you saw the version 3 patches I
> sent in, having resolved the licensing issue.

I looked at the new jar that was uploaded
(https://mvnrepository.com/artifact/com.cognitect.aws/s3/822.2.1109.0)
and it looks like there is still a problem.  The APL states:

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute
          must include a readable copy of the attribution notices
          contained within such NOTICE file, excluding [...]

and <https://github.com/aws/aws-sdk-js> has a NOTICE.txt.  However, it
is missing from the com.cognitect.aws.s3 jar.

Cognitect also modified the files (by the JSON -> EDN compilation), and
APL says:

  You must cause any modified files to carry prominent notices stating
  that You changed the files; and

though perhaps, if JSON -> EDN is sufficiently lossless, this could be
considered not a modification, I don't know.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] V3 Patches
  2022-04-16 19:16         ` Maxime Devos
@ 2022-04-16 19:35           ` Reily Siegel
  2022-04-16 19:45             ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-04-16 19:35 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> Theoretically, the freedoms seem to be preserved here.  However, at
> least currently, Cognitect is making exercising some of these freedoms
> pointlessly difficult.
>
> TBC, I'm not saying that Cognitect must make things easy, rather the
> making things hard (by keeping the compiler, or translator, secret) is
> what I consider the problem here.

Per this issue [1] on the aws-api GitHub, Cognitect has stated that the
translation code (they call it a generator) is not open source when
asked by a community member to view the source. As for why this is, I
couldn't guess, it seems to be a relatively trivial piece of code. Is
this issue blocking for the inclusion of the package?

[1]: https://github.com/cognitect-labs/aws-api/issues/116

-- 
Reily Siegel




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

* [bug#53765] V3 Patches
  2022-04-16 19:35           ` Reily Siegel
@ 2022-04-16 19:45             ` Maxime Devos
  2022-04-16 20:15               ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-04-16 19:45 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op za 16-04-2022 om 21:35 [+0200]:
> Maxime Devos <maximedevos@telenet.be> writes:
> 
> > Theoretically, the freedoms seem to be preserved here.  However, at
> > least currently, Cognitect is making exercising some of these freedoms
> > pointlessly difficult.
> > 
> > TBC, I'm not saying that Cognitect must make things easy, rather the
> > making things hard (by keeping the compiler, or translator, secret) is
> > what I consider the problem here.
> 
> Per this issue [1] on the aws-api GitHub, Cognitect has stated that the
> translation code (they call it a generator) is not open source when
> asked by a community member to view the source. As for why this is, I
> couldn't guess, it seems to be a relatively trivial piece of code.

If it's a trivial piece of code, it would be trivial for Cognitect to
make it free software without any business loss or something.

> Is this issue blocking for the inclusion of the package?
> 
> [1]: https://github.com/cognitect-labs/aws-api/issues/116

From my POV, yes.  Also see the new mail about another license issue (a
missing NOTICE.txt).

Greetings,
Maxime.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] V3 Patches
  2022-04-16 17:39       ` Reily Siegel
  2022-04-16 19:16         ` Maxime Devos
@ 2022-04-16 19:45         ` Maxime Devos
  1 sibling, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-04-16 19:45 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op za 16-04-2022 om 19:39 [+0200]:
> To be clear, I am not working on these patches on behalf of a commercial
> sponsor, but because it didn't feel right to me to package the library
> with significant functionality missing, especially not in the long term.

TBC, I have no problems with commercial sponsers and commerce in
general.

While there might be some functionality missing, it appears to be only
useful for being a client of Amazon.  I don't see any loss at not
helping Amazon, which reportedly practices reportedly include bad
worker conditions, tax avoidance and many other things.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] V3 Patches
  2022-04-16 19:32   ` Maxime Devos
@ 2022-04-16 20:11     ` Reily Siegel
  0 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-04-16 20:11 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> I looked at the new jar that was uploaded
> (https://mvnrepository.com/artifact/com.cognitect.aws/s3/822.2.1109.0)
> and it looks like there is still a problem.  The APL states:
>
>       (d) If the Work includes a "NOTICE" text file as part of its
>           distribution, then any Derivative Works that You distribute
>           must include a readable copy of the attribution notices
>           contained within such NOTICE file, excluding [...]
>
> and <https://github.com/aws/aws-sdk-js> has a NOTICE.txt.  However, it
> is missing from the com.cognitect.aws.s3 jar.
>
> Cognitect also modified the files (by the JSON -> EDN compilation), and
> APL says:
>
>   You must cause any modified files to carry prominent notices stating
>   that You changed the files; and
>
> though perhaps, if JSON -> EDN is sufficiently lossless, this could be
> considered not a modification, I don't know.
>
> Greetings,
> Maxime.

I have made Cognitect aware of this here:
https://github.com/cognitect-labs/aws-api/issues/208


-- 
Reily Siegel




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

* [bug#53765] V3 Patches
  2022-04-16 19:45             ` Maxime Devos
@ 2022-04-16 20:15               ` Reily Siegel
  2022-04-16 20:47                 ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-04-16 20:15 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

>> Is this issue blocking for the inclusion of the package?
>> 
>> [1]: https://github.com/cognitect-labs/aws-api/issues/116
>
> From my POV, yes.

In this case, would you like me to submit an alternative patch that
keeps these features patched out, but silences the warnings printed that
S3 classes are not available?

-- 
Reily Siegel




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

* [bug#53765] V3 Patches
  2022-04-16 20:15               ` Reily Siegel
@ 2022-04-16 20:47                 ` Maxime Devos
  2022-04-16 21:14                   ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-04-16 20:47 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op za 16-04-2022 om 22:15 [+0200]:
> Maxime Devos <maximedevos@telenet.be> writes:
> 
> > > Is this issue blocking for the inclusion of the package?
> > > 
> > > [1]: https://github.com/cognitect-labs/aws-api/issues/116
> > 
> > From my POV, yes.
> 
> In this case, would you like me to submit an alternative patch that
> keeps these features patched out, but silences the warnings printed that
> S3 classes are not available?

When do these warnings happen?  Only if the user asked to do some S3
things, or also when no S3 things are done at all?  If it's the former,
I don't see a reason to patch out the warnings, though if it's the
latter I agree.

I haven't looked at the v3 patches in detail yet, but if the
com-cognitect-aws-s3 package is not part of the v4, then I expect the
v4 to be good.

FWIW, I don't think I'll have time to look again anytime soonish.

Greetings,
Maxime

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] V3 Patches
  2022-04-16 20:47                 ` Maxime Devos
@ 2022-04-16 21:14                   ` Reily Siegel
  0 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-04-16 21:14 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> Reily Siegel schreef op za 16-04-2022 om 22:15 [+0200]:
>> Maxime Devos <maximedevos@telenet.be> writes:
>> 
>> > > Is this issue blocking for the inclusion of the package?
>> > > 
>> > > [1]: https://github.com/cognitect-labs/aws-api/issues/116
>> > 
>> > From my POV, yes.
>> 
>> In this case, would you like me to submit an alternative patch that
>> keeps these features patched out, but silences the warnings printed that
>> S3 classes are not available?
>
> When do these warnings happen?  Only if the user asked to do some S3
> things, or also when no S3 things are done at all?  If it's the former,
> I don't see a reason to patch out the warnings, though if it's the
> latter I agree.

These warnings happen every time the tool is run, here is what it looks
like:

"Warning: failed to load the S3TransporterFactory class"

It is very trivial to patch out.

> I haven't looked at the v3 patches in detail yet, but if the
> com-cognitect-aws-s3 package is not part of the v4, then I expect the
> v4 to be good.
>
> FWIW, I don't think I'll have time to look again anytime soonish.

If I simply patch out this one feature, the resulting patchset will be
much simpler. Most of this patch is adding dependencies of aws-api. If
that can be patched out, the only change needed over the existing
clojure-tools package is to remove the one line responsible for printing
this warning from the file, should be doable with an easy substitution.

-- 
Reily Siegel




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

* [bug#53765] [PATCH v4 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable
  2022-04-16 23:00 ` [bug#53765] [PATCH v4 0/2] Simpler patch removing warnings Reily Siegel
@ 2022-04-16 21:59   ` Reily Siegel
  2022-04-17  7:59     ` Maxime Devos
  2022-04-16 22:00   ` [bug#53765] [PATCH v4 2/2] gnu: clojure-tools: Fix logging warnings Reily Siegel
  1 sibling, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-04-16 21:59 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


---
 gnu/packages/clojure.scm | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index e6eb749501..0d9e984bd6 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -501,11 +501,11 @@ (define-public clojure-tools-deps-alpha
        #:tests? #f
        #:phases
        (modify-phases %standard-phases
-         ;; FIXME: Currently, the S3 transporter depends on ClojureScript,
-         ;; which is very difficult to package due to dependencies on Java
-         ;; libraries with non-standard build systems. Instead of actually
-         ;; packaging these libraries, we just remove the S3 transporter that
-         ;; depends on them.
+         ;; Currently, the S3 transporter depends on com.cognitect.aws/s3,
+         ;; which is built from Amazon's aws-sdk-js using a closed-source
+         ;; script. For more information see:
+         ;; https://issues.guix.gnu.org/53765
+         ;; https://github.com/cognitect-labs/aws-api/issues/116
          (add-after 'unpack 'remove-s3-transporter
            (lambda _
              (for-each delete-file
@@ -519,9 +519,10 @@ (define-public clojure-tools-deps-alpha
                         (string-append
                          "src/test/clojure/clojure/"
                          "tools/deps/alpha/util/test_s3_transporter.clj")))
-             (substitute*
-                 "src/main/clojure/clojure/tools/deps/alpha/util/maven.clj"
+             (substitute* "src/main/clojure/clojure/tools/deps/alpha/util/maven.clj"
                (("clojure.tools.deps.alpha.util.s3-transporter")
+                "")
+               (("(printerrln \"Warning: failed to load the S3TransporterFactory class\")")
                 "")))))))
     (propagated-inputs (list maven-resolver-api
                              maven-resolver-spi

-- 
Reily Siegel




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

* [bug#53765] [PATCH v5 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable deps warning.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (38 preceding siblings ...)
  2022-04-15 13:55 ` [bug#53765] V3 Patches Reily Siegel
@ 2022-04-16 21:59 ` Reily Siegel
  2022-04-16 22:00   ` [bug#53765] [PATCH v5 2/2] gnu: clojure-tools: Fix logging warnings Reily Siegel
  2022-04-16 23:00 ` [bug#53765] [PATCH v4 0/2] Simpler patch removing warnings Reily Siegel
  40 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-04-16 21:59 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-tools-deps-alpha) [arguments] <#:phases>
{remove-s3-transporter}: Patch out warning for missing S3TransporterFactory,
caused by a missing dependency that cannot be included in Guix.
---
 gnu/packages/clojure.scm | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index e6eb749501..8ec04bd94d 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -501,11 +501,11 @@ (define-public clojure-tools-deps-alpha
        #:tests? #f
        #:phases
        (modify-phases %standard-phases
-         ;; FIXME: Currently, the S3 transporter depends on ClojureScript,
-         ;; which is very difficult to package due to dependencies on Java
-         ;; libraries with non-standard build systems. Instead of actually
-         ;; packaging these libraries, we just remove the S3 transporter that
-         ;; depends on them.
+         ;; FIXME: Currently, the S3 transporter depends on
+         ;; com.cognitect.aws/s3, which is built from Amazon's aws-sdk-js
+         ;; using a non-free script. For more information see:
+         ;; https://issues.guix.gnu.org/53765
+         ;; https://github.com/cognitect-labs/aws-api/issues/116
          (add-after 'unpack 'remove-s3-transporter
            (lambda _
              (for-each delete-file
@@ -519,9 +519,10 @@ (define-public clojure-tools-deps-alpha
                         (string-append
                          "src/test/clojure/clojure/"
                          "tools/deps/alpha/util/test_s3_transporter.clj")))
-             (substitute*
-                 "src/main/clojure/clojure/tools/deps/alpha/util/maven.clj"
+             (substitute* "src/main/clojure/clojure/tools/deps/alpha/util/maven.clj"
                (("clojure.tools.deps.alpha.util.s3-transporter")
+                "")
+               (("(printerrln \"Warning: failed to load the S3TransporterFactory class\")")
                 "")))))))
     (propagated-inputs (list maven-resolver-api
                              maven-resolver-spi

-- 
Reily Siegel




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

* [bug#53765] [PATCH v4 2/2] gnu: clojure-tools: Fix logging warnings.
  2022-04-16 23:00 ` [bug#53765] [PATCH v4 0/2] Simpler patch removing warnings Reily Siegel
  2022-04-16 21:59   ` [bug#53765] [PATCH v4 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable Reily Siegel
@ 2022-04-16 22:00   ` Reily Siegel
  1 sibling, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-04-16 22:00 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


---
 gnu/packages/clojure.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 0d9e984bd6..e10a0ced11 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -199,7 +199,8 @@ (define-public clojure-tools
     (inputs (list rlwrap
                   clojure
                   clojure-tools-deps-alpha
-                  java-commons-logging-minimal))
+                  java-commons-logging-minimal
+                  java-slf4j-simple))
     (home-page "https://clojure.org/releases/tools")
     (synopsis "CLI tools for the Clojure programming language")
     (description "The Clojure command line tools can be used to start a

-- 
Reily Siegel




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

* [bug#53765] [PATCH v5 2/2] gnu: clojure-tools: Fix logging warnings.
  2022-04-16 21:59 ` [bug#53765] [PATCH v5 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable deps warning Reily Siegel
@ 2022-04-16 22:00   ` Reily Siegel
  0 siblings, 0 replies; 166+ messages in thread
From: Reily Siegel @ 2022-04-16 22:00 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


* gnu/packages/clojure.scm (clojure-tools) [inputs]: Add dependency on slf4j
to silence logging warnings.
---
 gnu/packages/clojure.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 8ec04bd94d..758842279e 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -199,7 +199,8 @@ (define-public clojure-tools
     (inputs (list rlwrap
                   clojure
                   clojure-tools-deps-alpha
-                  java-commons-logging-minimal))
+                  java-commons-logging-minimal
+                  java-slf4j-simple))
     (home-page "https://clojure.org/releases/tools")
     (synopsis "CLI tools for the Clojure programming language")
     (description "The Clojure command line tools can be used to start a

-- 
Reily Siegel




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

* [bug#53765] [PATCH v4 0/2] Simpler patch removing warnings.
  2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
                   ` (39 preceding siblings ...)
  2022-04-16 21:59 ` [bug#53765] [PATCH v5 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable deps warning Reily Siegel
@ 2022-04-16 23:00 ` Reily Siegel
  2022-04-16 21:59   ` [bug#53765] [PATCH v4 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable Reily Siegel
  2022-04-16 22:00   ` [bug#53765] [PATCH v4 2/2] gnu: clojure-tools: Fix logging warnings Reily Siegel
  40 siblings, 2 replies; 166+ messages in thread
From: Reily Siegel @ 2022-04-16 23:00 UTC (permalink / raw)
  To: 53765; +Cc: Maxime Devos


 gnu/packages/clojure.scm | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

This keeps the existing solution of patching out the s3 related
features (which I am not a fan of, but may be necessary if licensing
issues are a blocker to the inclusion of the Cognitect s3 library). This
patch removes code that issues warnings on every use that the feature
has been removed, and fixes an unrelated logging warning.

-- 
Reily Siegel




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

* [bug#53765] [PATCH v4 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable
  2022-04-16 21:59   ` [bug#53765] [PATCH v4 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable Reily Siegel
@ 2022-04-17  7:59     ` Maxime Devos
  2022-04-17 11:33       ` Reily Siegel
  0 siblings, 1 reply; 166+ messages in thread
From: Maxime Devos @ 2022-04-17  7:59 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Hi,

While you can choose to not include the library packages that were
eventually unused, you don't have to exclude them just because they are
-- they might be useful to other people or yourself, for non-clojure-
tools things, or for clojure-tools if(when?) Cognitect decides to make
the compiler free software.

Reily Siegel schreef op za 16-04-2022 om 23:59 [+0200]:
> ---
>  gnu/packages/clojure.scm | 15 ++++++++-------
>  1 file changed, 8 insertions(+), 7 deletions(-)
> 

Changelog message is missing, maybe:

* gnu/packages/clojure.scm (clojure-tools-deps-
alpha)[arguments]<#:phases>{remove-s3-transporter}: Remove warning that
is emitted even when S3 is unused.

> diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
> index e6eb749501..0d9e984bd6 100644
> --- a/gnu/packages/clojure.scm
> +++ b/gnu/packages/clojure.scm
> @@ -501,11 +501,11 @@ (define-public clojure-tools-deps-alpha
>         #:tests? #f
>         #:phases
>         (modify-phases %standard-phases
> -         ;; FIXME: Currently, the S3 transporter depends on ClojureScript,
> -         ;; which is very difficult to package due to dependencies on Java
> -         ;; libraries with non-standard build systems. Instead of actually
> -         ;; packaging these libraries, we just remove the S3 transporter that
> -         ;; depends on them.
> +         ;; Currently, the S3 transporter depends on com.cognitect.aws/s3,
> +         ;; which is built from Amazon's aws-sdk-js using a closed-source
> +         ;; script. For more information see:
> +         ;; https://issues.guix.gnu.org/53765
> +         ;; https://github.com/cognitect-labs/aws-api/issues/116

Guix (and more generally, GNU) is more a free software thing than an
open source thing, it requires the software it includes to be free
software but it doesn't seem to require it to be open-source (though in
practice they seem to describe the same software ...).

Also still looks like a FIXME to me, personally I'd keep the ‘FIXME:’
prefix.

> ---
> gnu/packages/clojure.scm | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)

Likewise (about the commit message).  Possible example (from another
package):

* gnu/packages/web.scm (python-feedparser) [propagated-inputs]: Add
python-sgmllib3k.

Otherwise, LGTM, thanks.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53765] [PATCH v4 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable
  2022-04-17  7:59     ` Maxime Devos
@ 2022-04-17 11:33       ` Reily Siegel
  2022-04-17 14:53         ` Maxime Devos
  0 siblings, 1 reply; 166+ messages in thread
From: Reily Siegel @ 2022-04-17 11:33 UTC (permalink / raw)
  To: Maxime Devos, 53765

Maxime Devos <maximedevos@telenet.be> writes:

> Hi,
>
> While you can choose to not include the library packages that were
> eventually unused, you don't have to exclude them just because they are
> -- they might be useful to other people or yourself, for non-clojure-
> tools things, or for clojure-tools if(when?) Cognitect decides to make
> the compiler free software.

I will submit the other packages as separate patches, for the sake of
simplicity, as they are no longer needed for clojure-tools.

> Changelog message is missing, maybe:

I'm writing an emacs utility to format patches for email, thanks for
helping me find a bug! I will resubmit with commit messages.

> Also still looks like a FIXME to me, personally I'd keep the ‘FIXME:’
> prefix.

I will re-add the FIXME tag.

-- 
Reily Siegel




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

* [bug#53765] [PATCH v4 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable
  2022-04-17 11:33       ` Reily Siegel
@ 2022-04-17 14:53         ` Maxime Devos
  0 siblings, 0 replies; 166+ messages in thread
From: Maxime Devos @ 2022-04-17 14:53 UTC (permalink / raw)
  To: Reily Siegel, 53765

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

Reily Siegel schreef op zo 17-04-2022 om 13:33 [+0200]:
> > Changelog message is missing, maybe:
> 
> I'm writing an emacs utility to format patches for email, thanks for
> helping me find a bug! I will resubmit with commit messages.

There's an ./etc/committer.scm script you can use, though it is a bit
limited.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

end of thread, other threads:[~2022-04-17 14:54 UTC | newest]

Thread overview: 166+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-04  0:22 [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Reily Siegel
2022-02-04  0:24 ` [bug#53765] [PATCH 01/17] gnu: Add clojure-data-priority-map Reily Siegel
2022-02-09 11:10   ` Maxime Devos
2022-02-09 11:18   ` Maxime Devos
2022-02-04  0:24 ` [bug#53765] [PATCH 02/17] gnu: Add clojure-data-json Reily Siegel
2022-02-10 17:52   ` Maxime Devos
2022-02-10 18:00   ` Maxime Devos
2022-02-04  0:24 ` [bug#53765] [PATCH 03/17] gnu: Add java-eclipse-jetty-client Reily Siegel
2022-02-04  0:24 ` [bug#53765] [PATCH 04/17] gnu: Add clojure-core-cache Reily Siegel
2022-03-17 20:44   ` Maxime Devos
2022-03-17 20:45   ` Maxime Devos
2022-03-17 20:47   ` Maxime Devos
2022-03-17 20:50   ` Maxime Devos
2022-03-17 20:57   ` Maxime Devos
2022-03-17 20:59   ` Maxime Devos
2022-03-17 21:00   ` Maxime Devos
2022-03-17 21:06   ` Maxime Devos
2022-03-17 21:08   ` Maxime Devos
2022-02-04  0:24 ` [bug#53765] [PATCH 05/17] gnu: Add clojure-core-memoize Reily Siegel
2022-02-04  0:24 ` [bug#53765] [PATCH 06/17] gnu: clojure-data-xml: Exclude failing tests Reily Siegel
2022-02-04  0:24 ` [bug#53765] [PATCH 07/17] gnu: Add clojure-http-kit Reily Siegel
2022-02-06 10:30   ` Maxime Devos
2022-02-04  0:25 ` [bug#53765] [PATCH 08/17] gnu: Add clojure-tools-analyzer Reily Siegel
2022-02-04  0:25 ` [bug#53765] [PATCH 09/17] gnu: Add clojure-tools-analyzer-jvm Reily Siegel
2022-02-06 10:46   ` Maxime Devos
2022-02-07 18:04     ` Reily Siegel
2022-02-07 19:01       ` Maxime Devos
2022-02-07 19:18         ` Reily Siegel
2022-02-04  0:25 ` [bug#53765] [PATCH 10/17] gnu: Add clojure-tools-logging Reily Siegel
2022-02-07 20:55   ` Maxime Devos
2022-02-07 22:19     ` Reily Siegel
2022-02-08 10:15       ` Maxime Devos
2022-02-08 10:22   ` Maxime Devos
2022-02-04  0:25 ` [bug#53765] [PATCH 11/17] gnu: Add clojure-core-async Reily Siegel
2022-02-07 20:32   ` Maxime Devos
2022-02-07 20:34   ` Maxime Devos
2022-02-07 20:37   ` Maxime Devos
2022-02-07 23:46     ` Reily Siegel
2022-02-07 20:53   ` Maxime Devos
2022-02-04  0:25 ` [bug#53765] [PATCH 12/17] gnu: Add clojure-com-cognitect-http-client Reily Siegel
2022-02-06 10:50   ` Maxime Devos
2022-02-07 18:06     ` Reily Siegel
2022-02-07 19:30       ` Maxime Devos
2022-02-07 19:50         ` Reily Siegel
2022-02-15  8:59           ` Maxime Devos
2022-02-07 20:21   ` Maxime Devos
2022-02-07 20:23   ` Maxime Devos
2022-02-07 20:31     ` Reily Siegel
2022-02-07 20:29   ` Maxime Devos
2022-02-04  0:25 ` [bug#53765] [PATCH 14/17] gnu: Add clojure-com-cognitect-aws-endpoints Reily Siegel
2022-02-07 19:53   ` Maxime Devos
2022-02-07 20:01     ` Reily Siegel
2022-02-04  0:26 ` [bug#53765] [PATCH 13/17] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
2022-02-06 10:37   ` Maxime Devos
2022-02-06 10:39   ` Maxime Devos
2022-02-07 18:09     ` Reily Siegel
2022-02-07 19:19       ` Maxime Devos
2022-02-07 19:31         ` Reily Siegel
2022-02-06 10:45   ` Maxime Devos
2022-02-04  0:26 ` [bug#53765] [PATCH 15/17] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
2022-02-06 10:35   ` Maxime Devos
2022-02-07 19:44   ` Maxime Devos
2022-02-07 19:56     ` Reily Siegel
2022-03-26 10:08       ` Maxime Devos
2022-03-26 10:13         ` Maxime Devos
2022-03-28 10:31         ` Reily Siegel
2022-03-28 11:50           ` Maxime Devos
2022-03-28 11:52           ` Maxime Devos
2022-04-05 13:50   ` Maxime Devos
2022-02-04  0:26 ` [bug#53765] [PATCH 16/17] gnu: clojure-tools-deps-alpha: Fix issues with S3 Reily Siegel
2022-02-04  0:26 ` [bug#53765] [PATCH 17/17] gnu: clojure-tools: Fix logging warning messages Reily Siegel
2022-03-16 12:39 ` [bug#53765] [PATCH v2 00/18] Reily Siegel
2022-03-16 12:43 ` [bug#53765] [PATCH v2 01/18] gnu: Add clojure-data-priority-map Reily Siegel
2022-03-16 12:43 ` [bug#53765] [PATCH v2 02/18] gnu: Add clojure-data-json Reily Siegel
2022-03-16 12:43 ` [bug#53765] [PATCH v2 03/18] gnu: Add java-eclipse-jetty-client Reily Siegel
2022-03-16 12:43 ` [bug#53765] [PATCH v2 04/18] gnu: Add clojure-core-cache Reily Siegel
2022-03-16 12:43 ` [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize Reily Siegel
2022-03-17 21:10   ` Maxime Devos
2022-03-18  9:01     ` Reily Siegel
2022-03-18 13:22       ` Maxime Devos
2022-03-19 19:07         ` Reily Siegel
2022-03-19 19:15           ` Maxime Devos
2022-03-21  8:35             ` Reily Siegel
2022-03-21  9:06               ` Maxime Devos
2022-03-21  9:07               ` Maxime Devos
2022-03-21  9:51               ` Maxime Devos
2022-03-21  9:55             ` Maxime Devos
2022-03-21 11:27               ` Reily Siegel
2022-03-21 13:38                 ` Maxime Devos
2022-03-19 19:23           ` Maxime Devos
2022-03-19 19:28           ` Maxime Devos
2022-03-19 19:34           ` Maxime Devos
2022-03-19 19:46           ` Maxime Devos
2022-03-19 19:56             ` Maxime Devos
2022-03-19 19:54           ` Maxime Devos
2022-03-17 21:11   ` Maxime Devos
2022-03-17 21:19   ` Maxime Devos
2022-03-17 21:26   ` Maxime Devos
2022-03-21 14:18   ` Maxime Devos
2022-03-16 12:43 ` [bug#53765] [PATCH v2 06/18] gnu: clojure-data-xml: Exclude failing tests Reily Siegel
2022-03-17 21:27   ` Maxime Devos
2022-03-17 21:30   ` Maxime Devos
2022-03-16 12:43 ` [bug#53765] [PATCH v2 07/18] gnu: Add clojure-http-kit Reily Siegel
2022-03-17 21:31   ` Maxime Devos
2022-03-17 21:32   ` Maxime Devos
2022-03-17 21:42   ` Maxime Devos
2022-03-17 21:44   ` Maxime Devos
2022-03-17 21:45   ` Maxime Devos
2022-03-16 12:44 ` [bug#53765] [PATCH v2 08/18] gnu: Add clojure-tools-analyzer Reily Siegel
2022-03-16 12:44 ` [bug#53765] [PATCH v2 09/18] gnu: Add clojure-tools-analyzer-jvm Reily Siegel
2022-03-16 12:44 ` [bug#53765] [PATCH v2 10/18] gnu: Add clojure-tools-reader Reily Siegel
2022-03-16 12:44 ` [bug#53765] [PATCH v2 11/18] gnu: Add clojure-tools-logging Reily Siegel
2022-03-16 12:44 ` [bug#53765] [PATCH v2 12/18] gnu: Add clojure-core-async Reily Siegel
2022-03-16 12:44 ` [bug#53765] [PATCH v2 13/18] gnu: Add clojure-com-cognitect-http-client Reily Siegel
2022-03-16 12:44 ` [bug#53765] [PATCH v2 14/18] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
2022-03-16 12:44 ` [bug#53765] [PATCH v2 15/18] gnu: Add clojure-com-cognitect-aws-endpoints Reily Siegel
2022-03-16 12:44 ` [bug#53765] [PATCH v2 16/18] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
2022-03-26 10:03   ` Maxime Devos
2022-03-28  9:41     ` Reily Siegel
2022-03-28 11:46       ` Maxime Devos
2022-03-28 11:57         ` Reily Siegel
2022-03-16 12:44 ` [bug#53765] [PATCH v2 17/18] gnu: clojure-tools-deps-alpha: Fix issues with S3 Reily Siegel
2022-03-26  9:51   ` Maxime Devos
2022-03-29  9:54     ` [bug#53765] [PATCH 00/17] Remove limitations on clojure-tools Ludovic Courtès
2022-03-29 10:39       ` Maxime Devos
2022-03-16 12:44 ` [bug#53765] [PATCH v2 18/18] gnu: clojure-tools: Fix logging warning messages Reily Siegel
2022-04-06 12:37 ` [bug#53765] [PATCH v3 00/17] Remove limitations on clojure-tools Reily Siegel
2022-01-15 22:30   ` [bug#53765] [PATCH v3 01/17] gnu: Add clojure-data-priority-map Reily Siegel
2022-01-15 22:32   ` [bug#53765] [PATCH v3 02/17] gnu: Add clojure-data-json Reily Siegel
2022-01-16  1:38   ` [bug#53765] [PATCH v3 03/17] gnu: Add java-eclipse-jetty-client Reily Siegel
2022-01-16  1:48   ` [bug#53765] [PATCH v3 04/17] gnu: Add clojure-core-cache Reily Siegel
2022-01-16  1:51   ` [bug#53765] [PATCH v3 05/17] gnu: Add clojure-core-memoize Reily Siegel
2022-01-16  2:06   ` [bug#53765] [PATCH v3 06/17] gnu: Add clojure-http-kit Reily Siegel
2022-01-16  2:40   ` [bug#53765] [PATCH v3 07/17] gnu: Add clojure-tools-analyzer Reily Siegel
2022-01-16  2:43   ` [bug#53765] [PATCH v3 08/17] gnu: Add clojure-tools-analyzer-jvm Reily Siegel
2022-01-21 23:43   ` [bug#53765] [PATCH v3 10/17] gnu: Add clojure-tools-logging Reily Siegel
2022-01-22  0:19   ` [bug#53765] [PATCH v3 11/17] gnu: Add clojure-core-async Reily Siegel
2022-01-22  0:32   ` [bug#53765] [PATCH v3 12/17] gnu: Add clojure-com-cognitect-http-client Reily Siegel
2022-01-22  0:35   ` [bug#53765] [PATCH v3 13/17] gnu: Add clojure-com-cognitect-aws-api Reily Siegel
2022-01-22  0:36   ` [bug#53765] [PATCH v3 14/17] gnu: Add clojure-com-cognitect-aws-endpoints Reily Siegel
2022-01-22  0:36   ` [bug#53765] [PATCH v3 15/17] gnu: Add clojure-com-cognitect-aws-s3 Reily Siegel
2022-01-25 18:37   ` [bug#53765] [PATCH v3 16/17] gnu: clojure-tools-deps-alpha: Fix issues with S3 Reily Siegel
2022-01-25 18:41   ` [bug#53765] [PATCH v3 17/17] gnu: clojure-tools: Fix logging warning messages Reily Siegel
2022-02-28 18:39   ` [bug#53765] [PATCH v3 09/17] gnu: Add clojure-tools-reader Reily Siegel
2022-04-15 13:54 ` [bug#53765] (no subject) Reily Siegel
2022-04-15 13:55 ` [bug#53765] V3 Patches Reily Siegel
2022-04-15 18:47   ` Maxime Devos
2022-04-15 19:03     ` Maxime Devos
2022-04-16 17:39       ` Reily Siegel
2022-04-16 19:16         ` Maxime Devos
2022-04-16 19:35           ` Reily Siegel
2022-04-16 19:45             ` Maxime Devos
2022-04-16 20:15               ` Reily Siegel
2022-04-16 20:47                 ` Maxime Devos
2022-04-16 21:14                   ` Reily Siegel
2022-04-16 19:45         ` Maxime Devos
2022-04-16 19:32   ` Maxime Devos
2022-04-16 20:11     ` Reily Siegel
2022-04-16 21:59 ` [bug#53765] [PATCH v5 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable deps warning Reily Siegel
2022-04-16 22:00   ` [bug#53765] [PATCH v5 2/2] gnu: clojure-tools: Fix logging warnings Reily Siegel
2022-04-16 23:00 ` [bug#53765] [PATCH v4 0/2] Simpler patch removing warnings Reily Siegel
2022-04-16 21:59   ` [bug#53765] [PATCH v4 1/2] gnu: clojure-tools-deps-alpha: Patch unpackageable Reily Siegel
2022-04-17  7:59     ` Maxime Devos
2022-04-17 11:33       ` Reily Siegel
2022-04-17 14:53         ` Maxime Devos
2022-04-16 22:00   ` [bug#53765] [PATCH v4 2/2] gnu: clojure-tools: Fix logging warnings Reily Siegel

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.