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
Todd Gamblin
d091172d67
Spec: prefer a splice-specific method to __len__
( #47585 )
...
Automatic splicing say `Spec` grow a `__len__` method but it's only used
in one place and it's not clear the semantics are useful elsewhere. It also
runs the risk of Specs one day being confused for other types of containers.
Rather than introduce a new function for one algorithm, let's use a more
specific method in the splice code.
- [x] Use topological ordering in `_resolve_automatic_splices` instead of
sorting by node count
- [x] delete `Spec.__len__()` and `Spec.__bool__()`
---------
Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
Co-authored-by: Greg Becker <becker33@llnl.gov>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-13 23:20:03 -08:00
psakievich
ab51369087
Update tutorial version ( #47593 )
2024-11-14 08:15:11 +01:00