commit:     806cbe374151d4f965568d2acf7e998230fd0655
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Jul 24 07:43:24 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb  4 18:39:32 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=806cbe37

dev-java/freenet-ext: add 29-r2 using log4j-12-api-2.25.2:0

also, re-include onionnetworks-fec

Bug: https://bugs.gentoo.org/936539
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Part-of: https://github.com/gentoo/gentoo/pull/45569
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../freenet-ext/files/freenet-ext-29-csrc.patch    | 132 +++++++++++++++++++++
 dev-java/freenet-ext/freenet-ext-29-r2.ebuild      | 118 ++++++++++++++++++
 2 files changed, 250 insertions(+)

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-r2.ebuild 
b/dev-java/freenet-ext/freenet-ext-29-r2.ebuild
new file mode 100644
index 000000000000..dd3aa430595d
--- /dev/null
+++ b/dev-java/freenet-ext/freenet-ext-29-r2.ebuild
@@ -0,0 +1,118 @@
+# 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_p1503-r2: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_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
+}

Reply via email to