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,7 +26,7 @@
import os
class PyShiboken(Package):
class PyShiboken(PythonPackage):
"""Shiboken generates bindings for C++ libraries using CPython."""
homepage = "https://shiboken.readthedocs.org/"
url = "https://pypi.python.org/packages/source/S/Shiboken/Shiboken-1.2.2.tar.gz"
@@ -35,8 +35,8 @@ class PyShiboken(Package):
depends_on('cmake', type='build')
extends('python')
depends_on("py-setuptools", type='build')
depends_on("py-sphinx", type=('build', 'run'))
depends_on("libxml2")
depends_on("qt@:4.8")
@@ -63,5 +63,5 @@ def patch(self):
r'#rpath_cmd(shiboken_path, srcpath)',
'shiboken_postinstall.py')
def install(self, spec, prefix):
setup_py('install', '--prefix=%s' % prefix, '--jobs=%s' % make_jobs)
def build_args(self, spec, prefix):
return ['--jobs={0}'.format(make_jobs)]