aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/__init__.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2017-11-09 20:45:48 -0500
committerGitHub <noreply@github.com>2017-11-09 20:45:48 -0500
commitbb71fd1bed9f5e5e239ef99be82ed57e9f9b1dda (patch)
treea8c0f3ef9c7cb156ff249d172625be2a99b2fcf6 /setuptools/__init__.py
parent4f43bd2a665a8115a03eb8d073cacb8945d22462 (diff)
parent42f5ec91c131b8b24a330adb28b235aa432be98a (diff)
downloadexternal_python_setuptools-bb71fd1bed9f5e5e239ef99be82ed57e9f9b1dda.tar.gz
external_python_setuptools-bb71fd1bed9f5e5e239ef99be82ed57e9f9b1dda.tar.bz2
external_python_setuptools-bb71fd1bed9f5e5e239ef99be82ed57e9f9b1dda.zip
Merge pull request #1150 from benoit-pierre/support_setup_requires_in_setup.cfg
support `setup_requires` in setup.cfg
Diffstat (limited to 'setuptools/__init__.py')
-rw-r--r--setuptools/__init__.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/setuptools/__init__.py b/setuptools/__init__.py
index 04f76740..7da47fbe 100644
--- a/setuptools/__init__.py
+++ b/setuptools/__init__.py
@@ -109,7 +109,27 @@ class PEP420PackageFinder(PackageFinder):
find_packages = PackageFinder.find
-setup = distutils.core.setup
+
+def _install_setup_requires(attrs):
+ # Note: do not use `setuptools.Distribution` directly, as
+ # our PEP 517 backend patch `distutils.core.Distribution`.
+ dist = distutils.core.Distribution(dict(
+ (k, v) for k, v in attrs.items()
+ if k in ('dependency_links', 'setup_requires')
+ ))
+ # Honor setup.cfg's options.
+ dist.parse_config_files(ignore_option_errors=True)
+ if dist.setup_requires:
+ dist.fetch_build_eggs(dist.setup_requires)
+
+
+def setup(**attrs):
+ # Make sure we have any requirements needed to interpret 'attrs'.
+ _install_setup_requires(attrs)
+ return distutils.core.setup(**attrs)
+
+setup.__doc__ = distutils.core.setup.__doc__
+
_Command = monkey.get_unpatched(distutils.core.Command)