Commit Graph

7445 Commits

Author SHA1 Message Date
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
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
Massimiliano Culpo
bd8e7959a8
parser: parse compilers as direct build deps 2024-11-19 12:16:16 +01:00
Richard Berger
73316c3e28
cached_cmake: mpifc is not always defined (#46861)
* cached_cmake: mpifc is not always defined
* mpich: only depend on fortran when +fortran
2024-11-18 14:49:56 -08:00
Massimiliano Culpo
da4f7c2952
Add an audit to prevent using the name "all" in packages (#47651)
Packages cannot be named like that, since we use "all" to indicate
default settings under the "packages" section of the configuration.
2024-11-17 13:32:24 -07:00
Harmen Stoppels
fdedb6f95d
style.py: add import-check for missing & redundant imports (#47619) 2024-11-17 09:18:48 +01:00
Harmen Stoppels
4d3b85c4d4
spack.package / builtin repo: fix exports/imports (#47617)
Add various missing imports in packages.
Remove redundant imports
Export NoLibrariesError, NoHeadersError, which_string in spack.package
2024-11-17 09:02:04 +01:00
dependabot[bot]
68b69aa9e3
build(deps): bump sphinx-rtd-theme in /lib/spack/docs (#47588)
Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 3.0.1 to 3.0.2.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/3.0.1...3.0.2)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-15 17:21:42 -06:00
Harmen Stoppels
66a93b5433
Add missing llnl.* imports (#47618) 2024-11-15 15:49:25 +01:00
Harmen Stoppels
b7993317ea
Improve type hints for package API (#47576)
by disentangling `package_base`, `builder` and `directives`.
2024-11-15 09:13:10 +01:00
Massimiliano Culpo
fb46c7a72d
Rework spack.database.InstallStatuses into a flag (#47321) 2024-11-14 15:43:31 +01:00
Massimiliano Culpo
c0196cde39
Remove support for PGI compilers (#47195) 2024-11-14 09:17:41 +01:00