pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/lang/openjdk21



Module Name:    pkgsrc
Committed By:   tnn
Date:           Tue Sep 29 10:49:58 UTC 2026

Modified Files:
        pkgsrc/lang/openjdk21: Makefile PLIST bootstrap.mk buildlink3.mk
            distinfo options.mk
        pkgsrc/lang/openjdk21/patches: patch-make_autoconf_buildjdk-spec.gmk.in
            patch-make_autoconf_flags-cflags.m4
Added Files:
        pkgsrc/lang/openjdk21: PLIST.Darwin PLIST.Linux
        pkgsrc/lang/openjdk21/patches:
            patch-src_hotspot_os__cpu_bsd__aarch64_os__bsd__aarch64.cpp

Log Message:
openjdk21: reduce diffs w/ openjdk25, add Darwin and Linux targets


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 pkgsrc/lang/openjdk21/Makefile
cvs rdiff -u -r1.7 -r1.8 pkgsrc/lang/openjdk21/PLIST
cvs rdiff -u -r0 -r1.1 pkgsrc/lang/openjdk21/PLIST.Darwin \
    pkgsrc/lang/openjdk21/PLIST.Linux
cvs rdiff -u -r1.4 -r1.5 pkgsrc/lang/openjdk21/bootstrap.mk
cvs rdiff -u -r1.1 -r1.2 pkgsrc/lang/openjdk21/buildlink3.mk
cvs rdiff -u -r1.20 -r1.21 pkgsrc/lang/openjdk21/distinfo
cvs rdiff -u -r1.5 -r1.6 pkgsrc/lang/openjdk21/options.mk
cvs rdiff -u -r1.2 -r1.3 \
    pkgsrc/lang/openjdk21/patches/patch-make_autoconf_buildjdk-spec.gmk.in
cvs rdiff -u -r1.3 -r1.4 \
    pkgsrc/lang/openjdk21/patches/patch-make_autoconf_flags-cflags.m4
cvs rdiff -u -r0 -r1.3 \
    pkgsrc/lang/openjdk21/patches/patch-src_hotspot_os__cpu_bsd__aarch64_os__bsd__aarch64.cpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/lang/openjdk21/Makefile
diff -u pkgsrc/lang/openjdk21/Makefile:1.35 pkgsrc/lang/openjdk21/Makefile:1.36
--- pkgsrc/lang/openjdk21/Makefile:1.35 Tue Sep 29 06:06:17 2026
+++ pkgsrc/lang/openjdk21/Makefile      Tue Sep 29 10:49:57 2026
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.35 2026/09/29 06:06:17 wiz Exp $
+# $NetBSD: Makefile,v 1.36 2026/09/29 10:49:57 tnn Exp $
 
 DISTNAME=      jdk21u-${GITHUB_TAG:C/\+/-/}
 PKGNAME=       openjdk21-1.${GITHUB_TAG:C/\+/./:C/jdk-([.0-9]+).*/\1/}
