From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 7B43215808C for ; Fri, 15 Apr 2022 09:36:21 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id F0A2EE08E5; Fri, 15 Apr 2022 09:36:16 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 4D976E08E0 for ; Fri, 15 Apr 2022 09:36:16 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 8DB39341C4D for ; Fri, 15 Apr 2022 09:36:14 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 9A9FD3B1 for ; Fri, 15 Apr 2022 09:36:11 +0000 (UTC) From: "Florian Schmaus" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Florian Schmaus" Message-ID: <1650015305.d606af42d8cca142f9b508741f7b940d9a0f7621.flow@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/netty/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-java/netty/Manifest dev-java/netty/metadata.xml dev-java/netty/netty-4.1.35.ebuild X-VCS-Directories: dev-java/netty/ X-VCS-Committer: flow X-VCS-Committer-Name: Florian Schmaus X-VCS-Revision: d606af42d8cca142f9b508741f7b940d9a0f7621 X-VCS-Branch: master Date: Fri, 15 Apr 2022 09:36:11 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 2cbb7cfb-28dd-4fd6-94e0-989e1f02bf3d X-Archives-Hash: de4aa45e7200ec42c87e2e04e1cbd99d commit: d606af42d8cca142f9b508741f7b940d9a0f7621 Author: Volkmar W. Pogatzki pogatzki net> AuthorDate: Sun Apr 10 17:16:39 2022 +0000 Commit: Florian Schmaus gentoo org> CommitDate: Fri Apr 15 09:35:05 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d606af42 dev-java/netty: initial import Replacement for netty-{common,buffer,transport} Bug: https://bugs.gentoo.org/827221 Bug: https://bugs.gentoo.org/827919 Bug: https://bugs.gentoo.org/831191 Signed-off-by: Volkmar W. Pogatzki pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/24963 Signed-off-by: Florian Schmaus gentoo.org> dev-java/netty/Manifest | 1 + dev-java/netty/metadata.xml | 14 +++ dev-java/netty/netty-4.1.35.ebuild | 206 +++++++++++++++++++++++++++++++++++++ 3 files changed, 221 insertions(+) diff --git a/dev-java/netty/Manifest b/dev-java/netty/Manifest new file mode 100644 index 000000000000..8338d35bb737 --- /dev/null +++ b/dev-java/netty/Manifest @@ -0,0 +1 @@ +DIST netty-4.1.35.Final.tar.gz 2447958 BLAKE2B 133adc2b37d3e681d11ac2e0187c0f79bb7aeeb6c622a1bf6e66a35bb78cd5730eeeffccfb960948f2e1df5dfadaa44f62b6f354c03065493ae43e1399a5ba2e SHA512 c3ba4e34ae9d309118ff3517467ffc218136789b06287d747b57df08be84779dacf5e29b19157afecd759a3516bc346e434295291b3dd546f80c4ae7c3f0a3ca diff --git a/dev-java/netty/metadata.xml b/dev-java/netty/metadata.xml new file mode 100644 index 000000000000..aead41605905 --- /dev/null +++ b/dev-java/netty/metadata.xml @@ -0,0 +1,14 @@ + + + + + java@gentoo.org + Java + + + netty/netty + + + Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers and clients. + + diff --git a/dev-java/netty/netty-4.1.35.ebuild b/dev-java/netty/netty-4.1.35.ebuild new file mode 100644 index 000000000000..fdc4a3046307 --- /dev/null +++ b/dev-java/netty/netty-4.1.35.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Skeleton command: +# java-ebuilder --generate-ebuild --workdir . --pom common/pom.xml --download-uri https://codeload.github.com/netty/netty/tar.gz/netty-4.1.35.Final --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild netty-4.1.35.ebuild + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="io.netty:netty:4.1.35.Final" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Async event-driven framework for high performance network applications" +HOMEPAGE="https://netty.io/" +SRC_URI="https://codeload.github.com/netty/netty/tar.gz/netty-${PV}.Final -> ${P}.Final.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +# We do not build the full range of modules provided by netty but only what +# was available before in netty-common, netty-buffer and netty-transport. +# Further modules might be added to the array. +modules=( + "common" + "resolver" + "buffer" + "transport" +) + +# Common dependencies +# POM: common/pom.xml +# commons-logging:commons-logging:1.2 -> >=dev-java/commons-logging-1.2:0 +# log4j:log4j:1.2.17 -> >=dev-java/log4j-1.2.17:0 +# org.apache.logging.log4j:log4j-api:2.6.2 -> >=dev-java/log4j-api-2.17.1:2 +# org.jctools:jctools-core:2.1.1 -> !!!suitable-mavenVersion-not-found!!! +# org.slf4j:slf4j-api:1.7.21 -> >=dev-java/slf4j-api-1.7.32:0 + +# "Failed to load class org.slf4j.impl.StaticLoggerBinder" +# Using slf4j-simple instead of slf4j-api solves it. +# https://www.slf4j.org/codes.html +CP_DEPEND=" + dev-java/commons-logging:0 + dev-java/jctools-core:0 + dev-java/log4j-12-api:2 + dev-java/slf4j-simple:0 +" + +# Compile dependencies +# POM: common/pom.xml +# test? ch.qos.logback:logback-classic:1.1.7 -> !!!groupId-not-found!!! +# test? io.netty:netty-build:25 -> !!!artifactId-not-found!!! +# test? io.netty:netty-dev-tools:4.1.35.Final -> !!!artifactId-not-found!!! +# test? junit:junit:4.12 -> >=dev-java/junit-4.13.2:4 +# test? org.apache.logging.log4j:log4j-core:2.6.2 -> >=dev-java/log4j-core-2.17.1:2 +# test? org.hamcrest:hamcrest-library:1.3 -> >=dev-java/hamcrest-library-1.3:1.3 +# test? org.javassist:javassist:3.20.0-GA -> !!!groupId-not-found!!! +# test? org.mockito:mockito-core:2.18.3 -> >=dev-java/mockito-4.4.0:4 + +DEPEND=" + >=virtual/jdk-1.8:* + ${CP_DEPEND} + test? ( + dev-java/javassist:3 + dev-java/hamcrest-library:1.3 + dev-java/logback-classic:0 + dev-java/log4j-core:2 + dev-java/mockito:4 + ) +" + +RDEPEND=" + >=virtual/jre-1.8:* + ${CP_DEPEND}" + +S="${WORKDIR}/netty-netty-${PV}.Final" + +JAVA_TEST_GENTOO_CLASSPATH="hamcrest-library-1.3,javassist-3,junit-4,logback-classic,log4j-core-2,mockito-4" + +# There were 12 failures: +# 1) testCompositeDirectBuffer(io.netty.buffer.ByteBufAllocatorTest) +# java.lang.InstantiationException +# at java.base/jdk.internal.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48) +# +# FAILURES!!! +# Tests run: 10015, Failures: 12 + +# There was 1 failure: +# 1) initializationError(io.netty.channel.BaseChannelTest) +# org.junit.runners.model.InvalidTestClassError: Invalid test class 'io.netty.channel.BaseChannelTest': +# 1. The class io.netty.channel.BaseChannelTest is not public. +# 2. Test class should have exactly one public constructor +# 3. No runnable methods +# +# FAILURES!!! +# Tests run: 10277, Failures: 1 + +JAVA_TEST_EXCLUDES=( + "io.netty.buffer.ByteBufAllocatorTest" + "io.netty.channel.BaseChannelTest" +) + +src_prepare() { + default + + sed \ + -e 's:verifyZeroInteractions:verifyNoInteractions:' \ + -i buffer/src/test/java/io/netty/buffer/UnpooledTest.java \ + -i transport/src/test/java/io/netty/channel/CompleteChannelFutureTest.java || die + + # transport/src/test/java/io/netty/channel/PendingWriteQueueTest.java:262: error: reference to assertEquals is ambiguous + # assertEquals(1L, channel.readOutbound()); + # ^ + # both method assertEquals(long,long) in Assert and method assertEquals(Object,Object) in Assert match + rm transport/src/test/java/io/netty/channel/PendingWriteQueueTest.java || die +} + +src_compile() { + # We loop over the modules list and compile the jar files. + for module in "${modules[@]}" ; do \ + + JAVA_SRC_DIR="" + JAVA_RESOURCE_DIRS="" + JAVA_MAIN_CLASS="" + + echo "compiling $module" + + JAVA_SRC_DIR=( + "$module/src/main/java" + "$module/src/module" + ) + + # Not all of the modules have resources. + if [[ -d $module/src/main/resources ]]; then \ + JAVA_RESOURCE_DIRS="$module/src/main/resources" + fi + + JAVA_JAR_FILENAME="$module.jar" + + java-pkg-simple_src_compile + + JAVA_GENTOO_CLASSPATH_EXTRA+=":$module.jar" + + rm -r target || die + + done + + if use doc; then + + JAVA_SRC_DIR="" + JAVA_JAR_FILENAME="ignoreme.jar" + + for module in "${modules[@]}" ; do \ + + # Some modules don't have source code + if [[ -d $module/src/main/java/io ]]; then \ + JAVA_SRC_DIR+=( "$module/src/main/java" ) + fi + + done + + java-pkg-simple_src_compile + fi +} + +src_test() { + for module in "${modules[@]}" ; do \ + + JAVA_TEST_SRC_DIR="$module/src/test/java" + JAVA_TEST_RESOURCE_DIRS="" + + # Not all of the modules have test resources. + if [[ -d $module/src/test/resources ]]; then \ + JAVA_TEST_RESOURCE_DIRS="$module/src/test/resources" + fi + + java-pkg-simple_src_test + + done +} + +src_install() { + einstalldocs # https://bugs.gentoo.org/789582 + + for module in "${modules[@]}" ; do \ + + JAVA_MAIN_CLASS=$( sed -n 's:.*\(.*\):\1:p' $module/pom.xml ) + java-pkg_dojar $module.jar + + # Some modules don't have source code + if [[ -d $module/src/main/java/org ]]; then \ + + if use source; then + java-pkg_dosrc "$module/src/main/java/*" + fi + + fi + + done + + if use doc; then + java-pkg_dojavadoc target/api + fi +}