<pre style='margin:0'>
Mark Anderson (markemer) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c47329771919df24518a3a6dae3f9de3a9ae9077">https://github.com/macports/macports-ports/commit/c47329771919df24518a3a6dae3f9de3a9ae9077</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new c4732977191 flang-14: fix for macOS ≥ 14 (#26039)
</span>c4732977191 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit c47329771919df24518a3a6dae3f9de3a9ae9077
</span>Author: Mark Mentovai <mark@mentovai.com>
AuthorDate: Sun Oct 6 23:09:09 2024 -0400
<span style='display:block; white-space:pre;color:#404040;'> flang-14: fix for macOS ≥ 14 (#26039)
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> 93df94134805 (as fixed by c04f7bf1e4b0) must be made to apply to
</span><span style='display:block; white-space:pre;color:#404040;'> flang-14 in addition to clang-14, because the sanitizer runtimes are
</span><span style='display:block; white-space:pre;color:#404040;'> built for both.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> flang-mp-14 delegates to a bash wrapper script that uses modern
</span><span style='display:block; white-space:pre;color:#404040;'> bash-isms not supported by bash-3.2 shipped by Apple in /bin. A run-time
</span><span style='display:block; white-space:pre;color:#404040;'> dependency on the bash port is added, and the wrapper script is patched
</span><span style='display:block; white-space:pre;color:#404040;'> to use MacPorts’ bash as its interpreter rather than whatever happens to
</span><span style='display:block; white-space:pre;color:#404040;'> be first in the PATH.
</span>---
lang/llvm-14/Portfile | 41 +++++++++++++++++++++++------------------
1 file changed, 23 insertions(+), 18 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-14/Portfile b/lang/llvm-14/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5a998867c7f..1978f7660cd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-14/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-14/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,7 +29,7 @@ revision 0
</span> subport mlir-${llvm_version} { revision 0 }
subport clang-${llvm_version} { revision 3 }
subport lldb-${llvm_version} { revision 1 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-subport flang-${llvm_version} { revision 0 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport flang-${llvm_version} { revision 1 }
</span>
checksums rmd160 2b8b71bbb9fa5718c85f78924a0aa7e700cbd2ee \
sha256 8b3cfd7bc695bd6cea0f37f53f0981f34f87496e79e2529874fd03a2f9dd3a8a \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -269,12 +269,17 @@ if { ${subport} eq "flang-${llvm_version}" } {
</span> # has to match mlir's archs
supported_archs arm64 x86_64
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -E "1s|^#!.*$|#!${prefix}/bin/bash|" ${worksrcpath}/../flang/tools/f18/flang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.args-append \
-DLLVM_ENABLE_PROJECTS="clang\;flang\;compiler-rt\;mlir" \
-DLIBCXX_ENABLE_SHARED=OFF \
-DLIBCXX_INSTALL_LIBRARY=OFF
depends_lib-append port:clang-${llvm_version} port:mlir-${llvm_version}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_run-append port:bash
</span>
destroot {
# we have to run the destroot like this, because individual targets for each of the
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -345,6 +350,23 @@ if { ${subport} eq "clang-${llvm_version}" || ${subport} eq "flang-${llvm_versio
</span> configure.args-append -DCLANG_ENABLE_CLANGD=OFF \
-DLLVM_ENABLE_BACKTRACES=OFF
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # -Wl,-syslibroot referencing the macOS SDK must not appear when linking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # runtime libraries for non-macOS platforms, which are cross-built and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # used for cross-platform support. The clang and flang builds will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # provide the proper -isysroot for the platform in these cases. Remove
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # the macOS SDK.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach rtl_dir {asan lsan stats tsan/rtl ubsan ubsan_minimal} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set rtl [lindex [split ${rtl_dir} /] 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach rtl_os {ios iossim} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set link_txt_path "${workpath}/build/projects/compiler-rt/lib/${rtl_dir}/CMakeFiles/clang_rt.${rtl}_${rtl_os}_dynamic.dir/link.txt"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file exists "${link_txt_path}"]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|-Wl,-syslibroot,${configure.sdkroot}||" "${link_txt_path}"
</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;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
if {${subport} eq "lldb-${llvm_version}"} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -544,23 +566,6 @@ if {${subport} eq "clang-${llvm_version}"} {
</span> if { ${cxx_stdlib} eq "libstdc++" } {
default_variants-append +libstdcxx
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- post-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # -Wl,-syslibroot referencing the macOS SDK must not appear when linking
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # runtime libraries for non-macOS platforms, which are cross-built and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # used for cross-platform support. The clang build will provide the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # proper -isysroot for the platform in these cases. Remove the macOS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # SDK.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach rtl_dir {asan lsan stats tsan/rtl ubsan ubsan_minimal} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set rtl [lindex [split ${rtl_dir} /] 0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach rtl_os {ios iossim} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set link_txt_path "${workpath}/build/projects/compiler-rt/lib/${rtl_dir}/CMakeFiles/clang_rt.${rtl}_${rtl_os}_dynamic.dir/link.txt"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[file exists "${link_txt_path}"]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|-Wl,-syslibroot,${configure.sdkroot}||" "${link_txt_path}"
</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;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span> }
livecheck.type regex
</pre><pre style='margin:0'>
</pre>