<pre style='margin:0'>
Mohamed Akram (mohd-akram) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/580eb460ebdb7dbf14905b21e849d0330f8b9144">https://github.com/macports/macports-ports/commit/580eb460ebdb7dbf14905b21e849d0330f8b9144</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 580eb460ebd pulseaudio: fix segfault on powerpc
</span>580eb460ebd is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 580eb460ebdb7dbf14905b21e849d0330f8b9144
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Sat May 4 10:49:42 2024 +0800

<span style='display:block; white-space:pre;color:#404040;'>    pulseaudio: fix segfault on powerpc
</span>---
 audio/pulseaudio/Portfile                          |  8 ++++++-
 .../files/patch-avoid-segfault-on-powerpc.diff     | 26 ++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/pulseaudio/Portfile b/audio/pulseaudio/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index fb79972c665..a4d245e3f58 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/audio/pulseaudio/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/pulseaudio/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11,7 +11,7 @@ PortGroup           perl5 1.0
</span> 
 name                pulseaudio
 version             17.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            3
</span> license             {BSD LGPL-2.1+ MIT}
 categories          audio
 maintainers         {ionic @Ionic} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -83,6 +83,12 @@ platform darwin 8 {
</span>     patchfiles-append   patch-src_modules_macosx_module_coreaudio_device.c-tiger-compat.diff
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # This fixes a segfault on launch of pulseaudio on ppc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-avoid-segfault-on-powerpc.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> meson.native.binaries-append \
                     m4=${prefix}/bin/gm4 \
                     perl=${perl5.bin}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/pulseaudio/files/patch-avoid-segfault-on-powerpc.diff b/audio/pulseaudio/files/patch-avoid-segfault-on-powerpc.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c8b35660813
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/pulseaudio/files/patch-avoid-segfault-on-powerpc.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+While this compiles fine, resulting binary fails to run.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Program received signal EXC_BAD_ACCESS, Could not access memory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Reason: KERN_PROTECTION_FAILURE at address: 0x00000010
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+0x003c4130 in pthread_getname_np ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+So just avoid using it on powerpc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/pulsecore/thread-posix.c   2024-01-13 01:22:09.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/pulsecore/thread-posix.c   2024-04-17 17:13:57.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -182,7 +182,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __linux__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     prctl(PR_SET_NAME, name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(HAVE_PTHREAD_SETNAME_NP) && defined(OS_IS_DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(HAVE_PTHREAD_SETNAME_NP) && defined(OS_IS_DARWIN) && !defined(__POWERPC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     pthread_setname_np(name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -201,7 +201,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             t->name = NULL;
</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;'>+-#elif defined(HAVE_PTHREAD_GETNAME_NP) && defined(OS_IS_DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(HAVE_PTHREAD_GETNAME_NP) && defined(OS_IS_DARWIN) && !defined(__POWERPC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!t->name) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         t->name = pa_xmalloc0(17);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         pthread_getname_np(t->id, t->name, 16);
</span></pre><pre style='margin:0'>

</pre>