<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/8cee089e43fd06eb8464fcfd8210535e826e3326">https://github.com/macports/macports-ports/commit/8cee089e43fd06eb8464fcfd8210535e826e3326</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 8cee089e43fd06eb8464fcfd8210535e826e3326
</span>Author: usersxx <97012123+usersxx@users.noreply.github.com>
AuthorDate: Sun May 15 15:34:31 2022 +0530

<span style='display:block; white-space:pre;color:#404040;'>    openjdkXX: update to new version
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    openjdk11: fix version
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    openjdk13: fix version
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    openjdk15: update to 15.0.7
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    openjdk17: update to 17.0.3
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    openjdk18: update to 18.0.1.1
</span>---
 java/openjdk11/Portfile                            | 23 +++---
 java/openjdk13/Portfile                            | 25 ++++---
 java/openjdk15/Portfile                            | 86 ++++++++++++++--------
 java/openjdk17/Portfile                            | 80 ++++++++++++--------
 ...OS-hotspot-arm64-bug-exposed-by-latest-cl.patch | 36 ---------
 java/openjdk17/files/patch-openjdk17-build1.diff   | 11 ---
 java/openjdk18-bootstrap/Portfile                  | 42 +++++++++++
 java/openjdk18/Portfile                            | 84 ++++++++++++---------
 8 files changed, 221 insertions(+), 166 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk11/Portfile b/java/openjdk11/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9e48f133488..c82e7e7a899 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk11/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk11/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,9 +5,9 @@ PortSystem          1.0
