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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/988423f7cac44066a4d052c1bb9f41ad79c9078d">https://github.com/macports/macports-ports/commit/988423f7cac44066a4d052c1bb9f41ad79c9078d</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 988423f7cac44066a4d052c1bb9f41ad79c9078d
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Jul 27 11:38:51 2022 +1000

<span style='display:block; white-space:pre;color:#404040;'>    py-bootstrap-modules: add setuptools_scm and deps
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Needed to break circular dependency between setuptools_scm and
</span><span style='display:block; white-space:pre;color:#404040;'>    importlib_metadata.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also update other modules.
</span>---
 python/py-bootstrap-modules/Portfile               | 59 +++++++++++++++-------
 .../py-bootstrap-modules/files/build_env.py.patch  | 57 +++------------------
 .../files/patch-install-__init__.py.diff           | 41 ++++++++++++---
 .../files/zip-timestamps.patch                     | 10 ++--
 4 files changed, 88 insertions(+), 79 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-bootstrap-modules/Portfile b/python/py-bootstrap-modules/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6a931d70262..fd36f905a26 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-bootstrap-modules/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-bootstrap-modules/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,8 +3,7 @@
</span> PortSystem          1.0
 
 name                py-bootstrap-modules
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             2021-11-21
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             2022-07-27
</span> maintainers         jmr
 categories          python
 license             MIT
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,51 +18,72 @@ long_description    This is a set of Python modules that are needed \
</span> 
 homepage            https://www.macports.org/
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set build_vers  0.7.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set flit_core_vers 3.5.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set build_vers  0.8.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set flit_core_vers 3.7.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set packaging_vers 21.3
</span> set pep517_vers 0.12.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set pyparsing_vers 3.0.9
</span> set python-install_vers 0.0.3
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set tomli_vers  1.2.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set wheel_vers  0.37.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set setuptools_scm_vers 6.4.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set tomli_vers  1.2.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set wheel_vers  0.37.1
</span> 
 master_sites    pypi:b/build:build \
                 pypi:f/flit_core:flit_core \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                pypi:p/packaging:packaging \
</span>                 pypi:p/pep517:pep517 \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                pypi:p/pyparsing:pyparsing \
</span>                 pypi:p/python-install:install \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                pypi:s/setuptools_scm:setuptools_scm \
</span>                 pypi:t/tomli:tomli \
                 pypi:w/wheel:wheel
 
 distfiles       build-${build_vers}.tar.gz:build \
                 flit_core-${flit_core_vers}.tar.gz:flit_core \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                packaging-${packaging_vers}.tar.gz:packaging \
</span>                 pep517-${pep517_vers}.tar.gz:pep517 \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                pyparsing-${pyparsing_vers}.tar.gz:pyparsing \
</span>                 python-install-${python-install_vers}.tar.gz:install \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                setuptools_scm-${setuptools_scm_vers}.tar.gz:setuptools_scm \
</span>                 tomli-${tomli_vers}.tar.gz:tomli \
                 wheel-${wheel_vers}.tar.gz:wheel
 
 checksums       build-${build_vers}.tar.gz\
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    md5 ec3dbe55359ee735b45766b30dfad877 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 216d1c05311bc392dcb74c9e6f2b358a5892f3fa \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 1aaadcd69338252ade4f7ec1265e1a19184bf916d84c9b7df095f423948cb89f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    md5 307632355e32c3769c99da66f92fe020 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 3086fae7785c632e7345494979051c68db61748d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 887a6d471c901b1a6e6574ebaeeebb45e5269a79d095fe9a8f88d6614ed2e5f0 \
</span>                 flit_core-${flit_core_vers}.tar.gz \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    md5 120af108a81b9b5c11f4ac24b6c23e7e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 659515152f81aae0e7f71b74eb085b23d8ec3b56 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 2db800d33ff41e4c6e7c1b594666cb2a11553024106655272c7245933b1d75bd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    md5 4a4791e97f3a8c9a1645064a35636ee6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 e0616a3d13ef73b61bc20d46f841cd6cb5f8e624 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 14955af340c43035dbfa96b5ee47407e377ee337f69e70f73064940d27d0a44f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                packaging-${packaging_vers}.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    md5 e713c1939f294fd729af4a7be40dd141 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 45ed4b85bf4ef2069e07dd2922849f7edf98363a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \
</span>                 pep517-${pep517_vers}.tar.gz \
                     md5 7ed0adb5f737c316e071d48d66329a5d \
                     rmd160 f98bf5793c9337653db51635b9ff356cab65129b \
                     sha256 931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0 \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                pyparsing-${pyparsing_vers}.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    md5 fadc2f3bf5872bf6310576a86c3566e0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 c450c72db367849469516a28bcbf208cdb2e3d27 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \
