pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/openjdk25
Module Name: pkgsrc
Committed By: tnn
Date: Sat Sep 26 12:54:52 UTC 2026
Added Files:
pkgsrc/lang/openjdk25: DESCR Makefile PLIST PLIST.Darwin PLIST.Linux
bootstrap.mk buildlink3.mk distinfo hacks.mk options.mk
pkgsrc/lang/openjdk25/patches:
patch-make_autoconf_buildjdk-spec.gmk.template
patch-make_autoconf_flags-cflags.m4 patch-make_autoconf_hotspot.m4
patch-make_autoconf_lib-alsa.m4 patch-make_autoconf_lib-bundled.m4
patch-make_autoconf_lib-freetype.m4 patch-make_autoconf_lib-x11.m4
patch-make_common_JdkNativeCompilation.gmk
patch-make_common_native_Link.gmk
patch-src_hotspot_cpu_aarch64_macroAssembler__aarch64.cpp
patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp
patch-src_hotspot_os__cpu_bsd__zero_os__bsd__zero.cpp
patch-src_hotspot_os_bsd_os__bsd.cpp
patch-src_hotspot_os_posix_os__posix.cpp
patch-src_hotspot_share_runtime_arguments.cpp
patch-src_java.desktop_bsd_data_fontconfig_fontconfig.properties
patch-src_java.desktop_unix_native_common_awt_fontpath.c
patch-src_java.desktop_unix_native_libpipewire_include_spa_utils_string.h
patch-src_jdk.attach_bsd_native_libattach_VirtualMachineImpl.c
Log Message:
lang/openjdk25: import openjdk25-1.25.0.4.7
Open-source implementation of the Java Platform, Standard Edition.
This package provides OpenJDK 25 LTS.
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/lang/openjdk25/DESCR \
pkgsrc/lang/openjdk25/Makefile pkgsrc/lang/openjdk25/PLIST \
pkgsrc/lang/openjdk25/PLIST.Darwin pkgsrc/lang/openjdk25/PLIST.Linux \
pkgsrc/lang/openjdk25/bootstrap.mk pkgsrc/lang/openjdk25/buildlink3.mk \
pkgsrc/lang/openjdk25/distinfo pkgsrc/lang/openjdk25/hacks.mk \
pkgsrc/lang/openjdk25/options.mk
cvs rdiff -u -r0 -r1.1 \
pkgsrc/lang/openjdk25/patches/patch-make_autoconf_buildjdk-spec.gmk.template \
pkgsrc/lang/openjdk25/patches/patch-make_autoconf_flags-cflags.m4 \
pkgsrc/lang/openjdk25/patches/patch-make_autoconf_hotspot.m4 \
pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-alsa.m4 \
pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-bundled.m4 \
pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-freetype.m4 \
pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-x11.m4 \
pkgsrc/lang/openjdk25/patches/patch-make_common_JdkNativeCompilation.gmk \
pkgsrc/lang/openjdk25/patches/patch-make_common_native_Link.gmk \
pkgsrc/lang/openjdk25/patches/patch-src_hotspot_cpu_aarch64_macroAssembler__aarch64.cpp \
pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp \
pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os__cpu_bsd__zero_os__bsd__zero.cpp \
pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os_bsd_os__bsd.cpp \
pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os_posix_os__posix.cpp \
pkgsrc/lang/openjdk25/patches/patch-src_hotspot_share_runtime_arguments.cpp \
pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_bsd_data_fontconfig_fontconfig.properties \
pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_unix_native_common_awt_fontpath.c \
pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_unix_native_libpipewire_include_spa_utils_string.h \
pkgsrc/lang/openjdk25/patches/patch-src_jdk.attach_bsd_native_libattach_VirtualMachineImpl.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Added files:
Index: pkgsrc/lang/openjdk25/DESCR
diff -u /dev/null pkgsrc/lang/openjdk25/DESCR:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/DESCR Sat Sep 26 12:54:50 2026
@@ -0,0 +1,9 @@
+Open-source implementation of the Java Platform, Standard Edition.
+This package provides OpenJDK 25 LTS.
+
+This package is NOT certified to be compatible with any Java standard.
+Use at own risk.
+
+Mandatory trademark notice:
+ "OpenJDK is a trademark or registered trademark of Oracle America,
+ Inc. in the United States and other countries."
Index: pkgsrc/lang/openjdk25/Makefile
diff -u /dev/null pkgsrc/lang/openjdk25/Makefile:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/Makefile Sat Sep 26 12:54:50 2026
@@ -0,0 +1,223 @@
+# $NetBSD: Makefile,v 1.1 2026/09/26 12:54:50 tnn Exp $
+
+DISTNAME= jdk25u-${GITHUB_TAG:C/\+/-/}
+PKGNAME= openjdk25-1.${GITHUB_TAG:C/\+/./:C/jdk-([.0-9]+).*/\1/}
+CATEGORIES= lang
+MASTER_SITES= ${MASTER_SITE_GITHUB:=battleblow/}
+GITHUB_PROJECT= jdk25u
+GITHUB_TAG= jdk-25.0.4+7-1
+
+MAINTAINER= ryoon%NetBSD.org@localhost
+HOMEPAGE= https://openjdk.java.net/
+COMMENT= Open-source implementation of the Java Platform, 25 LTS
+LICENSE= gnu-gpl-v2
+
+DISTFILES= ${DEFAULT_DISTFILES}
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+JAVA_NAME= openjdk25
+JAVA_HOME= ${PREFIX}/java/${JAVA_NAME}
+JAVA_WRAPPERS= jar jarsigner java javac javadoc javap jcmd jconsole jdb \
+ jdeprscan jdeps jfr jimage jinfo jlink jmap jmod jnativescan \
+ jps jrunscript jshell jstack jstat jstatd jwebserver keytool \
+ rmiregistry serialver
+
+TOOL_DEPENDS+= mozilla-rootcerts>=1.0.20140820nb2:../../security/mozilla-rootcerts
+
+# For alloca()
+BUILDLINK_TRANSFORM+= opt:-std=c99:-std=gnu99
+BUILDLINK_TRANSFORM+= opt:-std=c11:-std=gnu11
+BUILDLINK_TRANSFORM+= opt:-std=c++11:-std=gnu++11
+BUILDLINK_TRANSFORM+= opt:-std=c++14:-std=gnu++14
+BUILDLINK_TRANSFORM+= opt:-std=c++17:-std=gnu++17
+
+.include "../../mk/bsd.prefs.mk"
+
+# -Wl,--hash-style=gnu is not supported by NetBSD 9.
+.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099900
+BUILDLINK_TRANSFORM+= opt:-Wl,--hash-style=gnu:-Wl,--hash-style=sysv
+.endif
+
+GNU_CONFIGURE= yes
+GNU_CONFIGURE_STRICT= no # generates the configure script during the build
+GNU_CONFIGURE_ICONV= no
+USE_GNU_CONFIGURE_HOST= no
+CONFIGURE_SCRIPT= configure
+CONFIG_SHELL= bash
+CONFIG_SUB_OVERRIDE+= make/autoconf/build-aux/config.sub
+CONFIG_GUESS_OVERRIDE+= make/autoconf/build-aux/config.guess
+CONFIG_SUB_OVERRIDE+= make/autoconf/build-aux/autoconf-config.sub
+CONFIG_GUESS_OVERRIDE+= make/autoconf/build-aux/autoconf-config.guess
+USE_LANGUAGES= c c++
+USE_CXX_FEATURES= c++14
+USE_TOOLS+= bash gmake pax pkg-config unzip:run zip:run autoconf automake
+UNLIMIT_RESOURCES= datasize stacksize virtualsize cputime
+
+BUILDLINK_PASSTHRU_DIRS+= ${ALT_BOOTDIR}
+
+# ${WRKSRC}/doc/building.mk explicitly states that its Makefiles are unsafe
+# to use -j. Disable it and configure ourselves via configure arguments.
+MAKE_JOBS_METHOD= manual
+
+CONFIGURE_ARGS+= --openjdk-target=${MACHINE_GNU_PLATFORM}
+CONFIGURE_ARGS+= --with-boot-jdk=${ALT_BOOTDIR}
+CONFIGURE_ARGS+= --with-giflib=bundled
+CONFIGURE_ARGS+= --with-lcms=bundled
+CONFIGURE_ARGS+= --with-cups-include=${BUILDLINK_PREFIX.libcups}/include
+.if ${OPSYS} == "Darwin"
+CONFIGURE_ARGS+= --with-freetype=bundled
+.else
+CONFIGURE_ARGS+= --with-freetype=system
+CONFIGURE_ARGS+= --with-freetype-lib=${BUILDLINK_PREFIX.freetype2}/lib
+CONFIGURE_ARGS+= --with-freetype-include=${BUILDLINK_PREFIX.freetype2}/include
+.endif
+CONFIGURE_ARGS+= --with-jobs=${MAKE_JOBS:U1}
+CONFIGURE_ARGS+= --with-num-cores=${MAKE_JOBS:U1}
+CONFIGURE_ARGS+= --disable-precompiled-headers
+CONFIGURE_ARGS+= --disable-ccache
+CONFIGURE_ARGS+= --disable-javac-server
+CONFIGURE_ARGS+= --with-extra-ldflags="${COMPILER_RPATH_FLAG}${X11BASE}/lib ${COMPILER_RPATH_FLAG}${PREFIX}/java/${JAVA_NAME}/lib ${LDFLAGS}"
+CONFIGURE_ARGS+= --with-extra-cflags=${CFLAGS:Q}
+CONFIGURE_ARGS+= --with-extra-cxxflags=${CXXFLAGS:Q}
+CONFIGURE_ARGS+= --disable-warnings-as-errors
+CONFIGURE_ARGS+= --with-cacerts-file=${WRKDIR}/cacerts.out
+CONFIGURE_ARGS+= --with-default-make-target=product-images
+# It is intentional to use CONFIGURE_ARGS instead of CONFIGURE_ENV here.
+CONFIGURE_ARGS+= USER=pkgsrc
+
+# Avoid build errors when JAVA_HOME and CLASSPATH are defined by user.
+MAKE_ENV+= JAVA_HOME=
+MAKE_ENV+= CLASSPATH=
+.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} > 099980
+ALL_ENV+= SED="sed -g"
+.endif
+
+BUILD_OPSYS= ${OPSYS:C/.*BSD/bsd/:S/DragonFly/bsd/:S/SunOS/solaris/:S/Linux/linux/:S/Darwin/macosx/}
+BUILD_ARCH= ${MACHINE_ARCH:S/i386/x86/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
+BUILDDIR= ${WRKSRC}/build/${BUILD_OPSYS}-${BUILD_ARCH}-${BUILD_VARIANT}-${BUILD_DEBUG_LEVEL}
+BUILDLINK_PASSTHRU_RPATHDIRS+= ${PREFIX}/java/${JAVA_NAME}/lib
+BUILDLINK_PASSTHRU_RPATHDIRS+= ${PREFIX}/java/${JAVA_NAME}/lib/${BUILD_VARIANT}
+WRKSRC= ${WRKDIR}/${DISTNAME}
+
+.include "../../mk/compiler.mk"
+
+PLIST_VARS+= gcc
+.if !empty(PKGSRC_COMPILER:Mclang)
+CONFIGURE_ARGS+= --with-toolchain-type=clang
+_WRAP_EXTRA_ARGS.CC+= -Wno-format-nonliteral -Wno-sign-compare -Wno-char-subscripts
+CWRAPPERS_APPEND.cc+= -Wno-format-nonliteral -Wno-sign-compare -Wno-char-subscripts
+_WRAP_EXTRA_ARGS.CXX+= -Wno-tautological-undefined-compare
+CWRAPPERS_APPEND.cxx+= -Wno-tautological-undefined-compare
+
+BUILDLINK_TRANSFORM+= rm:-fcheck-new
+BUILDLINK_TRANSFORM+= rm:-fpch-deps
+. if ${MACHINE_ARCH} == "x86_64"
+_WRAP_EXTRA_ARGS.CXX+= -mstackrealign
+CWRAPPERS_APPEND.cxx+= -mstackrealign
+. endif
+.else
+# GCC
+PLIST.gcc= yes
+CONFIGURE_ARGS+= --with-toolchain-type=gcc
+CWRAPPERS_APPEND.cxx+= -Wno-attributes
+.endif
+
+.include "bootstrap.mk"
+.include "options.mk"
+
+SUBST_CLASSES+= libpath
+SUBST_STAGE.libpath= pre-configure
+SUBST_FILES.libpath+= src/hotspot/os/bsd/os_bsd.cpp
+SUBST_FILES.libpath+= make/autoconf/flags-cflags.m4
+SUBST_FILES.libpath+= make/autoconf/lib-bundled.m4
+SUBST_FILES.libpath+= make/autoconf/lib-freetype.m4
+SUBST_FILES.libpath+= make/autoconf/lib-x11.m4
+SUBST_VARS.libpath= PREFIX COMPILER_RPATH_FLAG JAVA_NAME BUILDLINK_PREFIX.zlib X11BASE
+
+SUBST_CLASSES+= fontpaths
+SUBST_STAGE.fontpaths= pre-configure
+SUBST_MESSAGE.fontpaths= fixing font paths
+SUBST_FILES.fontpaths= src/java.desktop/bsd/data/fontconfig/fontconfig.properties
+SUBST_FILES.fontpaths+= src/java.desktop/unix/native/common/awt/fontpath.c
+SUBST_VARS.fontpaths= PREFIX BUILDLINK_PREFIX.fontconfig
+
+
+.if ${OPSYS} == "NetBSD"
+# NetBSD's EVFILT_* EV_* are different from FreeBSD/OpenBSD's values.
+SUBST_CLASSES+= kqueue
+SUBST_STAGE.kqueue= pre-configure
+SUBST_MESSAGE.kqueue= fixing kqueue filter values
+SUBST_FILES.kqueue= src/java.base/bsd/classes/sun/nio/ch/KQueue.java
+SUBST_SED.kqueue= -e 's/static final int EVFILT_READ = -1;/static final int EVFILT_READ = 0;/'
+SUBST_SED.kqueue+= -e 's/static final int EVFILT_WRITE = -2;/static final int EVFILT_WRITE = 1;/'
+SUBST_SED.kqueue+= -e 's/static final int EV_ONESHOT = 0x0010;/static final int EV_ONESHOT = 0x0004;/'
+SUBST_SED.kqueue+= -e 's/static final int EV_CLEAR = 0x0020;/static final int EV_CLEAR = 0x0008;/'
+.endif
+
+.if ${OPSYS} == "NetBSD"
+TOOLS_PLATFORM.unzip=
+.endif
+
+PLIST_VARS+= bsd-fontconfig
+.if ${OPSYS} == "NetBSD" || ${OPSYS} == "Darwin"
+PLIST.bsd-fontconfig= yes
+.endif
+
+PLIST_VARS+= awt-headless
+.if ${OPSYS} != "Darwin"
+PLIST.awt-headless= yes
+.endif
+
+post-extract:
+# These libs are bundled w/ the netbsd-9 bootstrap to facilitate building with
+# MKLLVM=yes / MKGCC=no. Nuke them from bootstrap if they are present in base.
+.if exists(/lib/libgcc_s.so.1)
+ ${RM} -f ${ALT_BOOTDIR}/lib/libgcc_s.so.1
+.endif
+.if exists(/usr/lib/libstdc++.so.9)
+ ${RM} -f ${ALT_BOOTDIR}/lib/libstdc++.so.9
+.endif
+
+pre-configure: ${WRKDIR}/cacerts.out
+
+${WRKDIR}/cacerts.out:
+ mkdir ${WRKDIR}/cacerts && cd ${WRKDIR}/cacerts && \
+ ${PREFIX}/sbin/mozilla-rootcerts extract
+ ${_ULIMIT_CMD} for cert in ${WRKDIR}/cacerts/*.pem; do \
+ ${INFO_MSG} "Importing $$cert" && \
+ ${SETENV} ${CONFIGURE_ENV} LC_ALL=C \
+ ${ALT_BOOTDIR}/bin/keytool \
+ -noprompt \
+ -importcert \
+ -keystore ${.TARGET}.tmp \
+ -alias `${ECHO} $$cert | sed 's,.*/\\([^/]*\\)\\.pem,\\1,'` \
+ -file $$cert \
+ -storetype jks \
+ -storepass changeit; \
+ done
+ mv ${.TARGET}.tmp ${.TARGET}
+
+do-build:
+ rm -f ${WRKSRC}/make/data/fontconfig/*.orig
+ ${_ULIMIT_CMD} cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} LD_LIBRARY_PATH=${ALT_BOOTDIR}/lib ${MAKE_PROGRAM}
+
+do-install:
+ ${INSTALL_DATA_DIR} ${DESTDIR}${JAVA_HOME}
+ cd ${BUILDDIR}/images/jdk && pax -rwpp . \
+ ${DESTDIR}${JAVA_HOME}/.
+
+.if ${OPSYS} == "Linux" || ${OPSYS} == "NetBSD"
+.include "../../audio/alsa-lib/buildlink3.mk"
+CONFIGURE_ARGS+= --with-alsa=${BUILDLINK_PREFIX.alsa-lib}
+.endif
+.include "../../converters/libiconv/buildlink3.mk"
+.if ${OPSYS} != "Darwin"
+.include "../../fonts/fontconfig/buildlink3.mk"
+.include "../../graphics/freetype2/buildlink3.mk"
+.endif
+# Headers from CUPS are required to build the native implementation of
+# sun.print.* which is used by java.awt.print.
+BUILDLINK_DEPMETHOD.libcups?= build
+.include "../../print/libcups/buildlink3.mk"
+.include "../../mk/java-env.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/lang/openjdk25/PLIST
diff -u /dev/null pkgsrc/lang/openjdk25/PLIST:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/PLIST Sat Sep 26 12:54:50 2026
@@ -0,0 +1,591 @@
+@comment $NetBSD: PLIST,v 1.1 2026/09/26 12:54:50 tnn Exp $
+bin/openjdk25-jar
+bin/openjdk25-jarsigner
+bin/openjdk25-java
+bin/openjdk25-javac
+bin/openjdk25-javadoc
+bin/openjdk25-javap
+bin/openjdk25-jcmd
+bin/openjdk25-jconsole
+bin/openjdk25-jdb
+bin/openjdk25-jdeprscan
+bin/openjdk25-jdeps
+bin/openjdk25-jfr
+bin/openjdk25-jimage
+bin/openjdk25-jinfo
+bin/openjdk25-jlink
+bin/openjdk25-jmap
+bin/openjdk25-jmod
+bin/openjdk25-jnativescan
+bin/openjdk25-jps
+bin/openjdk25-jrunscript
+bin/openjdk25-jshell
+bin/openjdk25-jstack
+bin/openjdk25-jstat
+bin/openjdk25-jstatd
+bin/openjdk25-jwebserver
+bin/openjdk25-keytool
+bin/openjdk25-rmiregistry
+bin/openjdk25-serialver
+java/openjdk25/bin/jar
+java/openjdk25/bin/jar${DBGEXT}
+java/openjdk25/bin/jarsigner
+java/openjdk25/bin/jarsigner${DBGEXT}
+java/openjdk25/bin/java
+java/openjdk25/bin/java${DBGEXT}
+java/openjdk25/bin/javac
+java/openjdk25/bin/javac${DBGEXT}
+java/openjdk25/bin/javadoc
+java/openjdk25/bin/javadoc${DBGEXT}
+java/openjdk25/bin/javap
+java/openjdk25/bin/javap${DBGEXT}
+java/openjdk25/bin/jcmd
+java/openjdk25/bin/jcmd${DBGEXT}
+java/openjdk25/bin/jconsole
+java/openjdk25/bin/jconsole${DBGEXT}
+java/openjdk25/bin/jdb
+java/openjdk25/bin/jdb${DBGEXT}
+java/openjdk25/bin/jdeprscan
+java/openjdk25/bin/jdeprscan${DBGEXT}
+java/openjdk25/bin/jdeps
+java/openjdk25/bin/jdeps${DBGEXT}
+java/openjdk25/bin/jfr
+java/openjdk25/bin/jfr${DBGEXT}
+java/openjdk25/bin/jimage
+java/openjdk25/bin/jimage${DBGEXT}
+java/openjdk25/bin/jinfo
+java/openjdk25/bin/jinfo${DBGEXT}
+java/openjdk25/bin/jlink
+java/openjdk25/bin/jlink${DBGEXT}
+java/openjdk25/bin/jmap
+java/openjdk25/bin/jmap${DBGEXT}
+java/openjdk25/bin/jmod
+java/openjdk25/bin/jmod${DBGEXT}
+java/openjdk25/bin/jnativescan
+java/openjdk25/bin/jnativescan${DBGEXT}
+java/openjdk25/bin/jps
+java/openjdk25/bin/jps${DBGEXT}
+java/openjdk25/bin/jrunscript
+java/openjdk25/bin/jrunscript${DBGEXT}
+java/openjdk25/bin/jshell
+java/openjdk25/bin/jshell${DBGEXT}
+java/openjdk25/bin/jstack
+java/openjdk25/bin/jstack${DBGEXT}
+java/openjdk25/bin/jstat
+java/openjdk25/bin/jstat${DBGEXT}
+java/openjdk25/bin/jstatd
+java/openjdk25/bin/jstatd${DBGEXT}
+java/openjdk25/bin/jwebserver
+java/openjdk25/bin/jwebserver${DBGEXT}
+java/openjdk25/bin/keytool
+java/openjdk25/bin/keytool${DBGEXT}
+java/openjdk25/bin/rmiregistry
+java/openjdk25/bin/rmiregistry${DBGEXT}
+java/openjdk25/bin/serialver
+java/openjdk25/bin/serialver${DBGEXT}
+java/openjdk25/conf/jaxp-strict.properties.template
+java/openjdk25/conf/jaxp.properties
+java/openjdk25/conf/logging.properties
+java/openjdk25/conf/management/jmxremote.access
+java/openjdk25/conf/management/jmxremote.password.template
+java/openjdk25/conf/management/management.properties
+java/openjdk25/conf/net.properties
+java/openjdk25/conf/security/java.security
+java/openjdk25/conf/security/policy/README.txt
+java/openjdk25/conf/security/policy/limited/default_US_export.policy
+java/openjdk25/conf/security/policy/limited/default_local.policy
+java/openjdk25/conf/security/policy/limited/exempt_local.policy
+java/openjdk25/conf/security/policy/unlimited/default_US_export.policy
+java/openjdk25/conf/security/policy/unlimited/default_local.policy
+java/openjdk25/conf/sound.properties
+java/openjdk25/demo/README
+java/openjdk25/demo/jfc/CodePointIM/CodePointIM.jar
+java/openjdk25/demo/jfc/CodePointIM/README.html
+java/openjdk25/demo/jfc/CodePointIM/README_ja.html
+java/openjdk25/demo/jfc/CodePointIM/README_zh_CN.html
+java/openjdk25/demo/jfc/CodePointIM/src.zip
+java/openjdk25/demo/jfc/FileChooserDemo/FileChooserDemo.jar
+java/openjdk25/demo/jfc/FileChooserDemo/README.txt
+java/openjdk25/demo/jfc/FileChooserDemo/src.zip
+java/openjdk25/demo/jfc/Font2DTest/Font2DTest.jar
+java/openjdk25/demo/jfc/Font2DTest/README.txt
+java/openjdk25/demo/jfc/Font2DTest/src.zip
+java/openjdk25/demo/jfc/J2Ddemo/J2Ddemo.jar
+java/openjdk25/demo/jfc/J2Ddemo/README.txt
+java/openjdk25/demo/jfc/J2Ddemo/src.zip
+java/openjdk25/demo/jfc/Metalworks/Metalworks.jar
+java/openjdk25/demo/jfc/Metalworks/README.txt
+java/openjdk25/demo/jfc/Metalworks/src.zip
+java/openjdk25/demo/jfc/Notepad/Notepad.jar
+java/openjdk25/demo/jfc/Notepad/README.txt
+java/openjdk25/demo/jfc/Notepad/src.zip
+java/openjdk25/demo/jfc/SampleTree/README.txt
+java/openjdk25/demo/jfc/SampleTree/SampleTree.jar
+java/openjdk25/demo/jfc/SampleTree/src.zip
+java/openjdk25/demo/jfc/Stylepad/README.txt
+java/openjdk25/demo/jfc/Stylepad/Stylepad.jar
+java/openjdk25/demo/jfc/Stylepad/src.zip
+java/openjdk25/demo/jfc/SwingSet2/README.txt
+java/openjdk25/demo/jfc/SwingSet2/SwingSet2.jar
+java/openjdk25/demo/jfc/SwingSet2/src.zip
+java/openjdk25/demo/jfc/TableExample/README.txt
+java/openjdk25/demo/jfc/TableExample/TableExample.jar
+java/openjdk25/demo/jfc/TableExample/src.zip
+java/openjdk25/demo/jfc/TransparentRuler/README.txt
+java/openjdk25/demo/jfc/TransparentRuler/TransparentRuler.jar
+java/openjdk25/demo/jfc/TransparentRuler/src.zip
+java/openjdk25/demo/nbproject/README.txt
+java/openjdk25/demo/nbproject/jfc/FileChooserDemo/build.properties
+java/openjdk25/demo/nbproject/jfc/FileChooserDemo/build.xml
+java/openjdk25/demo/nbproject/jfc/FileChooserDemo/nbproject/file-targets.xml
+java/openjdk25/demo/nbproject/jfc/FileChooserDemo/nbproject/jdk.xml
+java/openjdk25/demo/nbproject/jfc/FileChooserDemo/nbproject/netbeans-targets.xml
+java/openjdk25/demo/nbproject/jfc/FileChooserDemo/nbproject/project.xml
+java/openjdk25/demo/nbproject/jfc/Font2DTest/build.properties
+java/openjdk25/demo/nbproject/jfc/Font2DTest/build.xml
+java/openjdk25/demo/nbproject/jfc/Font2DTest/nbproject/file-targets.xml
+java/openjdk25/demo/nbproject/jfc/Font2DTest/nbproject/jdk.xml
+java/openjdk25/demo/nbproject/jfc/Font2DTest/nbproject/netbeans-targets.xml
+java/openjdk25/demo/nbproject/jfc/Font2DTest/nbproject/project.xml
+java/openjdk25/demo/nbproject/jfc/Metalworks/build.properties
+java/openjdk25/demo/nbproject/jfc/Metalworks/build.xml
+java/openjdk25/demo/nbproject/jfc/Metalworks/nbproject/file-targets.xml
+java/openjdk25/demo/nbproject/jfc/Metalworks/nbproject/jdk.xml
+java/openjdk25/demo/nbproject/jfc/Metalworks/nbproject/netbeans-targets.xml
+java/openjdk25/demo/nbproject/jfc/Metalworks/nbproject/project.xml
+java/openjdk25/demo/nbproject/jfc/Notepad/build.properties
+java/openjdk25/demo/nbproject/jfc/Notepad/build.xml
+java/openjdk25/demo/nbproject/jfc/Notepad/nbproject/file-targets.xml
+java/openjdk25/demo/nbproject/jfc/Notepad/nbproject/jdk.xml
+java/openjdk25/demo/nbproject/jfc/Notepad/nbproject/netbeans-targets.xml
+java/openjdk25/demo/nbproject/jfc/Notepad/nbproject/project.xml
+java/openjdk25/demo/nbproject/jfc/SampleTree/build.properties
+java/openjdk25/demo/nbproject/jfc/SampleTree/build.xml
+java/openjdk25/demo/nbproject/jfc/SampleTree/nbproject/file-targets.xml
+java/openjdk25/demo/nbproject/jfc/SampleTree/nbproject/jdk.xml
+java/openjdk25/demo/nbproject/jfc/SampleTree/nbproject/netbeans-targets.xml
+java/openjdk25/demo/nbproject/jfc/SampleTree/nbproject/project.xml
+java/openjdk25/demo/nbproject/jfc/TableExample/build.properties
+java/openjdk25/demo/nbproject/jfc/TableExample/build.xml
+java/openjdk25/demo/nbproject/jfc/TableExample/nbproject/file-targets.xml
+java/openjdk25/demo/nbproject/jfc/TableExample/nbproject/jdk.xml
+java/openjdk25/demo/nbproject/jfc/TableExample/nbproject/netbeans-targets.xml
+java/openjdk25/demo/nbproject/jfc/TableExample/nbproject/project.xml
+java/openjdk25/demo/nbproject/jfc/TransparentRuler/build.properties
+java/openjdk25/demo/nbproject/jfc/TransparentRuler/build.xml
+java/openjdk25/demo/nbproject/jfc/TransparentRuler/nbproject/file-targets.xml
+java/openjdk25/demo/nbproject/jfc/TransparentRuler/nbproject/jdk.xml
+java/openjdk25/demo/nbproject/jfc/TransparentRuler/nbproject/netbeans-targets.xml
+java/openjdk25/demo/nbproject/jfc/TransparentRuler/nbproject/project.xml
+java/openjdk25/demo/nbproject/project.xml
+java/openjdk25/include/classfile_constants.h
+java/openjdk25/include/jawt.h
+java/openjdk25/include/jdwpTransport.h
+java/openjdk25/include/jni.h
+java/openjdk25/include/jvmti.h
+java/openjdk25/include/jvmticmlr.h
+java/openjdk25/include/${LOWER_OPSYS}/jawt_md.h
+java/openjdk25/include/${LOWER_OPSYS}/jni_md.h
+java/openjdk25/jmods/java.base.jmod
+java/openjdk25/jmods/java.compiler.jmod
+java/openjdk25/jmods/java.datatransfer.jmod
+java/openjdk25/jmods/java.desktop.jmod
+java/openjdk25/jmods/java.instrument.jmod
+java/openjdk25/jmods/java.logging.jmod
+java/openjdk25/jmods/java.management.jmod
+java/openjdk25/jmods/java.management.rmi.jmod
+java/openjdk25/jmods/java.naming.jmod
+java/openjdk25/jmods/java.net.http.jmod
+java/openjdk25/jmods/java.prefs.jmod
+java/openjdk25/jmods/java.rmi.jmod
+java/openjdk25/jmods/java.scripting.jmod
+java/openjdk25/jmods/java.se.jmod
+java/openjdk25/jmods/java.security.jgss.jmod
+java/openjdk25/jmods/java.security.sasl.jmod
+java/openjdk25/jmods/java.smartcardio.jmod
+java/openjdk25/jmods/java.sql.jmod
+java/openjdk25/jmods/java.sql.rowset.jmod
+java/openjdk25/jmods/java.transaction.xa.jmod
+java/openjdk25/jmods/java.xml.crypto.jmod
+java/openjdk25/jmods/java.xml.jmod
+java/openjdk25/jmods/jdk.accessibility.jmod
+java/openjdk25/jmods/jdk.attach.jmod
+java/openjdk25/jmods/jdk.charsets.jmod
+java/openjdk25/jmods/jdk.compiler.jmod
+java/openjdk25/jmods/jdk.crypto.cryptoki.jmod
+java/openjdk25/jmods/jdk.crypto.ec.jmod
+java/openjdk25/jmods/jdk.dynalink.jmod
+java/openjdk25/jmods/jdk.editpad.jmod
+${PLIST.hotspot}java/openjdk25/jmods/jdk.graal.compiler.jmod
+${PLIST.hotspot}java/openjdk25/jmods/jdk.graal.compiler.management.jmod
+java/openjdk25/jmods/jdk.httpserver.jmod
+java/openjdk25/jmods/jdk.incubator.vector.jmod
+java/openjdk25/jmods/jdk.internal.ed.jmod
+java/openjdk25/jmods/jdk.internal.jvmstat.jmod
+java/openjdk25/jmods/jdk.internal.le.jmod
+java/openjdk25/jmods/jdk.internal.md.jmod
+java/openjdk25/jmods/jdk.internal.opt.jmod
+${PLIST.hotspot}java/openjdk25/jmods/jdk.internal.vm.ci.jmod
+java/openjdk25/jmods/jdk.jartool.jmod
+java/openjdk25/jmods/jdk.javadoc.jmod
+java/openjdk25/jmods/jdk.jcmd.jmod
+java/openjdk25/jmods/jdk.jconsole.jmod
+java/openjdk25/jmods/jdk.jdeps.jmod
+java/openjdk25/jmods/jdk.jdi.jmod
+java/openjdk25/jmods/jdk.jdwp.agent.jmod
+java/openjdk25/jmods/jdk.jfr.jmod
+java/openjdk25/jmods/jdk.jlink.jmod
+java/openjdk25/jmods/jdk.jshell.jmod
+java/openjdk25/jmods/jdk.jsobject.jmod
+java/openjdk25/jmods/jdk.jstatd.jmod
+java/openjdk25/jmods/jdk.localedata.jmod
+java/openjdk25/jmods/jdk.management.agent.jmod
+java/openjdk25/jmods/jdk.management.jfr.jmod
+java/openjdk25/jmods/jdk.management.jmod
+java/openjdk25/jmods/jdk.naming.dns.jmod
+java/openjdk25/jmods/jdk.naming.rmi.jmod
+java/openjdk25/jmods/jdk.net.jmod
+java/openjdk25/jmods/jdk.nio.mapmode.jmod
+java/openjdk25/jmods/jdk.sctp.jmod
+java/openjdk25/jmods/jdk.security.auth.jmod
+java/openjdk25/jmods/jdk.security.jgss.jmod
+java/openjdk25/jmods/jdk.unsupported.desktop.jmod
+java/openjdk25/jmods/jdk.unsupported.jmod
+java/openjdk25/jmods/jdk.xml.dom.jmod
+java/openjdk25/jmods/jdk.zipfs.jmod
+java/openjdk25/legal/java.base/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.base/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.base/LICENSE
+java/openjdk25/legal/java.base/aes.md
+java/openjdk25/legal/java.base/c-libutl.md
+java/openjdk25/legal/java.base/cldr.md
+${PLIST.gcc}java/openjdk25/legal/java.base/gcc.md
+java/openjdk25/legal/java.base/icu.md
+java/openjdk25/legal/java.base/public_suffix.md
+java/openjdk25/legal/java.base/siphash.md
+java/openjdk25/legal/java.base/unicode.md
+${PLIST.jdk_bundled_zlib}java/openjdk25/legal/java.base/zlib.md
+java/openjdk25/legal/java.compiler/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.compiler/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.compiler/LICENSE
+java/openjdk25/legal/java.datatransfer/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.datatransfer/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.datatransfer/LICENSE
+java/openjdk25/legal/java.desktop/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.desktop/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.desktop/LICENSE
+java/openjdk25/legal/java.desktop/colorimaging.md
+java/openjdk25/legal/java.desktop/giflib.md
+java/openjdk25/legal/java.desktop/harfbuzz.md
+java/openjdk25/legal/java.desktop/jpeg.md
+java/openjdk25/legal/java.desktop/lcms.md
+java/openjdk25/legal/java.desktop/libpng.md
+java/openjdk25/legal/java.desktop/mesa3d.md
+java/openjdk25/legal/java.desktop/pipewire.md
+java/openjdk25/legal/java.desktop/xwd.md
+java/openjdk25/legal/java.instrument/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.instrument/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.instrument/LICENSE
+java/openjdk25/legal/java.logging/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.logging/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.logging/LICENSE
+java/openjdk25/legal/java.management.rmi/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.management.rmi/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.management.rmi/LICENSE
+java/openjdk25/legal/java.management/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.management/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.management/LICENSE
+java/openjdk25/legal/java.naming/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.naming/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.naming/LICENSE
+java/openjdk25/legal/java.net.http/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.net.http/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.net.http/LICENSE
+java/openjdk25/legal/java.prefs/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.prefs/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.prefs/LICENSE
+java/openjdk25/legal/java.rmi/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.rmi/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.rmi/LICENSE
+java/openjdk25/legal/java.scripting/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.scripting/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.scripting/LICENSE
+java/openjdk25/legal/java.se/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.se/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.se/LICENSE
+java/openjdk25/legal/java.security.jgss/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.security.jgss/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.security.jgss/LICENSE
+java/openjdk25/legal/java.security.sasl/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.security.sasl/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.security.sasl/LICENSE
+java/openjdk25/legal/java.smartcardio/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.smartcardio/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.smartcardio/LICENSE
+java/openjdk25/legal/java.smartcardio/pcsclite.md
+java/openjdk25/legal/java.sql.rowset/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.sql.rowset/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.sql.rowset/LICENSE
+java/openjdk25/legal/java.sql/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.sql/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.sql/LICENSE
+java/openjdk25/legal/java.transaction.xa/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.transaction.xa/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.transaction.xa/LICENSE
+java/openjdk25/legal/java.xml.crypto/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.xml.crypto/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.xml.crypto/LICENSE
+java/openjdk25/legal/java.xml.crypto/santuario.md
+java/openjdk25/legal/java.xml/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/java.xml/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/java.xml/LICENSE
+java/openjdk25/legal/java.xml/bcel.md
+java/openjdk25/legal/java.xml/dom.md
+java/openjdk25/legal/java.xml/jcup.md
+java/openjdk25/legal/java.xml/schema10part1.md
+java/openjdk25/legal/java.xml/schema10part2.md
+java/openjdk25/legal/java.xml/xalan.md
+java/openjdk25/legal/java.xml/xerces.md
+java/openjdk25/legal/java.xml/xhtml10.md
+java/openjdk25/legal/java.xml/xhtml10schema.md
+java/openjdk25/legal/java.xml/xhtml11.md
+java/openjdk25/legal/java.xml/xhtml11schema.md
+java/openjdk25/legal/java.xml/xmlspec.md
+java/openjdk25/legal/java.xml/xmlxsd.md
+java/openjdk25/legal/jdk.accessibility/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.accessibility/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.accessibility/LICENSE
+java/openjdk25/legal/jdk.attach/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.attach/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.attach/LICENSE
+java/openjdk25/legal/jdk.charsets/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.charsets/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.charsets/LICENSE
+java/openjdk25/legal/jdk.compiler/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.compiler/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.compiler/LICENSE
+java/openjdk25/legal/jdk.crypto.cryptoki/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.crypto.cryptoki/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.crypto.cryptoki/LICENSE
+java/openjdk25/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md
+java/openjdk25/legal/jdk.crypto.cryptoki/pkcs11wrapper.md
+java/openjdk25/legal/jdk.crypto.ec/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.crypto.ec/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.crypto.ec/LICENSE
+java/openjdk25/legal/jdk.dynalink/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.dynalink/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.dynalink/LICENSE
+java/openjdk25/legal/jdk.dynalink/dynalink.md
+java/openjdk25/legal/jdk.editpad/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.editpad/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.editpad/LICENSE
+${PLIST.hotspot}java/openjdk25/legal/jdk.graal.compiler.management/ADDITIONAL_LICENSE_INFO
+${PLIST.hotspot}java/openjdk25/legal/jdk.graal.compiler.management/ASSEMBLY_EXCEPTION
+${PLIST.hotspot}java/openjdk25/legal/jdk.graal.compiler.management/LICENSE
+${PLIST.hotspot}java/openjdk25/legal/jdk.graal.compiler/ADDITIONAL_LICENSE_INFO
+${PLIST.hotspot}java/openjdk25/legal/jdk.graal.compiler/ASSEMBLY_EXCEPTION
+${PLIST.hotspot}java/openjdk25/legal/jdk.graal.compiler/LICENSE
+java/openjdk25/legal/jdk.httpserver/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.httpserver/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.httpserver/LICENSE
+java/openjdk25/legal/jdk.incubator.vector/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.incubator.vector/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.incubator.vector/LICENSE
+java/openjdk25/legal/jdk.internal.ed/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.internal.ed/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.internal.ed/LICENSE
+java/openjdk25/legal/jdk.internal.jvmstat/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.internal.jvmstat/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.internal.jvmstat/LICENSE
+java/openjdk25/legal/jdk.internal.le/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.internal.le/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.internal.le/LICENSE
+java/openjdk25/legal/jdk.internal.le/jline.md
+java/openjdk25/legal/jdk.internal.md/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.internal.md/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.internal.md/LICENSE
+java/openjdk25/legal/jdk.internal.md/commonmark.md
+java/openjdk25/legal/jdk.internal.opt/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.internal.opt/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.internal.opt/LICENSE
+java/openjdk25/legal/jdk.internal.opt/jopt-simple.md
+${PLIST.hotspot}java/openjdk25/legal/jdk.internal.vm.ci/ADDITIONAL_LICENSE_INFO
+${PLIST.hotspot}java/openjdk25/legal/jdk.internal.vm.ci/ASSEMBLY_EXCEPTION
+${PLIST.hotspot}java/openjdk25/legal/jdk.internal.vm.ci/LICENSE
+java/openjdk25/legal/jdk.jartool/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jartool/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jartool/LICENSE
+java/openjdk25/legal/jdk.javadoc/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.javadoc/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.javadoc/LICENSE
+java/openjdk25/legal/jdk.javadoc/dejavufonts.md
+java/openjdk25/legal/jdk.javadoc/highlightjs.md
+java/openjdk25/legal/jdk.javadoc/jquery.md
+java/openjdk25/legal/jdk.javadoc/jqueryUI.md
+java/openjdk25/legal/jdk.jcmd/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jcmd/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jcmd/LICENSE
+java/openjdk25/legal/jdk.jconsole/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jconsole/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jconsole/LICENSE
+java/openjdk25/legal/jdk.jdeps/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jdeps/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jdeps/LICENSE
+java/openjdk25/legal/jdk.jdi/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jdi/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jdi/LICENSE
+java/openjdk25/legal/jdk.jdwp.agent/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jdwp.agent/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jdwp.agent/LICENSE
+java/openjdk25/legal/jdk.jfr/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jfr/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jfr/LICENSE
+java/openjdk25/legal/jdk.jlink/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jlink/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jlink/LICENSE
+java/openjdk25/legal/jdk.jshell/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jshell/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jshell/LICENSE
+java/openjdk25/legal/jdk.jsobject/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jsobject/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jsobject/LICENSE
+java/openjdk25/legal/jdk.jstatd/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jstatd/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jstatd/LICENSE
+java/openjdk25/legal/jdk.localedata/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.localedata/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.localedata/LICENSE
+java/openjdk25/legal/jdk.localedata/cldr.md
+java/openjdk25/legal/jdk.localedata/thaidict.md
+java/openjdk25/legal/jdk.management.agent/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.management.agent/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.management.agent/LICENSE
+java/openjdk25/legal/jdk.management.jfr/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.management.jfr/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.management.jfr/LICENSE
+java/openjdk25/legal/jdk.management/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.management/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.management/LICENSE
+java/openjdk25/legal/jdk.naming.dns/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.naming.dns/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.naming.dns/LICENSE
+java/openjdk25/legal/jdk.naming.rmi/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.naming.rmi/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.naming.rmi/LICENSE
+java/openjdk25/legal/jdk.net/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.net/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.net/LICENSE
+java/openjdk25/legal/jdk.nio.mapmode/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.nio.mapmode/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.nio.mapmode/LICENSE
+java/openjdk25/legal/jdk.sctp/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.sctp/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.sctp/LICENSE
+java/openjdk25/legal/jdk.security.auth/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.security.auth/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.security.auth/LICENSE
+java/openjdk25/legal/jdk.security.jgss/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.security.jgss/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.security.jgss/LICENSE
+java/openjdk25/legal/jdk.unsupported.desktop/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.unsupported.desktop/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.unsupported.desktop/LICENSE
+java/openjdk25/legal/jdk.unsupported/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.unsupported/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.unsupported/LICENSE
+java/openjdk25/legal/jdk.xml.dom/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.xml.dom/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.xml.dom/LICENSE
+java/openjdk25/legal/jdk.zipfs/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.zipfs/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.zipfs/LICENSE
+java/openjdk25/lib/classlist
+java/openjdk25/lib/ct.sym
+${PLIST.bsd-fontconfig}java/openjdk25/lib/fontconfig.bfc
+${PLIST.bsd-fontconfig}java/openjdk25/lib/fontconfig.properties.src
+java/openjdk25/lib/jfr/default.jfc
+java/openjdk25/lib/jfr/profile.jfc
+java/openjdk25/lib/jrt-fs.jar
+java/openjdk25/lib/jspawnhelper
+java/openjdk25/lib/jspawnhelper${DBGEXT}
+java/openjdk25/lib/jvm.cfg
+java/openjdk25/lib/libattach${DBGEXT}
+java/openjdk25/lib/libattach.so
+java/openjdk25/lib/libawt${DBGEXT}
+java/openjdk25/lib/libawt.so
+${PLIST.awt-headless}java/openjdk25/lib/libawt_headless${DBGEXT}
+${PLIST.awt-headless}java/openjdk25/lib/libawt_headless.so
+${PLIST.x11}java/openjdk25/lib/libawt_xawt${DBGEXT}
+${PLIST.x11}java/openjdk25/lib/libawt_xawt.so
+java/openjdk25/lib/libdt_socket${DBGEXT}
+java/openjdk25/lib/libdt_socket.so
+java/openjdk25/lib/libextnet${DBGEXT}
+java/openjdk25/lib/libextnet.so
+${PLIST.zero}java/openjdk25/lib/libfallbackLinker${DBGEXT}
+${PLIST.zero}java/openjdk25/lib/libfallbackLinker.so
+java/openjdk25/lib/libfontmanager${DBGEXT}
+java/openjdk25/lib/libfontmanager.so
+java/openjdk25/lib/libinstrument${DBGEXT}
+java/openjdk25/lib/libinstrument.so
+java/openjdk25/lib/libj2gss${DBGEXT}
+java/openjdk25/lib/libj2gss.so
+java/openjdk25/lib/libj2pcsc${DBGEXT}
+java/openjdk25/lib/libj2pcsc.so
+java/openjdk25/lib/libj2pkcs11${DBGEXT}
+java/openjdk25/lib/libj2pkcs11.so
+java/openjdk25/lib/libjaas${DBGEXT}
+java/openjdk25/lib/libjaas.so
+java/openjdk25/lib/libjava${DBGEXT}
+java/openjdk25/lib/libjava.so
+java/openjdk25/lib/libjavajpeg${DBGEXT}
+java/openjdk25/lib/libjavajpeg.so
+java/openjdk25/lib/libjawt${DBGEXT}
+java/openjdk25/lib/libjawt.so
+java/openjdk25/lib/libjdwp${DBGEXT}
+java/openjdk25/lib/libjdwp.so
+java/openjdk25/lib/libjimage${DBGEXT}
+java/openjdk25/lib/libjimage.so
+java/openjdk25/lib/libjli${DBGEXT}
+java/openjdk25/lib/libjli.so
+java/openjdk25/lib/libjsig${DBGEXT}
+java/openjdk25/lib/libjsig.so
+java/openjdk25/lib/libjsound${DBGEXT}
+java/openjdk25/lib/libjsound.so
+java/openjdk25/lib/liblcms${DBGEXT}
+java/openjdk25/lib/liblcms.so
+java/openjdk25/lib/libmanagement${DBGEXT}
+java/openjdk25/lib/libmanagement.so
+java/openjdk25/lib/libmanagement_agent${DBGEXT}
+java/openjdk25/lib/libmanagement_agent.so
+java/openjdk25/lib/libmanagement_ext${DBGEXT}
+java/openjdk25/lib/libmanagement_ext.so
+java/openjdk25/lib/libmlib_image${DBGEXT}
+java/openjdk25/lib/libmlib_image.so
+java/openjdk25/lib/libnet${DBGEXT}
+java/openjdk25/lib/libnet.so
+java/openjdk25/lib/libnio${DBGEXT}
+java/openjdk25/lib/libnio.so
+java/openjdk25/lib/libprefs${DBGEXT}
+java/openjdk25/lib/libprefs.so
+java/openjdk25/lib/librmi${DBGEXT}
+java/openjdk25/lib/librmi.so
+${PLIST.splashscreen}java/openjdk25/lib/libsplashscreen${DBGEXT}
+${PLIST.splashscreen}java/openjdk25/lib/libsplashscreen.so
+java/openjdk25/lib/libsyslookup${DBGEXT}
+java/openjdk25/lib/libsyslookup.so
+java/openjdk25/lib/libverify${DBGEXT}
+java/openjdk25/lib/libverify.so
+java/openjdk25/lib/libzip${DBGEXT}
+java/openjdk25/lib/libzip.so
+java/openjdk25/lib/modules
+java/openjdk25/lib/psfont.properties.ja
+java/openjdk25/lib/psfontj2d.properties
+java/openjdk25/lib/security/blocked.certs
+java/openjdk25/lib/security/cacerts
+java/openjdk25/lib/security/public_suffix_list.dat
+java/openjdk25/lib/${BUILD_VARIANT}/libjsig.so
+java/openjdk25/lib/${BUILD_VARIANT}/libjvm${DBGEXT}
+java/openjdk25/lib/${BUILD_VARIANT}/libjvm.so
+java/openjdk25/lib/src.zip
+java/openjdk25/lib/tzdb.dat
+java/openjdk25/release
Index: pkgsrc/lang/openjdk25/PLIST.Darwin
diff -u /dev/null pkgsrc/lang/openjdk25/PLIST.Darwin:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/PLIST.Darwin Sat Sep 26 12:54:50 2026
@@ -0,0 +1,33 @@
+@comment $NetBSD: PLIST.Darwin,v 1.1 2026/09/26 12:54:50 tnn Exp $
+java/openjdk25/bin/jhsdb
+java/openjdk25/bin/jhsdb${DBGEXT}
+java/openjdk25/bin/jpackage
+java/openjdk25/bin/jpackage${DBGEXT}
+java/openjdk25/jmods/jdk.hotspot.agent.jmod
+java/openjdk25/jmods/jdk.jpackage.jmod
+java/openjdk25/legal/java.desktop/freetype.md
+java/openjdk25/legal/jdk.hotspot.agent/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.hotspot.agent/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.hotspot.agent/LICENSE
+java/openjdk25/legal/jdk.jpackage/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jpackage/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jpackage/LICENSE
+java/openjdk25/lib/libawt_lwawt${DBGEXT}
+java/openjdk25/lib/libawt_lwawt.dylib
+java/openjdk25/lib/libfreetype${DBGEXT}
+java/openjdk25/lib/libfreetype.dylib
+java/openjdk25/lib/libosx${DBGEXT}
+java/openjdk25/lib/libosx.dylib
+java/openjdk25/lib/libosxapp${DBGEXT}
+java/openjdk25/lib/libosxapp.dylib
+java/openjdk25/lib/libosxkrb5${DBGEXT}
+java/openjdk25/lib/libosxkrb5.dylib
+java/openjdk25/lib/libosxsecurity${DBGEXT}
+java/openjdk25/lib/libosxsecurity.dylib
+java/openjdk25/lib/libosxui${DBGEXT}
+java/openjdk25/lib/libosxui.dylib
+java/openjdk25/lib/libsaproc${DBGEXT}
+java/openjdk25/lib/libsaproc.dylib
+java/openjdk25/lib/libsleef${DBGEXT}
+java/openjdk25/lib/libsleef.dylib
+java/openjdk25/lib/shaders.metallib
Index: pkgsrc/lang/openjdk25/PLIST.Linux
diff -u /dev/null pkgsrc/lang/openjdk25/PLIST.Linux:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/PLIST.Linux Sat Sep 26 12:54:50 2026
@@ -0,0 +1,25 @@
+@comment $NetBSD: PLIST.Linux,v 1.1 2026/09/26 12:54:50 tnn Exp $
+java/openjdk25/bin/jhsdb
+java/openjdk25/bin/jhsdb${DBGEXT}
+java/openjdk25/bin/jpackage
+java/openjdk25/bin/jpackage${DBGEXT}
+java/openjdk25/conf/sdp/sdp.conf.template
+java/openjdk25/jmods/jdk.hotspot.agent.jmod
+java/openjdk25/jmods/jdk.jpackage.jmod
+java/openjdk25/legal/jdk.hotspot.agent/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.hotspot.agent/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.hotspot.agent/LICENSE
+java/openjdk25/legal/jdk.incubator.vector/sleef.md
+java/openjdk25/legal/jdk.jpackage/ADDITIONAL_LICENSE_INFO
+java/openjdk25/legal/jdk.jpackage/ASSEMBLY_EXCEPTION
+java/openjdk25/legal/jdk.jpackage/LICENSE
+java/openjdk25/lib/jexec
+java/openjdk25/lib/jexec${DBGEXT}
+java/openjdk25/lib/libjsvml${DBGEXT}
+java/openjdk25/lib/libjsvml.so
+java/openjdk25/lib/libsaproc${DBGEXT}
+java/openjdk25/lib/libsaproc.so
+java/openjdk25/lib/libsctp${DBGEXT}
+java/openjdk25/lib/libsctp.so
+java/openjdk25/lib/libsimdsort${DBGEXT}
+java/openjdk25/lib/libsimdsort.so
Index: pkgsrc/lang/openjdk25/bootstrap.mk
diff -u /dev/null pkgsrc/lang/openjdk25/bootstrap.mk:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/bootstrap.mk Sat Sep 26 12:54:51 2026
@@ -0,0 +1,63 @@
+# $NetBSD: bootstrap.mk,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 090000
+PKG_FAIL_REASON+= "Only supports NetBSD >= 9"
+.endif
+
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) && ${OPSYS_VERSION} < 090400
+PKG_FAIL_REASON+= "Only supports NetBSD >= 9.4"
+.endif
+
+ONLY_FOR_PLATFORM+= NetBSD-*-x86_64
+BOOT.nb9-amd64= bootstrap-jdk-1.25.0.4.7-netbsd-9-amd64-20260908.tar.xz
+SITES.${BOOT.nb9-amd64}= ${MASTER_SITE_LOCAL:=openjdk25/}
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo)
+DISTFILES+= ${BOOT.nb9-amd64}
+EXTRACT_ONLY+= ${BOOT.nb9-amd64}
+.endif
+
+ONLY_FOR_PLATFORM+= NetBSD-*-aarch64
+BOOT.nb9-aarch64= bootstrap-jdk-1.25.0.4.7-netbsd-9-aarch64-20260907.tar.xz
+SITES.${BOOT.nb9-aarch64}= ${MASTER_SITE_LOCAL:=openjdk25/}
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo)
+DISTFILES+= ${BOOT.nb9-aarch64}
+EXTRACT_ONLY+= ${BOOT.nb9-aarch64}
+.endif
+
+ONLY_FOR_PLATFORM+= NetBSD-*-i386
+BOOT.nb9-i386= bootstrap-jdk-1.25.0.4.7-netbsd-9-i386-20260907.tar.xz
+SITES.${BOOT.nb9-i386}= ${MASTER_SITE_LOCAL:=openjdk25/}
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo)
+DISTFILES+= ${BOOT.nb9-i386}
+EXTRACT_ONLY+= ${BOOT.nb9-i386}
+.endif
+
+ONLY_FOR_PLATFORM+= NetBSD-*-earmv[67]hf
+BOOT.nb9-earmv6hf= bootstrap-jdk-1.25.0.4.7-netbsd-9-earmv6hf-20260908.tar.xz
+SITES.${BOOT.nb9-earmv6hf}= ${MASTER_SITE_LOCAL:=openjdk25/}
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf) || make(distinfo)
+DISTFILES+= ${BOOT.nb9-earmv6hf}
+EXTRACT_ONLY+= ${BOOT.nb9-earmv6hf}
+.endif
+
+ONLY_FOR_PLATFORM+= Linux-*-x86_64
+BOOT.linux-amd64= OpenJDK25U-jdk_x64_linux_hotspot_25.0.4.1_1.tar.gz
+SITES.${BOOT.linux-amd64}= https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4.1%2B1/
+.if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo)
+DISTFILES+= ${BOOT.linux-amd64}
+EXTRACT_ONLY+= ${BOOT.linux-amd64}
+ALT_BOOTDIR= ${WRKDIR}/jdk-25.0.4.1+1
+.endif
+
+ONLY_FOR_PLATFORM+= Darwin-*-aarch64
+BOOT.darwin-aarch64+= OpenJDK25U-jdk_aarch64_mac_hotspot_25.0.4.1_1.tar.gz
+SITES.${BOOT.darwin-aarch64}= https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4.1%2B1/
+.if !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) || make(distinfo)
+DISTFILES+= ${BOOT.darwin-aarch64}
+EXTRACT_ONLY+= ${BOOT.darwin-aarch64}
+ALT_BOOTDIR= ${WRKDIR}/jdk-25.0.4.1+1/Contents/Home
+.endif
+
+CONFIGURE_ENV+= LD_LIBRARY_PATH=${ALT_BOOTDIR}/lib
+
+ALT_BOOTDIR?= ${WRKDIR}/bootstrap
Index: pkgsrc/lang/openjdk25/buildlink3.mk
diff -u /dev/null pkgsrc/lang/openjdk25/buildlink3.mk:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/buildlink3.mk Sat Sep 26 12:54:51 2026
@@ -0,0 +1,16 @@
+# $NetBSD: buildlink3.mk,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+BUILDLINK_TREE+= openjdk25
+
+.if !defined(OPENJDK25_BUILDLINK3_MK)
+OPENJDK25_BUILDLINK3_MK:=
+
+BUILDLINK_LIBDIRS.openjdk25+= java/openjdk25/lib
+BUILDLINK_LIBDIRS.openjdk25+= java/openjdk25/lib/server
+
+BUILDLINK_API_DEPENDS.openjdk25+= openjdk25>=1.25.0.4
+BUILDLINK_PKGSRCDIR.openjdk25?= ../../lang/openjdk25
+
+.endif # OPENJDK25_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -openjdk25
Index: pkgsrc/lang/openjdk25/distinfo
diff -u /dev/null pkgsrc/lang/openjdk25/distinfo:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/distinfo Sat Sep 26 12:54:51 2026
@@ -0,0 +1,42 @@
+$NetBSD: distinfo,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+BLAKE2s (OpenJDK25U-jdk_aarch64_mac_hotspot_25.0.4.1_1.tar.gz) = 3712b494106364a0d0de79aee436f96b01c62be56afb7a977bcef006a31b583f
+SHA512 (OpenJDK25U-jdk_aarch64_mac_hotspot_25.0.4.1_1.tar.gz) = 535f90a294ffe6adf47bc637605cd7ed5ba4d4c1c89eeeb61d293d8e8f727c0955792fae2c8073c15736f8d03e9756419fdc06adca0039f23aba149d38b7f21a
+Size (OpenJDK25U-jdk_aarch64_mac_hotspot_25.0.4.1_1.tar.gz) = 136355078 bytes
+BLAKE2s (OpenJDK25U-jdk_x64_linux_hotspot_25.0.4.1_1.tar.gz) = 472b5de195b366f7e60f02c243155c8b541c9ccb714c0c72f9789dfabd452977
+SHA512 (OpenJDK25U-jdk_x64_linux_hotspot_25.0.4.1_1.tar.gz) = c96f0d7a22068a488c6bc2ef908f946280d26ce384dbd879c6ae9a01a60441cfed8cff97f3dc5f02b939cc9fab5ad9279b5f497a3523195102cfcd151cac0816
+Size (OpenJDK25U-jdk_x64_linux_hotspot_25.0.4.1_1.tar.gz) = 141329719 bytes
+BLAKE2s (bootstrap-jdk-1.25.0.4.7-netbsd-9-aarch64-20260907.tar.xz) = fc28d4c29131c36636493946c4f1b224fcab323457ac5b84a4069dc85e253162
+SHA512 (bootstrap-jdk-1.25.0.4.7-netbsd-9-aarch64-20260907.tar.xz) = 6b3b7791de4197ba4648589b70596e79f3c0e7403f9362d169011bf947fcc6358ba7db849f2f777f3c89083c7469d52daa5c01964d2adffaa793dba45b47a53d
+Size (bootstrap-jdk-1.25.0.4.7-netbsd-9-aarch64-20260907.tar.xz) = 123799744 bytes
+BLAKE2s (bootstrap-jdk-1.25.0.4.7-netbsd-9-amd64-20260908.tar.xz) = eca984a63e8d294b89eca8fd974ddcf540cc690ff60b0f429941ca6275d70d59
+SHA512 (bootstrap-jdk-1.25.0.4.7-netbsd-9-amd64-20260908.tar.xz) = 4587a19dea5edd24ccafb251221ee6177e788ae9ad6c0bf49be11ef900bbe7f75a0db77eb151edf12f8378aab8a7b9651043f31e98864317faf3ecb2533b34eb
+Size (bootstrap-jdk-1.25.0.4.7-netbsd-9-amd64-20260908.tar.xz) = 124433300 bytes
+BLAKE2s (bootstrap-jdk-1.25.0.4.7-netbsd-9-earmv6hf-20260908.tar.xz) = fed8370c46ed4b11ea92a1b42103000c2c0f53bae0352644755b06e7b35cc67b
+SHA512 (bootstrap-jdk-1.25.0.4.7-netbsd-9-earmv6hf-20260908.tar.xz) = 74e424d796ab52d4202102e4e82552b604f000254fc9c3f1b5f24a59c448641bd287dcb1f22a004203a9b77c0f0be4df1a2195a20852c51a744d4db54afbafbe
+Size (bootstrap-jdk-1.25.0.4.7-netbsd-9-earmv6hf-20260908.tar.xz) = 111622140 bytes
+BLAKE2s (bootstrap-jdk-1.25.0.4.7-netbsd-9-i386-20260907.tar.xz) = 381f8e1f81bc70fd0ccdf20dd6af07bdfa8fb63ec3aa697d41fffd4968c34403
+SHA512 (bootstrap-jdk-1.25.0.4.7-netbsd-9-i386-20260907.tar.xz) = b1074772835c5445d682f92b37eefad1b5afa1b1a2b28ed27a4401fbf68778b505a3034189ea5bf20e149ed39ca9079058afa68f0496d0b89af263237e61c512
+Size (bootstrap-jdk-1.25.0.4.7-netbsd-9-i386-20260907.tar.xz) = 116043068 bytes
+BLAKE2s (jdk25u-jdk-25.0.4-7-1.tar.gz) = db81e919589070cbef63d5f4df43a690cb5119a72f75b12eb1a289621b4e2b97
+SHA512 (jdk25u-jdk-25.0.4-7-1.tar.gz) = ac564673ce14b192f3136d3d92e6125d412f1f449b3fcbe1f47dd0af7a6ccf6ec4a8f4c5074dcab17faf09fc2df54e0430c1e28ea7b8e171169ad97f2213b3fe
+Size (jdk25u-jdk-25.0.4-7-1.tar.gz) = 119810522 bytes
+SHA1 (patch-make_autoconf_buildjdk-spec.gmk.template) = 123c0b42323c3de51ccb418486cc57ef8e5feb77
+SHA1 (patch-make_autoconf_flags-cflags.m4) = 577ea110cba90c55e1555d4bde0a02b8c6180101
+SHA1 (patch-make_autoconf_hotspot.m4) = 6097c29677f4b84c3821b5cf7ac8c397376027d0
+SHA1 (patch-make_autoconf_lib-alsa.m4) = 999fbf951363f6b49b22aad81537728f22d7c381
+SHA1 (patch-make_autoconf_lib-bundled.m4) = 5f5b638a08abf2f2066a122a825cfa3db9e95139
+SHA1 (patch-make_autoconf_lib-freetype.m4) = bd791b99e4fd87f24432831fba1e814dd199445f
+SHA1 (patch-make_autoconf_lib-x11.m4) = 38038e6d7cfc2d15fb3537a52f11d2961cc2ec99
+SHA1 (patch-make_common_JdkNativeCompilation.gmk) = 97256807fe59d690fe0aabdcc9d221f914aac259
+SHA1 (patch-make_common_native_Link.gmk) = b453202c240959e42f1a1ba6dc84ce6c9f3a5dcc
+SHA1 (patch-src_hotspot_cpu_aarch64_macroAssembler__aarch64.cpp) = fa17af7a6dc4a91d6fe7abfc6060f0d102983928
+SHA1 (patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp) = 2bf688d0e569b5b53c9da4910fdfee19c2e26118
+SHA1 (patch-src_hotspot_os__cpu_bsd__zero_os__bsd__zero.cpp) = ff18408d20929bca1b96bcb9b603974c5b50ef82
+SHA1 (patch-src_hotspot_os_bsd_os__bsd.cpp) = 5561ed502aa925cd3d0514c7ec298e0491d14ffc
+SHA1 (patch-src_hotspot_os_posix_os__posix.cpp) = ee7fd66ab5513a8d9027960e0b85341e69b3d698
+SHA1 (patch-src_hotspot_share_runtime_arguments.cpp) = f8a17090e8be99735553d696d4ef398a23a3a524
+SHA1 (patch-src_java.desktop_bsd_data_fontconfig_fontconfig.properties) = 01aff1bb2c14265b0ebcc9d12fba8d48b876d36e
+SHA1 (patch-src_java.desktop_unix_native_common_awt_fontpath.c) = 11f4b918f5f30b8f937308ed1263f11357283fc5
+SHA1 (patch-src_java.desktop_unix_native_libpipewire_include_spa_utils_string.h) = f677c9b907b285d6b84de65396f50e2a5e52caba
+SHA1 (patch-src_jdk.attach_bsd_native_libattach_VirtualMachineImpl.c) = c83c71af78634aa153d21635ed627236b289ff7f
Index: pkgsrc/lang/openjdk25/hacks.mk
diff -u /dev/null pkgsrc/lang/openjdk25/hacks.mk:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/hacks.mk Sat Sep 26 12:54:51 2026
@@ -0,0 +1,50 @@
+# $NetBSD: hacks.mk,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+.if !defined(OPENJDK25_HACKS_MK)
+OPENJDK25_HACKS_MK= # empty
+
+### Ensure we do not pickup external jpeg includes: openjdk uses an internal
+### libjpeg with potentially conflicting defines, which breaks at least
+### libjpeg-turbo
+post-wrapper:
+ ${RM} -f ${BUILDLINK_DIR}/include/jconfig.h
+ ${RM} -f ${BUILDLINK_DIR}/include/jerror.h
+ ${RM} -f ${BUILDLINK_DIR}/include/jmorecfg.h
+ ${RM} -f ${BUILDLINK_DIR}/include/jpeglib.h
+
+# Workaround incorrect constant folding of subnormals in javac when the FPU
+# does not handle subnormal arithmetic, like on ARM in Flush-to-zero mode.
+# These workarounds avoid underflow conditions during the bootstrap so the
+# JDK can correctly build itself. Compiling or running programs other than
+# openjdk itself on such hardware may still cause unexpected behaviour.
+#
+# The issue has been fixed in OpenJDK 21 for aarch64. We aren't sure if
+# it's still an issue on 32bit ARM. Probably not? You know when the issue
+# bites you: javac enters into an infinite loop while parsing subnormal
+# numeric constants.
+#
+.if ${MACHINE_PLATFORM:MNetBSD-*-*arm*}
+PKG_HACKS+= broken-ieee-floats
+SUBST_CLASSES+= fpu
+SUBST_STAGE.fpu= pre-build
+SUBST_MESSAGE.fpu= Broken FPU detected: applying floating point workarounds
+SUBST_FILES.fpu= src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Items.java
+SUBST_FILES.fpu+= src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java
+SUBST_FILES.fpu+= src/java.base/share/classes/java/lang/Double.java
+SUBST_FILES.fpu+= src/java.base/share/classes/java/lang/Float.java
+SUBST_FILES.fpu+= src/java.base/share/classes/java/lang/FdLibm.java
+# Double.java, FdLibm.java: Replace problematic literals with binary representation
+SUBST_SED.fpu+= -e 's|0x1.0p-1022d*|Double.longBitsToDouble(0x10000000000000L)|ig' # MIN_NORMAL
+SUBST_SED.fpu+= -e 's|0x0.0000000000001p-1022d*|Double.longBitsToDouble(0x1L)|ig' # MIN_VALUE
+# Float.java: Replace problematic literals with binary representation
+SUBST_SED.fpu+= -e 's|0x1.0p-126f*|Float.intBitsToFloat(0x800000)|ig' # MIN_NORMAL
+SUBST_SED.fpu+= -e 's|0x0.000002P-126f*|Float.intBitsToFloat(0x1)|ig' # MIN_VALUE
+# JavacParser.java: avoid bogus "fp.number.too.small" error parsing literals representing Double.MIN_VALUE
+SUBST_SED.fpu+= -e 's|n.floatValue() == 0.0f && !isZero(proper)|& \&\& Float.floatToIntBits(n) != 0x1|'
+SUBST_SED.fpu+= -e 's|n.doubleValue() == 0.0d && !isZero(proper)|& \&\& Double.doubleToLongBits(n) != 0x1L|'
+# Items.java: Avoid invalid constant folding of literal subnormals to positive zero
+SUBST_SED.fpu+= -e 's|x == 0.0f && 1.0f / x > 0.0f|Float.floatToIntBits(x) == 0x0|g'
+SUBST_SED.fpu+= -e 's|x == 0.0d && 1.0d / x > 0.0d|Double.doubleToLongBits(x) == 0x0L|g'
+.endif
+
+.endif
Index: pkgsrc/lang/openjdk25/options.mk
diff -u /dev/null pkgsrc/lang/openjdk25/options.mk:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/options.mk Sat Sep 26 12:54:51 2026
@@ -0,0 +1,138 @@
+# $NetBSD: options.mk,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.openjdk25
+PKG_OPTIONS_OPTIONAL_GROUPS= variant
+PKG_OPTIONS_GROUP.variant= jdk-zero-vm
+PKG_SUPPORTED_OPTIONS= debug dtrace jre-jce static-libstdcpp jdk-bundled-zlib
+PKG_SUGGESTED_OPTIONS= jre-jce
+.if ${OPSYS} != "Darwin"
+PKG_SUPPORTED_OPTIONS+= x11
+PKG_SUGGESTED_OPTIONS+= x11
+.endif
+
+.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "x86_64"
+PKG_OPTIONS_GROUP.variant+= jdk-hotspot-vm
+PKG_SUGGESTED_OPTIONS+= jdk-hotspot-vm
+.else
+PKG_SUGGESTED_OPTIONS+= jdk-zero-vm
+.endif
+
+.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 100000
+PKG_SUGGESTED_OPTIONS+= jdk-bundled-zlib
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+###
+### Java(TM) Cryptography Extension (JCE)
+###
+.if !empty(PKG_OPTIONS:Mjre-jce)
+CONFIGURE_ARGS+= --enable-unlimited-crypto
+.else
+CONFIGURE_ARGS+= --disable-unlimited-crypto
+.endif
+
+###
+### X11 or headless build
+###
+PLIST_VARS+= splashscreen x11
+.if !empty(PKG_OPTIONS:Mx11)
+PLIST.splashscreen= yes
+PLIST.x11= yes
+CONFIGURE_ARGS+= --x-includes=${X11BASE}/include
+CONFIGURE_ARGS+= --x-libraries=${X11BASE}/lib
+CONFIGURE_ARGS+= --disable-headless-only
+DEPENDS+= dejavu-ttf-[0-9]*:../../fonts/dejavu-ttf
+#DEPENDS+= ja-sazanami-ttf-[0-9]*:../../fonts/ja-sazanami-ttf
+#DEPENDS+= baekmuk-ttf-[0-9]*:../../fonts/baekmuk-ttf
+.include "../../x11/libXi/buildlink3.mk"
+.include "../../x11/libX11/buildlink3.mk"
+.include "../../x11/libXext/buildlink3.mk"
+BUILDLINK_DEPMETHOD.libXt?= build
+.include "../../x11/libXt/buildlink3.mk"
+.include "../../x11/libXrender/buildlink3.mk"
+.include "../../x11/libXtst/buildlink3.mk"
+.include "../../x11/libXrandr/buildlink3.mk"
+.elif ${OPSYS} == "Darwin"
+PLIST.splashscreen= yes
+# The Metal compiler is no longer part of Xcode itself.
+# You need to manually run `sudo xcodebuild -downloadComponent MetalToolchain`
+CONFIGURE_ARGS+= METAL="xcrun metal"
+CONFIGURE_ARGS+= METALLIB="xcrun metallib"
+.else
+CONFIGURE_ARGS+= --x-includes=${X11BASE}/include
+CONFIGURE_ARGS+= --x-libraries=${X11BASE}/lib
+CONFIGURE_ARGS+= --enable-headless-only
+# We apparently still need the Xlib headers and libraries to build headless. why?
+BUILDLINK_DEPMETHOD.libX11?= build
+.include "../../x11/libX11/buildlink3.mk"
+BUILDLINK_DEPMETHOD.libXext?=build
+.include "../../x11/libXext/buildlink3.mk"
+BUILDLINK_DEPMETHOD.libXt?= build
+.include "../../x11/libXt/buildlink3.mk"
+BUILDLINK_DEPMETHOD.libXrender?=build
+.include "../../x11/libXrender/buildlink3.mk"
+BUILDLINK_DEPMETHOD.libXtst?=build
+.include "../../x11/libXtst/buildlink3.mk"
+BUILDLINK_DEPMETHOD.libXrandr?=build
+.include "../../x11/libXrandr/buildlink3.mk"
+.endif
+
+#
+# Debugging
+#
+.if !empty(PKG_OPTIONS:Mdebug)
+BUILD_DEBUG_LEVEL= fastdebug
+CONFIGURE_ARGS+= --with-native-debug-symbols=external
+CONFIGURE_ARGS+= --enable-debug
+PLIST_SUBST+= DBGEXT=.debuginfo
+.else
+BUILD_DEBUG_LEVEL= release
+CONFIGURE_ARGS+= --with-native-debug-symbols=zipped
+PLIST_SUBST+= DBGEXT=.diz
+.endif
+
+.if !empty(PKG_OPTIONS:Mdtrace)
+CONFIGURE_ARGS+= --enable-dtrace=yes
+.else
+CONFIGURE_ARGS+= --enable-dtrace=no
+.endif
+
+#
+# static libstdc++ and libgcc
+#
+# On NetBSD you need to use libstdc++_pic.a when creating a shared library,
+# but I don't think there is any easy way to tell the compiler to do this.
+# Also, -static-libgcc doesn't work because libpthread needs dynamic
+# linkage of libgcc.
+.if !empty(PKG_OPTIONS:Mstatic-libstdcpp)
+. if ${OPSYS} == "NetBSD" && !empty(PKGSRC_COMPILER:Mgcc)
+BUILDLINK_TRANSFORM+= rm:-static-libgcc
+. endif
+.else
+CONFIGURE_ARGS+= --with-stdc++lib=dynamic
+.endif
+
+#
+# Build variant. Zero VM builds a portable JVM without assembly optimization.
+#
+PLIST_SUBST+= BUILD_VARIANT=${BUILD_VARIANT}
+PLIST_VARS+= hotspot zero
+.if !empty(PKG_OPTIONS:Mjdk-zero-vm)
+BUILD_VARIANT= zero
+PLIST.zero= yes
+.include "../../devel/libffi/buildlink3.mk"
+.elif !empty(PKG_OPTIONS:Mjdk-hotspot-vm)
+BUILD_VARIANT= server
+PLIST.hotspot= yes
+.endif
+CONFIGURE_ARGS+= --with-jvm-variants=${BUILD_VARIANT}
+
+PLIST_VARS+= jdk_bundled_zlib
+.if !empty(PKG_OPTIONS:Mjdk-bundled-zlib)
+PLIST.jdk_bundled_zlib= yes
+CONFIGURE_ARGS+= --with-zlib=bundled
+.else
+CONFIGURE_ARGS+= --with-zlib=system
+.include "../../devel/zlib/buildlink3.mk"
+.endif
Index: pkgsrc/lang/openjdk25/patches/patch-make_autoconf_buildjdk-spec.gmk.template
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-make_autoconf_buildjdk-spec.gmk.template:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-make_autoconf_buildjdk-spec.gmk.template Sat Sep 26 12:54:51 2026
@@ -0,0 +1,35 @@
+$NetBSD: patch-make_autoconf_buildjdk-spec.gmk.template,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+Use the same variant for the buildjdk as the target jdk.
+This is needed for native builds on platforms where hotspot is broken or not
+supported. In that case the buildjdk can't be hardcoded to "server" but must
+use "zero". This is fine for pkgsrc since we only ever build one variant.
+
+The buildjdk is run out of the build tree, so on Darwin its libraries must
+not claim to live in ${PREFIX}. c.f. flags-cflags.m4.
+
+--- make/autoconf/buildjdk-spec.gmk.template.orig 2026-07-24 17:22:09.000000000 +0000
++++ make/autoconf/buildjdk-spec.gmk.template
+@@ -53,6 +53,10 @@ SUPPORT_OUTPUTDIR := $(patsubst $(OUTPUT
+ JDK_OUTPUTDIR := $(patsubst $(OUTPUTDIR)%,$(BUILDJDK_OUTPUTDIR)%,$(JDK_OUTPUTDIR))
+ IMAGES_OUTPUTDIR := $(patsubst $(OUTPUTDIR)%,$(BUILDJDK_OUTPUTDIR)%,$(IMAGES_OUTPUTDIR))
+
++ifeq ($(OPENJDK_TARGET_OS), macosx)
++ SET_SHARED_LIBRARY_NAME = -Wl,-install_name,$(JDK_OUTPUTDIR)/lib/$(patsubst libjvm.%,$(JVM_VARIANT_MAIN)/libjvm.%,$1)
++endif
++
+ OPENJDK_BUILD_CPU_LEGACY := @OPENJDK_BUILD_CPU_LEGACY@
+ OPENJDK_BUILD_CPU_LEGACY_LIB := @OPENJDK_BUILD_CPU_LEGACY_LIB@
+ OPENJDK_BUILD_LIBC := @OPENJDK_BUILD_LIBC@
+@@ -95,8 +99,9 @@ DISABLE_WARNING_PREFIX := @BUILD_CC_DISA
+ # Save speed and disk space by not enabling debug symbols for the buildjdk
+ ENABLE_DEBUG_SYMBOLS := false
+
+-JVM_VARIANTS := server
+-JVM_VARIANT_MAIN := server
++JVM_VARIANTS := @JVM_VARIANTS@
++JVM_VARIANT_MAIN := @JVM_VARIANT_MAIN@
++JVM_FEATURES_zero := cds g1gc serialgc zero
+ JVM_FEATURES_server := cds compiler1 compiler2 g1gc serialgc
+
+ # Some users still set EXTRA_*FLAGS on the make command line. Must
Index: pkgsrc/lang/openjdk25/patches/patch-make_autoconf_flags-cflags.m4
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-make_autoconf_flags-cflags.m4:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-make_autoconf_flags-cflags.m4 Sat Sep 26 12:54:51 2026
@@ -0,0 +1,51 @@
+$NetBSD: patch-make_autoconf_flags-cflags.m4,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+We prefer to use explicit run paths.
+
+--- make/autoconf/flags-cflags.m4.orig 2026-07-24 17:22:09.000000000 +0000
++++ make/autoconf/flags-cflags.m4
+@@ -40,17 +40,17 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
+ # --disable-new-dtags forces use of RPATH instead of RUNPATH for rpaths.
+ # This protects internal library dependencies within the JDK from being
+ # overridden using LD_LIBRARY_PATH. See JDK-8326891 for more information.
+- SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1 -Wl,--disable-new-dtags'
+- SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
++ SET_EXECUTABLE_ORIGIN='@COMPILER_RPATH_FLAG@@PREFIX@/java/@JAVA_NAME@/lib @COMPILER_RPATH_FLAG@@PREFIX@/java/@JAVA_NAME@/lib/${JVM_VARIANT_MAIN}'
++ SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
+ SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
+
+ elif test "x$TOOLCHAIN_TYPE" = xclang; then
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ # Linking is different on MacOSX
+ SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0"
+- SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path$(or [$]1,/.)'
+- SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
+- SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1'
++ SET_EXECUTABLE_ORIGIN=''
++ SET_SHARED_LIBRARY_ORIGIN=''
++ SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@PREFIX@/java/@JAVA_NAME@/lib/$(patsubst libjvm.%,${JVM_VARIANT_MAIN}/libjvm.%,[$]1)'
+
+ elif test "x$OPENJDK_TARGET_OS" = xaix; then
+ # Linking is different on aix
+@@ -62,19 +62,12 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
+ else
+ # Default works for linux, might work on other platforms as well.
+ SHARED_LIBRARY_FLAGS='-shared'
+- SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
++ SET_EXECUTABLE_ORIGIN='@COMPILER_RPATH_FLAG@@PREFIX@/java/@JAVA_NAME@/lib @COMPILER_RPATH_FLAG@@PREFIX@/java/@JAVA_NAME@/lib/${JVM_VARIANT_MAIN}'
+ if test "x$OPENJDK_TARGET_OS" = xlinux; then
+ SET_EXECUTABLE_ORIGIN="$SET_EXECUTABLE_ORIGIN -Wl,--disable-new-dtags"
+ fi
+ SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
+-
+- # arm specific settings
+- if test "x$OPENJDK_TARGET_CPU" = "xarm"; then
+- # '-Wl,-z,origin' isn't used on arm.
+- SET_SHARED_LIBRARY_ORIGIN='-Wl,-rpath,\$$$$ORIGIN[$]1'
+- else
+- SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
+- fi
++ SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
+ fi
+
+ elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
Index: pkgsrc/lang/openjdk25/patches/patch-make_autoconf_hotspot.m4
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-make_autoconf_hotspot.m4:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-make_autoconf_hotspot.m4 Sat Sep 26 12:54:51 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-make_autoconf_hotspot.m4,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+Fix buildjdk targeting for 32-bit ARM.
+
+--- make/autoconf/hotspot.m4.orig 2023-10-23 01:33:53.000000000 +0000
++++ make/autoconf/hotspot.m4
+@@ -112,6 +112,8 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_MISC],
+ # But when building zero, we never build any other variants so it works.
+ HOTSPOT_TARGET_CPU=zero
+ HOTSPOT_TARGET_CPU_ARCH=zero
++ HOTSPOT_BUILD_CPU=zero
++ HOTSPOT_BUILD_CPU_ARCH=zero
+ fi
+
+
Index: pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-alsa.m4
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-alsa.m4:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-alsa.m4 Sat Sep 26 12:54:51 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-make_autoconf_lib-alsa.m4,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+* Fix RPATH for libasound.so. These should use COMPILER_RPATH_FLAG.
+
+--- make/autoconf/lib-alsa.m4.orig 2021-04-24 02:47:22.000000000 +0000
++++ make/autoconf/lib-alsa.m4
+@@ -52,7 +52,7 @@ AC_DEFUN_ONCE([LIB_SETUP_ALSA],
+ fi
+
+ if test "x${with_alsa}" != x; then
+- ALSA_LIBS="-L${with_alsa}/lib -lasound"
++ ALSA_LIBS="-L${with_alsa}/lib -Wl,-rpath,${with_alsa}/lib -lasound"
+ ALSA_CFLAGS="-I${with_alsa}/include"
+ ALSA_FOUND=yes
+ fi
+@@ -61,7 +61,7 @@ AC_DEFUN_ONCE([LIB_SETUP_ALSA],
+ ALSA_FOUND=yes
+ fi
+ if test "x${with_alsa_lib}" != x; then
+- ALSA_LIBS="-L${with_alsa_lib} -lasound"
++ ALSA_LIBS="-L${with_alsa_lib} -Wl,-rpath,${with_alsa}/lib -lasound"
+ ALSA_FOUND=yes
+ fi
+ # Do not try pkg-config if we have a sysroot set.
Index: pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-bundled.m4
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-bundled.m4:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-bundled.m4 Sat Sep 26 12:54:51 2026
@@ -0,0 +1,16 @@
+$NetBSD: patch-make_autoconf_lib-bundled.m4,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+Add rpath for zlib.
+
+--- make/autoconf/lib-bundled.m4.orig 2026-07-23 23:33:34.000000000 +0000
++++ make/autoconf/lib-bundled.m4
+@@ -266,7 +266,8 @@ AC_DEFUN_ONCE([LIB_SETUP_ZLIB],
+ LIBZ_CFLAGS="$LIBZ_CFLAGS -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1"
+ fi
+ else
+- LIBZ_LIBS="-lz"
++ LIBZ_CFLAGS="-I@BUILDLINK_PREFIX.zlib@/include"
++ LIBZ_LIBS="@COMPILER_RPATH_FLAG@@BUILDLINK_PREFIX.zlib@/lib -L@BUILDLINK_PREFIX.zlib@/lib -lz"
+ fi
+
+ AC_SUBST(USE_EXTERNAL_LIBZ)
Index: pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-freetype.m4
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-freetype.m4:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-freetype.m4 Sat Sep 26 12:54:51 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-make_autoconf_lib-freetype.m4,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+Add rpath for freetype.
+
+--- make/autoconf/lib-freetype.m4.orig 2022-02-05 03:44:09.000000000 +0000
++++ make/autoconf/lib-freetype.m4
+@@ -231,7 +231,7 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
+ fi
+
+ if test "x$FREETYPE_LIBS" = "x" ; then
+- FREETYPE_LIBS="-L$FREETYPE_LIB_PATH -l$FREETYPE_BASE_NAME"
++ FREETYPE_LIBS="@COMPILER_RPATH_FLAG@$FREETYPE_LIB_PATH -L$FREETYPE_LIB_PATH -l$FREETYPE_BASE_NAME"
+ fi
+ fi
+
Index: pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-x11.m4
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-x11.m4:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-make_autoconf_lib-x11.m4 Sat Sep 26 12:54:51 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-make_autoconf_lib-x11.m4,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+Add rpath for X11.
+
+--- make/autoconf/lib-x11.m4.orig 2022-02-05 03:44:09.000000000 +0000
++++ make/autoconf/lib-x11.m4
+@@ -92,6 +92,8 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
+ AC_MSG_ERROR([Could not find X11 libraries. $HELP_MSG])
+ fi
+
++ X_LIBS="@COMPILER_RPATH_FLAG@${x_libraries} ${X_LIBS}"
++
+ AC_LANG_PUSH(C)
+ OLD_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $SYSROOT_CFLAGS $X_CFLAGS"
Index: pkgsrc/lang/openjdk25/patches/patch-make_common_JdkNativeCompilation.gmk
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-make_common_JdkNativeCompilation.gmk:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-make_common_JdkNativeCompilation.gmk Sat Sep 26 12:54:51 2026
@@ -0,0 +1,17 @@
+$NetBSD: patch-make_common_JdkNativeCompilation.gmk,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+c.f. buildjdk-spec.gmk.template.patch.
+
+--- make/common/JdkNativeCompilation.gmk.orig 2026-09-06 09:55:09.184970691 +0000
++++ make/common/JdkNativeCompilation.gmk
+@@ -123,7 +123,9 @@ define ResolveLibPath
+ # Special treatment for hotspot
+ ifeq ($(CREATING_BUILDJDK), true)
+ # When building a buildjdk, it's always only the server variant
+- $1_$2_JVM_VARIANT_PATH := server
++ # xxx pkgsrc: On 32-bit native builds zero may be the only available variant
++ # so follow the spec.
++ $1_$2_JVM_VARIANT_PATH := $(JVM_VARIANT_MAIN)
+ else
+ $1_$2_JVM_VARIANT_PATH := $(JVM_VARIANT_MAIN)
+ endif
Index: pkgsrc/lang/openjdk25/patches/patch-make_common_native_Link.gmk
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-make_common_native_Link.gmk:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-make_common_native_Link.gmk Sat Sep 26 12:54:51 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-make_common_native_Link.gmk,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+Fix mismerged NetBSD patch (missing hard TAB).
+
+--- make/common/native/Link.gmk.orig 2026-07-24 17:22:09.000000000 +0000
++++ make/common/native/Link.gmk
+@@ -195,7 +195,7 @@ define CreateDynamicLibraryOrExecutable
+ endif
+ endif
+ ifeq ($(OPENJDK_TARGET_OS_ENV), bsd.netbsd)
+- /usr/sbin/paxctl +m $$@
++ $$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_paxctl, /usr/sbin/paxctl +m $$@)
+ endif
+ ifneq ($(MACOSX_CODESIGN_MODE), disabled)
+ # Remove signature explicitly first to avoid warnings if the linker
Index: pkgsrc/lang/openjdk25/patches/patch-src_hotspot_cpu_aarch64_macroAssembler__aarch64.cpp
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-src_hotspot_cpu_aarch64_macroAssembler__aarch64.cpp:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-src_hotspot_cpu_aarch64_macroAssembler__aarch64.cpp Sat Sep 26 12:54:51 2026
@@ -0,0 +1,25 @@
+$NetBSD: patch-src_hotspot_cpu_aarch64_macroAssembler__aarch64.cpp,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+GCC 7 (on NetBSD 9) complains:
+
+macroAssembler_aarch64.cpp: In member function 'void MacroAssembler::clinit_barrier(Register, Register, Label*, Label*)':
+macroAssembler_aarch64.cpp:2048:48: error: call of overloaded 'cmp(Register&, InstanceKlass::ClassState)' is ambiguous
+cmp(scratch, InstanceKlass::fully_initialized);
+macroAssembler_aarch64.hpp:204:15: note: candidate: void MacroAssembler::cmp(Register, unsigned char)
+inline void cmp(Register Rd, unsigned char imm8) { subs(zr, Rd, imm8); }
+macroAssembler_aarch64.hpp:205:15: note: candidate: void MacroAssembler::cmp(Register, unsigned int) <deleted>
+inline void cmp(Register Rd, unsigned imm) = delete;
+
+GCC 7 is not supported by OpenJDK 25 but it's an easy fix so why not.
+
+--- src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp.orig 2026-09-05 19:06:13.774758654 +0000
++++ src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
+@@ -2045,7 +2045,7 @@ void MacroAssembler::clinit_barrier(Register klass, Re
+ // Fast path check: class is fully initialized
+ lea(scratch, Address(klass, InstanceKlass::init_state_offset()));
+ ldarb(scratch, scratch);
+- cmp(scratch, InstanceKlass::fully_initialized);
++ cmp(scratch, (unsigned char)InstanceKlass::fully_initialized);
+ br(Assembler::EQ, *L_fast_path);
+
+ // Fast path check: current thread is initializer thread
Index: pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp Sat Sep 26 12:54:51 2026
@@ -0,0 +1,131 @@
+$NetBSD: patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+Add runtime CPU detection support for NetBSD.
+
+--- src/hotspot/os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp.orig 2026-07-24 17:22:09.000000000 +0000
++++ src/hotspot/os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp
+@@ -27,6 +27,13 @@
+ #include "runtime/java.hpp"
+ #include "runtime/os.hpp"
+ #include "vm_version_aarch64.hpp"
++#if defined(__NetBSD__)
++#include "register_aarch64.hpp" // for FloatRegister
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#include <machine/armreg.h>
++#include <stdio.h>
++#endif
+
+ void VM_Version::get_compatible_board(char *buf, int buflen) {
+ assert(buf != nullptr, "invalid argument");
+@@ -545,6 +552,110 @@ void VM_Version::get_os_cpu_info() {
+ }
+ #endif // __FreeBSD__
+ #endif // __FreeBSD__ || __OpenBSD__
++
++#if defined(__NetBSD__)
++ size_t len;
++ int curcpu;
++ int mib[] = { CTL_HW, HW_NCPU };
++ int ncpu;
++ struct aarch64_sysctl_cpu_id id;
++ char path[32];
++ int num_fp = 0;
++ int num_asimd = 0;
++ int num_aes = 0;
++ int num_pmull = 0;
++ int num_sha1 = 0;
++ int num_sha2 = 0;
++ int num_crc32 = 0;
++ int num_lse = 0;
++ int num_dcpop = 0;
++ int num_sha3 = 0;
++ int num_sha512 = 0;
++ int num_sve = 0;
++ int num_paca = 0;
++ len = sizeof(ncpu);
++ if (sysctl(mib, 2, &ncpu, &len, NULL, 0) < 0)
++ return;
++ for (curcpu = 0; curcpu < ncpu; curcpu++) {
++ len = sizeof(id);
++ snprintf(path, sizeof(path), "machdep.cpu%d.cpu_id", curcpu);
++ if (sysctlbyname(path, &id, &len, NULL, 0) < 0)
++ continue;
++
++ if (__SHIFTOUT(id.ac_aa64pfr0, ID_AA64PFR0_EL1_FP) == ID_AA64PFR0_EL1_FP_IMPL)
++ num_fp++;
++ if (__SHIFTOUT(id.ac_aa64pfr0, ID_AA64PFR0_EL1_ADVSIMD) == ID_AA64PFR0_EL1_ADV_SIMD_IMPL)
++ num_asimd++;
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_AES) >= ID_AA64ISAR0_EL1_AES_AES)
++ num_aes++;
++ if ( __SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_AES) >= ID_AA64ISAR0_EL1_AES_PMUL)
++ num_pmull++;
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_SHA1) >= ID_AA64ISAR0_EL1_SHA1_SHA1CPMHSU)
++ num_sha1++;
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_SHA2) >= ID_AA64ISAR0_EL1_SHA2_SHA256HSU)
++ num_sha2++;
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_CRC32) >= ID_AA64ISAR0_EL1_CRC32_CRC32X)
++ num_crc32++;
++#if defined(ID_AA64ISAR0_EL1_ATOMIC_SWP)
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_ATOMIC) >= ID_AA64ISAR0_EL1_ATOMIC_SWP)
++ num_lse++;
++#endif
++#if defined(ID_AA64ISAR1_EL1_DPB_CVAP)
++ if (__SHIFTOUT(id.ac_aa64isar1, ID_AA64ISAR1_EL1_DPB) >= ID_AA64ISAR1_EL1_DPB_CVAP)
++ num_dcpop++;
++#endif
++#if defined(ID_AA64ISAR0_EL1_SHA3_EOR3)
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_SHA3) >= ID_AA64ISAR0_EL1_SHA3_EOR3)
++ num_sha3++;
++#endif
++#if defined(ID_AA64ISAR0_EL1_SHA2_SHA512HSU)
++ if (__SHIFTOUT(id.ac_aa64isar0, ID_AA64ISAR0_EL1_SHA2) >= ID_AA64ISAR0_EL1_SHA2_SHA512HSU)
++ num_sha512++;
++#endif
++#if defined(ID_AA64PFR0_EL1_SVE_IMPL)
++ if (__SHIFTOUT(id.ac_aa64pfr0, ID_AA64PFR0_EL1_SVE) >= ID_AA64PFR0_EL1_SVE_IMPL)
++ num_sve++;
++#endif
++#if defined(ID_AA64ISAR1_EL1_APA_QARMA) && defined(ID_AA64ISAR1_EL1_API_SUPPORTED)
++ if (__SHIFTOUT(id.ac_aa64isar1, ID_AA64ISAR1_EL1_APA) >= ID_AA64ISAR1_EL1_APA_QARMA ||
++ __SHIFTOUT(id.ac_aa64isar1, ID_AA64ISAR1_EL1_API) >= ID_AA64ISAR1_EL1_API_SUPPORTED)
++ num_paca++;
++#endif
++ // TODO: SVE2 and SVE_BITPERM live in id.ac_aa64zfr0 but shiftout macros are not yet added to armreg.h
++ }
++ _features = 0;
++ if (num_fp == ncpu)
++ _features |= CPU_FP;
++ if (num_asimd == ncpu)
++ _features |= CPU_ASIMD;
++ if (num_aes == ncpu)
++ _features |= CPU_AES;
++ if (num_pmull == ncpu)
++ _features |= CPU_PMULL;
++ if (num_sha1 == ncpu)
++ _features |= CPU_SHA1;
++ if (num_sha2 == ncpu)
++ _features |= CPU_SHA2;
++ if (num_crc32 == ncpu)
++ _features |= CPU_CRC32;
++ if (num_lse == ncpu)
++ _features |= CPU_LSE;
++ if (num_dcpop == ncpu)
++ _features |= CPU_DCPOP;
++ if (num_sha3 == ncpu)
++ _features |= CPU_SHA3;
++ if (num_sha512 == ncpu)
++ _features |= CPU_SHA512;
++ if (num_sve == ncpu)
++ _features |= CPU_SVE;
++ if (num_paca == ncpu)
++ _features |= CPU_PACA;
++
++ _cpu = CPU_IMPL(id.ac_midr);
++ _model = CPU_PART(id.ac_midr);
++ _variant = CPU_VAR(id.ac_midr);
++ _revision = CPU_REV(id.ac_midr);
++#endif
+
+ /*
+ * Step 3: Get cache line sizes and _zva_length using same approach as Linux.
Index: pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os__cpu_bsd__zero_os__bsd__zero.cpp
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os__cpu_bsd__zero_os__bsd__zero.cpp:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os__cpu_bsd__zero_os__bsd__zero.cpp Sat Sep 26 12:54:51 2026
@@ -0,0 +1,51 @@
+$NetBSD: patch-src_hotspot_os__cpu_bsd__zero_os__bsd__zero.cpp,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+Fix zero build on NetBSD.
+
+--- src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp.orig 2026-07-24 17:22:09.000000000 +0000
++++ src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp
+@@ -91,7 +91,13 @@ address os::Posix::ucontext_get_pc(const ucontext_t* u
+
+ address os::Posix::ucontext_get_pc(const ucontext_t* uc) {
+ if (DecodeErrorContext) {
+-#if defined(IA32)
++#if defined(__NetBSD__) && defined(IA32)
++ return (address)uc->uc_mcontext.__gregs[_REG_EIP];
++#elif defined(__NetBSD__) && defined(AMD64)
++ return (address)uc->uc_mcontext.__gregs[_REG_RIP];
++#elif defined(__NetBSD__) && defined(AARCH64)
++ return (address)uc->uc_mcontext.__gregs[_REG_ELR];
++#elif defined(IA32)
+ return (address)uc->uc_mcontext.mc_eip;
+ #elif defined(AMD64)
+ return (address)uc->uc_mcontext.mc_rip;
+@@ -116,7 +122,13 @@ intptr_t* os::Bsd::ucontext_get_sp(const ucontext_t* u
+
+ intptr_t* os::Bsd::ucontext_get_sp(const ucontext_t* uc) {
+ if (DecodeErrorContext) {
+-#if defined(IA32)
++#if defined(__NetBSD__) && defined(IA32)
++ return (intptr_t*)uc->uc_mcontext.__gregs[_REG_ESP];
++#elif defined(__NetBSD__) && defined(AMD64)
++ return (intptr_t*)uc->uc_mcontext.__gregs[_REG_RSP];
++#elif defined(__NetBSD__) && defined(AARCH64)
++ return (intptr_t*)uc->uc_mcontext.__gregs[_REG_SP];
++#elif defined(IA32)
+ return (intptr_t*)uc->uc_mcontext.mc_esp;
+ #elif defined(AMD64)
+ return (intptr_t*)uc->uc_mcontext.mc_rsp;
+@@ -137,7 +149,13 @@ intptr_t* os::Bsd::ucontext_get_fp(const ucontext_t* u
+
+ intptr_t* os::Bsd::ucontext_get_fp(const ucontext_t* uc) {
+ if (DecodeErrorContext) {
+-#if defined(IA32)
++#if defined(__NetBSD__) && defined(IA32)
++ return (intptr_t*)uc->uc_mcontext.__gregs[_REG_EBP];
++#elif defined(__NetBSD__) && defined(AMD64)
++ return (intptr_t*)uc->uc_mcontext.__gregs[_REG_RBP];
++#elif defined(__NetBSD__) && defined(AARCH64)
++ return (intptr_t*)uc->uc_mcontext.__gregs[_REG_FP];
++#elif defined(IA32)
+ return (intptr_t*)uc->uc_mcontext.mc_ebp;
+ #elif defined(AMD64)
+ return (intptr_t*)uc->uc_mcontext.mc_rbp;
Index: pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os_bsd_os__bsd.cpp
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os_bsd_os__bsd.cpp:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os_bsd_os__bsd.cpp Sat Sep 26 12:54:51 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_hotspot_os_bsd_os__bsd.cpp,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+add pkgsrc library paths
+
+--- src/hotspot/os/bsd/os_bsd.cpp.orig 2022-07-20 05:25:50.000000000 +0000
++++ src/hotspot/os/bsd/os_bsd.cpp
+@@ -386,7 +386,7 @@ void os::init_system_properties_values()
+ #ifdef __APPLE__
+ #define DEFAULT_LIBPATH "/lib:/usr/lib"
+ #elif defined(__NetBSD__)
+- #define DEFAULT_LIBPATH "/usr/lib:/usr/pkg/lib"
++ #define DEFAULT_LIBPATH "@PREFIX@/lib/jni:@PREFIX@/lib:/lib:/usr/lib"
+ #else
+ #define DEFAULT_LIBPATH "/usr/lib:/usr/local/lib"
+ #endif
Index: pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os_posix_os__posix.cpp
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os_posix_os__posix.cpp:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-src_hotspot_os_posix_os__posix.cpp Sat Sep 26 12:54:51 2026
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_hotspot_os_posix_os__posix.cpp,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+NetBSD 9 has no PTHREAD_STACK_MIN declaration.
+
+--- src/hotspot/os/posix/os_posix.cpp.orig 2026-09-05 19:12:57.352207078 +0000
++++ src/hotspot/os/posix/os_posix.cpp
+@@ -105,6 +105,9 @@ static int clock_tics_per_sec = 100;
+ static int clock_tics_per_sec = 100;
+
+ // Platform minimum stack allowed
++#if defined(__NetBSD__) && !defined(PTHREAD_STACK_MIN)
++#define PTHREAD_STACK_MIN 4096 /* MIN_PAGE_SIZE */
++#endif
+ size_t os::_os_min_stack_allowed = PTHREAD_STACK_MIN;
+
+ // Check core dump limit and report possible place where core can be found
Index: pkgsrc/lang/openjdk25/patches/patch-src_hotspot_share_runtime_arguments.cpp
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-src_hotspot_share_runtime_arguments.cpp:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-src_hotspot_share_runtime_arguments.cpp Sat Sep 26 12:54:51 2026
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_hotspot_share_runtime_arguments.cpp,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+WIP try to prevent overflow on 32-bit when running in a chroot
+and the host has more than 4 GB of RAM.
+
+--- src/hotspot/share/runtime/arguments.cpp.orig 2026-09-05 22:40:16.647006757 +0000
++++ src/hotspot/share/runtime/arguments.cpp
+@@ -1534,6 +1534,8 @@ void Arguments::set_heap_size() {
+ reasonable_max = MIN2(reasonable_max, (julong)ErgoHeapSizeLimit);
+ }
+
++ reasonable_max = MIN2(reasonable_max, (julong)ULONG_MAX);
++
+ reasonable_max = limit_heap_by_allocatable_memory(reasonable_max);
+
+ if (!FLAG_IS_DEFAULT(InitialHeapSize)) {
Index: pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_bsd_data_fontconfig_fontconfig.properties
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_bsd_data_fontconfig_fontconfig.properties:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_bsd_data_fontconfig_fontconfig.properties Sat Sep 26 12:54:51 2026
@@ -0,0 +1,53 @@
+$NetBSD: patch-src_java.desktop_bsd_data_fontconfig_fontconfig.properties,v 1.1 2026/09/26 12:54:51 tnn Exp $
+
+Use pkgsrc fontconfig.
+
+--- src/java.desktop/bsd/data/fontconfig/fontconfig.properties.orig 2023-10-23 01:33:53.000000000 +0000
++++ src/java.desktop/bsd/data/fontconfig/fontconfig.properties
+@@ -167,26 +167,26 @@ sequence.fallback=chinese-big5,chinese-g
+ # Font File Names
+
+ ## FIXME: Should not hardcode /usr/local
+-filename.DejaVu_Sans=/usr/local/lib/X11/fonts/dejavu/DejaVuSans.ttf
+-filename.DejaVu_Sans_Bold=/usr/local/lib/X11/fonts/dejavu/DejaVuSans-Bold.ttf
+-filename.DejaVu_Sans_Oblique=/usr/local/lib/X11/fonts/dejavu/DejaVuSans-Oblique.ttf
+-filename.DejaVu_Sans_Bold_Oblique=/usr/local/lib/X11/fonts/dejavu/DejaVuSans-BoldOblique.ttf
++filename.DejaVu_Sans=@PREFIX@/share/fonts/X11/TTF/DejaVuSans.ttf
++filename.DejaVu_Sans_Bold=@PREFIX@/share/fonts/X11/TTF/DejaVuSans-Bold.ttf
++filename.DejaVu_Sans_Oblique=@PREFIX@/share/fonts/X11/TTF/DejaVuSans-Oblique.ttf
++filename.DejaVu_Sans_Bold_Oblique=@PREFIX@/share/fonts/X11/TTF/DejaVuSans-BoldOblique.ttf
+
+-filename.DejaVu_Sans_Mono=/usr/local/lib/X11/fonts/dejavu/DejaVuSansMono.ttf
+-filename.DejaVu_Sans_Mono_Bold=/usr/local/lib/X11/fonts/dejavu/DejaVuSansMono-Bold.ttf
+-filename.DejaVu_Sans_Mono_Oblique=/usr/local/lib/X11/fonts/dejavu/DejaVuSansMono-Oblique.ttf
+-filename.DejaVu_Sans_Mono_Bold_Oblique=/usr/local/lib/X11/fonts/dejavu/DejaVuSansMono-BoldOblique.ttf
++filename.DejaVu_Sans_Mono=@PREFIX@/share/fonts/X11/TTF/DejaVuSansMono.ttf
++filename.DejaVu_Sans_Mono_Bold=@PREFIX@/share/fonts/X11/TTF/DejaVuSansMono-Bold.ttf
++filename.DejaVu_Sans_Mono_Oblique=@PREFIX@/share/fonts/X11/TTF/DejaVuSansMono-Oblique.ttf
++filename.DejaVu_Sans_Mono_Bold_Oblique=@PREFIX@/share/fonts/X11/TTF/DejaVuSansMono-BoldOblique.ttf
+
+-filename.DejaVu_Serif=/usr/local/lib/X11/fonts/dejavu/DejaVuSerif.ttf
+-filename.DejaVu_Serif_Bold=/usr/local/lib/X11/fonts/dejavu/DejaVuSerif-Bold.ttf
+-filename.DejaVu_Serif_Italic=/usr/local/lib/X11/fonts/dejavu/DejaVuSerif-Italic.ttf
+-filename.DejaVu_Serif_Bold_Italic=/usr/local/lib/X11/fonts/dejavu/DejaVuSerif-BoldItalic.ttf
++filename.DejaVu_Serif=@PREFIX@/share/fonts/X11/TTF/DejaVuSerif.ttf
++filename.DejaVu_Serif_Bold=@PREFIX@/share/fonts/X11/TTF/DejaVuSerif-Bold.ttf
++filename.DejaVu_Serif_Italic=@PREFIX@/share/fonts/X11/TTF/DejaVuSerif-Italic.ttf
++filename.DejaVu_Serif_Bold_Italic=@PREFIX@/share/fonts/X11/TTF/DejaVuSerif-BoldItalic.ttf
+
+-filename.Sazanami_Gothic=/usr/local/share/font-sazanami/sazanami-gothic.ttf
+-filename.Sazanami_Mincho=/usr/local/share/font-sazanami/sazanami-mincho.ttf
+-filename.AR_PL_ShanHeiSun_Uni=/usr/local/share/fonts/TrueType/uming.ttc
+-filename.AR_PL_ZenKai_Uni=/usr/local/share/fonts/TrueType/ukai.ttc
+-filename.NanumGothic=/usr/local/lib/X11/fonts/nanum-ttf/NanumGothic.ttf
+-filename.NanumGothic_Bold=/usr/local/lib/X11/fonts/nanum-ttf/NanumGothicBold.ttf
+-filename.NanumMyeongjo=/usr/local/lib/X11/fonts/nanum-ttf/NanumMyeongjo.ttf
+-filename.NanumMyeongjo_Bold=/usr/local/lib/X11/fonts/nanum-ttf/NanumMyeongjoBold.ttf
++filename.Sazanami_Gothic=@PREFIX@/share/fonts/X11/TTF/sazanami-gothic.ttf
++filename.Sazanami_Mincho=@PREFIX@/share/fonts/X11/TTF/sazanami-mincho.ttf
++filename.AR_PL_ShanHeiSun_Uni=@PREFIX@/share/fonts/X11/TTF/uming.ttc
++filename.AR_PL_ZenKai_Uni=@PREFIX@/share/fonts/X11/TTF/ukai.ttc
++filename.NanumGothic=@PREFIX@/share/fonts/X11/TTF/NanumGothic.ttf
++filename.NanumGothic_Bold=@PREFIX@/share/fonts/X11/TTF/NanumGothicBold.ttf
++filename.NanumMyeongjo=@PREFIX@/share/fonts/X11/TTF/NanumMyeongjo.ttf
++filename.NanumMyeongjo_Bold=@PREFIX@/share/fonts/X11/TTF/NanumMyeongjoBold.ttf
Index: pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_unix_native_common_awt_fontpath.c
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_unix_native_common_awt_fontpath.c:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_unix_native_common_awt_fontpath.c Sat Sep 26 12:54:52 2026
@@ -0,0 +1,53 @@
+$NetBSD: patch-src_java.desktop_unix_native_common_awt_fontpath.c,v 1.1 2026/09/26 12:54:52 tnn Exp $
+
+Use pkgsrc fonts.
+
+--- src/java.desktop/unix/native/common/awt/fontpath.c.orig 2023-10-23 13:40:41.097871989 +0000
++++ src/java.desktop/unix/native/common/awt/fontpath.c
+@@ -52,8 +52,8 @@
+ extern Display *awt_display;
+ #endif /* !HEADLESS */
+
+-#define FONTCONFIG_DLL_VERSIONED VERSIONED_JNI_LIB_NAME("fontconfig", "1")
+-#define FONTCONFIG_DLL JNI_LIB_NAME("fontconfig")
++#define FONTCONFIG_DLL_VERSIONED "@BUILDLINK_PREFIX.fontconfig@/lib/" JNI_LIB_NAME("fontconfig")
++#define FONTCONFIG_DLL "@BUILDLINK_PREFIX.fontconfig@/lib/" JNI_LIB_NAME("fontconfig")
+
+ #define MAXFDIRS 512 /* Max number of directories that contain fonts */
+
+@@ -84,6 +84,27 @@ static char *fullAixFontPath[] = {
+ NULL, /* terminates the list */
+ };
+ #endif
++static char *pkgsrcFontPath[] = {
++ "@PREFIX@/share/fonts/X11/100dpi",
++ "@PREFIX@/share/fonts/X11/75dpi",
++ "@PREFIX@/share/fonts/X11/Type1",
++ "@PREFIX@/share/fonts/X11/cyrillic",
++ "@PREFIX@/share/fonts/X11/misc",
++ "@PREFIX@/share/fonts/X11/TTF",
++ "/usr/X11R7/lib/X11/fonts/100dpi",
++ "/usr/X11R7/lib/X11/fonts/75dpi",
++ "/usr/X11R7/lib/X11/fonts/Type1",
++ "/usr/X11R7/lib/X11/fonts/cyrillic",
++ "/usr/X11R7/lib/X11/fonts/misc",
++ "/usr/X11R7/lib/X11/fonts/TTF",
++ "/usr/X11R6/lib/X11/fonts/100dpi",
++ "/usr/X11R6/lib/X11/fonts/75dpi",
++ "/usr/X11R6/lib/X11/fonts/Type1",
++ "/usr/X11R6/lib/X11/fonts/cyrillic",
++ "/usr/X11R6/lib/X11/fonts/misc",
++ "/usr/X11R6/lib/X11/fonts/TTF",
++ NULL
++};
+
+ static char **getFontConfigLocations();
+
+@@ -325,6 +346,7 @@ static char *getPlatformFontPathChars(JN
+ #elif defined(_AIX)
+ knowndirs = fullAixFontPath;
+ #endif
++ knowndirs = pkgsrcFontPath;
+ /* REMIND: this code requires to be executed when the GraphicsEnvironment
+ * is already initialised. That is always true, but if it were not so,
+ * this code could throw an exception and the fontpath would fail to
Index: pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_unix_native_libpipewire_include_spa_utils_string.h
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_unix_native_libpipewire_include_spa_utils_string.h:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-src_java.desktop_unix_native_libpipewire_include_spa_utils_string.h Sat Sep 26 12:54:52 2026
@@ -0,0 +1,47 @@
+$NetBSD: patch-src_java.desktop_unix_native_libpipewire_include_spa_utils_string.h,v 1.1 2026/09/26 12:54:52 tnn Exp $
+
+* Fix build with GCC 14. NetBSD has no uselocale().
+
+--- src/java.desktop/unix/native/libpipewire/include/spa/utils/string.h.orig 2026-07-23 23:33:34.000000000 +0000
++++ src/java.desktop/unix/native/libpipewire/include/spa/utils/string.h
+@@ -269,14 +269,20 @@ SPA_API_STRING float spa_strtof(const char *str, char
+ #endif
+ float v;
+ #ifndef __LOCALE_C_ONLY
++#if !defined(__NetBSD__)
+ if (SPA_UNLIKELY(locale == NULL))
+ locale = newlocale(LC_ALL_MASK, "C", NULL);
+ prev = uselocale(locale);
++#else
++ prev = LC_C_LOCALE;
+ #endif
++#endif
+ v = strtof(str, endptr);
+ #ifndef __LOCALE_C_ONLY
++#if !defined(__NetBSD__)
+ uselocale(prev);
+ #endif
++#endif
+ return v;
+ }
+
+@@ -319,13 +325,19 @@ SPA_API_STRING double spa_strtod(const char *str, char
+ #endif
+ double v;
+ #ifndef __LOCALE_C_ONLY
++#if !defined(__NetBSD__)
+ if (SPA_UNLIKELY(locale == NULL))
+ locale = newlocale(LC_ALL_MASK, "C", NULL);
+ prev = uselocale(locale);
++#else
++ prev = LC_C_LOCALE;
+ #endif
++#endif
+ v = strtod(str, endptr);
+ #ifndef __LOCALE_C_ONLY
++#if !defined(__NetBSD__)
+ uselocale(prev);
++#endif
+ #endif
+ return v;
+ }
Index: pkgsrc/lang/openjdk25/patches/patch-src_jdk.attach_bsd_native_libattach_VirtualMachineImpl.c
diff -u /dev/null pkgsrc/lang/openjdk25/patches/patch-src_jdk.attach_bsd_native_libattach_VirtualMachineImpl.c:1.1
--- /dev/null Sat Sep 26 12:54:52 2026
+++ pkgsrc/lang/openjdk25/patches/patch-src_jdk.attach_bsd_native_libattach_VirtualMachineImpl.c Sat Sep 26 12:54:52 2026
@@ -0,0 +1,27 @@
+$NetBSD: patch-src_jdk.attach_bsd_native_libattach_VirtualMachineImpl.c,v 1.1 2026/09/26 12:54:52 tnn Exp $
+
+Fix casting issue?
+
+--- src/jdk.attach/bsd/native/libattach/VirtualMachineImpl.c.orig 2025-11-01 06:31:36.000000000 +0000
++++ src/jdk.attach/bsd/native/libattach/VirtualMachineImpl.c
+@@ -31,7 +31,9 @@
+ #include <sys/sysctl.h>
+ #include <sys/types.h>
+ #include <sys/un.h>
++#if !defined(__NetBSD__)
+ #include <sys/user.h>
++#endif
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <signal.h>
+@@ -163,8 +165,8 @@ JNIEXPORT jboolean JNICALL Java_sun_tool
+ */
+
+ if (sysctl(mib, sizeof(mib) / sizeof(int), &kiproc, &kipsz, NULL, 0) == 0) {
+- const bool ignored = sigismember(&kiproc.KI_SIGIGNORE, SIGQUIT) != 0;
+- const bool caught = sigismember(&kiproc.KI_SIGCATCH, SIGQUIT) != 0;
++ const bool ignored = sigismember((sigset_t *)(&kiproc.KI_SIGIGNORE), SIGQUIT) != 0;
++ const bool caught = sigismember((sigset_t *)(&kiproc.KI_SIGCATCH), SIGQUIT) != 0;
+
+ // note: obviously the masks could change between testing and signalling however this is not the
+ // observed behavior of the current JVM implementation.
Home |
Main Index |
Thread Index |
Old Index