Spack has historically allowed a platform-specific subdirectory
for each configuration scope. e.g., in Spack's own defaults we use this
for platform-specific overrides:
```
spack/etc/spack/
packages.yaml
spack/etc/spack/linux/
packages.yaml
spack/etc/spack/darwin/
packages.yaml
```
This adds specialized `packages.yaml` overrides for linux and darwin.
In #48784, we added a much more general facility for an `include:`
section in configuration, so you can add your own much more specialized
config directories. This PR addresses a couple issues with that, namely:
1. We still hard-code the platform includes in Spack
2. Platform includes are at *higher* precedence than the including scope,
while `include:` includes are lower. This makes it impossible for
something like:
```yaml
include:
- include: "${os}"
```
to override the linux subdirectory in a config scope.
This PR removes the older platform-specific config scopes in favor of
allowing users to add their own such scopes if they need them. So,
if you want platform configuration, you can add this to the scope
that needs it:
```yaml
include:
- include: "${platform}"
```
If you want platform to have lower precedence than OS, you can do this:
```yaml
include:
- include: "${os}"
include:
- include: "${platform}"
```
And now OS config can override platform. Likewise, you could reverse the
list and have platofrm with higher precedence than OS.
- [x] remove `_add_platform_scope() from `config`
- [x] refactor default config scope to account for new structure
- [ ] TBD: docs
Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
* Add tag for podio v01-03
* Update minimal root version for RNTuple support
* Make sure clang-format does not interfere with code generation
* Add edm4hep version 0.99.2 and new podio version dependency
* Keep root versions ordered for dependencies
Co-authored-by: Juan Miguel Carceller <22276694+jmcarcell@users.noreply.github.com>
---------
Co-authored-by: Juan Miguel Carceller <22276694+jmcarcell@users.noreply.github.com>
* bump up the version for ROCm-6.4.0
* update rocm-openmp-extras
* fix for rocprofiler-sdk
* fix hipblaslt ci fail
* bump hipsparselt
* set clang to use llvm-amdgpu
* modify rom-smi-lib and update hip-tensor
* miopen-hip: replace patch with commit
* miopen-hip: remove patch
* fix rocdecode libdrm error
* rocjpeg fix libdrm error
* rocm-bandwidth-test and amdsmi: add c dependency
* add explicit roctracer-dev dependency
* fix issue with rocm-openmp-extras using external
* add c dependency to rocm-debug-agent and rocm-dbgapi
* rocm-debug-agent: set clang as compiler
* hip-tensor: add c dependency
* hipsparselt: modify patch
* hipsparselt: fix ROCM_SMI_PATH
* hipsparselt: add c dependency
* rocm-validation-suite: add patch for libdrm
* rdc: remove rocm-smi-lib dependency
* rocmwmma: replace patch
* rocmwmma: remove old patch
* rocwmma: modify patch
* add c dependencies
* add c dependency to rocwmma and rocm-examples
* rocAL: force use of spack python
* rdc: add c dependency
* roctracer-dev: use llvm-amdgpu clang++
* rocm-tensile: add patch
* rocm-cmake: fix standalone test
* rocblas: fix client test error
* roctracer-dev: fix ci fail
* hipblaslt: add patch for client test
* hipfort: add c dependency
* py-tensorflow restrict to rocm 6.3
* gromacs: support new releases
Also removed deprecated releases, per previously published policy, and marked new branches as deprecated.
* [@spackbot] updating style on behalf of mabraham
---------
Co-authored-by: mabraham <mabraham@users.noreply.github.com>
* additivefoam: add new version and website
* additivefoam: use spack prefix for bin & lib build path
* additivefoam: update logic for version asset selection
---------
Co-authored-by: Gerry Knapp <knappgl@ornl.gov>
* add newer neovim versions + drop dependencies and add new ones
* waiting to fix/update some luajit problems on macOS ARM64
* Update var/spack/repos/builtin/packages/neovim/package.py
Co-authored-by: Felix Thaler <thaler@cscs.ch>
---------
Co-authored-by: Felix Thaler <thaler@cscs.ch>
* cmd/mirror.py: match CLI specs to concrete specs in env
* Allow using 'mirror create -a/--all' to match multiple concrete specs
* remove unit test preventing 'mirror create -a <spec>'
* Add test_mirror_spec_from_env() unit test (cmd/mirror.py)
Since #50452, build systems are no longer in core and need their own imports.
Specifically, in addition to:
```python
from spack.package import *
```
you now also need, e.g.:
```python
from spack_repo.builtin.build_systems.python import PythonPackage
```
Or similar for other build systems, or things will break.
- [x] Fix `py-deprecat` package
- [x] Fix `cryoef` package
Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
In particular, the 4.2.1 patches address a bug that prevents building
gcc with recent clang and glibc.
See details here: https://www.mpfr.org/mpfr-4.2.1/#fixed
* Add dependency on Python <= 3.11 for 8.0.4
The SafeConfigParser was removed in Python 3.12.
* Add version 11.5.3
* Add version 12.2.0
* Update order of version from newest to oldest
* Remove unneeded requirement on python@3.6
Since Spack only has Python 3.6 or newer anyway.
* Update license to BSD-3-Clause from version 12 onwards
* Set minimum Python version to 3.9 from version 12 onwards
* Add py-nvidia-ml-py dependency from version 12 onwards
* Update py-nvidia-ml-py package
- Change license to BSD-2-Clause
- Add many more versions
* Apply black formatting
* Add url_for_version helper function
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
* Remove spaces on empty line
* Apply spack style
* Move depends_on directive
---------
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Allow other CI checks to continue even if the circular import check fails.
Circular imports are often indicative of code that needs to be restructured, but there
are still places where we need to add them. This allows CI to continue, so that if CI is
passing *except* for a problematic import, we can still force merge and accept a bit
of technical debt to admit a useful feature. Also, this allows people to keep working
while they fix their circular import issues, without being blind to CI results.
- [x] update ci workflow: import-check continue-on-error: true
* Updateing TAU recipe to add patch file for ROCM>6.2
* Create tau-rocm-disable-rocprofiler-default.patch
* Changing from version check to +rocm
* [@spackbot] updating style on behalf of jordialcaraz
---------
Co-authored-by: jordialcaraz <jordialcaraz@users.noreply.github.com>