GNU bug report logs - #61794
[PATCH] Update some Java packages

Previous Next

Package: guix-patches;

Reported by: Julien Lepiller <julien <at> lepiller.eu>

Date: Sat, 25 Feb 2023 20:28:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 61794 AT debbugs.gnu.org.

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#61794; Package guix-patches. (Sat, 25 Feb 2023 20:28:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Julien Lepiller <julien <at> lepiller.eu>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 25 Feb 2023 20:28:02 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: guix-patches <at> gnu.org
Subject: [PATCH] Update some Java packages
Date: Sat, 25 Feb 2023 21:26:58 +0100
Hi Guix!

When opening josm I've been greeted for some time with a message saying
support for our Java version is going to be dropped soon. Indeed, we use
icedtea as our default JDK, instead of the more recent openjdks.

This patch series updates some old packages that do not build with
newer Java versions, as well as maven because why not. It doesn't mean
we're ready to change the default jdk after this series, but we get
closer to it :D




Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:31:02 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 01/18] gnu: java-objenesis: Update to 3.3.
Date: Sat, 25 Feb 2023 21:30:25 +0100
* gnu/packages/java.scm (java-objenesis): Update to 3.3.
---
 gnu/packages/java.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 388e9d127f..3ffc6b53dc 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4861,7 +4861,7 @@ (define-public java-cglib
 (define-public java-objenesis
   (package
     (name "java-objenesis")
-    (version "2.5.1")
+    (version "3.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -4870,11 +4870,12 @@ (define-public java-objenesis
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "054yi200wj00x6dp1sxfrwgndwywadsbn8d8ij1j0v45j9g2vdya"))))
+                "1brlcn536p4s1v1f3vzxhr38lvyhc33wjrbj2x06kdrd8agy90cr"))))
     (build-system ant-build-system)
     (arguments
-     `(#:jar-name "objenesis.jar"
-       #:source-dir "main/src/"
+     `(#:tests? #f; require junit-5
+       #:jar-name "objenesis.jar"
+       #:source-dir "main/src/main/java"
        #:test-dir "main/src/test/"))
     (native-inputs
      (list java-junit java-hamcrest-core))

base-commit: 9a2cf9ef0a9ece9aa0dcb24a31fe0c313d06988f
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:31:03 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 02/18] gnu: java-bsh: Update to 2.1.1.
Date: Sat, 25 Feb 2023 21:30:26 +0100
* gnu/packages/java.scm (java-bsh): Update to 2.1.1.
---
 gnu/packages/java.scm | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 3ffc6b53dc..0fb46ce465 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -10229,7 +10229,7 @@ (define-public java-jcommander
 (define-public java-bsh
   (package
     (name "java-bsh")
-    (version "2.0b6")
+    (version "2.1.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -10238,7 +10238,7 @@ (define-public java-bsh
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0kz3f0xjack6c9syssi4qjw1rbd3q5963sk5pmr143hiibxa9csw"))
+                "1a6y46yz2ba4mnlfv4bpd5pmzhgxrzk3s10xp05jz377nbp2izwg"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -10254,6 +10254,10 @@ (define-public java-bsh
        #:make-flags (list "-DDATE" "(no date for reproducibility)")
        #:phases
        (modify-phases %standard-phases
+         (add-before 'check 'fix-test
+           (lambda _
+             (substitute* "tests/junitTests/src/bsh/Issue_55_Test.java"
+               ((" BshScriptEngineFactory") " bsh.engine.BshScriptEngineFactory"))))
          (replace 'install
            (install-from-pom "pom.xml")))))
     (inputs
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:02 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 04/18] gnu: Add java-error-prone-annotations.
Date: Sat, 25 Feb 2023 21:30:28 +0100
* gnu/packages/java.scm (java-error-prone-annotations): New variable.
---
 gnu/packages/java.scm | 44 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 187a531c27..fbd8b50872 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -5857,6 +5857,50 @@ (define-public java-jsr305
 It provides packages in the @code{javax.annotations} namespace.")
     (license license:asl2.0)))
 
+(define-public java-error-prone-annotations
+  (package
+    (name "java-error-prone-annotations")
+    (version "2.18.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/google/error-prone")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name "java-error-prone" version))
+              (sha256
+               (base32
+                "19sqsz0b308rhadr3ff10azdbqjq37nvrn9c06224dwpxap0931f"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f; no tests
+       #:jar-name (string-append ,name "-" ,version ".jar")
+       #:source-dir "annotations/src/main/java"
+       #:test-dir "annotations/src/altest"
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install (install-from-pom "annotations/pom.xml")))))
+    (propagated-inputs (list java-error-prone-parent-pom java-jsr305))
+    (home-page "https://errorprone.info")
+    (synopsis "Java static analyzer at compile-time")
+    (description "Error Prone is a static analysis tool for Java that catches
+common programming mistakes at compile-time.  This package contains annotations
+used by programmers to guide the static analysis.")
+    (license license:asl2.0)))
+
+(define java-error-prone-parent-pom
+  (package
+    (inherit java-error-prone-annotations)
+    (name "java-error-prone-parent-pom")
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'build)
+         (replace 'install
+           (install-pom-file "pom.xml")))))
+    (propagated-inputs '())))
+
 (define-public java-guava
   (package
     (name "java-guava")
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:02 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 03/18] gnu: java-cglib: Update to 3.3.0.
Date: Sat, 25 Feb 2023 21:30:27 +0100
cglib now requires asm-8 at runtime, so propagate it and do not use
asm-6 in dependents.

* gnu/packages/java.scm (java-cglib): Update to 3.3.0.
(java-plexus-component-metadata-1.7, java-easymock, java-jmock)
(java-jmock-legacy, java-jmock-junit4, java-ops4j-pax-exam-core-spi)
(java-guice, java-fest-assert, java-testng, java-lmax-disruptor)
(java-powermock-reflect, java-powermock-modules-junit4)
(java-kafka-clients, java-jline-2, java-xmlunit, java-eclipse-sisu-plexus)
(java-logback-core): Remove `java-asm` from inputs or native-inputs.
* gnu/packages/batik.scm (java-xmlgraphics-commons): Remove `java-asm`
  from inputs or native inputs.
* gnu/packages/maven.scm (maven-resolver-transport-file)
(maven-resolver-transport-http, maven-model, maven-repository-metadata)
(maven-compat): Remove `java-asm` from inputs or native-inputs.
---
 gnu/packages/batik.scm |  1 -
 gnu/packages/java.scm  | 36 +++++++++++-------------------------
 gnu/packages/maven.scm |  7 +------
 3 files changed, 12 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 7f159010a5..138869dc90 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -241,7 +241,6 @@ (define-public java-xmlgraphics-commons
                #t))))))
     (native-inputs
      `(("java-apache-xml-commons-resolver" ,java-apache-xml-commons-resolver)
-       ("java-asm" ,java-asm)
        ("java-cglib" ,java-cglib)
        ("java-hamcrest" ,java-hamcrest-core)
        ("java-junit" ,java-junit)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 0fb46ce465..187a531c27 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -3854,7 +3854,7 @@ (define-public java-plexus-component-metadata-1.7
            java-commons-cli
            java-qdox
            java-jdom2
-           java-asm))
+           java-asm-8))
     (native-inputs
      (list java-junit java-guava java-geronimo-xbean-reflect))
     (synopsis "Inversion-of-control container for Maven")
@@ -4826,7 +4826,7 @@ (define-public java-asm-commons-8
 (define-public java-cglib
   (package
     (name "java-cglib")
-    (version "3.2.4")
+    (version "3.3.0")
     (source
      (origin
        (method git-fetch)
@@ -4838,7 +4838,7 @@ (define-public java-cglib
                                   version)))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "186451jms2zfp47yd8kxd77az2cqal1my2br7klgyp8fpl4qfg8v"))))
+        (base32 "1lnscamc6bnhh7jgij5garxagp3zn2jp4cbq0rsn4xr3l0cnd014"))))
     (build-system ant-build-system)
     (arguments
      `(;; FIXME: tests fail because junit runs
@@ -4850,8 +4850,8 @@ (define-public java-cglib
        (modify-phases %standard-phases
          (add-after 'unpack 'chdir
            (lambda _ (chdir "cglib") #t)))))
-    (inputs
-     (list java-asm java-junit))
+    (native-inputs (list java-junit))
+    (propagated-inputs (list java-asm-8))
     (home-page "https://github.com/cglib/cglib/")
     (synopsis "Java byte code generation library")
     (description "The byte code generation library CGLIB is a high level API
@@ -4939,7 +4939,7 @@ (define-public java-easymock
                (delete-file "tests2/EasyMockPropertiesTest.java"))
              #t)))))
     (inputs
-     (list java-asm java-cglib java-objenesis))
+     (list java-cglib java-objenesis))
     (native-inputs
      (list java-junit java-hamcrest-core))
     (home-page "https://easymock.org/")
@@ -5000,7 +5000,7 @@ (define-public java-jmock
                (base32
                 "12b7l22g3nrjvf2dzcw3z03fpd2chrgp0d8xkvn8w55rwb57pax6"))))
     (inputs
-     (list java-hamcrest-all java-asm java-bsh java-junit))
+     (list java-hamcrest-all java-bsh java-junit))
     (native-inputs
      `(("cglib" ,java-cglib)))
     (arguments
@@ -5018,7 +5018,6 @@ (define-public java-jmock-junit4
        #:test-dir "jmock-junit4/src/test"))
     (inputs
      `(("java-hamcrest-all" ,java-hamcrest-all)
-       ("java-asm" ,java-asm)
        ("java-bsh" ,java-bsh)
        ("java-jmock" ,java-jmock)
        ("java-jumit" ,java-junit)))))
@@ -5045,7 +5044,6 @@ (define-public java-jmock-legacy
            java-objenesis
            java-cglib
            java-jmock
-           java-asm
            java-bsh
            java-junit))
     (native-inputs
@@ -9402,8 +9400,7 @@ (define-public java-ops4j-pax-exam-core-spi
        ("junit" ,java-junit)
        ("hamcrest" ,java-hamcrest-core)
        ("cglib" ,java-cglib)
-       ("objenesis" ,java-objenesis)
-       ("asm" ,java-asm)))))
+       ("objenesis" ,java-objenesis)))))
 
 (define-public java-ops4j-pax-exam-core-junit
   (package
@@ -10049,7 +10046,6 @@ (define-public java-guice
            (install-from-pom "core/pom.xml")))))
     (propagated-inputs
      (list java-aopalliance
-           java-asm
            java-cglib
            java-guava
            java-javax-inject
@@ -10355,8 +10351,7 @@ (define-public java-fest-assert
            java-hamcrest-core
            java-mockito-1
            java-cglib
-           java-objenesis
-           java-asm))
+           java-objenesis))
     (home-page "https://github.com/alexruiz/fest-assert-2.x")
     (synopsis "FEST fluent assertions")
     (description "FEST-Assert provides a fluent interface for assertions.")
