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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/4b95b716aa0a951a8f1412fb0caa98c614933cab">https://github.com/macports/macports-ports/commit/4b95b716aa0a951a8f1412fb0caa98c614933cab</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 4b95b71  libao: restore build for < 10.6
</span>4b95b71 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 4b95b716aa0a951a8f1412fb0caa98c614933cab
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Sun Oct 8 11:40:46 2017 -0700

<span style='display:block; white-space:pre;color:#404040;'>    libao: restore build for < 10.6
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    libao macosx plugin moved to newer apis
</span><span style='display:block; white-space:pre;color:#404040;'>    but older apis work fine for tiger and
</span><span style='display:block; white-space:pre;color:#404040;'>    leopard so restore them for these systems
</span>---
 audio/libao/Portfile                               |   5 +
 ...patch-src-plugins-macosx-ao-macosx-leopard.diff | 108 +++++++++++++++++++++
 2 files changed, 113 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/libao/Portfile b/audio/libao/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5e5f752..7a0290f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/audio/libao/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/libao/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,6 +25,11 @@ post-extract {
</span>     move [glob ${workpath}/libao-${version}-*] ${worksrcpath}
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# fix build on Leopard and earlier
</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   patch-src-plugins-macosx-ao-macosx-leopard.diff
</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|/etc/libao.conf|${prefix}/etc/libao.conf|" \
         ${worksrcpath}/doc/config.html \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/libao/files/patch-src-plugins-macosx-ao-macosx-leopard.diff b/audio/libao/files/patch-src-plugins-macosx-ao-macosx-leopard.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..c867689
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/libao/files/patch-src-plugins-macosx-ao-macosx-leopard.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,108 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/plugins/macosx/ao_macosx.c.orig    2017-10-08 11:11:26.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/plugins/macosx/ao_macosx.c 2017-10-08 11:12:01.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -258,10 +258,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OSStatus err;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   AudioDeviceID aid;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  AudioObjectPropertyAddress propertyAddress;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  propertyAddress.mSelector = kAudioHardwarePropertyDefaultInputDevice;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  propertyAddress.mScope = kAudioObjectPropertyScopeGlobal;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  propertyAddress.mElement = kAudioObjectPropertyElementMaster;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /* First see if it's a valid device UID */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -273,7 +269,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                               kCFAllocatorNull);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!namestr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       return kAudioObjectUnknown;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    err = AudioObjectGetPropertyData(kAudioObjectSystemObject, &propertyAddress, 0, NULL, &size, &avt);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    err = AudioHardwareGetProperty(kAudioHardwarePropertyDeviceForUID, &size, &avt);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CFRelease(namestr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!err && aid != kAudioObjectUnknown)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       return isAudioOutputDevice(aid) ? aid : kAudioObjectUnknown;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -289,7 +285,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!lcname)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       return kAudioObjectUnknown; /* no memory */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     lowercasestr(lcname);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    err = AudioObjectGetPropertyData(kAudioObjectSystemObject, &propertyAddress, 0, NULL, &size, devices);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    err = AudioHardwareGetPropertyInfo(kAudioHardwarePropertyDevices, &size, NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (err) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       free(lcname);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       return kAudioObjectUnknown;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -299,7 +295,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       free(lcname);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       return kAudioObjectUnknown; /* no memory */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    err = AudioObjectGetPropertyData(kAudioObjectSystemObject, &propertyAddress, 0, NULL, &size, devices);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    err = AudioHardwareGetProperty(kAudioHardwarePropertyDevices, &size, devices);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (err) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       free(lcname);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       free(devices);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -339,13 +335,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       /* Check the source name too */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       size = sizeof(srcnum);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      AudioObjectPropertyAddress address = { kAudioDevicePropertyVolumeScalar, kAudioDevicePropertyScopeInput, 0 };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      err = AudioObjectGetPropertyData(devices[i], &address, 0, NULL, &size, &srcnum);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      err = AudioDeviceGetProperty(devices[i], 0, FALSE, kAudioDevicePropertyDataSource,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                   &size, &srcnum);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (!err) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         CFStringRef srcstr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         AudioValueTranslation avt = {&srcnum, sizeof(srcnum), &srcstr, sizeof(srcstr)};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         size = sizeof(avt);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        err = AudioObjectGetPropertyData(devices[i], &address, 0, NULL, &size, &avt);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        err = AudioDeviceGetProperty(devices[i], 0, FALSE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                     kAudioDevicePropertyDataSourceNameForIDCFString,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                     &size, &avt);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!err && srcstr) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           srcname = cfstringdupe(srcstr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           CFRelease(srcstr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -410,8 +408,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ao_macosx_internal *internal = (ao_macosx_internal *) device->internal;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OSStatus result = noErr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  AudioComponent comp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  AudioComponentDescription desc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  Component comp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ComponentDescription desc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   AudioStreamBasicDescription requestedDesc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   AURenderCallbackStruct      input;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   UInt32 i_param_size, requestedEndian;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -423,14 +421,14 @@
</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;'>+-  comp = AudioComponentFindNext (NULL, &desc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  comp = FindNextComponent (NULL, &desc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (comp == NULL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     aerror("Failed to start CoreAudio: AudioComponentFindNext returned NULL");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return 0;
</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;'>+   /* Open & initialize the default output audio unit */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  result = AudioComponentInstanceNew (comp, &internal->outputAudioUnit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  result = OpenAComponent (comp, &internal->outputAudioUnit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (result) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     aerror("AudioComponentInstanceNew() error => %d\n",(int)result);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -445,7 +443,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                    sizeof(internal->outputDevice));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (result) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       aerror("AudioComponentSetDevice() error => %d\n",(int)result);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      AudioComponentInstanceDispose(internal->outputAudioUnit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      CloseComponent(internal->outputAudioUnit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       return 0;
</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;'>+@@ -725,9 +723,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return 0;
</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;'>+-      status = AudioComponentInstanceDispose(internal->outputAudioUnit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      status = CloseComponent(internal->outputAudioUnit);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (status) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        awarn("AudioComponentInstanceDispose returned %d\n", (int)status);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        awarn("CloseComponent returned %d\n", (int)status);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }else
</span></pre><pre style='margin:0'>

</pre>