Download raw body.
net/i2p, java/tanukiwrapper: jdk 11+ build problems
On Thu, 31 Jul 2025 18:52:17 +0200,
Stuart Henderson <stu@spacehopper.org> wrote:
>
> If someone is interested in i2p, can you please take a look at getting
> tanukiwrapper to build with MODJAVA_VER set to 11 or 11+? Currently with
> that, it fails with
>
> [javac] error: Source option 1.4 is no longer supported. Use 6 or later.
> [javac] error: Target option 1.4 is no longer supported. Use 1.6 or later.
>
Well, because fix of this issue is quite trivial, here a diff which fixes
building on jdk11 and jdk21.
Diff contains changes after make update-pathces.
Ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/java/tanukiwrapper/Makefile,v
diff -u -p -r1.27 Makefile
--- Makefile 26 Sep 2023 11:47:58 -0000 1.27
+++ Makefile 1 Aug 2025 16:34:46 -0000
@@ -1,7 +1,7 @@
COMMENT= Tanuki Java Service Wrapper
V= 3.5.49
-REVISION= 0
+REVISION= 1
DISTNAME= wrapper_${V}_src
PKGNAME= java-tanukiwrapper-${V}
CATEGORIES= java
@@ -14,7 +14,7 @@ SITES= https://download.tanukisoftware.
PERMIT_PACKAGE= Yes
MODULES= java
-MODJAVA_VER= 1.8
+MODJAVA_VER= 11+
MODJAVA_BUILD= ant
.if ${MACHINE_ARCH} == "i386"
Index: patches/patch-build_xml
===================================================================
RCS file: /cvs/ports/java/tanukiwrapper/patches/patch-build_xml,v
diff -u -p -r1.7 patch-build_xml
--- patches/patch-build_xml 8 Mar 2022 00:55:14 -0000 1.7
+++ patches/patch-build_xml 1 Aug 2025 16:34:46 -0000
@@ -29,7 +29,7 @@ Index: build.xml
<isset property="is.solaris"/>
</or>
</condition>
-@@ -1846,6 +1851,10 @@ wrapper.filter.action.999=NONE]]></replacevalue>
+@@ -1844,6 +1849,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: patches/patch-default_properties
===================================================================
RCS file: patches/patch-default_properties
diff -N patches/patch-default_properties
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-default_properties 1 Aug 2025 16:34:46 -0000
@@ -0,0 +1,14 @@
+Compatibilty with JDK11+
+
+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.8
+
+ # Location of java to build the pre-release
+ javac.dir=E:\\j2sdk1.4.2_19
Index: patches/patch-src_c_wrapper_c
===================================================================
RCS file: /cvs/ports/java/tanukiwrapper/patches/patch-src_c_wrapper_c,v
diff -u -p -r1.6 patch-src_c_wrapper_c
--- patches/patch-src_c_wrapper_c 8 Mar 2022 00:55:14 -0000 1.6
+++ patches/patch-src_c_wrapper_c 1 Aug 2025 16:34:46 -0000
@@ -12,7 +12,7 @@ Index: src/c/wrapper.c
#include <sys/param.h>
#include <errno.h>
#else /* LINUX */
-@@ -5886,7 +5886,7 @@ int wrapperRunCommonInner() {
+@@ -5895,7 +5895,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) {
+@@ -6573,7 +6573,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,7 +30,7 @@ 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,
+@@ -8294,7 +8294,7 @@ int wrapperBuildJavaCommandArrayInner(TCHAR **strings,
/* See if the auto bits parameter is set. Ignored by all but the following platforms. */
@@ -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,
+@@ -8309,6 +8309,8 @@ int wrapperBuildJavaCommandArrayInner(TCHAR **strings,
TEXT("wrapper.java.additional.auto_bits.solaris"),
#elif defined(FREEBSD)
TEXT("wrapper.java.additional.auto_bits.freebsd"),
Index: patches/patch-src_c_wrapper_h
===================================================================
RCS file: /cvs/ports/java/tanukiwrapper/patches/patch-src_c_wrapper_h,v
diff -u -p -r1.4 patch-src_c_wrapper_h
--- patches/patch-src_c_wrapper_h 8 Mar 2022 00:55:14 -0000 1.4
+++ patches/patch-src_c_wrapper_h 1 Aug 2025 16:34:46 -0000
@@ -1,8 +1,9 @@
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,12 @@
#define DWORD unsigned long
#endif
Index: patches/patch-src_c_wrapper_unix_c
===================================================================
RCS file: /cvs/ports/java/tanukiwrapper/patches/patch-src_c_wrapper_unix_c,v
diff -u -p -r1.5 patch-src_c_wrapper_unix_c
--- patches/patch-src_c_wrapper_unix_c 8 Mar 2022 00:55:14 -0000 1.5
+++ patches/patch-src_c_wrapper_unix_c 1 Aug 2025 16:34:46 -0000
@@ -1,8 +1,9 @@
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
+Index: src/c/wrapper_unix.c
+--- src/c/wrapper_unix.c.orig
++++ src/c/wrapper_unix.c
@@ -51,7 +51,6 @@
#include <pthread.h>
#include <pwd.h>
@@ -11,7 +12,7 @@ add SI_ASYNCIO define
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
-@@ -466,8 +465,10 @@ const TCHAR* getSignalCodeDesc(int code) {
+@@ -477,8 +476,10 @@ const TCHAR* getSignalCodeDesc(int code) {
return TEXT("mesq state changed");
#endif
net/i2p, java/tanukiwrapper: jdk 11+ build problems