* Add GASNet-EX release 2023.9.0
Add level_zero variant
Deprecate old versions that are no longer supported
Add version enforcement to accelerator variants
* Add UPC++ release 2023.9.0
Deprecate old versions that are no longer supported
Add version enforcement to accelerator variants
* perl-rose-datetime: New package plus updates
- perl-rose-datetime: New package
- perl-datetime: New version, updated dependencies to enable build
time tests and added a runtime test
* Remove copyright line
* New year
* bigdft: convert the use of format strings to fstrings everywhere
* Fix formatting
* reformat with black
* Update compiler flags in bigdft-core
* Revert "Update compiler flags in bigdft-core"
This reverts commit f7524ed784.
* Bump the build cache layout version from 1 to 2
* Version to lists parent directories of the prefix in the tarball too, which is required from some container runtimes
* Move in vs. satisfies to a note and mention special cases of in
* Address feedback: oveoverlap -> intersect
* Re-word the satisfies versus in note.
---------
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
This fixes an issue where pkg.stage throws because a patch cannot be found,
but the patch is redundant because the spec is reused from a build cache and
will be installed from existing binaries.
Part 4 of reworking all package metadata to key by `when` conditions.
Changes conflict dictionary structure from this:
{ provided_spec: {when_spec, ...} }
to this:
{ when_spec: {provided_spec, ...} }
`make_when_spec()` was being used in the solver, but it has semantics that are specific
to parsing when specs from `package.py`. In particular, it returns `None` when the
`when` spec is `False`, and directives are responsible for ignoring that case and not
adding requirements, deps, etc. when there's an actual `False` passed in from
`package.py`.
In `asp.py`, we know that there won't ever be a raw boolean when spec or constraint, so
we know we can parse them without any of the special boolean handling. However, we
should report where in the file the error happened on error, so this adds some parsing
logic to extract the `mark` from YAML and alert the user where the bad parse is.
- [x] refactor `config.py` so that basic `spack_yaml` mark info is in its own method
- [x] refactor `asp.py` so that it uses the smarter YAML parsing routine
- [x] refactor `asp.py` so that YAML input validation for requirements is done up front