<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>