<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/700a0b5d8b2a25e6f85a4f86e8a6caa5717fc274">https://github.com/macports/macports-ports/commit/700a0b5d8b2a25e6f85a4f86e8a6caa5717fc274</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 700a0b5d8b2 cava: new port
</span>700a0b5d8b2 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 700a0b5d8b2a25e6f85a4f86e8a6caa5717fc274
</span>Author: Mohamed Akram <makr@macports.org>
AuthorDate: Thu May 30 22:20:40 2024 +0400

<span style='display:block; white-space:pre;color:#404040;'>    cava: new port
</span>---
 audio/cava/Portfile                   | 45 +++++++++++++++++++++++++++++++++++
 audio/cava/files/patch-fix-crash.diff | 30 +++++++++++++++++++++++
 2 files changed, 75 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/cava/Portfile b/audio/cava/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d3fff3a696d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/cava/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,45 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        karlstav cava 0.10.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          audio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {makr @mohd-akram} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Cross-platform Audio Visualizer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    Cava is a bar spectrum audio visualizer for terminal \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    (ncurses) or desktop (SDL).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  747bef899d2728212f0b3ea3a90517c275b5557a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  853ee78729ed3501d0cdf9c1947967ad3bfe6526d66a029b4ddf9adaa6334d4f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    130036
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_autoreconf      yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+autoreconf.cmd      ./autogen.sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+autoreconf.args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build       port:libtool \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:autoconf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:automake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:autoconf-archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:fftw-3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:iniparser \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:pulseaudio \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:portaudio \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libsdl2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:ncurses
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-fix-crash.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|libtoolize|glibtoolize|" ${worksrcpath}/autogen.sh
</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;'>+configure.cppflags-append   -I${prefix}/include/iniparser
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/cava/files/patch-fix-crash.diff b/audio/cava/files/patch-fix-crash.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d3e10d0bb7b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/cava/files/patch-fix-crash.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 8d763281fd5b904821da9e6d189757a67fd0cf1f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Mohamed Akram <mohd.akram@outlook.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 30 May 2024 22:09:04 +0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Fix crash when using pulseaudio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The main loop should be freed only after it has stopped running.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ input/pulse.c | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git input/pulse.c input/pulse.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6837a5b..bca8aa2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- input/pulse.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ input/pulse.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,7 +26,6 @@ void cb(__attribute__((unused)) pa_context *pulseaudio_context, const pa_server_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     pa_context_disconnect(pulseaudio_context);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     pa_context_unref(pulseaudio_context);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     pa_mainloop_quit(m_pulseaudio_mainloop, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    pa_mainloop_free(m_pulseaudio_mainloop);
</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;'>+ void pulseaudio_context_state_callback(pa_context *pulseaudio_context, void *userdata) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -96,6 +95,7 @@ void getPulseDefaultSink(void *data) {
</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;'>+     pa_mainloop_run(m_pulseaudio_mainloop, &ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    pa_mainloop_free(m_pulseaudio_mainloop);
</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;'>+ void *input_pulse(void *data) {
</span></pre><pre style='margin:0'>

</pre>