<pre style='margin:0'>
tobypeterson pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/3912b3d20d72d06d363be547fa771b393151a57a">https://github.com/macports/macports-ports/commit/3912b3d20d72d06d363be547fa771b393151a57a</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 3912b3d20d7 VLC2: add a fix for < 10.6
</span>3912b3d20d7 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 3912b3d20d72d06d363be547fa771b393151a57a
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Fri Oct 11 20:13:26 2024 +0700

<span style='display:block; white-space:pre;color:#404040;'>    VLC2: add a fix for < 10.6
</span>---
 multimedia/VLC2/Portfile                           | 14 ++++
 multimedia/VLC2/files/patch-AudioComponent.diff    | 45 ++++++++++
 .../VLC2/files/patch-SystemConfiguration.diff      | 97 ++++++++++++++++++++++
 3 files changed, 156 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/VLC2/Portfile b/multimedia/VLC2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 234e8ece117..cbdce8d7b32 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/VLC2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/VLC2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -223,6 +223,14 @@ if {(${subport} eq ${name}) || (${subport} eq "lib${name}")} {
</span>     # Make 10.12 and later ignore all QTKit code in modules/gui/macosx/open.m
     patchfiles-append   patch-really-no-qtkit.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Only needed on < 10.6, since kCFNetworkProxiesHTTP* and AudioComponent*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # are unavailable. We fall back to an earlier code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.platform} eq "darwin" && ${os.major} < 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        patch-AudioComponent.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        patch-SystemConfiguration.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     if {![info exists replaced_by]} {
         post-patch {
             if {[string match *clang* ${configure.cxx}] && ${configure.cxx_stdlib} == "libc++"} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -371,6 +379,12 @@ if {(${subport} eq ${name}) || (${subport} eq "lib${name}")} {
</span>                         --enable-bonjour \
                         --enable-upnp
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Screen module uses CGDisplayCreateImageForRect which exists in 10.6+:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.platform} eq "darwin" && ${os.major} < 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --disable-screen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     platform macosx {
         # taken from VLC's own configure.sh script for OS X:
         configure.args-replace  --disable-realrtsp --enable-realrtsp
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/VLC2/files/patch-AudioComponent.diff b/multimedia/VLC2/files/patch-AudioComponent.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5465c666c61
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/VLC2/files/patch-AudioComponent.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,45 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- modules/audio_output/auhal.c   2015-10-22 00:10:00
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ modules/audio_output/auhal.c   2024-10-12 00:07:55
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -91,7 +91,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     TPCircularBuffer            circular_buffer;    /* circular buffer to swap the audio data */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     /* AUHAL specific */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    AudioComponent              au_component;       /* The AudioComponent we use */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    Component                   au_component;       /* The AudioComponent we use */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     AudioUnit                   au_unit;            /* The AudioUnit we use */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     /* CoreAudio SPDIF mode specific */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -488,7 +488,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     OSStatus                    err = noErr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     UInt32                      i_param_size = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int                         i_original;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    AudioComponentDescription   desc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ComponentDescription        desc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     AudioStreamBasicDescription DeviceFormat;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     AudioChannelLayout          *layout;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     AURenderCallbackStruct      input;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -505,13 +505,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     desc.componentFlags = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     desc.componentFlagsMask = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    p_sys->au_component = AudioComponentFindNext(NULL, &desc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    p_sys->au_component = FindNextComponent(NULL, &desc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (p_sys->au_component == NULL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         msg_Err(p_aout, "cannot find any HAL component, PCM output failed");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return false;
</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;'>+-    err = AudioComponentInstanceNew(p_sys->au_component, &p_sys->au_unit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    err = OpenAComponent(p_sys->au_component, &p_sys->au_unit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (err != noErr) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         msg_Err(p_aout, "cannot open HAL component, PCM output failed [%4.4s]", (char *)&err);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1112,7 +1112,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (p_sys->au_unit) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         verify_noerr(AudioOutputUnitStop(p_sys->au_unit));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         verify_noerr(AudioUnitUninitialize(p_sys->au_unit));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        verify_noerr(AudioComponentInstanceDispose(p_sys->au_unit));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        verify_noerr(CloseComponent(p_sys->au_unit));
</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;'>+     if (p_sys->b_digital) {
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/VLC2/files/patch-SystemConfiguration.diff b/multimedia/VLC2/files/patch-SystemConfiguration.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e0cafa86f40
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/VLC2/files/patch-SystemConfiguration.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,97 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac   2024-10-11 19:59:30
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -163,7 +163,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu99"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,AppKit])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation,-framework,CoreServices])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation,-framework,CoreServices,-framework,SystemConfiguration])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     AC_EGREP_CPP(yes,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             [#import <TargetConditionals.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/darwin/netconf.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/darwin/netconf.c   2024-10-11 17:09:51
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,13 +28,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <vlc_common.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <vlc_network.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <CoreFoundation/CoreFoundation.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #import <TargetConditionals.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <CoreFoundation/CoreFoundation.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if TARGET_OS_IPHONE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <CFNetwork/CFProxySupport.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <CoreServices/CoreServices.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <SystemConfiguration/SystemConfiguration.h>
</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;'>+ /**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -45,6 +44,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *vlc_getProxyUrl(const char *url)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     VLC_UNUSED(url);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if TARGET_OS_IPHONE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     char *proxy_url = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFDictionaryRef dicRef = CFNetworkCopySystemProxySettings();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (NULL != dicRef) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -73,4 +73,58 @@
</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 proxy_url;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CFDictionaryRef proxies = SCDynamicStoreCopyProxies(NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    char *proxy_url = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (proxies) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        CFNumberRef cfn_httpProxyOn =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            (CFNumberRef)CFDictionaryGetValue(proxies,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                              kSCPropNetProxiesHTTPEnable);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (cfn_httpProxyOn) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            int i_httpProxyOn;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            CFNumberGetValue(cfn_httpProxyOn, kCFNumberIntType, &i_httpProxyOn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            CFRelease(cfn_httpProxyOn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if (i_httpProxyOn == 1) // http proxy is on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                CFStringRef httpProxy =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    (CFStringRef)CFDictionaryGetValue(proxies,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                      kSCPropNetProxiesHTTPProxy);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if (httpProxy) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    CFNumberRef cfn_httpProxyPort =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        (CFNumberRef)CFDictionaryGetValue(proxies,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                        kSCPropNetProxiesHTTPPort);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    int i_httpProxyPort;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    CFNumberGetValue(cfn_httpProxyPort,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                     kCFNumberIntType,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                     &i_httpProxyPort);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    CFRelease(cfn_httpProxyPort);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    CFMutableStringRef outputURL =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        CFStringCreateMutableCopy(kCFAllocatorDefault,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                  0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                  httpProxy);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if (i_httpProxyPort > 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        CFStringAppendFormat(outputURL,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                             NULL,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                             CFSTR(":%i"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                             i_httpProxyPort);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    char buffer[4096];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if (CFStringGetCString(outputURL, buffer, sizeof(buffer),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        kCFStringEncodingUTF8))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        proxy_url = strdup(buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    CFRelease(outputURL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                CFRelease(httpProxy);
</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;'>++        CFRelease(proxies);
</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 proxy_url;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span></pre><pre style='margin:0'>

</pre>