Modifications:
- added support for multi-valued variants
- refactored code related to variants into variant.py
- added new generic features to AutotoolsPackage that leverage multi-valued variants
- modified openmpi to use new features
- added unit tests for the new semantics
- _spider in web.py was actually failing to spider deeper than a certain
point.
- Fixed multiprocessing pools to not use daemons and to allow recursive
spawning.
- Added detailed tests for spidering and for finding archive versions.
- left some xfail URL finding exercises for the reader.
- Fix noqa annotations for some @when decorators
there were various updated packages, both for the 2.x, 2.0.x,
and 1.10.x release branches of Open MPI.
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
(cherry picked from commit 3b671935783fc3af76dc642a54461c2f02ab8ebf)
- Added a new interface for Specs to pass build information
- Calls forwarded from Spec to Package are now explicit
- Added descriptor within Spec to manage forwarding
- Added state in Spec to maintain query information
- Modified a few packages (the one involved in spack install pexsi) to showcase changes
- This uses an object wrapper to `spec` to implement the `libs` sub-calls.
- wrapper is returned from `__getitem__` only if spec is concrete
- allows packagers to access build information easily
We just released 2.0.2 yesterday, so add in that release for
spack. Don't need the PMI patch for this release.
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
* PackageMeta: `run_before` is an alias of `precondition`, `run_after` an alias of `sanity_check`
* PackageMeta: removed `precondition` and `sanity_check`
* PackageMeta: decorators are now free-standing
* package: modified/added docstrings. Fixed the semantics of `on_package_attributes`.
* package: added unit test assertion as side effects of install
* build_systems: factored build-time test running into base class
* r: updated decorators in package.py
* docs: updated decorator names
* Update OpenMPI to the AutotoolsPackage
* Add Java support to OpenMPI
* Fix missing commas
* Be more specific about what versions support what flags
* Revert description for thread_multiple variant
+ Starting with version 2.0, OpenMPI no longer provides C++ bindings by default
(libmpi_cxx.so). Add a configure option to instruct the build to also build
and install libmpi_cxx.so.
+ This MPI feature is needed by at least one spack package (moab).
Building OpenMPI without fortran is possible, and was already handled.
Raising an install error we effectively renounce at clang+OpenMPI.
build_environment : sets 'CC', 'CXX', and similar variables only if a compiler is found