Commit 620b20a7 authored by Jason R. Coombs's avatar Jason R. Coombs

Merge tag 'v44.1.1'

parents 6bf44e11 df51e629
v44.1.1
-------
* #2158: Avoid loading working set during ``Distribution.finalize_options`` prior to invoking ``_install_setup_requires``, broken since v42.0.0.
v47.1.0 v47.1.0
------- -------
......
...@@ -128,10 +128,27 @@ if PY3: ...@@ -128,10 +128,27 @@ if PY3:
def _install_setup_requires(attrs): def _install_setup_requires(attrs):
# Note: do not use `setuptools.Distribution` directly, as # Note: do not use `setuptools.Distribution` directly, as
# our PEP 517 backend patch `distutils.core.Distribution`. # our PEP 517 backend patch `distutils.core.Distribution`.
dist = distutils.core.Distribution(dict( class MinimalDistribution(distutils.core.Distribution):
(k, v) for k, v in attrs.items() """
if k in ('dependency_links', 'setup_requires') A minimal version of a distribution for supporting the
)) fetch_build_eggs interface.
"""
def __init__(self, attrs):
_incl = 'dependency_links', 'setup_requires'
filtered = {
k: attrs[k]
for k in set(_incl) & set(attrs)
}
distutils.core.Distribution.__init__(self, filtered)
def finalize_options(self):
"""
Disable finalize_options to avoid building the working set.
Ref #2158.
"""
dist = MinimalDistribution(attrs)
# Honor setup.cfg's options. # Honor setup.cfg's options.
dist.parse_config_files(ignore_option_errors=True) dist.parse_config_files(ignore_option_errors=True)
if dist.setup_requires: if dist.setup_requires:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment