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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/acd6f2b3aaa888b31e183ab6ea178a7c53977de9">https://github.com/macports/macports-ports/commit/acd6f2b3aaa888b31e183ab6ea178a7c53977de9</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 acd6f2b  glib2: Fix crash and build failure with +quartz
</span>acd6f2b is described below

<span style='display:block; white-space:pre;color:#808000;'>commit acd6f2b3aaa888b31e183ab6ea178a7c53977de9
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Thu Nov 30 00:12:58 2017 -0600

<span style='display:block; white-space:pre;color:#404040;'>    glib2: Fix crash and build failure with +quartz
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/55433
</span>---
 devel/glib2/Portfile            |   3 ++
 devel/glib2/files/gosxapp.patch | 101 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 104 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2/Portfile b/devel/glib2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 201f7f4..bfbeac9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/glib2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,6 +9,7 @@ name                        glib2
</span> conflicts                   glib2-devel
 set my_name                 glib
 version                     2.54.2
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                    1
</span> set branch                  [join [lrange [split ${version} .] 0 1] .]
 categories                  devel
 maintainers                 {ryandesign @ryandesign} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,6 +49,8 @@ patchfiles                  patch-configure.diff \
</span>                             patch-gmodule-gmodule-dl.c.diff \
                             patch-configure-switch-for-gappinfo-impl-mp.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append           gosxapp.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_build               bin:xmllint:libxml2
 
 depends_lib                 port:gettext \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/glib2/files/gosxapp.patch b/devel/glib2/files/gosxapp.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..15da679
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/glib2/files/gosxapp.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,101 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix runtime crash (and build failure in C89 mode) when +quartz variant is used.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://bugzilla.gnome.org/show_bug.cgi?id=789784
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/GNOME/glib/commit/d74a69826ffc5591a7eeea61ca25f66f48fcf939
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gio/gosxappinfo.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gio/gosxappinfo.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -175,44 +175,14 @@ static gchar *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create_cstr_from_cfstring (CFStringRef str)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const gchar *cstr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  CFIndex length = CFStringGetLength (str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  char *buffer = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (str == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cstr = CFStringGetCStringPtr (str, kCFStringEncodingUTF8);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* CFStringGetCStringPtr returns "NULL if the internal storage of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * theString does not allow [a pointer] to be returned efficiently".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * (Apple's docs don't say what that means). In that case we must
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * use CFStringGetCString as a fallback.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (cstr != NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CFRelease (str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        return g_strdup (cstr);
</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;'>+-  buffer = g_malloc0 (length + 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* Start off with a buffer size sufficient for the most likely case
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * that the CFString is ASCII so the UTF8 representation will be 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * byte per code point. Keep trying up to 4 bytes per code point,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * the max allowed by RFC3629.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 1; i <= 4; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (CFStringGetCString (str, buffer, length, kCFStringEncodingUTF8))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CFRelease (str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        return buffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      length += length;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      buffer = g_realloc (buffer, length + 1);
</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;'>+-  g_free (buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CFRelease (str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return g_strdup (cstr);
</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;'>+ static char *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gio/gosxcontenttype.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gio/gosxcontenttype.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -53,44 +53,14 @@ static gchar *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create_cstr_from_cfstring (CFStringRef str)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const gchar *cstr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  CFIndex length = CFStringGetLength (str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  char *buffer = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (str == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cstr = CFStringGetCStringPtr (str, kCFStringEncodingUTF8);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* CFStringGetCStringPtr returns "NULL if the internal storage of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * theString does not allow [a pointer] to be returned efficiently".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * (Apple's docs don't say what that means). In that case we must
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * use CFStringGetCString as a fallback.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (cstr != NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CFRelease (str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        return g_strdup (cstr);
</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;'>+-  buffer = g_malloc0 (length + 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* Start off with a buffer size sufficient for the most likely case
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * that the CFString is ASCII so the UTF8 representation will be 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * byte per code point. Keep trying up to 4 bytes per code point,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * the max allowed by RFC3629.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 1; i <= 4; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (CFStringGetCString (str, buffer, length, kCFStringEncodingUTF8))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          CFRelease (str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          return buffer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      length += length;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      buffer = g_realloc (buffer, length + 1);
</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;'>+-  g_free (buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CFRelease (str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return g_strdup (cstr);
</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;'>+ /*< internal >
</span></pre><pre style='margin:0'>

</pre>