<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/25598e65f9196c7ee80ac6ce1fc8022206496d82">https://github.com/macports/macports-ports/commit/25598e65f9196c7ee80ac6ce1fc8022206496d82</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 25598e65f9196c7ee80ac6ce1fc8022206496d82
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Sun Mar 31 06:50:12 2024 +0800

<span style='display:block; white-space:pre;color:#404040;'>    gstreamer1: update to 1.24.1
</span>---
 gnome/gstreamer1/Portfile                          |  27 +++--
 ...s-Fix-gst_macos_main-terminating-whole-pr.patch | 109 +++++++++++++++++++++
 2 files changed, 129 insertions(+), 7 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer1/Portfile b/gnome/gstreamer1/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 09fc6c7a74f..ce1f4086d17 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer1/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer1/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,16 +1,21 @@
</span> # -*- 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
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           compiler_blacklist_versions 1.0
</span> PortGroup           conflicts_build 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           legacysupport 1.1
</span> PortGroup           meson 1.0
 
 # https://bugzilla.gnome.org/show_bug.cgi?id=636134
 PortGroup           muniversal 1.0
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# _strnlen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.newest_darwin_requires_legacy 10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> name                gstreamer1
 set my_name         gstreamer
 # please only commit stable updates (even numbered releases)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             1.22.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             1.24.1
</span> revision            0
 description         GStreamer is a library for constructing graphs of media-handling components.
 long_description    The applications it supports range from simple Ogg/Vorbis playback, audio/video \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,9 +28,9 @@ master_sites        https://gstreamer.freedesktop.org/src/${my_name}/
</span> distname            ${my_name}-${version}
 use_xz              yes
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  462f42568d295759a2cad043f86d908968d465d1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  1e7124d347e8cdc80f08ec1d370c201be513002af1102bb20e83c5279cb48ebd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    1797968
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  d9e80c9d6408ff759119c8fa18f89f93ca68a629 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  88fc3629a8cacf7955d8671b2ae867d4a52a07b6948daa25b67feed22f8055ef \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1848676
</span> 
 set py_ver          3.12
 set py_ver_nodot    [string map {. {}} ${py_ver}]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,6 +56,13 @@ conflicts_build     check
</span> patchfiles          patch-gstreamer1-darwin-numcpufix-sysctl.diff \
                     patch-gst-gst-c-tiger-no-procpidpath.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Temorary fix until the upstream addresses the breakage.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3437
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    0001-Revert-macos-Fix-gst_macos_main-terminating-whole-pr.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|/usr/bin/env python3|${python.bin}|" \
         ${worksrcpath}/scripts/extract-release-date-from-doap-file.py \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -64,9 +76,10 @@ post-patch {
</span> configure.env-append    PERL_PATH=${prefix}/bin/perl
 configure.cflags-append -funroll-loops -fstrict-aliasing -fno-common
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[string match "*gcc-4.2" ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cflags-append -std=c99
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Match blacklist used in gstreamer1-gst-plugins-base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# error: redefinition of typedef ‘GstHarness’
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    *gcc-3.* *gcc-4.* {clang < 212}
</span> 
 configure.args-append \
                     -Dexamples=disabled \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer1/files/0001-Revert-macos-Fix-gst_macos_main-terminating-whole-pr.patch b/gnome/gstreamer1/files/0001-Revert-macos-Fix-gst_macos_main-terminating-whole-pr.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d528b8cf03a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer1/files/0001-Revert-macos-Fix-gst_macos_main-terminating-whole-pr.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,109 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 374d38961ce21d83ac3fab5fd002b0ed30cdddb5 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: barracuda156 <vital.had@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 31 Mar 2024 05:44:38 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Revert "macos: Fix gst_macos_main() terminating whole process
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ before returning a value"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This reverts commit ffdec6bc2b4af5ddc6c52c7a6bff51949426b984.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ subprojects/gstreamer/gst/gstmacos.m | 61 ++--------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 3 insertions(+), 58 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git subprojects/gstreamer/gst/gstmacos.m subprojects/gstreamer/gst/gstmacos.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index dbdb1a70a3..b930bbb0f6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gst/gstmacos.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gst/gstmacos.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9,37 +9,11 @@ struct _ThreadArgs {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   char **argv;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   gpointer user_data;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   gboolean is_simple;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  GMutex nsapp_mutex;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  GCond nsapp_cond;
</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;'>+-@interface GstCocoaApplicationDelegate : NSObject <NSApplicationDelegate>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@property (assign) GMutex *nsapp_mutex;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@property (assign) GCond *nsapp_cond;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-@implementation GstCocoaApplicationDelegate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- (void)applicationDidFinishLaunching:(NSNotification *)notification
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  g_mutex_lock (self.nsapp_mutex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  g_cond_signal (self.nsapp_cond);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  g_mutex_unlock (self.nsapp_mutex);
</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;'>+-@end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gst_thread_func (ThreadArgs *args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* Only proceed once NSApp is running, otherwise we could
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * attempt to call [NSApp: stop] before it's even started. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  g_mutex_lock (&args->nsapp_mutex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  while (![[NSRunningApplication currentApplication] isFinishedLaunching]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    g_cond_wait (&args->nsapp_cond, &args->nsapp_mutex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  g_mutex_unlock (&args->nsapp_mutex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (args->is_simple) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ret = ((GstMainFuncSimple) args->main_func) (args->user_data);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -47,20 +21,7 @@ gst_thread_func (ThreadArgs *args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ret = ((GstMainFunc) args->main_func) (args->argc, args->argv, args->user_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;'>+-  /* Post a message so we'll break out of the message loop */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NSEvent *event = [NSEvent otherEventWithType: NSEventTypeApplicationDefined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                       location: NSZeroPoint
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  modifierFlags: 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                      timestamp: 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                   windowNumber: 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                        context: nil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                        subtype: NSEventSubtypeApplicationActivated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                          data1: 0 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                          data2: 0];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  [NSApp postEvent:event atStart:YES];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  [NSApp stop:nil];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  [NSApp terminate: nil];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return ret;
</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;'>+@@ -68,31 +29,15 @@ int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ run_main_with_nsapp (ThreadArgs args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GThread *gst_thread;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  GstCocoaApplicationDelegate* delegate;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  int result;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  g_mutex_init (&args.nsapp_mutex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  g_cond_init (&args.nsapp_cond);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  [NSApplication sharedApplication];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  delegate = [[GstCocoaApplicationDelegate alloc] init];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  delegate.nsapp_mutex = &args.nsapp_mutex;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  delegate.nsapp_cond = &args.nsapp_cond;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  [NSApp setDelegate:delegate];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* This lets us show an icon in the dock and correctly focus opened windows */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  [NSApplication sharedApplication]; 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if ([NSApp activationPolicy] == NSApplicationActivationPolicyProhibited) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     [NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory];
</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;'>+   gst_thread = g_thread_new ("macos-gst-thread", (GThreadFunc) gst_thread_func, &args);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   [NSApp run];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  result = GPOINTER_TO_INT (g_thread_join (gst_thread));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  g_mutex_clear (&args.nsapp_mutex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  g_cond_clear (&args.nsapp_cond);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return result;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return GPOINTER_TO_INT (g_thread_join (gst_thread));
</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;'>+ /**
</span></pre><pre style='margin:0'>

</pre>