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 PyRpy2(Package):
class PyRpy2(PythonPackage):
"""rpy2 is a redesign and rewrite of rpy. It is providing a low-level
interface to R from Python, a proposed high-level interface,
including wrappers to graphical libraries, as well as R-like
@@ -38,11 +38,11 @@ class PyRpy2(Package):
version('2.5.4', '115a20ac30883f096da2bdfcab55196d')
version('2.5.6', 'a36e758b633ce6aec6a5f450bfee980f')
extends('python')
# FIXME: Missing dependencies:
# ld: cannot find -licuuc
# ld: cannot find -licui18
depends_on('py-six', type=('build', 'run'))
depends_on('py-setuptools', type='build')
depends_on('R')
def install(self, spec, prefix):
setup_py('install', '--prefix=%s' % prefix)
depends_on('r')