<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>