aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/build_meta.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2020-02-11 22:15:31 -0500
committerJason R. Coombs <jaraco@jaraco.com>2020-02-11 22:15:31 -0500
commitce8e3ee174ed9dee84aa08a461fb174ac1e53535 (patch)
treeda78c024b4491210e61b73e9e2f755d46c8bc1ff /setuptools/build_meta.py
parent53b8523fdfa19173d2e6b11d6b4d175f54b9dfea (diff)
parenta5dec2f14e3414e4ee5dd146bff9c289d573de9a (diff)
downloadexternal_python_setuptools-ce8e3ee174ed9dee84aa08a461fb174ac1e53535.tar.gz
external_python_setuptools-ce8e3ee174ed9dee84aa08a461fb174ac1e53535.tar.bz2
external_python_setuptools-ce8e3ee174ed9dee84aa08a461fb174ac1e53535.zip
Merge branch 'master' into fix/1557
Diffstat (limited to 'setuptools/build_meta.py')
-rw-r--r--setuptools/build_meta.py31
1 files changed, 23 insertions, 8 deletions
diff --git a/setuptools/build_meta.py b/setuptools/build_meta.py
index 10c4b528..a1c951cf 100644
--- a/setuptools/build_meta.py
+++ b/setuptools/build_meta.py
@@ -48,6 +48,7 @@ __all__ = ['get_requires_for_build_sdist',
'__legacy__',
'SetupRequirementsError']
+
class SetupRequirementsError(BaseException):
def __init__(self, specifiers):
self.specifiers = specifiers
@@ -143,7 +144,8 @@ class _BuildMetaBackend(object):
def get_requires_for_build_wheel(self, config_settings=None):
config_settings = self._fix_config(config_settings)
- return self._get_build_requires(config_settings, requirements=['wheel'])
+ return self._get_build_requires(
+ config_settings, requirements=['wheel'])
def get_requires_for_build_sdist(self, config_settings=None):
config_settings = self._fix_config(config_settings)
@@ -160,8 +162,10 @@ class _BuildMetaBackend(object):
dist_infos = [f for f in os.listdir(dist_info_directory)
if f.endswith('.dist-info')]
- if (len(dist_infos) == 0 and
- len(_get_immediate_subdirectories(dist_info_directory)) == 1):
+ if (
+ len(dist_infos) == 0 and
+ len(_get_immediate_subdirectories(dist_info_directory)) == 1
+ ):
dist_info_directory = os.path.join(
dist_info_directory, os.listdir(dist_info_directory)[0])
@@ -193,7 +197,8 @@ class _BuildMetaBackend(object):
config_settings["--global-option"])
self.run_setup()
- result_basename = _file_with_extension(tmp_dist_dir, result_extension)
+ result_basename = _file_with_extension(
+ tmp_dist_dir, result_extension)
result_path = os.path.join(result_directory, result_basename)
if os.path.exists(result_path):
# os.rename will fail overwriting on non-Unix.
@@ -202,7 +207,6 @@ class _BuildMetaBackend(object):
return result_basename
-
def build_wheel(self, wheel_directory, config_settings=None,
metadata_directory=None):
return self._build_with_temp_dir(['bdist_wheel'], '.whl',
@@ -217,9 +221,12 @@ class _BuildMetaBackend(object):
class _BuildMetaLegacyBackend(_BuildMetaBackend):
"""Compatibility backend for setuptools
- This is a version of setuptools.build_meta that endeavors to maintain backwards
- compatibility with pre-PEP 517 modes of invocation. It exists as a temporary
- bridge between the old packaging mechanism and the new packaging mechanism,
+ This is a version of setuptools.build_meta that endeavors
+ to maintain backwards
+ compatibility with pre-PEP 517 modes of invocation. It
+ exists as a temporary
+ bridge between the old packaging mechanism and the new
+ packaging mechanism,
and will eventually be removed.
"""
def run_setup(self, setup_script='setup.py'):
@@ -232,6 +239,12 @@ class _BuildMetaLegacyBackend(_BuildMetaBackend):
if script_dir not in sys.path:
sys.path.insert(0, script_dir)
+ # Some setup.py scripts (e.g. in pygame and numpy) use sys.argv[0] to
+ # get the directory of the source code. They expect it to refer to the
+ # setup.py script.
+ sys_argv_0 = sys.argv[0]
+ sys.argv[0] = setup_script
+
try:
super(_BuildMetaLegacyBackend,
self).run_setup(setup_script=setup_script)
@@ -242,6 +255,8 @@ class _BuildMetaLegacyBackend(_BuildMetaBackend):
# the original path so that the path manipulation does not persist
# within the hook after run_setup is called.
sys.path[:] = sys_path
+ sys.argv[0] = sys_argv_0
+
# The primary backend
_BACKEND = _BuildMetaBackend()