-
- Downloads
packages.yaml: allow virtuals to specify buildable: false (#14934)
Currently, to force Spack to use an external MPI, you have to specify `buildable: False` for every MPI provider in Spack in your packages.yaml file. This is both tedious and fragile, as new MPI providers can be added and break your workflow when you do a git pull. This PR allows you to specify an entire virtual dependency as non-buildable, and specify particular implementations to be built: ``` packages: all: providers: mpi: [mpich] mpi: buildable: false paths: mpich@3.2 %gcc@7.3.0: /usr/packages/mpich-3.2-gcc-7.3.0 ``` will force all Spack builds to use the specified `mpich` install.
Showing
- lib/spack/docs/build_settings.rst 33 additions, 0 deletionslib/spack/docs/build_settings.rst
- lib/spack/spack/package.py 8 additions, 0 deletionslib/spack/spack/package.py
- lib/spack/spack/package_prefs.py 26 additions, 52 deletionslib/spack/spack/package_prefs.py
- lib/spack/spack/test/concretize_preferences.py 27 additions, 24 deletionslib/spack/spack/test/concretize_preferences.py
- lib/spack/spack/test/conftest.py 7 additions, 0 deletionslib/spack/spack/test/conftest.py
- lib/spack/spack/test/mirror.py 45 additions, 45 deletionslib/spack/spack/test/mirror.py
- lib/spack/spack/test/module_parsing.py 7 additions, 23 deletionslib/spack/spack/test/module_parsing.py
- lib/spack/spack/test/spec_dag.py 0 additions, 2 deletionslib/spack/spack/test/spec_dag.py
- lib/spack/spack/util/module_cmd.py 2 additions, 7 deletionslib/spack/spack/util/module_cmd.py
Loading
Please register or sign in to comment