Merge wheel support from pytest-2.7 branch
Merged in pytest-2.7 (pull request #269).
This commit is contained in:
commit
ddffa9d1cc
|
@ -3,6 +3,9 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Support building wheels by using environment markers for the
|
||||||
|
requirements. Thanks Ionel Maries Cristian.
|
||||||
|
|
||||||
2.7.0 (compared to 2.6.4)
|
2.7.0 (compared to 2.6.4)
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
|
|
|
@ -6,3 +6,5 @@ all_files = 1
|
||||||
[upload_sphinx]
|
[upload_sphinx]
|
||||||
upload-dir = doc/en/build/html
|
upload-dir = doc/en/build/html
|
||||||
|
|
||||||
|
[bdist_wheel]
|
||||||
|
universal = 1
|
||||||
|
|
35
setup.py
35
setup.py
|
@ -1,4 +1,6 @@
|
||||||
import os, sys
|
import os, sys
|
||||||
|
import setuptools
|
||||||
|
import pkg_resources
|
||||||
from setuptools import setup, Command
|
from setuptools import setup, Command
|
||||||
|
|
||||||
classifiers = ['Development Status :: 6 - Mature',
|
classifiers = ['Development Status :: 6 - Mature',
|
||||||
|
@ -26,12 +28,36 @@ def get_version():
|
||||||
raise ValueError("could not read version")
|
raise ValueError("could not read version")
|
||||||
|
|
||||||
|
|
||||||
|
def has_environment_marker_support():
|
||||||
|
"""
|
||||||
|
Tests that setuptools has support for PEP-426 environment marker support.
|
||||||
|
|
||||||
|
The first known release to support it is 0.7 (and the earliest on PyPI seems to be 0.7.2
|
||||||
|
so we're using that), see: http://pythonhosted.org/setuptools/history.html#id142
|
||||||
|
|
||||||
|
References:
|
||||||
|
|
||||||
|
* https://wheel.readthedocs.org/en/latest/index.html#defining-conditional-dependencies
|
||||||
|
* https://www.python.org/dev/peps/pep-0426/#environment-markers
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
return pkg_resources.parse_version(setuptools.__version__) >= pkg_resources.parse_version('0.7.2')
|
||||||
|
except Exception as exc:
|
||||||
|
sys.stderr.write("Could not test setuptool's version: %s\n" % exc)
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
install_requires = ['py>=1.4.25']
|
install_requires = ['py>=1.4.25']
|
||||||
if sys.version_info < (2, 7) or (3,) <= sys.version_info < (3, 2):
|
extras_require = {}
|
||||||
install_requires.append('argparse')
|
if has_environment_marker_support():
|
||||||
if sys.platform == 'win32':
|
extras_require[':python_version=="2.6" or python_version=="3.0" or python_version=="3.1"'] = ['argparse']
|
||||||
install_requires.append('colorama')
|
extras_require[':sys_platform=="win32"'] = ['colorama']
|
||||||
|
else:
|
||||||
|
if sys.version_info < (2, 7) or (3,) <= sys.version_info < (3, 2):
|
||||||
|
install_requires.append('argparse')
|
||||||
|
if sys.platform == 'win32':
|
||||||
|
install_requires.append('colorama')
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='pytest',
|
name='pytest',
|
||||||
|
@ -48,6 +74,7 @@ def main():
|
||||||
cmdclass={'test': PyTest},
|
cmdclass={'test': PyTest},
|
||||||
# the following should be enabled for release
|
# the following should be enabled for release
|
||||||
install_requires=install_requires,
|
install_requires=install_requires,
|
||||||
|
extras_require=extras_require,
|
||||||
packages=['_pytest', '_pytest.assertion'],
|
packages=['_pytest', '_pytest.assertion'],
|
||||||
py_modules=['pytest'],
|
py_modules=['pytest'],
|
||||||
zip_safe=False,
|
zip_safe=False,
|
||||||
|
|
Loading…
Reference in New Issue