- 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
Update package file for netlib-lapack to work with IBM XL compiler
The flag -qzerosize is redundant, as the IBM XL compiler should set this flag
by default. However, at this time the default flag appears to be ignore.
Hence, I am setting it in the package file as well, as it has no negative
effect if set twice.
* Turned <provider>_libs into an iterable
Modifications :
- added class LibraryList + unit tests
- added convenience functions `find_libraries` and `dedupe`
- modifed non Intel blas/lapack providers
- modified packages using blas_shared_libs and similar functions
* atlas : added pthread variant
* intel packages : added lapack_libs and blas_libs
* find_library_path : removed unused function
* PR review : fixed last issues
* LibraryList : added test on __add__ return type
* LibraryList : added __radd__ fixed unit tests
fix : failing unit tests due to missing `self`
* cp2k and dependecies : fixed blas-lapack related statements in package.py
overwritten. These modifications were accepted as PR#741 but somehow I
clobbered them when PR#742 was merged. There was some unintentional overlap in
my local repository that I didn't straighten out before pushing.
- py-scipy now builds with netlib-lapack, openblas, and atlas.
- started a convention for passing lib info from blas/lapack implementations.
- Improved netlib-lapack:
- Also build static libs when `shared` variant is enabled.
- Enable CBLAS build
- needed minor patch to build correctly.
- Added `shared` variant to OpenBLAS.
- Made OpenBLAS build properly shared and static.
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).