[PATCH] Upgrade clojure-tools to 1.11.1.1413 + clojure-tools-deps transition

  • Done
  • quality assurance status badge
Details
3 participants
  • Andreas Enge
  • eugen.stan
  • Christopher Baines
Owner
unassigned
Submitted by
eugen.stan
Severity
normal
E
E
eugen.stan wrote on 20 Nov 2023 21:09
(address . guix-patches@gnu.org)(name . Eugen Stan)(address . eugen.stan@netdava.com)
20231120200909.126545-1-eugen.stan@netdava.com
From: Eugen Stan <eugen.stan@netdava.com>

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

Toggle diff (118 lines)
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
E
E
Eugen Stan wrote on 23 Nov 2023 11:22
QA review for 67328
8c3a27a2-9da2-49af-a6ed-097acbe96cd1@netdava.com
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
begin:vcard
fn:Eugen Stan
n:Stan;Eugen
email;internet:eugen.stan@netdava.com
tel;cell:+40720898747
x-mozilla-html:FALSE
url:https://www.netdava.com
version:2.1
end:vcard
C
C
Christopher Baines wrote on 23 Nov 2023 14:51
(name . Eugen Stan)(address . eugen.stan@netdava.com)
87jzq8vap4.fsf@cbaines.net
user guix
usertag 67328 - reviewed-looks-good
thanks

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

Toggle quote (8 lines)
>
> 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.
C
C
Christopher Baines wrote on 23 Nov 2023 14:52
Re: [bug#67328] [PATCH] Upgrade clojure-tools to 1.11.1.1413 + clojure-tools-deps transition
(address . eugen.stan@netdava.com)(address . 67328@debbugs.gnu.org)
87fs0wvaew.fsf@cbaines.net
eugen.stan@netdava.com writes:

Toggle quote (124 lines)
> From: Eugen Stan <eugen.stan@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).
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmVfWodfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XfvBg//ZhtSSlZ/zbAuFQ3FHBN1Lfpl9p/f3Wt/
wxH78ocLyu67D6vvSLuJuAukmo5lLAmWE0aHGt+ggBbMwmk3SOHnsGQgLVV7W4IO
x8kqXMH1CHnwG6i46I2UbzyVUSWtvSHGdpMxex96XYKVYKNlqmpaU6fj9x3utpde
SeAULaf1tayIHeZh6mlVbhtiuPRj2CXz6tthoDoxtDSfOf/XyLhBkeut2d1rKQCZ
ZMVrMctnuAamlc51C3w7QD/RvtiCiI6L6RMSebuIUaIN5/Sh6lX6IIvTrl+Pe5n5
fuG24puGeXLaEY3KfmfCSjqEVwykrfF1kpYyUmixo/CUf6kVNbEmyi8RUTGVV36M
D3X1F/K2V8JoHtF45pxgWL6L6MQ/U4ZKBndDfyDxy8pMbB3qGwFHkIWrnFrxfmGB
4Cb5cyY4Iyen5gp3iwzffFJTb5a9b0lDZr+3n2Uwyvj8rYMECq6Vsd7gN6C7YfWP
zWXot8uRmkDefHI9zk5u7Y0n6P8T0Uf9RowCyHfFaKqhg0MUOcA+jQycVCf9WVSd
o8gw5sBnGd186NrRTlFfK9Zms2PEL/XmVoDf5loJZoAJKzmtxeWwAihR+J5wIZbm
WeRTa9hiAliwjI9BCinRUZyataOzQ9CT6pY9V//9zkV5RGl8oTbRoepeNKkipd4u
38svrLveqkc=
=KRE0
-----END PGP SIGNATURE-----

E
E
Eugen Stan wrote on 24 Nov 2023 06:27
[PATCH] Upgrade clojure-tools to 1.11.1.1413 + clojure-tools-deps transition
(address . 67328@debbugs.gnu.org)
2be45960-15b1-45dc-a1f2-bc17b600b3f5@netdava.com
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
begin:vcard
fn:Eugen Stan
n:Stan;Eugen
email;internet:eugen.stan@netdava.com
tel;cell:+40720898747
x-mozilla-html:FALSE
url:https://www.netdava.com
version:2.1
end:vcard
E
E
Eugen Stan wrote on 24 Nov 2023 06:56
(name . Christopher Baines)(address . mail@cbaines.net)(address . 67328@debbugs.gnu.org)
d8ebe203-d9b3-41ae-b320-84647f737815@netdava.com
This was split in 2 issues:


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

close 67328
--
Eugen Stan
begin:vcard
fn:Eugen Stan
n:Stan;Eugen
email;internet:eugen.stan@netdava.com
tel;cell:+40720898747
x-mozilla-html:FALSE
url:https://www.netdava.com
version:2.1
end:vcard
A
A
Andreas Enge wrote on 6 Feb 12:55 +0100
Close as duplicate
(address . 67328-done@debbugs.gnu.org)
ZcIeNvcUE8132ezH@jurong
As written in the last message, this bug has been split in two,
67425 and 67426.

Andreas
Closed
?