Message ID | 20231120200909.126545-1-eugen.stan@netdava.com |
---|---|
State | New |
Headers | show |
Series | [bug#67328] Upgrade clojure-tools to 1.11.1.1413 + clojure-tools-deps transition | expand |
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
user guix usertag 67328 - reviewed-looks-good thanks Eugen Stan <eugen.stan@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.
eugen.stan@netdava.com writes: > 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).
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,
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
As written in the last message, this bug has been split in two, 67425 and 67426. Andreas
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")
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(-)