Wed Nov 22 14:06:50 2023 UTC ()
lang/openjdk21: import openjdk21-1.21.0.1.12

Open-source implementation of the Java Platform, Standard Edition.
This package privides OpenJDK 21 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."


(ryoon)
diff -r0 -r1.1 pkgsrc/lang/openjdk21/DESCR
diff -r0 -r1.1 pkgsrc/lang/openjdk21/Makefile
diff -r0 -r1.1 pkgsrc/lang/openjdk21/PLIST
diff -r0 -r1.1 pkgsrc/lang/openjdk21/bootstrap.mk
diff -r0 -r1.1 pkgsrc/lang/openjdk21/buildlink3.mk
diff -r0 -r1.1 pkgsrc/lang/openjdk21/distinfo
diff -r0 -r1.1 pkgsrc/lang/openjdk21/hacks.mk
diff -r0 -r1.1 pkgsrc/lang/openjdk21/options.mk
diff -r0 -r1.1 pkgsrc/lang/openjdk21/patches/patch-make_autoconf_buildjdk-spec.gmk.in
diff -r0 -r1.1 pkgsrc/lang/openjdk21/patches/patch-make_autoconf_flags-cflags.m4
diff -r0 -r1.1 pkgsrc/lang/openjdk21/patches/patch-make_autoconf_hotspot.m4
diff -r0 -r1.1 pkgsrc/lang/openjdk21/patches/patch-make_autoconf_lib-alsa.m4
diff -r0 -r1.1 pkgsrc/lang/openjdk21/patches/patch-make_autoconf_lib-bundled.m4
diff -r0 -r1.1 pkgsrc/lang/openjdk21/patches/patch-make_autoconf_lib-freetype.m4
diff -r0 -r1.1 pkgsrc/lang/openjdk21/patches/patch-make_autoconf_lib-x11.m4
diff -r0 -r1.1 pkgsrc/lang/openjdk21/patches/patch-make_lib_Awt2dLibraries.gmk
diff -r0 -r1.1 pkgsrc/lang/openjdk21/patches/patch-src_hotspot_os_bsd_os__bsd.cpp
diff -r0 -r1.1 pkgsrc/lang/openjdk21/patches/patch-src_java.desktop_bsd_data_fontconfig_fontconfig.properties
diff -r0 -r1.1 pkgsrc/lang/openjdk21/patches/patch-src_java.desktop_unix_native_common_awt_fontpath.c

File Added: pkgsrc/lang/openjdk21/DESCR
Open-source implementation of the Java Platform, Standard Edition.
This package privides OpenJDK 21 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."

File Added: pkgsrc/lang/openjdk21/Makefile
# $NetBSD: Makefile,v 1.1 2023/11/22 14:06:50 ryoon Exp $

DISTNAME=	jdk21u-${GITHUB_TAG:C/\+/-/}
PKGNAME=	openjdk21-1.${GITHUB_TAG:C/\+/./:C/jdk-([.0-9]+).*/\1/}
CATEGORIES=	lang
MASTER_SITES=	${MASTER_SITE_GITHUB:=battleblow/}
GITHUB_PROJECT=	jdk21u
GITHUB_TAG=	jdk-21.0.1+12-1

MAINTAINER=	ryoon@NetBSD.org
HOMEPAGE=	https://openjdk.java.net/
COMMENT=	Open-source implementation of the Java Platform, 21 LTS
LICENSE=	gnu-gpl-v2

DISTFILES=	${DEFAULT_DISTFILES}
EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}

JAVA_NAME=	openjdk21
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 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++14:-std=gnu++14
BUILDLINK_TRANSFORM+=		opt:-std=c++11:-std=gnu++11
# For NetBSD
#BUILDLINK_TRANSFORM.NetBSD+=	rm:-ldl

.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
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_TOOLS+=		bash gmake pax pkg-config unzip:run zip:run autoconf automake
UNLIMIT_RESOURCES=	datasize stacksize virtualsize cputime

BUILDLINK_PASSTHRU_DIRS+=	${ALT_BOOTDIR}

# Try to use less POSIX semaphores (large MAKE_JOBS can consume them all)
BOOT_JVMARGS=	-XX:+UnlockDiagnosticVMOptions

CONFIGURE_ARGS+=	--openjdk-target=${MACHINE_GNU_PLATFORM}
CONFIGURE_ARGS+=	--with-boot-jdk=${ALT_BOOTDIR}
CONFIGURE_ARGS+=	--with-boot-jdk-jvmargs=${BOOT_JVMARGS:Q}
CONFIGURE_ARGS+=	--with-zlib=system
CONFIGURE_ARGS+=	--with-giflib=bundled
CONFIGURE_ARGS+=	--with-lcms=bundled
CONFIGURE_ARGS+=	--with-cups-include=${BUILDLINK_PREFIX.libcups}/include
CONFIGURE_ARGS+=	--with-freetype=system
CONFIGURE_ARGS+=	--with-freetype-lib=${BUILDLINK_PREFIX.freetype2}/lib
CONFIGURE_ARGS+=	--with-freetype-include=${BUILDLINK_PREFIX.freetype2}/include
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/}
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/server
WRKSRC=				${WRKDIR}/${DISTNAME}

.include "../../mk/compiler.mk"

.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
CONFIGURE_ARGS+=	--with-toolchain-type=gcc
.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

