~ruther/guix-local

7375c5aa1b2507d61b6b0a0d95c03461d18d3f4e — Eugen Stan 2 years ago 1999197
gnu: Add clojure-tools-deps.

* gnu/packages/crates-io.scm (clojure-tools-deps): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: Ic02349bfe5b899874ff8e6067e790ca9d9f1f96e
1 files changed, 65 insertions(+), 0 deletions(-)

M gnu/packages/clojure.scm
M gnu/packages/clojure.scm => gnu/packages/clojure.scm +65 -0
@@ 572,7 572,72 @@ concise, powerful tests.")
work with command-line arguments.")
    (license license:epl1.0)))

(define-public clojure-tools-deps
  (package
    (name "clojure-tools-deps")
    (version "0.18.1354")
    (home-page "https://github.com/clojure/tools.deps")
    (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
                "0ls5nixhsjjhf3qz8kbyhmks5lw7a25zxl46yrizbw7vba3mzrpl"))))
    (build-system clojure-build-system)
    (arguments
     `(#:source-dirs '("src/main/clojure" "src/main/resources")
       #: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/util/s3_aws_client.clj")
                        (string-append
                         "src/main/clojure/clojure/"
                         "tools/deps/util/s3_transporter.clj")
                        (string-append
                         "src/test/clojure/clojure/"
                         "tools/deps/util/test_s3_transporter.clj")))
             (substitute*
               "src/main/clojure/clojure/tools/deps/util/maven.clj"
               (("clojure.tools.deps.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 "This package provides a functional API for transitive
dependency graph expansion and the creation of classpaths.")
    (license license:epl1.0)))

(define-public clojure-tools-deps-alpha
  ;; this was superseded by clojure-tools-deps
  ;; https://github.com/clojure/tools.deps.alpha
  ;; Keeping it to give downstream packages a chance to upgrade
  (package
    (name "clojure-tools-deps-alpha")
    (version "0.14.1212")