<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c0c9c2d5df52ccbdac6be4836c3a0947aebcb076">https://github.com/macports/macports-ports/commit/c0c9c2d5df52ccbdac6be4836c3a0947aebcb076</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit c0c9c2d5df52ccbdac6be4836c3a0947aebcb076
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Sat Dec 16 16:13:17 2023 +0100

<span style='display:block; white-space:pre;color:#404040;'>    py-pathtools: add py312
</span>---
 python/py-pathtools/Portfile                     |  7 +++++-
 python/py-pathtools/files/fix-support-py312.diff | 31 ++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pathtools/Portfile b/python/py-pathtools/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 355df03b9f1..d42a3446feb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pathtools/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pathtools/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,9 +21,14 @@ checksums           rmd160  cdc2001f64f953bcff70e1dd85d2527665a12272 \
</span>                     sha256  7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0 \
                     size    11006
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions     27 35 36 37 38 39 310 311
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions     27 35 36 37 38 39 310 311 312
</span> 
 if { ${name} ne ${subport} } {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${python.version} >= 312} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fix-support-py312.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     depends_build-append \
                     port:py${python.version}-setuptools
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pathtools/files/fix-support-py312.diff b/python/py-pathtools/files/fix-support-py312.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8157fa47024
</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-pathtools/files/fix-support-py312.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,31 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22,12 +22,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # THE SOFTWARE.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-import imp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import importlib.util
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import importlib.machinery
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from setuptools import setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PKG_DIR = 'pathtools'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-version = imp.load_source('version',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                          os.path.join(PKG_DIR, 'version.py'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# From: https://docs.python.org/3.12/whatsnew/3.12.html#removed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++def load_source(modname, filename):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    loader = importlib.machinery.SourceFileLoader(modname, filename)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    spec = importlib.util.spec_from_file_location(modname, filename, loader=loader)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    module = importlib.util.module_from_spec(spec)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # The module is always executed and not cached in sys.modules.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Uncomment the following line to cache the module.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # sys.modules[module.__name__] = module
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    loader.exec_module(module)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return module
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++version = load_source('version',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      os.path.join(PKG_DIR, 'version.py'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def read_file(filename):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     """
</span></pre><pre style='margin:0'>

</pre>