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