Subject: [bug#53765] [PATCH v3 16/17] gnu: clojure-tools-deps-alpha: Fix issues with S3

From: Reily Siegel <[email-masked]>
Date: Tue, 25 Jan 2022 13:37:48 -0500

---
 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