Commit Graph

39901 Commits

Author SHA1 Message Date
Massimiliano Culpo
cf9a148708 builtin: changes to packages 2025-02-28 23:34:31 +01:00
Massimiliano Culpo
d6f0ce3e5a lmod: do not init compilers 2025-02-28 23:34:30 +01:00
Massimiliano Culpo
d6cb54da4b Write repo caches in specfile specific files
In this way we'll never encounter weird errors, when bumping the
specfile version. There are other unrelated issues with repo caches,
but those can be resolved separately.
2025-02-28 23:34:30 +01:00
Massimiliano Culpo
f6851a56e8 compiler: add cc, cxx, and fortran properties
These properties are implemented in the same way in each compiler
package, at least for external specs. So, push the implementation
to the base class for now.

This needs to be revisited, to make the base class less dependent
on C, C++, and Fortran.
2025-02-28 23:34:29 +01:00
Massimiliano Culpo
95820a91b3 Fix print in spack compiler info 2025-02-28 23:34:29 +01:00
Harmen Stoppels
c3ddea9061 delete redundant spack.concretize.CHECK_COMPILER_EXISTENCE 2025-02-28 23:34:28 +01:00
Massimiliano Culpo
0bd8ca4e08 Raise UnsupportedCompilerFlag when a flag is not supported 2025-02-28 23:34:28 +01:00
Massimiliano Culpo
2d40025ae3 Remove SPACK_COMPILER_SPEC from the environment 2025-02-28 23:34:28 +01:00
Massimiliano Culpo
47d01c086c Prepend compiler wrappers path last, so we don't risk finding externals 2025-02-28 23:34:27 +01:00
Massimiliano Culpo
00c04bd36a Recover splicing semantic 2025-02-28 23:34:27 +01:00
Massimiliano Culpo
0d6a5c0f06 solver: temporarily enforce compilers to be externals 2025-02-28 23:34:26 +01:00
Massimiliano Culpo
f379b304a1 Remove rule already accounted for by the gcc package 2025-02-28 23:34:26 +01:00
Massimiliano Culpo
ec97e7e6fe Allow different target flags for different compilers 2025-02-28 23:34:25 +01:00
Massimiliano Culpo
7f093d129b unit-test: make Spec.compiler behavior stricter
Now the adaptor will raise if the Spec has no C, C++,
or Fortran compiler.
2025-02-28 23:34:25 +01:00
Massimiliano Culpo
3a67dfd9e8 Remove a test that should fail according to concretization rules 2025-02-28 23:34:25 +01:00
Massimiliano Culpo
dfd28bc5c0 Add a unit-test for satisfies and __getitem__ semantic 2025-02-28 23:34:24 +01:00
Massimiliano Culpo
0d8549e282 Add a unit-test for compiler self-dependencies 2025-02-28 23:34:24 +01:00
Massimiliano Culpo
895e3c453e Exempt "compilers" and "runtimes" from default requirements 2025-02-28 23:34:23 +01:00
Massimiliano Culpo
7a429af479 unit-tests: mark a few tests as xfail, or skip, for now
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:23 +01:00
Massimiliano Culpo
32fc8c351d Fix setting SPACK_TARGET_ARGS for concrete specs 2025-02-28 23:34:22 +01:00
Massimiliano Culpo
eb85f2e862 unit-test: fix reading Cray manifest files 2025-02-28 23:34:22 +01:00
Massimiliano Culpo
28d42eed5e unit-tests: fix most unit tests to account for the new model
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:21 +01:00
Massimiliano Culpo
f79354c312 Fix setting SPACK_TARGET_ARGS for concrete specs 2025-02-28 23:34:21 +01:00
Massimiliano Culpo
5492b9cc6d 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.
2025-02-28 23:34:21 +01:00
Massimiliano Culpo
5260acc53b Modify Spec.short_spec to remove compiler info 2025-02-28 23:34:20 +01:00
Massimiliano Culpo
040b827dad Make Spec.compiler behavior stricter
Now the adaptor will raise if the Spec has no C, C++,
or Fortran compiler.
2025-02-28 23:34:20 +01:00
Massimiliano Culpo
54bca16130 asp: fix intel-oneapi-compilers-classic 2025-02-28 23:34:19 +01:00
Massimiliano Culpo
bec6b06c16 Spec.__contains__: traverse only lin/run + direct build 2025-02-28 23:34:19 +01:00
Massimiliano Culpo
27e2e146e2 Exempt "compilers" and "runtimes" from default requirements 2025-02-28 23:34:18 +01:00
Massimiliano Culpo
1ddc0e6b52 Allow self concretization to bootstrap compilers 2025-02-28 23:34:18 +01:00
Massimiliano Culpo
f56aaf1fc3 Add more constraint to providers 2025-02-28 23:34:18 +01:00
Massimiliano Culpo
5b3f4387b3 Fix for duplicate glibc in concretization 2025-02-28 23:34:17 +01:00
Massimiliano Culpo
55196252dd Improve reporting when bootstrapping from source
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:17 +01:00
Massimiliano Culpo
d3a7a73a00 Improve error messages for statically checked specs
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:16 +01:00
Massimiliano Culpo
21afe2af1f spec: implemented direct satisfy semantic
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:16 +01:00
Massimiliano Culpo
646c2f42c4 Fixup binary cache reuse
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:15 +01:00
Massimiliano Culpo
1ab3e8c776 Write adaptors for CompilerSpec and Compiler
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:15 +01:00
Massimiliano Culpo
49978d5b6c Fix reading Cray manifest files
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:14 +01:00
Massimiliano Culpo
a1866d7a4b (WIP) Fix LMod module generation
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:14 +01:00
Massimiliano Culpo
6674ce6dc4 (WIP) Remove deprecated argument for Spec.format
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:14 +01:00
Massimiliano Culpo
f729353ac3 fixup: spec copies compiler annotation
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:13 +01:00
Massimiliano Culpo
73e0cf07cb Restore bootstrapping from binaries
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:13 +01:00
Massimiliano Culpo
8842df3f94 Restore bootstrapping from sources
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:12 +01:00
Massimiliano Culpo
8d3132b26b 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>
2025-02-28 23:34:12 +01:00
Massimiliano Culpo
e342de41b2 spec: bump specfile format to v5
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:11 +01:00
Massimiliano Culpo
0415390270 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>
2025-02-28 23:34:11 +01:00
Massimiliano Culpo
5b7caba4a6 Remove spack.compilers Python modules
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-28 23:34:10 +01:00
Massimiliano Culpo
f59c120e0a (WIP) Install mechanism 2025-02-28 23:34:10 +01:00
Massimiliano Culpo
a0cae04302 (WIP) Recover bootstrapping from binaries on linux 2025-02-28 23:34:10 +01:00
Massimiliano Culpo
496ae0bb31 unit-tests: fix concretization and spack compiler tests 2025-02-28 23:34:09 +01:00