@@ -10429,7 +10424,6 @@ (define-public java-testng
        ("java-assertj" ,java-assertj)
        ("java-mockito" ,java-mockito-1)
        ("cglib" ,java-cglib)
-       ("asm" ,java-asm)
        ("aopalliance" ,java-aopalliance)))
     (home-page "https://testng.org")
     (synopsis "Testing framework")
@@ -10711,8 +10705,7 @@ (define-public java-lmax-disruptor
        ("java-hamcrest-all" ,java-hamcrest-all)))
     (native-inputs
      `(("cglib" ,java-cglib)
-       ("objenesis" ,java-objenesis)
-       ("asm" ,java-asm)))
+       ("objenesis" ,java-objenesis)))
     (home-page "https://www.lmax.com/disruptor")
     (synopsis "High performance inter-thread communication")
     (description "LMAX Disruptor is a software pattern and software component
@@ -10876,7 +10869,6 @@ (define-public java-powermock-reflect
     (native-inputs
      `(("junit" ,java-junit)
        ("cglib" ,java-cglib)
-       ("asm" ,java-asm)
        ("hamcrest" ,java-hamcrest-core)
        ("assertj" ,java-assertj)))
     (home-page "https://github.com/powermock/powermock")
@@ -10973,7 +10965,6 @@ (define-public java-powermock-modules-junit4
      `(("easymock" ,java-easymock)
        ("hamcrest" ,java-hamcrest-core)
        ("objenesis" ,java-objenesis)
-       ("asm" ,java-asm)
        ("junit" ,java-junit)))))
 
 (define-public java-powermock-api-easymock
@@ -11159,8 +11150,7 @@ (define-public java-kafka-clients
     (inputs
      (list java-slf4j-api java-lz4))
     (native-inputs
-     (list java-asm
-           java-bouncycastle
+     (list java-bouncycastle
            java-cglib
            java-easymock
            java-hamcrest-all
@@ -12032,7 +12022,6 @@ (define-public java-jline-2
            java-easymock
            java-jboss-javassist
            java-objenesis
-           java-asm
            java-hamcrest-core
            java-cglib
            java-junit
@@ -12163,7 +12152,6 @@ (define-public java-xmlunit
        ("java-mockito-1" ,java-mockito-1)
        ("java-hamcrest-all" ,java-hamcrest-all)
        ("java-objenesis" ,java-objenesis)
-       ("java-asm" ,java-asm)
        ("java-cglib" ,java-cglib)
        ("resources"
         ,(origin
@@ -12851,7 +12839,6 @@ (define-public java-eclipse-sisu-plexus
            java-guice
            java-guava
            java-aopalliance
-           java-asm
            java-cglib))
     (native-inputs
      (list java-junit))
@@ -12975,7 +12962,6 @@ (define-public java-logback-core
            java-hamcrest-core
            java-mockito-1
            java-cglib
-           java-asm
            java-objenesis
            java-joda-time))
     (home-page "https://logback.qos.ch")
diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index fc3a63c263..f941bf0dd0 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -344,8 +344,7 @@ (define-public maven-resolver-transport-file
            maven-resolver-util
            maven-wagon-provider-api))
     (native-inputs
-     (list java-asm
-           java-aopalliance
+     (list java-aopalliance
            java-cglib
            java-guava
            java-guice
@@ -393,7 +392,6 @@ (define-public maven-resolver-transport-http
            java-httpcomponents-httpcore))
     (native-inputs
      (list java-aopalliance
-           java-asm
            java-cglib
            java-eclipse-aether-api
            java-eclipse-jetty-http
@@ -1262,7 +1260,6 @@ (define-public maven-model
            java-plexus-component-annotations
            java-guice
            java-cglib
-           java-asm
            java-eclipse-sisu-inject
            java-javax-inject
            java-plexus-classworlds
@@ -1473,7 +1470,6 @@ (define-public maven-repository-metadata
        ("java-plexus-component-annotations" ,java-plexus-component-annotations)
        ("java-guice" ,java-guice)
        ("java-cglib" ,java-cglib)
-       ("java-asm" ,java-asm)
        ("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject)
        ("java-javax-inject" ,java-javax-inject)
        ("java-plexus-utils" ,java-plexus-utils)
@@ -2103,7 +2099,6 @@ (define-public maven-compat
        ("java-guice" ,java-guice)
        ("java-guava" ,java-guava)
        ("java-cglib" ,java-cglib)
-       ("java-asm" ,java-asm)
        ("java-modello-plugins-java" ,java-modello-plugins-java)
        ("java-modello-plugins-xml" ,java-modello-plugins-xml)
        ("java-modello-plugins-xpp3" ,java-modello-plugins-xpp3)
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:03 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 05/18] gnu: java-guava: Update to 31.1.
Date: Sat, 25 Feb 2023 21:30:29 +0100
* gnu/packages/patches/java-guava-remove-annotation-deps.patch: New
  file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/java.scm (java-guava): Update to 31.1.
[source]: Use patch.
(java-guava-futures-failureaccess): New variable.
* gnu/packages/bioinformatics.scm (java-picard, java-picard-2.10.3): Fix for
  newer guava.
* gnu/packages/maven.scm (maven): Add java-guava-futures-failureaccess.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/bioinformatics.scm               |  8 ++++
 gnu/packages/java.scm                         | 43 +++++++++++++------
 gnu/packages/maven.scm                        |  4 +-
 .../java-guava-remove-annotation-deps.patch   | 37 ++++++++++++++++
 5 files changed, 78 insertions(+), 15 deletions(-)
 create mode 100644 gnu/packages/patches/java-guava-remove-annotation-deps.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 63ec92ebef..019e3de794 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1361,6 +1361,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch	\
   %D%/packages/patches/java-commons-collections-fix-java8.patch \
   %D%/packages/patches/java-commons-lang-fix-dependency.patch \
+  %D%/packages/patches/java-guava-remove-annotation-deps.patch \
   %D%/packages/patches/java-jeromq-fix-tests.patch		\
   %D%/packages/patches/java-openjfx-build-jdk_version.patch     \
   %D%/packages/patches/java-powermock-fix-java-files.patch		\
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b5d132749f..a24c89ac6d 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -5014,6 +5014,10 @@ (define-public java-picard
        (modify-phases %standard-phases
          ;; FIXME: this phase fails with "duplicate entry: htsjdk/samtools/AbstractBAMFileIndex$1.class"
          (delete 'generate-jar-indices)
+         (add-after 'unpack 'fix-guava
+           (lambda _
+             (substitute* "src/java/picard/cmdline/CommandLineParser.java"
+               (("CharMatcher.ASCII") "CharMatcher.ascii()"))))
          (add-after 'unpack 'use-our-htsjdk
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "build.xml"
@@ -5073,6 +5077,10 @@ (define-public java-picard-2.10.3
          (delete 'generate-jar-indices)
          (add-after 'unpack 'remove-useless-build.xml
            (lambda _ (delete-file "build.xml") #t))
+         (add-after 'unpack 'fix-guava
+           (lambda _
+             (substitute* "src/main/java/picard/cmdline/CommandLineParser.java"
+               (("CharMatcher.ASCII") "CharMatcher.ascii()"))))
          ;; This is necessary to ensure that htsjdk is found when using
          ;; picard.jar as an executable.
          (add-before 'build 'edit-classpath-in-manifest
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index fbd8b50872..4d57ba4f79 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -5904,8 +5904,7 @@ (define java-error-prone-parent-pom
 (define-public java-guava
   (package
     (name "java-guava")
-    ;; This is the last release of Guava that can be built with Java 7.
-    (version "20.0")
+    (version "31.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -5914,7 +5913,9 @@ (define-public java-guava
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "00h5cawdjic1vind3yivzh1f58flvm1yfmhsyqwyvmbvj1vakysp"))))
+                "0sv1w5cnids9ad3l7qhrh3dh1wdqwc946iinsxryafr25wg5z1lp"))
+              (patches
+               (search-patches "java-guava-remove-annotation-deps.patch"))))
     (build-system ant-build-system)
     (arguments
      `(#:tests? #f                      ; no tests included
@@ -5928,27 +5929,26 @@ (define-public java-guava
                ;; Remove annotations to avoid extra dependencies:
                ;; * "j2objc" annotations are used when converting Java to
                ;;   Objective C;
-               ;; * "errorprone" annotations catch common Java mistakes at
-               ;;   compile time;
                ;; * "IgnoreJRERequirement" is used for Android.
+               ;; * "Nullable" is used to catch NPE at build time.
                (substitute* (find-files "." "\\.java$")
                  (("import com.google.j2objc.*") "")
-                 (("import com.google.errorprone.annotation.*") "")
-                 (("import org.codehaus.mojo.animal_sniffer.*") "")
-                 (("@CanIgnoreReturnValue") "")
-                 (("@LazyInit") "")
+                 (("import org.checkerframework.checker.*") "")
+                 (("@ReflectionSupport.*") "")
                  (("@WeakOuter") "")
                  (("@RetainedWith") "")
                  (("@Weak") "")
-                 (("@ForOverride") "")
                  (("@J2ObjCIncompatible") "")
-                 (("@IgnoreJRERequirement") "")))
-             #t))
+                 (("@IgnoreJRERequirement") "")
+                 (("@Nullable") "")))))
+         ;; This is required by guava, but this is just an empty stub
+         (add-before 'install 'install-listenablefuture-stub
+           (install-pom-file "futures/listenablefuture9999/pom.xml"))
          (replace 'install (install-from-pom "guava/pom.xml")))))
     (inputs
-     (list java-jsr305))
+     (list java-error-prone-annotations java-jsr305))
     (propagated-inputs
-     (list java-guava-parent-pom))
+     (list java-guava-futures-failureaccess java-guava-parent-pom))
     (home-page "https://github.com/google/guava")
     (synopsis "Google core libraries for Java")
     (description "Guava is a set of core libraries that includes new
@@ -5958,6 +5958,21 @@ (define-public java-guava
 more!")
     (license license:asl2.0)))
 
