GNU bug report logs - #67328
[PATCH] Upgrade clojure-tools to 1.11.1.1413 + clojure-tools-deps transition

Previous Next

Package: guix-patches;

Reported by: eugen.stan <at> netdava.com

Date: Tue, 21 Nov 2023 14:17:03 UTC

Severity: normal

Tags: patch

Done: Andreas Enge <andreas <at> enge.fr>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 67328 in the body.
You can then email your comments to 67328 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#67328; Package guix-patches. (Tue, 21 Nov 2023 14:17:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to eugen.stan <at> netdava.com:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 21 Nov 2023 14:17:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: eugen.stan <at> netdava.com
To: guix-patches <at> gnu.org
Cc: Eugen Stan <eugen.stan <at> netdava.com>
Subject: [PATCH] Upgrade clojure-tools to 1.11.1.1413 + clojure-tools-deps
 transition
Date: Mon, 20 Nov 2023 22:09:09 +0200
From: Eugen Stan <eugen.stan <at> netdava.com>

* clojure-tools-deps-alpha was superserded by clojure-tools-deps
---
 gnu/packages/clojure.scm | 77 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 71 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index e28998b570..ee9cd19b0e 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -203,14 +203,14 @@ (define (make-classpath libraries)
 (define-public clojure-tools
   (package
     (name "clojure-tools")
-    (version "1.11.1.1165")
+    (version "1.11.1.1413")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://download.clojure.org/install/clojure-tools-"
                            version
                            ".tar.gz"))
-       (sha256 (base32 "1lg97waqfcgzr3dz5426fbc4kqcsavpbqil2iyjm1dw3zrfa8ysi"))
+       (sha256 (base32 "1q0z71ifdxwvyy9gvq8mx8jbygf8cszrlhb3h22walfamnisbhwk"))
        ;; Remove AOT compiled JAR.  The other JAR only contains uncompiled
        ;; Clojure source code.
        (snippet
@@ -249,7 +249,7 @@ (define-public clojure-tools
                  ":"))))))))
     (inputs (list rlwrap
                   clojure
-                  clojure-tools-deps-alpha
+                  clojure-tools-deps
                   java-commons-logging-minimal))
     (home-page "https://clojure.org/releases/tools")
     (synopsis "CLI tools for the Clojure programming language")