</span> name                openjdk11
 # https://github.com/openjdk/jdk11u/tags
 # remove 'jdk-' from the latest tag without '-ga' that has commit that corresponds to the latest tag with '-ga'
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             11.0.15+10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set ver [string map {+10 {}} ${version}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             11.0.15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set build 10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> categories          java devel
 platforms           darwin
 supported_archs     x86_64 arm64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,18 +18,21 @@ long_description    JDK 11 builds of Openjdk, the Open-Source implementation \
</span>                     of the Java Platform, Standard Edition, and related projects.
 homepage            https://openjdk.java.net/
 master_sites        https://git.openjdk.java.net/jdk11u/archive/refs/tags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distname            jdk-11.0.15+10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            jdk-${version}+${build}
</span> 
 checksums           rmd160  4e54be9b3a7ee2a0c7d8c5596f6b95396d30bb25 \
                     sha256  a125f0f2e34061ea1509c9f24caec51e6e23411552d6b660a6f60c054853dc63 \
                     size    122892672
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:freetype
</span> depends_build       port:autoconf \
                     port:gmake \
                     port:bash \
                     port:openjdk11-bootstrap
 
 pre-patch {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|libffi.so.?|libffi.?.dylib|g" ${worksrcpath}/make/autoconf/lib-ffi.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|xmacosx|xwindows|g" ${worksrcpath}/make/autoconf/lib-freetype.m4
</span>     reinplace "s|assert|vmassert|g" ${worksrcpath}/src/hotspot/share/jfr/periodic/jfrNetworkUtilization.cpp
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,13 +44,16 @@ set bug_url "https://trac.macports.org/newticket?port=${name}"
</span> # default configure args
 configure.args      --with-debug-level=release \
                     --with-native-debug-symbols=none \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-version-string=${version} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-version-string=${version}+${build} \
</span>                     --with-target-bits=64 \
                     --with-sysroot=`xcrun --sdk macosx --show-sdk-path` \
                     --with-extra-cflags="${configure.cflags}" \
                     --with-extra-cxxflags="${configure.cxxflags}" \
                     --with-extra-ldflags="${configure.ldflags}" \
                     --with-boot-jdk=/Library/Java/JavaVirtualMachines/openjdk11-bootstrap/Contents/Home \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype=system \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype-include=${prefix}/include/freetype2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype-lib=${prefix}/lib \
</span>                     --disable-warnings-as-errors \
                     --disable-precompiled-headers \
                     --with-vendor-name="OpenJDK Porters Group" \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,9 +108,6 @@ variant core \
</span> variant zero \
     conflicts client core minimal server \
     description {JVM with C++ based interpreter only, no compiler} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|libffi.so.?|libffi.?.dylib|g" ${worksrcpath}/make/autoconf/lib-ffi.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span>     configure.args-append   --with-jvm-variants=zero \
                             --with-libffi=${prefix} \
                             --enable-libffi-bundling
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,14 +128,14 @@ if {![variant_isset client] && ![variant_isset core] && ![variant_isset minimal]
</span> 
 if {${configure.build_arch} eq "arm64"} {
     configure.args-delete      --with-target-bits=64
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.post_args        --openjdk-target=aarch64-apple-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append      --openjdk-target=aarch64-apple-darwin
</span> } elseif {${configure.build_arch} eq "x86_64"} {
     configure.post_args
 }
 build.type          gnu
 build.target        images
 use_parallel_build  no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set jdkn jdk-${ver}.jdk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set jdkn jdk-${version}.jdk
</span> set bundle_dir build/openjdk11/images/jdk-bundle/${jdkn}/Contents
 
 test.run            yes
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk13/Portfile b/java/openjdk13/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1830a95db83..44972d88195 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk13/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk13/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,8 +5,8 @@ PortSystem          1.0
</span> name                openjdk13
 # https://github.com/openjdk/jdk13u/tags
 # remove 'jdk-' from the latest tag without '-ga' that has commit that corresponds to the latest tag with '-ga'
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             13.0.11+4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set ver [string map {+4 {}} ${version}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             13.0.11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set build 4
</span> revision            0
 categories          java devel
 platforms           darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,17 +18,23 @@ long_description    JDK 13 builds of Openjdk, the Open-Source implementation \
</span>                     of the Java Platform, Standard Edition, and related projects.
 homepage            https://openjdk.java.net/
 master_sites        https://git.openjdk.java.net/jdk13u/archive/refs/tags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distname            jdk-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            jdk-${version}+${build}
</span> 
 checksums           rmd160  a3ed0636becbf434ae79232d75a466bd2a0e9085 \
                     sha256  acaaa1b86c6905926634e1a85d834aae703fa27b81a62622419e0553786339fc \
                     size    109265999
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:freetype
</span> depends_build       port:autoconf \
                     port:gmake \
                     port:bash \
                     port:openjdk13-bootstrap
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|libffi.so.?|libffi.?.dylib|g" ${worksrcpath}/make/autoconf/lib-ffi.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|xmacosx|xwindows|g" ${worksrcpath}/make/autoconf/lib-freetype.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> set tpath /Library/Java
 use_configure    yes
 configure.cmd       ${prefix}/bin/bash configure
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,22 +43,22 @@ set bug_url "https://trac.macports.org/newticket?port=${name}"
</span> # default configure args
 configure.args      --with-debug-level=release \
                     --with-native-debug-symbols=none \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-version-pre=release \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-jvm-variants=server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-version-string=${version}+${build} \
</span>                     --with-target-bits=64 \
                     --with-sysroot=`xcrun --sdk macosx --show-sdk-path` \
                     --with-extra-cflags="${configure.cflags}" \
                     --with-extra-cxxflags="${configure.cxxflags}" \
                     --with-extra-ldflags="${configure.ldflags}" \
                     --with-boot-jdk=/Library/Java/JavaVirtualMachines/openjdk13-bootstrap/Contents/Home \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype=system \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype-include=${prefix}/include/freetype2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype-lib=${prefix}/lib \
</span>                     --disable-warnings-as-errors \
                     --disable-precompiled-headers \
                     --with-vendor-name="OpenJDK Porters Group" \
                     --with-vendor-url="${homepage}" \
                     --with-vendor-bug-url="${bug_url}" \
                     --with-vendor-vm-bug-url="${bug_url}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --without-version-opt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --without-version-pre \
</span>                     --with-conf-name=openjdk13
 
 variant server \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -101,9 +107,6 @@ variant core \
</span> variant zero \
     conflicts client core minimal server \
     description {JVM with C++ based interpreter only, no compiler} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|libffi.so.?|libffi.?.dylib|g" ${worksrcpath}/make/autoconf/lib-ffi.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span>     configure.args-append   --with-jvm-variants=zero \
                             --with-libffi=${prefix} \
                             --enable-libffi-bundling
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,7 +128,7 @@ if {![variant_isset client] && ![variant_isset core] && ![variant_isset minimal]
</span> build.type          gnu
 build.target        images
 use_parallel_build  no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set jdkn jdk-${ver}.jdk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set jdkn jdk-${version}.jdk
</span> set bundle_dir build/openjdk13/images/jdk-bundle/${jdkn}/Contents
 
 test.run            yes
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk15/Portfile b/java/openjdk15/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 28bd704b56d..29b0632d221 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk15/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk15/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,8 +4,9 @@ PortSystem          1.0
</span> 
 name                openjdk15
 # https://github.com/openjdk/jdk15u/tags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             15.0.6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             15.0.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set build 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> categories          java devel
 platforms           darwin
 supported_archs     x86_64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,92 +16,113 @@ description         Openjdk 15
</span> long_description    JDK 15 builds of Openjdk, the Open-Source implementation \
                     of the Java Platform, Standard Edition, and related projects.
 homepage            https://openjdk.java.net/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-fetch.type          git
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-git.url             https://github.com/openjdk/jdk15u
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-git.branch             jdk-${version}-ga
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://git.openjdk.java.net/jdk15u/archive/refs/tags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            jdk-${version}+${build}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  7034ea730935595dbcedfa3f1204adfc04bdffae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  0f19c68aa6cfbfc566a83ed3a8fdaecd8fdb2eda0501e6bd2c0a081232fb0504 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    102124719
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> patchfiles          patch-openjdk15-build1.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:freetype
</span> depends_build       port:autoconf \
                     port:gmake \
                     port:bash \
                     port:openjdk15-bootstrap
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|libffi.so.?|libffi.?.dylib|g" ${worksrcpath}/make/autoconf/lib-ffi.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|xmacosx|xwindows|g" ${worksrcpath}/make/autoconf/lib-freetype.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> set tpath /Library/Java
 use_configure    yes
 configure.cmd       ${prefix}/bin/bash configure
 configure.pre_args  --prefix=${tpath}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set extrachflags "-isysroot `xcrun --sdk macosx --show-sdk-path` -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set extracxxflags "-isysroot `xcrun --sdk macosx --show-sdk-path` -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set extraldflags "-Wl,-syslibroot,`xcrun --sdk macosx --show-sdk-path` -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set jchflags "-Wno-implicit-function-declaration -Wno-unused-parameter"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set jcxxflags "-Wno-implicit-function-declaration -Wno-unused-parameter"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set jldflags "-L`xcrun --sdk macosx --show-sdk-path`/usr/lib -L`xcrun --sdk macosx --show-sdk-path`/usr/lib/system"
</span> set bug_url "https://trac.macports.org/newticket?port=${name}"
 # default configure args
 configure.args      --with-debug-level=release \
                     --with-native-debug-symbols=none \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-version-pre=release \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-jvm-variants=server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-version-string=${version}+${build} \
</span>                     --with-target-bits=64 \
                     --with-sysroot=`xcrun --sdk macosx --show-sdk-path` \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-extra-cflags="${configure.cflags} ${extrachflags} ${jchflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-extra-cxxflags="${configure.cxxflags} ${extracxxflags} ${jcxxflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-extra-ldflags="${configure.ldflags} ${extraldflags} ${jldflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-extra-cflags="${configure.cflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-extra-cxxflags="${configure.cxxflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-extra-ldflags="${configure.ldflags}" \
</span>                     --with-boot-jdk=/Library/Java/JavaVirtualMachines/openjdk15-bootstrap/Contents/Home \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype=system \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype-include=${prefix}/include/freetype2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype-lib=${prefix}/lib \
</span>                     --disable-warnings-as-errors \
                     --disable-precompiled-headers \
                     --with-vendor-name="OpenJDK Porters Group" \
                     --with-vendor-url="${homepage}" \
                     --with-vendor-bug-url="${bug_url}" \
                     --with-vendor-vm-bug-url="${bug_url}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --without-version-opt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --without-version-pre \
</span>                     --with-conf-name=release
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant server \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts client core minimal \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    description {JVM with normal interpreter, and a tiered C1/C2 compiler} {}
</span> 
 variant release \
     conflicts debug optimized \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    description {OpenJDK with no debug information, all optimizations and no asserts} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {OpenJDK with no debug information, all optimizations and no asserts} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-debug-level=release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 variant optimized \
     conflicts debug release \
     description {OpenJDK with no debug information, all optimizations, no asserts and HotSpot is 'optimized'} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-debug-level=release --with-debug-level=optimized
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-debug-level=optimized
</span> }
 
 variant debug \
     conflicts optimized release \
     description {OpenJDK with debug information, all optimizations and all asserts} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace  --with-debug-level=release --with-debug-level=fastdebug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-debug-level=fastdebug
</span>     configure.args-delete   --with-native-debug-symbols=none
 }
 
 variant client \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts core minimal server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts core minimal server zero \
</span>     description {JVM with normal interpreter, C1 and no C2 compiler} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-jvm-variants=server --with-jvm-variants=client
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=client
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client core minimal zero \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {JVM with normal interpreter, and a tiered C1/C2 compiler} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=server
</span> }
 
 variant minimal \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts client core server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client core server zero \
</span>     description {JVM with reduced form of normal interpreter having C1, no C2 compiler and optional features stripped out} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-jvm-variants=server --with-jvm-variants=minimal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=minimal
</span> }
 
 variant core \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts client minimal server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client minimal server zero \
</span>     description {JVM with normal interpreter only and no compiler} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-jvm-variants=server --with-jvm-variants=core
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=core
</span> }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variant zero \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client core minimal server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {JVM with C++ based interpreter only, no compiler} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=zero \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --with-libffi=${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --enable-libffi-bundling
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append         port:libffi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> if {![variant_isset debug] && ![variant_isset optimized] && ![variant_isset release]} {
     default_variants-append +release
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset client] && ![variant_isset core] && ![variant_isset minimal] && ![variant_isset server]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    default_variants-append +server
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset client] && ![variant_isset core] && ![variant_isset minimal] && ![variant_isset server] && ![variant_isset zero]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.platform} eq "darwin" && ${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        default_variants-append +zero
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        default_variants-append +server
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 build.type          gnu
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk17/Portfile b/java/openjdk17/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5d4debcaa00..d3449594f80 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk17/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk17/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,8 +4,9 @@ PortSystem          1.0
</span> 
 name                openjdk17
 # https://github.com/openjdk/jdk17u/tags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             17.0.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             17.0.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set build 7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> categories          java devel
 platforms           darwin
 supported_archs     x86_64 arm64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,86 +16,101 @@ description         Openjdk 17
</span> long_description    JDK 17 builds of Openjdk, the Open-Source implementation \
                     of the Java Platform, Standard Edition, and related projects.
 homepage            https://openjdk.java.net/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-fetch.type          git
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-git.url             https://github.com/openjdk/jdk17u
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-git.branch             jdk-${version}-ga
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://git.openjdk.java.net/jdk17u/archive/refs/tags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            jdk-${version}+${build}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  a26c6f077066279df9a9b5cb3cd1d4658e0c9584 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  22575340d080a396442658356583d9c7dc0c44cefa52842fbfcf23eef23c39a0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    104797560
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:freetype
</span> depends_build       port:autoconf \
                     port:gmake \
                     port:bash \
                     port:openjdk17-bootstrap
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          patch-openjdk17-build1.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|libffi.so.?|libffi.?.dylib|g" ${worksrcpath}/make/autoconf/lib-ffi.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|xmacosx|xwindows|g" ${worksrcpath}/make/autoconf/lib-freetype.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 set tpath /Library/Java
 use_xcode           yes
 use_configure    yes
 configure.cmd       ${prefix}/bin/bash configure
 configure.pre_args  --prefix=${tpath}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set extrachflags "-isysroot `xcrun --sdk macosx --show-sdk-path` -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set extracxxflags "-isysroot `xcrun --sdk macosx --show-sdk-path` -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set extraldflags "-Wl,-syslibroot,`xcrun --sdk macosx --show-sdk-path` -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set jchflags "-Wno-implicit-function-declaration -Wno-unused-parameter"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set jcxxflags "-Wno-implicit-function-declaration -Wno-unused-parameter"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set jldflags "-L`xcrun --sdk macosx --show-sdk-path`/usr/lib -L`xcrun --sdk macosx --show-sdk-path`/usr/lib/system"
</span> set bug_url "https://trac.macports.org/newticket?port=${name}"
 # default configure args
 configure.args      --with-debug-level=release \
                     --with-native-debug-symbols=none \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-version-pre=release \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-jvm-variants=server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-version-string=${version}+${build} \
</span>                     --with-sysroot=`xcrun --sdk macosx --show-sdk-path` \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-extra-cflags="${configure.cflags} ${extrachflags} ${jchflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-extra-cxxflags="${configure.cxxflags} ${extracxxflags} ${jcxxflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-extra-ldflags="${configure.ldflags} ${extraldflags} ${jldflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-extra-cflags="${configure.cflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-extra-cxxflags="${configure.cxxflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-extra-ldflags="${configure.ldflags}" \
</span>                     --with-boot-jdk=/Library/Java/JavaVirtualMachines/openjdk17-bootstrap/Contents/Home \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype=system \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype-include=${prefix}/include/freetype2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-freetype-lib=${prefix}/lib \
</span>                     --disable-precompiled-headers \
                     --disable-warnings-as-errors \
                     --with-vendor-name="OpenJDK Porters Group" \
                     --with-vendor-url="${homepage}" \
                     --with-vendor-bug-url="${bug_url}" \
                     --with-vendor-vm-bug-url="${bug_url}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --without-version-opt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --without-version-pre \
</span>                     --with-conf-name=release
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant server \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts client core minimal \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    description {JVM with normal interpreter, and a tiered C1/C2 compiler} {}
</span> 
 variant release \
     conflicts debug optimized \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    description {OpenJDK with no debug information, all optimizations and no asserts} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {OpenJDK with no debug information, all optimizations and no asserts} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-debug-level=release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 variant optimized \
     conflicts debug release \
     description {OpenJDK with no debug information, all optimizations, no asserts and HotSpot is 'optimized'} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-debug-level=release --with-debug-level=optimized
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-debug-level=optimized
</span> }
 
 variant debug \
     conflicts optimized release \
     description {OpenJDK with debug information, all optimizations and all asserts} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace  --with-debug-level=release --with-debug-level=fastdebug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-debug-level=fastdebug
</span>     configure.args-delete   --with-native-debug-symbols=none
 }
 
 variant client \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts core minimal server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts core minimal server zero \
</span>     description {JVM with normal interpreter, C1 and no C2 compiler} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-jvm-variants=server --with-jvm-variants=client
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=client
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client core minimal zero \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {JVM with normal interpreter, and a tiered C1/C2 compiler} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=server
</span> }
 
 variant minimal \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts client core server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client core server zero \
</span>     description {JVM with reduced form of normal interpreter having C1, no C2 compiler and optional features stripped out} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-jvm-variants=server --with-jvm-variants=minimal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=minimal
</span> }
 
 variant core \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts client minimal server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client minimal server zero \
