commit:     12c54e642f3448305bfe6e104a62e392bbc9f0bc
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri Nov  7 06:35:45 2025 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Mon Jan 26 19:42:16 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12c54e64

dev-java/commons-io: add 2.21.0

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 dev-java/commons-io/Manifest                       |  2 +
 dev-java/commons-io/commons-io-2.21.0.ebuild       | 78 ++++++++++++++++++++++
 .../files/commons-io-2.21.0-URIOriginalTest.patch  | 37 ++++++++++
 3 files changed, 117 insertions(+)

diff --git a/dev-java/commons-io/Manifest b/dev-java/commons-io/Manifest
index f48c401e72ae..3aa97340b439 100644
--- a/dev-java/commons-io/Manifest
+++ b/dev-java/commons-io/Manifest
@@ -2,3 +2,5 @@ DIST commons-io-2.18.0-src.tar.gz 670984 BLAKE2B 
3d8ffbd602cf31e89cb42059e9a7f83
 DIST commons-io-2.18.0-src.tar.gz.asc 488 BLAKE2B 
2c88e3374a839fb58ef25422c33e120699b319ebdf2baa8f72180e0db8089a4b9b851fc648c0508aad9c7707c463fbb9b849b3eaf545f101195083a4dffae160
 SHA512 
8101ffb12f3253e71f0234eb8a5a04d88bc7e8777cabfc88ac64f50b416dd6b4be28f8dfd14d09a97a63257c159fab4b512584085550ce965fcfd97cdb637a9e
 DIST commons-io-2.20.0-src.tar.gz 700475 BLAKE2B 
37d54c842a8bab868872a614ff70fb8d500e64a7f25f406ec157813e1ea0942c477a748317f7f4ec608afdc15233d523117ce804998c1b010c021cbda9a2328e
 SHA512 
4c05970ad34e2aa32dc07de3b3335f46bb069dcb6f28fc6ed82867d890d4f31d6dfb5edb03ec3333f789f9ac0a57d84b5ffa782bd715ccffed41b1a9004217fb
 DIST commons-io-2.20.0-src.tar.gz.asc 488 BLAKE2B 
e33492847b5ed634b494b9c82ff9cbc6847d81224c39c6c6c5efe4839ef22f7cb5994a9afd96bbe56016347abd7e5bc6cd3fc0406bcc30fd10c85ac123eb3d4a
 SHA512 
29ec14c947c68817d8d42307405fb7133ed6557cc36945609a6427c7064743e60a89a0c6702ffe51db0e28dd0679908688ffa11f6d623b459bc22cb93c443b43
+DIST commons-io-2.21.0-src.tar.gz 818160 BLAKE2B 
4d836d18540c9ccb96855f17f2eb2701f809511cfdfa05001078c4eaed33589c291deb5b2ce1943b935a3ced7148139a35a0f7a0f78885da1eb144ffb0630e4d
 SHA512 
50eb2ef3e42362b090e6d8bca954b20c940ae7e5391ce7ef8e0756c70c78e273fdd2f3dd76151d2078628e5a05a077bd712e331362f430eda3ddf8a3adc45898
+DIST commons-io-2.21.0-src.tar.gz.asc 488 BLAKE2B 
bcbba5f4ee89278cb87aae14ba624d52f3043bc28de0f7d664ac7726b02e3d290bcee41f8fb5c6e054af6ce97776c1da7b6e359fc537dbec088fad6f5d125f84
 SHA512 
2967359111dfe7b130496680b2c2087a347b63d3378409e7c75bf8926dd722916c023ca7ef28931da48bc5cd1b99bbdd547e8af9afd49297fdb99bcfe5d6f3dc

