diff options
| author | Jason R. Coombs <jaraco@jaraco.com> | 2017-11-19 21:39:41 -0500 |
|---|---|---|
| committer | Jason R. Coombs <jaraco@jaraco.com> | 2017-11-19 21:39:41 -0500 |
| commit | e4572e8c828cf5c82e072e01672283b5f27396a4 (patch) | |
| tree | e8cc8df65484f1f29d9e6bd0a27a362eadddd068 /setuptools/__init__.py | |
| parent | dcb24ad15465c266a3f258471766fbbe8fc8a42e (diff) | |
| parent | d1cef0c5aa0ca473d4b5fef6b11e5508a37663a2 (diff) | |
| download | python-setuptools-git-e4572e8c828cf5c82e072e01672283b5f27396a4.tar.gz | |
Merge branch 'master' into drop-py26
Diffstat (limited to 'setuptools/__init__.py')
| -rw-r--r-- | setuptools/__init__.py | 22 |
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) |
