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?

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
          <property name="dist.os" value="${os.name}"/>
          
          <!-- Resolve an architecture to use in release names. -->
-@@ -427,6 +430,7 @@
+@@ -440,6 +443,7 @@
          <condition property="make.name" value="gmake">
              <or>
                  <isset property="is.freebsd"/>
@@ -21,7 +22,7 @@ Index: build.xml
                  <isset property="is.solaris"/>
              </or>
          </condition>
-@@ -444,6 +448,7 @@
+@@ -457,6 +461,7 @@
              <or>
                  <isset property="is.linux"/>
                  <isset property="is.freebsd"/>
@@ -29,7 +30,16 @@ Index: build.xml
                  <isset property="is.solaris"/>
              </or>
          </condition>
-@@ -1846,6 +1851,10 @@ wrapper.filter.action.999=NONE]]></replacevalue>
+@@ -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]]></replacevalue>
          <release-delta-extract-platform osname="linux"   osarch="armel"     
bits="32" wrapperbinhead="wrapper" wrapperbintail=""     
wrapperlibhead="libwrapper" wrapperlibtail=".so"     archivetype="tar.gz"/>
          <release-delta-extract-platform osname="linux"   osarch="armhf"     
bits="32" wrapperbinhead="wrapper" wrapperbintail=""     
wrapperlibhead="libwrapper" wrapperlibtail=".so"     archivetype="tar.gz"/>
          <release-delta-extract-platform osname="linux"   osarch="arm"       
bits="64" wrapperbinhead="wrapper" wrapperbintail=""     
wrapperlibhead="libwrapper" wrapperlibtail=".so"     archivetype="tar.gz"/>
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 <sys/errno.h>
    #include <sys/fcntl.h>
   #elif defined(AIX) || defined(HPUX) || defined(MACOSX)
@@ -12,7 +12,7 @@ Index: src/c/wrapper.c
    #include <sys/param.h>
    #include <errno.h>
   #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 <sys/timeb.h>
++#ifndef OPENBSD
+ #include <sys/timeb.h>
++#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 <pthread.h>
- #include <pwd.h>
+Index: src/c/wrapper_unix.c
+--- src/c/wrapper_unix.c.orig
++++ src/c/wrapper_unix.c
+@@ -56,7 +56,9 @@
+  #include <sys/filio.h> /* for FIONREAD */
+ #endif
  #include <sys/resource.h>
--#include <sys/timeb.h>
++#ifndef OPENBSD
+ #include <sys/timeb.h>
++#endif
  #include <sys/types.h>
  #include <sys/stat.h>
  #include <sys/wait.h>
-@@ -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<String, String> 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/[email protected]
 -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.

Reply via email to