<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1a99bb3d5d1a256f810535cb9a0d6e414534ad89">https://github.com/macports/macports-ports/commit/1a99bb3d5d1a256f810535cb9a0d6e414534ad89</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 1a99bb3d5d1 clang-16 @16.0.6_3: disable verbose_abort in availability
</span>1a99bb3d5d1 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 1a99bb3d5d1a256f810535cb9a0d6e414534ad89
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Sun Apr 7 12:01:48 2024 -0700
<span style='display:block; white-space:pre;color:#404040;'> clang-16 @16.0.6_3: disable verbose_abort in availability
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> when availability tests are disabled (macports-libcxx, darwin 10)
</span><span style='display:block; white-space:pre;color:#404040;'> a fallback set of defines are used in
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> include/c++/v1/__availability
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> however, the fallback defaults to indicating that libcxx contains
</span><span style='display:block; white-space:pre;color:#404040;'> a verbose_abort function. This is currently always false for MacPorts
</span><span style='display:block; white-space:pre;color:#404040;'> uses, and so link errors occur.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> disable this by default, so a fallback pathway is used
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> see: https://trac.macports.org/ticket/68640
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> this has no effect on the normal functionality of this header,
</span><span style='display:block; white-space:pre;color:#404040;'> as the __APPLE__ pathway is used otherwise.
</span>---
lang/llvm-16/Portfile | 7 ++++++-
.../0120-clang-16-no-verbose-abort-in-library.diff | 19 +++++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-16/Portfile b/lang/llvm-16/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3e1ead3079a..0cc65a53483 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-16/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-16/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,7 +27,7 @@ version ${llvm_version}.0.6
</span> name llvm-${llvm_version}
revision 1
subport mlir-${llvm_version} { revision [ expr ${revision} + 0 ] }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-subport clang-${llvm_version} { revision [ expr ${revision} + 1 ] }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport clang-${llvm_version} { revision [ expr ${revision} + 2 ] }
</span> subport lldb-${llvm_version} { revision [ expr ${revision} + 1 ] }
subport flang-${llvm_version} { revision [ expr ${revision} + 0 ] }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -199,6 +199,11 @@ if {${os.platform} eq "darwin" && ${os.major} < 12} {
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# alter the default availability header to indicate no verbose_abort is in libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the altered section is used only when macports-libcxx is being invoked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# see: https://trac.macports.org/ticket/68640
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append 0120-clang-16-no-verbose-abort-in-library.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # https://trac.macports.org/ticket/67686
# revert commit that breaks rpath linkages in clang runtime
if {${os.platform} eq "darwin"} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-16/files/0120-clang-16-no-verbose-abort-in-library.diff b/lang/llvm-16/files/0120-clang-16-no-verbose-abort-in-library.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..46ef280ab4b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-16/files/0120-clang-16-no-verbose-abort-in-library.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;'>+by default, availability-disabled headers indicate the supplied libcxx contains
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+a verbose abort function. the libcxx versions that are installed by macports-libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+do not currently have such a function, so links fail.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+alter the default availability header to indicate no such function is supplied
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+see: https://trac.macports.org/ticket/68640
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/libcxx/include/__availability.orig 2024-04-07 10:11:44.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/libcxx/include/__availability 2024-04-07 10:12:25.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -159,7 +159,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // This controls whether the library claims to provide a default verbose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // termination function, and consequently whether the headers will try
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // to use it when the mechanism isn't overriden at compile-time.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// # define _LIBCPP_HAS_NO_VERBOSE_ABORT_IN_LIBRARY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define _LIBCPP_HAS_NO_VERBOSE_ABORT_IN_LIBRARY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>