</span>                 python-install-${python-install_vers}.tar.gz \
                     md5 c591174ae1f14c05ddcc84483381aa7e \
                     rmd160 203ac0ef46cfcfb6e531548a50cc5a05deb9f049 \
                     sha256 926f9e0cb959203629ba6ffdc889f96e1a075c36ca6e7528ba7be96ade189a7d \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                setuptools_scm-${setuptools_scm_vers}.tar.gz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    md5 b4e02bf8e62ed49142ea7b42a68671d7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 6876656de603d15079102abf2f9ed18f2937f7db \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 6833ac65c6ed9711a4d5d2266f8024cfa07c533a0e55f4c12f6eff280a5a9e30 \
</span>                 tomli-${tomli_vers}.tar.gz \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    md5 e9294a68fea7bb45afdff37c9951ccc5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 e37cff10eb7e7f050049585b3d7224dd907b463c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    md5 807cc80e6a2697375f431b757994b7c5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 cbdb7cfc45e9183147842cd799b5e4bbb0aef34b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 05b6166bff487dc068d322585c7ea4ef78deed501cc124060e0f238e89a9231f \
</span>                 wheel-${wheel_vers}.tar.gz \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    md5 79f55b898e6f274f5586bbde39f6fe8e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 afeb0108d1426828bd37b75d912025df2cd57804 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    md5 f490f1399e5903706cb1d4fbed9ecb28 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 6c4df8aa7c6d59f8b97cf85cce9e362c81b0c523 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4
</span> 
 patch {
     system -W ${workpath}/build-${build_vers} "patch -p0 < ${filespath}/build_env.py.patch"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -80,8 +100,11 @@ destroot {
</span>     xinstall -d ${destroot}${instdir}
     copy ${workpath}/build-${build_vers}/src/build \
         ${workpath}/flit_core-${flit_core_vers}/flit_core \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${workpath}/packaging-${packaging_vers}/packaging \
</span>         ${workpath}/pep517-${pep517_vers}/pep517 \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${workpath}/pyparsing-${pyparsing_vers}/pyparsing \
</span>         ${workpath}/python-install-${python-install_vers}/install \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${workpath}/setuptools_scm-${setuptools_scm_vers}/src/setuptools_scm \
</span>         ${workpath}/tomli-${tomli_vers}/tomli \
         ${workpath}/wheel-${wheel_vers}/src/wheel \
         ${workpath}/wheel-${wheel_vers}/src/wheel.egg-info \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-bootstrap-modules/files/build_env.py.patch b/python/py-bootstrap-modules/files/build_env.py.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index c3787528a38..5b80584010d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-bootstrap-modules/files/build_env.py.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-bootstrap-modules/files/build_env.py.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,50 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 0fffa1271bfd58ab1f1278f27c1f780b5917a773 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Ravi Teja Gannavarapu <45204340+IamRaviTejaG@users.noreply.github.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 23 Oct 2021 20:22:47 +0530
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] env: only import packaging wherever required
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/pypa/build/pull/401
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PR #395
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Co-authored-by: Ravi Teja Gannavarapu <raviteja@clevertap.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/build/env.py  | 7 ++++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tests/test_env.py | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 5 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git src/build/env.py src/build/env.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4b0725ad..e6d22b5d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/build/env.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/build/env.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15,9 +15,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from types import TracebackType
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from typing import Callable, Iterable, List, Optional, Tuple, Type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import packaging.requirements
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import packaging.version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -62,6 +59,8 @@ def install(self, requirements: Iterable[str]) -> None:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @functools.lru_cache(maxsize=None)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def _should_use_virtualenv() -> bool:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    import packaging.requirements
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # virtualenv might be incompatible if it was installed separately
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # from build. This verifies that virtualenv and all of its
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # dependencies are installed as specified by build.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -254,6 +253,8 @@ def _create_isolated_env_venv(path: str) -> Tuple[str, str]:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     """
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     import venv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    import packaging.version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     venv.EnvBuilder(with_pip=True, symlinks=_fs_supports_symlink()).create(path)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     executable, script_dir, purelib = _find_executable_and_scripts(path)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/build/env.py.orig  2021-11-03 04:19:39.000000000 +1100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/build/env.py       2021-11-03 04:21:28.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/build/env.py.orig  2022-05-23 00:59:47.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/build/env.py       2022-07-27 11:28:30.000000000 +1000
</span> @@ -17,12 +17,6 @@
  
  import build
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,7 +15,7 @@ index 4b0725ad..e6d22b5d 100644
</span>  try:
      import virtualenv
  except ModuleNotFoundError:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -255,6 +249,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -260,6 +254,11 @@
</span>  
      import packaging.version
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -67,6 +24,6 @@ index 4b0725ad..e6d22b5d 100644
</span> +    else:
 +        from importlib import metadata
 +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-     venv.EnvBuilder(with_pip=True, symlinks=_fs_supports_symlink()).create(path)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     executable, script_dir, purelib = _find_executable_and_scripts(path)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     symlinks = _fs_supports_symlink()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         venv.EnvBuilder(with_pip=True, symlinks=symlinks).create(path)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-bootstrap-modules/files/patch-install-__init__.py.diff b/python/py-bootstrap-modules/files/patch-install-__init__.py.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 6dda4fdb612..7a1f6fe04bf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-bootstrap-modules/files/patch-install-__init__.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-bootstrap-modules/files/patch-install-__init__.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- install/__init__.py.orig       2021-03-27 19:03:57.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ install/__init__.py    2021-03-27 19:08:03.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- install/__init__.py.orig       2020-11-30 08:53:24.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ install/__init__.py    2022-07-27 06:59:19.000000000 +1000
</span> @@ -84,6 +84,8 @@
  else:
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,9 +9,20 @@
</span>          from distutils.dir_util import copy_tree
          for node in os.listdir(src):
              if node in ignore:
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- install/__init__.py.orig    2021-10-28 17:53:51.000000000 +1100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ install/__init__.py    2021-10-28 17:54:43.000000000 +1100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -133,6 +133,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -116,11 +118,7 @@
</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;'>+ def _replace_shebang(dir, interpreter):  # type: (str, str) -> None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    scripts = [os.path.join(dir, script) for script in os.listdir(dir)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    for script in scripts:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if not os.path.isfile(script):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            raise InstallException('Script is not a file: {}'.format(script))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    scripts = [script for script in [os.path.join(dir, f) for f in os.listdir(dir)] if os.path.isfile(script)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Python 2 does not support fileinput as a contex manager
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     f = fileinput.input(scripts, inplace=True)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -131,6 +129,17 @@
</span>      f.close()
  
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,7 +40,7 @@
</span>  def _check_requirement(requirement_string):  # type: (str) -> bool
      import packaging.requirements
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -240,9 +251,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -238,9 +247,12 @@
</span>  
      if os.path.isfile(entrypoints_file):
          _generate_entrypoint_scripts(entrypoints_file, scripts_cache_dir)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,3 +53,21 @@
</span>  
      _save_pickle(cache_dir, 'wheel-info', wheel_info)
      _save_pickle(cache_dir, 'metadata', metadata)
<span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -258,7 +270,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     pkg_cache_dir = os.path.join(cache_dir, 'pkg')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     scripts_cache_dir = os.path.join(cache_dir, 'scripts')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     pkg_data_dir_name = '{}-{}.data'.format(wheel_info['distribution'], wheel_info['version'])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    pkg_data_dir = os.path.join(cache_dir, pkg_data_dir_name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    pkg_data_dir = os.path.join(pkg_cache_dir, pkg_data_dir_name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     pkg_dir = destdir_path('purelib' if metadata['Root-Is-Purelib'] == 'true' else 'platlib')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -269,7 +281,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             _copy_dir(target, destdir_path(lib))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if os.path.isdir(pkg_data_dir):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         for node in os.listdir(pkg_data_dir):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            target = os.path.join(pkg_cache_dir, node)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            target = os.path.join(pkg_data_dir, node)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if node == 'purelib':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 _copy_dir(target, destdir_path('purelib'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if node == 'platlib':
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-bootstrap-modules/files/zip-timestamps.patch b/python/py-bootstrap-modules/files/zip-timestamps.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 08ff7a8b283..e937e37fc46 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-bootstrap-modules/files/zip-timestamps.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-bootstrap-modules/files/zip-timestamps.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,16 +1,16 @@
</span> Don't error out on file timestamps older than what zip supports.
 https://trac.macports.org/ticket/63926
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- flit_core/wheel.py.orig     2021-11-15 01:34:30.000000000 +1100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ flit_core/wheel.py     2021-11-21 17:00:14.000000000 +1100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7,6 +7,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- flit_core/wheel.py.orig        2022-02-22 06:04:37.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ flit_core/wheel.py     2022-07-27 11:35:18.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,6 +8,7 @@
</span>  import os
  import os.path as osp
  import stat
 +import sys
  import tempfile
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ from pathlib import Path
</span>  from types import SimpleNamespace
<span style='display:block; white-space:pre;background:#ffe0e0;'>- from typing import Optional
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -102,7 +103,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -108,7 +109,10 @@
</span>              rel_path = rel_path.replace(os.sep, '/')
  
          if self.source_time_stamp is None:
</pre><pre style='margin:0'>

</pre>