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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/f5ed7fe7789d8604a9a51b7013a380aa1adf0ccf">https://github.com/macports/macports-ports/commit/f5ed7fe7789d8604a9a51b7013a380aa1adf0ccf</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 f5ed7fe7789 gtk2-devel: new port for testing
</span>f5ed7fe7789 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit f5ed7fe7789d8604a9a51b7013a380aa1adf0ccf
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Sun Oct 10 11:50:21 2021 -0400

<span style='display:block; white-space:pre;color:#404040;'>    gtk2-devel: new port for testing
</span>---
 gnome/gtk2-devel/Portfile                          | 259 +++++++++++++++++++++
 .../gimp_issue_5989_bigsur_performance_gtk.patch   |  82 +++++++
 .../gimp_issue_5989_bigsur_performance_gtk_2.patch | 114 +++++++++
 gnome/gtk2-devel/files/patch-aliases.diff          |  22 ++
 .../files/patch-gtk-builder-convert.diff           |  27 +++
 .../files/patch-gtkclipboard-quartz.diff           |  10 +
 6 files changed, 514 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk2-devel/Portfile b/gnome/gtk2-devel/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8f49e1875ff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk2-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,259 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           active_variants 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           muniversal 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           xcodeversion 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                gtk2-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           gtk2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set my_name         gtk2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             2.24.33
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set branch          [join [lrange [split ${version} .] 0 1] .]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          gnome x11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             LGPL-2+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {mascguy @mascguy} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         GTK+ widget toolkit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    GTK+ is a highly usable, feature rich toolkit for creating graphical \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    user interfaces which boasts cross platform compatibility and an easy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    to use API. GTK+ it is written in C, but has bindings to many other \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    popular programming languages such as C++, Python and C# among others.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.gtk.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            gtk+-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir         ${my_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_xz              yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        gnome:sources/gtk+/${branch}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+minimum_xcodeversions {9 3.1}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  85333860bdeda25f28c45177fe08d5f0914d4e52 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  ac2ac757f5942d318a311a54b0c80b5ef295f299c2a73c632f6bfb1ff49cc6da \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    12661828
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build       port:gtk-doc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:perl5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:atk \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/pkgconfig/pango.pc:pango \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gdk-pixbuf2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gobject-introspection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# gtk2 applications would need librsvg to display SVG icons, however librsvg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# indirectly depends on gtk2, so we can not list it as a dependency here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#                    port:librsvg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run         port:shared-mime-info \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:hicolor-icon-theme
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-aliases.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-gtk-builder-convert.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# autoreconf to deal with stupid issues during install (install: .libs/libferret.lai: No such file or directory)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_autoreconf      yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+autoreconf.args     -fvi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args      --enable-static \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-glibtest \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --enable-introspection \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    gio_can_sniff=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.ccache    no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cppflags-append   -DX_LOCALE -D_IPP_PRIVATE_STRUCTURES=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cflags-append     -fstrict-aliasing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# gobject-introspection uses g-ir-scanner, which uses $CC from env
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach arch ${configure.universal_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        lappend merger_build_args(${arch})  CC='${configure.cc} -arch ${arch}'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        lappend merger_destroot_args(${arch})  CC='${configure.cc} -arch ${arch}'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append       CC="${configure.cc} ${configure.cc_archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.args-append    CC="${configure.cc} ${configure.cc_archflags}"
</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;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # gtk2's Makefiles don't have proper dependencies,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # so we must delete these to get them remade
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file delete ${worksrcpath}/gdk/gdkalias.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file delete ${worksrcpath}/gdk/gdkaliasdef.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file delete ${worksrcpath}/gtk/gtkalias.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file delete ${worksrcpath}/gtk/gtkaliasdef.c
</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;'>+pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_isset quartz] && ![variant_isset x11]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        error "Either +x11 or +quartz is required"
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_parallel_build  yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run            yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.target         check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set docdir ${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 644 -W ${worksrcpath} AUTHORS COPYING HACKING NEWS README \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "Creating gtk.immodules..."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "DYLD_LIBRARY_PATH=${destroot}${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/bin/gtk-query-immodules-2.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/lib/gtk-2.0/2.10.0/immodules/*.so \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        >${destroot}${prefix}/etc/gtk-2.0/gtk.immodules"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|${destroot}||" ${destroot}${prefix}/etc/gtk-2.0/gtk.immodules
</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;'>+post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "Updating gdk-pixbuf.loaders..."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "${prefix}/bin/gdk-pixbuf-query-loaders \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        >${prefix}/etc/gtk-2.0/gdk-pixbuf.loaders"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "Updating immodules.cache..."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "${prefix}/bin/gtk-query-immodules-2.0 --update-cache"
</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;'>+platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset quartz] || ![variant_isset x11]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.ldflags-append  -framework Cocoa -framework Carbon
</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;'>+    # latest versions are incompatible with the CUPS in Tiger (#33262)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append --disable-cups
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://trac.macports.org/ticket/63149
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append --disable-dependency-tracking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # The rules enabled by gobject-introspection require GNU make 3.81+ (#38927)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append    port:gmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.cmd               ${prefix}/bin/gmake
</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 {![variant_isset quartz] && ![variant_isset bundle]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants +x11
</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 {${universal_possible} && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set cups /usr/bin/cups-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[info exists universal_sysroot]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cups ${universal_sysroot}${cups}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.env-append CUPS_CONFIG=${cups}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Find architectures which will not run on build platform.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} >= 9} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cpu64bit_capable [sysctl hw.cpu64bit_capable]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {(![catch {sysctl hw.optional.x86_64} is_x86_64] && $is_x86_64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            || (![catch {sysctl hw.optional.64bitops} is_ppc64] && $is_ppc64)} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cpu64bit_capable 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cpu64bit_capable 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cross_archs ppc64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.major} >= 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend cross_archs ppc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set host_archs "ppc ppc64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set run_archs i386
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${cpu64bit_capable}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set run_archs "x86_64 ${run_archs}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cross_archs "i386 x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set host_archs "i386 x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set run_archs ppc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${cpu64bit_capable}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set run_archs "ppc64 ${run_archs}"
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set run_arch ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach arch ${run_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${universal_archs_to_use} ${arch}] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set run_arch ${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                break
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${run_arch} eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "gtk2 requires at least one architecture runnable on this"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "machine to be able to build universally. Please add at least"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "one of the following architectures to `universal_archs` in"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "\"${prefix}/etc/macports/macports.conf\":"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "\t${run_archs}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error ""
</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;'>+        foreach arch ${host_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend merger_configure_env(${arch}) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                NM='/usr/bin/nm -p'
</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;'>+        foreach arch ${cross_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend merger_configure_env(${arch}) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                GTK_UPDATE_ICON_CACHE=${worksrcpath}-${run_arch}/gtk/gtk-update-icon-cache \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                GDK_PIXBUF_CSOURCE=${worksrcpath}-${run_arch}/gdk-pixbuf/gdk-pixbuf-csource
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lappend merger_build_env(${arch}) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                GDK_PIXBUF_MODULE_FILE=${worksrcpath}-${run_arch}/gdk-pixbuf/gdk-pixbuf.loaders
</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;'>+        # Let gtk_host in .pc files be the same on all architectures
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set host powerpc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set host i686
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace s/@host@/${host}-apple-darwin${os.version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            {*}[glob -directory ${worksrcpath} *.pc.in]
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant quartz conflicts x11 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    require_active_variants path:lib/pkgconfig/cairo.pc:cairo quartz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    require_active_variants path:lib/pkgconfig/pango.pc:pango quartz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-gdktarget=quartz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://gitlab.gnome.org/GNOME/gimp/-/issues/5989 and https://trac.macports.org/ticket/59481
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append       gimp_issue_5989_bigsur_performance_gtk.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            gimp_issue_5989_bigsur_performance_gtk_2.patch
</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;'>+variant x11 conflicts quartz {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    require_active_variants path:lib/pkgconfig/cairo.pc:cairo x11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    require_active_variants path:lib/pkgconfig/pango.pc:pango x11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:xorg-libXi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:xorg-libXrandr \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:xorg-libXcursor \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:xorg-libXinerama \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:xorg-libXdamage \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:xorg-libXcomposite \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:xorg-libXfixes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append      --with-xinput --enable-xinerama \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               --x-include=${prefix}/include --x-lib=${prefix}/lib
</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;'>+variant bundle requires quartz description {Support including into a bundle} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append --enable-quartz-relocation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    notes "You have enabled 'bundle' variant which breaks GTK2 when used outside of application bundle!"
</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;'>+livecheck.type  regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.url   https://download.gnome.org/sources/gtk+/${branch}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex {LATEST-IS-(\d+(?:\.\d+)*)}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk2-devel/files/gimp_issue_5989_bigsur_performance_gtk.patch b/gnome/gtk2-devel/files/gimp_issue_5989_bigsur_performance_gtk.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c10a9b04c2c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk2-devel/files/gimp_issue_5989_bigsur_performance_gtk.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,82 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/GdkQuartzView.c b/gdk/quartz/GdkQuartzView.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/GdkQuartzView.c     2021-01-11 20:51:03.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/GdkQuartzView.c     2021-01-11 20:42:40.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -599,6 +599,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     gdk_screen_get_rgba_colormap (_gdk_screen);
</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;'>++- (void) viewWillDraw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* MacOS 11 (Big Sur) has added a new, dynamic "accent" as default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * This uses a 10-bit colorspace so every GIMP drawing operation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * has the additional cost of an 8-bit (ARGB) to 10-bit conversion.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * Let's disable this mode to regain the lost performance.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(gdk_quartz_osx_version() >= GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CALayer* layer = self.layer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    layer.contentsFormat = kCAContentsFormatRGBA8Uint;
</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;'>++  [super viewWillDraw];
</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;'>+ -(void)drawRect: (NSRect)rect
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GdkRectangle gdk_rect;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/gdkdrawable-quartz.c b/gdk/quartz/gdkdrawable-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkdrawable-quartz.c        2021-01-11 20:51:03.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkdrawable-quartz.c        2021-01-11 20:42:40.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -898,7 +898,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (window_impl->in_paint_rect_count == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           _gdk_quartz_drawable_flush (drawable);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          [window_impl->view unlockFocus];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          /* As per gdk_window_impl_quartz_get_context(), the NSView
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           * focus-locking API set was deprecated in MacOS 10.14 and has
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           * a significant cost in MacOS 11 - every lock/unlock seems to 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           * trigger a drawRect: call for the entire window.  To return the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           * lost performance, do not use the locking API in MacOS 11+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          if(gdk_quartz_osx_version() < GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              [window_impl->view unlockFocus];
</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;'>+   else if (GDK_IS_PIXMAP_IMPL_QUARTZ (drawable))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/gdkquartz.h b/gdk/quartz/gdkquartz.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkquartz.h 2021-01-11 20:51:03.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkquartz.h 2021-01-11 20:42:40.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -54,7 +54,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GDK_OSX_SIERRA = 12,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GDK_OSX_HIGH_SIERRA = 13,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GDK_OSX_MOJAVE = 14,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  GDK_OSX_CURRENT = 14,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  GDK_OSX_CATALINA = 15,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  GDK_OSX_BIG_SUR = 16,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  GDK_OSX_CURRENT = 16,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GDK_OSX_NEW = 99
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } GdkOSXVersion;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkwindow-quartz.c  2021-01-11 20:51:03.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkwindow-quartz.c  2021-01-11 20:42:40.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -106,8 +106,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (window_impl->in_paint_rect_count == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (![window_impl->view lockFocusIfCanDraw])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      /* The NSView focus-locking API set was deprecated in MacOS 10.14 and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       * has a significant cost in MacOS 11 - every lock/unlock seems to 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       * trigger a drawRect: call for the entire window.  To return the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       * lost performance, do not use the locking API in MacOS 11+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if(gdk_quartz_osx_version() < GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          if (![window_impl->view lockFocusIfCanDraw])
</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;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (gdk_quartz_osx_version () < GDK_OSX_YOSEMITE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        cg_context = [[NSGraphicsContext currentContext] graphicsPort];
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk2-devel/files/gimp_issue_5989_bigsur_performance_gtk_2.patch b/gnome/gtk2-devel/files/gimp_issue_5989_bigsur_performance_gtk_2.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e755468d694
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk2-devel/files/gimp_issue_5989_bigsur_performance_gtk_2.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,114 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/gdkglobals-quartz.c b/gdk/quartz/gdkglobals-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkglobals-quartz.c 2021-01-24 15:47:27.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkglobals-quartz.c 2021-01-24 15:40:36.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,9 +34,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (minor == GDK_OSX_UNSUPPORTED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      OSErr err = Gestalt (gestaltSystemVersionMinor, (SInt32*)&minor);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      gint32 major = GDK_OSX_UNSUPPORTED;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      OSErr err = Gestalt (gestaltSystemVersionMajor, (SInt32*)&major);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      g_return_val_if_fail (err == noErr, GDK_OSX_UNSUPPORTED);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      err = Gestalt (gestaltSystemVersionMinor, (SInt32*)&minor);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       g_return_val_if_fail (err == noErr, GDK_OSX_UNSUPPORTED);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      /* we should really move to NSProcessInfo instead of Gestalt, but its
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       * OS-version API exists in 10.10 and above, so we break 10.9 compat.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       * So let's just fudge this for now, representing 11.x as 10.(15+x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if(major > 10) minor += 15;
</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 (minor < GDK_OSX_MIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkwindow-quartz.c  2021-01-24 15:47:27.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkwindow-quartz.c  2021-01-24 15:40:36.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -475,8 +475,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _gdk_windowing_before_process_all_updates (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   in_process_all_updates = TRUE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NSDisableScreenUpdates ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* This API was deprecated in MacOS 10.14 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (gdk_quartz_osx_version() < GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    NSDisableScreenUpdates ();
</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;'>+ void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -491,14 +493,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       NSWindow *nswindow = tmp_list->data;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      /* Revert to pre-2.24.33 behaviour.  The extra redraw introduced here really killed performance */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       [[nswindow contentView] displayIfNeeded];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       _gdk_quartz_drawable_flush (NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      /* 10.14 needs to be told that the view needs to be redrawn, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       * https://gitlab.gnome.org/GNOME/gtk/issues/1479 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (gdk_quartz_osx_version() >= GDK_OSX_MOJAVE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-           [[nswindow contentView] setNeedsDisplay:YES];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       [nswindow enableFlushWindow];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       [nswindow flushWindow];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       [nswindow release];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -510,7 +509,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   in_process_all_updates = FALSE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NSEnableScreenUpdates ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* This API was deprecated in MacOS 10.14 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (gdk_quartz_osx_version() < GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    NSEnableScreenUpdates ();
</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 void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gtk/gtkcontainer.c     2021-01-24 15:47:28.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gtk/gtkcontainer.c     2021-01-24 15:40:36.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,6 +42,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <gobject/gvaluecollector.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "gtkalias.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef GDK_WINDOWING_QUARTZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #include "gdk/quartz/gdkquartz.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;'>+ enum {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ADD,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1357,7 +1360,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       gtk_container_check_resize (GTK_CONTAINER (widget));
</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;'>+-  gdk_window_process_all_updates ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #ifdef GDK_WINDOWING_QUARTZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    /* It seems that we process_all_updates (and redraw) here *and* in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     * gdk_window_update_idle.  And that means full-window redraws in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     * MacOS 11.  Disabling this does not seem to have any detrimental
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     * effects in my tests, but does cut down on processor use, so...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(gdk_quartz_osx_version() < GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      gdk_window_process_all_updates ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #elif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    gdk_window_process_all_updates ();
</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;'>+   return FALSE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gtk/gtkquartz.c b/gtk/gtkquartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gtk/gtkquartz.c        2021-01-24 15:47:28.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gtk/gtkquartz.c        2021-01-24 15:40:36.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -67,7 +67,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   [nsimage lockFocus];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  context = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (gdk_quartz_osx_version () < GDK_OSX_YOSEMITE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       context = [[NSGraphicsContext currentContext] graphicsPort];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       context = [[NSGraphicsContext currentContext] CGContext];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CGContextDrawImage (context, CGRectMake (0, 0, pixbuf_width, pixbuf_height), image);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   [nsimage unlockFocus];
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk2-devel/files/patch-aliases.diff b/gnome/gtk2-devel/files/patch-aliases.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a5d454b05d0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk2-devel/files/patch-aliases.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/makegdkalias.pl.orig       2011-06-28 01:13:10.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/makegdkalias.pl    2011-06-28 01:13:49.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,7 @@ print <<EOF;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <glib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef G_HAVE_GNUC_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(G_HAVE_GNUC_VISIBILITY) && !defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gtk/makegtkalias.pl.orig       2011-06-28 09:18:59.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gtk/makegtkalias.pl    2011-06-28 09:19:08.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,7 @@ print <<EOF;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <glib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef G_HAVE_GNUC_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(G_HAVE_GNUC_VISIBILITY) && !defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk2-devel/files/patch-gtk-builder-convert.diff b/gnome/gtk2-devel/files/patch-gtk-builder-convert.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..57d5db1d651
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk2-devel/files/patch-gtk-builder-convert.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,27 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gtk/gtk-builder-convert.orig   2011-02-24 13:15:47.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gtk/gtk-builder-convert        2011-03-15 18:16:48.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -54,6 +54,24 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ except ImportError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     subprocess = None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Sorted
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    sorted = sorted
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++except NameError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    def sorted(iterable, cmp=None, key=None, reverse=False):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if key is None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            lst = list(iterable)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            lst = [(key(val), idx, val) for idx, val in enumerate(iterable)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        lst.sort()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if key is None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if reverse:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return lst[::-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return lst
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if reverse:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            lst = lst[::-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return [i[-1] for i in lst]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def get_child_nodes(node):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     assert node.tagName == 'object'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     nodes = []
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk2-devel/files/patch-gtkclipboard-quartz.diff b/gnome/gtk2-devel/files/patch-gtkclipboard-quartz.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8132872bcda
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk2-devel/files/patch-gtkclipboard-quartz.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gtk/gtkclipboard-quartz.c.orig 2020-09-13 16:49:12.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gtk/gtkclipboard-quartz.c      2020-09-13 16:52:05.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,6 +33,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "gtktextbuffer.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "gtkquartz.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "gtkalias.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "gdk/quartz/gdkquartz.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enum {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OWNER_CHANGE,
</span></pre><pre style='margin:0'>

</pre>