summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorholger krekel <holger@merlinux.eu>2015-05-13 01:27:42 +0200
committerholger krekel <holger@merlinux.eu>2015-05-13 01:27:42 +0200
commitdff8a9e0776b82feb18a29e7ba3da6b9e267aa9b (patch)
tree5271ac34742ba0f5dfec3e5321d599d5db22408e
parent397adfb5a0bc2bf84435f59aa8608eeda86810aa (diff)
downloadtox-2.0.1.tar.gz
fix wheel packaging to properly require argparse on py26.2.0.1
-rw-r--r--CHANGELOG5
-rw-r--r--doc/conf.py2
-rw-r--r--setup.py33
-rw-r--r--tox.ini6
-rw-r--r--tox/__init__.py2
5 files changed, 40 insertions, 8 deletions
diff --git a/CHANGELOG b/CHANGELOG
index c0b7d59..8c1b59d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+2.0.1
+-----------
+
+- fix wheel packaging to properly require argparse on py26.
+
2.0.0
-----------
diff --git a/doc/conf.py b/doc/conf.py
index 802ccd4..269e8ba 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -49,7 +49,7 @@ copyright = u'2015, holger krekel and others'
#
# The short X.Y version.
release = "2.0"
-version = "2.0.0"
+version = "2.0.1"
# The full version, including alpha/beta/rc tags.
# The language for content autogenerated by Sphinx. Refer to documentation
diff --git a/setup.py b/setup.py
index 960cbed..726d675 100644
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,5 @@
import sys
-from setuptools import setup
+import setuptools
from setuptools.command.test import test as TestCommand
@@ -15,18 +15,40 @@ class Tox(TestCommand):
import tox
tox.cmdline(self.test_args)
+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
+ """
+ import pkg_resources
+ 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():
version = sys.version_info[:2]
install_requires = ['virtualenv>=1.11.2', 'py>=1.4.17', 'pluggy>=0.3.0,<0.4.0']
- if version < (2, 7):
- install_requires += ['argparse']
- setup(
+ extras_require = {}
+ if has_environment_marker_support():
+ extras_require[':python_version=="2.6"'] = ['argparse']
+ else:
+ if version < (2, 7):
+ install_requires += ['argparse']
+ setuptools.setup(
name='tox',
description='virtualenv-based automation of test activities',
long_description=open("README.rst").read(),
url='http://tox.testrun.org/',
- version='2.0.0',
+ version='2.0.1',
license='http://opensource.org/licenses/MIT',
platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
author='holger krekel',
@@ -38,6 +60,7 @@ def main():
tests_require=['tox'],
cmdclass={"test": Tox},
install_requires=install_requires,
+ extras_require=extras_require,
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
diff --git a/tox.ini b/tox.ini
index d28009e..d78bcbd 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist=py27,py26,py34,py33,pypy,flakes
+envlist=py27,py26,py34,py33,pypy,flakes,py26-bare
[testenv:X]
commands=echo {posargs}
@@ -10,6 +10,10 @@ commands= py.test --timeout=180 {posargs}
deps=pytest>=2.3.5
pytest-timeout
+[testenv:py26-bare]
+deps =
+commands = tox -h
+
[testenv:docs]
basepython=python
changedir=doc
diff --git a/tox/__init__.py b/tox/__init__.py
index 6fd1335..15acb39 100644
--- a/tox/__init__.py
+++ b/tox/__init__.py
@@ -1,5 +1,5 @@
#
-__version__ = '2.0.0'
+__version__ = '2.0.1'
from .hookspecs import hookspec, hookimpl # noqa