</span>     description {JVM with normal interpreter only and no compiler} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-jvm-variants=server --with-jvm-variants=core
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=core
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant zero \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client core minimal server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {JVM with C++ based interpreter only, no compiler} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=zero \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --with-libffi=${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --enable-libffi-bundling
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append         port:libffi
</span> }
 
 if {![variant_isset debug] && ![variant_isset optimized] && ![variant_isset release]} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk17/files/0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch b/java/openjdk17/files/0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 93d194ae7d4..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk17/files/0001-8280476-macOS-hotspot-arm64-bug-exposed-by-latest-cl.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,36 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From f5d6fddc6df8c5c5456a2544b131833d5227292b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: "Daniel D. Daugherty" <dcubed@openjdk.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 4 Feb 2022 17:37:01 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] 8280476: [macOS] : hotspot arm64 bug exposed by latest clang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: kbarrett, adinn
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/hotspot/cpu/aarch64/immediate_aarch64.cpp | 11 ++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 10 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git src/hotspot/cpu/aarch64/immediate_aarch64.cpp src/hotspot/cpu/aarch64/immediate_aarch64.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3e38b7cca04..916494605bc 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/hotspot/cpu/aarch64/immediate_aarch64.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/hotspot/cpu/aarch64/immediate_aarch64.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -129,8 +129,17 @@ static inline uint32_t uimm(uint32_t val, int hi, int lo)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- uint64_t replicate(uint64_t bits, int nbits, int count)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  assert(count > 0, "must be");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  assert(nbits > 0, "must be");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  assert(count * nbits <= 64, "must be");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  // Special case nbits == 64 since the shift below with that nbits value
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  // would result in undefined behavior.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (nbits == 64) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return bits;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   uint64_t result = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  // nbits may be 64 in which case we want mask to be -1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   uint64_t mask = ones(nbits);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   for (int i = 0; i < count ; i++) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     result <<= nbits;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.35.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk17/files/patch-openjdk17-build1.diff b/java/openjdk17/files/patch-openjdk17-build1.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 522052cc0d4..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk17/files/patch-openjdk17-build1.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- make/autoconf/toolchain.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ make/autoconf/toolchain.m4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -229,7 +229,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if test "x$OPENJDK_TARGET_OS" = xmacosx; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if test -n "$XCODEBUILD"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       # On Mac OS X, default toolchain to clang after Xcode 5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version 2>&1 | $HEAD -n 1`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version | $HEAD -n 1`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       $ECHO "$XCODE_VERSION_OUTPUT" | $GREP "Xcode " > /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       if test $? -ne 0; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         AC_MSG_ERROR([Failed to determine Xcode version.])
</span>\ No newline at end of file
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk18-bootstrap/Portfile b/java/openjdk18-bootstrap/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..2dda0e82955
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk18-bootstrap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,42 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                openjdk17-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             18
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set build           36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          java devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs     x86_64 arm64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             GPL-2+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {outlook.com:usersword123 @usersxx} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         OpenJDK 18 Boot JDK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    OpenJDK 18 Boot JDK to bootstrap Openjdk17 port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://openjdk.java.net/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://download.java.net/java/GA/jdk${version}/43f95e8614114aeaa8e8a5fcf20a682d/${build}/GPL/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${configure.build_arch} eq "x86_64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums           rmd160  7cfc98587bfc1d209cf58e973cf42b1af361d27b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  527b61b4265caf45cdcbacfcf8fbcd0b4b280bede1eff32a5b252d855ff0534b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    185375922
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distname            openjdk-18_macos-x64_bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${configure.build_arch} eq "arm64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums           rmd160  8d36e7f1f202ac7e998ad837b41d98e2d4ed9a60 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  6880a5b512d1c1df5013a04b2cef4e1261e881d7f246ea5483ffeb728b30b2f1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    183221810
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distname            openjdk-18_macos-aarch64_bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_xcode           no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_configure    no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+worksrcdir          jdk-18.jdk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set path /Library/Java/JavaVirtualMachines/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${destroot}${path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/Contents ${destroot}${path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.violate_mtree      yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk18/Portfile b/java/openjdk18/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bb0c4f937d9..7e76b1cb00c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk18/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk18/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,8 +4,9 @@ PortSystem          1.0
</span> 
 name                openjdk18
 # https://github.com/openjdk/jdk18u/tags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             18
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             18.0.1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set build 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> categories          java devel
 platforms           darwin
 supported_archs     x86_64 arm64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,89 +16,104 @@ description         Openjdk 18
</span> long_description    JDK 18 builds of Openjdk, the Open-Source implementation \
                     of the Java Platform, Standard Edition, and related projects.
 homepage            https://openjdk.java.net/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-fetch.type          git
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-git.url             https://github.com/openjdk/jdk18u
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-git.branch             jdk-${version}-ga
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build       port:autoconf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://git.openjdk.java.net/jdk18u/archive/refs/tags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            jdk-${version}+${build}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  16ac99fc5cfa368ec27613dfd90d56650026921f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  57ed6b990b24b1e8b50099a265841add596d2c82e73c7c82bb530a8f53a47732 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    105413077
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:freetype
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build       port:openjdk18-bootstrap \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:autoconf \
</span>                     port:gmake
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:openjdk17-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|libffi.so.?|libffi.?.dylib|g" ${worksrcpath}/make/autoconf/lib-ffi.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|xmacosx|xwindows|g" ${worksrcpath}/make/autoconf/lib-freetype.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 set tpath /Library/Java
 use_xcode           yes
 use_configure    yes
 configure.cmd       sh configure
 configure.pre_args  --prefix=${tpath}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set extrachflags "-isysroot `xcrun --sdk macosx --show-sdk-path` -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set extracxxflags "-isysroot `xcrun --sdk macosx --show-sdk-path` -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set extraldflags "-Wl,-syslibroot,`xcrun --sdk macosx --show-sdk-path` -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set jchflags "-Wno-implicit-function-declaration -Wno-unused-parameter"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set jcxxflags "-Wno-implicit-function-declaration -Wno-unused-parameter"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set jldflags "-L`xcrun --sdk macosx --show-sdk-path`/usr/lib -L`xcrun --sdk macosx --show-sdk-path`/usr/lib/system"
</span> set bug_url "https://trac.macports.org/newticket?port=${name}"
 # default configure args 
 configure.args      --with-debug-level=release \
                     --with-native-debug-symbols=none \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-version-pre=release \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-jvm-variants=server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-version-string=${version}+${build} \
</span>                     --with-sysroot=`xcrun --sdk macosx --show-sdk-path` \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-extra-cflags="${configure.cflags} ${extrachflags} ${jchflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-extra-cxxflags="${configure.cxxflags} ${extracxxflags} ${jcxxflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-extra-ldflags="${configure.ldflags} ${extraldflags} ${jldflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-boot-jdk=/Library/Java/JavaVirtualMachines/openjdk17-bootstrap/Contents/Home \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-extra-cflags="${configure.cflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-extra-cxxflags="${configure.cxxflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-extra-ldflags="${configure.ldflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-boot-jdk=/Library/Java/JavaVirtualMachines/openjdk18-bootstrap/Contents/Home \
</span>                     --disable-warnings-as-errors \
                     --disable-precompiled-headers \
                     --with-vendor-name="OpenJDK Porters Group" \
                     --with-vendor-url="${homepage}" \
                     --with-vendor-bug-url="${bug_url}" \
                     --with-vendor-vm-bug-url="${bug_url}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --without-version-opt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --without-version-pre \
</span>                     --with-conf-name=release
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant server \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts client core minimal \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    description {JVM with normal interpreter, and a tiered C1/C2 compiler} {}
</span> 
 variant release \
     conflicts debug optimized \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    description {OpenJDK with no debug information, all optimizations and no asserts} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {OpenJDK with no debug information, all optimizations and no asserts} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-debug-level=release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 variant optimized \
     conflicts debug release \
     description {OpenJDK with no debug information, all optimizations, no asserts and HotSpot is 'optimized'} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-debug-level=release --with-debug-level=optimized
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-debug-level=optimized
</span> }
 
 variant debug \
     conflicts optimized release \
     description {OpenJDK with debug information, all optimizations and all asserts} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace  --with-debug-level=release --with-debug-level=fastdebug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-debug-level=fastdebug
</span>     configure.args-delete   --with-native-debug-symbols=none
 }
 
 variant client \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts core minimal server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts core minimal server zero \
</span>     description {JVM with normal interpreter, C1 and no C2 compiler} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-jvm-variants=server --with-jvm-variants=client
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=client
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client core minimal zero \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {JVM with normal interpreter, and a tiered C1/C2 compiler} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=server
</span> }
 
 variant minimal \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts client core server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client core server zero \
</span>     description {JVM with reduced form of normal interpreter having C1, no C2 compiler and optional features stripped out} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-jvm-variants=server --with-jvm-variants=minimal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=minimal
</span> }
 
 variant core \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts client minimal server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client minimal server zero \
</span>     description {JVM with normal interpreter only and no compiler} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace   --with-jvm-variants=server --with-jvm-variants=core
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=core
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant zero \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    conflicts client core minimal server \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {JVM with C++ based interpreter only, no compiler} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-jvm-variants=zero \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --with-libffi=${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --enable-libffi-bundling
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append         port:libffi
</span> }
 
 if {![variant_isset debug] && ![variant_isset optimized] && ![variant_isset release]} {
     default_variants-append +release
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset client] && ![variant_isset core] && ![variant_isset minimal] && ![variant_isset server]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset client] && ![variant_isset core] && ![variant_isset minimal] && ![variant_isset server] && ![variant_isset zero]} {
</span>     default_variants-append +server
 }
 
</pre><pre style='margin:0'>

</pre>