Add PythonPackage base class

- Add a PythonPackage class with build system support.
  - Support build phases in PythonPackage
  - Add a custom sanity check for PythonPackages
  - Get rid of nolink dependencies in python packages

- Update spack create to use new PythonPackage class

- Port most of Python packages to new PythonPackage class

- Conducted a massive install and activate of Python packages.
  - Fixed bugs introduced by install and activate.

- Update API docs on PythonPackage
This commit is contained in:
Adam J. Stewart
2017-01-16 18:13:37 -08:00
committed by Todd Gamblin
parent 1f49493fee
commit c0aaa8fcea
169 changed files with 849 additions and 1011 deletions

View File

@@ -25,8 +25,8 @@
from spack import *
class PyPyflakes(Package):
"""A simple program which checks Python source files for errors.."""
class PyPyflakes(PythonPackage):
"""A simple program which checks Python source files for errors."""
homepage = "https://github.com/PyCQA/pyflakes"
url = "https://github.com/PyCQA/pyflakes/archive/1.3.0.tar.gz"
@@ -42,11 +42,6 @@ class PyPyflakes(Package):
version('0.9.1', '8108d2248e93ca6a315fa2dd31ee9bb1')
version('0.9.0', '43c2bcee88606bde55dbf25a253ef886')
extends('python')
# Most Python packages only require py-setuptools as a build dependency.
# However, py-pyflakes requires py-setuptools during runtime as well.
depends_on('py-setuptools', type=('build', 'run'))
def install(self, spec, prefix):
setup_py('install', '--prefix={0}'.format(prefix))