commit: 75c3af6a2297f8557881391ba6c517c6ff21e042 Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net> AuthorDate: Sun Aug 3 14:45:36 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Oct 3 05:08:44 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75c3af6a
dev-java/commons-net: add 3.12.0 For generating module-info.java this version uses eclass fuctionality instead of doing it all in the ebuild. Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net> Part-of: https://github.com/gentoo/gentoo/pull/42983 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-java/commons-net/Manifest | 5 + dev-java/commons-net/commons-net-3.12.0.ebuild | 106 +++++++++++++++ .../commons-net-3.12.0-skipFailingTests.patch | 147 +++++++++++++++++++++ 3 files changed, 258 insertions(+) diff --git a/dev-java/commons-net/Manifest b/dev-java/commons-net/Manifest index b5d71b6d6de8..f0c5caf1b377 100644 --- a/dev-java/commons-net/Manifest +++ b/dev-java/commons-net/Manifest @@ -1,2 +1,7 @@ DIST commons-net-3.11.1-src.tar.gz 460104 BLAKE2B 5542a7d9d3d8f2f07a90b3ab21e4e8a66bceecfef8f1ae8ec378003e4c3906414435b095cc0c0016f24d3e174a5e16da52cf4c5503209c08d5e550ef25a7bbdc SHA512 0999067cc73cb0e0ab4940302180a0afa998b37c51f93c1c744bf1d346d14c89283166a665283d98200e98f0b8c39854f17493890d49ddad5769c4deb49de37e DIST commons-net-3.11.1-src.tar.gz.asc 488 BLAKE2B ea6ba15b7b6800b1c249cb82d784057f701fb13775fc9838e5247e1e8ead9360a7c5381083fa0c0e2b783e339b6e4ebb8ff66cb8c8924b3c00c9b28ee696e7a3 SHA512 c9e4c896d2f514996aa50c8af20bab6564d574db4fef69832fe2391beefabfed74a727faf7fe9227b037e943cdba5b2ac143164d5c0df3140b9b7c44ca316e53 +DIST commons-net-3.12.0-src.tar.gz 469615 BLAKE2B 7c563d5c0d909e67ec41699bc35e1b03a26453d7ed84d0f7c8b534c4fd2d40aa47cfe491869fc4af41ccc11a13f34a90117e3c53e233a32dda3a5999f788b5ed SHA512 f33da0d8f279a174e3c4eb4514a091a5ac74bd55067d6f230b268bab425fe92941f7322665c613ab2984c78dcc376cac5d665f966626108dd70604ffe682d149 +DIST commons-net-3.12.0-src.tar.gz.asc 488 BLAKE2B 3fcaf77c3580933dce4b4b4bc2b3f93786cf09e4b78dfde3f49956cdb53119645caddcf3733694a5aa45ce08ac83cb37aac0ce49d7eb46f3ae379ea3329a6993 SHA512 c2605f71ff721b2c6fa964a565c5d34129392e5c95e81b77eb83366082e99768913e99581f0a04f65310c9a9dfe47a5aae17bdb8ede07c6eb101c6582058f461 +DIST ftplet-api-1.2.1.jar 23347 BLAKE2B 89ceb01114f6a342eb9bae4b14c1ee5664278253e9f9c9a888342994021f3c8563cab35944ddc26cf33508f80d745da3102d3164666922071e71462073788b60 SHA512 8f13c2daf5ffb246d45d04c7dec2e4236ab35b8230255b791701fe2b94206eada6d303a4a9f48200d0e633353fdba5fd5e7f78d7e25d46904e8f87c19a047f35 +DIST ftpserver-core-1.2.1.jar 319560 BLAKE2B 10bd90b7cf66834687de1317ed53552aecd67bab6f5390752880e07874e886e15a792d33ec8491991dbe272a0b2d866ac6d6e7672b06dfcd6240664cf899cc83 SHA512 665e8150c4ee4eb091faab77fdb08c49452ddf3141cdd8701ad14479378d170c4482a146f4ec2225c7b72321a26e64bb8b1cd8b7ec4167905ccbe17a5005d77e +DIST mina-core-2.2.4.jar 701671 BLAKE2B 10c7b357a12dbce4e9f989fb8d518629b2748b3808ddac8fa938b7aac8045a6e7fe59ccfa36ef5ec0c9a1a6a7e95e88bcf01cd3753e1191e72e850a8224bcf12 SHA512 4269e2e16c99692e2490ad1bcc80ec02958b2c40704d8059f3ef1ff04671ef6bd88747637666a497c99a791a7aa7e3e0f98875cf742af849667aed9c16155f74 diff --git a/dev-java/commons-net/commons-net-3.12.0.ebuild b/dev-java/commons-net/commons-net-3.12.0.ebuild new file mode 100644 index 000000000000..770bf73b06ee --- /dev/null +++ b/dev-java/commons-net/commons-net-3.12.0.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="commons-net:commons-net:${PV}" +JAVA_TESTING_FRAMEWORKS="junit-jupiter" + +inherit java-pkg-2 java-pkg-simple junit5 verify-sig + +DESCRIPTION="Client-oriented Java library to implement many Internet protocols" +HOMEPAGE="https://commons.apache.org/proper/commons-net/" +FSV="1.2.1" # apache-ftpserver isn't yet packaged +MCV="2.2.4" +SRC_URI="mirror://apache/commons/net/source/${P}-src.tar.gz + test? ( + https://repo1.maven.org/maven2/org/apache/ftpserver/ftpserver-core/${FSV}/ftpserver-core-${FSV}.jar + https://repo1.maven.org/maven2/org/apache/ftpserver/ftplet-api/${FSV}/ftplet-api-${FSV}.jar + https://repo1.maven.org/maven2/org/apache/mina/mina-core/${MCV}/mina-core-${MCV}.jar + ) + verify-sig? ( https://downloads.apache.org/commons/net/source/${P}-src.tar.gz.asc )" +S="${WORKDIR}/${P}-src" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ggregory )" + +DEPEND=" + >=dev-java/commons-io-2.20.0:0 + >=virtual/jdk-11:* + test? ( + >=dev-java/commons-collections-4.5.0:4 + >=dev-java/commons-lang-3.18.0:0 + dev-java/junit:4 + dev-java/opentest4j:0 + dev-java/slf4j-api:0 + ) +" + +RDEPEND=">=virtual/jre-1.8:*" + +DOCS=( CONTRIBUTING.md {NOTICE,RELEASE-NOTES}.txt ) +PATCHES=( "${FILESDIR}/commons-net-3.12.0-skipFailingTests.patch" ) + +JAVA_CLASSPATH_EXTRA="commons-io" +JAVA_GENTOO_CLASSPATH_EXTRA=:"${DISTDIR}/ftplet-api-${FSV}.jar" +JAVA_GENTOO_CLASSPATH_EXTRA+=:"${DISTDIR}/ftpserver-core-${FSV}.jar" +JAVA_GENTOO_CLASSPATH_EXTRA+=:"${DISTDIR}/mina-core-${MCV}.jar" +JAVA_INTERMEDIATE_JAR_NAME="org.apache.${PN/-/.}" +JAVA_MODULE_INFO_OUT="src/main" +JAVA_RESOURCE_DIRS="src/main/resources" +JAVA_SRC_DIR="src/main/java" +JAVA_TEST_GENTOO_CLASSPATH="commons-collections-4 commons-lang junit-4 junit-5 opentest4j slf4j-api" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" +JAVA_TEST_SRC_DIR="src/test/java" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/ggregory.asc" + +src_unpack() { + use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}-src.tar.gz{,.asc} + default +} + +src_prepare() { + default #780585 + java-pkg-2_src_prepare + + # pom.xml lines 179-188 (do not put it in the main jar) + mkdir -p src/examples/java/org/apache/commons/net/ || die + mv src/{main,examples}/java/org/apache/commons/net/examples || die "mv java" + mkdir -p target/examples || die + mv {src/main/resources,target/examples}/org || die "mv resources" +} + +src_test() { + # Some examples are needed only for compiling tests but won't be packaged. + mkdir -p target/examples || die + local examples_sources + find src/examples/java -type f -name '*.java' \ + > examples_sources || die "sources" + ejavac -d target/examples @examples_sources \ + -classpath "$(java-pkg_getjars --build-only commons-io)":commons-net.jar + JAVA_GENTOO_CLASSPATH_EXTRA+=":target/examples" + + # src/test/java/org/apache/commons/net/util/SubnetUtilsTest.java:39: error: cannot find symbol + # import org.junit.jupiter.params.provider.FieldSource; + rm src/test/java/org/apache/commons/net/util/SubnetUtilsTest.java || die "rm SubnetUtilsTest.java" + + # pom.xml lines 208-209 + find src/test/java -type f -name '*FunctionalTest.java' -delete || die + find src/test/java -type f -name 'POP3*Test.java' -delete || die + + JAVA_TEST_EXCLUDES=( + # caught: java.net.UnknownHostException: + # jdk.internal.util.Exceptions$NonSocketInfo@32f61a31tux: Name or service not known + org.apache.commons.net.tftp.TFTPAckPacketTest + org.apache.commons.net.tftp.TFTPDataPacketTest + org.apache.commons.net.tftp.TFTPErrorPacketTest + org.apache.commons.net.tftp.TFTPReadRequestPacketTest + org.apache.commons.net.tftp.TFTPRequestPacketTest + org.apache.commons.net.tftp.TFTPWriteRequestPacketTest + ) + junit5_src_test +} diff --git a/dev-java/commons-net/files/commons-net-3.12.0-skipFailingTests.patch b/dev-java/commons-net/files/commons-net-3.12.0-skipFailingTests.patch new file mode 100644 index 000000000000..56113e25f5de --- /dev/null +++ b/dev-java/commons-net/files/commons-net-3.12.0-skipFailingTests.patch @@ -0,0 +1,147 @@ + +testGetTime() + tags: [] + uniqueId: [engine:junit-jupiter]/[class:org.apache.commons.net.daytime.DaytimeUDPClientTest]/[method:testGetTime()] + parent: [engine:junit-jupiter]/[class:org.apache.commons.net.daytime.DaytimeUDPClientTest] + source: MethodSource [className = 'org.apache.commons.net.daytime.DaytimeUDPClientTest', methodName = 'testGetTime', methodParameterTypes = ''] + caught: org.opentest4j.AssertionFailedError: Unexpected exception type thrown, expected: <java.lang.NullPointerException> but was: <java.net.UnknownHostException> + at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151) + at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:67) + at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:35) + at org.junit.jupiter.api.Assertions.assertThrows(Assertions.java:3115) + at org.apache.commons.net.daytime.DaytimeUDPClientTest.testGetTime(DaytimeUDPClientTest.java:49) + at java.base/java.lang.reflect.Method.invoke(Method.java:565) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1604) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1604) + Caused by: java.net.UnknownHostException: jdk.internal.util.Exceptions$NonSocketInfo@2024293ctux: Name or service not known + at java.base/java.net.InetAddress.getLocalHost(InetAddress.java:1800) + at org.apache.commons.net.daytime.DaytimeUDPClientTest.lambda$testGetTime$0(DaytimeUDPClientTest.java:49) + at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:53) + ... 6 more + Caused by: java.net.UnknownHostException: tux: Name or service not known + at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) + at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:52) + at java.base/java.net.InetAddress$PlatformResolver.lookupByName(InetAddress.java:1134) + at java.base/java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1712) + at java.base/java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:1060) + at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1702) + at java.base/java.net.InetAddress.getLocalHost(InetAddress.java:1796) + ... 8 more + duration: 9 ms + status: ✘ FAILED + +--- a/src/test/java/org/apache/commons/net/daytime/DaytimeUDPClientTest.java ++++ b/src/test/java/org/apache/commons/net/daytime/DaytimeUDPClientTest.java +@@ -22,6 +22,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; + + import java.net.InetAddress; + ++import org.junit.jupiter.api.Disabled; + import org.junit.jupiter.api.Test; + + /** +@@ -42,7 +43,7 @@ public class DaytimeUDPClientTest { + assertDoesNotThrow(DaytimeUDPClient::new); + } + +- @Test ++ @Test @Disabled + public void testGetTime() { + try (DaytimeUDPClient client = new DaytimeUDPClient()) { + // Not connected +--- a/src/test/java/org/apache/commons/net/time/TimeUDPClientTest.java ++++ b/src/test/java/org/apache/commons/net/time/TimeUDPClientTest.java +@@ -22,6 +22,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; + + import java.net.InetAddress; + ++import org.junit.jupiter.api.Disabled; + import org.junit.jupiter.api.Test; + + /** +@@ -36,7 +37,7 @@ public class TimeUDPClientTest { + } + } + +- @Test ++ @Test @Disabled + public void testGetDate() { + try (TimeUDPClient client = new TimeUDPClient()) { + // Not connected failures +@@ -45,7 +46,7 @@ public class TimeUDPClientTest { + } + } + +- @Test ++ @Test @Disabled + public void testGetTime() { + try (TimeUDPClient client = new TimeUDPClient()) { + // Not connected failures +--- a/src/test/java/org/apache/commons/net/chargen/CharGenUDPClientTest.java ++++ b/src/test/java/org/apache/commons/net/chargen/CharGenUDPClientTest.java +@@ -22,6 +22,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; + + import java.net.InetAddress; + ++import org.junit.jupiter.api.Disabled; + import org.junit.jupiter.api.Test; + + /** +@@ -43,7 +44,7 @@ public class CharGenUDPClientTest { + } + } + +- @Test ++ @Test @Disabled + public void testSend() { + try (CharGenUDPClient client = new CharGenUDPClient()) { + // Not connected +--- a/src/test/java/org/apache/commons/net/discard/DiscardUDPClientTest.java ++++ b/src/test/java/org/apache/commons/net/discard/DiscardUDPClientTest.java +@@ -22,6 +22,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; + + import java.net.InetAddress; + ++import org.junit.jupiter.api.Disabled; + import org.junit.jupiter.api.Test; + + /** +@@ -35,7 +36,7 @@ public class DiscardUDPClientTest { + assertDoesNotThrow(DiscardUDPClient::new); + } + +- @Test ++ @Test @Disabled + public void testSend() { + try (DiscardUDPClient client = new DiscardUDPClient()) { + // Not connected +--- a/src/test/java/org/apache/commons/net/echo/EchoUDPClientTest.java ++++ b/src/test/java/org/apache/commons/net/echo/EchoUDPClientTest.java +@@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; + + import java.net.InetAddress; + ++import org.junit.jupiter.api.Disabled; + import org.junit.jupiter.api.Test; + + /** +@@ -37,7 +38,7 @@ public class EchoUDPClientTest { + } + } + +- @Test ++ @Test @Disabled + public void testSend() { + try (EchoUDPClient client = new EchoUDPClient()) { + // Not connected +--- a/src/test/java/org/apache/commons/net/tftp/TFTPTest.java ++++ b/src/test/java/org/apache/commons/net/tftp/TFTPTest.java +@@ -164,7 +164,7 @@ public class TFTPTest extends TestCase { + } + } + +- public void testSend() throws IOException { ++ public void moTestSend() throws IOException { + try (TFTP tftp = new TFTP()) { + tftp.open(); + tftp.send(new TFTPDataPacket(InetAddress.getLocalHost(), tftp.getLocalPort(), 0, new byte[10]));
