Add missing dependencies for Flake8 (#1883)

* Warn user if flake8 can't find setuptools

* Add missing dependencies of flake8

* Updates to py-autopep8, make packages activateable

* Check for presence of setuptools for Sphinx too

* Fix bug in order of commands
This commit is contained in:
Adam J. Stewart
2016-10-05 12:00:31 -05:00
committed by Todd Gamblin
parent ac3e21f8d4
commit d5e5e4ed1a
11 changed files with 395 additions and 31 deletions

View File

@@ -28,13 +28,40 @@
class PyFlake8(Package):
"""Flake8 is a wrapper around PyFlakes, pep8 and Ned Batchelder's
McCabe script."""
homepage = "http://flake8.readthedocs.io/en/latest/"
url = "https://pypi.python.org/packages/source/f/flake8/flake8-2.5.4.tar.gz"
version('2.5.4', 'a4585b3569b95c3f66acb8294a7f06ef')
homepage = "https://github.com/PyCQA/flake8"
url = "https://github.com/PyCQA/flake8/archive/3.0.4.tar.gz"
extends('python')
depends_on('py-setuptools', type='build')
version('3.0.4', 'cf2a7d8c92070f7b62253404ffb54df7')
version('2.5.4', '366dd1de6c300254c830b81e66979f06')
extends('python', ignore='bin/(pyflakes|pycodestyle)')
depends_on('python@2.7:2.8,3.4:')
# Most Python packages only require py-setuptools as a build dependency.
# However, py-flake8 requires py-setuptools during runtime as well.
depends_on('py-setuptools', type=nolink)
# pyflakes >= 0.8.1, != 1.2.0, != 1.2.1, != 1.2.2, < 1.3.0
depends_on('py-pyflakes@0.8.1:1.1.0,1.2.3:1.2.3', when='@3.0.4', type=nolink) # noqa
# pyflakes >= 0.8.1, < 1.1
depends_on('py-pyflakes@0.8.1:1.0.0', when='@2.5.4', type=nolink)
# pycodestyle >= 2.0.0, < 2.1.0
depends_on('py-pycodestyle@2.0.0:2.0.999', when='@3.0.4', type=nolink)
# pep8 >= 1.5.7, != 1.6.0, != 1.6.1, != 1.6.2
depends_on('py-pycodestyle@1.5.7,1.7.0:', when='@2.5.4', type=nolink)
# mccabe >= 0.5.0, < 0.6.0
depends_on('py-mccabe@0.5.0:0.5.999', when='@3.0.4', type=nolink)
# mccabe >= 0.2.1, < 0.5
depends_on('py-mccabe@0.2.1:0.4.0', when='@2.5.4', type=nolink)
depends_on('py-configparser', when='^python@:3.3.999', type=nolink)
depends_on('py-enum34', when='^python@:3.1.999', type=nolink)
# TODO: Add test dependencies
# depends_on('py-nose', type='test')
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
setup_py('install', '--prefix={0}'.format(prefix))