PLIST_VARS+=			internal_vm_compiler jvmci
.if (${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "aarch64") && !empty(PKG_OPTIONS:Mjdk-hotspot-vm)
PLIST.internal_vm_compiler=	yes
PLIST.jvmci=			yes
.endif

.if ${OPSYS} == "NetBSD"
TOOLS_PLATFORM.unzip=
.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"
.include "../../devel/zlib/buildlink3.mk"
.include "../../fonts/fontconfig/buildlink3.mk"
.include "../../graphics/freetype2/buildlink3.mk"
# 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"

File Added: pkgsrc/lang/openjdk21/PLIST
@comment $NetBSD: PLIST,v 1.1 2023/11/22 14:06:50 ryoon Exp $
bin/openjdk21-jar
bin/openjdk21-jarsigner
bin/openjdk21-java
bin/openjdk21-javac
bin/openjdk21-javadoc
bin/openjdk21-javap
bin/openjdk21-jcmd
bin/openjdk21-jconsole
bin/openjdk21-jdb
bin/openjdk21-jdeprscan
bin/openjdk21-jdeps
bin/openjdk21-jfr
bin/openjdk21-jimage
bin/openjdk21-jinfo
bin/openjdk21-jlink
bin/openjdk21-jmap
bin/openjdk21-jmod
bin/openjdk21-jps
bin/openjdk21-jrunscript
bin/openjdk21-jshell
bin/openjdk21-jstack
bin/openjdk21-jstat
bin/openjdk21-jstatd
bin/openjdk21-jwebserver
bin/openjdk21-keytool
bin/openjdk21-rmiregistry
bin/openjdk21-serialver
java/openjdk21/bin/jar
java/openjdk21/bin/jar.diz
java/openjdk21/bin/jarsigner
java/openjdk21/bin/jarsigner.diz
java/openjdk21/bin/java
java/openjdk21/bin/java.diz
java/openjdk21/bin/javac
java/openjdk21/bin/javac.diz
java/openjdk21/bin/javadoc
java/openjdk21/bin/javadoc.diz
java/openjdk21/bin/javap
java/openjdk21/bin/javap.diz
java/openjdk21/bin/jcmd
java/openjdk21/bin/jcmd.diz
java/openjdk21/bin/jconsole
java/openjdk21/bin/jconsole.diz
java/openjdk21/bin/jdb
java/openjdk21/bin/jdb.diz
java/openjdk21/bin/jdeprscan
java/openjdk21/bin/jdeprscan.diz
java/openjdk21/bin/jdeps
java/openjdk21/bin/jdeps.diz
java/openjdk21/bin/jfr
java/openjdk21/bin/jfr.diz
java/openjdk21/bin/jimage
java/openjdk21/bin/jimage.diz
java/openjdk21/bin/jinfo
java/openjdk21/bin/jinfo.diz
java/openjdk21/bin/jlink
java/openjdk21/bin/jlink.diz
java/openjdk21/bin/jmap
java/openjdk21/bin/jmap.diz
java/openjdk21/bin/jmod
java/openjdk21/bin/jmod.diz
java/openjdk21/bin/jps
java/openjdk21/bin/jps.diz
java/openjdk21/bin/jrunscript
java/openjdk21/bin/jrunscript.diz
java/openjdk21/bin/jshell
java/openjdk21/bin/jshell.diz
java/openjdk21/bin/jstack
java/openjdk21/bin/jstack.diz
java/openjdk21/bin/jstat
java/openjdk21/bin/jstat.diz
java/openjdk21/bin/jstatd
java/openjdk21/bin/jstatd.diz
java/openjdk21/bin/jwebserver
java/openjdk21/bin/jwebserver.diz
java/openjdk21/bin/keytool
java/openjdk21/bin/keytool.diz
java/openjdk21/bin/rmiregistry
java/openjdk21/bin/rmiregistry.diz
java/openjdk21/bin/serialver
java/openjdk21/bin/serialver.diz
java/openjdk21/conf/jaxp.properties
java/openjdk21/conf/logging.properties
java/openjdk21/conf/management/jmxremote.access
java/openjdk21/conf/management/jmxremote.password.template
java/openjdk21/conf/management/management.properties
java/openjdk21/conf/net.properties
java/openjdk21/conf/security/java.policy
java/openjdk21/conf/security/java.security
java/openjdk21/conf/security/policy/README.txt
java/openjdk21/conf/security/policy/limited/default_US_export.policy
java/openjdk21/conf/security/policy/limited/default_local.policy
java/openjdk21/conf/security/policy/limited/exempt_local.policy
java/openjdk21/conf/security/policy/unlimited/default_US_export.policy
java/openjdk21/conf/security/policy/unlimited/default_local.policy
java/openjdk21/conf/sound.properties
java/openjdk21/demo/README
java/openjdk21/demo/jfc/CodePointIM/CodePointIM.jar
java/openjdk21/demo/jfc/CodePointIM/README.html
java/openjdk21/demo/jfc/CodePointIM/README_ja.html
java/openjdk21/demo/jfc/CodePointIM/README_zh_CN.html
java/openjdk21/demo/jfc/CodePointIM/src.zip
java/openjdk21/demo/jfc/FileChooserDemo/FileChooserDemo.jar
java/openjdk21/demo/jfc/FileChooserDemo/README.txt
java/openjdk21/demo/jfc/FileChooserDemo/src.zip
java/openjdk21/demo/jfc/Font2DTest/Font2DTest.jar
java/openjdk21/demo/jfc/Font2DTest/README.txt
java/openjdk21/demo/jfc/Font2DTest/src.zip
java/openjdk21/demo/jfc/J2Ddemo/J2Ddemo.jar
java/openjdk21/demo/jfc/J2Ddemo/README.txt
java/openjdk21/demo/jfc/J2Ddemo/src.zip
java/openjdk21/demo/jfc/Metalworks/Metalworks.jar
java/openjdk21/demo/jfc/Metalworks/README.txt
java/openjdk21/demo/jfc/Metalworks/src.zip
java/openjdk21/demo/jfc/Notepad/Notepad.jar
java/openjdk21/demo/jfc/Notepad/README.txt
java/openjdk21/demo/jfc/Notepad/src.zip
java/openjdk21/demo/jfc/SampleTree/README.txt
java/openjdk21/demo/jfc/SampleTree/SampleTree.jar
java/openjdk21/demo/jfc/SampleTree/src.zip
java/openjdk21/demo/jfc/Stylepad/README.txt
java/openjdk21/demo/jfc/Stylepad/Stylepad.jar
java/openjdk21/demo/jfc/Stylepad/src.zip
java/openjdk21/demo/jfc/SwingSet2/README.txt
java/openjdk21/demo/jfc/SwingSet2/SwingSet2.jar
java/openjdk21/demo/jfc/SwingSet2/src.zip
java/openjdk21/demo/jfc/TableExample/README.txt
java/openjdk21/demo/jfc/TableExample/TableExample.jar
java/openjdk21/demo/jfc/TableExample/src.zip
java/openjdk21/demo/jfc/TransparentRuler/README.txt
java/openjdk21/demo/jfc/TransparentRuler/TransparentRuler.jar
java/openjdk21/demo/jfc/TransparentRuler/src.zip
java/openjdk21/demo/nbproject/README.txt
java/openjdk21/demo/nbproject/jfc/FileChooserDemo/build.properties
java/openjdk21/demo/nbproject/jfc/FileChooserDemo/build.xml
java/openjdk21/demo/nbproject/jfc/FileChooserDemo/nbproject/file-targets.xml
java/openjdk21/demo/nbproject/jfc/FileChooserDemo/nbproject/jdk.xml
java/openjdk21/demo/nbproject/jfc/FileChooserDemo/nbproject/netbeans-targets.xml
java/openjdk21/demo/nbproject/jfc/FileChooserDemo/nbproject/project.xml
java/openjdk21/demo/nbproject/jfc/Font2DTest/build.properties
java/openjdk21/demo/nbproject/jfc/Font2DTest/build.xml
java/openjdk21/demo/nbproject/jfc/Font2DTest/nbproject/file-targets.xml
java/openjdk21/demo/nbproject/jfc/Font2DTest/nbproject/jdk.xml
java/openjdk21/demo/nbproject/jfc/Font2DTest/nbproject/netbeans-targets.xml
java/openjdk21/demo/nbproject/jfc/Font2DTest/nbproject/project.xml
java/openjdk21/demo/nbproject/jfc/Metalworks/build.properties
java/openjdk21/demo/nbproject/jfc/Metalworks/build.xml
java/openjdk21/demo/nbproject/jfc/Metalworks/nbproject/file-targets.xml
java/openjdk21/demo/nbproject/jfc/Metalworks/nbproject/jdk.xml
java/openjdk21/demo/nbproject/jfc/Metalworks/nbproject/netbeans-targets.xml
java/openjdk21/demo/nbproject/jfc/Metalworks/nbproject/project.xml
java/openjdk21/demo/nbproject/jfc/Notepad/build.properties
java/openjdk21/demo/nbproject/jfc/Notepad/build.xml
java/openjdk21/demo/nbproject/jfc/Notepad/nbproject/file-targets.xml
java/openjdk21/demo/nbproject/jfc/Notepad/nbproject/jdk.xml
java/openjdk21/demo/nbproject/jfc/Notepad/nbproject/netbeans-targets.xml
java/openjdk21/demo/nbproject/jfc/Notepad/nbproject/project.xml
java/openjdk21/demo/nbproject/jfc/SampleTree/build.properties
java/openjdk21/demo/nbproject/jfc/SampleTree/build.xml
java/openjdk21/demo/nbproject/jfc/SampleTree/nbproject/file-targets.xml
java/openjdk21/demo/nbproject/jfc/SampleTree/nbproject/jdk.xml
java/openjdk21/demo/nbproject/jfc/SampleTree/nbproject/netbeans-targets.xml
java/openjdk21/demo/nbproject/jfc/SampleTree/nbproject/project.xml
java/openjdk21/demo/nbproject/jfc/TableExample/build.properties
java/openjdk21/demo/nbproject/jfc/TableExample/build.xml
java/openjdk21/demo/nbproject/jfc/TableExample/nbproject/file-targets.xml
java/openjdk21/demo/nbproject/jfc/TableExample/nbproject/jdk.xml
java/openjdk21/demo/nbproject/jfc/TableExample/nbproject/netbeans-targets.xml
java/openjdk21/demo/nbproject/jfc/TableExample/nbproject/project.xml
java/openjdk21/demo/nbproject/jfc/TransparentRuler/build.properties
java/openjdk21/demo/nbproject/jfc/TransparentRuler/build.xml
java/openjdk21/demo/nbproject/jfc/TransparentRuler/nbproject/file-targets.xml
java/openjdk21/demo/nbproject/jfc/TransparentRuler/nbproject/jdk.xml
java/openjdk21/demo/nbproject/jfc/TransparentRuler/nbproject/netbeans-targets.xml
java/openjdk21/demo/nbproject/jfc/TransparentRuler/nbproject/project.xml
java/openjdk21/demo/nbproject/project.xml
java/openjdk21/include/classfile_constants.h
java/openjdk21/include/jawt.h
java/openjdk21/include/jdwpTransport.h
java/openjdk21/include/jni.h
java/openjdk21/include/jvmti.h
java/openjdk21/include/jvmticmlr.h
java/openjdk21/include/${LOWER_OPSYS}/jawt_md.h
java/openjdk21/include/${LOWER_OPSYS}/jni_md.h
java/openjdk21/jmods/java.base.jmod
java/openjdk21/jmods/java.compiler.jmod
java/openjdk21/jmods/java.datatransfer.jmod
java/openjdk21/jmods/java.desktop.jmod
java/openjdk21/jmods/java.instrument.jmod
java/openjdk21/jmods/java.logging.jmod
java/openjdk21/jmods/java.management.jmod
java/openjdk21/jmods/java.management.rmi.jmod
java/openjdk21/jmods/java.naming.jmod
java/openjdk21/jmods/java.net.http.jmod
java/openjdk21/jmods/java.prefs.jmod
java/openjdk21/jmods/java.rmi.jmod
java/openjdk21/jmods/java.scripting.jmod
java/openjdk21/jmods/java.se.jmod
java/openjdk21/jmods/java.security.jgss.jmod
java/openjdk21/jmods/java.security.sasl.jmod
java/openjdk21/jmods/java.smartcardio.jmod
java/openjdk21/jmods/java.sql.jmod
java/openjdk21/jmods/java.sql.rowset.jmod
java/openjdk21/jmods/java.transaction.xa.jmod
java/openjdk21/jmods/java.xml.crypto.jmod
java/openjdk21/jmods/java.xml.jmod
java/openjdk21/jmods/jdk.accessibility.jmod
java/openjdk21/jmods/jdk.attach.jmod
java/openjdk21/jmods/jdk.charsets.jmod
java/openjdk21/jmods/jdk.compiler.jmod
java/openjdk21/jmods/jdk.crypto.cryptoki.jmod
java/openjdk21/jmods/jdk.crypto.ec.jmod
java/openjdk21/jmods/jdk.dynalink.jmod
java/openjdk21/jmods/jdk.editpad.jmod
java/openjdk21/jmods/jdk.httpserver.jmod
java/openjdk21/jmods/jdk.incubator.vector.jmod
java/openjdk21/jmods/jdk.internal.ed.jmod
java/openjdk21/jmods/jdk.internal.jvmstat.jmod
java/openjdk21/jmods/jdk.internal.le.jmod
java/openjdk21/jmods/jdk.internal.opt.jmod
java/openjdk21/jmods/jdk.internal.vm.ci.jmod
java/openjdk21/jmods/jdk.internal.vm.compiler.jmod
java/openjdk21/jmods/jdk.internal.vm.compiler.management.jmod
java/openjdk21/jmods/jdk.jartool.jmod
java/openjdk21/jmods/jdk.javadoc.jmod
java/openjdk21/jmods/jdk.jcmd.jmod
java/openjdk21/jmods/jdk.jconsole.jmod
java/openjdk21/jmods/jdk.jdeps.jmod
java/openjdk21/jmods/jdk.jdi.jmod
java/openjdk21/jmods/jdk.jdwp.agent.jmod
java/openjdk21/jmods/jdk.jfr.jmod
java/openjdk21/jmods/jdk.jlink.jmod
java/openjdk21/jmods/jdk.jshell.jmod
java/openjdk21/jmods/jdk.jsobject.jmod
java/openjdk21/jmods/jdk.jstatd.jmod
java/openjdk21/jmods/jdk.localedata.jmod
java/openjdk21/jmods/jdk.management.agent.jmod
java/openjdk21/jmods/jdk.management.jfr.jmod
java/openjdk21/jmods/jdk.management.jmod
java/openjdk21/jmods/jdk.naming.dns.jmod
java/openjdk21/jmods/jdk.naming.rmi.jmod
java/openjdk21/jmods/jdk.net.jmod
java/openjdk21/jmods/jdk.nio.mapmode.jmod
java/openjdk21/jmods/jdk.random.jmod
java/openjdk21/jmods/jdk.sctp.jmod
java/openjdk21/jmods/jdk.security.auth.jmod
java/openjdk21/jmods/jdk.security.jgss.jmod
java/openjdk21/jmods/jdk.unsupported.desktop.jmod
java/openjdk21/jmods/jdk.unsupported.jmod
java/openjdk21/jmods/jdk.xml.dom.jmod
java/openjdk21/jmods/jdk.zipfs.jmod
java/openjdk21/legal/java.base/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.base/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.base/LICENSE
java/openjdk21/legal/java.base/aes.md
java/openjdk21/legal/java.base/asm.md
java/openjdk21/legal/java.base/c-libutl.md
java/openjdk21/legal/java.base/cldr.md
java/openjdk21/legal/java.base/icu.md
java/openjdk21/legal/java.base/public_suffix.md
java/openjdk21/legal/java.base/unicode.md
java/openjdk21/legal/java.compiler/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.compiler/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.compiler/LICENSE
java/openjdk21/legal/java.datatransfer/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.datatransfer/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.datatransfer/LICENSE
java/openjdk21/legal/java.desktop/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.desktop/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.desktop/LICENSE
java/openjdk21/legal/java.desktop/colorimaging.md
java/openjdk21/legal/java.desktop/giflib.md
java/openjdk21/legal/java.desktop/harfbuzz.md
java/openjdk21/legal/java.desktop/jpeg.md
java/openjdk21/legal/java.desktop/lcms.md
java/openjdk21/legal/java.desktop/libpng.md
java/openjdk21/legal/java.desktop/mesa3d.md
java/openjdk21/legal/java.desktop/pipewire.md
java/openjdk21/legal/java.desktop/xwd.md
java/openjdk21/legal/java.instrument/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.instrument/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.instrument/LICENSE
java/openjdk21/legal/java.logging/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.logging/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.logging/LICENSE
java/openjdk21/legal/java.management.rmi/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.management.rmi/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.management.rmi/LICENSE
java/openjdk21/legal/java.management/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.management/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.management/LICENSE
java/openjdk21/legal/java.naming/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.naming/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.naming/LICENSE
java/openjdk21/legal/java.net.http/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.net.http/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.net.http/LICENSE
java/openjdk21/legal/java.prefs/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.prefs/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.prefs/LICENSE
java/openjdk21/legal/java.rmi/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.rmi/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.rmi/LICENSE
java/openjdk21/legal/java.scripting/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.scripting/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.scripting/LICENSE
java/openjdk21/legal/java.se/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.se/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.se/LICENSE
java/openjdk21/legal/java.security.jgss/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.security.jgss/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.security.jgss/LICENSE
java/openjdk21/legal/java.security.sasl/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.security.sasl/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.security.sasl/LICENSE
java/openjdk21/legal/java.smartcardio/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.smartcardio/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.smartcardio/LICENSE
java/openjdk21/legal/java.smartcardio/pcsclite.md
java/openjdk21/legal/java.sql.rowset/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.sql.rowset/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.sql.rowset/LICENSE
java/openjdk21/legal/java.sql/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.sql/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.sql/LICENSE
java/openjdk21/legal/java.transaction.xa/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.transaction.xa/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.transaction.xa/LICENSE
java/openjdk21/legal/java.xml.crypto/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.xml.crypto/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.xml.crypto/LICENSE
java/openjdk21/legal/java.xml.crypto/santuario.md
java/openjdk21/legal/java.xml/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/java.xml/ASSEMBLY_EXCEPTION
java/openjdk21/legal/java.xml/LICENSE
java/openjdk21/legal/java.xml/bcel.md
java/openjdk21/legal/java.xml/dom.md
java/openjdk21/legal/java.xml/jcup.md
java/openjdk21/legal/java.xml/xalan.md
java/openjdk21/legal/java.xml/xerces.md
java/openjdk21/legal/jdk.accessibility/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.accessibility/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.accessibility/LICENSE
java/openjdk21/legal/jdk.attach/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.attach/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.attach/LICENSE
java/openjdk21/legal/jdk.charsets/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.charsets/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.charsets/LICENSE
java/openjdk21/legal/jdk.compiler/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.compiler/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.compiler/LICENSE
java/openjdk21/legal/jdk.crypto.cryptoki/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.crypto.cryptoki/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.crypto.cryptoki/LICENSE
java/openjdk21/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md
java/openjdk21/legal/jdk.crypto.cryptoki/pkcs11wrapper.md
java/openjdk21/legal/jdk.crypto.ec/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.crypto.ec/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.crypto.ec/LICENSE
java/openjdk21/legal/jdk.dynalink/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.dynalink/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.dynalink/LICENSE
java/openjdk21/legal/jdk.dynalink/dynalink.md
java/openjdk21/legal/jdk.editpad/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.editpad/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.editpad/LICENSE
java/openjdk21/legal/jdk.httpserver/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.httpserver/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.httpserver/LICENSE
java/openjdk21/legal/jdk.incubator.vector/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.incubator.vector/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.incubator.vector/LICENSE
java/openjdk21/legal/jdk.internal.ed/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.internal.ed/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.internal.ed/LICENSE
java/openjdk21/legal/jdk.internal.jvmstat/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.internal.jvmstat/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.internal.jvmstat/LICENSE
java/openjdk21/legal/jdk.internal.le/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.internal.le/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.internal.le/LICENSE
java/openjdk21/legal/jdk.internal.le/jline.md
java/openjdk21/legal/jdk.internal.opt/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.internal.opt/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.internal.opt/LICENSE
java/openjdk21/legal/jdk.internal.opt/jopt-simple.md
java/openjdk21/legal/jdk.internal.vm.ci/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.internal.vm.ci/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.internal.vm.ci/LICENSE
java/openjdk21/legal/jdk.internal.vm.compiler.management/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.internal.vm.compiler.management/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.internal.vm.compiler.management/LICENSE
java/openjdk21/legal/jdk.internal.vm.compiler/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.internal.vm.compiler/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.internal.vm.compiler/LICENSE
java/openjdk21/legal/jdk.jartool/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.jartool/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.jartool/LICENSE
java/openjdk21/legal/jdk.javadoc/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.javadoc/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.javadoc/LICENSE
java/openjdk21/legal/jdk.javadoc/jquery.md
java/openjdk21/legal/jdk.javadoc/jqueryUI.md
java/openjdk21/legal/jdk.jcmd/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.jcmd/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.jcmd/LICENSE
java/openjdk21/legal/jdk.jconsole/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.jconsole/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.jconsole/LICENSE
java/openjdk21/legal/jdk.jdeps/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.jdeps/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.jdeps/LICENSE
java/openjdk21/legal/jdk.jdi/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.jdi/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.jdi/LICENSE
java/openjdk21/legal/jdk.jdwp.agent/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.jdwp.agent/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.jdwp.agent/LICENSE
java/openjdk21/legal/jdk.jfr/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.jfr/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.jfr/LICENSE
java/openjdk21/legal/jdk.jlink/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.jlink/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.jlink/LICENSE
java/openjdk21/legal/jdk.jshell/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.jshell/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.jshell/LICENSE
java/openjdk21/legal/jdk.jsobject/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.jsobject/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.jsobject/LICENSE
java/openjdk21/legal/jdk.jstatd/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.jstatd/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.jstatd/LICENSE
java/openjdk21/legal/jdk.localedata/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.localedata/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.localedata/LICENSE
java/openjdk21/legal/jdk.localedata/cldr.md
java/openjdk21/legal/jdk.localedata/thaidict.md
java/openjdk21/legal/jdk.management.agent/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.management.agent/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.management.agent/LICENSE
java/openjdk21/legal/jdk.management.jfr/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.management.jfr/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.management.jfr/LICENSE
java/openjdk21/legal/jdk.management/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.management/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.management/LICENSE
java/openjdk21/legal/jdk.naming.dns/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.naming.dns/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.naming.dns/LICENSE
java/openjdk21/legal/jdk.naming.rmi/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.naming.rmi/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.naming.rmi/LICENSE
java/openjdk21/legal/jdk.net/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.net/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.net/LICENSE
java/openjdk21/legal/jdk.nio.mapmode/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.nio.mapmode/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.nio.mapmode/LICENSE
java/openjdk21/legal/jdk.random/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.random/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.random/LICENSE
java/openjdk21/legal/jdk.sctp/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.sctp/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.sctp/LICENSE
java/openjdk21/legal/jdk.security.auth/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.security.auth/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.security.auth/LICENSE
java/openjdk21/legal/jdk.security.jgss/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.security.jgss/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.security.jgss/LICENSE
java/openjdk21/legal/jdk.unsupported.desktop/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.unsupported.desktop/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.unsupported.desktop/LICENSE
java/openjdk21/legal/jdk.unsupported/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.unsupported/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.unsupported/LICENSE
java/openjdk21/legal/jdk.xml.dom/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.xml.dom/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.xml.dom/LICENSE
java/openjdk21/legal/jdk.zipfs/ADDITIONAL_LICENSE_INFO
java/openjdk21/legal/jdk.zipfs/ASSEMBLY_EXCEPTION
java/openjdk21/legal/jdk.zipfs/LICENSE
java/openjdk21/lib/classlist
java/openjdk21/lib/ct.sym
java/openjdk21/lib/fontconfig.bfc
java/openjdk21/lib/fontconfig.properties.src
java/openjdk21/lib/jfr/default.jfc
java/openjdk21/lib/jfr/profile.jfc
java/openjdk21/lib/jrt-fs.jar
java/openjdk21/lib/jspawnhelper
java/openjdk21/lib/jspawnhelper.diz
java/openjdk21/lib/jvm.cfg
java/openjdk21/lib/libattach.diz
java/openjdk21/lib/libattach.so
java/openjdk21/lib/libawt.diz
java/openjdk21/lib/libawt.so
java/openjdk21/lib/libawt_headless.diz
java/openjdk21/lib/libawt_headless.so
java/openjdk21/lib/libawt_xawt.diz
java/openjdk21/lib/libawt_xawt.so
java/openjdk21/lib/libdt_socket.diz
java/openjdk21/lib/libdt_socket.so
java/openjdk21/lib/libextnet.diz
java/openjdk21/lib/libextnet.so
java/openjdk21/lib/libfontmanager.diz
java/openjdk21/lib/libfontmanager.so
java/openjdk21/lib/libinstrument.diz
java/openjdk21/lib/libinstrument.so
java/openjdk21/lib/libj2gss.diz
java/openjdk21/lib/libj2gss.so
java/openjdk21/lib/libj2pcsc.diz
java/openjdk21/lib/libj2pcsc.so
java/openjdk21/lib/libj2pkcs11.diz
java/openjdk21/lib/libj2pkcs11.so
java/openjdk21/lib/libjaas.diz
java/openjdk21/lib/libjaas.so
java/openjdk21/lib/libjava.diz
java/openjdk21/lib/libjava.so
java/openjdk21/lib/libjavajpeg.diz
java/openjdk21/lib/libjavajpeg.so
java/openjdk21/lib/libjawt.diz
java/openjdk21/lib/libjawt.so
java/openjdk21/lib/libjdwp.diz
java/openjdk21/lib/libjdwp.so
java/openjdk21/lib/libjimage.diz
java/openjdk21/lib/libjimage.so
java/openjdk21/lib/libjli.diz
java/openjdk21/lib/libjli.so
java/openjdk21/lib/libjsig.diz
java/openjdk21/lib/libjsig.so
java/openjdk21/lib/libjsound.diz
java/openjdk21/lib/libjsound.so
java/openjdk21/lib/liblcms.diz
java/openjdk21/lib/liblcms.so
java/openjdk21/lib/libmanagement.diz
java/openjdk21/lib/libmanagement.so
java/openjdk21/lib/libmanagement_agent.diz
java/openjdk21/lib/libmanagement_agent.so
java/openjdk21/lib/libmanagement_ext.diz
java/openjdk21/lib/libmanagement_ext.so
java/openjdk21/lib/libmlib_image.diz
java/openjdk21/lib/libmlib_image.so
java/openjdk21/lib/libnet.diz
java/openjdk21/lib/libnet.so
java/openjdk21/lib/libnio.diz
java/openjdk21/lib/libnio.so
java/openjdk21/lib/libprefs.diz
java/openjdk21/lib/libprefs.so
java/openjdk21/lib/librmi.diz
java/openjdk21/lib/librmi.so
java/openjdk21/lib/libsplashscreen.diz
java/openjdk21/lib/libsplashscreen.so
java/openjdk21/lib/libsyslookup.diz
java/openjdk21/lib/libsyslookup.so
java/openjdk21/lib/libverify.diz
java/openjdk21/lib/libverify.so
java/openjdk21/lib/libzip.diz
java/openjdk21/lib/libzip.so
java/openjdk21/lib/modules
java/openjdk21/lib/psfont.properties.ja
java/openjdk21/lib/psfontj2d.properties
java/openjdk21/lib/security/blocked.certs
java/openjdk21/lib/security/cacerts
java/openjdk21/lib/security/default.policy
java/openjdk21/lib/security/public_suffix_list.dat
java/openjdk21/lib/server/libjsig.so
java/openjdk21/lib/server/libjvm.diz
java/openjdk21/lib/server/libjvm.so
java/openjdk21/lib/src.zip
java/openjdk21/lib/tzdb.dat
java/openjdk21/man/man1/jar.1
java/openjdk21/man/man1/jarsigner.1
java/openjdk21/man/man1/java.1
java/openjdk21/man/man1/javac.1
java/openjdk21/man/man1/javadoc.1
java/openjdk21/man/man1/javap.1
java/openjdk21/man/man1/jcmd.1
java/openjdk21/man/man1/jconsole.1
java/openjdk21/man/man1/jdb.1
java/openjdk21/man/man1/jdeprscan.1
java/openjdk21/man/man1/jdeps.1
java/openjdk21/man/man1/jfr.1
java/openjdk21/man/man1/jinfo.1
java/openjdk21/man/man1/jlink.1
java/openjdk21/man/man1/jmap.1
java/openjdk21/man/man1/jmod.1
java/openjdk21/man/man1/jps.1
java/openjdk21/man/man1/jrunscript.1
java/openjdk21/man/man1/jshell.1
java/openjdk21/man/man1/jstack.1
java/openjdk21/man/man1/jstat.1
java/openjdk21/man/man1/jstatd.1
java/openjdk21/man/man1/jwebserver.1
java/openjdk21/man/man1/keytool.1
java/openjdk21/man/man1/rmiregistry.1
java/openjdk21/man/man1/serialver.1
java/openjdk21/release

File Added: pkgsrc/lang/openjdk21/bootstrap.mk
# $NetBSD: bootstrap.mk,v 1.1 2023/11/22 14:06:50 ryoon Exp $

.if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 090000
PKG_FAIL_REASON+=		"Only supports NetBSD >= 9"
.endif

#.if (!empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) ||!empty(MACHINE_PLATFORM:MNetBSD-*-*earm*)) && ${OPSYS_VERSION} < 099983
#PKG_FAIL_REASON+=		"PR 55248: please update to NetBSD >= 9.99.83 to use this package"
#.endif

#ONLY_FOR_PLATFORM+=		NetBSD-*-i386
#BOOT.nb9-i386=			bootstrap-jdk-1.21.0.1.12-netbsd-9-i386-20231118.tar.xz
#SITES.${BOOT.nb9-i386}=		${MASTER_SITE_LOCAL:=openjdk21/}
#.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo)
#DISTFILES+=			${BOOT.nb9-i386}
#EXTRACT_ONLY+=			${BOOT.nb9-i386}
#.endif

ONLY_FOR_PLATFORM+=		NetBSD-*-x86_64
BOOT.nb9-amd64=			bootstrap-jdk-1.21.0.1.12-netbsd-9-amd64-20231119.tar.xz
SITES.${BOOT.nb9-amd64}=	${MASTER_SITE_LOCAL:=openjdk21/}
.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.17.0.3.7-netbsd-9-aarch64-20220516.tar.xz
#SITES.${BOOT.nb9-aarch64}=	${MASTER_SITE_LOCAL:=openjdk21/}
#.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo)
#DISTFILES+=			${BOOT.nb9-aarch64}
#EXTRACT_ONLY+=			${BOOT.nb9-aarch64}
#.endif

#ONLY_FOR_PLATFORM+=		NetBSD-*-earmv[67]hf
#BOOT.nb9-earmv6hf=		bootstrap-jdk-1.17.0.3.7-netbsd-9-earmv6hf-20220525.tar.xz
#SITES.${BOOT.nb9-earmv6hf}=	${MASTER_SITE_LOCAL:=openjdk21/}
#.if !empty(MACHINE_PLATFORM:MNetBSD-*-earmv[67]hf) || make(distinfo)
#DISTFILES+=			${BOOT.nb9-earmv6hf}
#EXTRACT_ONLY+=			${BOOT.nb9-earmv6hf}
#.endif

CONFIGURE_ENV+=		LD_LIBRARY_PATH=${ALT_BOOTDIR}/lib

ALT_BOOTDIR=		${WRKDIR}/bootstrap

File Added: pkgsrc/lang/openjdk21/buildlink3.mk
# $NetBSD: buildlink3.mk,v 1.1 2023/11/22 14:06:50 ryoon Exp $

BUILDLINK_TREE+=	openjdk21

.if !defined(OPENJDK21_BUILDLINK3_MK)
OPENJDK21_BUILDLINK3_MK:=

BUILDLINK_LIBDIRS.openjdk21+=	java/openjdk21/lib
BUILDLINK_LIBDIRS.openjdk21+=	java/openjdk21/lib/server

BUILDLINK_API_DEPENDS.openjdk21+=	openjdk21>=1.21.0.1.12
BUILDLINK_PKGSRCDIR.openjdk21?=		../../lang/openjdk21

.endif	# OPENJDK21_BUILDLINK3_MK

BUILDLINK_TREE+=	-openjdk21

File Added: pkgsrc/lang/openjdk21/distinfo
$NetBSD: distinfo,v 1.1 2023/11/22 14:06:50 ryoon Exp $

BLAKE2s (bootstrap-jdk-1.21.0.1.12-netbsd-9-amd64-20231119.tar.xz) = 47d3cc141e09afd2cd743db75d74e619efa133828d279ec24948e709a95a6d58
SHA512 (bootstrap-jdk-1.21.0.1.12-netbsd-9-amd64-20231119.tar.xz) = 297f85ed4d12f7c87472181f814de927d2b4311aa917d00bcbf666b793b30dc72a08ae3cc6e4b95882e33dade127bed6b34f06399aeed8dfd5cf82800b6fec29
Size (bootstrap-jdk-1.21.0.1.12-netbsd-9-amd64-20231119.tar.xz) = 465546556 bytes
BLAKE2s (jdk21u-jdk-21.0.1-12-1.tar.gz) = c3abe0e4b514aa4a6d1fe884693255ff151c052d9e3b87cdf60803f2fc2c89f0
SHA512 (jdk21u-jdk-21.0.1-12-1.tar.gz) = 5b81a5aea60714ebd58ce1557ea976ef8e287a042d5972297f2a937667b8b0307362669d6d9a102e397d04f78df0e31c50f6de16956eeecee5d3996f05284ee5
Size (jdk21u-jdk-21.0.1-12-1.tar.gz) = 112374315 bytes
SHA1 (patch-make_autoconf_buildjdk-spec.gmk.in) = 01b6ac6dae1a886949020b9d472aab1e357084b0
SHA1 (patch-make_autoconf_flags-cflags.m4) = 0379aeecc6181cbd15f6f31518b73ca915f1f73b
SHA1 (patch-make_autoconf_hotspot.m4) = b3d70d7def7b4b0c4ae2632be75bfbe97f931879
SHA1 (patch-make_autoconf_lib-alsa.m4) = 999fbf951363f6b49b22aad81537728f22d7c381
SHA1 (patch-make_autoconf_lib-bundled.m4) = 6f4720cf9fcd9088e5e186940794b868e71dcc80
SHA1 (patch-make_autoconf_lib-freetype.m4) = bd791b99e4fd87f24432831fba1e814dd199445f
SHA1 (patch-make_autoconf_lib-x11.m4) = 38038e6d7cfc2d15fb3537a52f11d2961cc2ec99
SHA1 (patch-make_lib_Awt2dLibraries.gmk) = d69fa8c5cab173be2f41cfbd6479dad60a6337db
SHA1 (patch-src_hotspot_os_bsd_os__bsd.cpp) = 5561ed502aa925cd3d0514c7ec298e0491d14ffc
SHA1 (patch-src_java.desktop_bsd_data_fontconfig_fontconfig.properties) = 32eda43f536dc3a9afb4f1f5f7acae8cb020d546
SHA1 (patch-src_java.desktop_unix_native_common_awt_fontpath.c) = 4a65df0bf84af967f230636f1da1ec75fbb3f691

File Added: pkgsrc/lang/openjdk21/hacks.mk
# $NetBSD: hacks.mk,v 1.1 2023/11/22 14:06:50 ryoon Exp $

.if !defined(OPENJDK17_HACKS_MK)
OPENJDK17_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.
#

.if !empty(MACHINE_PLATFORM:MNetBSD-*-*arm*)	|| \
	!empty(MACHINE_PLATFORM:MNetBSD-*-aarch64)
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

File Added: pkgsrc/lang/openjdk21/options.mk
# $NetBSD: options.mk,v 1.1 2023/11/22 14:06:50 ryoon Exp $

PKG_OPTIONS_VAR=		PKG_OPTIONS.openjdk17
PKG_OPTIONS_OPTIONAL_GROUPS=	variant
PKG_OPTIONS_GROUP.variant=	jdk-zero-vm
PKG_SUPPORTED_OPTIONS=		debug dtrace jre-jce x11 static-libstdcpp
PKG_SUGGESTED_OPTIONS=		jre-jce x11

.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "i386" || ${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

.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+=	x11
.if !empty(PKG_OPTIONS:Mx11)
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"
.else
CONFIGURE_ARGS+=	--enable-headless-only
# We apparently still need the Xlib headers 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_VARS+=		hotspot
.if !empty(PKG_OPTIONS:Mjdk-zero-vm)
BUILD_VARIANT=		zero
.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}

File Added: pkgsrc/lang/openjdk21/patches/patch-make_autoconf_buildjdk-spec.gmk.in
$NetBSD: patch-make_autoconf_buildjdk-spec.gmk.in,v 1.1 2023/11/22 14:06:50 ryoon 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.

--- make/autoconf/buildjdk-spec.gmk.in.orig	2022-04-23 02:25:56.000000000 +0000
+++ make/autoconf/buildjdk-spec.gmk.in
@@ -94,8 +94,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 := g1gc serialgc zero
 JVM_FEATURES_server := cds compiler1 compiler2 g1gc serialgc
 
 # Some users still set EXTRA_*FLAGS on the make command line. Must

File Added: pkgsrc/lang/openjdk21/patches/patch-make_autoconf_flags-cflags.m4
$NetBSD: patch-make_autoconf_flags-cflags.m4,v 1.1 2023/11/22 14:06:50 ryoon Exp $

We prefer to use explicit run paths.

--- make/autoconf/flags-cflags.m4.orig	2022-02-05 03:44:09.000000000 +0000
+++ make/autoconf/flags-cflags.m4
@@ -37,8 +37,8 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
   if test "x$TOOLCHAIN_TYPE" = xgcc; then
     # Default works for linux, might work on other platforms as well.
     SHARED_LIBRARY_FLAGS='-shared'
-    SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
-    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/server'
+    SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
     SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
     SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
 
@@ -54,17 +54,11 @@ 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/server'
+      SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
       SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
       SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]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
     fi
 
   elif test "x$TOOLCHAIN_TYPE" = xxlc; then

