<pre style='margin:0'>
Zhenfu Shi (i0ntempest) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/eec7cd1914cac2aa3fc324d06ee34f809b19b224">https://github.com/macports/macports-ports/commit/eec7cd1914cac2aa3fc324d06ee34f809b19b224</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 eec7cd1914c zig: allow dynamically linking libc++
</span>eec7cd1914c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit eec7cd1914cac2aa3fc324d06ee34f809b19b224
</span>Author: i0ntempest <i0ntempest@i0ntempest.com>
AuthorDate: Tue Mar 18 00:50:47 2025 +1100

<span style='display:block; white-space:pre;color:#404040;'>    zig: allow dynamically linking libc++
</span>---
 lang/zig/Portfile                                  | 24 +++++++++++-----------
 .../zig/files/patch-macos-libc++-dynamic-link.diff | 19 +++++++++++++++++
 2 files changed, 31 insertions(+), 12 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/zig/Portfile b/lang/zig/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 778e2984755..eb0975ab6e4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/zig/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/zig/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,7 +9,7 @@ legacysupport.use_static  yes
</span> 
 github.setup        ziglang zig 0.14.0
 github.tarball_from archive
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
 categories          lang
 license             MIT
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,19 +23,22 @@ long_description    Zig is a general-purpose programming language designed for \
</span> 
 homepage            https://ziglang.org/
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  390380adbd565c379eb51d85a7941ff26fedc92d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  b45589b782a9406a414a3cac201ca0243650f9bedcb453730c124bf6f07ab33f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    27052976
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/ziglang/zig/pull/23264
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-macos-libc++-dynamic-link.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.args          -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> set llvm_version    19
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append  port:ncurses \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:llvm-${llvm_version} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:clang-${llvm_version} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:ncurses \
</span>                     port:libxml2 \
                     port:zlib \
                     port:zstd
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:llvm-${llvm_version} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:clang-${llvm_version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  390380adbd565c379eb51d85a7941ff26fedc92d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  b45589b782a9406a414a3cac201ca0243650f9bedcb453730c124bf6f07ab33f \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    27052976
</span> 
 set llvm_config     LLVM_CONFIG=llvm-config-mp-${llvm_version}
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,9 +50,6 @@ cmake_share_module_dir \
</span> cmake.install_rpath-append \
                     ${prefix}/libexec/llvm-${llvm_version}/lib
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# We need to link LLVM statically until a way is found to force zig to link the system libc++ dynamically.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append -DZIG_STATIC_LLVM=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> platform darwin {
     # due to the new linker (which was introduced in Xcode 15: https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes),
     # this port requires '-ld_classic' to build successfully with the toolchains from Xcode 15 or Command Line Tools 15.
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/zig/files/patch-macos-libc++-dynamic-link.diff b/lang/zig/files/patch-macos-libc++-dynamic-link.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..22cf69439ed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/zig/files/patch-macos-libc++-dynamic-link.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/build.zig b/build.zig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 15762f0ae881..ea729f408f74 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/build.zig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/build.zig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -782,7 +782,13 @@ fn addCmakeCfgOptionsToExe(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 mod.linkSystemLibrary("unwind", .{});
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             },
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             .ios, .macos, .watchos, .tvos, .visionos => {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                mod.link_libcpp = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if (static or !std.zig.system.darwin.isSdkInstalled(b.allocator)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    mod.link_libcpp = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    const sdk = std.zig.system.darwin.getSdk(b.allocator, b.graph.host.result) orelse return error.SdkDetectFailed;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    const @"libc++" = b.pathJoin(&.{ sdk, "usr/lib/libc++.tbd" });
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    exe.root_module.addObjectFile(.{ .cwd_relative = @"libc++" });
</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;'>+             .windows => {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 if (target.abi != .msvc) mod.link_libcpp = true;
</span></pre><pre style='margin:0'>

</pre>