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

@@ -26,19 +26,19 @@
class PyPy2cairo(Package):
"""bindings for the Cairo for Python 2,
to be used in Python."""
"""Pycairo is a set of Python bindings for the cairo graphics library."""
homepage = "https://pypi.python.org/pypi/pycairo"
homepage = "https://www.cairographics.org/pycairo/"
url = "https://cairographics.org/releases/py2cairo-1.10.0.tar.bz2"
version('1.10.0', '20337132c4ab06c1146ad384d55372c5')
extends('python')
depends_on("cairo")
depends_on("pixman")
depends_on('cairo+X')
depends_on('pixman')
def install(self, spec, prefix):
python('waf', 'configure', '--prefix=%s' % prefix)
python('waf', 'configure', '--prefix={0}'.format(prefix))
python('waf', 'build')
python('waf', 'install')