From 48a191c15d52073185d4ca7e81c63517d779df27 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Sat, 4 Jun 2022 15:41:41 +0200
Subject: gnu: java-plexus-component-metadata: Fix package.

* gnu/packages/java.scm (java-plexus-component-metadat): Apply fix for
  newer jdom.
---
 gnu/packages/java.scm | 8 ++++++++
 1 file changed, 8 insertions(+)

(limited to 'gnu/packages/java.scm')

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 336e84e3e5..f475f7c270 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4537,6 +4537,14 @@ (define-public java-plexus-component-metadata-1.7
              (copy-recursively "src/main/resources"
                                "build/classes/")
              #t))
+         (add-before 'build 'fix-jdom
+           (lambda _
+             ;; The newer version of jdom now sets multiple features by default
+             ;; that are not supported.
+             ;; Skip these features
+             (substitute* "src/main/java/org/codehaus/plexus/metadata/merge/MXParser.java"
+               (("throw new XmlPullParserException\\(\"unsupporte feature \"\\+name\\);")
+                "// skip"))))
          (add-before 'check 'fix-test-location
            (lambda _
              (substitute* '("src/test/java/org/codehaus/plexus/metadata/DefaultComponentDescriptorWriterTest.java"
-- 
cgit v1.2.3


From 965d54e344dcd19adf3c32f8b9d2dcab62b91e6a Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Sun, 12 Jun 2022 09:05:20 +0200
Subject: gnu: java-plexus-component-metadata: Fix package.

* gnu/packages/java.scm (java-plexus-component-metadata): Apply fix for
  newer jdom.
---
 gnu/packages/java.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

(limited to 'gnu/packages/java.scm')

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index f475f7c270..fcac0c2367 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2017, 2019, 2021 Carlo Zancanaro <carlo@zancanaro.id.au>
-;;; Copyright © 2017-2021 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2017-2022 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -4371,6 +4371,14 @@ (define-public java-plexus-component-metadata
              (copy-recursively "src/main/resources"
                                "build/classes/")
              #t))
+         (add-before 'build 'fix-jdom
+           (lambda _
+             ;; The newer version of jdom now sets multiple features by default
+             ;; that are not supported.
+             ;; Skip these features
+             (substitute* "src/main/java/org/codehaus/plexus/metadata/merge/MXParser.java"
+               (("throw new XmlPullParserException\\(\"unsupporte feature \"\\+name\\);")
+                "// skip"))))
          (add-before 'build 'reinstate-cli
            ;; The CLI was removed in 2.1.0, but we still need it to build some
            ;; maven dependencies, and some parts of maven itself. We can't use
-- 
cgit v1.2.3


From 4ff9f1689d0d8f3c7555c472ce67aaa928af564d Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Sun, 12 Jun 2022 22:34:28 +0300
Subject: gnu: java-commons-lang3: Update to 3.12.0

* gnu/packages/java.scm (java-commons-lang3): Update to 3.12.0.
* gnu/packages/patches/java-commons-lang-fix-dependency.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
---
 gnu/local.mk                                       |  1 +
 gnu/packages/java.scm                              |  7 ++--
 .../patches/java-commons-lang-fix-dependency.patch | 38 ++++++++++++++++++++++
 3 files changed, 44 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/java-commons-lang-fix-dependency.patch

(limited to 'gnu/packages/java.scm')

diff --git a/gnu/local.mk b/gnu/local.mk
index ad6b5591a3..0176585485 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1317,6 +1317,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch	\
   %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-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/java.scm b/gnu/packages/java.scm
index fcac0c2367..d2fbf840a0 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2021 Mike Gerwitz <mtg@gnu.org>
 ;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -6206,14 +6207,16 @@ (define-public java-commons-lang
 (define-public java-commons-lang3
   (package
     (name "java-commons-lang3")
-    (version "3.9")
+    (version "3.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://apache/commons/lang/source/"
                            "commons-lang3-" version "-src.tar.gz"))
        (sha256
-        (base32 "0s4ffbvsyl16c90l45ximsg4dwd8hmz7wsza3p308fw43h6mwhb6"))))
+        (base32 "09dcv1pkdx3hpf06py8p9511f1wkin6jpacdll0c8vxpbi3yfwzv"))
+       (patches
+        (search-patches "java-commons-lang-fix-dependency.patch"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "commons-lang3.jar"
diff --git a/gnu/packages/patches/java-commons-lang-fix-dependency.patch b/gnu/packages/patches/java-commons-lang-fix-dependency.patch
new file mode 100644
index 0000000000..4e0d42d2ed
--- /dev/null
+++ b/gnu/packages/patches/java-commons-lang-fix-dependency.patch
@@ -0,0 +1,38 @@
+Prevent java-commons-lang3 from depending on junit-bom when used with
+maven.
+
+From 5c15b04ff9d05235460ea58f303fcf3502a943f2 Mon Sep 17 00:00:00 2001
+From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
+Date: Mon, 13 Jun 2022 09:25:42 +0300
+Subject: [PATCH] pom.xml: Remove dependency on 'junit-bom'
+
+---
+ pom.xml | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/pom.xml b/pom.xml
+index 167a85a47..6cd9be57b 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -513,18 +513,6 @@
+     </contributor>
+   </contributors>
+ 
+-  <dependencyManagement>
+-    <dependencies>
+-      <dependency>
+-        <groupId>org.junit</groupId>
+-        <artifactId>junit-bom</artifactId>
+-        <version>5.7.1</version>
+-        <type>pom</type>
+-        <scope>import</scope>
+-      </dependency>
+-    </dependencies>
+-  </dependencyManagement>
+-
+   <!-- Lang should depend on very little -->
+   <dependencies>
+     <!-- testing -->
+-- 
+2.25.1
+
-- 
cgit v1.2.3


From 3f8bb2d6b973ef017c3034ee9787ae971c9e8e0c Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Sat, 18 Jun 2022 19:40:00 +0300
Subject: gnu: Add java-asm-commons.

* gnu/packages/java.scm (java-asm-commons-8): New variable.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
---
 gnu/packages/java.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)

(limited to 'gnu/packages/java.scm')

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index d2fbf840a0..7b0507d93c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -5469,6 +5469,18 @@ (define-public java-asm-util-8
     (inputs
      (list java-asm-8 java-asm-analysis-8 java-asm-tree-8))))
 
+(define-public java-asm-commons-8
+  (package
+    (inherit java-asm-8)
+    (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-8 java-asm-analysis-8 java-asm-tree-8))))
+
 (define-public java-cglib
   (package
     (name "java-cglib")
-- 
cgit v1.2.3