<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1ddf4715b19255744c221b0791723d2fe1d2ccf7">https://github.com/macports/macports-ports/commit/1ddf4715b19255744c221b0791723d2fe1d2ccf7</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 1ddf4715b19 LLVM Devel: Add patch to disable QOS on Darwin13 and older
</span>1ddf4715b19 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 1ddf4715b19255744c221b0791723d2fe1d2ccf7
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Wed Mar 1 11:09:34 2023 +0000

<span style='display:block; white-space:pre;color:#404040;'>    LLVM Devel: Add patch to disable QOS on Darwin13 and older
</span>---
 lang/llvm-devel/Portfile                           |  9 ++++++
 lang/llvm-devel/files/0110-Avoid-Pthread-QOS.patch | 32 ++++++++++++++++++++++
 2 files changed, 41 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/Portfile b/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3d7041a88a7..06d218d1af1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -185,6 +185,15 @@ if {${os.platform} eq "darwin" && ${os.major} < 16} {
</span>     patchfiles-append  0200-remove-use-of-clonefile.patch
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 14} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Revert use of pthread/qos.h that is only available on macOS10.10 and newer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://trac.macports.org/ticket/65626#comment:5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Created by reverting the commit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/llvm/llvm-project/commit/9902a0945d22cd5757b16ebe85fe07059723aa09
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # > git revert 9902a0945d22cd5757b16ebe85fe07059723aa09
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append  0110-Avoid-Pthread-QOS.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-patch {
     reinplace "s|@@PREFIX@@|${prefix}|" \
         ${patch.dir}/clang/lib/Driver/ToolChains/Clang.cpp \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0110-Avoid-Pthread-QOS.patch b/lang/llvm-devel/files/0110-Avoid-Pthread-QOS.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5abac64df86
</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-devel/files/0110-Avoid-Pthread-QOS.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/llvm/lib/Support/Unix/Threading.inc b/llvm/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 99f64b4f553d..5de1cf071ba9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/llvm/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/llvm/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22,7 +22,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <mach/mach_init.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <mach/mach_port.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <pthread/qos.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/sysctl.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -278,17 +277,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // minutes to complete. Examples include downloading a document or importing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // data. This class offers a balance between responsiveness, performance, and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // energy efficiency.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  const auto qosClass = [&]() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    switch (Priority) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    case ThreadPriority::Background:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      return QOS_CLASS_BACKGROUND;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    case ThreadPriority::Low:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      return QOS_CLASS_UTILITY;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    case ThreadPriority::Default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      return QOS_CLASS_DEFAULT;
</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;'>+-  return !pthread_set_qos_class_self_np(qosClass, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return !setpriority(PRIO_DARWIN_THREAD, 0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                     Priority == ThreadPriority::Default ? 0 : PRIO_DARWIN_BG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              ? SetThreadPriorityResult::SUCCESS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              : SetThreadPriorityResult::FAILURE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span></pre><pre style='margin:0'>

</pre>