diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
| commit | b590c8d7572b727d565cc0b8ff660d43569845de (patch) | |
| tree | 06f7a4102ea4e845df8b66660f252920d52952f9 /dev-java/freenet-ext | |
| parent | 24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff) | |
| download | baldeagleos-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/Manifest | 1 | ||||
| -rw-r--r-- | dev-java/freenet-ext/files/freenet-ext-29-convert-jcpuid.patch | 46 | ||||
| -rw-r--r-- | dev-java/freenet-ext/files/freenet-ext-29-csrc.patch | 132 | ||||
| -rw-r--r-- | dev-java/freenet-ext/freenet-ext-29-r3.ebuild | 124 | ||||
| -rw-r--r-- | dev-java/freenet-ext/metadata.xml | 5 |
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> |