@@ -419,9 +419,9 @@ (define-public clojure-data-xml
        #:phases
        (modify-phases %standard-phases
          (add-before 'build 'delete-cljs-tests
-                     (lambda _
-                       (delete-file "src/test/resources/clojure/data/xml/cljs_testsuite.clj")
-                       (delete-file "src/test/clojure/clojure/data/xml/test_cljs.clj"))))))
+           (lambda _
+             (delete-file "src/test/resources/clojure/data/xml/cljs_testsuite.clj")
+             (delete-file "src/test/clojure/clojure/data/xml/test_cljs.clj"))))))
     (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
@@ -572,7 +572,72 @@ (define-public clojure-tools-cli
 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 upstream packages a chance to upgrade
   (package
     (name "clojure-tools-deps-alpha")
     (version "0.14.1212")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#67328; Package guix-patches. (Thu, 23 Nov 2023 10:23:02 GMT) Full text and rfc822 format available.

Message #8 received at 67328 <at> debbugs.gnu.org (full text, mbox):

From: Eugen Stan <eugen.stan <at> netdava.com>
To: control <at> debbugs.gnu.org, 67328 <at> debbugs.gnu.org
Subject: QA review for 67328
Date: Thu, 23 Nov 2023 12:22:12 +0200
[Message part 1 (text/plain, inline)]
user guix
usertag 67328 + reviewed-looks-good
thanks

Guix QA review form submission:


Items marked as checked: Lint warnings, Package builds, Commit messages, 
New package licenses, New package tests, New package synopsis and 
descriptions
-- 
Eugen Stan
[eugen_stan.vcf (text/vcard, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#67328; Package guix-patches. (Thu, 23 Nov 2023 13:53:01 GMT) Full text and rfc822 format available.

Message #11 received at 67328 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Eugen Stan <eugen.stan <at> netdava.com>
Cc: control <at> debbugs.gnu.org, 67328 <at> debbugs.gnu.org
Subject: Re: [bug#67328] QA review for 67328
Date: Thu, 23 Nov 2023 13:51:12 +0000
user guix
usertag 67328 - reviewed-looks-good
thanks

Eugen Stan <eugen.stan <at> netdava.com> writes:

>
> Guix QA review form submission:
>
>
> Items marked as checked: Lint warnings, Package builds, Commit
> messages, New package licenses, New package tests, New package
> synopsis and descriptions

As it says on the QA page:

  This feature is for people other than those involved in submitting the
  patches to record a review, which will highlight that these patches
  should be ready to merge.

I believe you have been involved in submiting the patch.




Information forwarded to guix-patches <at> gnu.org:
bug#67328; Package guix-patches. (Thu, 23 Nov 2023 13:59:02 GMT) Full text and rfc822 format available.

Message #14 received at 67328 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: eugen.stan <at> netdava.com
Cc: 67328 <at> debbugs.gnu.org
Subject: Re: [bug#67328] [PATCH] Upgrade clojure-tools to 1.11.1.1413 +
 clojure-tools-deps transition
Date: Thu, 23 Nov 2023 13:52:28 +0000
[Message part 1 (text/plain, inline)]
eugen.stan <at> netdava.com writes:

> From: Eugen Stan <eugen.stan <at> netdava.com>
>
> * clojure-tools-deps-alpha was superserded by clojure-tools-deps
> ---
>  gnu/packages/clojure.scm | 77 ++++++++++++++++++++++++++++++++++++----
>  1 file changed, 71 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
> index e28998b570..ee9cd19b0e 100644
> --- a/gnu/packages/clojure.scm
> +++ b/gnu/packages/clojure.scm
> @@ -203,14 +203,14 @@ (define (make-classpath libraries)
>  (define-public clojure-tools
>    (package
>      (name "clojure-tools")
> -    (version "1.11.1.1165")
> +    (version "1.11.1.1413")
>      (source
>       (origin
>         (method url-fetch)
>         (uri (string-append "https://download.clojure.org/install/clojure-tools-"
>                             version
>                             ".tar.gz"))
> -       (sha256 (base32 "1lg97waqfcgzr3dz5426fbc4kqcsavpbqil2iyjm1dw3zrfa8ysi"))
> +       (sha256 (base32 "1q0z71ifdxwvyy9gvq8mx8jbygf8cszrlhb3h22walfamnisbhwk"))
>         ;; Remove AOT compiled JAR.  The other JAR only contains uncompiled
>         ;; Clojure source code.
>         (snippet
> @@ -249,7 +249,7 @@ (define-public clojure-tools
>                   ":"))))))))
>      (inputs (list rlwrap
>                    clojure
> -                  clojure-tools-deps-alpha
> +                  clojure-tools-deps
>                    java-commons-logging-minimal))
>      (home-page "https://clojure.org/releases/tools")
>      (synopsis "CLI tools for the Clojure programming language")
> @@ -419,9 +419,9 @@ (define-public clojure-data-xml
>         #:phases
>         (modify-phases %standard-phases
>           (add-before 'build 'delete-cljs-tests
> -                     (lambda _
> -                       (delete-file "src/test/resources/clojure/data/xml/cljs_testsuite.clj")
> -                       (delete-file "src/test/clojure/clojure/data/xml/test_cljs.clj"))))))
> +           (lambda _
> +             (delete-file "src/test/resources/clojure/data/xml/cljs_testsuite.clj")
> +             (delete-file "src/test/clojure/clojure/data/xml/test_cljs.clj"))))))
>      (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
> @@ -572,7 +572,72 @@ (define-public clojure-tools-cli
>  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 upstream packages a chance to upgrade
>    (package
>      (name "clojure-tools-deps-alpha")
>      (version "0.14.1212")

Upstream of Guix is the publishers of the software that Guix packages,
so "upstream" in this case is probably the Clojure project.

I don't think there's any particular concerns for those upstream or
downstream of Guix in replacing clojure-tools-deps-alpha with
clojure-tools-deps.

The other thing with this change is that it should probably be two
commits, separating the version change of clojure-tools from the other
changes (even if the other changes cause clojure-tools to break before
it's upgraded).
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#67328; Package guix-patches. (Fri, 24 Nov 2023 05:28:01 GMT) Full text and rfc822 format available.

Message #17 received at 67328 <at> debbugs.gnu.org (full text, mbox):

From: Eugen Stan <eugen.stan <at> netdava.com>
To: 67328 <at> debbugs.gnu.org
Subject: [PATCH] Upgrade clojure-tools to 1.11.1.1413 + clojure-tools-deps
 transition
Date: Fri, 24 Nov 2023 07:27:34 +0200
[Message part 1 (text/plain, inline)]
Hello Christopher,

Thank you for taking a look at this.

I meant downstream, thanks.
IMO there might be libs that use the alpha version/
Removing clojure-tools-deps-alpha means those packages will have to find 
another way around this.

I would put a deprecation notice and remove it at a later time.
Both packages can co-exist (probably in the same app) - they use 
different namespaces (a lot of Clojure projects do not use 'semantic' 
versioning)

I can split the commit in 2 or 3 parts:
- one adds clojure-tools-deps
- one makes the switch
- optional one drops clojure-tools-deps-alpha

This seems like busy-work, but I think I get the point.

Will close this and send the other + link them to this issue.

Regards,
-- 
Eugen Stan

[eugen_stan.vcf (text/vcard, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#67328; Package guix-patches. (Fri, 24 Nov 2023 05:57:01 GMT) Full text and rfc822 format available.

Message #20 received at 67328 <at> debbugs.gnu.org (full text, mbox):

From: Eugen Stan <eugen.stan <at> netdava.com>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 67328 <at> debbugs.gnu.org
Subject: Re: [bug#67328] [PATCH] Upgrade clojure-tools to 1.11.1.1413 +
 clojure-tools-deps transition
Date: Fri, 24 Nov 2023 07:56:39 +0200
[Message part 1 (text/plain, inline)]
This was split in 2 issues:

- https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67425
- https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67426

A third issue, dropping clojure-tools-deps-alpha can be created at a 
later date (or package just dropped)

close 67328
-- 
Eugen Stan
[eugen_stan.vcf (text/vcard, attachment)]

Reply sent to Andreas Enge <andreas <at> enge.fr>:
You have taken responsibility. (Tue, 06 Feb 2024 11:56:01 GMT) Full text and rfc822 format available.

Notification sent to eugen.stan <at> netdava.com:
bug acknowledged by developer. (Tue, 06 Feb 2024 11:56:02 GMT) Full text and rfc822 format available.

Message #25 received at 67328-done <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: 67328-done <at> debbugs.gnu.org
Subject: Close as duplicate
Date: Tue, 6 Feb 2024 12:55:34 +0100
As written in the last message, this bug has been split in two,
67425 and 67426.

Andreas





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 05 Mar 2024 12:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 65 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.