File Added: pkgsrc/lang/openjdk21/patches/patch-make_autoconf_hotspot.m4
$NetBSD: patch-make_autoconf_hotspot.m4,v 1.1 2023/11/22 14:06:50 ryoon Exp $

--- 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
 
 

File Added: pkgsrc/lang/openjdk21/patches/patch-make_autoconf_lib-alsa.m4
$NetBSD: patch-make_autoconf_lib-alsa.m4,v 1.1 2023/11/22 14:06:50 ryoon 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.

File Added: pkgsrc/lang/openjdk21/patches/patch-make_autoconf_lib-bundled.m4
$NetBSD: patch-make_autoconf_lib-bundled.m4,v 1.1 2023/11/22 14:06:50 ryoon Exp $

Add rpath for zlib.

--- make/autoconf/lib-bundled.m4.orig	2022-11-02 17:07:48.842199354 +0000
+++ make/autoconf/lib-bundled.m4
@@ -264,7 +264,8 @@ AC_DEFUN_ONCE([LIB_SETUP_ZLIB],
         LIBZ_CFLAGS="$LIBZ_CFLAGS -DHAVE_UNISTD_H"
     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)

File Added: pkgsrc/lang/openjdk21/patches/patch-make_autoconf_lib-freetype.m4
$NetBSD: patch-make_autoconf_lib-freetype.m4,v 1.1 2023/11/22 14:06:50 ryoon 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
 

