summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-02-10 07:19:54 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-02-10 07:19:54 +0000
commitac2ece26e61f211aa4fa7cfcd836db96e72d49c6 (patch)
tree2f8f31006571d7344fa7f719d65105a5cfa6b337 /dev-java
parent3551bea47a505008607ab68a8e2bd256f9d2f92c (diff)
downloadbaldeagleos-repo-ac2ece26e61f211aa4fa7cfcd836db96e72d49c6.tar.gz
baldeagleos-repo-ac2ece26e61f211aa4fa7cfcd836db96e72d49c6.tar.xz
baldeagleos-repo-ac2ece26e61f211aa4fa7cfcd836db96e72d49c6.zip
Adding metadata
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/bcel/Manifest4
-rw-r--r--dev-java/bcel/bcel-6.11.0.ebuild106
-rw-r--r--dev-java/byte-buddy/Manifest1
-rw-r--r--dev-java/byte-buddy/byte-buddy-1.18.4.ebuild103
-rw-r--r--dev-java/commons-daemon/Manifest2
-rw-r--r--dev-java/commons-daemon/commons-daemon-1.5.1.ebuild60
-rw-r--r--dev-java/commons-daemon/files/commons-daemon-1.5.1-gentoo.patch18
-rw-r--r--dev-java/commons-exec/commons-exec-1.6.0.ebuild2
-rw-r--r--dev-java/freenet-ext/freenet-ext-29-r3.ebuild120
9 files changed, 415 insertions, 1 deletions
diff --git a/dev-java/bcel/Manifest b/dev-java/bcel/Manifest
index cb2f13b811a3..3806f8dc12e2 100644
--- a/dev-java/bcel/Manifest
+++ b/dev-java/bcel/Manifest
@@ -1,2 +1,6 @@
DIST bcel-6.10.0-src.tar.gz 1085294 BLAKE2B d2d3a0824ec45a5f47282a7255915ba0c891d5fc20ee37f4bba3b8ca5e8b61f6bdf47ed8903e60dbb96d253b8df1d79761888227880d44444f8b7fe24dca0853 SHA512 7ea129a048bf510ed15212a17680dfa37fe8c4adcc75504fa9a6ff35ef97d25f267547ad019fe146cd2fea9a3ef0eaca432d4c9cac7570ba5e68897f21c29a14
DIST bcel-6.10.0-src.tar.gz.asc 488 BLAKE2B c575c3f68f06538dc8d34dccf6dd157824b6ecf8b7a1f0a220fe1828a1546ecfb46699f1374c9dd90bf89d9b311ce48f8d4b9e45818764d5f078817a17573557 SHA512 a19a5a6702c9d8d38733af6d983da6c60dac910f8ef3f4c6daae8e6ebe7bdd0ccc9029bad7af78984979e62cdc63d50e6f3a4ef02f409212fde1479465901863
+DIST bcel-6.11.0-src.tar.gz 1178240 BLAKE2B 3342667cdfb00d79801ca095bf00796ff19d3452d9736fb60c118a1727b969cc439b5d6a62e196414a1f07fc8b17fef3ef4c03446e5acb8ce3ad45397225c35b SHA512 bb081b15620bd31c10c9f0c2e3b9c0c3c6cb474402fee6bb2f61a8897184e3682fa5f9d46b7e7b0e7d09e0e86f79c9926d95ee155abffd396f3168b30d505efe
+DIST bcel-6.11.0-src.tar.gz.asc 488 BLAKE2B 0b7a1f593958a1293f4c6e96cccc1558b74e3b4f6df4eef5a221fb453d0b81cb4c14401bebd59a05415e61e6679aa0774b80972f53544bd84eab6f7c6cdb38cf SHA512 d1a1b7cb3e0eead5f26a83564a1af4caa02dc8263a3aa7de51af5b790fb6e39c793b8b0a51c295046abcc8067b178bf415c5a4f8b0c4027041457f23a17274ac
+DIST commons-lang-2.6.jar 284220 BLAKE2B 4a5db0451ca79c5b038592d41cbf774ea80bb2da0afbf5212cffa8b3904d84ccd2cbe02d29143d0565fde828d011dbc25f5a8b780f6ffea1b0a1290485118671 SHA512 4a5a3dbe4941c645e2cca068cca5c1882cfe988b02e7cd981d1e51784900767d1deab0e0e0566f559c9fcabb4a180e436d5bb948902d4f4106f37360466afb42
+DIST kotlin-stdlib-2.2.20.jar 1761444 BLAKE2B 417e1b8d1a59d1db16906034faafd439b55f4451d5d6dbc2edf210a29cb739b601d732c8f6dd3940c15529f91aad19b3f0dc79511ea6642428b52d6e5d555ad2 SHA512 22075ba5931e86fcf471249b88593f0651a356a71a2f3152e25effca9a7420a1562579877aca40c98f625bf5a35fa983393a939cb54bbb4c58de13676254d62d
diff --git a/dev-java/bcel/bcel-6.11.0.ebuild b/dev-java/bcel/bcel-6.11.0.ebuild
new file mode 100644
index 000000000000..77ccf8dd6132
--- /dev/null
+++ b/dev-java/bcel/bcel-6.11.0.ebuild
@@ -0,0 +1,106 @@
+# 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
+
+CLV="2.6" # commons-lang:2.6 was removed some time ago
+KSLV="2.2.20" # kotlin-stdlib is presently not packaged
+
+DESCRIPTION="Apache Commons Bytecode Engineering Library"
+HOMEPAGE="https://commons.apache.org/proper/commons-bcel/"
+SRC_URI="mirror://apache/commons/bcel/source/${P}-src.tar.gz
+ verify-sig? ( mirror://apache/commons/bcel/source/${P}-src.tar.gz.asc )
+ test? (
+ https://repo1.maven.org/maven2/commons-lang/commons-lang/${CLV}/commons-lang-${CLV}.jar
+ https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/${KSLV}/kotlin-stdlib-${KSLV}.jar
+ )
+ "
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x64-macos ~x64-solaris"
+
+BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-apache-commons-20251102 )"
+CP_DEPEND="
+ >=dev-java/commons-io-2.21.0:0
+ >=dev-java/commons-lang-3.20.0:0
+"
+DEPEND="
+ ${CP_DEPEND}
+ || ( virtual/jdk:26 virtual/jdk:25 virtual/jdk:21 virtual/jdk:17 virtual/jdk:11 )
+ test? (
+ >=dev-java/asm-9.9.1:0
+ >=dev-java/byte-buddy-1.18.2:0
+ >=dev-java/commons-collections-4.5.0:4
+ >=dev-java/commons-exec-1.6.0:0
+ dev-java/eclipse-ecj:4.20
+ >=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/mockito-5.21.0:0
+ >=dev-java/opentest4j-1.3.0-r1:0
+ >=dev-java/wsdl4j-1.6.3:0
+ )
+"
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( NOTICE.txt RELEASE-NOTES.txt )
+
+JAVA_GENTOO_CLASSPATH_EXTRA=":${DISTDIR}/commons-lang-${CLV}.jar"
+JAVA_GENTOO_CLASSPATH_EXTRA+=":${DISTDIR}/kotlin-stdlib-${KSLV}.jar"
+JAVA_INTERMEDIATE_JAR_NAME="org.apache.${PN/-/.}"
+JAVA_MODULE_INFO_OUT="src/main"
+JAVA_SRC_DIR="src/main/java"
+# These 9 test-classes, if we run them, would result in 26 test failures from a total of 178 tests.
+JAVA_TEST_EXCLUDES=(
+ org.apache.bcel.classfile.ConstantPoolModuleAccessTest
+ org.apache.bcel.classfile.ConstantPoolModuleToStringTest
+ org.apache.bcel.classfile.ConstantPoolTest
+ org.apache.bcel.CounterVisitorTest
+ org.apache.bcel.generic.EmptyVisitorTest
+ org.apache.bcel.generic.MethodGenTest
+ org.apache.bcel.LocalVariableTypeTableTest
+ org.apache.bcel.PLSETest
+ org.apache.bcel.verifier.VerifierMainTest
+)
+JAVA_TEST_GENTOO_CLASSPATH="asm byte-buddy commons-collections-4 commons-exec
+ commons-io eclipse-ecj-4.20 jmh-core jna jsr305 junit-5 mockito opentest4j"
+JAVA_TEST_RESOURCE_DIRS=( src/test/resources src/test/java )
+JAVA_TEST_SRC_DIR="src/test/java"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+
+src_unpack() {
+ use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}-src.tar.gz{,.asc}
+ default
+}
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ # src/test/java/org/apache/bcel/util/BCELifierTest.java:255: error: cannot find symbol
+ # @DisabledForJreRange(min = JRE.JAVA_25)
+ # ^
+ # symbol: variable JAVA_25
+ # location: class JRE
+ rm src/test/java/org/apache/bcel/util/BCELifierTest.java || die "remove test"
+
+ # Error: Modules wsdl4j and java.xml export package javax.xml.namespace to module org.mockito
+ rm src/test/java/org/apache/bcel/verifier/VerifierTest.java || die
+
+ # These 2 test classes would pass, but then fail verification:
+ # * Verifying test classes' dependencies
+ # Exception in thread "main" com.sun.tools.jdeps.Dependencies$ClassFileError: Bad magic number
+ # Caused by: java.lang.IllegalArgumentException: Bad magic number
+ rm src/test/java/org/apache/bcel/verifier/VerifierArrayAccessTest.java || die
+ rm src/test/java/org/apache/bcel/verifier/VerifierReturnTest.java || die
+}
diff --git a/dev-java/byte-buddy/Manifest b/dev-java/byte-buddy/Manifest
index b8388cc51c64..7f79ec52797c 100644
--- a/dev-java/byte-buddy/Manifest
+++ b/dev-java/byte-buddy/Manifest
@@ -1 +1,2 @@
DIST byte-buddy-1.18.2.tar.gz 2143401 BLAKE2B 3480d8596e58141296fe920ffe43036088e5b6b1d094dc900fa63b175db6d801395fa209edfa0e97f33e1176c0ac21b1855a1d7460da95695f326042c5fad004 SHA512 f741c5a87ea5b8129b12de481147802eb4ac6d42386deadb7ed67fc8f97f4904baa6b710095f5ce5d24553d675ec005cb76e6fbfeb35dd1223f475011ab7e1ee
+DIST byte-buddy-1.18.4.tar.gz 2146007 BLAKE2B 070c968c047ee689b3415ff26bc7cf1b143127105edb23a2f33a7653c1c813579f1d1344a58e70db6d63bede43f5543255074e3abddabbb5abc6316fd6dc573e SHA512 2e63b5b4c1db702af63c44ac4bf92a2857d7300ae86ca01c09ffcb7aa12c6729a7d739ba675859b7806bc5f1d45d735fbed4a0de8807a8e699763a0972f2a9fd
diff --git a/dev-java/byte-buddy/byte-buddy-1.18.4.ebuild b/dev-java/byte-buddy/byte-buddy-1.18.4.ebuild
new file mode 100644
index 000000000000..4f704f1ea179
--- /dev/null
+++ b/dev-java/byte-buddy/byte-buddy-1.18.4.ebuild
@@ -0,0 +1,103 @@
+# 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-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Offers convenience for attaching an agent to the local or a remote VM"
+HOMEPAGE="https://bytebuddy.net"
+SRC_URI="https://github.com/raphw/byte-buddy/archive/${P}.tar.gz"
+S="${WORKDIR}/byte-buddy-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+# Min java 11 because of module-info.
+DEPEND="
+ >=dev-java/asm-9.9.1:0
+ >=dev-java/asm-jdk-bridge-0.0.13:0
+ >=dev-java/findbugs-annotations-3.0.1:0
+ >=dev-java/jna-5.18.1:0
+ >=dev-java/jsr305-3.0.2-r1:0
+ || ( virtual/jdk:26 virtual/jdk:25 virtual/jdk:21 virtual/jdk:17 virtual/jdk:11 )
+ test? (
+ >=dev-java/mockito-2.28.2-r1:2
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_CLASSPATH_EXTRA="asm asm-jdk-bridge findbugs-annotations jna jsr305"
+JAVADOC_CLASSPATH="${JAVA_CLASSPATH_EXTRA}"
+JAVADOC_SRC_DIRS=( byte-buddy{,-agent}/src/main/java )
+
+src_prepare() {
+ java-pkg_clean ! -path "./byte-buddy-dep/src/test/*" # Keep test-classes
+ java-pkg-2_src_prepare
+
+ # instead of shading byte-buddy-dep we move it into byte-buddy.
+ mv byte-buddy{-dep,}/src/main/java || die "cannot move sources"
+}
+
+src_compile() {
+ einfo "Compiling byte-buddy-agent.jar"
+ JAVA_INTERMEDIATE_JAR_NAME="net.bytebuddy.agent"
+ JAVA_JAR_FILENAME="byte-buddy-agent.jar"
+ JAVA_MODULE_INFO_OUT="byte-buddy-agent/src/main"
+ JAVA_RESOURCE_DIRS="byte-buddy-agent/src/main/resources"
+ JAVA_SRC_DIR="byte-buddy-agent/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy-agent.jar"
+ rm -r target || die
+
+ einfo "Compiling byte-buddy.jar"
+ JAVA_INTERMEDIATE_JAR_NAME="net.bytebuddy"
+ JAVA_JAR_FILENAME="byte-buddy.jar"
+ JAVA_MODULE_INFO_OUT="byte-buddy/src/main"
+ JAVA_MAIN_CLASS="net.bytebuddy.build.Plugin\$Engine\$Default"
+ JAVA_RESOURCE_DIRS=()
+ JAVA_SRC_DIR="byte-buddy/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":byte-buddy.jar"
+ rm -r target || die
+
+ use doc && ejavadoc
+}
+
+src_test() {
+ # instead of shading byte-buddy-dep we move it into byte-buddy.
+ mv byte-buddy{-dep,}/src/test || die "cannot move tests"
+
+ JAVAC_ARGS="-g"
+ JAVA_TEST_GENTOO_CLASSPATH="asm asm-jdk-bridge junit-4 mockito-2"
+
+ einfo "Testing byte-buddy-agent"
+ # https://github.com/raphw/byte-buddy/issues/1321#issuecomment-1252776459
+ JAVA_TEST_EXTRA_ARGS=( -Dnet.bytebuddy.test.jnapath="${EPREFIX}/usr/$(get_libdir)/jna/" )
+ JAVA_TEST_SRC_DIR="byte-buddy-agent/src/test/java"
+ java-pkg-simple_src_test
+
+ einfo "Testing byte-buddy"
+ JAVA_TEST_RESOURCE_DIRS=( byte-buddy/src/test/{resources,precompiled*} )
+ JAVA_TEST_SRC_DIR="byte-buddy/src/test/java"
+
+ JAVA_TEST_EXCLUDES=(
+ # all tests in this class fail, https://bugs.gentoo.org/863386
+ net.bytebuddy.build.CachedReturnPluginTest
+ )
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg_dojar "byte-buddy-agent.jar"
+ java-pkg-simple_src_install
+
+ if use source; then
+ java-pkg_dosrc "byte-buddy-agent/src/main/java/*"
+ java-pkg_dosrc "byte-buddy/src/main/java/*"
+ fi
+}
diff --git a/dev-java/commons-daemon/Manifest b/dev-java/commons-daemon/Manifest
index 1966f9cfe8e9..54094e25afc8 100644
--- a/dev-java/commons-daemon/Manifest
+++ b/dev-java/commons-daemon/Manifest
@@ -1,2 +1,4 @@
DIST commons-daemon-1.4.1-src.tar.gz 292677 BLAKE2B 04fad8602d4a65d9d13f2e96efb6ec20facec6c1c7d891ee70098c4da926a50aa101425de684474f426e9c27f2cb0a6834501b3aa9afc63e58747d2146428b79 SHA512 948d176922e3d7d0843e9e8d6bdba653b367b3d4d87dc96e600bfe6a8721c1d813584116773e4a32740424e276b93c1808e0b644ee79e21b23b23d1b08b5569a
DIST commons-daemon-1.4.1-src.tar.gz.asc 833 BLAKE2B 1e87505fb8e7dea9c104a076eddb6d40ce475a304c3acc1da597a0df325c0a08eff2ca9bc182afb90add2d6a141be89210c4a2ff1fcb4f6c514716354aaf8162 SHA512 1c96a307dce04554db68adae65eacaea561b662aaf4c9b9e275d53161220687dd65ccf0fbab725de777d3ba67b1c16c2e639d55c4b61ae333ad1bd275b7ba013
+DIST commons-daemon-1.5.1-src.tar.gz 396628 BLAKE2B 90d40aa1c7a992c26eabe76be323725900c999c62c75d49470025dcbfe218ec3a3dfbe2a45bce1efcb7bbb624ae2539b124b7513a66b84bd43b0b89df72a4b9d SHA512 7d2b0c8a4ac8241b2f561e12f3731ecd7d7b828242fdeafa509653d92f4838fe24a0a7b6b361684b7f707eb3044ded79d789878bbe89e04b883c2197f5a36652
+DIST commons-daemon-1.5.1-src.tar.gz.asc 833 BLAKE2B 6af4510929a5945c016ded7d186d282c504d9b5b08ced2a9486a928c3e21502b2baf1acfa70960224df613b7ba74ceeb518739b4dededa16721b0c33735b1174 SHA512 8d2675db4e8b9211a235bdbaff933a7328c1332cecdaefcef1758bb983b44b7220cdb47b2fd24e7bd7681fd96b4dbe8d872b0f25b572c8c2ab3c0960a2378a3b
diff --git a/dev-java/commons-daemon/commons-daemon-1.5.1.ebuild b/dev-java/commons-daemon/commons-daemon-1.5.1.ebuild
new file mode 100644
index 000000000000..041194a5b3bb
--- /dev/null
+++ b/dev-java/commons-daemon/commons-daemon-1.5.1.ebuild
@@ -0,0 +1,60 @@
+# 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 toolchain-funcs verify-sig
+
+DESCRIPTION="Tools to allow Java programs to run as UNIX daemons"
+HOMEPAGE="https://commons.apache.org/proper/commons-daemon/"
+SRC_URI="mirror://apache/commons/daemon/source/${P}-src.tar.gz
+ verify-sig? ( mirror://apache/commons/daemon/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+DEPEND="
+ >=virtual/jdk-11:*
+ test? (
+ dev-java/junit:5[-vintage]
+ >=dev-java/opentest4j-1.3.0-r1:0
+ )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {CONTRIBUTING,README}.md {HOWTO-RELEASE,NOTICE,RELEASE-NOTES}.txt )
+HTML_DOCS=( PROPOSAL.html )
+PATCHES=(
+ "${FILESDIR}/commons-daemon-1.3.1-Make.patch"
+ "${FILESDIR}/commons-daemon-1.5.1-gentoo.patch"
+)
+
+JAVA_INTERMEDIATE_JAR_NAME="org.apache.${PN/-/.}"
+JAVA_MODULE_INFO_OUT="src/main"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-5 opentest4j"
+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
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+ cd src/native/unix || die
+ ./configure
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ dobin src/native/unix/jsvc
+}
diff --git a/dev-java/commons-daemon/files/commons-daemon-1.5.1-gentoo.patch b/dev-java/commons-daemon/files/commons-daemon-1.5.1-gentoo.patch
new file mode 100644
index 000000000000..cc302dbec102
--- /dev/null
+++ b/dev-java/commons-daemon/files/commons-daemon-1.5.1-gentoo.patch
@@ -0,0 +1,18 @@
+--- a/src/native/unix/native/jsvc.h
++++ b/src/native/unix/native/jsvc.h
+@@ -25,15 +25,7 @@
+ #include <sys/stat.h>
+
+ /* Definitions for booleans */
+-#ifdef OS_DARWIN
+ #include <stdbool.h>
+-#else
+-typedef enum {
+- false,
+- true
+-} bool;
+-#endif
+-
+ #include "version.h"
+ #include "debug.h"
+ #include "arguments.h"
diff --git a/dev-java/commons-exec/commons-exec-1.6.0.ebuild b/dev-java/commons-exec/commons-exec-1.6.0.ebuild
index 50b76c6111bc..7f990b0b813a 100644
--- a/dev-java/commons-exec/commons-exec-1.6.0.ebuild
+++ b/dev-java/commons-exec/commons-exec-1.6.0.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${P}-src"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
BDEPEND="
test? ( app-admin/sudo )
diff --git a/dev-java/freenet-ext/freenet-ext-29-r3.ebuild b/dev-java/freenet-ext/freenet-ext-29-r3.ebuild
new file mode 100644
index 000000000000..69e5bab9fe4c
--- /dev/null
+++ b/dev-java/freenet-ext/freenet-ext-29-r3.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2023-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"
+
+inherit flag-o-matic java-pkg-2 java-pkg-simple toolchain-funcs
+
+DESCRIPTION="Freenet REference Daemon"
+HOMEPAGE="https://github.com/hyphanet/contrib/"
+SRC_URI="https://github.com/hyphanet/contrib/archive/v${PV}.tar.gz -> freenet-ext-${PV}.tar.gz"
+S="${WORKDIR}/contrib-${PV}"
+
+LICENSE="public-domain"
+SLOT="29"
+KEYWORDS="~amd64 ~arm64"
+
+DEPEND="
+ dev-libs/gmp:0=
+ >=dev-java/log4j-12-api-2.25.2:0
+ >=virtual/jdk-1.8:*
+"
+RDEPEND="
+ !dev-java/fec:0
+ !<net-p2p/freenet-0.7.5_p1505-r1:0
+ !dev-java/mersennetwister:0
+ dev-libs/gmp
+ >=virtual/jre-1.8:*
+"
+
+PATCHES=(
+ "${FILESDIR}/freenet-ext-29-convert-jcpuid.patch"
+ "${FILESDIR}/freenet-ext-29-csrc.patch"
+)
+
+JAVA_CLASSPATH_EXTRA="log4j-12-api"
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR=(
+ fec/{src,common/{src,tools}}
+ freenet_ext
+ java/{freenet,net/i2p}
+ java/org/spaceroots
+)
+JAVA_TEST_GENTOO_CLASSPATH="junit"
+JAVA_TEST_SRC_DIR="fec/common/test/src"
+
+src_prepare() {
+ default # bug #780585
+ java-pkg-2_src_prepare
+ mkdir -p res/lib || die
+ mv {fec/lib,res/lib}/fec.properties || die
+}
+
+src_compile() {
+ java-pkg-simple_src_compile
+
+ local compile_lib
+ compile_lib() {
+ local name="${1}"
+ local file="${2}"
+ shift 2
+
+ "$(tc-getCC)" "${@}" ${CFLAGS} $(java-pkg_get-jni-cflags) \
+ ${LDFLAGS} -shared -fPIC "-Wl,-soname,lib${name}.so" \
+ "${file}" -o "lib${name}.so"
+ }
+
+ cd "${S}/NativeBigInteger/jbigi" || die "unable to cd to jbigi"
+ compile_lib jbigi src/jbigi.c -Iinclude -lgmp ||
+ die "unable to build jbigi"
+
+ if use amd64 || use x86; then
+ cd "${S}/jcpuid" || die "unable to cd to jcpuid"
+ compile_lib jcpuid src/jcpuid.c -Iinclude ||
+ die "unable to build jcpuid"
+ fi
+
+ cd "${S}"/fec/src/csrc || die
+ append-flags -fPIC
+ emake CC=$(tc-getCC) CFLAGS="${CFLAGS} $(java-pkg_get-jni-cflags)"
+}
+
+src_test () {
+ # fec/common/test/src/com/onionnetworks/util/BlockDigestInputStreamTest.java:47: error: ')' expected
+ # assert("Equal Hashes",Util.arraysEqual(buf.b,buf.off,
+ # ^
+ # fec/common/test/src/com/onionnetworks/util/BlockDigestInputStreamTest.java:48: error: ';' expected
+ # md.digest(),0,buf.len));
+ # ^
+ # fec/common/test/src/com/onionnetworks/util/BzeroTest.java:24: error: ')' expected
+ # assert("Empty: off="+off+",len="+len,checkArray(b2,b,off,len));
+ # ^
+ # fec/common/test/src/com/onionnetworks/util/BzeroTest.java:24: error: ';' expected
+ # assert("Empty: off="+off+",len="+len,checkArray(b2,b,off,len));
+ # ^
+ # fec/common/test/src/com/onionnetworks/util/BzeroTest.java:37: error: ')' expected
+ # assert("Filled : off="+off+",len="+len,checkArray(b2,b,off,len));
+ # ^
+ # fec/common/test/src/com/onionnetworks/util/BzeroTest.java:37: error: ';' expected
+ # assert("Filled : off="+off+",len="+len,checkArray(b2,b,off,len));
+ # ^
+ # 6 errors
+ rm fec/common/test/src/com/onionnetworks/util/BlockDigestInputStreamTest.java || die
+ rm fec/common/test/src/com/onionnetworks/util/BzeroTest.java || die
+
+ # only 3 tests are run while " grep -nr 'public void test' " gives 38 matches
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_doso NativeBigInteger/jbigi/libjbigi.so
+ java-pkg_doso fec/src/csrc/libfec{8,16}.so
+
+ if use amd64 || use x86; then
+ java-pkg_doso jcpuid/libjcpuid.so
+ fi
+}