- 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
* petsc: add 64bit variant
* hypre: add int64 variant
* superlu-dist: add int64 variant
* petsc: add int64 variant
* metis: rename idx64 to int64 to make it consistent with other packages
* mumps: rename idx64 to int64 to make it consistent with other packages
* dealii: rename 64bit to int64 to make it consistent with other packages
Supports installing both a "known version" of PETSc/PFlotran that works and
the develop/master branches of both packages
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 4 hour
I encountered an HPC system where PETSc's configure stage does not find a valid `cpp` (C preprocessor). Explicitly pointing to Spack's `cpp` wrapper resolves the problem.
Add version 4.0.3 to metis package. Attempted to implement reasonable
versions of all variants declared for metis@5.1.0; some of these do
not have analogues in metis@4.0.3, and errors are raised accordingly.
Also updated dependencies of packages with depends_on('metis') to
depends_on('metis@5:') to ensure that these packages still build.
- This moves var/spack/packages to var/spack/repos/builtin/packages.
- Packages that did not exist in the source branch, or were changed in
develop, were moved into var/spack/repos/builtin/packages as part of
the integration.
Conflicts:
lib/spack/spack/test/unit_install.py
var/spack/repos/builtin/packages/clang/package.py
Package repositories now look like this:
top-level-dir/
repo.yaml
packages/
libelf/
package.py
mpich/
package.py
...
This leaves room at the top level for additional metadata, source,
per-repo configs, indexes, etc., and it makes it easy to see that
something is a spack repo (just look for repo.yaml and packages).