pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
openjdk17: Add OpenJDK 17 for NetBSD/amd64 9.99.95
Module Name: pkgsrc-wip
Committed By: Ryo ONODERA <ryoon%NetBSD.org@localhost>
Pushed By: ryoon
Date: Fri Mar 25 22:40:49 2022 +0900
Changeset: 65a4f75d9d6be9fb3a440861d7fb902148f569bd
Added Files:
openjdk17/DESCR
openjdk17/Makefile
openjdk17/PLIST
openjdk17/bootstrap.mk
openjdk17/buildlink3.mk
openjdk17/distinfo
openjdk17/hacks.mk
openjdk17/options.mk
openjdk17/patches/patch-make_autoconf_flags-cflags.m4
openjdk17/patches/patch-make_autoconf_lib-alsa.m4
openjdk17/patches/patch-make_autoconf_lib-bundled.m4
openjdk17/patches/patch-make_autoconf_lib-freetype.m4
openjdk17/patches/patch-make_autoconf_lib-x11.m4
openjdk17/patches/patch-make_common_NativeCompilation.gmk
openjdk17/patches/patch-make_data_fontconfig_bsd.fontconfig.properties
openjdk17/patches/patch-make_lib_Awt2dLibraries.gmk
openjdk17/patches/patch-src_hotspot_os_bsd_os__bsd.cpp
openjdk17/patches/patch-src_hotspot_os_bsd_os__perf__bsd.cpp
openjdk17/patches/patch-src_hotspot_os_posix_os__posix.cpp
openjdk17/patches/patch-src_hotspot_os_posix_signals__posix.cpp
openjdk17/patches/patch-src_java.base_bsd_native_libjava_ProcessHandleImpl__bsd.c
openjdk17/patches/patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.c
openjdk17/patches/patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.h
openjdk17/patches/patch-src_java.base_unix_native_libnio_ch_Net.c
openjdk17/patches/patch-src_java.desktop_unix_native_common_awt_fontpath.c
openjdk17/patches/patch-src_jdk.jdwp.agent_share_native_libdt__socket_socketTransport.c
openjdk17/patches/patch-src_jdk.management_bsd_native_libmanagement__ext_UnixOperatingSystem.c
openjdk17/patches/patch-test_micro_org_openjdk_bench_java_nio_genBuffers.sh
Log Message:
openjdk17: Add OpenJDK 17 for NetBSD/amd64 9.99.95
I should prepare more bootstrap kits.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=65a4f75d9d6be9fb3a440861d7fb902148f569bd
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
openjdk17/DESCR | 8 +
openjdk17/Makefile | 205 +++++++
openjdk17/PLIST | 636 +++++++++++++++++++++
openjdk17/bootstrap.mk | 31 +
openjdk17/buildlink3.mk | 17 +
openjdk17/distinfo | 28 +
openjdk17/hacks.mk | 47 ++
openjdk17/options.mk | 108 ++++
.../patches/patch-make_autoconf_flags-cflags.m4 | 37 ++
openjdk17/patches/patch-make_autoconf_lib-alsa.m4 | 24 +
.../patches/patch-make_autoconf_lib-bundled.m4 | 16 +
.../patches/patch-make_autoconf_lib-freetype.m4 | 15 +
openjdk17/patches/patch-make_autoconf_lib-x11.m4 | 15 +
.../patch-make_common_NativeCompilation.gmk | 16 +
...-make_data_fontconfig_bsd.fontconfig.properties | 51 ++
.../patches/patch-make_lib_Awt2dLibraries.gmk | 17 +
.../patches/patch-src_hotspot_os_bsd_os__bsd.cpp | 34 ++
.../patch-src_hotspot_os_bsd_os__perf__bsd.cpp | 26 +
.../patch-src_hotspot_os_posix_os__posix.cpp | 24 +
.../patch-src_hotspot_os_posix_signals__posix.cpp | 16 +
...ase_bsd_native_libjava_ProcessHandleImpl__bsd.c | 32 ++
...e_unix_native_libjava_ProcessHandleImpl__unix.c | 15 +
...e_unix_native_libjava_ProcessHandleImpl__unix.h | 14 +
...patch-src_java.base_unix_native_libnio_ch_Net.c | 13 +
..._java.desktop_unix_native_common_awt_fontpath.c | 51 ++
...nt_share_native_libdt__socket_socketTransport.c | 13 +
...native_libmanagement__ext_UnixOperatingSystem.c | 14 +
..._micro_org_openjdk_bench_java_nio_genBuffers.sh | 22 +
28 files changed, 1545 insertions(+)
diffs:
diff --git a/openjdk17/DESCR b/openjdk17/DESCR
new file mode 100644
index 0000000000..3eeabb8a39
--- /dev/null
+++ b/openjdk17/DESCR
@@ -0,0 +1,8 @@
+Open-source implementation of the Java Platform, Standard Edition.
+
+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."
diff --git a/openjdk17/Makefile b/openjdk17/Makefile
new file mode 100644
index 0000000000..5f3c2c3d74
--- /dev/null
+++ b/openjdk17/Makefile
@@ -0,0 +1,205 @@
+# $NetBSD: Makefile,v 1.40 2022/03/01 13:51:44 ryoon Exp $
+
+DISTNAME= jdk17u-${GITHUB_TAG:C/\+/-/}
+PKGNAME= openjdk17-1.${GITHUB_TAG:C/\+/./:C/jdk-([.0-9]+).*/\1/}
+CATEGORIES= lang
+MASTER_SITES= ${MASTER_SITE_GITHUB:=battleblow/}
+GITHUB_PROJECT= jdk17u
+GITHUB_TAG= jdk-17.0.2+8-1
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://openjdk.java.net/
+COMMENT= Open-source implementation of the Java Platform, Standard Edition
+LICENSE= gnu-gpl-v2
+
+DISTFILES= ${DEFAULT_DISTFILES}
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+JAVA_NAME= openjdk17
+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 keytool \
+ rmiregistry serialver
+
+BUILD_DEPENDS+= mozilla-rootcerts>=1.0.20140820nb2:../../security/mozilla-rootcerts
+
+# For alloca()
+BUILDLINK_TRANSFORM+= opt:-std=c99:-std=gnu99
+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
+
+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+= --prefix=${PREFIX}
+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
+# Do not include ${PREFIX} (/usr/pkg) for internal libraries.
+#CONFIGURE_ARGS+= --with-extra-ldflags=${LDFLAGS:Q}
+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
+
+.include "../../mk/bsd.prefs.mk"
+
+# Avoid build errors when JAVA_HOME and CLASSPATH are defined by user.
+MAKE_ENV+= JAVA_HOME=
+MAKE_ENV+= CLASSPATH=
+.if !empty(MACHINE_PLATFORM:MNetBSD-9.99.8[1-9]-*) || \
+ !empty(MACHINE_PLATFORM:MNetBSD-9.99.9[0-9]-*)
+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= make/data/fontconfig/bsd.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_* 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;/'
+.endif
+
+PLIST_VARS+= internal_vm_compiler jvmci
+.if ${MACHINE_ARCH} == "x86_64"
+PLIST.internal_vm_compiler= yes
+PLIST.jvmci= yes
+.endif
+.if ${MACHINE_ARCH} == "aarch64"
+PLIST.jvmci= yes
+.endif
+
+.if ${OPSYS} == "NetBSD"
+TOOLS_PLATFORM.unzip=
+.endif
+
+post-extract:
+# These libs are bundled w/ the netbsd-7 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*
+.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"
diff --git a/openjdk17/PLIST b/openjdk17/PLIST
new file mode 100644
index 0000000000..caf0a1dd13
--- /dev/null
+++ b/openjdk17/PLIST
@@ -0,0 +1,636 @@
+@comment $NetBSD$
+bin/openjdk17-jar
+bin/openjdk17-jarsigner
+bin/openjdk17-java
+bin/openjdk17-javac
+bin/openjdk17-javadoc
+bin/openjdk17-javap
+bin/openjdk17-jcmd
+bin/openjdk17-jconsole
+bin/openjdk17-jdb
+bin/openjdk17-jdeprscan
+bin/openjdk17-jdeps
+bin/openjdk17-jfr
+bin/openjdk17-jimage
+bin/openjdk17-jinfo
+bin/openjdk17-jlink
+bin/openjdk17-jmap
+bin/openjdk17-jmod
+bin/openjdk17-jps
+bin/openjdk17-jrunscript
+bin/openjdk17-jshell
+bin/openjdk17-jstack
+bin/openjdk17-jstat
+bin/openjdk17-jstatd
+bin/openjdk17-keytool
+bin/openjdk17-rmiregistry
+bin/openjdk17-serialver
+java/openjdk17/bin/jar
+java/openjdk17/bin/jar.diz
+java/openjdk17/bin/jarsigner
+java/openjdk17/bin/jarsigner.diz
+java/openjdk17/bin/java
+java/openjdk17/bin/java.diz
+java/openjdk17/bin/javac
+java/openjdk17/bin/javac.diz
+java/openjdk17/bin/javadoc
+java/openjdk17/bin/javadoc.diz
+java/openjdk17/bin/javap
+java/openjdk17/bin/javap.diz
+java/openjdk17/bin/jcmd
+java/openjdk17/bin/jcmd.diz
+java/openjdk17/bin/jconsole
+java/openjdk17/bin/jconsole.diz
+java/openjdk17/bin/jdb
+java/openjdk17/bin/jdb.diz
+java/openjdk17/bin/jdeprscan
+java/openjdk17/bin/jdeprscan.diz
+java/openjdk17/bin/jdeps
+java/openjdk17/bin/jdeps.diz
+java/openjdk17/bin/jfr
+java/openjdk17/bin/jfr.diz
+java/openjdk17/bin/jimage
+java/openjdk17/bin/jimage.diz
+java/openjdk17/bin/jinfo
+java/openjdk17/bin/jinfo.diz
+java/openjdk17/bin/jlink
+java/openjdk17/bin/jlink.diz
+java/openjdk17/bin/jmap
+java/openjdk17/bin/jmap.diz
+java/openjdk17/bin/jmod
+java/openjdk17/bin/jmod.diz
+java/openjdk17/bin/jps
+java/openjdk17/bin/jps.diz
+java/openjdk17/bin/jrunscript
+java/openjdk17/bin/jrunscript.diz
+java/openjdk17/bin/jshell
+java/openjdk17/bin/jshell.diz
+java/openjdk17/bin/jstack
+java/openjdk17/bin/jstack.diz
+java/openjdk17/bin/jstat
+java/openjdk17/bin/jstat.diz
+java/openjdk17/bin/jstatd
+java/openjdk17/bin/jstatd.diz
+java/openjdk17/bin/keytool
+java/openjdk17/bin/keytool.diz
+java/openjdk17/bin/rmiregistry
+java/openjdk17/bin/rmiregistry.diz
+java/openjdk17/bin/serialver
+java/openjdk17/bin/serialver.diz
+java/openjdk17/conf/logging.properties
+java/openjdk17/conf/management/jmxremote.access
+java/openjdk17/conf/management/jmxremote.password.template
+java/openjdk17/conf/management/management.properties
+java/openjdk17/conf/net.properties
+java/openjdk17/conf/security/java.policy
+java/openjdk17/conf/security/java.security
+java/openjdk17/conf/security/policy/README.txt
+java/openjdk17/conf/security/policy/limited/default_US_export.policy
+java/openjdk17/conf/security/policy/limited/default_local.policy
+java/openjdk17/conf/security/policy/limited/exempt_local.policy
+java/openjdk17/conf/security/policy/unlimited/default_US_export.policy
+java/openjdk17/conf/security/policy/unlimited/default_local.policy
+java/openjdk17/conf/sound.properties
+java/openjdk17/demo/README
+java/openjdk17/demo/jfc/CodePointIM/CodePointIM.jar
+java/openjdk17/demo/jfc/CodePointIM/README.html
+java/openjdk17/demo/jfc/CodePointIM/README_ja.html
+java/openjdk17/demo/jfc/CodePointIM/README_zh_CN.html
+java/openjdk17/demo/jfc/CodePointIM/src.zip
+java/openjdk17/demo/jfc/FileChooserDemo/FileChooserDemo.jar
+java/openjdk17/demo/jfc/FileChooserDemo/README.txt
+java/openjdk17/demo/jfc/FileChooserDemo/src.zip
+java/openjdk17/demo/jfc/Font2DTest/Font2DTest.html
+java/openjdk17/demo/jfc/Font2DTest/Font2DTest.jar
+java/openjdk17/demo/jfc/Font2DTest/README.txt
+java/openjdk17/demo/jfc/Font2DTest/src.zip
+java/openjdk17/demo/jfc/J2Ddemo/J2Ddemo.jar
+java/openjdk17/demo/jfc/J2Ddemo/README.txt
+java/openjdk17/demo/jfc/J2Ddemo/src.zip
+java/openjdk17/demo/jfc/Metalworks/Metalworks.jar
+java/openjdk17/demo/jfc/Metalworks/README.txt
+java/openjdk17/demo/jfc/Metalworks/src.zip
+java/openjdk17/demo/jfc/Notepad/Notepad.jar
+java/openjdk17/demo/jfc/Notepad/README.txt
+java/openjdk17/demo/jfc/Notepad/src.zip
+java/openjdk17/demo/jfc/SampleTree/README.txt
+java/openjdk17/demo/jfc/SampleTree/SampleTree.jar
+java/openjdk17/demo/jfc/SampleTree/src.zip
+java/openjdk17/demo/jfc/Stylepad/README.txt
+java/openjdk17/demo/jfc/Stylepad/Stylepad.jar
+java/openjdk17/demo/jfc/Stylepad/src.zip
+java/openjdk17/demo/jfc/SwingSet2/README.txt
+java/openjdk17/demo/jfc/SwingSet2/SwingSet2.html
+java/openjdk17/demo/jfc/SwingSet2/SwingSet2.jar
+java/openjdk17/demo/jfc/SwingSet2/src.zip
+java/openjdk17/demo/jfc/TableExample/README.txt
+java/openjdk17/demo/jfc/TableExample/TableExample.jar
+java/openjdk17/demo/jfc/TableExample/src.zip
+java/openjdk17/demo/jfc/TransparentRuler/README.txt
+java/openjdk17/demo/jfc/TransparentRuler/TransparentRuler.jar
+java/openjdk17/demo/jfc/TransparentRuler/src.zip
+java/openjdk17/demo/nbproject/README.txt
+java/openjdk17/demo/nbproject/jfc/FileChooserDemo/build.properties
+java/openjdk17/demo/nbproject/jfc/FileChooserDemo/build.xml
+java/openjdk17/demo/nbproject/jfc/FileChooserDemo/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/jfc/FileChooserDemo/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/jfc/FileChooserDemo/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/jfc/FileChooserDemo/nbproject/project.xml
+java/openjdk17/demo/nbproject/jfc/Font2DTest/build.properties
+java/openjdk17/demo/nbproject/jfc/Font2DTest/build.xml
+java/openjdk17/demo/nbproject/jfc/Font2DTest/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/jfc/Font2DTest/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/jfc/Font2DTest/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/jfc/Font2DTest/nbproject/project.xml
+java/openjdk17/demo/nbproject/jfc/Metalworks/build.properties
+java/openjdk17/demo/nbproject/jfc/Metalworks/build.xml
+java/openjdk17/demo/nbproject/jfc/Metalworks/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/jfc/Metalworks/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/jfc/Metalworks/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/jfc/Metalworks/nbproject/project.xml
+java/openjdk17/demo/nbproject/jfc/Notepad/build.properties
+java/openjdk17/demo/nbproject/jfc/Notepad/build.xml
+java/openjdk17/demo/nbproject/jfc/Notepad/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/jfc/Notepad/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/jfc/Notepad/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/jfc/Notepad/nbproject/project.xml
+java/openjdk17/demo/nbproject/jfc/SampleTree/build.properties
+java/openjdk17/demo/nbproject/jfc/SampleTree/build.xml
+java/openjdk17/demo/nbproject/jfc/SampleTree/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/jfc/SampleTree/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/jfc/SampleTree/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/jfc/SampleTree/nbproject/project.xml
+java/openjdk17/demo/nbproject/jfc/SwingApplet/build.properties
+java/openjdk17/demo/nbproject/jfc/SwingApplet/build.xml
+java/openjdk17/demo/nbproject/jfc/SwingApplet/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/jfc/SwingApplet/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/jfc/SwingApplet/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/jfc/SwingApplet/nbproject/project.xml
+java/openjdk17/demo/nbproject/jfc/TableExample/build.properties
+java/openjdk17/demo/nbproject/jfc/TableExample/build.xml
+java/openjdk17/demo/nbproject/jfc/TableExample/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/jfc/TableExample/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/jfc/TableExample/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/jfc/TableExample/nbproject/project.xml
+java/openjdk17/demo/nbproject/jfc/TransparentRuler/build.properties
+java/openjdk17/demo/nbproject/jfc/TransparentRuler/build.xml
+java/openjdk17/demo/nbproject/jfc/TransparentRuler/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/jfc/TransparentRuler/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/jfc/TransparentRuler/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/jfc/TransparentRuler/nbproject/project.xml
+java/openjdk17/demo/nbproject/management/FullThreadDump/build.properties
+java/openjdk17/demo/nbproject/management/FullThreadDump/build.xml
+java/openjdk17/demo/nbproject/management/FullThreadDump/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/management/FullThreadDump/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/management/FullThreadDump/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/management/FullThreadDump/nbproject/project.xml
+java/openjdk17/demo/nbproject/management/JTop/build.properties
+java/openjdk17/demo/nbproject/management/JTop/build.xml
+java/openjdk17/demo/nbproject/management/JTop/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/management/JTop/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/management/JTop/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/management/JTop/nbproject/project.xml
+java/openjdk17/demo/nbproject/management/MemoryMonitor/build.properties
+java/openjdk17/demo/nbproject/management/MemoryMonitor/build.xml
+java/openjdk17/demo/nbproject/management/MemoryMonitor/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/management/MemoryMonitor/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/management/MemoryMonitor/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/management/MemoryMonitor/nbproject/project.xml
+java/openjdk17/demo/nbproject/management/VerboseGC/build.properties
+java/openjdk17/demo/nbproject/management/VerboseGC/build.xml
+java/openjdk17/demo/nbproject/management/VerboseGC/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/management/VerboseGC/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/management/VerboseGC/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/management/VerboseGC/nbproject/project.xml
+java/openjdk17/demo/nbproject/project.xml
+java/openjdk17/demo/nbproject/scripting/jconsole-plugin/build.properties
+java/openjdk17/demo/nbproject/scripting/jconsole-plugin/build.xml
+java/openjdk17/demo/nbproject/scripting/jconsole-plugin/nbproject/file-targets.xml
+java/openjdk17/demo/nbproject/scripting/jconsole-plugin/nbproject/jdk.xml
+java/openjdk17/demo/nbproject/scripting/jconsole-plugin/nbproject/netbeans-targets.xml
+java/openjdk17/demo/nbproject/scripting/jconsole-plugin/nbproject/project.xml
+java/openjdk17/include/classfile_constants.h
+java/openjdk17/include/jawt.h
+java/openjdk17/include/jdwpTransport.h
+java/openjdk17/include/jni.h
+java/openjdk17/include/jvmti.h
+java/openjdk17/include/jvmticmlr.h
+java/openjdk17/include/netbsd/jawt_md.h
+java/openjdk17/include/netbsd/jni_md.h
+java/openjdk17/jmods/java.base.jmod
+java/openjdk17/jmods/java.compiler.jmod
+java/openjdk17/jmods/java.datatransfer.jmod
+java/openjdk17/jmods/java.desktop.jmod
+java/openjdk17/jmods/java.instrument.jmod
+java/openjdk17/jmods/java.logging.jmod
+java/openjdk17/jmods/java.management.jmod
+java/openjdk17/jmods/java.management.rmi.jmod
+java/openjdk17/jmods/java.naming.jmod
+java/openjdk17/jmods/java.net.http.jmod
+java/openjdk17/jmods/java.prefs.jmod
+java/openjdk17/jmods/java.rmi.jmod
+java/openjdk17/jmods/java.scripting.jmod
+java/openjdk17/jmods/java.se.jmod
+java/openjdk17/jmods/java.security.jgss.jmod
+java/openjdk17/jmods/java.security.sasl.jmod
+java/openjdk17/jmods/java.smartcardio.jmod
+java/openjdk17/jmods/java.sql.jmod
+java/openjdk17/jmods/java.sql.rowset.jmod
+java/openjdk17/jmods/java.transaction.xa.jmod
+java/openjdk17/jmods/java.xml.crypto.jmod
+java/openjdk17/jmods/java.xml.jmod
+java/openjdk17/jmods/jdk.accessibility.jmod
+java/openjdk17/jmods/jdk.attach.jmod
+java/openjdk17/jmods/jdk.charsets.jmod
+java/openjdk17/jmods/jdk.compiler.jmod
+java/openjdk17/jmods/jdk.crypto.cryptoki.jmod
+java/openjdk17/jmods/jdk.crypto.ec.jmod
+java/openjdk17/jmods/jdk.dynalink.jmod
+java/openjdk17/jmods/jdk.editpad.jmod
+java/openjdk17/jmods/jdk.httpserver.jmod
+java/openjdk17/jmods/jdk.incubator.foreign.jmod
+java/openjdk17/jmods/jdk.incubator.vector.jmod
+java/openjdk17/jmods/jdk.internal.ed.jmod
+java/openjdk17/jmods/jdk.internal.jvmstat.jmod
+java/openjdk17/jmods/jdk.internal.le.jmod
+java/openjdk17/jmods/jdk.internal.opt.jmod
+${PLIST.jvmci}java/openjdk17/jmods/jdk.internal.vm.ci.jmod
+${PLIST.internal_vm_compiler}java/openjdk17/jmods/jdk.internal.vm.compiler.jmod
+${PLIST.internal_vm_compiler}java/openjdk17/jmods/jdk.internal.vm.compiler.management.jmod
+java/openjdk17/jmods/jdk.jartool.jmod
+java/openjdk17/jmods/jdk.javadoc.jmod
+java/openjdk17/jmods/jdk.jcmd.jmod
+java/openjdk17/jmods/jdk.jconsole.jmod
+java/openjdk17/jmods/jdk.jdeps.jmod
+java/openjdk17/jmods/jdk.jdi.jmod
+java/openjdk17/jmods/jdk.jdwp.agent.jmod
+java/openjdk17/jmods/jdk.jfr.jmod
+java/openjdk17/jmods/jdk.jlink.jmod
+java/openjdk17/jmods/jdk.jshell.jmod
+java/openjdk17/jmods/jdk.jsobject.jmod
+java/openjdk17/jmods/jdk.jstatd.jmod
+java/openjdk17/jmods/jdk.localedata.jmod
+java/openjdk17/jmods/jdk.management.agent.jmod
+java/openjdk17/jmods/jdk.management.jfr.jmod
+java/openjdk17/jmods/jdk.management.jmod
+java/openjdk17/jmods/jdk.naming.dns.jmod
+java/openjdk17/jmods/jdk.naming.rmi.jmod
+java/openjdk17/jmods/jdk.net.jmod
+java/openjdk17/jmods/jdk.nio.mapmode.jmod
+java/openjdk17/jmods/jdk.random.jmod
+java/openjdk17/jmods/jdk.sctp.jmod
+java/openjdk17/jmods/jdk.security.auth.jmod
+java/openjdk17/jmods/jdk.security.jgss.jmod
+java/openjdk17/jmods/jdk.unsupported.desktop.jmod
+java/openjdk17/jmods/jdk.unsupported.jmod
+java/openjdk17/jmods/jdk.xml.dom.jmod
+java/openjdk17/jmods/jdk.zipfs.jmod
+java/openjdk17/legal/java.base/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.base/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.base/LICENSE
+java/openjdk17/legal/java.base/aes.md
+java/openjdk17/legal/java.base/asm.md
+java/openjdk17/legal/java.base/c-libutl.md
+java/openjdk17/legal/java.base/cldr.md
+java/openjdk17/legal/java.base/icu.md
+java/openjdk17/legal/java.base/public_suffix.md
+java/openjdk17/legal/java.base/unicode.md
+java/openjdk17/legal/java.compiler/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.compiler/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.compiler/LICENSE
+java/openjdk17/legal/java.datatransfer/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.datatransfer/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.datatransfer/LICENSE
+java/openjdk17/legal/java.desktop/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.desktop/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.desktop/LICENSE
+java/openjdk17/legal/java.desktop/colorimaging.md
+java/openjdk17/legal/java.desktop/giflib.md
+java/openjdk17/legal/java.desktop/harfbuzz.md
+java/openjdk17/legal/java.desktop/jpeg.md
+java/openjdk17/legal/java.desktop/lcms.md
+java/openjdk17/legal/java.desktop/libpng.md
+java/openjdk17/legal/java.desktop/mesa3d.md
+java/openjdk17/legal/java.desktop/xwd.md
+java/openjdk17/legal/java.instrument/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.instrument/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.instrument/LICENSE
+java/openjdk17/legal/java.logging/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.logging/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.logging/LICENSE
+java/openjdk17/legal/java.management.rmi/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.management.rmi/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.management.rmi/LICENSE
+java/openjdk17/legal/java.management/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.management/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.management/LICENSE
+java/openjdk17/legal/java.naming/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.naming/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.naming/LICENSE
+java/openjdk17/legal/java.net.http/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.net.http/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.net.http/LICENSE
+java/openjdk17/legal/java.prefs/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.prefs/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.prefs/LICENSE
+java/openjdk17/legal/java.rmi/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.rmi/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.rmi/LICENSE
+java/openjdk17/legal/java.scripting/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.scripting/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.scripting/LICENSE
+java/openjdk17/legal/java.se/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.se/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.se/LICENSE
+java/openjdk17/legal/java.security.jgss/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.security.jgss/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.security.jgss/LICENSE
+java/openjdk17/legal/java.security.sasl/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.security.sasl/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.security.sasl/LICENSE
+java/openjdk17/legal/java.smartcardio/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.smartcardio/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.smartcardio/LICENSE
+java/openjdk17/legal/java.smartcardio/pcsclite.md
+java/openjdk17/legal/java.sql.rowset/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.sql.rowset/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.sql.rowset/LICENSE
+java/openjdk17/legal/java.sql/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.sql/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.sql/LICENSE
+java/openjdk17/legal/java.transaction.xa/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.transaction.xa/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.transaction.xa/LICENSE
+java/openjdk17/legal/java.xml.crypto/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.xml.crypto/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.xml.crypto/LICENSE
+java/openjdk17/legal/java.xml.crypto/santuario.md
+java/openjdk17/legal/java.xml/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/java.xml/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/java.xml/LICENSE
+java/openjdk17/legal/java.xml/bcel.md
+java/openjdk17/legal/java.xml/dom.md
+java/openjdk17/legal/java.xml/jcup.md
+java/openjdk17/legal/java.xml/xalan.md
+java/openjdk17/legal/java.xml/xerces.md
+java/openjdk17/legal/jdk.accessibility/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.accessibility/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.accessibility/LICENSE
+java/openjdk17/legal/jdk.attach/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.attach/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.attach/LICENSE
+java/openjdk17/legal/jdk.charsets/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.charsets/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.charsets/LICENSE
+java/openjdk17/legal/jdk.compiler/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.compiler/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.compiler/LICENSE
+java/openjdk17/legal/jdk.crypto.cryptoki/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.crypto.cryptoki/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.crypto.cryptoki/LICENSE
+java/openjdk17/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md
+java/openjdk17/legal/jdk.crypto.cryptoki/pkcs11wrapper.md
+java/openjdk17/legal/jdk.crypto.ec/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.crypto.ec/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.crypto.ec/LICENSE
+java/openjdk17/legal/jdk.dynalink/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.dynalink/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.dynalink/LICENSE
+java/openjdk17/legal/jdk.dynalink/dynalink.md
+java/openjdk17/legal/jdk.editpad/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.editpad/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.editpad/LICENSE
+java/openjdk17/legal/jdk.httpserver/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.httpserver/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.httpserver/LICENSE
+java/openjdk17/legal/jdk.incubator.foreign/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.incubator.foreign/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.incubator.foreign/LICENSE
+java/openjdk17/legal/jdk.incubator.vector/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.incubator.vector/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.incubator.vector/LICENSE
+java/openjdk17/legal/jdk.internal.ed/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.internal.ed/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.internal.ed/LICENSE
+java/openjdk17/legal/jdk.internal.jvmstat/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.internal.jvmstat/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.internal.jvmstat/LICENSE
+java/openjdk17/legal/jdk.internal.le/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.internal.le/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.internal.le/LICENSE
+java/openjdk17/legal/jdk.internal.le/jline.md
+java/openjdk17/legal/jdk.internal.opt/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.internal.opt/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.internal.opt/LICENSE
+java/openjdk17/legal/jdk.internal.opt/jopt-simple.md
+${PLIST.jvmci}java/openjdk17/legal/jdk.internal.vm.ci/ADDITIONAL_LICENSE_INFO
+${PLIST.jvmci}java/openjdk17/legal/jdk.internal.vm.ci/ASSEMBLY_EXCEPTION
+${PLIST.jvmci}java/openjdk17/legal/jdk.internal.vm.ci/LICENSE
+${PLIST.internal_vm_compiler}java/openjdk17/legal/jdk.internal.vm.compiler.management/ADDITIONAL_LICENSE_INFO
+${PLIST.internal_vm_compiler}java/openjdk17/legal/jdk.internal.vm.compiler.management/ASSEMBLY_EXCEPTION
+${PLIST.internal_vm_compiler}java/openjdk17/legal/jdk.internal.vm.compiler.management/LICENSE
+${PLIST.internal_vm_compiler}java/openjdk17/legal/jdk.internal.vm.compiler/ADDITIONAL_LICENSE_INFO
+${PLIST.internal_vm_compiler}java/openjdk17/legal/jdk.internal.vm.compiler/ASSEMBLY_EXCEPTION
+${PLIST.internal_vm_compiler}java/openjdk17/legal/jdk.internal.vm.compiler/LICENSE
+java/openjdk17/legal/jdk.jartool/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.jartool/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.jartool/LICENSE
+java/openjdk17/legal/jdk.javadoc/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.javadoc/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.javadoc/LICENSE
+java/openjdk17/legal/jdk.javadoc/jquery.md
+java/openjdk17/legal/jdk.javadoc/jqueryUI.md
+java/openjdk17/legal/jdk.jcmd/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.jcmd/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.jcmd/LICENSE
+java/openjdk17/legal/jdk.jconsole/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.jconsole/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.jconsole/LICENSE
+java/openjdk17/legal/jdk.jdeps/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.jdeps/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.jdeps/LICENSE
+java/openjdk17/legal/jdk.jdi/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.jdi/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.jdi/LICENSE
+java/openjdk17/legal/jdk.jdwp.agent/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.jdwp.agent/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.jdwp.agent/LICENSE
+java/openjdk17/legal/jdk.jfr/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.jfr/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.jfr/LICENSE
+java/openjdk17/legal/jdk.jlink/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.jlink/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.jlink/LICENSE
+java/openjdk17/legal/jdk.jshell/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.jshell/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.jshell/LICENSE
+java/openjdk17/legal/jdk.jsobject/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.jsobject/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.jsobject/LICENSE
+java/openjdk17/legal/jdk.jstatd/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.jstatd/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.jstatd/LICENSE
+java/openjdk17/legal/jdk.localedata/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.localedata/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.localedata/LICENSE
+java/openjdk17/legal/jdk.localedata/cldr.md
+java/openjdk17/legal/jdk.localedata/thaidict.md
+java/openjdk17/legal/jdk.management.agent/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.management.agent/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.management.agent/LICENSE
+java/openjdk17/legal/jdk.management.jfr/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.management.jfr/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.management.jfr/LICENSE
+java/openjdk17/legal/jdk.management/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.management/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.management/LICENSE
+java/openjdk17/legal/jdk.naming.dns/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.naming.dns/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.naming.dns/LICENSE
+java/openjdk17/legal/jdk.naming.rmi/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.naming.rmi/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.naming.rmi/LICENSE
+java/openjdk17/legal/jdk.net/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.net/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.net/LICENSE
+java/openjdk17/legal/jdk.nio.mapmode/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.nio.mapmode/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.nio.mapmode/LICENSE
+java/openjdk17/legal/jdk.random/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.random/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.random/LICENSE
+java/openjdk17/legal/jdk.sctp/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.sctp/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.sctp/LICENSE
+java/openjdk17/legal/jdk.security.auth/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.security.auth/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.security.auth/LICENSE
+java/openjdk17/legal/jdk.security.jgss/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.security.jgss/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.security.jgss/LICENSE
+java/openjdk17/legal/jdk.unsupported.desktop/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.unsupported.desktop/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.unsupported.desktop/LICENSE
+java/openjdk17/legal/jdk.unsupported/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.unsupported/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.unsupported/LICENSE
+java/openjdk17/legal/jdk.xml.dom/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.xml.dom/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.xml.dom/LICENSE
+java/openjdk17/legal/jdk.zipfs/ADDITIONAL_LICENSE_INFO
+java/openjdk17/legal/jdk.zipfs/ASSEMBLY_EXCEPTION
+java/openjdk17/legal/jdk.zipfs/LICENSE
+java/openjdk17/lib/classlist
+java/openjdk17/lib/ct.sym
+java/openjdk17/lib/fontconfig.bfc
+java/openjdk17/lib/fontconfig.properties.src
+java/openjdk17/lib/jfr/default.jfc
+java/openjdk17/lib/jfr/profile.jfc
+java/openjdk17/lib/jrt-fs.jar
+java/openjdk17/lib/jspawnhelper
+java/openjdk17/lib/jspawnhelper.diz
+java/openjdk17/lib/jvm.cfg
+java/openjdk17/lib/libattach.diz
+java/openjdk17/lib/libattach.so
+java/openjdk17/lib/libawt.diz
+java/openjdk17/lib/libawt.so
+java/openjdk17/lib/libawt_headless.diz
+java/openjdk17/lib/libawt_headless.so
+${PLIST.x11}java/openjdk17/lib/libawt_xawt${DBGEXT}
+${PLIST.x11}java/openjdk17/lib/libawt_xawt.so
+java/openjdk17/lib/libdt_socket.diz
+java/openjdk17/lib/libdt_socket.so
+java/openjdk17/lib/libextnet.diz
+java/openjdk17/lib/libextnet.so
+java/openjdk17/lib/libfontmanager.diz
+java/openjdk17/lib/libfontmanager.so
+java/openjdk17/lib/libinstrument.diz
+java/openjdk17/lib/libinstrument.so
+java/openjdk17/lib/libj2gss.diz
+java/openjdk17/lib/libj2gss.so
+java/openjdk17/lib/libj2pcsc.diz
+java/openjdk17/lib/libj2pcsc.so
+java/openjdk17/lib/libj2pkcs11.diz
+java/openjdk17/lib/libj2pkcs11.so
+java/openjdk17/lib/libjaas.diz
+java/openjdk17/lib/libjaas.so
+java/openjdk17/lib/libjava.diz
+java/openjdk17/lib/libjava.so
+java/openjdk17/lib/libjavajpeg.diz
+java/openjdk17/lib/libjavajpeg.so
+java/openjdk17/lib/libjawt.diz
+java/openjdk17/lib/libjawt.so
+java/openjdk17/lib/libjdwp.diz
+java/openjdk17/lib/libjdwp.so
+java/openjdk17/lib/libjimage.diz
+java/openjdk17/lib/libjimage.so
+java/openjdk17/lib/libjli.diz
+java/openjdk17/lib/libjli.so
+java/openjdk17/lib/libjsig.diz
+java/openjdk17/lib/libjsig.so
+java/openjdk17/lib/libjsound.diz
+java/openjdk17/lib/libjsound.so
+java/openjdk17/lib/liblcms.diz
+java/openjdk17/lib/liblcms.so
+java/openjdk17/lib/libmanagement.diz
+java/openjdk17/lib/libmanagement.so
+java/openjdk17/lib/libmanagement_agent.diz
+java/openjdk17/lib/libmanagement_agent.so
+java/openjdk17/lib/libmanagement_ext.diz
+java/openjdk17/lib/libmanagement_ext.so
+java/openjdk17/lib/libmlib_image.diz
+java/openjdk17/lib/libmlib_image.so
+java/openjdk17/lib/libnet.diz
+java/openjdk17/lib/libnet.so
+java/openjdk17/lib/libnio.diz
+java/openjdk17/lib/libnio.so
+java/openjdk17/lib/libprefs.diz
+java/openjdk17/lib/libprefs.so
+java/openjdk17/lib/librmi.diz
+java/openjdk17/lib/librmi.so
+${PLIST.x11}java/openjdk17/lib/libsplashscreen${DBGEXT}
+${PLIST.x11}java/openjdk17/lib/libsplashscreen.so
+java/openjdk17/lib/libsyslookup.diz
+java/openjdk17/lib/libsyslookup.so
+java/openjdk17/lib/libverify.diz
+java/openjdk17/lib/libverify.so
+java/openjdk17/lib/libzip.diz
+java/openjdk17/lib/libzip.so
+java/openjdk17/lib/modules
+java/openjdk17/lib/psfont.properties.ja
+java/openjdk17/lib/psfontj2d.properties
+java/openjdk17/lib/security/blocked.certs
+java/openjdk17/lib/security/cacerts
+java/openjdk17/lib/security/default.policy
+java/openjdk17/lib/security/public_suffix_list.dat
+java/openjdk17/lib/server/libjsig.so
+java/openjdk17/lib/server/libjvm.diz
+java/openjdk17/lib/server/libjvm.so
+java/openjdk17/lib/src.zip
+java/openjdk17/lib/tzdb.dat
+java/openjdk17/man/man1/jar.1
+java/openjdk17/man/man1/jarsigner.1
+java/openjdk17/man/man1/java.1
+java/openjdk17/man/man1/javac.1
+java/openjdk17/man/man1/javadoc.1
+java/openjdk17/man/man1/javap.1
+java/openjdk17/man/man1/jcmd.1
+java/openjdk17/man/man1/jconsole.1
+java/openjdk17/man/man1/jdb.1
+java/openjdk17/man/man1/jdeprscan.1
+java/openjdk17/man/man1/jdeps.1
+java/openjdk17/man/man1/jfr.1
+java/openjdk17/man/man1/jinfo.1
+java/openjdk17/man/man1/jlink.1
+java/openjdk17/man/man1/jmap.1
+java/openjdk17/man/man1/jmod.1
+java/openjdk17/man/man1/jps.1
+java/openjdk17/man/man1/jrunscript.1
+java/openjdk17/man/man1/jshell.1
+java/openjdk17/man/man1/jstack.1
+java/openjdk17/man/man1/jstat.1
+java/openjdk17/man/man1/jstatd.1
+java/openjdk17/man/man1/keytool.1
+java/openjdk17/man/man1/rmiregistry.1
+java/openjdk17/man/man1/serialver.1
+java/openjdk17/release
diff --git a/openjdk17/bootstrap.mk b/openjdk17/bootstrap.mk
new file mode 100644
index 0000000000..24017203eb
--- /dev/null
+++ b/openjdk17/bootstrap.mk
@@ -0,0 +1,31 @@
+# $NetBSD: bootstrap.mk,v 1.4 2020/05/09 00:55:44 tnn Exp $
+
+
+#ONLY_FOR_PLATFORM+= NetBSD-*-i386
+#BOOT.nb7-i386= bootstrap-jdk-1.11.0.5.8-netbsd-7-i386-20190928.tar.xz
+#SITES.${BOOT.nb7-i386}= ${MASTER_SITE_LOCAL:=openjdk11/}
+#.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo)
+#DISTFILES+= ${BOOT.nb7-i386}
+#EXTRACT_ONLY+= ${BOOT.nb7-i386}
+#.endif
+
+ONLY_FOR_PLATFORM+= NetBSD-*-x86_64
+BOOT.nb10-amd64= bootstrap-jdk-1.17.0.2.8-netbsd-10-amd64-20220324.tar.xz
+#SITES.${BOOT.nb10-amd64}= ${MASTER_SITE_LOCAL:=openjdk17/}
+SITES.${BOOT.nb10-amd64}= https://www.ryoon.net/~ryoon/
+.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || make(distinfo)
+DISTFILES+= ${BOOT.nb10-amd64}
+EXTRACT_ONLY+= ${BOOT.nb10-amd64}
+.endif
+
+#ONLY_FOR_PLATFORM+= NetBSD-*-aarch64
+#BOOT.nb9-aarch64= bootstrap-jdk-1.11.0.7.10-netbsd-9-aarch64-20200509.tar.xz
+#SITES.${BOOT.nb9-aarch64}= ${MASTER_SITE_LOCAL:=openjdk11/}
+#.if !empty(MACHINE_PLATFORM:MNetBSD-*-aarch64) || make(distinfo)
+#DISTFILES+= ${BOOT.nb9-aarch64}
+#EXTRACT_ONLY+= ${BOOT.nb9-aarch64}
+#.endif
+
+CONFIGURE_ENV+= LD_LIBRARY_PATH=${ALT_BOOTDIR}/lib
+
+ALT_BOOTDIR= ${WRKDIR}/bootstrap
diff --git a/openjdk17/buildlink3.mk b/openjdk17/buildlink3.mk
new file mode 100644
index 0000000000..e0cf5618e9
--- /dev/null
+++ b/openjdk17/buildlink3.mk
@@ -0,0 +1,17 @@
+# $NetBSD: buildlink3.mk,v 1.1 2019/10/02 13:10:23 ryoon Exp $
+
+BUILDLINK_TREE+= openjdk17
+
+.if !defined(OPENJDK17_BUILDLINK3_MK)
+OPENJDK17_BUILDLINK3_MK:=
+
+BUILDLINK_LIBDIRS.openjdk17+= java/openjdk17/lib
+BUILDLINK_LIBDIRS.openjdk17+= java/openjdk17/lib/jli
+BUILDLINK_LIBDIRS.openjdk17+= java/openjdk17/lib/server
+
+BUILDLINK_API_DEPENDS.openjdk17+= openjdk17>=1.17.0.2.8
+BUILDLINK_PKGSRCDIR.openjdk17?= ../../wip/openjdk17
+
+.endif # OPENJDK17_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -openjdk17
diff --git a/openjdk17/distinfo b/openjdk17/distinfo
new file mode 100644
index 0000000000..07ebeab329
--- /dev/null
+++ b/openjdk17/distinfo
@@ -0,0 +1,28 @@
+$NetBSD: distinfo,v 1.29 2022/03/05 14:47:24 tnn Exp $
+
+BLAKE2s (bootstrap-jdk-1.17.0.2.8-netbsd-10-amd64-20220324.tar.xz) = 18b0af103119a86ba5a2bfb13d13cc3b7bb37c8098904e9775d1de0054e45cf5
+SHA512 (bootstrap-jdk-1.17.0.2.8-netbsd-10-amd64-20220324.tar.xz) = 49aa3c929529b3f3ec43c54f359bf15275013069cdde98b6d088f12a2fc3b18e113c7e3b9a7c4cba963322f2e9eb96d2d4359c324e2c4ac399bc2db3e3fcac2f
+Size (bootstrap-jdk-1.17.0.2.8-netbsd-10-amd64-20220324.tar.xz) = 320276156 bytes
+BLAKE2s (jdk17u-jdk-17.0.2-8-1.tar.gz) = c642373e109255df6b29c91476c9afe3a0d23b88ec8ad559c432e21b1b51fdd3
+SHA512 (jdk17u-jdk-17.0.2-8-1.tar.gz) = a8127c6bd55ae5fff69209c7ed84803d411cd1660f3e48e95d8fd8fee73c54dbaaa8b5c31de51687a2f194c0c063f7e56b2426866dc926a0e02fd728ceea65b4
+Size (jdk17u-jdk-17.0.2-8-1.tar.gz) = 104857682 bytes
+SHA1 (patch-make_autoconf_flags-cflags.m4) = 0379aeecc6181cbd15f6f31518b73ca915f1f73b
+SHA1 (patch-make_autoconf_lib-alsa.m4) = 999fbf951363f6b49b22aad81537728f22d7c381
+SHA1 (patch-make_autoconf_lib-bundled.m4) = 8720c3f674955e8a51b2ab7dba80c36d34ba8594
+SHA1 (patch-make_autoconf_lib-freetype.m4) = bd791b99e4fd87f24432831fba1e814dd199445f
+SHA1 (patch-make_autoconf_lib-x11.m4) = 38038e6d7cfc2d15fb3537a52f11d2961cc2ec99
+SHA1 (patch-make_common_NativeCompilation.gmk) = fc97a952ba87efb450f59e87f19fb4c47558ae1d
+SHA1 (patch-make_data_fontconfig_bsd.fontconfig.properties) = 3172d8d76e0e79b127605429fb70dccd164b33c8
+SHA1 (patch-make_lib_Awt2dLibraries.gmk) = d69fa8c5cab173be2f41cfbd6479dad60a6337db
+SHA1 (patch-src_hotspot_os_bsd_os__bsd.cpp) = 0a772045ad967cbd0a1342d124c47927f4a57bfe
+SHA1 (patch-src_hotspot_os_bsd_os__perf__bsd.cpp) = b70e14728e426a9f79c2c1ee735849fb53dfc1bd
+SHA1 (patch-src_hotspot_os_posix_os__posix.cpp) = a58d5eb59181d68d46272e15d47b94c6790ed00a
+SHA1 (patch-src_hotspot_os_posix_signals__posix.cpp) = 05486d931f294066e0cc04a389ce6cb038bb1b6d
+SHA1 (patch-src_java.base_bsd_native_libjava_ProcessHandleImpl__bsd.c) = 8c6f9cab9dca7bfab9e2e8f95059f702e1ce8a81
+SHA1 (patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.c) = 39c7afb3c36fa9557d2a660c4b4068b5684c552f
+SHA1 (patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.h) = 121357cb76b4a96c06cc2bf670579e0b27f66fc1
+SHA1 (patch-src_java.base_unix_native_libnio_ch_Net.c) = 2bdb089f7d4f708fb750793b7e0bfa7796fb1694
+SHA1 (patch-src_java.desktop_unix_native_common_awt_fontpath.c) = d7bd8839ecd84459fbd3e7d14ac0e2f48b8b4032
+SHA1 (patch-src_jdk.jdwp.agent_share_native_libdt__socket_socketTransport.c) = c06b49fbc9d34cb839f3bd7821779c79b763a629
+SHA1 (patch-src_jdk.management_bsd_native_libmanagement__ext_UnixOperatingSystem.c) = ba9dfd0af80493daa83a4d76c7444368f4a8c221
+SHA1 (patch-test_micro_org_openjdk_bench_java_nio_genBuffers.sh) = 07d8bd57548ce9cfea0e789ba78c27b08f9b80ba
diff --git a/openjdk17/hacks.mk b/openjdk17/hacks.mk
new file mode 100644
index 0000000000..e2fe93b2f4
--- /dev/null
+++ b/openjdk17/hacks.mk
@@ -0,0 +1,47 @@
+# $NetBSD: hacks.mk,v 1.2 2020/05/03 20:07:34 tnn 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
diff --git a/openjdk17/options.mk b/openjdk17/options.mk
new file mode 100644
index 0000000000..85e7c9c5ad
--- /dev/null
+++ b/openjdk17/options.mk
@@ -0,0 +1,108 @@
+# $NetBSD: options.mk,v 1.7 2021/06/28 23:12:22 tnn 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" || !empty(MACHINE_ARCH:M*arm*) || ${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.
+#
+.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
+.endif
+CONFIGURE_ARGS+= --with-jvm-variants=${BUILD_VARIANT}
diff --git a/openjdk17/patches/patch-make_autoconf_flags-cflags.m4 b/openjdk17/patches/patch-make_autoconf_flags-cflags.m4
new file mode 100644
index 0000000000..f715f59992
--- /dev/null
+++ b/openjdk17/patches/patch-make_autoconf_flags-cflags.m4
@@ -0,0 +1,37 @@
+$NetBSD: patch-make_autoconf_flags-cflags.m4,v 1.2 2021/06/27 08:53:54 tnn 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
diff --git a/openjdk17/patches/patch-make_autoconf_lib-alsa.m4 b/openjdk17/patches/patch-make_autoconf_lib-alsa.m4
new file mode 100644
index 0000000000..665ceaffaf
--- /dev/null
+++ b/openjdk17/patches/patch-make_autoconf_lib-alsa.m4
@@ -0,0 +1,24 @@
+$NetBSD: patch-make_autoconf_lib-alsa.m4,v 1.1 2021/08/04 17:06:35 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.
diff --git a/openjdk17/patches/patch-make_autoconf_lib-bundled.m4 b/openjdk17/patches/patch-make_autoconf_lib-bundled.m4
new file mode 100644
index 0000000000..5518ee3869
--- /dev/null
+++ b/openjdk17/patches/patch-make_autoconf_lib-bundled.m4
@@ -0,0 +1,16 @@
+$NetBSD: patch-make_autoconf_lib-bundled.m4,v 1.1 2019/10/01 12:36:34 tnn Exp $
+
+Add rpath for zlib.
+
+--- make/autoconf/lib-bundled.m4.orig 2019-09-19 12:22:38.000000000 +0000
++++ make/autoconf/lib-bundled.m4
+@@ -257,7 +257,8 @@ AC_DEFUN_ONCE([LIB_SETUP_ZLIB],
+ if test "x$USE_EXTERNAL_LIBZ" = "xfalse"; then
+ LIBZ_CFLAGS="$LIBZ_CFLAGS -I$TOPDIR/src/java.base/share/native/libzip/zlib"
+ 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)
diff --git a/openjdk17/patches/patch-make_autoconf_lib-freetype.m4 b/openjdk17/patches/patch-make_autoconf_lib-freetype.m4
new file mode 100644
index 0000000000..9cd318d84d
--- /dev/null
+++ b/openjdk17/patches/patch-make_autoconf_lib-freetype.m4
@@ -0,0 +1,15 @@
+$NetBSD: patch-make_autoconf_lib-freetype.m4,v 1.1 2019/10/01 12:36:34 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
+
diff --git a/openjdk17/patches/patch-make_autoconf_lib-x11.m4 b/openjdk17/patches/patch-make_autoconf_lib-x11.m4
new file mode 100644
index 0000000000..918b3c2f2f
--- /dev/null
+++ b/openjdk17/patches/patch-make_autoconf_lib-x11.m4
@@ -0,0 +1,15 @@
+$NetBSD: patch-make_autoconf_lib-x11.m4,v 1.1 2019/10/01 12:36:34 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"
diff --git a/openjdk17/patches/patch-make_common_NativeCompilation.gmk b/openjdk17/patches/patch-make_common_NativeCompilation.gmk
new file mode 100644
index 0000000000..10cdf5c0b9
--- /dev/null
+++ b/openjdk17/patches/patch-make_common_NativeCompilation.gmk
@@ -0,0 +1,16 @@
+$NetBSD: patch-make_common_NativeCompilation.gmk,v 1.1 2019/10/01 12:36:34 tnn Exp $
+
+Disable PaX mprotect.
+
+--- make/common/NativeCompilation.gmk.orig 2019-09-19 12:22:38.000000000 +0000
++++ make/common/NativeCompilation.gmk
+@@ -1012,6 +1012,9 @@ define SetupNativeCompilationBody
+ $$($1_MT) -nologo -manifest $$($1_MANIFEST) -identity:"$$($1_NAME).exe, version=$$($1_MANIFEST_VERSION)" -outputresource:$$@;#1
+ endif
+ endif
++ ifeq ($(OPENJDK_TARGET_OS_ENV), bsd.netbsd)
++ /usr/sbin/paxctl +m $$@
++ endif
+ # This only works if the openjdk_codesign identity is present on the system. Let
+ # silently fail otherwise.
+ ifneq ($(CODESIGN), )
diff --git a/openjdk17/patches/patch-make_data_fontconfig_bsd.fontconfig.properties b/openjdk17/patches/patch-make_data_fontconfig_bsd.fontconfig.properties
new file mode 100644
index 0000000000..63e07bcad7
--- /dev/null
+++ b/openjdk17/patches/patch-make_data_fontconfig_bsd.fontconfig.properties
@@ -0,0 +1,51 @@
+$NetBSD$
+
+--- make/data/fontconfig/bsd.fontconfig.properties.orig 2022-02-05 03:44:09.000000000 +0000
++++ make/data/fontconfig/bsd.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
diff --git a/openjdk17/patches/patch-make_lib_Awt2dLibraries.gmk b/openjdk17/patches/patch-make_lib_Awt2dLibraries.gmk
new file mode 100644
index 0000000000..c844f9156d
--- /dev/null
+++ b/openjdk17/patches/patch-make_lib_Awt2dLibraries.gmk
@@ -0,0 +1,17 @@
+$NetBSD: patch-make_lib_Awt2dLibraries.gmk,v 1.1 2019/10/03 16:57:20 tnn 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), \
diff --git a/openjdk17/patches/patch-src_hotspot_os_bsd_os__bsd.cpp b/openjdk17/patches/patch-src_hotspot_os_bsd_os__bsd.cpp
new file mode 100644
index 0000000000..3d62bca502
--- /dev/null
+++ b/openjdk17/patches/patch-src_hotspot_os_bsd_os__bsd.cpp
@@ -0,0 +1,34 @@
+$NetBSD$
+
+--- src/hotspot/os/bsd/os_bsd.cpp.orig 2022-02-05 03:44:09.000000000 +0000
++++ src/hotspot/os/bsd/os_bsd.cpp
+@@ -106,6 +106,11 @@
+ #include <vm/vm_param.h>
+ #endif
+
++#ifdef __NetBSD__
++#include <link_elf.h>
++#include <lwp.h>
++#endif
++
+ #ifdef __OpenBSD__
+ #include <pthread_np.h>
+ #include <link_elf.h>
+@@ -381,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:/usr/pkg/lib:/lib:/usr/lib"
+ #else
+ #define DEFAULT_LIBPATH "/usr/lib:/usr/local/lib"
+ #endif
+@@ -2318,7 +2323,7 @@ void os::set_native_thread_name(const ch
+ #elif defined(__FreeBSD__) || defined(__OpenBSD__)
+ pthread_set_name_np(pthread_self(), name);
+ #elif defined(__NetBSD__)
+- pthread_setname_np(pthread_self(), "%s", name);
++ pthread_setname_np(pthread_self(), "%s", const_cast<char *>(name));
+ #endif
+ }
+ }
diff --git a/openjdk17/patches/patch-src_hotspot_os_bsd_os__perf__bsd.cpp b/openjdk17/patches/patch-src_hotspot_os_bsd_os__perf__bsd.cpp
new file mode 100644
index 0000000000..2412d82e57
--- /dev/null
+++ b/openjdk17/patches/patch-src_hotspot_os_bsd_os__perf__bsd.cpp
@@ -0,0 +1,26 @@
+$NetBSD: patch-src_hotspot_os_bsd_os__perf__bsd.cpp,v 1.2 2019/11/03 00:37:28 tnn Exp $
+
+KERN_PROC_PATHNAME is available from NetBSD>=7.99.23
+
+--- src/hotspot/os/bsd/os_perf_bsd.cpp.orig 2022-02-05 03:44:09.000000000 +0000
++++ src/hotspot/os/bsd/os_perf_bsd.cpp
+@@ -34,7 +34,9 @@
+ #include <mach/mach.h>
+ #include <mach/task_info.h>
+ #else
++# if !defined(__NetBSD__)
+ #include <sys/user.h>
++# endif
+ #include <sys/sched.h>
+ #include <sys/resource.h>
+ #define NET_RT_IFLIST2 NET_RT_IFLIST
+@@ -857,6 +859,9 @@ int SystemProcessInterface::SystemProces
+
+ for (int i = 0; i < pid_count; i++) {
+ // Executable path
++#if !defined(KERN_PROC_PATHNAME)
++#define KERN_PROC_PATHNAME 5
++#endif
+ int pmib[] = { CTL_KERN, KERN_PROC_ARGS, lproc[i].p_pid, KERN_PROC_PATHNAME };
+ const u_int pmiblen = sizeof(pmib) / sizeof(pmib[0]);
+ char pbuf[PATH_MAX];
diff --git a/openjdk17/patches/patch-src_hotspot_os_posix_os__posix.cpp b/openjdk17/patches/patch-src_hotspot_os_posix_os__posix.cpp
new file mode 100644
index 0000000000..4e86dc8a9e
--- /dev/null
+++ b/openjdk17/patches/patch-src_hotspot_os_posix_os__posix.cpp
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_hotspot_os_posix_os__posix.cpp,v 1.1 2019/10/01 12:36:34 tnn Exp $
+
+Something is wrong with pthread_condattr_setclock.
+We hit assertions in fastdebug builds.
+Disable pthread_condattr_setclock for now.
+
+--- src/hotspot/os/posix/os_posix.cpp.orig 2022-02-05 03:44:09.000000000 +0000
++++ src/hotspot/os/posix/os_posix.cpp
+@@ -1266,6 +1266,7 @@ void os::Posix::init(void) {
+
+ // Check for pthread_condattr_setclock support.
+
++#if !defined(__NetBSD__)
+ // libpthread is already loaded.
+ int (*condattr_setclock_func)(pthread_condattr_t*, clockid_t) =
+ (int (*)(pthread_condattr_t*, clockid_t))dlsym(RTLD_DEFAULT,
+@@ -1273,6 +1274,7 @@ void os::Posix::init(void) {
+ if (condattr_setclock_func != NULL) {
+ _pthread_condattr_setclock = condattr_setclock_func;
+ }
++#endif
+
+ // Now do general initialization.
+
diff --git a/openjdk17/patches/patch-src_hotspot_os_posix_signals__posix.cpp b/openjdk17/patches/patch-src_hotspot_os_posix_signals__posix.cpp
new file mode 100644
index 0000000000..5ddcc40942
--- /dev/null
+++ b/openjdk17/patches/patch-src_hotspot_os_posix_signals__posix.cpp
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- src/hotspot/os/posix/signals_posix.cpp.orig 2022-02-05 03:44:09.000000000 +0000
++++ src/hotspot/os/posix/signals_posix.cpp
+@@ -816,7 +816,11 @@ static void check_signal_handler(int sig
+ static os_sigaction_t os_sigaction = NULL;
+ if (os_sigaction == NULL) {
+ // only trust the default sigaction, in case it has been interposed
++#if defined(__NetBSD__)
++ os_sigaction = (os_sigaction_t)dlsym(RTLD_DEFAULT, "__sigaction14");
++#else
+ os_sigaction = (os_sigaction_t)dlsym(RTLD_DEFAULT, "sigaction");
++#endif
+ if (os_sigaction == NULL) return;
+ }
+
diff --git a/openjdk17/patches/patch-src_java.base_bsd_native_libjava_ProcessHandleImpl__bsd.c b/openjdk17/patches/patch-src_java.base_bsd_native_libjava_ProcessHandleImpl__bsd.c
new file mode 100644
index 0000000000..c26a065fae
--- /dev/null
+++ b/openjdk17/patches/patch-src_java.base_bsd_native_libjava_ProcessHandleImpl__bsd.c
@@ -0,0 +1,32 @@
+$NetBSD$
+
+--- src/java.base/bsd/native/libjava/ProcessHandleImpl_bsd.c.orig 2022-02-05 03:44:09.000000000 +0000
++++ src/java.base/bsd/native/libjava/ProcessHandleImpl_bsd.c
+@@ -46,7 +46,7 @@
+ #include <sys/user.h> // For kinfo_proc
+ #endif
+
+-#if defined(__OpenBSD__)
++#if defined(__OpenBSD__) || (defined(__NetBSD__) && __NetBSD_Version < 799002700)
+ #include <sys/event.h> // For kqueue
+ #include <sys/time.h> // For kqueue
+ #endif
+@@ -413,6 +413,9 @@ void os_getCmdlineAndUserInfo(JNIEnv *en
+ size = sizeof(cmd);
+ mib[0] = CTL_KERN;
+ mib[1] = KERN_PROC;
++#if defined(__NetBSD__) && !defined(KERN_PROC_PATHAME)
++#define KERN_PROC_PATHNAME 5
++#endif
+ mib[2] = KERN_PROC_PATHNAME;
+ mib[3] = pid;
+ if (sysctl(mib, 4, cmd, &size, NULL, 0) == -1) {
+@@ -488,7 +491,7 @@ void os_getCmdlineAndUserInfo(JNIEnv *en
+ #endif
+ }
+
+-#if defined(__OpenBSD__)
++#if defined(__OpenBSD__) || (defined(__NetBSD__) && __NetBSD_Version < 80000000)
+ int os_waitForProcessExitNoReap(pid_t pid) {
+ int kq, ret;
+ struct kevent evSet;
diff --git a/openjdk17/patches/patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.c b/openjdk17/patches/patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.c
new file mode 100644
index 0000000000..24ce203380
--- /dev/null
+++ b/openjdk17/patches/patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.c,v 1.1 2019/10/01 12:36:34 tnn Exp $
+
+waitid(2) is available from NetBSD>=7.99.27
+
+--- src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c.orig 2019-09-19 12:22:38.000000000 +0000
++++ src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c
+@@ -259,7 +259,7 @@ Java_java_lang_ProcessHandleImpl_waitFor
+ return status;
+ }
+ } else {
+-#if defined(__OpenBSD__)
++#if defined(__OpenBSD__) || (defined(__NetBSD__) && __NetBSD_Version < 799002700)
+ return os_waitForProcessExitNoReap(pid);
+ #else
+ /*
diff --git a/openjdk17/patches/patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.h b/openjdk17/patches/patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.h
new file mode 100644
index 0000000000..e16eb279cf
--- /dev/null
+++ b/openjdk17/patches/patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.h
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_java.base_unix_native_libjava_ProcessHandleImpl__unix.h,v 1.1 2019/10/01 12:36:34 tnn Exp $
+
+waitid(2) is available from NetBSD>=7.99.27
+
+--- src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h.orig 2019-09-19 12:22:38.000000000 +0000
++++ src/java.base/unix/native/libjava/ProcessHandleImpl_unix.h
+@@ -75,6 +75,6 @@ extern void unix_fillArgArray(JNIEnv *en
+
+ extern void os_initNative(JNIEnv *env, jclass clazz);
+
+-#if defined(__OpenBSD__)
++#if defined(__OpenBSD__) || (defined(__NetBSD__) && __NetBSD_Version < 799002700)
+ extern int os_waitForProcessExitNoReap(pid_t pid);
+ #endif
diff --git a/openjdk17/patches/patch-src_java.base_unix_native_libnio_ch_Net.c b/openjdk17/patches/patch-src_java.base_unix_native_libnio_ch_Net.c
new file mode 100644
index 0000000000..d460fb5b02
--- /dev/null
+++ b/openjdk17/patches/patch-src_java.base_unix_native_libnio_ch_Net.c
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- src/java.base/unix/native/libnio/ch/Net.c.orig 2022-02-05 03:44:09.000000000 +0000
++++ src/java.base/unix/native/libnio/ch/Net.c
+@@ -66,7 +66,7 @@
+ #endif
+ #endif
+
+-#if defined(__OpenBSD__)
++#if defined(__OpenBSD__) || defined(__NetBSD__)
+ #ifndef IP_ADD_SOURCE_MEMBERSHIP
+ #define IP_ADD_SOURCE_MEMBERSHIP 70 /* join a source-specific group */
+ #define IP_DROP_SOURCE_MEMBERSHIP 71 /* drop a single source */
diff --git a/openjdk17/patches/patch-src_java.desktop_unix_native_common_awt_fontpath.c b/openjdk17/patches/patch-src_java.desktop_unix_native_common_awt_fontpath.c
new file mode 100644
index 0000000000..2f2c6efc00
--- /dev/null
+++ b/openjdk17/patches/patch-src_java.desktop_unix_native_common_awt_fontpath.c
@@ -0,0 +1,51 @@
+$NetBSD$
+
+--- src/java.desktop/unix/native/common/awt/fontpath.c.orig 2022-02-05 03:44:09.000000000 +0000
++++ src/java.desktop/unix/native/common/awt/fontpath.c
+@@ -56,8 +56,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 */
+
+@@ -88,6 +88,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();
+
+@@ -329,6 +350,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
diff --git a/openjdk17/patches/patch-src_jdk.jdwp.agent_share_native_libdt__socket_socketTransport.c b/openjdk17/patches/patch-src_jdk.jdwp.agent_share_native_libdt__socket_socketTransport.c
new file mode 100644
index 0000000000..ee831ce0b0
--- /dev/null
+++ b/openjdk17/patches/patch-src_jdk.jdwp.agent_share_native_libdt__socket_socketTransport.c
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c.orig 2022-02-05 03:44:09.000000000 +0000
++++ src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c
+@@ -392,7 +392,7 @@ parseAddress(const char *address, struct
+ * pass hostname == NULL to getaddrinfo.
+ */
+ hints.ai_family = allowOnlyIPv4 ? AF_INET : AF_INET6;
+-#ifdef __OpenBSD__
++#if defined(__OpenBSD__) || defined(__NetBSD__)
+ hints.ai_flags |= AI_PASSIVE;
+ #else
+ hints.ai_flags |= AI_PASSIVE | (allowOnlyIPv4 ? 0 : AI_V4MAPPED | AI_ALL);
diff --git a/openjdk17/patches/patch-src_jdk.management_bsd_native_libmanagement__ext_UnixOperatingSystem.c b/openjdk17/patches/patch-src_jdk.management_bsd_native_libmanagement__ext_UnixOperatingSystem.c
new file mode 100644
index 0000000000..55bd3b07df
--- /dev/null
+++ b/openjdk17/patches/patch-src_jdk.management_bsd_native_libmanagement__ext_UnixOperatingSystem.c
@@ -0,0 +1,14 @@
+$NetBSD$
+
+--- src/jdk.management/bsd/native/libmanagement_ext/UnixOperatingSystem.c.orig 2022-02-05 03:44:09.000000000 +0000
++++ src/jdk.management/bsd/native/libmanagement_ext/UnixOperatingSystem.c
+@@ -29,7 +29,9 @@
+ #include <sys/types.h>
+ #include <sys/sysctl.h>
+ #include <sys/time.h>
++#if !defined(__NetBSD__)
+ #include <sys/user.h>
++#endif
+ #include <unistd.h>
+
+ #include "jvm.h"
diff --git a/openjdk17/patches/patch-test_micro_org_openjdk_bench_java_nio_genBuffers.sh b/openjdk17/patches/patch-test_micro_org_openjdk_bench_java_nio_genBuffers.sh
new file mode 100644
index 0000000000..736f04ead1
--- /dev/null
+++ b/openjdk17/patches/patch-test_micro_org_openjdk_bench_java_nio_genBuffers.sh
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- test/micro/org/openjdk/bench/java/nio/genBuffers.sh.orig 2022-02-05 03:44:09.000000000 +0000
++++ test/micro/org/openjdk/bench/java/nio/genBuffers.sh
+@@ -33,7 +33,7 @@ genBin() {
+ for RO in "RO" ""
+ do
+ extraArgs=""
+- if [ "$RO" == "RO" ] ; then
++ if [ "$RO" = "RO" ] ; then
+ extraArgs="-KRO"
+ fi
+ java build.tools.spp.Spp -be -nel -K$1 -Dtype=$1 -DType=$2 -DFulltype=$3 \
+@@ -60,7 +60,7 @@ gen() {
+ java build.tools.spp.Spp -be -nel -K$1 -Dtype=$1 -DType=$2 -DFulltype=$3 \
+ -DMs=Heap -Dms=heap -DSWAP="" -DRO="" -iX-Buffers-bin.java.template -o$out
+
+- if [ "$1" == "byte" ] ; then
++ if [ "$1" = "byte" ] ; then
+ genBin $1 $2 $3 $4 X-ByteBuffers-bin.java.template
+ genBin char Char Character 2 X-ByteBuffers-bin.java.template
+ genBin short Short Short 2 X-ByteBuffers-bin.java.template
Home |
Main Index |
Thread Index |
Old Index