summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsetup.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/setup.py b/setup.py
index 05c12b8f..35b11153 100755
--- a/setup.py
+++ b/setup.py
@@ -9,6 +9,8 @@ except ImportError:
from distutils.command.build_py import build_py as _build_py
from setuptools.command.sdist import sdist as _sdist
+import pkg_resources
+import logging
import os
import sys
from os import path
@@ -68,8 +70,23 @@ def _stamp_version(filename):
print("WARNING: Couldn't find version line in file %s" % filename, file=sys.stderr)
install_requires = ['gitdb >= 0.6.4']
-if sys.version_info[:2] < (2, 7):
- install_requires.append('ordereddict')
+extras_require = {
+ ':python_version == "2.6"': ['ordereddict'],
+}
+
+try:
+ if 'bdist_wheel' not in sys.argv:
+ for key, value in extras_require.items():
+ if key.startswith(':') and pkg_resources.evaluate_marker(key[1:]):
+ install_requires.extend(value)
+except Exception:
+ logging.getLogger(__name__).exception(
+ 'Something went wrong calculating platform specific dependencies, so '
+ "you're getting them all!"
+ )
+ for key, value in extras_require.items():
+ if key.startswith(':'):
+ install_requires.extend(value)
# end
setup(