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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/3433e340b9578fadf8a0ffb951131f9e7795d94a">https://github.com/macports/macports-ports/commit/3433e340b9578fadf8a0ffb951131f9e7795d94a</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 3433e340b95 gobject-introspection: patch to work with python 3.9 (now default). Should fix #62450
</span>3433e340b95 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 3433e340b9578fadf8a0ffb951131f9e7795d94a
</span>Author: Veence <vince@macports.org>
AuthorDate: Thu Mar 18 14:54:36 2021 +0100

<span style='display:block; white-space:pre;color:#404040;'>    gobject-introspection: patch to work with python 3.9 (now default). Should fix #62450
</span>---
 gnome/gobject-introspection/Portfile               |  9 ++--
 .../files/patch-giscanner_girparser_py.diff        | 50 ++++++++++++++++++++++
 2 files changed, 55 insertions(+), 4 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gobject-introspection/Portfile b/gnome/gobject-introspection/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d00328b9565..dc2295b25c0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gobject-introspection/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gobject-introspection/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -30,21 +30,22 @@ depends_build       port:pkgconfig \
</span> depends_lib         path:lib/pkgconfig/cairo.pc:cairo \
                     path:lib/pkgconfig/glib-2.0.pc:glib2 \
                     port:libffi \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:py38-mako \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:py38-markdown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py39-mako \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py39-markdown
</span> 
 depends_run         bin:glibtool:libtool
 
 patchfiles          no-env-shebang.patch \
                     patch-fix-rpath-gir-typelib.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-fix-scanner-in-build-execution.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-fix-scanner-in-build-execution.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-giscanner_girparser_py.diff
</span> 
 post-patch {
     reinplace "s|libcairo-gobject.2.dylib|${prefix}/lib/libcairo-gobject.2.dylib|g" ${worksrcpath}/configure.ac
     reinplace "s|@MP_LIB@|${prefix}/lib/|g" ${worksrcpath}/giscanner/shlibs.py
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.python    ${prefix}/bin/python3.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.python    ${prefix}/bin/python3.9
</span> 
 # Use autoreconf to sync with our build tools.
 # The gtk-doc dependency is needed due to use of autoreconf -fvi, which
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gobject-introspection/files/patch-giscanner_girparser_py.diff b/gnome/gobject-introspection/files/patch-giscanner_girparser_py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..bf538995435
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gobject-introspection/files/patch-giscanner_girparser_py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,50 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- giscanner/girparser.py.orig    2021-03-18 14:46:52.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ giscanner/girparser.py 2021-03-18 14:47:41.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -75,17 +75,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def _find_first_child(self, node, name_or_names):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if isinstance(name_or_names, str):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            for child in node.getchildren():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            for child in node:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 if child.tag == name_or_names:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     return child
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            for child in node.getchildren():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            for child in node:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 if child.tag in name_or_names:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     return child
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def _find_children(self, node, name):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        return [child for child in node.getchildren() if child.tag == name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return [child for child in node if child.tag == name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def _get_current_file(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if not self._filename_stack:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -103,7 +103,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             raise SystemExit("%s: Incompatible version %s (supported: %s)" %
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              (self._get_current_file(), version, COMPATIBLE_GIR_VERSION))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        for node in root.getchildren():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        for node in root:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if node.tag == _corens('include'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 self._parse_include(node)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             elif node.tag == _corens('package'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -144,7 +144,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             parser_methods[_corens('constant')] = self._parse_constant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             parser_methods[_corens('function')] = self._parse_function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        for node in ns.getchildren():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        for node in ns:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             method = parser_methods.get(node.tag)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if method is not None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 method(node)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -395,7 +395,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def _parse_fields(self, node, obj):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         res = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         names = (_corens('field'), _corens('record'), _corens('union'), _corens('callback'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        for child in node.getchildren():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        for child in node:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if child.tag in names:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 fieldobj = self._parse_field(child, obj)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 res.append(fieldobj)
</span></pre><pre style='margin:0'>

</pre>