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 PyAstropy(Package):
class PyAstropy(PythonPackage):
"""The Astropy Project is a community effort to develop a single core
package for Astronomy in Python and foster interoperability between
Python astronomy packages."""
@@ -37,7 +37,6 @@ class PyAstropy(Package):
version('1.1.post1', 'b52919f657a37d45cc45f5cb0f58c44d')
# Required dependencies
extends('python')
depends_on('py-numpy', type=('build', 'run'))
# Optional dependencies
@@ -55,6 +54,5 @@ class PyAstropy(Package):
depends_on('cfitsio')
depends_on('expat')
def install(self, spec, prefix):
setup_py('build', '--use-system-cfitsio', '--use-system-expat')
setup_py('install', '--prefix={0}'.format(prefix))
def build_args(self, spec, prefix):
return ['--use-system-cfitsio', '--use-system-expat']