File Added: pkgsrc/lang/openjdk21/patches/patch-make_autoconf_lib-x11.m4
$NetBSD: patch-make_autoconf_lib-x11.m4,v 1.1 2023/11/22 14:06:50 ryoon 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"

File Added: pkgsrc/lang/openjdk21/patches/patch-make_lib_Awt2dLibraries.gmk
$NetBSD: patch-make_lib_Awt2dLibraries.gmk,v 1.1 2023/11/22 14:06:50 ryoon Exp $

bundled harfbuzz code needs to use -std=c++11 for static_assert().
But we can't add it to USE_LANGUAGES because the rest of the JDK
contains legacy code that requires -std=gnu++98.

--- make/modules/java.desktop/lib/Awt2dLibraries.gmk.orig	2019-09-19 12:22:38.000000000 +0000
+++ make/modules/java.desktop/lib/Awt2dLibraries.gmk
@@ -612,7 +612,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIB
         AccelGlyphCache.c, \
     TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
     CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
-    CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
+    CXXFLAGS := $(CXXFLAGS_JDKLIB) -std=c++11 $(LIBFONTMANAGER_CFLAGS), \
     OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
     CFLAGS_windows = -DCC_NOEX, \
     EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \

File Added: pkgsrc/lang/openjdk21/patches/patch-src_hotspot_os_bsd_os__bsd.cpp
$NetBSD: patch-src_hotspot_os_bsd_os__bsd.cpp,v 1.1 2023/11/22 14:06:50 ryoon 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

File Added: pkgsrc/lang/openjdk21/patches/patch-src_java.desktop_bsd_data_fontconfig_fontconfig.properties
$NetBSD: patch-src_java.desktop_bsd_data_fontconfig_fontconfig.properties,v 1.1 2023/11/22 14:06:50 ryoon Exp $

--- 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

File Added: pkgsrc/lang/openjdk21/patches/patch-src_java.desktop_unix_native_common_awt_fontpath.c
$NetBSD: patch-src_java.desktop_unix_native_common_awt_fontpath.c,v 1.1 2023/11/22 14:06:50 ryoon Exp $

--- 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