<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[151703] users/devans/dports/gnome</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/151703">151703</a></dd>
<dt>Author</dt> <dd>devans@macports.org</dd>
<dt>Date</dt> <dd>2016-08-20 03:43:38 -0700 (Sat, 20 Aug 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>devans/dports: gtk3, replace with latest stable version.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#usersdevansdportsgnomegtk3Portfile">users/devans/dports/gnome/gtk3/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>users/devans/dports/gnome/gtk3/</li>
<li>users/devans/dports/gnome/gtk3/files/</li>
<li><a href="#usersdevansdportsgnomegtk3files0001iconhelpercheckifsurfacewasinvalidatedpatch">users/devans/dports/gnome/gtk3/files/0001-iconhelper-check-if-surface-was-invalidated.patch</a></li>
<li><a href="#usersdevansdportsgnomegtk3filesnawkpatch">users/devans/dports/gnome/gtk3/files/nawk.patch</a></li>
<li><a href="#usersdevansdportsgnomegtk3filespatchgdk_quartz_gdkcursorquartz10_6_compatdiff">users/devans/dports/gnome/gtk3/files/patch-gdk_quartz_gdkcursor-quartz-10_6_compat.diff</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="usersdevansdportsgnomegtk3Portfile"></a>
<div class="modfile"><h4>Modified: users/devans/dports/gnome/gtk3/Portfile (136501 => 151703)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/gnome/gtk3/Portfile        2015-05-19 16:35:28 UTC (rev 136501)
+++ users/devans/dports/gnome/gtk3/Portfile        2016-08-20 10:43:38 UTC (rev 151703)
</span><span class="lines">@@ -6,27 +6,24 @@
</span><span class="cx"> PortGroup           muniversal 1.0
</span><span class="cx"> PortGroup           xcodeversion 1.0
</span><span class="cx"> PortGroup           active_variants 1.1
</span><ins>+PortGroup           compiler_blacklist_versions 1.0
</ins><span class="cx"> 
</span><span class="cx"> name                gtk3
</span><span class="cx"> set real_name       gtk+
</span><span class="cx"> epoch               1
</span><del>-version             3.16.3
</del><ins>+version             3.20.9
</ins><span class="cx"> set branch          [join [lrange [split ${version} .] 0 1] .]
</span><span class="cx"> categories          gnome x11
</span><span class="cx"> license             LGPL-2.1+
</span><del>-maintainers         cal devans openmaintainer
</del><ins>+maintainers         devans openmaintainer
</ins><span class="cx"> platforms           darwin
</span><span class="cx"> 
</span><del>-checksums           rmd160  025e83565beca62713eb2f529eb35e3f0bfd540c \
-                    sha256  2943fd4a6b02c2a9b2edd231c1d8f7a1d2f8d36996f14310d34f503dca9ebea4
-
</del><span class="cx"> description         GTK+ widget toolkit
</span><span class="cx"> 
</span><del>-long_description    \
-    GTK+ is a highly usable, feature-rich toolkit for creating graphical user \
-    interfaces, which boasts cross-platform compatibility and an easy-to-use \
-    API. GTK+ is written in C, but has bindings to many other popular \
-    programming languages, such as C++, Python and C#, among others.
</del><ins>+long_description    GTK+ is a highly usable, feature-rich toolkit for creating graphical user \
+                    interfaces, which boasts cross-platform compatibility and an easy-to-use \
+                    API. GTK+ is written in C, but has bindings to many other popular \
+                    programming languages, such as C++, Python and C#, among others.
</ins><span class="cx"> 
</span><span class="cx"> homepage            http://www.gtk.org/
</span><span class="cx"> distname            ${real_name}-${version}
</span><span class="lines">@@ -34,13 +31,13 @@
</span><span class="cx"> 
</span><span class="cx"> master_sites        gnome:sources/gtk+/${branch}/
</span><span class="cx"> 
</span><ins>+checksums           rmd160  18b94aee023518068f7837895b711b63fdf1eb13 \
+                    sha256  83a609ba2f3424b5509e73967c49c67833af466d6f91081b24ee5c64fce6ac17
+
</ins><span class="cx"> minimum_xcodeversions {9 3.1}
</span><ins>+
</ins><span class="cx"> depends_build       port:pkgconfig
</span><span class="cx"> 
</span><del>-# cloudprint backend requires rest, json-glib
-# but this causes a circular dependency on libsoup
-# explicitly disable cloudprint for now
-
</del><span class="cx"> depends_lib         port:atk \
</span><span class="cx">                     path:lib/pkgconfig/pango.pc:pango \
</span><span class="cx">                     port:gdk-pixbuf2 \
</span><span class="lines">@@ -51,24 +48,24 @@
</span><span class="cx"> depends_run         port:shared-mime-info \
</span><span class="cx">                     port:hicolor-icon-theme
</span><span class="cx"> 
</span><del>-archcheck.files \
-    lib/libatk-1.0.dylib \
-    lib/libintl.dylib \
-    lib/libjasper.dylib \
-    lib/libpango-1.0.dylib \
-    lib/libtiff.dylib
</del><ins>+archcheck.files     lib/libatk-1.0.dylib \
+                    lib/libintl.dylib \
+                    lib/libjasper.dylib \
+                    lib/libpango-1.0.dylib \
+                    lib/libtiff.dylib
</ins><span class="cx"> 
</span><del>-configure.args      --enable-static \
-                    --disable-glibtest \
-                    --disable-libcanberra \
-                    --enable-introspection \
-                    --disable-cloudprint \
-                    --disable-mir-backend \
-                    --disable-wayland-backend \
-                    --disable-schemas-compile \
-                    gio_can_sniff=yes
</del><ins>+patchfiles          nawk.patch \
+                    0001-iconhelper-check-if-surface-was-invalidated.patch
</ins><span class="cx"> 
</span><ins>+# gtk3 +quartz uses instancetype which is not available
+# before approximately Xcode 4.6 (#49391)
+
+if {[variant_isset quartz]} {
+    compiler.blacklist  *gcc* {clang &lt; 425}
+}
+
</ins><span class="cx"> # gobject-introspection uses g-ir-scanner, which uses $CC from env
</span><ins>+
</ins><span class="cx"> if {[variant_isset universal]} {
</span><span class="cx">     foreach arch ${configure.universal_archs} {
</span><span class="cx">         lappend merger_build_args(${arch})  CC='${configure.cc} -arch ${arch}'
</span><span class="lines">@@ -83,19 +80,36 @@
</span><span class="cx">                             CC_FOR_BUILD=&quot;${configure.cc} ${configure.cc_archflags}&quot;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-build.args-append   V=1 \
-                    CPP_FOR_BUILD=&quot;${configure.cpp}&quot;
-
-configure.ccache    no
-configure.cppflags-append   -DX_LOCALE
-configure.cflags-append     -fstrict-aliasing
-
</del><span class="cx"> pre-configure {
</span><span class="cx">     if {![variant_isset quartz] &amp;&amp; ![variant_isset x11]} {
</span><span class="cx">         error &quot;Either +x11 or +quartz is required&quot;
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+configure.ccache    no
+
+configure.cppflags-append \
+                    -DX_LOCALE
+
+configure.cflags-append \
+                    -fstrict-aliasing
+
+# cloudprint backend requires rest, json-glib
+# but this causes a circular dependency on libsoup
+# explicitly disable cloudprint for now
+
+configure.args      --enable-static \
+                    --disable-glibtest \
+                    --enable-introspection \
+                    --disable-cloudprint \
+                    --disable-mir-backend \
+                    --disable-wayland-backend \
+                    --disable-schemas-compile \
+                    gio_can_sniff=yes
+
+build.args-append   V=1 \
+                    CPP_FOR_BUILD=&quot;${configure.cpp}&quot;
+
</ins><span class="cx"> test.run            yes
</span><span class="cx"> test.target         check
</span><span class="cx"> 
</span><span class="lines">@@ -117,33 +131,27 @@
</span><span class="cx">     reinplace &quot;s|${destroot}||&quot; ${destroot}${prefix}/etc/gtk-3.0/gtk.immodules
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-post-activate {
-    ui_debug &quot;Updating gdk-pixbuf.loaders...&quot;
-    system &quot;${prefix}/bin/gdk-pixbuf-query-loaders \
-        &gt;${prefix}/etc/gtk-3.0/gdk-pixbuf.loaders&quot;
-    ui_debug &quot;Updating GLib schemas...&quot;
-    system &quot;${prefix}/bin/glib-compile-schemas \
-        ${prefix}/share/glib-2.0/schemas&quot;
-}
</del><ins>+platform darwin {
+    if {${os.major} &lt;= 8} {
+        # The rules enabled by gobject-introspection require GNU make 3.81+
+        depends_build-append    port:gmake
+        build.cmd               ${prefix}/bin/gmake
</ins><span class="cx"> 
</span><del>-platform darwin 8 {
-    # The rules enabled by gobject-introspection require GNU make 3.81+
-    depends_build-append    port:gmake
-    build.cmd               ${prefix}/bin/gmake
</del><ins>+        if {[variant_isset quartz] || ![variant_isset x11]} {
+            configure.ldflags-append  -framework Cocoa -framework Carbon
+        }
+    
+        configure.args-append --disable-cups
+    }
</ins><span class="cx"> 
</span><del>-    if {[variant_isset quartz] || ![variant_isset x11]} {
-        configure.ldflags-append  -framework Cocoa -framework Carbon
</del><ins>+    if {${os.major} &lt;= 10} {
+        # OS X 10.6 and earlier do not supply all cursors specified by gtk3 +quartz (#49391)
+        if {[variant_isset quartz]} {
+            patchfiles-append   patch-gdk_quartz_gdkcursor-quartz-10_6_compat.diff
+        }
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-if {${os.major} &lt;= 8} {
-    configure.args-append --disable-cups
-}
-
-if {![variant_isset quartz]} {
-    default_variants +x11
-}
-
</del><span class="cx"> if {[variant_isset universal]} {
</span><span class="cx">     set cups /usr/bin/cups-config
</span><span class="cx">     if {[info exists universal_sysroot]} {
</span><span class="lines">@@ -222,6 +230,7 @@
</span><span class="cx"> variant quartz conflicts x11 {
</span><span class="cx">     require_active_variants path:lib/pkgconfig/cairo.pc:cairo quartz
</span><span class="cx">     require_active_variants path:lib/pkgconfig/pango.pc:pango quartz
</span><ins>+    require_active_variants port:gdk-pixbuf2 &quot;&quot; x11
</ins><span class="cx"> 
</span><span class="cx">     configure.args-append   --enable-quartz-backend
</span><span class="cx"> }
</span><span class="lines">@@ -229,21 +238,34 @@
</span><span class="cx"> variant x11 conflicts quartz {
</span><span class="cx">     require_active_variants path:lib/pkgconfig/cairo.pc:cairo x11
</span><span class="cx">     require_active_variants path:lib/pkgconfig/pango.pc:pango x11
</span><ins>+    require_active_variants port:gdk-pixbuf2 x11
</ins><span class="cx"> 
</span><del>-    depends_lib-append \
-        port:xorg-libXi \
-        port:xorg-libXrandr \
-        port:xorg-libXcursor \
-        port:xorg-libXinerama \
-        port:xorg-libXdamage \
-        port:xorg-libXcomposite \
-        port:xorg-libXfixes \
-        port:at-spi2-atk
</del><ins>+    depends_lib-append      port:xorg-libXi \
+                            port:xorg-libXrandr \
+                            port:xorg-libXcursor \
+                            port:xorg-libXinerama \
+                            port:xorg-libXdamage \
+                            port:xorg-libXcomposite \
+                            port:xorg-libXfixes \
+                            port:at-spi2-atk \
+                            port:mesa
</ins><span class="cx"> 
</span><del>-    configure.args-append      --enable-xinerama \
-                               --x-include=${prefix}/include --x-lib=${prefix}/lib \
-                               --enable-x11-backend
</del><ins>+    configure.args-append   --enable-xinerama \
+                            --x-include=${prefix}/include \
+                            --x-lib=${prefix}/lib \
+                            --enable-x11-backend
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+if {![variant_isset quartz]} {
+    default_variants +x11
+}
+
+post-activate {
+    ui_debug &quot;Updating gdk-pixbuf.loaders...&quot;
+    system &quot;${prefix}/bin/gdk-pixbuf-query-loaders &gt;${prefix}/etc/gtk-3.0/gdk-pixbuf.loaders&quot;
+    ui_debug &quot;Updating GLib schemas...&quot;
+    system &quot;${prefix}/bin/glib-compile-schemas ${prefix}/share/glib-2.0/schemas&quot;
+}
+
</ins><span class="cx"> livecheck.type      gnome
</span><span class="cx"> livecheck.name      gtk+
</span></span></pre></div>
<a id="usersdevansdportsgnomegtk3files0001iconhelpercheckifsurfacewasinvalidatedpatch"></a>
<div class="addfile"><h4>Added: users/devans/dports/gnome/gtk3/files/0001-iconhelper-check-if-surface-was-invalidated.patch (0 => 151703)</h4>
<pre class="diff"><span>
<span class="info">--- users/devans/dports/gnome/gtk3/files/0001-iconhelper-check-if-surface-was-invalidated.patch                                (rev 0)
+++ users/devans/dports/gnome/gtk3/files/0001-iconhelper-check-if-surface-was-invalidated.patch        2016-08-20 10:43:38 UTC (rev 151703)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+From a4037730e68cfc37288badc64f4ddaf6c1fa51e8 Mon Sep 17 00:00:00 2001
+From: Christian Hergert &lt;chergert@redhat.com&gt;
+Date: Wed, 27 Apr 2016 16:51:25 -0700
+Subject: [PATCH] iconhelper: check if surface was invalidated
+
+Fetching the style may cause the surface to be invalidated.
+
+We don't want to fetch the style unless we already have a surface,
+so just do a second surface check after fetching the style.
+---
+ gtk/gtkiconhelper.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c
+index b8737e7..a80418d 100644
+--- gtk/gtkiconhelper.c
++++ gtk/gtkiconhelper.c
+@@ -896,10 +896,16 @@ _gtk_icon_helper_draw (GtkIconHelper *self,

+   if (self-&gt;priv-&gt;rendered_surface != NULL)
+     {
+-      gtk_css_style_render_icon_surface (gtk_css_node_get_style (gtk_css_gadget_get_node (GTK_CSS_GADGET (self))),
+-                                         cr,
+-                                         self-&gt;priv-&gt;rendered_surface,
+-                                         x, y);
++      GtkCssStyle *style;
++
++      style = gtk_css_node_get_style (gtk_css_gadget_get_node (GTK_CSS_GADGET (self)));
++
++      /* Fetching the style might cause rendered_surface to be invalidated */
++      if (self-&gt;priv-&gt;rendered_surface != NULL)
++        gtk_css_style_render_icon_surface (style,
++                                           cr,
++                                           self-&gt;priv-&gt;rendered_surface,
++                                           x, y);
+     }
+ }

+-- 
+2.3.2 (Apple Git-55)
+
</ins></span></pre></div>
<a id="usersdevansdportsgnomegtk3filesnawkpatch"></a>
<div class="addfile"><h4>Added: users/devans/dports/gnome/gtk3/files/nawk.patch (0 => 151703)</h4>
<pre class="diff"><span>
<span class="info">--- users/devans/dports/gnome/gtk3/files/nawk.patch                                (rev 0)
+++ users/devans/dports/gnome/gtk3/files/nawk.patch        2016-08-20 10:43:38 UTC (rev 151703)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+--- configure.orig        2015-11-16 12:32:00.000000000 -0600
++++ configure        2015-11-18 00:20:49.000000000 -0600
+@@ -3432,7 +3432,7 @@
+ { $as_echo &quot;$as_me:${as_lineno-$LINENO}: result: $MKDIR_P&quot; &gt;&amp;5
+ $as_echo &quot;$MKDIR_P&quot; &gt;&amp;6; }

+-for ac_prog in gawk mawk nawk awk
++for ac_prog in gawk mawk awk
+ do
+   # Extract the first word of &quot;$ac_prog&quot;, so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
</ins></span></pre></div>
<a id="usersdevansdportsgnomegtk3filespatchgdk_quartz_gdkcursorquartz10_6_compatdiff"></a>
<div class="addfile"><h4>Added: users/devans/dports/gnome/gtk3/files/patch-gdk_quartz_gdkcursor-quartz-10_6_compat.diff (0 => 151703)</h4>
<pre class="diff"><span>
<span class="info">--- users/devans/dports/gnome/gtk3/files/patch-gdk_quartz_gdkcursor-quartz-10_6_compat.diff                                (rev 0)
+++ users/devans/dports/gnome/gtk3/files/patch-gdk_quartz_gdkcursor-quartz-10_6_compat.diff        2016-08-20 10:43:38 UTC (rev 151703)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+--- gdk/quartz/gdkcursor-quartz.c.old        2015-11-23 21:43:17.000000000 +0100
++++ gdk/quartz/gdkcursor-quartz.c        2015-11-23 21:43:52.000000000 +0100
+@@ -402,6 +402,12 @@
+         selector = NSSelectorFromString(test-&gt;selector);
+         break;
+       }
++
++  if (! [[gdkCoreCursor class] respondsToSelector:selector])
++  {
++            selector = @selector(arrowCursor);
++  }
++
+   nscursor = [[gdkCoreCursor class] performSelector:selector];

+   [nscursor retain];
</ins></span></pre>
</div>
</div>

</body>
</html>