@@ -64,9 +64,13 @@ CONFIGURE_ARGS+=     --with-boot-jdk=${ALT_B
 CONFIGURE_ARGS+=       --with-giflib=bundled
 CONFIGURE_ARGS+=       --with-lcms=bundled
 CONFIGURE_ARGS+=       --with-cups-include=${BUILDLINK_PREFIX.libcups}/include
+.if ${OPSYS} == "Darwin"
+CONFIGURE_ARGS+=       --with-freetype=bundled
+.else
 CONFIGURE_ARGS+=       --with-freetype=system
 CONFIGURE_ARGS+=       --with-freetype-lib=${BUILDLINK_PREFIX.freetype2}/lib
 CONFIGURE_ARGS+=       --with-freetype-include=${BUILDLINK_PREFIX.freetype2}/include
+.endif
 CONFIGURE_ARGS+=       --with-jobs=${MAKE_JOBS:U1}
 CONFIGURE_ARGS+=       --with-num-cores=${MAKE_JOBS:U1}
 CONFIGURE_ARGS+=       --disable-precompiled-headers
@@ -88,15 +92,16 @@ MAKE_ENV+=  CLASSPATH=
 ALL_ENV+=      SED="sed -g"
 .endif
 
-BUILD_OPSYS=                   ${OPSYS:C/.*BSD/bsd/:S/DragonFly/bsd/:S/SunOS/solaris/:S/Linux/linux/}
+BUILD_OPSYS=                   ${OPSYS:C/.*BSD/bsd/:S/DragonFly/bsd/:S/SunOS/solaris/:S/Linux/linux/:S/Darwin/macosx/}
 BUILD_ARCH=                    ${MACHINE_ARCH:S/i386/x86/:S/sparc64/sparcv9/:C/^e?arm.*$/arm/}
 BUILDDIR=                      ${WRKSRC}/build/${BUILD_OPSYS}-${BUILD_ARCH}-${BUILD_VARIANT}-${BUILD_DEBUG_LEVEL}
 BUILDLINK_PASSTHRU_RPATHDIRS+= ${PREFIX}/java/${JAVA_NAME}/lib
-BUILDLINK_PASSTHRU_RPATHDIRS+= ${PREFIX}/java/${JAVA_NAME}/lib/server
+BUILDLINK_PASSTHRU_RPATHDIRS+= ${PREFIX}/java/${JAVA_NAME}/lib/${BUILD_VARIANT}
 WRKSRC=                                ${WRKDIR}/${DISTNAME}
 
 .include "../../mk/compiler.mk"
 
+PLIST_VARS+=           gcc
 .if !empty(PKGSRC_COMPILER:Mclang)
 CONFIGURE_ARGS+=       --with-toolchain-type=clang
 _WRAP_EXTRA_ARGS.CC+=  -Wno-format-nonliteral -Wno-sign-compare -Wno-char-subscripts
@@ -112,6 +117,7 @@ CWRAPPERS_APPEND.cxx+=      -mstackrealign
 .  endif
 .else
 # GCC
+PLIST.gcc=             yes
 CONFIGURE_ARGS+=       --with-toolchain-type=gcc
 .endif
 
@@ -157,6 +163,16 @@ PLIST.jvmci=                       yes
 TOOLS_PLATFORM.unzip=
 .endif
 
+PLIST_VARS+=           bsd-fontconfig
+.if ${OPSYS} == "NetBSD" || ${OPSYS} == "Darwin"
+PLIST.bsd-fontconfig=  yes
+.endif
+
+PLIST_VARS+=           awt-headless
+.if ${OPSYS} != "Darwin"
+PLIST.awt-headless=    yes
+.endif
+
 post-extract:
 # These libs are bundled w/ the netbsd-9 bootstrap to facilitate building with
 # MKLLVM=yes / MKGCC=no. Nuke them from bootstrap if they are present in base.
@@ -200,8 +216,10 @@ do-install:
 CONFIGURE_ARGS+=       --with-alsa=${BUILDLINK_PREFIX.alsa-lib}
 .endif
 .include "../../converters/libiconv/buildlink3.mk"
+.if ${OPSYS} != "Darwin"
 .include "../../fonts/fontconfig/buildlink3.mk"
 .include "../../graphics/freetype2/buildlink3.mk"
+.endif
 # Headers from CUPS are required to build the native implementation of
 # sun.print.* which is used by java.awt.print.
 BUILDLINK_DEPMETHOD.libcups?=  build

Index: pkgsrc/lang/openjdk21/PLIST
diff -u pkgsrc/lang/openjdk21/PLIST:1.7 pkgsrc/lang/openjdk21/PLIST:1.8
--- pkgsrc/lang/openjdk21/PLIST:1.7     Sun Sep  6 16:53:12 2026
+++ pkgsrc/lang/openjdk21/PLIST Tue Sep 29 10:49:57 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.7 2026/09/06 16:53:12 tnn Exp $
+@comment $NetBSD: PLIST,v 1.8 2026/09/29 10:49:57 tnn Exp $
 bin/openjdk21-jar
 bin/openjdk21-jarsigner
 bin/openjdk21-java
@@ -257,7 +257,7 @@ 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/gcc.md
+${PLIST.gcc}java/openjdk21/legal/java.base/gcc.md
 java/openjdk21/legal/java.base/icu.md
 java/openjdk21/legal/java.base/public_suffix.md
 java/openjdk21/legal/java.base/siphash.md
@@ -488,8 +488,8 @@ java/openjdk21/legal/jdk.zipfs/ASSEMBLY_
 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
+${PLIST.bsd-fontconfig}java/openjdk21/lib/fontconfig.bfc
+${PLIST.bsd-fontconfig}java/openjdk21/lib/fontconfig.properties.src
 java/openjdk21/lib/jfr/default.jfc
 java/openjdk21/lib/jfr/profile.jfc
 java/openjdk21/lib/jrt-fs.jar
@@ -500,8 +500,8 @@ java/openjdk21/lib/libattach${DBGEXT}
 java/openjdk21/lib/libattach.so
 java/openjdk21/lib/libawt${DBGEXT}
 java/openjdk21/lib/libawt.so
-java/openjdk21/lib/libawt_headless${DBGEXT}
-java/openjdk21/lib/libawt_headless.so
+${PLIST.awt-headless}java/openjdk21/lib/libawt_headless${DBGEXT}
+${PLIST.awt-headless}java/openjdk21/lib/libawt_headless.so
 ${PLIST.x11}java/openjdk21/lib/libawt_xawt${DBGEXT}
 ${PLIST.x11}java/openjdk21/lib/libawt_xawt.so
 java/openjdk21/lib/libdt_socket${DBGEXT}
@@ -556,8 +556,8 @@ java/openjdk21/lib/libprefs${DBGEXT}
 java/openjdk21/lib/libprefs.so
 java/openjdk21/lib/librmi${DBGEXT}
 java/openjdk21/lib/librmi.so
-${PLIST.x11}java/openjdk21/lib/libsplashscreen${DBGEXT}
-${PLIST.x11}java/openjdk21/lib/libsplashscreen.so
+${PLIST.splashscreen}java/openjdk21/lib/libsplashscreen${DBGEXT}
+${PLIST.splashscreen}java/openjdk21/lib/libsplashscreen.so
 java/openjdk21/lib/libsyslookup${DBGEXT}
 java/openjdk21/lib/libsyslookup.so
 java/openjdk21/lib/libverify${DBGEXT}

Index: pkgsrc/lang/openjdk21/bootstrap.mk
diff -u pkgsrc/lang/openjdk21/bootstrap.mk:1.4 pkgsrc/lang/openjdk21/bootstrap.mk:1.5
--- pkgsrc/lang/openjdk21/bootstrap.mk:1.4      Thu Aug 21 02:50:14 2025
+++ pkgsrc/lang/openjdk21/bootstrap.mk  Tue Sep 29 10:49:57 2026
@@ -1,4 +1,4 @@
-# $NetBSD: bootstrap.mk,v 1.4 2025/08/21 02:50:14 pho Exp $
+# $NetBSD: bootstrap.mk,v 1.5 2026/09/29 10:49:57 tnn Exp $
 
 .if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 090000
 PKG_FAIL_REASON+=              "Only supports NetBSD >= 9"
@@ -40,6 +40,24 @@ EXTRACT_ONLY+=                       ${BOOT.nb9-aarch64}
 #EXTRACT_ONLY+=                        ${BOOT.nb9-earmv6hf}
 #.endif
 
+ONLY_FOR_PLATFORM+=            Linux-*-x86_64
+BOOT.linux-amd64=              OpenJDK21U-jdk_x64_linux_hotspot_21.0.9_10.tar.gz
+SITES.${BOOT.linux-amd64}=     https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/
+.if !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || make(distinfo)
+DISTFILES+=                    ${BOOT.linux-amd64}
+EXTRACT_ONLY+=                 ${BOOT.linux-amd64}
+ALT_BOOTDIR=                   ${WRKDIR}/jdk-21.0.9+10
+.endif
+
+ONLY_FOR_PLATFORM+=            Darwin-*-aarch64
+BOOT.darwin-aarch64+=          OpenJDK21U-jdk_aarch64_mac_hotspot_21.0.9_10.tar.gz
+SITES.${BOOT.darwin-aarch64}=  https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/
+.if !empty(MACHINE_PLATFORM:MDarwin-*-aarch64) || make(distinfo)
+DISTFILES+=                    ${BOOT.darwin-aarch64}
+EXTRACT_ONLY+=                 ${BOOT.darwin-aarch64}
+ALT_BOOTDIR=                   ${WRKDIR}/jdk-21.0.9+10/Contents/Home
+.endif
+
 CONFIGURE_ENV+=                LD_LIBRARY_PATH=${ALT_BOOTDIR}/lib
 
-ALT_BOOTDIR=           ${WRKDIR}/bootstrap
+ALT_BOOTDIR?=          ${WRKDIR}/bootstrap

Index: pkgsrc/lang/openjdk21/buildlink3.mk
diff -u pkgsrc/lang/openjdk21/buildlink3.mk:1.1 pkgsrc/lang/openjdk21/buildlink3.mk:1.2
--- pkgsrc/lang/openjdk21/buildlink3.mk:1.1     Wed Nov 22 14:06:50 2023
+++ pkgsrc/lang/openjdk21/buildlink3.mk Tue Sep 29 10:49:57 2026
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.1 2023/11/22 14:06:50 ryoon Exp $
+# $NetBSD: buildlink3.mk,v 1.2 2026/09/29 10:49:57 tnn Exp $
 
 BUILDLINK_TREE+=       openjdk21
 
@@ -7,6 +7,7 @@ OPENJDK21_BUILDLINK3_MK:=
 
 BUILDLINK_LIBDIRS.openjdk21+=  java/openjdk21/lib
 BUILDLINK_LIBDIRS.openjdk21+=  java/openjdk21/lib/server
+BUILDLINK_LIBDIRS.openjdk21+=  java/openjdk21/lib/zero
 
 BUILDLINK_API_DEPENDS.openjdk21+=      openjdk21>=1.21.0.1.12
 BUILDLINK_PKGSRCDIR.openjdk21?=                ../../lang/openjdk21

Index: pkgsrc/lang/openjdk21/distinfo
diff -u pkgsrc/lang/openjdk21/distinfo:1.20 pkgsrc/lang/openjdk21/distinfo:1.21
--- pkgsrc/lang/openjdk21/distinfo:1.20 Sun Sep  6 16:53:12 2026
+++ pkgsrc/lang/openjdk21/distinfo      Tue Sep 29 10:49:57 2026
@@ -1,5 +1,11 @@
-$NetBSD: distinfo,v 1.20 2026/09/06 16:53:12 tnn Exp $
+$NetBSD: distinfo,v 1.21 2026/09/29 10:49:57 tnn Exp $
 
+BLAKE2s (OpenJDK21U-jdk_aarch64_mac_hotspot_21.0.9_10.tar.gz) = b2535f2bedbe0c709f6d644a493402a2ceb567e470649cb8cb133914e2724598
+SHA512 (OpenJDK21U-jdk_aarch64_mac_hotspot_21.0.9_10.tar.gz) = 4528e4cf9cfedead03324dfd8444b9e00d155905dd18d013f93f49d698f8cbbd1508cac03d70bf6780ab3c6b6d8fe834c6732f0f240e33ca61d4a11a6e2b9cf9
+Size (OpenJDK21U-jdk_aarch64_mac_hotspot_21.0.9_10.tar.gz) = 199857923 bytes
+BLAKE2s (OpenJDK21U-jdk_x64_linux_hotspot_21.0.9_10.tar.gz) = 8068b9fcf004dcc11daa1a06870158630e8f9c271dcb3d490ce2d420859213c0
+SHA512 (OpenJDK21U-jdk_x64_linux_hotspot_21.0.9_10.tar.gz) = 5209bc15c2c21372b32b8ed55f03aef91e400d151dcfdfab83d63569c12b13aeee7b9c1678c960797d47962396ca566ebed791f55fcef4f27a9450c0db0b4035
+Size (OpenJDK21U-jdk_x64_linux_hotspot_21.0.9_10.tar.gz) = 207157802 bytes
 BLAKE2s (bootstrap-jdk-1.21.0.1.12-netbsd-9-amd64-20231207.tar.xz) = 017a9d787a34faa997d72ac69bcafd9c8ab72354e3a1b751d1cb5d376b364f72
 SHA512 (bootstrap-jdk-1.21.0.1.12-netbsd-9-amd64-20231207.tar.xz) = 7ec4208363f44a378674a2b87687ab7facb60bf73118ebd4bec35f7912f073365b36efc4c4b3c034bc448139cb81106e18d6d3b1db45f4ab086ce1ed72bc21bf
 Size (bootstrap-jdk-1.21.0.1.12-netbsd-9-amd64-20231207.tar.xz) = 113417260 bytes
@@ -12,8 +18,8 @@ Size (bootstrap-jdk-1.21.0.7.6-netbsd-9-
 BLAKE2s (jdk21u-jdk-21.0.12-8-1.tar.gz) = 12f7ac748e9df58b220f72e52dc9c7a29b7720a51d8548d8d2276a38e7a3e6a5
 SHA512 (jdk21u-jdk-21.0.12-8-1.tar.gz) = 1e223ac3cd1aac829d68e8875610234632aac05aac4d3d4d84151a965097131aa1d05a2941c51ade46ae2015132ccc6b4aaffc18516cdaacab547fdaaff543d6
 Size (jdk21u-jdk-21.0.12-8-1.tar.gz) = 114259124 bytes
-SHA1 (patch-make_autoconf_buildjdk-spec.gmk.in) = 1f8d482c9e1498dd230bf63abfc0e4d76cfc6e9b
-SHA1 (patch-make_autoconf_flags-cflags.m4) = 88c41225834688de1ff6d4bcf80ab8c4676a0e74
+SHA1 (patch-make_autoconf_buildjdk-spec.gmk.in) = 0a8a0d7cb1df2c74b28aa846d560f671c5f51532
+SHA1 (patch-make_autoconf_flags-cflags.m4) = d73a9c0d687f15bd7d0d86bc1a3113eb4cf16d61
 SHA1 (patch-make_autoconf_flags-ldflags.m4) = 08c7e642272a447378c8877a1311b90a7e88afad
 SHA1 (patch-make_autoconf_hotspot.m4) = 6097c29677f4b84c3821b5cf7ac8c397376027d0
 SHA1 (patch-make_autoconf_lib-alsa.m4) = 999fbf951363f6b49b22aad81537728f22d7c381
@@ -21,6 +27,7 @@ SHA1 (patch-make_autoconf_lib-bundled.m4
 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__cpu_bsd__aarch64_os__bsd__aarch64.cpp) = b580cdfbf4f2c7f1e216f87cf5ed7c19005e9742
 SHA1 (patch-src_hotspot_os__cpu_bsd__aarch64_vm__version__bsd__aarch64.cpp) = c4db01034655302ca686b3ca2a95ab0ade72ce3a
 SHA1 (patch-src_hotspot_os__cpu_bsd__zero_os__bsd__zero.cpp) = c86e92ae0074b46cd623290bcfa5728517875640
 SHA1 (patch-src_hotspot_os_bsd_os__bsd.cpp) = 5561ed502aa925cd3d0514c7ec298e0491d14ffc

Index: pkgsrc/lang/openjdk21/options.mk
diff -u pkgsrc/lang/openjdk21/options.mk:1.5 pkgsrc/lang/openjdk21/options.mk:1.6
--- pkgsrc/lang/openjdk21/options.mk:1.5        Sun Sep  6 16:53:12 2026
+++ pkgsrc/lang/openjdk21/options.mk    Tue Sep 29 10:49:57 2026
@@ -1,10 +1,14 @@
-# $NetBSD: options.mk,v 1.5 2026/09/06 16:53:12 tnn Exp $
+# $NetBSD: options.mk,v 1.6 2026/09/29 10:49:57 tnn Exp $
 
 PKG_OPTIONS_VAR=               PKG_OPTIONS.openjdk21
 PKG_OPTIONS_OPTIONAL_GROUPS=   variant
 PKG_OPTIONS_GROUP.variant=     jdk-zero-vm
-PKG_SUPPORTED_OPTIONS=         debug dtrace jre-jce x11 static-libstdcpp jdk-bundled-zlib
-PKG_SUGGESTED_OPTIONS=         jre-jce x11
+PKG_SUPPORTED_OPTIONS=         debug dtrace jre-jce static-libstdcpp jdk-bundled-zlib
+PKG_SUGGESTED_OPTIONS=         jre-jce
+.if ${OPSYS} != "Darwin"
+PKG_SUPPORTED_OPTIONS+=                x11
+PKG_SUGGESTED_OPTIONS+=                x11
+.endif
 
 .if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
 PKG_OPTIONS_GROUP.variant+=    jdk-hotspot-vm
@@ -31,9 +35,10 @@ CONFIGURE_ARGS+=     --disable-unlimited-cry
 ###
 ### X11 or headless build
 ###
-PLIST_VARS+=   x11
+PLIST_VARS+=   splashscreen x11
 .if !empty(PKG_OPTIONS:Mx11)
-PLIST.x11=     yes
+PLIST.splashscreen=    yes
+PLIST.x11=             yes
 CONFIGURE_ARGS+=       --x-includes=${X11BASE}/include
 CONFIGURE_ARGS+=       --x-libraries=${X11BASE}/lib
 CONFIGURE_ARGS+=       --disable-headless-only
@@ -48,6 +53,12 @@ BUILDLINK_DEPMETHOD.libXt?=  build
 .include "../../x11/libXrender/buildlink3.mk"
 .include "../../x11/libXtst/buildlink3.mk"
 .include "../../x11/libXrandr/buildlink3.mk"
+.elif ${OPSYS} == "Darwin"
+PLIST.splashscreen=    yes
+# The Metal compiler is no longer part of Xcode itself.
+# You need to manually run `sudo xcodebuild -downloadComponent MetalToolchain`
+CONFIGURE_ARGS+=       METAL="xcrun metal"
+CONFIGURE_ARGS+=       METALLIB="xcrun metallib"
 .else
 CONFIGURE_ARGS+=       --x-includes=${X11BASE}/include
 CONFIGURE_ARGS+=       --x-libraries=${X11BASE}/lib

Index: pkgsrc/lang/openjdk21/patches/patch-make_autoconf_buildjdk-spec.gmk.in
diff -u pkgsrc/lang/openjdk21/patches/patch-make_autoconf_buildjdk-spec.gmk.in:1.2 pkgsrc/lang/openjdk21/patches/patch-make_autoconf_buildjdk-spec.gmk.in:1.3
--- pkgsrc/lang/openjdk21/patches/patch-make_autoconf_buildjdk-spec.gmk.in:1.2  Sun Sep  6 16:53:12 2026
+++ pkgsrc/lang/openjdk21/patches/patch-make_autoconf_buildjdk-spec.gmk.in      Tue Sep 29 10:49:58 2026
@@ -1,13 +1,27 @@
-$NetBSD: patch-make_autoconf_buildjdk-spec.gmk.in,v 1.2 2026/09/06 16:53:12 tnn Exp $
+$NetBSD: patch-make_autoconf_buildjdk-spec.gmk.in,v 1.3 2026/09/29 10:49:58 tnn Exp $
 
 Use the same variant for the buildjdk as the target jdk.
 This is needed for native builds on platforms where hotspot is broken or not
 supported. In that case the buildjdk can't be hardcoded to "server" but must
 use "zero". This is fine for pkgsrc since we only ever build one variant.
 
+The buildjdk is run out of the build tree, so on Darwin its libraries must
+not claim to live in ${PREFIX}. c.f. flags-cflags.m4.
+
 --- make/autoconf/buildjdk-spec.gmk.in.orig    2026-07-23 23:33:34.000000000 +0000
 +++ make/autoconf/buildjdk-spec.gmk.in
-@@ -94,8 +94,9 @@ ENABLE_DEBUG_SYMBOLS := false
+@@ -52,6 +52,10 @@ SUPPORT_OUTPUTDIR := $(patsubst $(OUTPUT
+ JDK_OUTPUTDIR := $(patsubst $(OUTPUTDIR)%,$(BUILDJDK_OUTPUTDIR)%,$(JDK_OUTPUTDIR))
+ IMAGES_OUTPUTDIR := $(patsubst $(OUTPUTDIR)%,$(BUILDJDK_OUTPUTDIR)%,$(IMAGES_OUTPUTDIR))
+ 
++ifeq ($(OPENJDK_TARGET_OS), macosx)
++  SET_SHARED_LIBRARY_NAME = -Wl,-install_name,$(JDK_OUTPUTDIR)/lib/$(patsubst libjvm.%,$(JVM_VARIANT_MAIN)/libjvm.%,$1)
++endif
++
+ OPENJDK_BUILD_CPU_LEGACY := @OPENJDK_BUILD_CPU_LEGACY@
+ OPENJDK_BUILD_CPU_LEGACY_LIB := @OPENJDK_BUILD_CPU_LEGACY_LIB@
+ OPENJDK_BUILD_LIBC := @OPENJDK_BUILD_LIBC@
+@@ -94,8 +98,9 @@ DISABLE_WARNING_PREFIX := @BUILD_CC_DISA
  # Save speed and disk space by not enabling debug symbols for the buildjdk
  ENABLE_DEBUG_SYMBOLS := false
  

Index: pkgsrc/lang/openjdk21/patches/patch-make_autoconf_flags-cflags.m4
diff -u pkgsrc/lang/openjdk21/patches/patch-make_autoconf_flags-cflags.m4:1.3 pkgsrc/lang/openjdk21/patches/patch-make_autoconf_flags-cflags.m4:1.4
--- pkgsrc/lang/openjdk21/patches/patch-make_autoconf_flags-cflags.m4:1.3       Sun Sep  6 16:53:12 2026
+++ pkgsrc/lang/openjdk21/patches/patch-make_autoconf_flags-cflags.m4   Tue Sep 29 10:49:58 2026
@@ -1,4 +1,4 @@
-$NetBSD: patch-make_autoconf_flags-cflags.m4,v 1.3 2026/09/06 16:53:12 tnn Exp $
+$NetBSD: patch-make_autoconf_flags-cflags.m4,v 1.4 2026/09/29 10:49:58 tnn Exp $
 
 We prefer to use explicit run paths.
 
@@ -15,6 +15,19 @@ We prefer to use explicit run paths.
      SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
      SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
  
+@@ -49,9 +49,9 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
+     if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+       # Linking is different on MacOSX
+       SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0"
+-      SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path$(or [$]1,/.)'
+-      SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
+-      SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1'
++      SET_EXECUTABLE_ORIGIN=''
++      SET_SHARED_LIBRARY_ORIGIN=''
++      SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@PREFIX@/java/@JAVA_NAME@/lib/$(patsubst libjvm.%,${JVM_VARIANT_MAIN}/libjvm.%,[$]1)'
+       SET_SHARED_LIBRARY_MAPFILE='-Wl,-exported_symbols_list,[$]1'
+ 
+     elif test "x$OPENJDK_TARGET_OS" = xaix; then
 @@ -65,20 +65,13 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
      else
        # Default works for linux, might work on other platforms as well.

Added files:

Index: pkgsrc/lang/openjdk21/PLIST.Darwin
diff -u /dev/null pkgsrc/lang/openjdk21/PLIST.Darwin:1.1
--- /dev/null   Tue Sep 29 10:49:58 2026
+++ pkgsrc/lang/openjdk21/PLIST.Darwin  Tue Sep 29 10:49:57 2026
@@ -0,0 +1,35 @@
+@comment $NetBSD: PLIST.Darwin,v 1.1 2026/09/29 10:49:57 tnn Exp $
+java/openjdk21/bin/jhsdb
+java/openjdk21/bin/jhsdb${DBGEXT}
+java/openjdk21/bin/jpackage
+java/openjdk21/bin/jpackage${DBGEXT}
+java/openjdk21/jmods/jdk.hotspot.agent.jmod
+java/openjdk21/jmods/jdk.jpackage.jmod
+java/openjdk21/legal/java.desktop/freetype.md
+java/openjdk21/legal/jdk.hotspot.agent/ADDITIONAL_LICENSE_INFO
+java/openjdk21/legal/jdk.hotspot.agent/ASSEMBLY_EXCEPTION
+java/openjdk21/legal/jdk.hotspot.agent/LICENSE
+java/openjdk21/legal/jdk.jpackage/ADDITIONAL_LICENSE_INFO
+java/openjdk21/legal/jdk.jpackage/ASSEMBLY_EXCEPTION
+java/openjdk21/legal/jdk.jpackage/LICENSE
+java/openjdk21/lib/libawt_lwawt${DBGEXT}
+java/openjdk21/lib/libawt_lwawt.dylib
+java/openjdk21/lib/libfreetype${DBGEXT}
+java/openjdk21/lib/libfreetype.dylib
+java/openjdk21/lib/lible${DBGEXT}
+java/openjdk21/lib/lible.dylib
+java/openjdk21/lib/libosx${DBGEXT}
+java/openjdk21/lib/libosx.dylib
+java/openjdk21/lib/libosxapp${DBGEXT}
+java/openjdk21/lib/libosxapp.dylib
+java/openjdk21/lib/libosxkrb5${DBGEXT}
+java/openjdk21/lib/libosxkrb5.dylib
+java/openjdk21/lib/libosxsecurity${DBGEXT}
+java/openjdk21/lib/libosxsecurity.dylib
+java/openjdk21/lib/libosxui${DBGEXT}
+java/openjdk21/lib/libosxui.dylib
+java/openjdk21/lib/libsaproc${DBGEXT}
+java/openjdk21/lib/libsaproc.dylib
+java/openjdk21/lib/shaders.metallib
+java/openjdk21/man/man1/jhsdb.1
+java/openjdk21/man/man1/jpackage.1
Index: pkgsrc/lang/openjdk21/PLIST.Linux
diff -u /dev/null pkgsrc/lang/openjdk21/PLIST.Linux:1.1
--- /dev/null   Tue Sep 29 10:49:58 2026
+++ pkgsrc/lang/openjdk21/PLIST.Linux   Tue Sep 29 10:49:57 2026
@@ -0,0 +1,26 @@
+@comment $NetBSD: PLIST.Linux,v 1.1 2026/09/29 10:49:57 tnn Exp $
+java/openjdk21/bin/jhsdb
+java/openjdk21/bin/jhsdb${DBGEXT}
+java/openjdk21/bin/jpackage
+java/openjdk21/bin/jpackage${DBGEXT}
+java/openjdk21/conf/sdp/sdp.conf.template
+java/openjdk21/jmods/jdk.hotspot.agent.jmod
+java/openjdk21/jmods/jdk.jpackage.jmod
+java/openjdk21/legal/jdk.hotspot.agent/ADDITIONAL_LICENSE_INFO
+java/openjdk21/legal/jdk.hotspot.agent/ASSEMBLY_EXCEPTION
+java/openjdk21/legal/jdk.hotspot.agent/LICENSE
+java/openjdk21/legal/jdk.jpackage/ADDITIONAL_LICENSE_INFO
+java/openjdk21/legal/jdk.jpackage/ASSEMBLY_EXCEPTION
+java/openjdk21/legal/jdk.jpackage/LICENSE
+java/openjdk21/lib/jexec
+java/openjdk21/lib/jexec${DBGEXT}
+java/openjdk21/lib/libjsvml${DBGEXT}
+java/openjdk21/lib/libjsvml.so
+java/openjdk21/lib/lible${DBGEXT}
+java/openjdk21/lib/lible.so
+java/openjdk21/lib/libsaproc${DBGEXT}
+java/openjdk21/lib/libsaproc.so
+java/openjdk21/lib/libsctp${DBGEXT}
+java/openjdk21/lib/libsctp.so
+java/openjdk21/man/man1/jhsdb.1
+java/openjdk21/man/man1/jpackage.1

Index: pkgsrc/lang/openjdk21/patches/patch-src_hotspot_os__cpu_bsd__aarch64_os__bsd__aarch64.cpp
diff -u /dev/null pkgsrc/lang/openjdk21/patches/patch-src_hotspot_os__cpu_bsd__aarch64_os__bsd__aarch64.cpp:1.3
--- /dev/null   Tue Sep 29 10:49:58 2026
+++ pkgsrc/lang/openjdk21/patches/patch-src_hotspot_os__cpu_bsd__aarch64_os__bsd__aarch64.cpp   Tue Sep 29 10:49:58 2026
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_hotspot_os__cpu_bsd__aarch64_os__bsd__aarch64.cpp,v 1.3 2026/09/29 10:49:58 tnn Exp $
+
+Work around SIGBUS on macOS
+
+--- src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp.orig     2026-09-29 10:45:05.907015432 +0000
++++ src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp
+@@ -472,6 +472,9 @@ static inline void atomic_copy64(const v
+ 
+ extern "C" {
+   int SpinPause() {
++#if defined(__APPLE__)
++   return 0; // XXX stub broken; See JDK-8278241, JDK-8321371
++#endif
+     using spin_wait_func_ptr_t = void (*)();
+     spin_wait_func_ptr_t func = CAST_TO_FN_PTR(spin_wait_func_ptr_t, StubRoutines::aarch64::spin_wait());
+     assert(func != nullptr, "StubRoutines::aarch64::spin_wait must not be null.");



Home | Main Index | Thread Index | Old Index