Commit Graph

38734 Commits

Author SHA1 Message Date
Massimiliano Culpo
fbcb06e247
builtin: changes to packages 2024-11-19 12:16:42 +01:00
Massimiliano Culpo
c4fc739db7
Allow different target flags for different compilers 2024-11-19 12:16:41 +01:00
Massimiliano Culpo
d4d1840400
Fix setting SPACK_TARGET_ARGS for concrete specs 2024-11-19 12:16:41 +01:00
Massimiliano Culpo
09b3e862e3
Fix setting SPACK_TARGET_ARGS for concrete specs 2024-11-19 12:16:40 +01:00
Massimiliano Culpo
df18e29146
Fix concretization of julia
That package depends on llvm as a library, and the rule on compatible
targets for compilers was getting in the way.
2024-11-19 12:16:40 +01:00
Massimiliano Culpo
01aac267e4
Make Spec.compiler behavior stricter
Now the adaptor will raise if the Spec has no C, C++,
or Fortran compiler.
2024-11-19 12:16:40 +01:00
Massimiliano Culpo
013c4b8d3a
Make Spec.compiler behavior stricter
Now the adaptor will raise if the Spec has no C, C++,
or Fortran compiler.
2024-11-19 12:16:39 +01:00
Massimiliano Culpo
875abbeb88
unit-tests: remove a few FIXMEs 2024-11-19 12:16:39 +01:00
Massimiliano Culpo
940b130b5e
Spec.__contains__: traverse only lin/run + direct build 2024-11-19 12:16:38 +01:00
Massimiliano Culpo
57e42f6a6b
Spec.__contains__: traverse only lin/run + direct build 2024-11-19 12:16:38 +01:00
Massimiliano Culpo
5ff86017cb
Remove a test that should fail according to concretization rules 2024-11-19 12:16:37 +01:00
Massimiliano Culpo
d48212bc33
Add a unit-test for satisfies and __getitem__ semantic 2024-11-19 12:16:37 +01:00
Massimiliano Culpo
0c5d58e473
Add a unit-test for compiler self-dependencies 2024-11-19 12:16:36 +01:00
Massimiliano Culpo
61ab36582e
Exempt "compilers" and "runtimes" from default requirements 2024-11-19 12:16:36 +01:00
Massimiliano Culpo
1740a54130
unit-tests: mark a few tests as xfail, or skip, for now
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:36 +01:00
Massimiliano Culpo
231472884f
unit-tests: fix most unit tests to account for the new model
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:35 +01:00
Massimiliano Culpo
fc9017bf61
asp: fix intel-oneapi-compilers-classic 2024-11-19 12:16:35 +01:00
Massimiliano Culpo
4773c1fd12
Exempt "compilers" and "runtimes" from default requirements 2024-11-19 12:16:34 +01:00
Massimiliano Culpo
7df34b3524
Allow self concretization to bootstrap compilers 2024-11-19 12:16:34 +01:00
Massimiliano Culpo
79890ba242
Add more constraint to providers 2024-11-19 12:16:34 +01:00
Massimiliano Culpo
d50ed90ea6
Fix for duplicate glibc in concretization 2024-11-19 12:16:33 +01:00
Massimiliano Culpo
93eb2c0f94
Improve reporting when bootstrapping from source
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:33 +01:00
Massimiliano Culpo
c051450541
Improve error messages for statically checked specs
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:32 +01:00
Massimiliano Culpo
e3e258497c
spec: implemented direct satisfy semantic
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:32 +01:00
Massimiliano Culpo
dec0e60d96
compilers_for_arch: improve implementation
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:32 +01:00
Massimiliano Culpo
f610ed9ea2
Fixup binary cache reuse
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:31 +01:00
Massimiliano Culpo
782112e747
Write adaptors for CompilerSpec and Compiler
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:31 +01:00
Massimiliano Culpo
0ef1b1ebfd
Make BaseConfiguration pickleable
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:30 +01:00
Massimiliano Culpo
4feed79211
(WIP) Fix cray manifest
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:30 +01:00
Massimiliano Culpo
532e258248
(WIP) Fix LMod module generation
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:30 +01:00
Massimiliano Culpo
cd08cb04c0
(WIP) Remove deprecated argument for Spec.format
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:29 +01:00
Massimiliano Culpo
c86b3da9a9
fixup: spec copies compiler annotation
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:29 +01:00
Massimiliano Culpo
463ac6d6ea
Restore bootstrapping from binaries
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:28 +01:00
Massimiliano Culpo
155d381abc
Restore bootstrapping from sources
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:28 +01:00
Massimiliano Culpo
d48bddc196
spec: change semantic of __getitem__
Now __getitem__ can pick items in the transitive link/run graph,
or from direct build dependencies.

Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:28 +01:00
Massimiliano Culpo
1dfbf91eac
spec: bump specfile format to v5
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:27 +01:00
Massimiliano Culpo
8daad8c00b
Overhaul of the spack.compilers package
Now the package contains modules that help using, or
detecting, compiler packages.

Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:27 +01:00
Massimiliano Culpo
ca60f02d0f
(WIP) Remove attributes from compilers
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:26 +01:00
Massimiliano Culpo
1505de5b78
(WIP) Install mechanism 2024-11-19 12:16:26 +01:00
Massimiliano Culpo
7be0066fc8
(WIP) Recover bootstrapping from binaries on linux 2024-11-19 12:16:25 +01:00
Massimiliano Culpo
012fd8600a
unit-tests: fix concretization and spack compiler tests 2024-11-19 12:16:25 +01:00
Massimiliano Culpo
6270181d0a
builtin.mock et al. : changes to packages
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:25 +01:00
Massimiliano Culpo
5f254f77da
solver: first working implementation of compiler as nodes
This commit changes the model to treat compilers as nodes, and
drops the concept of a "compiler" as a bundle of a C, C++, and
Fortran compiler.

Implementation does not rely on `Compiler` or `CompilerSpec`.
2024-11-19 12:16:24 +01:00
Massimiliano Culpo
8377c452b4
Deprecate packages:all:compiler and update default configs
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:24 +01:00
Massimiliano Culpo
666f7e6055
directives: remove workaround for the c, cxx and fortran language
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-19 12:16:23 +01:00
Massimiliano Culpo
f0b23c5614
spack audit: account for % new semantic
Since % means "direct build dependency", we need to exclude
it from the check in audits.
2024-11-19 12:16:23 +01:00
Massimiliano Culpo
3dc4d1b029
Overhaul the spack compiler command
This reverts commit 2c47dddbc1.

Now, `spack compiler` writes by default in packages.yaml. Entries
in old `compilers.yaml` are converted to external specs as a way to
support legacy configuration.

Since this operation is expensive, an environment variable can be
used to enforce the deprecation of `compiler.yaml`.

The --mixed-toolchain option has been deprecated, since it stops to
make sense once compiler are treated as nodes.
2024-11-19 12:16:22 +01:00
Massimiliano Culpo
8d12f6e978
Allow reading old JSON files 2024-11-19 12:16:22 +01:00
Massimiliano Culpo
37d3c71893
parse_with_version_concrete: remove compiler= switch 2024-11-19 12:16:22 +01:00
Massimiliano Culpo
074a80a718
Make CompilerSpec raise on __init__ 2024-11-19 12:16:21 +01:00