guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#48735] [PATCH v2 08/10] gnu: Add clojure-tools-deps-alpha.


From: Reily Siegel
Subject: [bug#48735] [PATCH v2 08/10] gnu: Add clojure-tools-deps-alpha.
Date: Thu, 23 Dec 2021 18:04:43 -0500

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

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 45865bd4e1..11efa89741 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -23,6 +23,7 @@
 (define-module (gnu packages clojure)
   #:use-module (gnu packages)
   #:use-module (gnu packages java)
+  #:use-module (gnu packages maven)
   #:use-module (gnu packages version-control)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -430,6 +431,67 @@ (define-public clojure-tools-cli
 work with command-line arguments.")
     (license license:epl1.0)))
 
+(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)
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "174m83n5m3arai2vbg434zjibbsr3r4pp7lz3adja8lxq7g21r80"))))
+    (build-system clojure-build-system)
+    (arguments
+     `(#:source-dirs '("src/main/clojure" "src/main/resources")
+       #:test-dirs '("src/test/clojure")
+       #:doc-dirs '()
+       #: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")
+                "")))))))
+    (propagated-inputs (list maven-resolver-api
+                             maven-resolver-spi
+                             maven-resolver-impl
+                             maven-resolver-util
+                             maven-resolver-connector-basic
+                             maven-resolver-provider
+                             maven-core
+                             maven-resolver-transport-http
+                             maven-resolver-transport-file
+                             clojure-tools-gitlibs
+                             clojure-tools-cli
+                             clojure-data-xml))
+    (synopsis "Clojure library supporting clojure-tools")
+    (description "A functional API for transitive dependency graph expansion 
and
+the creation of classpaths.")
+    (license license:epl1.0)))
+
 (define-public clojure-tools-gitlibs
   (package
     (name "clojure-tools-gitlibs")
-- 
2.34.0






reply via email to

[Prev in Thread] Current Thread [Next in Thread]