+(define-public java-guava-futures-failureaccess
+  (package
+    (inherit java-guava)
+    (name "java-guava-futures-failureaccess")
+    (arguments
+     `(#:tests? #f; no tests
+       #:jar-name "guava-futures-failureaccess.jar"
+       #:source-dir "futures/failureaccess/src"
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (install-from-pom "futures/failureaccess/pom.xml")))))
+    (propagated-inputs
+     `(("java-sonatype-oss-parent-pom" ,java-sonatype-oss-parent-pom-7)))))
+
 (define java-guava-parent-pom
   (package
     (inherit java-guava)
diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index f941bf0dd0..3ab8b6dffc 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -2170,7 +2170,8 @@ (define-public maven
                      "java-javax-inject" "java-plexus-component-annotations"
                      "java-plexus-utils" "java-plexus-interpolation"
                      "java-plexus-sec-dispatcher" "java-plexus-cipher" "java-guava"
-                     "java-jansi" "java-jsr250" "java-cdi-api" "java-commons-cli"
+                     "java-guava-futures-failureaccess" "java-jansi"
+                     "java-jsr250" "java-cdi-api" "java-commons-cli"
                      "java-commons-io" "java-commons-lang3" "java-slf4j-api"))))
              (substitute* "apache-maven/src/bin/mvn"
                (("cygwin=false;")
@@ -2239,6 +2240,7 @@ (define-public maven
            java-plexus-sec-dispatcher
            java-plexus-cipher
            java-guava
+           java-guava-futures-failureaccess
            java-jansi
            java-jsr250
            java-cdi-api
diff --git a/gnu/packages/patches/java-guava-remove-annotation-deps.patch b/gnu/packages/patches/java-guava-remove-annotation-deps.patch
new file mode 100644
index 0000000000..6f038b1ba4
--- /dev/null
+++ b/gnu/packages/patches/java-guava-remove-annotation-deps.patch
@@ -0,0 +1,37 @@
+From 41d216ca7993991d32a077d0650ccfad8a846942 Mon Sep 17 00:00:00 2001
+From: Julien Lepiller <julien <at> lepiller.eu>
+Date: Sat, 25 Feb 2023 10:02:11 +0100
+Subject: [PATCH] Remove annotation dependencies
+
+This is used to prevent a failure when guix creates the Maven directory
+structure and fails to find these dependencies.
+---
+ guava/pom.xml | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/guava/pom.xml b/guava/pom.xml
+index 81a2005..5237047 100644
+--- a/guava/pom.xml
++++ b/guava/pom.xml
+@@ -31,18 +31,6 @@
+       <groupId>com.google.code.findbugs</groupId>
+       <artifactId>jsr305</artifactId>
+     </dependency>
+-    <dependency>
+-      <groupId>org.checkerframework</groupId>
+-      <artifactId>checker-qual</artifactId>
+-    </dependency>
+-    <dependency>
+-      <groupId>com.google.errorprone</groupId>
+-      <artifactId>error_prone_annotations</artifactId>
+-    </dependency>
+-    <dependency>
+-      <groupId>com.google.j2objc</groupId>
+-      <artifactId>j2objc-annotations</artifactId>
+-    </dependency>
+     <!-- TODO(cpovirk): does this comment belong on the <dependency> in <profiles>? -->
+     <!-- TODO(cpovirk): want this only for dependency plugin but seems not to work there? Maven runs without failure, but the resulting Javadoc is missing the hoped-for inherited text -->
+   </dependencies>
+-- 
+2.38.1
+
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:03 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 06/18] gnu: Add apache-parent-pom-29.
Date: Sat, 25 Feb 2023 21:30:30 +0100
* gnu/packages/maven-parent-pom.scm (apache-parent-pom-29): New
  variable.
---
 gnu/packages/maven-parent-pom.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/maven-parent-pom.scm b/gnu/packages/maven-parent-pom.scm
index 660790b019..2e3ed22835 100644
--- a/gnu/packages/maven-parent-pom.scm
+++ b/gnu/packages/maven-parent-pom.scm
@@ -92,6 +92,10 @@ (define-public apache-parent-pom-25
   (make-apache-parent-pom
     "25" "1vwx2fpgk7cn2pnlnx26df26vndiwwn5l7ngakj0vwal5pmp6115"))
 
+(define-public apache-parent-pom-29
+  (make-apache-parent-pom
+    "29" "0fj078bgzs0r24x66ph5bbwkkc5s9d1qh57hmlpisg4mdi0l48s9"))
+
 (define* (make-apache-commons-parent-pom version hash parent
                                          #:key (tag-prefix "commons-parent-"))
   (hidden-package
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:04 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 07/18] gnu: Add maven-parent-pom-39.
Date: Sat, 25 Feb 2023 21:30:31 +0100
* gnu/packages/maven-parent-pom.scm (maven-parent-pom-39): New variable.
---
 gnu/packages/maven-parent-pom.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/maven-parent-pom.scm b/gnu/packages/maven-parent-pom.scm
index 2e3ed22835..33d3e73ff6 100644
--- a/gnu/packages/maven-parent-pom.scm
+++ b/gnu/packages/maven-parent-pom.scm
@@ -447,6 +447,16 @@ (define* (make-maven-parent-pom version hash parent #:key replacements)
 tool.  This package contains the Maven parent POM.")
       (license license:asl2.0))))
 
+(define-public maven-parent-pom-39
+  (make-maven-parent-pom
+    "39" "1123nmm63nrsfy9i35zn12glswc2sy9bsj4fir2z9yh93kraky1y"
+    apache-parent-pom-29
+    #:replacements
+    (delay
+      `(("org.codehaus.plexus"
+         ("plexus-component-annotations" .
+          ,(package-version java-plexus-component-annotations)))))))
+
 (define-public maven-parent-pom-35
   (make-maven-parent-pom
     "35" "0pg9k7l5pcbghmc89i11g900pbzznvf5sfdfzlqfwpihqb2g8iab"
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:04 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 08/18] gnu: Add apache-parent-pom-27.
Date: Sat, 25 Feb 2023 21:30:32 +0100
* gnu/packages/maven-parent-pom.scm (apache-parent-pom-27): New
  variable.
---
 gnu/packages/maven-parent-pom.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/maven-parent-pom.scm b/gnu/packages/maven-parent-pom.scm
index 33d3e73ff6..7fd8f27881 100644
--- a/gnu/packages/maven-parent-pom.scm
+++ b/gnu/packages/maven-parent-pom.scm
@@ -92,6 +92,10 @@ (define-public apache-parent-pom-25
   (make-apache-parent-pom
     "25" "1vwx2fpgk7cn2pnlnx26df26vndiwwn5l7ngakj0vwal5pmp6115"))
 
+(define-public apache-parent-pom-27
+  (make-apache-parent-pom
+    "27" "07087qdcwadsg3va5rc9xb7k89im3fm2g297lpmfh1aggn7cpc00"))
+
 (define-public apache-parent-pom-29
   (make-apache-parent-pom
     "29" "0fj078bgzs0r24x66ph5bbwkkc5s9d1qh57hmlpisg4mdi0l48s9"))
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:04 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 09/18] gnu: Add maven-parent-pom-37.
Date: Sat, 25 Feb 2023 21:30:33 +0100
* gnu/packages/maven-parent-pom.scm (maven-parent-pom-37): New variable.
---
 gnu/packages/maven-parent-pom.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/maven-parent-pom.scm b/gnu/packages/maven-parent-pom.scm
index 7fd8f27881..60581f520b 100644
--- a/gnu/packages/maven-parent-pom.scm
+++ b/gnu/packages/maven-parent-pom.scm
@@ -461,6 +461,16 @@ (define-public maven-parent-pom-39
          ("plexus-component-annotations" .
           ,(package-version java-plexus-component-annotations)))))))
 
+(define-public maven-parent-pom-37
+  (make-maven-parent-pom
+    "37" "0c8yham28si4zadpv9v2i61gl3in518jls4nsawfhx42b6x3371j"
+    apache-parent-pom-27
+    #:replacements
+    (delay
+      `(("org.codehaus.plexus"
+         ("plexus-component-annotations" .
+          ,(package-version java-plexus-component-annotations)))))))
+
 (define-public maven-parent-pom-35
   (make-maven-parent-pom
     "35" "0pg9k7l5pcbghmc89i11g900pbzznvf5sfdfzlqfwpihqb2g8iab"
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:05 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 10/18] gnu: maven-resolver-api: Update to 1.9.4.
Date: Sat, 25 Feb 2023 21:30:34 +0100
* gnu/packages/maven.scm (maven-resolver-api): Update to 1.9.4.
(maven-resolver-util)[native-inputs]: Update test dependencies.
(maven-resolver-named-lock): New variable.
(maven-resolver-impl, maven-resolver-transport-wagon)
(maven-resolver-transport-http): Update sisu.
---
 gnu/packages/maven.scm | 167 ++++++++++++++++++++++-------------------
 1 file changed, 91 insertions(+), 76 deletions(-)

diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index 3ab8b6dffc..f96337a17d 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -40,7 +40,7 @@ (define-module (gnu packages maven)
 (define-public maven-resolver-api
   (package
     (name "maven-resolver-api")
-    (version "1.6.3")
+    (version "1.9.4")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -49,7 +49,7 @@ (define-public maven-resolver-api
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0hbbbxj14qyq8pccyab96pjqq90jnjmid1pml9kx55c5smfpjn37"))))
+                "0s18vivvapmrk407syrc8ib2qpmp01i3k46h6gqp7961n1p9wzlq"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "maven-resolver-api.jar"
@@ -90,7 +90,7 @@ (define maven-resolver-parent-pom
              #t))
          (replace 'install
            (install-pom-file "pom.xml")))))
-    (propagated-inputs '())))
+    (propagated-inputs (list maven-parent-pom-37))))
 
 (define-public maven-resolver-spi
   (package
@@ -140,7 +140,7 @@ (define-public maven-resolver-util
     (propagated-inputs
      (list maven-resolver-api))
     (native-inputs
-     (list java-junit java-hamcrest-core maven-resolver-test-util))
+     (list java-junit java-hamcrest-all maven-resolver-test-util))
     (synopsis "Utility classes for the maven repository system")
     (description "This package contains a collection of utility classes to
 ease usage of the repository system.")))
@@ -174,6 +174,35 @@ (define-public maven-resolver-connector-basic
     (description "This package contains a repository connector implementation
 for repositories using URI-based layouts.")))
 
+(define-public maven-resolver-named-locks
+  (package
+    (inherit maven-resolver-api)
+    (name "maven-resolver-named-locks")
+    (arguments
+     `(#:jar-name "maven-resolver-named-locks.jar"
+       #:source-dir "maven-resolver-named-locks/src/main/java"
+       #:test-dir "maven-resolver-named-locks/src/test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'generate-sisu
+           (lambda _
+             (mkdir-p "build/classes/META-INF/sisu")
+             (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named"
+               (lambda _
+                 (display "org.eclipse.aether.named.providers.FileLockNamedLockFactory
+org.eclipse.aether.named.providers.LocalReadWriteLockNamedLockFactory
+org.eclipse.aether.named.providers.LocalSemaphoreNamedLockFactory
+org.eclipse.aether.named.providers.NoopNamedLockFactory\n")))))
+         (replace 'install
+           (install-from-pom "maven-resolver-named-locks/pom.xml")))))
+    (propagated-inputs
+      (list java-slf4j-api))
+    (native-inputs
+      (list java-javax-inject java-junit java-hamcrest-all))
+    (synopsis "Maven artifact resolver named locks")
+    (description "This package contains a synchronization utility implementation
+using named locks.")))
+
 (define-public maven-resolver-impl
   (package
     (inherit maven-resolver-api)
@@ -182,6 +211,7 @@ (define-public maven-resolver-impl
      `(#:jar-name "maven-resolver-impl.jar"
        #:source-dir "maven-resolver-impl/src/main/java"
        #:test-dir "maven-resolver-impl/src/test"
+       #:tests? #f; require more recent hamcrest
        #:phases
        (modify-phases %standard-phases
          (add-before 'build 'generate-sisu
@@ -189,37 +219,60 @@ (define-public maven-resolver-impl
              (mkdir-p "build/classes/META-INF/sisu")
              (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named"
                (lambda _
-                 (display
-                   (string-append
-                     ;; Build this list by looking for files containing "@Named"
-                     "org.eclipse.aether.internal.impl.DefaultArtifactResolver\n"
-                     "org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector\n"
-                     "org.eclipse.aether.internal.impl.DefaultChecksumPolicyProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultDeployer\n"
-                     "org.eclipse.aether.internal.impl.DefaultFileProcessor\n"
-                     "org.eclipse.aether.internal.impl.DefaultInstaller\n"
-                     "org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultMetadataResolver\n"
-                     "org.eclipse.aether.internal.impl.DefaultOfflineController\n"
-                     "org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager\n"
-                     "org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher\n"
-                     "org.eclipse.aether.internal.impl.DefaultRepositoryLayoutProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultRepositorySystem\n"
-                     "org.eclipse.aether.internal.impl.DefaultSyncContextFactory\n"
-                     "org.eclipse.aether.internal.impl.DefaultTransporterProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultUpdateCheckManager\n"
-                     "org.eclipse.aether.internal.impl.DefaultUpdatePolicyAnalyzer\n"
-                     "org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManagerFactory\n"
-                     "org.eclipse.aether.internal.impl.LoggerFactoryProvider\n"
-                     "org.eclipse.aether.internal.impl.Maven2RepositoryLayoutFactory\n"
-                     "org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory\n"
-                     "org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory"))))
-             #t))
+                 ;; Build this list by looking for files containing "@Named"
+                 (display "org.eclipse.aether.internal.impl.DefaultArtifactResolver
+org.eclipse.aether.internal.impl.DefaultChecksumPolicyProvider
+org.eclipse.aether.internal.impl.DefaultDeployer
+org.eclipse.aether.internal.impl.DefaultFileProcessor
+org.eclipse.aether.internal.impl.DefaultInstaller
+org.eclipse.aether.internal.impl.DefaultLocalPathComposer
+org.eclipse.aether.internal.impl.DefaultLocalPathPrefixComposerFactory
+org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider
+org.eclipse.aether.internal.impl.DefaultMetadataResolver
+org.eclipse.aether.internal.impl.DefaultOfflineController
+org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager
+org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider
+org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher
+org.eclipse.aether.internal.impl.DefaultRepositoryLayoutProvider
+org.eclipse.aether.internal.impl.DefaultRepositorySystem
+org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle
+org.eclipse.aether.internal.impl.DefaultTrackingFileManager
+org.eclipse.aether.internal.impl.DefaultTransporterProvider
+org.eclipse.aether.internal.impl.DefaultUpdateCheckManager
+org.eclipse.aether.internal.impl.DefaultUpdatePolicyAnalyzer
+org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManagerFactory
+org.eclipse.aether.internal.impl.LoggerFactoryProvider
+org.eclipse.aether.internal.impl.Maven2RepositoryLayoutFactory
+org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory
+org.eclipse.aether.internal.impl.checksum.DefaultChecksumAlgorithmFactorySelector
+org.eclipse.aether.internal.impl.checksum.Md5ChecksumAlgorithmFactory
+org.eclipse.aether.internal.impl.checksum.Sha1ChecksumAlgorithmFactory
+org.eclipse.aether.internal.impl.checksum.Sha256ChecksumAlgorithmFactory
+org.eclipse.aether.internal.impl.checksum.Sha512ChecksumAlgorithmFactory
+org.eclipse.aether.internal.impl.checksum.SparseDirectoryTrustedChecksumsSource
+org.eclipse.aether.internal.impl.checksum.SummaryFileTrustedChecksumsSource
+org.eclipse.aether.internal.impl.checksum.TrustedToProvidedChecksumsSourceAdapter
+org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector
+org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector
+org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector
+org.eclipse.aether.internal.impl.filter.DefaultRemoteRepositoryFilterManager
+org.eclipse.aether.internal.impl.filter.GroupIdRemoteRepositoryFilterSource
+org.eclipse.aether.internal.impl.filter.PrefixesRemoteRepositoryFilterSource
+org.eclipse.aether.internal.impl.resolution.TrustedChecksumsArtifactResolverPostProcessor
+org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory
+org.eclipse.aether.internal.impl.synccontext.DefaultSyncContextFactory
+org.eclipse.aether.internal.impl.synccontext.legacy.DefaultSyncContextFactory
+org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapterFactoryImpl
+org.eclipse.aether.internal.impl.synccontext.named.providers.DiscriminatingNameMapperProvider
+org.eclipse.aether.internal.impl.synccontext.named.providers.FileGAVNameMapperProvider
+org.eclipse.aether.internal.impl.synccontext.named.providers.FileHashingGAVNameMapperProvider
+org.eclipse.aether.internal.impl.synccontext.named.providers.GAVNameMapperProvider
+org.eclipse.aether.internal.impl.synccontext.named.providers.StaticNameMapperProvider\n")))))
          (replace 'install
            (install-from-pom "maven-resolver-impl/pom.xml")))))
     (propagated-inputs
      (list maven-resolver-api
+           maven-resolver-named-locks
            maven-resolver-spi
            maven-resolver-util
            java-commons-lang3
@@ -229,7 +282,7 @@ (define-public maven-resolver-impl
            java-slf4j-api
            maven-resolver-parent-pom))
     (native-inputs
-     (list java-junit maven-resolver-test-util))))
+     (list java-hamcrest-all java-junit java-mockito-1 maven-resolver-test-util))))
 
 (define-public maven-resolver-transport-wagon
   (package
@@ -247,49 +300,9 @@ (define-public maven-resolver-transport-wagon
              (mkdir-p "build/classes/META-INF/sisu")
              (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named"
                (lambda _
-                 (display "org.eclipse.aether.transport.wagon.WagonTransporterFactory\n")))
-             #t))
-         (add-before 'build 'generate-components.xml
-           (lambda _
-             (mkdir-p "build/classes/META-INF/plexus")
-             (with-output-to-file "build/classes/META-INF/plexus/components.xml"
-               (lambda _
-                 (display
-                   (string-append
-                     "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<component-set>
-  <components>
-    <component>
-      <role>org.eclipse.aether.transport.wagon.WagonConfigurator</role>
-      <role-hint>plexus</role-hint>
-      <implementation>org.eclipse.aether.internal.transport.wagon.PlexusWagonConfigurator</implementation>
-      <description />
-      <isolated-realm>false</isolated-realm>
-      <requirements>
-        <requirement>
-          <role>org.codehaus.plexus.PlexusContainer</role>
-          <role-hint />
-          <field-name>container</field-name>
-        </requirement>
-      </requirements>
-    </component>
-    <component>
-      <role>org.eclipse.aether.transport.wagon.WagonProvider</role>
-      <role-hint>plexus</role-hint>
-      <implementation>org.eclipse.aether.internal.transport.wagon.PlexusWagonProvider</implementation>
-      <description />
-      <isolated-realm>false</isolated-realm>
-      <requirements>
-        <requirement>
-          <role>org.codehaus.plexus.PlexusContainer</role>
-          <role-hint />
-          <field-name>container</field-name>
-        </requirement>
-      </requirements>
-    </component>
-  </components>
-</component-set>\n"))))
-             #t)))))
+                 (display "org.eclipse.aether.internal.transport.wagon.PlexusWagonConfigurator
+org.eclipse.aether.internal.transport.wagon.PlexusWagonProvider
+org.eclipse.aether.transport.wagon.WagonTransporterFactory"))))))))
     (inputs
      `(("maven-resolver-api" ,maven-resolver-api)
        ("maven-resolver-spi" ,maven-resolver-spi)
@@ -374,7 +387,9 @@ (define-public maven-resolver-transport-http
              (mkdir-p "build/classes/META-INF/sisu")
              (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named"
                (lambda _
-                 (display "org.eclipse.aether.transport.http.HttpTransporterFactory\n"))))))))
+                 (display "org.eclipse.aether.transport.http.HttpTransporterFactory
+org.eclipse.aether.transport.http.Nexus2ChecksumExtractor
+org.eclipse.aether.transport.http.XChecksumChecksumExtractor\n"))))))))
     (inputs
      (list java-eclipse-sisu-inject
            java-eclipse-sisu-plexus
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:05 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 12/18] gnu: Add java-asm-9.
Date: Sat, 25 Feb 2023 21:30:36 +0100
* gnu/packages/java.scm (java-asm-9): New variable.
---
 gnu/packages/java.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 4d57ba4f79..3e2420129a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4823,6 +4823,30 @@ (define-public java-asm-commons-8
            #:tests? #f))
     (inputs (list java-asm-8 java-asm-analysis-8 java-asm-tree-8))))
 
+(define-public java-asm-9
+  (package
+    (inherit java-asm)
+    (version "9.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://gitlab.ow2.org/asm/asm")
+                     (commit (string-append
+                               "ASM_" (string-join (string-split version #\.)
+                                                   "_")))))
+              (file-name (git-file-name "java-asm" version))
+              (sha256
+               (base32
+                "0c00m638skr5md1p6y1c2xn11kj5w6sjapyvwp9mh70rw095bwzk"))))
+    (arguments
+     `(#:jar-name "asm9.jar"
+       #:source-dir "asm/src/main/java"
+       #:test-dir "asm/src/test"
+       ;; tests depend on junit5
+       #:tests? #f))
+    (propagated-inputs '())
+    (native-inputs '())))
+
 (define-public java-cglib
   (package
     (name "java-cglib")
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:05 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 13/18] gnu: Add java-asm-tree-9.
Date: Sat, 25 Feb 2023 21:30:37 +0100
* gnu/packages/java.scm (java-asm-tree-9): New variable.
---
 gnu/packages/java.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 3e2420129a..bc88afc84c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4847,6 +4847,19 @@ (define-public java-asm-9
     (propagated-inputs '())
     (native-inputs '())))
 
+(define-public java-asm-tree-9
+  (package
+    (inherit java-asm-9)
+    (name "java-asm-tree")
+    (arguments
+     `(#:jar-name "asm-tree.jar"
+       #:source-dir "asm-tree/src/main/java"
+       #:test-dir "asm-tree/src/test"
+       ;; tests depend on junit5
+       #:tests? #f))
+    (inputs
+     (list java-asm-9))))
+
 (define-public java-cglib
   (package
     (name "java-cglib")
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:06 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 11/18] gnu: maven: Update to 3.9.0.
Date: Sat, 25 Feb 2023 21:30:35 +0100
* gnu/packages/maven.scm (maven-pom): Update to 3.9.0.
---
 gnu/packages/maven.scm | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index f96337a17d..67b95a5f7b 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -1132,13 +1132,13 @@ (define-public maven-wagon-http
 (define maven-pom
   (package
     (name "maven-pom")
-    (version "3.8.6")
+    (version "3.9.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://apache/maven/"
                                   "maven-3/" version "/source/"
                                   "apache-maven-" version "-src.tar.gz"))
-              (sha256 (base32 "0jszmcaxp597a62ajrc478jxix1qmw4pknhiygsbjdy3kccc7gvj"))
+              (sha256 (base32 "0s8ds2bqkdi2yrcwbd3mkszh6l4hf56j9jz47hkpd7i3zh1hmr4n"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -1212,7 +1212,7 @@ (define maven-pom
          (replace 'install
            (install-pom-file "pom.xml")))))
     (propagated-inputs
-     (list maven-parent-pom-35))
+     (list maven-parent-pom-39))
     (home-page "https://maven.apache.org/")
     (synopsis "Build system")
     (description "Apache Maven is a software project management and comprehension
@@ -1830,6 +1830,7 @@ (define-public maven-embedder
        #:source-dir "maven-embedder/src/main/java"
        #:test-dir "maven-embedder/src/test"
        #:test-exclude (list "**/MavenCliTest.java")
+       #:tests? #f; require junit 4.13
        #:jdk ,icedtea-8
        #:phases
        (modify-phases %standard-phases
@@ -1851,9 +1852,9 @@ (define-public maven-embedder
                        file mode "maven-embedder/src/main/java" version
                        "false" "true"))
              (let ((file "maven-embedder/src/main/mdo/core-extensions.mdo"))
-               (modello-single-mode file "1.0.0" "java")
-               (modello-single-mode file "1.0.0" "xpp3-reader")
-               (modello-single-mode file "1.0.0" "xpp3-writer"))
+               (modello-single-mode file "1.1.0" "java")
+               (modello-single-mode file "1.1.0" "xpp3-reader")
+               (modello-single-mode file "1.1.0" "xpp3-writer"))
              #t))
          (add-before 'check 'fix-test-paths
            (lambda _
@@ -2130,6 +2131,8 @@ (define-public maven-compat
        ("java-jsr250" ,java-jsr250)
        ("java-cdi-api" ,java-cdi-api)
        ("java-junit" ,java-junit)
+       ("java-mockito-1" ,java-mockito-1)
+       ("java-objenesis" ,java-objenesis)
        ("maven-resolver-impl" ,maven-resolver-impl)
        ("maven-resolver-connector-basic" ,maven-resolver-connector-basic)
        ("maven-resolver-transport-wagon" ,maven-resolver-transport-wagon)
@@ -2174,7 +2177,8 @@ (define-public maven
                      "maven-settings" "maven-settings-builder" "maven-plugin-api"
                      "maven-repository-metadata" "maven-shared-utils" "maven-resolver-api"
                      "maven-resolver-spi" "maven-resolver-util" "maven-resolver-impl"
-                     "maven-resolver-connector-basic" "maven-resolver-provider"
+                     "maven-resolver-connector-basic" "maven-resolver-named-locks"
+                     "maven-resolver-provider"
                      "maven-resolver-transport-wagon" "maven-slf4j-provider"
                      "maven-wagon-provider-api"
                      "maven-wagon-file" "maven-wagon-http" "java-commons-logging-minimal"
@@ -2229,6 +2233,7 @@ (define-public maven
            maven-resolver-api
            maven-resolver-spi
            maven-resolver-util
+           maven-resolver-named-locks
            maven-resolver-impl
            maven-resolver-connector-basic
            maven-resolver-provider
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:06 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 14/18] gnu: Add java-asm-analysis-9.
Date: Sat, 25 Feb 2023 21:30:38 +0100
* gnu/packages/java.scm (java-asm-analysis-9): New variable.
---
 gnu/packages/java.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index bc88afc84c..d3f64e14fa 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4860,6 +4860,19 @@ (define-public java-asm-tree-9
     (inputs
      (list java-asm-9))))
 
+(define-public java-asm-analysis-9
+  (package
+    (inherit java-asm-9)
+    (name "java-asm-analysis")
+    (arguments
+     `(#:jar-name "asm-analysis.jar"
+       #:source-dir "asm-analysis/src/main/java"
+       #:test-dir "asm-analysis/src/test"
+       ;; tests depend on junit5
+       #:tests? #f))
+    (inputs
+     (list java-asm-9 java-asm-tree-9))))
+
 (define-public java-cglib
   (package
     (name "java-cglib")
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:07 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 15/18] gnu: Add java-asm-util-9.
Date: Sat, 25 Feb 2023 21:30:39 +0100
* gnu/packages/java.scm (java-asm-util-9): New variable.
---
 gnu/packages/java.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index d3f64e14fa..8131d6f728 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4873,6 +4873,19 @@ (define-public java-asm-analysis-9
     (inputs
      (list java-asm-9 java-asm-tree-9))))
 
+(define-public java-asm-util-9
+  (package
+    (inherit java-asm-9)
+    (name "java-asm-util")
+    (arguments
+     `(#:jar-name "asm-util8.jar"
+       #:source-dir "asm-util/src/main/java"
+       #:test-dir "asm-util/src/test"
+       ;; tests depend on junit5
+       #:tests? #f))
+    (inputs
+     (list java-asm-9 java-asm-analysis-9 java-asm-tree-9))))
+
 (define-public java-cglib
   (package
     (name "java-cglib")
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:07 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 16/18] gnu: Add java-asm-commons-9.
Date: Sat, 25 Feb 2023 21:30:40 +0100
* gnu/packages/java.scm (java-asm-commons-9): New variable.
---
 gnu/packages/java.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 8131d6f728..e47462ce04 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4886,6 +4886,18 @@ (define-public java-asm-util-9
     (inputs
      (list java-asm-9 java-asm-analysis-9 java-asm-tree-9))))
 
+(define-public java-asm-commons-9
+  (package
+    (inherit java-asm-9)
+    (name "java-asm-commons")
+    (arguments
+     (list #:jar-name "asm-commons8.jar"
+           #:source-dir "asm-commons/src/main/java"
+           #:test-dir "asm-commons/src/test"
+           ;; tests depend on junit5
+           #:tests? #f))
+    (inputs (list java-asm-9 java-asm-analysis-9 java-asm-tree-9))))
+
 (define-public java-cglib
   (package
     (name "java-cglib")
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:07 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 17/18] gnu: Add java-byte-buddy-dep.
Date: Sat, 25 Feb 2023 21:30:41 +0100
* gnu/packages/java.scm (java-byte-buddy-dep): New variable.
---
 gnu/packages/java.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e47462ce04..9940641fe9 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -10978,6 +10978,48 @@ (define-public java-xerial-core
 streams, etc.")
     (license license:asl2.0)))
 
+(define-public java-byte-buddy-dep
+  (package
+    (name "java-byte-buddy-dep")
+    (version "1.14.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/raphw/byte-buddy")
+                     (commit (string-append "byte-buddy-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "03jmsnkjb9d3z9brqs8fc512hhs5b5iab3a5wbax9zi03dskgvh2"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "byte-buddy-dep.jar"
+       #:source-dir "byte-buddy-dep/src/main/java"
+       #:test-dir "byte-buddy-dep/src/test"
+       #:tests? #f; would build java files that are incompatible with current jdk
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'remove-annotations
+           (lambda _
+             (with-directory-excursion "byte-buddy-dep/src/main/java/net/bytebuddy"
+               (substitute* (find-files "." ".*.java")
+                 (("@EqualsAndHashCode.*") "")
+                 (("import lombok.EqualsAndHashCode;") "")
+                 (("@SuppressFBWarnings.*") "")
+                 (("import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;") ""))
+               (substitute* '("description/type/TypeDescription.java"
+                              "dynamic/loading/ClassInjector.java")
+                 (("^  *value = .*") "")
+                 (("^  *justification = .*") ""))))))))
+    (inputs
+      (list java-asm-9 java-asm-commons-9 java-jsr305 java-native-access))
+    (home-page "http://bytebuddy.net/")
+    (synopsis "Runtime code generation for the Java virtual machine")
+    (description "Byte Buddy is a code generation and manipulation library for
+creating and modifying Java classes during the runtime of a Java application
+and without the help of a compiler.")
+    (license license:asl2.0)))
+
 (define-public java-powermock-reflect
   (package
     (name "java-powermock-reflect")
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Sat, 25 Feb 2023 20:32:08 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 61794 <at> debbugs.gnu.org
Subject: [PATCH 18/18] gnu: java-powermock-reflect: Update to 2.0.9.
Date: Sat, 25 Feb 2023 21:30:42 +0100
* gnu/packages/java.scm (java-powermock-reflect): Update to 2.0.9.
[source]: Use git source.
(java-powermock-reflect, java-powermock-core, java-powermock-api-support)
(java-powermock-junit4-common, java-powermock-junit4)
(java-powermock-api-easymock): Update inputs and use new style.
* gnu/packages/patches/java-powermock-fix-java-files.patch: Update
  patch.
---
 gnu/packages/java.scm                         |  72 ++++---
 .../java-powermock-fix-java-files.patch       | 192 ++++++++++++++----
 2 files changed, 190 insertions(+), 74 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9940641fe9..599cdc0ace 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -11023,30 +11023,27 @@ (define-public java-byte-buddy-dep
 (define-public java-powermock-reflect
   (package
     (name "java-powermock-reflect")
-    (version "1.7.3")
+    (version "2.0.9")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/powermock/powermock/"
-                                  "archive/powermock-" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/powermock/powermock")
+                     (commit (string-append "powermock-" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0sbgi5vqq7k72wzcdjb20s370vyd4hsbnx71pzb8ishml3gy7fwy"))
+                "03y8szi9iwxnv431z2mn2ivc1ak30vcvfvkyrwmfq7wq93bj2c5v"))
               (patches
                 (search-patches "java-powermock-fix-java-files.patch"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "java-powermock-reflect.jar"
-       #:jdk ,icedtea-8
        #:source-dir "powermock-reflect/src/main/java"
        #:test-dir "powermock-reflect/src/test"))
     (inputs
-     (list java-objenesis))
+     (list java-asm-9 java-objenesis))
     (native-inputs
-     `(("junit" ,java-junit)
-       ("cglib" ,java-cglib)
-       ("hamcrest" ,java-hamcrest-core)
-       ("assertj" ,java-assertj)))
+     (list java-assertj java-cglib java-hamcrest-core java-junit))
     (home-page "https://github.com/powermock/powermock")
     (synopsis "Mock library extension framework")
     (description "PowerMock is a framework that extends other mock libraries
@@ -11075,12 +11072,12 @@ (define-public java-powermock-core
                                "build/classes")
              #t)))))
     (inputs
-     `(("reflect" ,java-powermock-reflect)
-       ("javassist" ,java-jboss-javassist)))
+     (list java-asm-9
+           java-byte-buddy-dep
+           java-jboss-javassist
+           java-powermock-reflect))
     (native-inputs
-     `(("junit" ,java-junit)
-       ("assertj" ,java-assertj)
-       ("mockito" ,java-mockito-1)))))
+     (list java-assertj java-mockito-1 java-junit))))
 
 (define-public java-powermock-api-support
   (package
@@ -11093,8 +11090,7 @@ (define-public java-powermock-api-support
        #:source-dir "powermock-api/powermock-api-support/src/main/java"
        #:tests? #f)); no tests
     (inputs
-     `(("core" ,java-powermock-core)
-       ("reflect" ,java-powermock-reflect)))))
+     (list java-powermock-core java-powermock-reflect))))
 
 (define-public java-powermock-modules-junit4-common
   (package
@@ -11107,11 +11103,11 @@ (define-public java-powermock-modules-junit4-common
        #:source-dir "powermock-modules/powermock-module-junit4-common/src/main/java"
        #:test-dir "powermock-modules/powermock-module-junit4-common/src/test"))
     (inputs
-     `(("core" ,java-powermock-core)
-       ("easymock" ,java-easymock)
-       ("reflect" ,java-powermock-reflect)
-       ("hamcrest" ,java-hamcrest-core)
-       ("cglib" ,java-cglib)))))
+     (list java-cglib
+           java-easymock
+           java-hamcrest-core
+           java-powermock-core
+           java-powermock-reflect))))
 
 (define-public java-powermock-modules-junit4
   (package
@@ -11120,7 +11116,7 @@ (define-public java-powermock-modules-junit4
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "java-powermock-modules-junit4.jar"
-       #:jdk ,icedtea-8
+       #:tests? #f; require easymock 4, which introduces a loop with testng
        #:source-dir "powermock-modules/powermock-module-junit4/src/main/java"
        #:test-dir "powermock-modules/powermock-module-junit4/src/test"
        #:phases
@@ -11133,15 +11129,15 @@ (define-public java-powermock-modules-junit4
                (("4.12") "4.12-SNAPSHOT"))
              #t)))))
     (inputs
-     `(("core" ,java-powermock-core)
-       ("reflect" ,java-powermock-reflect)
-       ("common" ,java-powermock-modules-junit4-common)
-       ("cglib" ,java-cglib)))
+     (list java-cglib
+           java-powermock-core
+           java-powermock-reflect
+           java-powermock-modules-junit4-common))
     (native-inputs
-     `(("easymock" ,java-easymock)
-       ("hamcrest" ,java-hamcrest-core)
-       ("objenesis" ,java-objenesis)
-       ("junit" ,java-junit)))))
+     (list java-easymock
+           java-hamcrest-core
+           java-junit
+           java-objenesis))))
 
 (define-public java-powermock-api-easymock
   (package
@@ -11164,11 +11160,11 @@ (define-public java-powermock-api-easymock
                  (("\\(\\(MockClassLoader\\) classLoader\\).*;") ";")))
              #t)))))
     (inputs
-     `(("core" ,java-powermock-core)
-       ("easymock" ,java-easymock)
-       ("reflect" ,java-powermock-reflect)
-       ("support" ,java-powermock-api-support)
-       ("cglib" ,java-cglib)))))
+     (list java-cglib
+           java-easymock
+           java-powermock-api-support
+           java-powermock-core
+           java-powermock-reflect))))
 
 (define-public java-jboss-jms-api-spec
   (package
diff --git a/gnu/packages/patches/java-powermock-fix-java-files.patch b/gnu/packages/patches/java-powermock-fix-java-files.patch
index 6b95818138..ca99749a43 100644
--- a/gnu/packages/patches/java-powermock-fix-java-files.patch
+++ b/gnu/packages/patches/java-powermock-fix-java-files.patch
@@ -1,17 +1,130 @@
 This patch fixes build issues caused by the java compiler not finding the
 correct types on some statements.
 
-From 1ac84b58b4383fa118d98c35956d722d11cf449e Mon Sep 17 00:00:00 2001
+From 10ce6e0e30bbaf22212abc77f5d644c074df6068 Mon Sep 17 00:00:00 2001
 From: Julien Lepiller <julien <at> lepiller.eu>
-Date: Tue, 22 Aug 2017 20:40:27 +0200
+Date: Sat, 25 Feb 2023 18:00:13 +0100
 Subject: [PATCH] Fix java files.
 
 ---
- .../internal/impl/DelegatingPowerMockRunner.java   | 13 +++++++---
- .../java/org/powermock/reflect/WhiteBoxTest.java   | 30 +++++++++++-----------
- .../reflect/internal/proxy/ClassFactory.java       |  6 ++---
- 3 files changed, 27 insertions(+), 22 deletions(-)
+ .../ConditionalStateStackManipulation.java    |  6 ++--
+ .../org/powermock/core/bytebuddy/Frame.java   |  2 +-
+ .../core/bytebuddy/MaxLocalsExtractor.java    |  6 ++--
+ .../core/bytebuddy/MockGetawayCall.java       |  2 +-
+ .../core/bytebuddy/PrimitiveBoxing.java       |  4 +--
+ .../agent/DefinalizingClassTransformer.java   |  4 +--
+ .../agent/DefinalizingClassVisitor.java       |  6 ++--
+ .../impl/DelegatingPowerMockRunner.java       | 13 +++++---
+ .../org/powermock/reflect/WhiteBoxTest.java   | 32 +++++++++----------
+ .../reflect/internal/proxy/ClassFactory.java  |  6 ++--
+ 10 files changed, 43 insertions(+), 38 deletions(-)
 
+diff --git a/powermock-core/src/main/java/org/powermock/core/bytebuddy/ConditionalStateStackManipulation.java b/powermock-core/src/main/java/org/powermock/core/bytebuddy/ConditionalStateStackManipulation.java
+index fa23a3f..1fa4b94 100644
+--- a/powermock-core/src/main/java/org/powermock/core/bytebuddy/ConditionalStateStackManipulation.java
++++ b/powermock-core/src/main/java/org/powermock/core/bytebuddy/ConditionalStateStackManipulation.java
+@@ -20,9 +20,9 @@ package org.powermock.core.bytebuddy;
+ 
+ import net.bytebuddy.implementation.Implementation.Context;
+ import net.bytebuddy.implementation.bytecode.StackManipulation;
+-import net.bytebuddy.jar.asm.Label;
+-import net.bytebuddy.jar.asm.MethodVisitor;
+-import net.bytebuddy.jar.asm.Opcodes;
++import org.objectweb.asm.Label;
++import org.objectweb.asm.MethodVisitor;
++import org.objectweb.asm.Opcodes;
+ 
+ public class ConditionalStateStackManipulation implements StackManipulation {
+     
+diff --git a/powermock-core/src/main/java/org/powermock/core/bytebuddy/Frame.java b/powermock-core/src/main/java/org/powermock/core/bytebuddy/Frame.java
+index 8ada262..adfc218 100644
+--- a/powermock-core/src/main/java/org/powermock/core/bytebuddy/Frame.java
++++ b/powermock-core/src/main/java/org/powermock/core/bytebuddy/Frame.java
+@@ -24,7 +24,7 @@ import net.bytebuddy.description.method.ParameterDescription.InDefinedShape;
+ import net.bytebuddy.description.method.ParameterList;
+ import net.bytebuddy.description.type.TypeDescription.Generic;
+ import net.bytebuddy.implementation.bytecode.StackSize;
+-import net.bytebuddy.jar.asm.Opcodes;
++import org.objectweb.asm.Opcodes;
+ import net.bytebuddy.utility.CompoundList;
+ 
+ import java.util.ArrayList;
+diff --git a/powermock-core/src/main/java/org/powermock/core/bytebuddy/MaxLocalsExtractor.java b/powermock-core/src/main/java/org/powermock/core/bytebuddy/MaxLocalsExtractor.java
+index 6b5cddd..8fe1936 100644
+--- a/powermock-core/src/main/java/org/powermock/core/bytebuddy/MaxLocalsExtractor.java
++++ b/powermock-core/src/main/java/org/powermock/core/bytebuddy/MaxLocalsExtractor.java
+@@ -19,9 +19,9 @@
+ package org.powermock.core.bytebuddy;
+ 
+ import net.bytebuddy.description.method.MethodDescription;
+-import net.bytebuddy.jar.asm.ClassVisitor;
+-import net.bytebuddy.jar.asm.MethodVisitor;
+-import net.bytebuddy.jar.asm.Opcodes;
++import org.objectweb.asm.ClassVisitor;
++import org.objectweb.asm.MethodVisitor;
++import org.objectweb.asm.Opcodes;
+ 
+ public class MaxLocalsExtractor extends ClassVisitor {
+     
+diff --git a/powermock-core/src/main/java/org/powermock/core/bytebuddy/MockGetawayCall.java b/powermock-core/src/main/java/org/powermock/core/bytebuddy/MockGetawayCall.java
+index db84196..84942f8 100644
+--- a/powermock-core/src/main/java/org/powermock/core/bytebuddy/MockGetawayCall.java
++++ b/powermock-core/src/main/java/org/powermock/core/bytebuddy/MockGetawayCall.java
+@@ -27,7 +27,7 @@ import net.bytebuddy.implementation.bytecode.StackManipulation;
+ import net.bytebuddy.implementation.bytecode.collection.ArrayFactory;
+ import net.bytebuddy.implementation.bytecode.constant.ClassConstant;
+ import net.bytebuddy.implementation.bytecode.member.MethodInvocation;
+-import net.bytebuddy.jar.asm.MethodVisitor;
++import org.objectweb.asm.MethodVisitor;
+ import org.powermock.core.bytebuddy.Variable.VariableAccess;
+ import org.powermock.reflect.internal.WhiteboxImpl;
+ 
+diff --git a/powermock-core/src/main/java/org/powermock/core/bytebuddy/PrimitiveBoxing.java b/powermock-core/src/main/java/org/powermock/core/bytebuddy/PrimitiveBoxing.java
+index e200b22..ae1036b 100644
+--- a/powermock-core/src/main/java/org/powermock/core/bytebuddy/PrimitiveBoxing.java
++++ b/powermock-core/src/main/java/org/powermock/core/bytebuddy/PrimitiveBoxing.java
+@@ -24,8 +24,8 @@ import net.bytebuddy.description.type.TypeDescription.ForLoadedType;
+ import net.bytebuddy.implementation.Implementation;
+ import net.bytebuddy.implementation.bytecode.StackManipulation;
+ import net.bytebuddy.implementation.bytecode.StackSize;
+-import net.bytebuddy.jar.asm.MethodVisitor;
+-import net.bytebuddy.jar.asm.Opcodes;
++import org.objectweb.asm.MethodVisitor;
++import org.objectweb.asm.Opcodes;
+ 
+ public enum PrimitiveBoxing implements StackManipulation{
+     
+diff --git a/powermock-modules/powermock-module-javaagent/src/main/java/org/powermock/modules/agent/DefinalizingClassTransformer.java b/powermock-modules/powermock-module-javaagent/src/main/java/org/powermock/modules/agent/DefinalizingClassTransformer.java
+index e8eef7a..01d0bcb 100644
+--- a/powermock-modules/powermock-module-javaagent/src/main/java/org/powermock/modules/agent/DefinalizingClassTransformer.java
++++ b/powermock-modules/powermock-module-javaagent/src/main/java/org/powermock/modules/agent/DefinalizingClassTransformer.java
+@@ -16,8 +16,8 @@
+ 
+ package org.powermock.modules.agent;
+ 
+-import net.bytebuddy.jar.asm.ClassReader;
+-import net.bytebuddy.jar.asm.ClassWriter;
++import org.objectweb.asm.ClassReader;
++import org.objectweb.asm.ClassWriter;
+ 
+ import java.lang.instrument.ClassFileTransformer;
+ import java.security.ProtectionDomain;
+diff --git a/powermock-modules/powermock-module-javaagent/src/main/java/org/powermock/modules/agent/DefinalizingClassVisitor.java b/powermock-modules/powermock-module-javaagent/src/main/java/org/powermock/modules/agent/DefinalizingClassVisitor.java
+index 3bb80c3..9aada60 100644
+--- a/powermock-modules/powermock-module-javaagent/src/main/java/org/powermock/modules/agent/DefinalizingClassVisitor.java
++++ b/powermock-modules/powermock-module-javaagent/src/main/java/org/powermock/modules/agent/DefinalizingClassVisitor.java
+@@ -1,8 +1,8 @@
+ package org.powermock.modules.agent;
+ 
+-import net.bytebuddy.jar.asm.ClassVisitor;
+-import net.bytebuddy.jar.asm.MethodVisitor;
+-import net.bytebuddy.jar.asm.Opcodes;
++import org.objectweb.asm.ClassVisitor;
++import org.objectweb.asm.MethodVisitor;
++import org.objectweb.asm.Opcodes;
+ 
+ class DefinalizingClassVisitor extends ClassVisitor {
+ 
 diff --git a/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/DelegatingPowerMockRunner.java b/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/DelegatingPowerMockRunner.java
 index 301f854..caecbbd 100644
 --- a/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/DelegatingPowerMockRunner.java
@@ -39,7 +152,7 @@ index 301f854..caecbbd 100644
                      if (testClass.isAnnotationPresent(PowerMockRunnerDelegate.class)
                              && JUnitVersion.isGreaterThanOrEqualTo("4.5")) {
 diff --git a/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java b/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java
-index bf1e2e3..0d60487 100644
+index acb3154..8c24fbc 100644
 --- a/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java
 +++ b/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java
 @@ -248,7 +248,7 @@ public class WhiteBoxTest {
@@ -47,126 +160,133 @@ index bf1e2e3..0d60487 100644
      @Test
      public void testMethodWithPrimitiveAndWrappedInt_primtive_wrapped() throws Exception {
 -        assertEquals(17, Whitebox.invokeMethod(new ClassWithPrivateMethods(), "methodWithPrimitiveAndWrappedInt",
-+        assertEquals((Integer)17, Whitebox.invokeMethod(new ClassWithPrivateMethods(), "methodWithPrimitiveAndWrappedInt",
++        assertEquals(17, (int) Whitebox.invokeMethod(new ClassWithPrivateMethods(), "methodWithPrimitiveAndWrappedInt",
                                                 new Class[]{int.class, Integer.class}, 9, Integer.valueOf(8)));
      }
  
-@@ -257,7 +257,7 @@ public class WhiteBoxTest {
+@@ -257,13 +257,13 @@ public class WhiteBoxTest {
          int expected = 123;
          Whitebox.setInternalState(ClassWithInternalState.class, "staticState", expected);
          assertEquals(expected, ClassWithInternalState.getStaticState());
 -        assertEquals(expected, Whitebox.getInternalState(ClassWithInternalState.class, "staticState"));
-+        assertEquals(expected, (int)Whitebox.getInternalState(ClassWithInternalState.class, "staticState"));
++        assertEquals(expected, (int) Whitebox.getInternalState(ClassWithInternalState.class, "staticState"));
      }
  
  	@Test
-@@ -334,25 +334,25 @@ public class WhiteBoxTest {
+ 	public void testStaticFinalPrimitiveState() {
+ 		Whitebox.setInternalState(ClassWithInternalState.class, "staticFinalIntState", 123);
+-                assertEquals(123, Whitebox.getInternalState(ClassWithInternalState.class, "staticFinalIntState"));
++                assertEquals(123, (int) Whitebox.getInternalState(ClassWithInternalState.class, "staticFinalIntState"));
+ 	}
+ 
+ 	@Test
+@@ -330,25 +330,25 @@ public class WhiteBoxTest {
      @Test
      public void testInvokeVarArgsMethod_multipleValues() throws Exception {
          ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
 -        assertEquals(6, Whitebox.invokeMethod(tested, "varArgsMethod", 1, 2, 3));
-+        assertEquals(6, (int)Whitebox.invokeMethod(tested, "varArgsMethod", 1, 2, 3));
++        assertEquals(6, (int) Whitebox.invokeMethod(tested, "varArgsMethod", 1, 2, 3));
      }
  
      @Test
      public void testInvokeVarArgsMethod_noArguments() throws Exception {
          ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
 -        assertEquals(0, Whitebox.invokeMethod(tested, "varArgsMethod"));
-+        assertEquals(0, (int)Whitebox.invokeMethod(tested, "varArgsMethod"));
++        assertEquals(0, (int) Whitebox.invokeMethod(tested, "varArgsMethod"));
      }
  
      @Test
      public void testInvokeVarArgsMethod_oneArgument() throws Exception {
          ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
 -        assertEquals(4, Whitebox.invokeMethod(tested, "varArgsMethod", 2));
-+        assertEquals(4, (int)Whitebox.invokeMethod(tested, "varArgsMethod", 2));
++        assertEquals(4, (int) Whitebox.invokeMethod(tested, "varArgsMethod", 2));
      }
  
      @Test
      public void testInvokeVarArgsMethod_invokeVarArgsWithOneArgument() throws Exception {
          ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
 -        assertEquals(1, Whitebox.invokeMethod(tested, "varArgsMethod", new Class<?>[]{int[].class}, 1));
-+        assertEquals(1, (int)Whitebox.invokeMethod(tested, "varArgsMethod", new Class<?>[]{int[].class}, 1));
++        assertEquals(1, (int) Whitebox.invokeMethod(tested, "varArgsMethod", new Class<?>[]{int[].class}, 1));
      }
  
      @Test
-@@ -376,7 +376,7 @@ public class WhiteBoxTest {
+@@ -372,7 +372,7 @@ public class WhiteBoxTest {
          ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() {
          };
          Whitebox.setInternalState(tested, fieldName, value);
 -        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
-+        assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, fieldName));
      }
  
      @Test
-@@ -387,8 +387,8 @@ public class WhiteBoxTest {
+@@ -383,8 +383,8 @@ public class WhiteBoxTest {
          ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() {
          };
          Whitebox.setInternalState(tested, fieldName, value);
 -        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
 -        assertEquals(-1, Whitebox.getInternalState(tested, fieldName, ClassWithInternalState.class));
-+        assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName));
-+        assertEquals(-1, (int)Whitebox.getInternalState(tested, fieldName, ClassWithInternalState.class));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, fieldName));
++        assertEquals(-1, (int) Whitebox.getInternalState(tested, fieldName, ClassWithInternalState.class));
      }
  
      @Test(expected = IllegalArgumentException.class)
-@@ -398,7 +398,7 @@ public class WhiteBoxTest {
+@@ -394,7 +394,7 @@ public class WhiteBoxTest {
          ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() {
          };
          Whitebox.setInternalState(tested, fieldName, new Object());
 -        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
-+        assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, fieldName));
      }
  
      @Test(expected = IllegalArgumentException.class)
-@@ -408,7 +408,7 @@ public class WhiteBoxTest {
+@@ -404,7 +404,7 @@ public class WhiteBoxTest {
          ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() {
          };
          Whitebox.setInternalState(tested, fieldName, (Object) null);
 -        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
-+        assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, fieldName));
      }
  
      @Test
-@@ -417,8 +417,8 @@ public class WhiteBoxTest {
+@@ -413,8 +413,8 @@ public class WhiteBoxTest {
          ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState();
          Whitebox.setInternalState(tested, int.class, value);
          assertEquals(value, (int) Whitebox.getInternalState(tested, int.class));
 -        assertEquals(value, Whitebox.getInternalState(tested, "anotherInternalState"));
 -        assertEquals(value, Whitebox.getInternalState(tested, "anotherInternalState",
-+        assertEquals(value, (int)Whitebox.getInternalState(tested, "anotherInternalState"));
-+        assertEquals(value, (int)Whitebox.getInternalState(tested, "anotherInternalState",
++        assertEquals(value, (int) Whitebox.getInternalState(tested, "anotherInternalState"));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, "anotherInternalState",
                                                        ClassWithChildThatHasInternalState.class));
      }
  
-@@ -429,7 +429,7 @@ public class WhiteBoxTest {
+@@ -425,7 +425,7 @@ public class WhiteBoxTest {
          Whitebox.setInternalState(tested, int.class, value, ClassWithInternalState.class);
          assertEquals(42, (int) Whitebox.getInternalState(tested, int.class));
          assertEquals(value, (int) Whitebox.getInternalState(tested, int.class, ClassWithInternalState.class));
 -        assertEquals(value, Whitebox.getInternalState(tested, "staticState", ClassWithInternalState.class));
-+        assertEquals(value, (int)Whitebox.getInternalState(tested, "staticState", ClassWithInternalState.class));
++        assertEquals(value, (int) Whitebox.getInternalState(tested, "staticState", ClassWithInternalState.class));
      }
  
      @Test
-@@ -619,7 +619,7 @@ public class WhiteBoxTest {
+@@ -621,7 +621,7 @@ public class WhiteBoxTest {
      @Test
      public void testInvokeMethodWithBothNormalAndVarArgsParameter() throws Exception {
          ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
 -        assertEquals(4, Whitebox.invokeMethod(tested, "varArgsMethod2", 1, 2, 3));
-+        assertEquals(4, (int)Whitebox.invokeMethod(tested, "varArgsMethod2", 1, 2, 3));
++        assertEquals(4, (int) Whitebox.invokeMethod(tested, "varArgsMethod2", 1, 2, 3));
      }
  
      @Test
 diff --git a/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java b/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java
-index a5e5fda..14b8bbe 100644
+index 03db992..828bfe0 100644
 --- a/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java
 +++ b/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java
 @@ -1,8 +1,8 @@
  package org.powermock.reflect.internal.proxy;
  
--import net.sf.cglib.asm.ClassWriter;
--import net.sf.cglib.asm.MethodVisitor;
--import net.sf.cglib.asm.Opcodes;
+-import net.bytebuddy.jar.asm.ClassWriter;
+-import net.bytebuddy.jar.asm.MethodVisitor;
+-import net.bytebuddy.jar.asm.Opcodes;
 +import org.objectweb.asm.ClassWriter;
 +import org.objectweb.asm.MethodVisitor;
 +import org.objectweb.asm.Opcodes;
@@ -174,5 +294,5 @@ index a5e5fda..14b8bbe 100644
  class ClassFactory implements Opcodes {
      
 -- 
-2.14.1
+2.38.1
 
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Mon, 24 Jul 2023 12:16:01 GMT) Full text and rfc822 format available.

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

From: Andreas Enge <andreas <at> enge.fr>
To: 61794 <at> debbugs.gnu.org
Subject: Commit?
Date: Mon, 24 Jul 2023 14:15:28 +0200
Hello,

this has still not been picked up by QA. I would suggest to check again
whether the updates are compatible with the current master branch
(since we have merged core-updates in the meantime), and to push the
commits if everything is fine.

Andreas





Information forwarded to guix-patches <at> gnu.org:
bug#61794; Package guix-patches. (Mon, 01 Apr 2024 20:57:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 61794 <at> debbugs.gnu.org
Subject: Re: [bug#61794] [PATCH] Update some Java packages
Date: Mon, 01 Apr 2024 22:55:54 +0200
Hi Julien!

Julien Lepiller <julien <at> lepiller.eu> skribis:

> When opening josm I've been greeted for some time with a message saying
> support for our Java version is going to be dropped soon. Indeed, we use
> icedtea as our default JDK, instead of the more recent openjdks.
>
> This patch series updates some old packages that do not build with
> newer Java versions, as well as maven because why not. It doesn't mean
> we're ready to change the default jdk after this series, but we get
> closer to it :D

A year has passed :-) and I concur with Andreas: you should push this
series!

Thanks,
Ludo’.




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

Previous Next


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