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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d80f1d225d2a67178815d2d8d058b3b112860c94">https://github.com/macports/macports-ports/commit/d80f1d225d2a67178815d2d8d058b3b112860c94</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 d80f1d225d2 py-libxml2: add py39 subport
</span>d80f1d225d2 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d80f1d225d2a67178815d2d8d058b3b112860c94
</span>Author: Blair Zajac <blair@macports.org>
AuthorDate: Thu Jan 28 22:00:07 2021 -0800

<span style='display:block; white-space:pre;color:#404040;'>    py-libxml2: add py39 subport
</span>---
 python/py-libxml2/Portfile                         |  5 +-
 python/py-libxml2/files/patch-python-libxml.c.diff | 76 ++++++++++++++++++++++
 2 files changed, 79 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-libxml2/Portfile b/python/py-libxml2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4bbcfd30b14..6f4d9f83cdf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-libxml2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-libxml2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,7 +27,7 @@ checksums               rmd160  455f81e1f121c63dac96802de7f83ce4483f1afe \
</span>                         sha256  aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f \
                         size    5624761
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions         27 35 36 37 38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions         27 35 36 37 38 39
</span> 
 if {${name} ne ${subport}} {
     depends_lib-append      port:libxml2
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,7 +38,8 @@ if {${name} ne ${subport}} {
</span>       reinplace "s|@PREFIX@|${prefix}|" ${worksrcpath}/setup.py
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles              patch-setup.py.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles              patch-python-libxml.c.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            patch-setup.py.diff
</span> 
     post-destroot {
       set docdir ${prefix}/share/doc/${subport}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-libxml2/files/patch-python-libxml.c.diff b/python/py-libxml2/files/patch-python-libxml.c.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..42ce09e0b0b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-libxml2/files/patch-python-libxml.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,76 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# From https://gitlab.gnome.org/GNOME/libxml2/-/commit/e4fb36841800038c289997432ca547c9bfef9db1 .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Also see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   https://bugzilla.redhat.com/show_bug.cgi?id=1808343
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   https://src.fedoraproject.org/rpms/libxml2/pull-request/9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/71
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -ru ../../libxml2-2.9.10.orig/python/libxml.c ./libxml.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ../../libxml2-2.9.10.orig/python/libxml.c      2019-10-22 11:46:01.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./libxml.c     2021-01-28 21:48:09.818199191 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -294,7 +294,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   lenread = PyBytes_Size(ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   data = PyBytes_AsString(ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef PyUnicode_Check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    } else if PyUnicode_Check (ret) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    } else if (PyUnicode_Check (ret)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if PY_VERSION_HEX >= 0x03030000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         Py_ssize_t size;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const char *tmp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -359,7 +359,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   lenread = PyBytes_Size(ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   data = PyBytes_AsString(ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef PyUnicode_Check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    } else if PyUnicode_Check (ret) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    } else if (PyUnicode_Check (ret)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if PY_VERSION_HEX >= 0x03030000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         Py_ssize_t size;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const char *tmp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -ru ../../libxml2-2.9.10.orig/python/types.c ./types.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ../../libxml2-2.9.10.orig/python/types.c       2019-10-22 11:46:01.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./types.c      2021-01-28 21:48:09.818965318 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -602,16 +602,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (obj == NULL) {
</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;'>+-    if PyFloat_Check (obj) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (PyFloat_Check (obj)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         ret = xmlXPathNewFloat((double) PyFloat_AS_DOUBLE(obj));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    } else if PyLong_Check(obj) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    } else if (PyLong_Check(obj)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef PyLong_AS_LONG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         ret = xmlXPathNewFloat((double) PyLong_AS_LONG(obj));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         ret = xmlXPathNewFloat((double) PyInt_AS_LONG(obj));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef PyBool_Check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    } else if PyBool_Check (obj) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    } else if (PyBool_Check (obj)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (obj == Py_True) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ret = xmlXPathNewBoolean(1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -620,14 +620,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ret = xmlXPathNewBoolean(0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    } else if PyBytes_Check (obj) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    } else if (PyBytes_Check (obj)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         xmlChar *str;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         str = xmlStrndup((const xmlChar *) PyBytes_AS_STRING(obj),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                          PyBytes_GET_SIZE(obj));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         ret = xmlXPathWrapString(str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef PyUnicode_Check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    } else if PyUnicode_Check (obj) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    } else if (PyUnicode_Check (obj)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if PY_VERSION_HEX >= 0x03030000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         xmlChar *str;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const char *tmp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -650,7 +650,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ret = xmlXPathWrapString(str);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    } else if PyList_Check (obj) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    } else if (PyList_Check (obj)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         int i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         PyObject *node;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         xmlNodePtr cur;
</span></pre><pre style='margin:0'>

</pre>