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,7 +25,7 @@
from spack import *
class PyProj(Package):
class PyProj(PythonPackage):
"""Python interface to the PROJ.4 Library."""
homepage = "http://jswhit.github.io/pyproj/"
url = "https://github.com/jswhit/pyproj/tarball/v1.9.5.1rel"
@@ -37,8 +37,6 @@ class PyProj(Package):
version('1.9.5.1', 'a4b80d7170fc82aee363d7f980279835')
extends('python')
depends_on('py-cython', type='build')
depends_on('py-setuptools', type='build')
@@ -46,6 +44,3 @@ class PyProj(Package):
# The py-proj git repo actually includes the correct version of PROJ.4,
# which is built internally as part of the py-proj build.
# Adding depends_on('proj') will cause mysterious build errors.
def install(self, spec, prefix):
setup_py('install', '--prefix=%s' % prefix)