Bootstrap most of Spack dependencies using environments (#34029)
This commit reworks the bootstrapping procedure to use Spack environments as much as possible. The `spack.bootstrap` module has also been reorganized into a Python package. A distinction is made among "core" Spack dependencies (clingo, GnuPG, patchelf) and other dependencies. For a number of reasons, explained in the `spack.bootstrap.core` module docstring, "core" dependencies are bootstrapped with the current ad-hoc method. All the other dependencies are instead bootstrapped using a Spack environment that lives in a directory specific to the interpreter and the architecture being used.
This commit is contained in:

committed by
GitHub

parent
e550665df7
commit
4c05fe569c
34
share/spack/templates/bootstrap/spack.yaml
Normal file
34
share/spack/templates/bootstrap/spack.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
# This environment contains Spack non-core dependencies for the
|
||||
# following configuration
|
||||
#
|
||||
# Python spec: {{ python_spec }}
|
||||
# Python interpreter: {{ python_prefix }}
|
||||
# Architecture: {{ architecture }}
|
||||
#
|
||||
spack:
|
||||
specs:
|
||||
{% for spec in environment_specs %}
|
||||
- "{{ spec }}"
|
||||
{% endfor %}
|
||||
view: {{ environment_path }}/view
|
||||
|
||||
config:
|
||||
install_tree:
|
||||
root: {{ store_path }}
|
||||
|
||||
packages:
|
||||
python:
|
||||
buildable: false
|
||||
externals:
|
||||
- spec: "{{ python_spec }}"
|
||||
prefix: "{{ python_prefix }}"
|
||||
|
||||
py-typed-ast:
|
||||
require: "+wheel"
|
||||
|
||||
py-platformdirs:
|
||||
require: "+wheel"
|
||||
|
||||
concretizer:
|
||||
reuse: false
|
||||
unify: true
|
Reference in New Issue
Block a user