diff --git a/dev-java/commons-io/commons-io-2.21.0.ebuild 
b/dev-java/commons-io/commons-io-2.21.0.ebuild
new file mode 100644
index 000000000000..43e3f7b8917d
--- /dev/null
+++ b/dev-java/commons-io/commons-io-2.21.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+JAVA_TESTING_FRAMEWORKS="junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple junit5 verify-sig
+
+DESCRIPTION="Utility classes, stream implementations, file filters, and much 
more"
+HOMEPAGE="https://commons.apache.org/proper/commons-io/";
+SRC_URI="mirror://apache/commons/io/source/${P}-src.tar.gz
+       verify-sig? ( 
https://downloads.apache.org/commons/io/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+
+# [-vintage] because, if junit:5 compiled with 'USE=vintage':
+# Error: Module junit not found, required by org.junit.vintage.engine
+DEPEND="
+       >=virtual/jdk-11:*
+       test? (
+               >=dev-java/asm-9.9:0
+               >=dev-java/byte-buddy-1.17.8:0
+               >=dev-java/commons-codec-1.20.0:0
+               >=dev-java/commons-lang-3.19.0:0
+               >=dev-java/jimfs-1.3.1:0
+               >=dev-java/jmh-core-1.37:0
+               >=dev-java/jna-5.18.1:0
+               >=dev-java/jsr305-3.0.2-r1:0
+               dev-java/junit:5[-vintage]
+               >=dev-java/junit-pioneer-1.9.1-r1:0
+               >=dev-java/mockito-5.20.0-r1:0
+               >=dev-java/opentest4j-1.3.0-r1:0
+       )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+PATCHES=(
+       "${FILESDIR}/commons-io-2.20.0-BOMInputStreamTest.patch" # 
java.nio.BufferOverflowException
+       "${FILESDIR}/commons-io-2.20.0-CharSequenceInputStreamTest.patch" # 
java.nio.BufferOverflowException
+       "${FILESDIR}/commons-io-2.21.0-URIOriginalTest.patch" # 
java.net.UnknownHostException: example.com
+       "${FILESDIR}/commons-io-2.20.0-XmlStreamReaderTest.patch" # Needs 
network access
+)
+
+JAVA_INTERMEDIATE_JAR_NAME="org.apache.${PN/-/.}"
+JAVA_MODULE_INFO_OUT="src/main"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="asm byte-buddy commons-codec commons-lang
+       jimfs jmh-core jna jsr305 junit-pioneer junit-5 mockito opentest4j"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+
+src_prepare() {
+       default #780585
+       java-pkg-2_src_prepare
+
+       # This test has compilation errors:
+       # 
src/test/java/org/apache/commons/io/file/PathUtilsContentEqualsTest.java:125:
+       # error: reference to newFileSystem is ambiguous
+       #  FileSystem fileSystem2 = 
FileSystems.newFileSystem(refDir.resolveSibling(refDir.getFileName() + ".zip"), 
null)) {
+       #                                      ^
+       #   both method newFileSystem(Path,ClassLoader) in FileSystems and 
method newFileSystem(Path,Map<String,?>)
+       #   in FileSystems match
+       rm 
src/test/java/org/apache/commons/io/file/PathUtilsContentEqualsTest.java || die
+
+       local vm_version="$(java-config -g PROVIDES_VERSION)"
+       if ver_test "${vm_version}" -ge 17; then
+               JAVA_TEST_EXTRA_ARGS+=( 
--add-opens=java.base/java.{io,lang,util,time,time.chrono}=ALL-UNNAMED )
+       fi
+}

diff --git a/dev-java/commons-io/files/commons-io-2.21.0-URIOriginalTest.patch 
b/dev-java/commons-io/files/commons-io-2.21.0-URIOriginalTest.patch
new file mode 100644
index 000000000000..307200e29270
--- /dev/null
+++ b/dev-java/commons-io/files/commons-io-2.21.0-URIOriginalTest.patch
@@ -0,0 +1,37 @@
+[1] http://example.com dynamically registered
+[1] http://example.com
+     tags: []
+ uniqueId: 
[engine:junit-jupiter]/[class:org.apache.commons.io.build.URIOriginTest]/[test-template:testGetInputStream(java.lang.String)]/[test-template-invocation:#1]
+   parent: 
[engine:junit-jupiter]/[class:org.apache.commons.io.build.URIOriginTest]/[test-template:testGetInputStream(java.lang.String)]
+   source: MethodSource [className = 
'org.apache.commons.io.build.URIOriginTest', methodName = 'testGetInputStream', 
methodParameterTypes = 'java.lang.String']
+   caught: java.net.UnknownHostException: example.com
+ duration: 80 ms
+   status: ✘ FAILED
+[2] https://example.com dynamically registered
+[2] https://example.com
+     tags: []
+ uniqueId: 
[engine:junit-jupiter]/[class:org.apache.commons.io.build.URIOriginTest]/[test-template:testGetInputStream(java.lang.String)]/[test-template-invocation:#2]
+   parent: 
[engine:junit-jupiter]/[class:org.apache.commons.io.build.URIOriginTest]/[test-template:testGetInputStream(java.lang.String)]
+   source: MethodSource [className = 
'org.apache.commons.io.build.URIOriginTest', methodName = 'testGetInputStream', 
methodParameterTypes = 'java.lang.String']
+   caught: java.net.UnknownHostException: example.com
+ duration: 114 ms
+   status: ✘ FAILED
+
+--- a/src/test/java/org/apache/commons/io/build/URIOriginTest.java
++++ b/src/test/java/org/apache/commons/io/build/URIOriginTest.java
+@@ -29,6 +29,7 @@ import java.nio.file.StandardOpenOption;
+ import org.apache.commons.io.build.AbstractOrigin.URIOrigin;
+ import org.apache.commons.lang3.ArrayUtils;
+ import org.junit.jupiter.api.Test;
++import org.junit.jupiter.api.Disabled;
+ import org.junit.jupiter.params.ParameterizedTest;
+ import org.junit.jupiter.params.provider.ValueSource;
+ 
+@@ -58,6 +59,7 @@ class URIOriginTest extends AbstractOriginTest<URI, 
URIOrigin> {
+         Files.write(rwPath, ArrayUtils.EMPTY_BYTE_ARRAY, 
StandardOpenOption.CREATE);
+     }
+ 
++    @Disabled
+     @ParameterizedTest
+     @ValueSource(strings = {
+             "http://apache.com";,

Reply via email to