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",
