<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/37ef388d8c43b3f734469661cf2d405c68f415d3">https://github.com/macports/macports-ports/commit/37ef388d8c43b3f734469661cf2d405c68f415d3</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 37ef388d8c43b3f734469661cf2d405c68f415d3
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Fri Oct 15 09:46:05 2021 -0400
<span style='display:block; white-space:pre;color:#404040;'> gtk3-devel: new port for testing
</span>---
gnome/gtk3-devel/Portfile | 294 +++++++++++++++++++++
.../files/patch-gdk_quartz-10.11_compat.diff | 22 ++
...ch-gdk_quartz_gdkcursor-quartz-10_6_compat.diff | 15 ++
3 files changed, 331 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk3-devel/Portfile b/gnome/gtk3-devel/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..99dfa4c7cc8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk3-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,294 @@
</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 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;'>+PortGroup active_variants 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name gtk3-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts gtk3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set my_name gtk3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 3.24.23
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set proj_name gtk+
</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.1+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {devans @dbevans} {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;'>+
</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 user \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ interfaces, which boasts cross-platform compatibility and an easy-to-use \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ API. GTK+ is written in C, but has bindings to many other popular \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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 http://www.gtk.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname ${proj_name}-${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;'>+master_sites gnome:sources/${proj_name}/${branch}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 d00da1f7f1fb620c7fac28d95858bb734db78bed \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 5d864d248357a2251545b3387b35942de5f66e4c66013f0962eb5cb6f8dae2b1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 21345936
</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;'>+depends_build port:gtk-doc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:bin/pkg-config:pkgconfig
</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;'>+ path:lib/pkgconfig/glib-2.0.pc:glib2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:gobject-introspection \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libepoxy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# mesa required to configure both +x11, +quartz (not just +x11) due to their dependency on libepoxy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append port:mesa
</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;'>+# darwin 10 and earlier requires legacy support for O_CLOEXEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.newest_darwin_requires_legacy 10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# use autoreconf to deal with dependency tracking issues in configure
</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;'>+# OS X 10.11 and earlier does not have NSEventTypeTabletProximity and the version check macro is broken
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# see https://gitlab.gnome.org/GNOME/gtk/-/issues/3592
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles patch-gdk_quartz-10.11_compat.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# gtk3 +quartz uses instancetype which is not available
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# before approximately Xcode 4.6 (#49391)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# if building +x11 blacklist comilers that do not support C11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (redefinition of typedef ‘GdkX11Monitor’ at gdkscreen-x11.h:33)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset quartz]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler.blacklist *gcc-3.* *gcc-4.* {clang < 425}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler.blacklist *gcc-3.* *gcc-4.* {clang < 300}
</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 {![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;'>+
</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;'>+
</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_build_args(${arch}) CC_FOR_BUILD='${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;'>+ lappend merger_destroot_args(${arch}) CC_FOR_BUILD='${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;'>+ CC_FOR_BUILD="${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;'>+ CC_FOR_BUILD="${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;'>+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;'>+configure.ccache no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cppflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DX_LOCALE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -fstrict-aliasing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# cloudprint backend requires rest, json-glib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# but this causes a circular dependency on libsoup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# explicitly disable cloudprint for now
</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;'>+ --disable-cloudprint \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-wayland-backend \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-schemas-compile \
</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;'>+build.args-append V=1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CPP_FOR_BUILD="${configure.cpp}"
</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;'>+ # avoid conflict with the gtk-update-icon-cache installed by gtk2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move ${destroot}${prefix}/bin/gtk-update-icon-cache \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/bin/gtk-update-icon-cache-3.0
</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-3.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/lib/gtk-3.0/3.0.0/immodules/*.so \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ >${destroot}${prefix}/etc/gtk-3.0/gtk.immodules"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|${destroot}||" ${destroot}${prefix}/etc/gtk-3.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;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} <= 8} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The rules enabled by gobject-introspection require GNU make 3.81+
</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;'>+ 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;'>+ # https://trac.macports.org/ticket/63151
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} <= 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # OS X 10.6 and earlier do not supply all cursors specified by gtk3 +quartz (#49391)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset quartz]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-gdk_quartz_gdkcursor-quartz-10_6_compat.diff
</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 {${os.major} <= 12} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # requires cups 1.7
</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;'>+}
</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;'>+ set cpu64bit_capable [sysctl hw.cpu64bit_capable]
</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 "${name} 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;'>+ merger_arch_compiler yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.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;'>+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 --enable-quartz-backend
</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;'>+ require_active_variants port:gdk-pixbuf2 x11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append 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;'>+ port:at-spi2-atk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --enable-xinerama \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --x-include=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --x-lib=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-x11-backend
</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]} {
</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;'>+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 >${prefix}/etc/gtk-3.0/gdk-pixbuf.loaders"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_debug "Updating GLib schemas..."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "${prefix}/bin/glib-compile-schemas ${prefix}/share/glib-2.0/schemas"
</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 gnome
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.name gtk+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# versions 3.89.1+ are snapshots of unstable development leading to GTK+ 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# and are not compatible with gtk3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex "LATEST-IS-(\\d+\\.\[0-7\]\[02468\](?:\\.\\d+)*)"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk3-devel/files/patch-gdk_quartz-10.11_compat.diff b/gnome/gtk3-devel/files/patch-gdk_quartz-10.11_compat.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e36ff1283ff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk3-devel/files/patch-gdk_quartz-10.11_compat.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/quartz/gdkinternal-quartz.h.orig 2021-04-05 15:46:38.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkinternal-quartz.h 2021-04-05 15:46:49.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -75,7 +75,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GDK_QUARTZ_EVENT_SUBTYPE_EVENTLOOP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } GdkQuartzEventSubType;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 10130
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define GDK_QUARTZ_EVENT_TABLET_PROXIMITY NSEventTypeTabletProximity
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define GDK_QUARTZ_EVENT_SUBTYPE_TABLET_PROXIMITY NSEventSubtypeTabletProximity
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define GDK_QUARTZ_EVENT_SUBTYPE_TABLET_POINT NSEventSubtypeTabletPoint
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./modules/input/imquartz.c.orig 2021-04-05 16:09:16.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./modules/input/imquartz.c 2021-04-05 16:09:25.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,7 +37,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define GTK_IM_CONTEXT_QUARTZ(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_IM_CONTEXT_TYPE_QUARTZ, GtkIMContextQuartz))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define GTK_IM_CONTEXT_QUARTZ_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_IM_CONTEXT_TYPE_QUARTZ, GtkIMContextQuartzClass))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if MAC_OS_X_VERSION_MIN_REQUIRED < 10120
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MIN_REQUIRED < 101200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define NS_EVENT_KEY_DOWN NSKeyDown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define NS_EVENT_KEY_DOWN NSEventTypeKeyDown
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk3-devel/files/patch-gdk_quartz_gdkcursor-quartz-10_6_compat.diff b/gnome/gtk3-devel/files/patch-gdk_quartz_gdkcursor-quartz-10_6_compat.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9dff28945bd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk3-devel/files/patch-gdk_quartz_gdkcursor-quartz-10_6_compat.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkcursor-quartz.c.orig 2020-06-10 19:45:39.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkcursor-quartz.c 2020-09-06 13:55:39.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -404,6 +404,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ selector = NSSelectorFromString(test->selector);
</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;'>++ if (! [[gdkCoreCursor class] respondsToSelector:selector])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ selector = @selector(arrowCursor);
</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;'>+ nscursor = [[gdkCoreCursor class] performSelector:selector];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [nscursor retain];
</span></pre><pre style='margin:0'>
</pre>