Index | Thread | Search

From:
Kurt Miller <kurt@intricatesoftware.com>
Subject:
lang/kawa: update to use jdk-11
To:
ports@openbsd.org
Date:
Mon, 12 Jan 2026 16:09:50 +0000

Download raw body.

Thread
Update to use jdk-11:
* Set the jdk version to 11 only and adjust startup scripts so that
java does not need to be in the path to run.

Tested on sparc64, amd64, aarch64, i386. Regress tests ok
on aarch64 and amd64; Fail on i386 (but did with 1.8 too) and
sparc64. 

ok?

Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/kawa/Makefile,v
diff -u -p -u -r1.25 Makefile
--- Makefile	26 Sep 2023 12:02:02 -0000	1.25
+++ Makefile	27 Dec 2025 14:44:24 -0000
@@ -2,7 +2,7 @@ COMMENT=		Scheme and language framework 
 
 DISTNAME=		kawa-3.1.1
 CATEGORIES=		lang java
-REVISION=		1
+REVISION=		2
 
 HOMEPAGE=		https://www.gnu.org/software/kawa/
 
@@ -12,7 +12,7 @@ PERMIT_PACKAGE=	Yes
 SITES=			${SITE_GNU:=kawa/}
 
 MODULES=		java
-MODJAVA_VER=		1.8+
+MODJAVA_VER=		11
 
 TEST_DEPENDS=		${RUN_DEPENDS}
 
@@ -27,7 +27,8 @@ BUILD_DEPENDS=		print/texinfo \
 			${MODGNU_AUTOMAKE_DEPENDS}
 
 CONFIGURE_STYLE=	gnu
-CONFIGURE_ARGS+=	--enable-kawa-frontend
+CONFIGURE_ARGS+=	--enable-kawa-frontend \
+			--with-java-source=11
 CONFIGURE_ENV+=		AUTOMAKE=${LOCALBASE}/bin/automake-1.16 \
 			AUTOCONF=${LOCALBASE}/bin/autoconf-2.69
 
@@ -37,12 +38,14 @@ MAKE_FLAGS=		JAVAC=${JAVA_HOME}/bin/java
 			AUTOCONF_VERSION=${AUTOCONF_VERSION} \
 			AUTOMAKE_VERSION=${AUTOMAKE_VERSION}
 
-MAKE_ENV+=		SLIB_JAVAFLAGS=-Xmx1200M
+#MAKE_ENV+=		SLIB_JAVAFLAGS=-Xmx1200M
 
 # use UTF-8 encoding to avoid following errors:
 # unmappable character for encoding ASCII
 MAKE_ENV+=		LANG=en_US.UTF-8
 
+SUBST_VARS+=		JAVA_HOME
+
 TEST_FLAGS =		DIFF=diff \
 			PATH=${PATH}:${JAVA_HOME}/bin
 
@@ -53,5 +56,8 @@ pre-patch:
 		xargs sed -i 's,^JAR =.*,JAR = ${JAVA_HOME}/bin/jar,g'; \
 		touch ${WRKSRC}/configure.ac
 	sed -i 's,/usr/bin,${LOCALBASE}/bin,g' ${WRKDIST}/doc/*.man
+
+post-patch:
+	${SUBST_CMD} ${WRKSRC}/bin/kawa.c
 
 .include <bsd.port.mk>
Index: patches/patch-bin_kawa_c
===================================================================
RCS file: patches/patch-bin_kawa_c
diff -N patches/patch-bin_kawa_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-bin_kawa_c	27 Dec 2025 14:44:24 -0000
@@ -0,0 +1,14 @@
+Run without java in path.
+
+Index: bin/kawa.c
+--- bin/kawa.c.orig
++++ bin/kawa.c
+@@ -517,7 +517,7 @@ main(int argc, char** argv)
+   out_argv[out_argc++] = get_command (argv[0]);
+ #else
+   putenv (get_classpath(argv[0]));
+-  out_argv[out_argc++] = "java";
++  out_argv[out_argc++] = "${JAVA_HOME}/bin/java";
+ #endif
+ 
+   /* Calculate and set the kawa.command.line property. */
Index: patches/patch-gnu_kawa_slib_Makefile_in
===================================================================
RCS file: patches/patch-gnu_kawa_slib_Makefile_in
diff -N patches/patch-gnu_kawa_slib_Makefile_in
--- patches/patch-gnu_kawa_slib_Makefile_in	11 Mar 2022 19:29:04 -0000	1.6
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-Fails to compile swing.scm with defaults on some arch.
-
---- gnu/kawa/slib/Makefile.in.orig	Thu Feb  9 21:03:27 2017
-+++ gnu/kawa/slib/Makefile.in	Thu Feb  9 21:03:41 2017
-@@ -140,7 +140,7 @@ INSTALL_DATA = @INSTALL_DATA@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
--JAVA = @JAVA@
-+JAVA = @JAVA@ ${SLIB_JAVAFLAGS}
- JAVAC = @JAVAC@
- JAVACFLAGS = @JAVACFLAGS@
- JAVA_SOURCE = @JAVA_SOURCE@
Index: patches/patch-testsuite_Makefile_am
===================================================================
RCS file: patches/patch-testsuite_Makefile_am
diff -N patches/patch-testsuite_Makefile_am
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-testsuite_Makefile_am	27 Dec 2025 14:44:24 -0000
@@ -0,0 +1,22 @@
+Skip tests using jaxb which was removed in jdk11
+
+Index: testsuite/Makefile.am
+--- testsuite/Makefile.am.orig
++++ testsuite/Makefile.am
+@@ -18,7 +18,7 @@ SERVLET_TESTS = check-HelloCgiS check-HelloCgiK
+ endif
+ endif
+ if WITH_SAX2
+-SAX2_TESTS = check-MySAXApp check-jaxb-annotations3
++SAX2_TESTS = check-MySAXApp
+ endif
+ 
+ WARN_FLAGS = --warn-undefined-variable --warn-invoke-unknown-method --warn-as-error
+@@ -48,7 +48,6 @@ check1:  check-num check-arr check-java-array check-la
+   check-srfi-101 check-srfi-108 check-srfi-109 check-resolve-uri \
+   check-format check-ppfile check-system check-strings check-text check-regex \
+   check-xml scribble.class check-run-test-scripts check-moduleM \
+-  check-annotations1 check-annotations2\
+   check-binarytrees check-chameneosredux check-fannkuch check-fannkuchredux check-fasta \
+   check-knucleotide check-mandelbrot check-meteor check-nbody \
+   check-nsieve check-pidigits check-regexdna check-revcomp \