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 +}
