From: Pascal Stumpf Subject: Re: java.port.mk, net/i2p, java/tanukiwrapper: Updates To: Kurt Miller Cc: ian@openbsd.org, ports@openbsd.org, sthen@openbsd.org Date: Mon, 22 Dec 2025 21:57:15 +0100 On Sun, 21 Dec 2025 19:57:30 +0000, Kurt Miller wrote: > This is a three part diff: > > 1. Allow ports that use MODJAVA to override MODJAVA_RUN_DEPENDS > 2. Update java/tanukiwrapper to 3.6.3 and use jdk 11 to build > 3. Update net/i2p to use jdk 17 and latest tanukiwrapper > > java/tanukiwrapper is only used by net/i2p, however it could be > used by something in the future. It is basically a fancy daemon(3) > like program to be used with java applications. The jdk it uses is > defined by the application that uses it. In other words, by itself > it does nothing useful. It needs to be used by another java > application and that other application defines what jdk it needs. > > So I want this port to be installed without a run depend on java. > Having a run depend means it may bring in a jdk that is not needed > for the application that uses it. For example, now that net/i2p runs > with jdk-17, leaving a run depend of 11 or 11+ on tanukiwrapper means > jdk 11 may also be installed and not needed. Hence the change to > java.port.mk to allow tanukiwrapper to set MODJAVA_RUN_DEPENDS= > and stop the run depend on jdk 11. > > java/tanukiwrapper: Update to 3.6.3 and use jdk 11 to build > * Fix misspelled directory name > * clean up patches > > net/i2p: Update to use jdk 17 and latest tanukiwrapper > * Dont build the installer - we dont install or use it > * Dont read /proc/cpuinfo and set opt to ARMV8 on aarch64 > * Update config to use corrected tanukiwrapper dir name > and remove no longer supported stripquotes option > > i2p was warning that upcoming releases will require jdk 17, so > I decided to move it there now to squash that warning. > > ok for each of the three parts? Reads and works fine. OK. > Index: devel/jdk/java.port.mk > =================================================================== > RCS file: /cvs/ports/devel/jdk/java.port.mk,v > diff -u -p -u -r1.45 java.port.mk > --- devel/jdk/java.port.mk 3 Nov 2025 13:39:29 -0000 1.45 > +++ devel/jdk/java.port.mk 21 Dec 2025 19:29:00 -0000 > @@ -55,9 +55,9 @@ MODJAVA_VER?= > .endif > > .if ${MODJAVA_VER:M*+} > - MODJAVA_RUN_DEPENDS= ${MODJAVA_BUILD_DEPENDS:C/,.*:/:/} > + MODJAVA_RUN_DEPENDS?= ${MODJAVA_BUILD_DEPENDS:C/,.*:/:/} > .else > - MODJAVA_RUN_DEPENDS= ${MODJAVA_BUILD_DEPENDS} > + MODJAVA_RUN_DEPENDS?= ${MODJAVA_BUILD_DEPENDS} > .endif > RUN_DEPENDS+= ${MODJAVA_RUN_DEPENDS} > > Index: java/tanukiwrapper/Makefile > =================================================================== > RCS file: /cvs/ports/java/tanukiwrapper/Makefile,v > diff -u -p -u -r1.27 Makefile > --- java/tanukiwrapper/Makefile 26 Sep 2023 11:47:58 -0000 1.27 > +++ java/tanukiwrapper/Makefile 21 Dec 2025 19:29:00 -0000 > @@ -1,7 +1,6 @@ > COMMENT= Tanuki Java Service Wrapper > > -V= 3.5.49 > -REVISION= 0 > +V= 3.6.3 > DISTNAME= wrapper_${V}_src > PKGNAME= java-tanukiwrapper-${V} > CATEGORIES= java > @@ -14,9 +13,12 @@ SITES= https://download.tanukisoftware. > PERMIT_PACKAGE= Yes > > MODULES= java > -MODJAVA_VER= 1.8 > +MODJAVA_VER= 11 > MODJAVA_BUILD= ant > > +# The application which uses this defines what jdk it will run with > +MODJAVA_RUN_DEPENDS= > + > .if ${MACHINE_ARCH} == "i386" > BITS=32 > .else > @@ -44,17 +46,17 @@ USE_GMAKE= Yes > SUBST_VARS+= CC CFLAGS > > post-extract: > - cp ${FILESDIR}/Makefile-openbsd-${MAKE_ARCH}.gmake ${WRKSRC}/src/c/ > + cp ${FILESDIR}/Makefile-openbsd-*.gmake ${WRKSRC}/src/c/ > > pre-configure: > ${SUBST_CMD} ${WRKSRC}/src/c/Makefile-openbsd-${MAKE_ARCH}.gmake > > do-install: > ${INSTALL_DATA_DIR} ${PREFIX}/share/java/classes/ \ > - ${PREFIX}/lib/tanukuwrapper/ > + ${PREFIX}/lib/tanukiwrapper/ > ${INSTALL_DATA} ${WRKSRC}/lib/wrapper.jar \ > ${PREFIX}/share/java/classes/tanukiwrapper.jar > - ${INSTALL_PROGRAM} ${WRKSRC}/lib/libwrapper.so ${PREFIX}/lib/tanukuwrapper/ > + ${INSTALL_PROGRAM} ${WRKSRC}/lib/libwrapper.so ${PREFIX}/lib/tanukiwrapper/ > ${INSTALL_PROGRAM} ${WRKSRC}/bin/wrapper ${PREFIX}/sbin/tanukiwrapper > > do-test: > Index: java/tanukiwrapper/distinfo > =================================================================== > RCS file: /cvs/ports/java/tanukiwrapper/distinfo,v > diff -u -p -u -r1.7 distinfo > --- java/tanukiwrapper/distinfo 8 Mar 2022 00:55:13 -0000 1.7 > +++ java/tanukiwrapper/distinfo 21 Dec 2025 19:29:00 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (wrapper_3.5.49_src.tar.gz) = gcScF5LIqWVBv8erI3hG5tt5BZPO2XlhFACz1Y60+v4= > -SIZE (wrapper_3.5.49_src.tar.gz) = 774890 > +SHA256 (wrapper_3.6.3_src.tar.gz) = e8Wtie0ho5tKTtVI3+kvxYeu1A5sdQWacTCfuAQv9YA= > +SIZE (wrapper_3.6.3_src.tar.gz) = 902583 > Index: java/tanukiwrapper/files/Makefile-openbsd-arm-64.gmake > =================================================================== > RCS file: /cvs/ports/java/tanukiwrapper/files/Makefile-openbsd-arm-64.gmake,v > diff -u -p -u -r1.1 Makefile-openbsd-arm-64.gmake > --- java/tanukiwrapper/files/Makefile-openbsd-arm-64.gmake 31 Oct 2021 13:00:03 -0000 1.1 > +++ java/tanukiwrapper/files/Makefile-openbsd-arm-64.gmake 21 Dec 2025 19:29:00 -0000 > @@ -1,4 +1,4 @@ > -# Copyright (c) 1999, 2013 Tanuki Software, Ltd. > +# Copyright (c) 1999, 2025 Tanuki Software, Ltd. > # http://www.tanukisoftware.com > # All rights reserved. > # > @@ -7,13 +7,13 @@ > # license agreement you entered into with Tanuki Software. > # http://wrapper.tanukisoftware.com/doc/english/licenseOverview.html > > -CC = ${CC} -Wall -fPIC -pedantic -DOPENBSD -DJSW64 -I${LOCALBASE}/include -L${LOCALBASE}/lib -liconv -DUNICODE -D_UNICODE > +CC = ${CC} -Wall -pedantic -Wno-strict-prototypes -DOPENBSD -DJSW64 -fPIC -I${LOCALBASE}/include -DUNICODE -D_UNICODE > > INCLUDE=$(JAVA_HOME)/include > > CFLAGS = ${CFLAGS} -I$(INCLUDE) -I$(INCLUDE)/openbsd > > -wrapper_SOURCE = wrapper.c wrapperinfo.c wrappereventloop.c wrapper_unix.c property.c logger.c logger_file.c wrapper_file.c wrapper_i18n.c wrapper_hashmap.c wrapper_ulimit.c wrapper_encoding.c wrapper_jvminfo.c > +wrapper_SOURCE = wrapper.c wrapperinfo.c wrappereventloop.c wrapper_jvm_launch.c wrapper_unix.c property.c logger.c logger_file.c wrapper_file.c wrapper_i18n.c wrapper_hashmap.c wrapper_ulimit.c wrapper_encoding.c wrapper_jvminfo.c wrapper_secure_file.c wrapper_sysinfo.c wrapper_cipher.c wrapper_cipher_base.c > > libwrapper_so_OBJECTS = wrapper_i18n.o wrapperjni_unix.o wrapperinfo.o wrapperjni.o loggerjni.o > > @@ -33,10 +33,10 @@ init: > if test ! -d .deps; then mkdir .deps; fi > > wrapper: $(wrapper_SOURCE) > - $(CC) $(wrapper_SOURCE) -lm -rdynamic -lc -pthread -o $(BIN)/wrapper > + $(CC) $(wrapper_SOURCE) -lm -rdynamic -L${LOCALBASE}/lib -liconv -lc -pthread -o $(BIN)/wrapper > > libwrapper.so: $(libwrapper_so_OBJECTS) > - $(CC) -shared -rdynamic -lc -pthread $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so > + $(CC) -shared -rdynamic -L${LOCALBASE}/lib -liconv -lc -pthread $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so > > #%.o: %.c > # $(COMPILE) -c $(DEFS) $< > Index: java/tanukiwrapper/files/Makefile-openbsd-sparc-64.gmake > =================================================================== > RCS file: /cvs/ports/java/tanukiwrapper/files/Makefile-openbsd-sparc-64.gmake,v > diff -u -p -u -r1.1 Makefile-openbsd-sparc-64.gmake > --- java/tanukiwrapper/files/Makefile-openbsd-sparc-64.gmake 18 Jul 2021 15:34:18 -0000 1.1 > +++ java/tanukiwrapper/files/Makefile-openbsd-sparc-64.gmake 21 Dec 2025 19:29:00 -0000 > @@ -1,4 +1,4 @@ > -# Copyright (c) 1999, 2013 Tanuki Software, Ltd. > +# Copyright (c) 1999, 2025 Tanuki Software, Ltd. > # http://www.tanukisoftware.com > # All rights reserved. > # > @@ -7,13 +7,13 @@ > # license agreement you entered into with Tanuki Software. > # http://wrapper.tanukisoftware.com/doc/english/licenseOverview.html > > -CC = ${CC} -Wall -fPIC -pedantic -DOPENBSD -DJSW64 -I${LOCALBASE}/include -L${LOCALBASE}/lib -liconv -DUNICODE -D_UNICODE > +CC = ${CC} -Wall -pedantic -Wno-strict-prototypes -DOPENBSD -DJSW64 -fPIC -I${LOCALBASE}/include -DUNICODE -D_UNICODE > > INCLUDE=$(JAVA_HOME)/include > > CFLAGS = ${CFLAGS} -I$(INCLUDE) -I$(INCLUDE)/openbsd > > -wrapper_SOURCE = wrapper.c wrapperinfo.c wrappereventloop.c wrapper_unix.c property.c logger.c logger_file.c wrapper_file.c wrapper_i18n.c wrapper_hashmap.c wrapper_ulimit.c wrapper_encoding.c wrapper_jvminfo.c > +wrapper_SOURCE = wrapper.c wrapperinfo.c wrappereventloop.c wrapper_jvm_launch.c wrapper_unix.c property.c logger.c logger_file.c wrapper_file.c wrapper_i18n.c wrapper_hashmap.c wrapper_ulimit.c wrapper_encoding.c wrapper_jvminfo.c wrapper_secure_file.c wrapper_sysinfo.c wrapper_cipher.c wrapper_cipher_base.c > > libwrapper_so_OBJECTS = wrapper_i18n.o wrapperjni_unix.o wrapperinfo.o wrapperjni.o loggerjni.o > > @@ -33,10 +33,10 @@ init: > if test ! -d .deps; then mkdir .deps; fi > > wrapper: $(wrapper_SOURCE) > - $(CC) $(wrapper_SOURCE) -lm -rdynamic -lc -pthread -o $(BIN)/wrapper > + $(CC) $(wrapper_SOURCE) -lm -rdynamic -L${LOCALBASE}/lib -liconv -lc -pthread -o $(BIN)/wrapper > > libwrapper.so: $(libwrapper_so_OBJECTS) > - $(CC) -shared -rdynamic -lc -pthread $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so > + $(CC) -shared -rdynamic -L${LOCALBASE}/lib -liconv -lc -pthread $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so > > #%.o: %.c > # $(COMPILE) -c $(DEFS) $< > Index: java/tanukiwrapper/files/Makefile-openbsd-x86-32.gmake > =================================================================== > RCS file: /cvs/ports/java/tanukiwrapper/files/Makefile-openbsd-x86-32.gmake,v > diff -u -p -u -r1.6 Makefile-openbsd-x86-32.gmake > --- java/tanukiwrapper/files/Makefile-openbsd-x86-32.gmake 21 May 2021 11:51:08 -0000 1.6 > +++ java/tanukiwrapper/files/Makefile-openbsd-x86-32.gmake 21 Dec 2025 19:29:00 -0000 > @@ -1,4 +1,4 @@ > -# Copyright (c) 1999, 2013 Tanuki Software, Ltd. > +# Copyright (c) 1999, 2025 Tanuki Software, Ltd. > # http://www.tanukisoftware.com > # All rights reserved. > # > @@ -7,13 +7,13 @@ > # license agreement you entered into with Tanuki Software. > # http://wrapper.tanukisoftware.com/doc/english/licenseOverview.html > > -CC = ${CC} -Wall -fPIC -pedantic -DOPENBSD -I${LOCALBASE}/include -L${LOCALBASE}/lib -liconv -DUNICODE -D_UNICODE > +CC = ${CC} -Wall -pedantic -Wno-strict-prototypes -DOPENBSD -fPIC -I${LOCALBASE}/include -DUNICODE -D_UNICODE > > INCLUDE=$(JAVA_HOME)/include > > CFLAGS = ${CFLAGS} -I$(INCLUDE) -I$(INCLUDE)/openbsd > > -wrapper_SOURCE = wrapper.c wrapperinfo.c wrappereventloop.c wrapper_unix.c property.c logger.c logger_file.c wrapper_file.c wrapper_i18n.c wrapper_hashmap.c wrapper_ulimit.c wrapper_encoding.c wrapper_jvminfo.c > +wrapper_SOURCE = wrapper.c wrapperinfo.c wrappereventloop.c wrapper_jvm_launch.c wrapper_unix.c property.c logger.c logger_file.c wrapper_file.c wrapper_i18n.c wrapper_hashmap.c wrapper_ulimit.c wrapper_encoding.c wrapper_jvminfo.c wrapper_secure_file.c wrapper_sysinfo.c wrapper_cipher.c wrapper_cipher_base.c > > libwrapper_so_OBJECTS = wrapper_i18n.o wrapperjni_unix.o wrapperinfo.o wrapperjni.o loggerjni.o > > @@ -33,10 +33,10 @@ init: > if test ! -d .deps; then mkdir .deps; fi > > wrapper: $(wrapper_SOURCE) > - $(CC) $(wrapper_SOURCE) -lm -rdynamic -lc -pthread -o $(BIN)/wrapper > + $(CC) $(wrapper_SOURCE) -lm -rdynamic -L${LOCALBASE}/lib -liconv -lc -pthread -o $(BIN)/wrapper > > libwrapper.so: $(libwrapper_so_OBJECTS) > - $(CC) -shared -rdynamic -lc -pthread $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so > + $(CC) -shared -rdynamic -L${LOCALBASE}/lib -liconv -lc -pthread $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so > > #%.o: %.c > # $(COMPILE) -c $(DEFS) $< > Index: java/tanukiwrapper/files/Makefile-openbsd-x86-64.gmake > =================================================================== > RCS file: /cvs/ports/java/tanukiwrapper/files/Makefile-openbsd-x86-64.gmake,v > diff -u -p -u -r1.5 Makefile-openbsd-x86-64.gmake > --- java/tanukiwrapper/files/Makefile-openbsd-x86-64.gmake 4 Nov 2020 20:45:00 -0000 1.5 > +++ java/tanukiwrapper/files/Makefile-openbsd-x86-64.gmake 21 Dec 2025 19:29:00 -0000 > @@ -1,4 +1,4 @@ > -# Copyright (c) 1999, 2013 Tanuki Software, Ltd. > +# Copyright (c) 1999, 2025 Tanuki Software, Ltd. > # http://www.tanukisoftware.com > # All rights reserved. > # > @@ -7,13 +7,13 @@ > # license agreement you entered into with Tanuki Software. > # http://wrapper.tanukisoftware.com/doc/english/licenseOverview.html > > -CC = ${CC} -Wall -fPIC -pedantic -DOPENBSD -DJSW64 -I${LOCALBASE}/include -L${LOCALBASE}/lib -liconv -DUNICODE -D_UNICODE > +CC = ${CC} -Wall -pedantic -Wno-strict-prototypes -DOPENBSD -DJSW64 -fPIC -I${LOCALBASE}/include -DUNICODE -D_UNICODE > > INCLUDE=$(JAVA_HOME)/include > > CFLAGS = ${CFLAGS} -I$(INCLUDE) -I$(INCLUDE)/openbsd > > -wrapper_SOURCE = wrapper.c wrapperinfo.c wrappereventloop.c wrapper_unix.c property.c logger.c logger_file.c wrapper_file.c wrapper_i18n.c wrapper_hashmap.c wrapper_ulimit.c wrapper_encoding.c wrapper_jvminfo.c > +wrapper_SOURCE = wrapper.c wrapperinfo.c wrappereventloop.c wrapper_jvm_launch.c wrapper_unix.c property.c logger.c logger_file.c wrapper_file.c wrapper_i18n.c wrapper_hashmap.c wrapper_ulimit.c wrapper_encoding.c wrapper_jvminfo.c wrapper_secure_file.c wrapper_sysinfo.c wrapper_cipher.c wrapper_cipher_base.c > > libwrapper_so_OBJECTS = wrapper_i18n.o wrapperjni_unix.o wrapperinfo.o wrapperjni.o loggerjni.o > > @@ -33,10 +33,10 @@ init: > if test ! -d .deps; then mkdir .deps; fi > > wrapper: $(wrapper_SOURCE) > - $(CC) $(wrapper_SOURCE) -lm -rdynamic -lc -pthread -o $(BIN)/wrapper > + $(CC) $(wrapper_SOURCE) -lm -rdynamic -L${LOCALBASE}/lib -liconv -lc -pthread -o $(BIN)/wrapper > > libwrapper.so: $(libwrapper_so_OBJECTS) > - $(CC) -shared -rdynamic -lc -pthread $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so > + $(CC) -shared -rdynamic -L${LOCALBASE}/lib -liconv -lc -pthread $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so > > #%.o: %.c > # $(COMPILE) -c $(DEFS) $< > Index: java/tanukiwrapper/patches/patch-build_xml > =================================================================== > RCS file: /cvs/ports/java/tanukiwrapper/patches/patch-build_xml,v > diff -u -p -u -r1.7 patch-build_xml > --- java/tanukiwrapper/patches/patch-build_xml 8 Mar 2022 00:55:14 -0000 1.7 > +++ java/tanukiwrapper/patches/patch-build_xml 21 Dec 2025 19:29:00 -0000 > @@ -1,4 +1,5 @@ > define OpenBSD property > +Suppress deprecation warnings > > Index: build.xml > --- build.xml.orig > @@ -13,7 +14,7 @@ Index: build.xml > > > > -@@ -427,6 +430,7 @@ > +@@ -440,6 +443,7 @@ > > > > @@ -21,7 +22,7 @@ Index: build.xml > > > > -@@ -444,6 +448,7 @@ > +@@ -457,6 +461,7 @@ > > > > @@ -29,7 +30,16 @@ Index: build.xml > > > > -@@ -1846,6 +1851,10 @@ wrapper.filter.action.999=NONE]]> > +@@ -633,7 +638,7 @@ > + excludes="testmodule/**/*,module-info.java" > + destdir="${build.classes}" > + nativeheaderdir="${build.headers}" > +- deprecation="on" > ++ deprecation="off" > + debug="on" > + optimize="on" > + includeantruntime="false" > +@@ -2105,6 +2110,10 @@ wrapper.filter.action.999=NONE]]> > > > > Index: java/tanukiwrapper/patches/patch-default_properties > =================================================================== > RCS file: java/tanukiwrapper/patches/patch-default_properties > diff -N java/tanukiwrapper/patches/patch-default_properties > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ java/tanukiwrapper/patches/patch-default_properties 21 Dec 2025 19:29:00 -0000 > @@ -0,0 +1,14 @@ > +Bump up source/target version > + > +Index: default.properties > +--- default.properties.orig > ++++ default.properties > +@@ -28,7 +28,7 @@ build.compress = false > + junit.failonerror = true > + > + # Minimum version of Java required to build the Wrapper > +-javac.target.version=1.4 > ++javac.target.version=1.6 > + > + # Location of java to build the pre-release > + javac.dir=E:\\j2sdk1.4.2_19 > Index: java/tanukiwrapper/patches/patch-src_c_wrapper_c > =================================================================== > RCS file: /cvs/ports/java/tanukiwrapper/patches/patch-src_c_wrapper_c,v > diff -u -p -u -r1.6 patch-src_c_wrapper_c > --- java/tanukiwrapper/patches/patch-src_c_wrapper_c 8 Mar 2022 00:55:14 -0000 1.6 > +++ java/tanukiwrapper/patches/patch-src_c_wrapper_c 21 Dec 2025 19:29:00 -0000 > @@ -3,7 +3,7 @@ add OpenBSD support > Index: src/c/wrapper.c > --- src/c/wrapper.c.orig > +++ src/c/wrapper.c > -@@ -105,7 +105,7 @@ > +@@ -107,7 +107,7 @@ > #include > #include > #elif defined(AIX) || defined(HPUX) || defined(MACOSX) > @@ -12,7 +12,7 @@ Index: src/c/wrapper.c > #include > #include > #else /* LINUX */ > -@@ -5886,7 +5886,7 @@ int wrapperRunCommonInner() { > +@@ -7417,7 +7417,7 @@ int wrapperRunCommonInner() { > tz1 = tzname[0]; > tz2 = tzname[1]; > #endif > @@ -21,7 +21,7 @@ Index: src/c/wrapper.c > log_printf(WRAPPER_SOURCE_WRAPPER, LEVEL_DEBUG, TEXT("Timezone: %s (%s) Offset: %ld, hasDaylight: %d"), > tz1, tz2, timezone, daylight); > #else > -@@ -6561,7 +6561,7 @@ int checkIfBinary(const TCHAR *filename) { > +@@ -8111,7 +8111,7 @@ int checkIfBinary(const TCHAR *filename) { > log_printf(WRAPPER_SOURCE_WRAPPER, LEVEL_DEBUG, TEXT("Magic number for file %s: 0x%02x%02x%02x%02x"), filename, head[0], head[1], head[2], head[3]); > } > > @@ -30,8 +30,8 @@ Index: src/c/wrapper.c > if (head[1] == 'E' && head[2] == 'L' && head[3] == 'F') { > return 1; /*ELF */ > #elif defined(AIX) > -@@ -8282,7 +8282,7 @@ int wrapperBuildJavaCommandArrayInner(TCHAR **strings, > - > +@@ -10849,7 +10849,7 @@ static int wrapperBuildJavaAdditionals(TCHAR **strings > + static int wrapperBuildAutoBits(TCHAR **strings, int index) { > /* See if the auto bits parameter is set. Ignored by all but the following platforms. */ > > -#if /*defined(WIN32) || defined(LINUX) ||*/ defined(HPUX) || defined(MACOSX) || defined(SOLARIS) || defined(FREEBSD) > @@ -39,7 +39,7 @@ Index: src/c/wrapper.c > > if (wrapperData->javaVersion->major < 9) { > if (getBooleanProperty(properties, > -@@ -8297,6 +8297,8 @@ int wrapperBuildJavaCommandArrayInner(TCHAR **strings, > +@@ -10864,6 +10864,8 @@ static int wrapperBuildAutoBits(TCHAR **strings, int i > TEXT("wrapper.java.additional.auto_bits.solaris"), > #elif defined(FREEBSD) > TEXT("wrapper.java.additional.auto_bits.freebsd"), > Index: java/tanukiwrapper/patches/patch-src_c_wrapper_h > =================================================================== > RCS file: /cvs/ports/java/tanukiwrapper/patches/patch-src_c_wrapper_h,v > diff -u -p -u -r1.4 patch-src_c_wrapper_h > --- java/tanukiwrapper/patches/patch-src_c_wrapper_h 8 Mar 2022 00:55:14 -0000 1.4 > +++ java/tanukiwrapper/patches/patch-src_c_wrapper_h 21 Dec 2025 19:29:00 -0000 > @@ -1,18 +1,22 @@ > OpenBSD doesn't support timeb api > > ---- src/c/wrapper.h.orig Fri Jul 31 18:19:37 2020 > -+++ src/c/wrapper.h Fri Jul 31 18:21:15 2020 > -@@ -51,7 +51,12 @@ > +Index: src/c/wrapper.h > +--- src/c/wrapper.h.orig > ++++ src/c/wrapper.h > +@@ -52,7 +52,16 @@ > #define DWORD unsigned long > #endif > > --#include > ++#ifndef OPENBSD > + #include > ++#else > +struct timeb { > + time_t time; /* seconds since the Epoch */ > + unsigned short millitm; /* + milliseconds since the Epoch */ > + short timezone; /* minutes west of UTC */ > + short dstflag; /* DST == non-zero */ > +}; > ++#endif > > #include "property.h" > #include "wrapper_jvminfo.h" > Index: java/tanukiwrapper/patches/patch-src_c_wrapper_unix_c > =================================================================== > RCS file: /cvs/ports/java/tanukiwrapper/patches/patch-src_c_wrapper_unix_c,v > diff -u -p -u -r1.5 patch-src_c_wrapper_unix_c > --- java/tanukiwrapper/patches/patch-src_c_wrapper_unix_c 8 Mar 2022 00:55:14 -0000 1.5 > +++ java/tanukiwrapper/patches/patch-src_c_wrapper_unix_c 21 Dec 2025 19:29:00 -0000 > @@ -1,17 +1,20 @@ > OpenBSD doesn't support timeb api > add SI_ASYNCIO define > > ---- src/c/wrapper_unix.c.orig Fri Jul 31 18:22:16 2020 > -+++ src/c/wrapper_unix.c Fri Jul 31 18:23:10 2020 > -@@ -51,7 +51,6 @@ > - #include > - #include > +Index: src/c/wrapper_unix.c > +--- src/c/wrapper_unix.c.orig > ++++ src/c/wrapper_unix.c > +@@ -56,7 +56,9 @@ > + #include /* for FIONREAD */ > + #endif > #include > --#include > ++#ifndef OPENBSD > + #include > ++#endif > #include > #include > #include > -@@ -466,8 +465,10 @@ const TCHAR* getSignalCodeDesc(int code) { > +@@ -506,8 +508,10 @@ const TCHAR* getSignalCodeDesc(int code) { > return TEXT("mesq state changed"); > #endif > > Index: java/tanukiwrapper/pkg/PLIST > =================================================================== > RCS file: /cvs/ports/java/tanukiwrapper/pkg/PLIST,v > diff -u -p -u -r1.4 PLIST > --- java/tanukiwrapper/pkg/PLIST 8 Mar 2022 00:55:14 -0000 1.4 > +++ java/tanukiwrapper/pkg/PLIST 21 Dec 2025 19:29:00 -0000 > @@ -1,5 +1,5 @@ > -lib/tanukuwrapper/ > -@so lib/tanukuwrapper/libwrapper.so > +lib/tanukiwrapper/ > +@so lib/tanukiwrapper/libwrapper.so > @bin sbin/tanukiwrapper > share/java/ > share/java/classes/ > Index: net/i2p/Makefile > =================================================================== > RCS file: /cvs/ports/net/i2p/Makefile,v > diff -u -p -u -r1.26 Makefile > --- net/i2p/Makefile 6 Nov 2025 20:43:36 -0000 1.26 > +++ net/i2p/Makefile 21 Dec 2025 19:29:00 -0000 > @@ -3,6 +3,7 @@ COMMENT= i2p routing protocol > V = 2.10.0 > DISTNAME = i2psource_${V} > PKGNAME = i2p-${V} > +REVISION = 0 > > CATEGORIES= net > > @@ -21,13 +22,13 @@ WANTLIB += gmp > SITES = https://files.i2p-projekt.de/${V}/ > > MODULES= java > -MODJAVA_VER= 1.8 > +MODJAVA_VER= 17 > MODJAVA_BUILD= ant > -MODJAVA_BUILD_TARGET_NAME= pkg > +MODJAVA_BUILD_TARGET_NAME=distclean updater preppkg > > BUILD_DEPENDS= devel/gettext,-tools > RUN_DEPENDS= devel/gettext,-runtime \ > - java/tanukiwrapper > + java/tanukiwrapper>=3.6.3 > LIB_DEPENDS= devel/gmp > > .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" > Index: net/i2p/patches/patch-core_java_src_net_i2p_util_NativeBigInteger_java > =================================================================== > RCS file: net/i2p/patches/patch-core_java_src_net_i2p_util_NativeBigInteger_java > diff -N net/i2p/patches/patch-core_java_src_net_i2p_util_NativeBigInteger_java > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ net/i2p/patches/patch-core_java_src_net_i2p_util_NativeBigInteger_java 21 Dec 2025 19:29:00 -0000 > @@ -0,0 +1,14 @@ > +Dont try to read /proc/cpuinfo and set opt to ARMV8 on aarch64 > + > +Index: core/java/src/net/i2p/util/NativeBigInteger.java > +--- core/java/src/net/i2p/util/NativeBigInteger.java.orig > ++++ core/java/src/net/i2p/util/NativeBigInteger.java > +@@ -441,6 +441,8 @@ public class NativeBigInteger extends BigInteger { > + } else if (_isArm) { > + if (_isWin) > + return null; > ++ if (_isOpenbsd && _is64) > ++ return JBIGI_OPTIMIZATION_ARM_ARMV8; > + Map cpuinfo = getCPUInfo(); > + String implementer = cpuinfo.get("cpu implementer"); > + String part = cpuinfo.get("cpu part"); > Index: net/i2p/patches/patch-installer_resources_i2prouter > =================================================================== > RCS file: /cvs/ports/net/i2p/patches/patch-installer_resources_i2prouter,v > diff -u -p -u -r1.2 patch-installer_resources_i2prouter > --- net/i2p/patches/patch-installer_resources_i2prouter 8 Mar 2022 00:56:24 -0000 1.2 > +++ net/i2p/patches/patch-installer_resources_i2prouter 21 Dec 2025 19:29:00 -0000 > @@ -3,8 +3,9 @@ set proper path for log and temp dirs > remove link to internal wrapper - doesn't work > set link to tanukiwrapper > > ---- installer/resources/i2prouter.orig Mon May 25 18:07:52 2020 > -+++ installer/resources/i2prouter Sat Aug 1 01:12:28 2020 > +Index: installer/resources/i2prouter > +--- installer/resources/i2prouter.orig > ++++ installer/resources/i2prouter > @@ -28,7 +28,7 @@ > # Note that (percent)INSTALL_PATH, (percent)USER_HOME, and (percent)SYSTEM_java_io_tmpdir > # should have been replaced by the izpack installer. > @@ -35,20 +36,3 @@ set link to tanukiwrapper > WRAPPER_CONF="$I2P/wrapper.config" > > # Priority at which to run the wrapper. See "man nice" for valid priorities. > -@@ -548,14 +548,14 @@ outputFile() { > - } > - > - setup_openbsd() { > -- if ! pkg_info -qe 'java-tanukiwrapper->=3.5.19'; then > -+ if ! pkg_info -qe 'tanukiwrapper->=3.5.19'; then > - echo "Java wrapper not found. Either:" > - echo "- install the package java-tanukiwrapper then start I2P again; or" > - echo "- start I2P with $I2P/runplain.sh" > - exit 1 > - else > - # Wrapper package is installed so let's try copying the bits into the proper places > -- pkg_path=$(pkg_info -v java-tanukiwrapper | awk '/^@cwd/{print $2}') > -+ pkg_path=$(pkg_info -v tanukiwrapper | awk '/^@cwd/{print $2}') > - if [ -z $pkg_path ]; then > - # Fallback, but we shouldn't end up here > - echo "Unable to locate ${WRAPPER_CMD} in ${I2P}!" > Index: net/i2p/patches/patch-installer_resources_wrapper_config > =================================================================== > RCS file: /cvs/ports/net/i2p/patches/patch-installer_resources_wrapper_config,v > diff -u -p -u -r1.3 patch-installer_resources_wrapper_config > --- net/i2p/patches/patch-installer_resources_wrapper_config 6 Feb 2025 16:46:04 -0000 1.3 > +++ net/i2p/patches/patch-installer_resources_wrapper_config 21 Dec 2025 19:29:00 -0000 > @@ -2,6 +2,7 @@ path to java binary > add proper classpaths for i2p and wrapper > add library path for wrapper > set runtime dirs > +remove stripquotes for newer wrapper > > Index: installer/resources/wrapper.config > --- installer/resources/wrapper.config.orig > @@ -15,7 +16,7 @@ Index: installer/resources/wrapper.confi > # Specify a specific java binary: > #set.JAVA_HOME=/java/path > #wrapper.java.command=%JAVA_HOME%/bin/java > -@@ -60,13 +60,13 @@ wrapper.java.mainclass=org.tanukisoftware.wrapper.Wrap > +@@ -60,22 +60,23 @@ wrapper.java.mainclass=org.tanukisoftware.wrapper.Wrap > # classes, or all the classes of i2p.jar, are in a different directory). > # Be sure there are no other duplicate classes. > # > @@ -28,24 +29,37 @@ Index: installer/resources/wrapper.confi > # Java Library Path (location of Wrapper.DLL or libwrapper.so) > -wrapper.java.library.path.1=$INSTALL_PATH > -wrapper.java.library.path.2=$INSTALL_PATH/lib > -+wrapper.java.library.path.1=${LOCALBASE}/lib/tanukuwrapper > ++wrapper.java.library.path.1=${LOCALBASE}/lib/tanukiwrapper > +wrapper.java.library.path.2=${LOCALBASE}/share/i2p/lib > > # Java Bits. On applicable platforms, tells the JVM to run in 32 or 64-bit mode. > wrapper.java.additional.auto_bits=FALSE > -@@ -74,8 +74,14 @@ wrapper.java.additional.auto_bits=FALSE > + > # Java Additional Parameters > - # Numbers must be consecutive (except for stripquotes) > +-# Numbers must be consecutive (except for stripquotes) > wrapper.java.additional.1=-DloggerFilenameOverride=logs/log-router-@.txt > -wrapper.java.additional.2=-Di2p.dir.base="$INSTALL_PATH" > -+wrapper.java.additional.2=-Di2p.dir.base="${LOCALBASE}/share/i2p" > - wrapper.java.additional.2.stripquotes=TRUE > -+wrapper.java.additional.3=-Di2p.dir.app="${DB_DIR}" > -+wrapper.java.additional.3.stripquotes=TRUE > -+wrapper.java.additional.4=-Di2p.dir.config="${DB_DIR}" > -+wrapper.java.additional.4.stripquotes=TRUE > -+wrapper.java.additional.5=-Di2p.dir.router="${DB_DIR}" > -+wrapper.java.additional.5.stripquotes=TRUE > +-wrapper.java.additional.2.stripquotes=TRUE > ++wrapper.java.additional.2=-Di2p.dir.base=${LOCALBASE}/share/i2p > ++wrapper.java.additional.3=-Di2p.dir.app=${DB_DIR} > ++wrapper.java.additional.4=-Di2p.dir.config=${DB_DIR} > ++wrapper.java.additional.5=-Di2p.dir.router=${DB_DIR} > > # Suppress JNI warning in JRE 24+, and eventual restriction > # See https://openjdk.org/jeps/472 > +@@ -106,12 +107,9 @@ wrapper.java.additional.2.stripquotes=TRUE > + # wrapper.java.additional.8=-Dorg.mortbay.util.FileResource.checkAliases=false > + # PORTABLE installation: > + # uncomment the following > +-#wrapper.java.additional.3=-Di2p.dir.pid="$INSTALL_PATH" > +-#wrapper.java.additional.3.stripquotes=TRUE > +-#wrapper.java.additional.4=-Di2p.dir.temp="$INSTALL_PATH" > +-#wrapper.java.additional.4.stripquotes=TRUE > +-#wrapper.java.additional.5=-Di2p.dir.config="$INSTALL_PATH" > +-#wrapper.java.additional.5.stripquotes=TRUE > ++#wrapper.java.additional.3=-Di2p.dir.pid=$INSTALL_PATH > ++#wrapper.java.additional.4=-Di2p.dir.temp=$INSTALL_PATH > ++#wrapper.java.additional.5=-Di2p.dir.config=$INSTALL_PATH > + # > + # Uncomment this for better performance. > + # If it doesn't work, server mode is not available in your JVM.