On 2025/12/21 19:57, 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

Not a user of either of these ports, but it makes complete sense.
ok with me.

> 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