summaryrefslogtreecommitdiff
path: root/dev-java/freenet-ext
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-java/freenet-ext
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-java/freenet-ext')
-rw-r--r--dev-java/freenet-ext/Manifest1
-rw-r--r--dev-java/freenet-ext/files/freenet-ext-29-convert-jcpuid.patch46
-rw-r--r--dev-java/freenet-ext/files/freenet-ext-29-csrc.patch132
-rw-r--r--dev-java/freenet-ext/freenet-ext-29-r3.ebuild124
-rw-r--r--dev-java/freenet-ext/metadata.xml5
5 files changed, 308 insertions, 0 deletions
diff --git a/dev-java/freenet-ext/Manifest b/dev-java/freenet-ext/Manifest
new file mode 100644
index 000000000000..196e8c487def
--- /dev/null
+++ b/dev-java/freenet-ext/Manifest
@@ -0,0 +1 @@
+DIST freenet-ext-29.tar.gz 4328779 BLAKE2B a9dc6dc34d6dbccc9f89c955f35b35024a7067aa8e89cf195492e77a8ebc92b73cc98e779c7f75ba6a430e994e856937be018a6505e1cda07eeea275925ee0e7 SHA512 11cf0942042483403cf526684a18c2b1766d3f6fb15c2ca4bdb59d95382ed86fcdb71a66d9f43a504abf3ca5c53f9da749086e462bbb56826beb95a2a7f1cbfa
diff --git a/dev-java/freenet-ext/files/freenet-ext-29-convert-jcpuid.patch b/dev-java/freenet-ext/files/freenet-ext-29-convert-jcpuid.patch
new file mode 100644
index 000000000000..e4c84b58ffee
--- /dev/null
+++ b/dev-java/freenet-ext/files/freenet-ext-29-convert-jcpuid.patch
@@ -0,0 +1,46 @@
+Backported from:
+
+From ec11ea4ca73646a790f20adf8ded2e48dedd96e5 Mon Sep 17 00:00:00 2001
+From: scintilla <scintilla>
+Date: Sun, 19 Dec 2004 06:25:27 +0000
+Subject: [PATCH] * Convert native jcpuid code from C++ to C. This should
+ alleviate build problems experienced by some users.
+
+--- /dev/null
++++ b/jcpuid/src/jcpuid.c
+@@ -0,0 +1,35 @@
++#include "jcpuid.h"
++
++//Executes the indicated subfunction of the CPUID operation
++JNIEXPORT jobject JNICALL Java_freenet_support_CPUInformation_CPUID_doCPUID
++ (JNIEnv * env, jclass cls, jint iFunction)
++{
++ int a,b,c,d;
++ jclass clsResult = (*env)->FindClass(env, "freenet/support/CPUInformation/CPUID$CPUIDResult");
++ jmethodID constructor = (*env)->GetMethodID(env, clsResult,"<init>","(IIII)V" );
++ #ifdef _MSC_VER
++ //Use MSVC assembler notation
++ _asm
++ {
++ mov eax, iFunction
++ cpuid
++ mov a, eax
++ mov b, ebx
++ mov c, ecx
++ mov d, edx
++ }
++ #else
++ //Use GCC assembler notation
++ asm
++ (
++ "cpuid"
++ : "=a" (a),
++ "=b" (b),
++ "=c"(c),
++ "=d"(d)
++ :"a"(iFunction)
++ );
++ #endif
++ return (*env)->NewObject(env, clsResult,constructor,a,b,c,d);
++}
++
diff --git a/dev-java/freenet-ext/files/freenet-ext-29-csrc.patch b/dev-java/freenet-ext/files/freenet-ext-29-csrc.patch
new file mode 100644
index 000000000000..d8838f7f3c87
--- /dev/null
+++ b/dev-java/freenet-ext/files/freenet-ext-29-csrc.patch
@@ -0,0 +1,132 @@
+Adopt patches from dev-java/fec which had sources in a dev-space hosted tarball
+
+--- a/fec/src/csrc/Makefile
++++ b/fec/src/csrc/Makefile
+@@ -21,32 +21,28 @@ fec: libfec8.so libfec16.so test.c
+ $(CC) $(CFLAGS) -DGF_BITS=8 -o fec fec8.o test.c
+
+ libfec8.so: fec8.o fec8-jinterf.o
+- $(CC) $(LDFLAGS) -shared fec8-jinterf.o fec8.o -o libfec8.so
++ $(CC) $(LDFLAGS) -shared fec8-jinterf.o fec8.o -o libfec8.so \
++ -Wl,-soname=libfec8.so
+
+ fec8-jinterf.o: fec-jinterf.c
+ $(CC) $(CFLAGS) -DGF_BITS=8 -c \
+ -I$(JAVA_HOME)/include/linux fec-jinterf.c \
+ -o fec8-jinterf.o
+
+-fec8.o: fec.h fec8.S
+- $(CC) $(CFLAGS) -DGF_BITS=8 -c -o fec8.o fec8.S
+-
+-fec8.S: fec.c Makefile
+- $(CC) $(CFLAGS) -DGF_BITS=8 -S -o fec8.S fec.c
++fec8.o: fec.h fec.c
++ $(CC) $(CFLAGS) -DGF_BITS=8 -c -o fec8.o fec.c
+
+ libfec16.so: fec16.o fec16-jinterf.o
+- $(CC) $(LDFLAGS) -shared fec16-jinterf.o fec16.o -o libfec16.so
++ $(CC) $(LDFLAGS) -shared fec16-jinterf.o fec16.o -o libfec16.so \
++ -Wl,-soname=libfec16.so
+
+ fec16-jinterf.o: fec-jinterf.c
+ $(CC) $(CFLAGS) -DGF_BITS=16 -c \
+ -I$(JAVA_HOME)/include/linux fec-jinterf.c \
+ -o fec16-jinterf.o
+
+-fec16.o: fec.h fec16.S
+- $(CC) $(CFLAGS) -DGF_BITS=16 -c -o fec16.o fec16.S
+-
+-fec16.S: fec.c Makefile
+- $(CC) $(CFLAGS) -DGF_BITS=16 -S -o fec16.S fec.c
++fec16.o: fec.h fec.c
++ $(CC) $(CFLAGS) -DGF_BITS=16 -c -o fec16.o fec.c
+
+ clean:
+ - rm -f *.o *.S fec *.so
+--- a/fec/src/csrc/Makefile.nmake
++++ b/fec/src/csrc/Makefile.nmake
+@@ -1,42 +1,42 @@
+-MAKE=nmake -f Makefile.nmake
+-
+-CPP=cl.exe
+-
+-CPP_OPTS=/nologo /I $(JAVA_HOME)/include /I $(JAVA_HOME)/include/win32 \
+- /D WIN32 /D _WINDOWS /D _MBCS /D _USRDLL /D FEC_EXPORTS /D GF_BITS=$(BITS) \
+- /D inline=__inline
+-
+-CPP_OPTS=/MT /W3 /Ot /D NDEBUG $(CPP_OPTS)
+-
+-LIBS=kernel32.lib user32.lib
+-
+-LDFLAGS=$(LIBS) /nologo /dll /incremental:no \
+- /out:fec$(BITS).dll /implib:fec$(BITS).lib \
+- /OPT:REF /MAP /DEF:fec$(BITS).def
+-
+-LD=link.exe
+-
+-LDOBJS= fec$(BITS).obj fec$(BITS)-jinterf.obj
+-
+-all: release-all
+-
+-feclib: fec$(BITS).dll
+-
+-release-all:
+- $(MAKE) BITS=8 MODE=Release feclib
+- $(MAKE) BITS=16 MODE=Release feclib
+-
+-clean:
+- del *.dll *.obj *.lib *.pdb *.exp *.map
+-
+-fec$(BITS).dll : $(DEF_FILE) $(LDOBJS)
+- $(LD) $(LDFLAGS) $(LDOBJS)
+-
+-fec$(BITS).obj : fec.c
+- $(CPP) $(CPP_OPTS) /Fo"fec$(BITS).obj" /c fec.c
+-
+-fec$(BITS)-jinterf.obj : fec-jinterf.c
+- $(CPP) $(CPP_OPTS) /Fo"fec$(BITS)-jinterf.obj" /c fec-jinterf.c
+-
+-.c.obj::
+- $(CPP) $(CPP_OPTS) /c $<
++MAKE=nmake -f Makefile.nmake
++
++CPP=cl.exe
++
++CPP_OPTS=/nologo /I $(JAVA_HOME)/include /I $(JAVA_HOME)/include/win32 \
++ /D WIN32 /D _WINDOWS /D _MBCS /D _USRDLL /D FEC_EXPORTS /D GF_BITS=$(BITS) \
++ /D inline=__inline
++
++CPP_OPTS=/MT /W3 /Ot /D NDEBUG $(CPP_OPTS)
++
++LIBS=kernel32.lib user32.lib
++
++LDFLAGS=$(LIBS) /nologo /dll /incremental:no \
++ /out:fec$(BITS).dll /implib:fec$(BITS).lib \
++ /OPT:REF /MAP /DEF:fec$(BITS).def
++
++LD=link.exe
++
++LDOBJS= fec$(BITS).obj fec$(BITS)-jinterf.obj
++
++all: release-all
++
++feclib: fec$(BITS).dll
++
++release-all:
++ $(MAKE) BITS=8 MODE=Release feclib
++ $(MAKE) BITS=16 MODE=Release feclib
++
++clean:
++ del *.dll *.obj *.lib *.pdb *.exp *.map
++
++fec$(BITS).dll : $(DEF_FILE) $(LDOBJS)
++ $(LD) $(LDFLAGS) $(LDOBJS)
++
++fec$(BITS).obj : fec.c
++ $(CPP) $(CPP_OPTS) /Fo"fec$(BITS).obj" /c fec.c
++
++fec$(BITS)-jinterf.obj : fec-jinterf.c
++ $(CPP) $(CPP_OPTS) /Fo"fec$(BITS)-jinterf.obj" /c fec-jinterf.c
++
++.c.obj::
++ $(CPP) $(CPP_OPTS) /c $<
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..7c33a73bd2f6
--- /dev/null
+++ b/dev-java/freenet-ext/freenet-ext-29-r3.ebuild
@@ -0,0 +1,124 @@
+# 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"
+
+# Since 29-r3 we include java/org/spaceroots which is described
+# in http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html and
+# was previously built from SRC_URI="mirror://gentoo/${P}.tar.bz2".
+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
+}
diff --git a/dev-java/freenet-ext/metadata.xml b/dev-java/freenet-ext/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/dev-java/freenet-ext/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>