Massimiliano Culpo
e6729320f7
Fixup binary cache reuse
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:59 +01:00
Massimiliano Culpo
9ca0bd5d97
Write adaptors for CompilerSpec and Compiler
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:59 +01:00
Massimiliano Culpo
cdc8236169
Make BaseConfiguration pickleable
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:58 +01:00
Massimiliano Culpo
f8ab75244b
Fix reading Cray manifest files
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:58 +01:00
Massimiliano Culpo
f211789087
(WIP) Fix LMod module generation
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:57 +01:00
Massimiliano Culpo
09ccccbec5
(WIP) Remove deprecated argument for Spec.format
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:57 +01:00
Massimiliano Culpo
45e1573a17
fixup: spec copies compiler annotation
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:56 +01:00
Massimiliano Culpo
352442a383
Restore bootstrapping from binaries
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:56 +01:00
Massimiliano Culpo
543f830f57
Restore bootstrapping from sources
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:55 +01:00
Massimiliano Culpo
94fdd3dc5b
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-01-11 13:28:55 +01:00
Massimiliano Culpo
403e2db50f
spec: bump specfile format to v5
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:54 +01:00
Massimiliano Culpo
7832c56537
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-01-11 13:28:54 +01:00
Massimiliano Culpo
bec58a1554
Remove spack.compilers Python modules
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:53 +01:00
Massimiliano Culpo
67b04f1b8d
(WIP) Install mechanism
2025-01-11 13:28:53 +01:00
Massimiliano Culpo
8c66a1699e
(WIP) Recover bootstrapping from binaries on linux
2025-01-11 13:28:52 +01:00
Massimiliano Culpo
86a8ec5bbc
unit-tests: fix concretization and spack compiler
tests
2025-01-11 13:28:52 +01:00
Massimiliano Culpo
dc7df70b81
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`.
2025-01-11 13:28:51 +01:00
Massimiliano Culpo
6f5e6f3a5b
Deprecate packages:all:compiler and update default configs
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:50 +01:00
Massimiliano Culpo
414b323e01
directives: remove workaround for the c, cxx and fortran language
...
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-01-11 13:28:50 +01:00
Massimiliano Culpo
0705a5f468
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.
2025-01-11 13:28:50 +01:00
Massimiliano Culpo
e432641166
Allow reading old JSON files
2025-01-11 13:28:49 +01:00
Massimiliano Culpo
cf2b5a1e4f
parse_with_version_concrete: remove compiler=
switch
2025-01-11 13:28:49 +01:00
Massimiliano Culpo
510623fe47
Make CompilerSpec raise on __init__
2025-01-11 13:28:48 +01:00
Massimiliano Culpo
ae6c1a7abe
parser: parse compilers as direct build deps
2025-01-11 13:28:45 +01:00
Massimiliano Culpo
dd69b646ad
Add subscript notation to packages ( #48467 )
...
This PR allows using the subscript notation directly on packages. The
intent is to reduce the boilerplate needed to retrieve package
properties from nodes other than root.
2025-01-10 19:00:51 +01:00
Harmen Stoppels
d6d8800466
executable.py: fix overlapping overload set ( #48503 )
2025-01-10 16:34:04 +00:00
Harmen Stoppels
d46ac9b1e4
spec.py: fix return type of concretized() ( #48504 )
2025-01-10 13:31:41 +00:00
Harmen Stoppels
7edb525599
binary_distribution: improve deps_to_relocate ( #48484 )
2025-01-10 11:32:11 +01:00
Harmen Stoppels
93cd216603
binary_distribution: stop relocating tarballs with relative rpaths ( #48488 )
2025-01-10 11:30:18 +01:00
Harmen Stoppels
c1d385ada2
traverse: use overload for return type when depth=True vs depth=False ( #48482 )
2025-01-10 09:53:28 +01:00
Massimiliano Culpo
5085f635dd
Add type hints to spack.util.executable.Executable
( #48468 )
...
* Add type-hints to `spack.util.executable.Executable`
* Add type-hint to input
* Use overload, and remove assertions at calling sites
* Bump mypy to v1.11.2 (working locally), Python to 3.13
2025-01-09 14:16:24 -08:00
dependabot[bot]
e76677cbd5
build(deps): bump pygments from 2.18.0 to 2.19.1 in /lib/spack/docs ( #48431 )
...
Bumps [pygments](https://github.com/pygments/pygments ) from 2.18.0 to 2.19.1.
- [Release notes](https://github.com/pygments/pygments/releases )
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES )
- [Commits](https://github.com/pygments/pygments/compare/2.18.0...2.19.1 )
---
updated-dependencies:
- dependency-name: pygments
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-09 11:31:42 +01:00
Harmen Stoppels
c424611010
directory_layout.py: remove dependency on global spack.store.STORE ( #48460 )
2025-01-08 17:44:32 +01:00
Harmen Stoppels
fa9ef0ac89
config.py: deprecate config:install_path_scheme ( #48463 )
2025-01-08 16:02:11 +01:00
Harmen Stoppels
55d9fe20e5
warnings.showwarning: set earlier ( #48462 )
...
Co-authored-by: haampie <haampie@users.noreply.github.com>
2025-01-08 07:27:22 -07:00
Harmen Stoppels
434a8d54d4
directory_layout: types and remove kwargs ( #48459 )
2025-01-08 14:09:36 +01:00
Adrien Bernede
7328c64fc7
CachedCMakePackage: set CMAKE_*_RPATH with implicit and extra rpaths ( #48067 )
...
This is useful when CachedCMakePackage is used without the Spack compiler wrapper.
2025-01-08 04:18:44 -07:00
Massimiliano Culpo
4be7b98fd2
Perl build system: add a dependency on gmake ( #48437 )
2025-01-08 09:10:22 +01:00
Harmen Stoppels
ca8ea63796
compiler.py: deal with temporarily broken compiler ( #48418 )
...
When a compiler is temporarily broken, we cache `c_compiler_output:`
`null`. This commit ensures we retry to obtain the `c_compiler_output`.
2025-01-07 09:56:05 +01:00
Lehman Garrison
aa0ab3b38b
py-py-spy: add 0.4.0, and make rust & CargoPackage
respect -j
( #47883 )
...
* py-py-spy: add 0.4.0
* py-py-spy: port from Package to CargoPackage
* CargoPackage: respect make_jobs
* rust: respect make_jobs during build and install
* spack style
* CargoBuilder: fix make_jobs syntax
* CargoBuilder: don't write to $HOME, use stage dir
2025-01-06 12:14:19 -07:00
Massimiliano Culpo
85c125a0f5
Remove spack.config.add_default_platform_scope ( #48425 )
...
This function is used only in tests, and pushes a scope to the
current global CONFIG, when on Windows, regardless of what that
CONFIG is.
2025-01-06 20:06:02 +01:00
Harmen Stoppels
4b4be2e2c2
cmd/__init__.py: pass tests in case n=1 ( #48417 )
2025-01-06 15:30:29 +01:00
Harmen Stoppels
79027884c7
Add spack API warning with file/line ( #48416 )
2025-01-06 03:43:04 -07:00
Adam J. Stewart
0a03a92e78
Avoid trailing slashes in strings ( #48359 )
2025-01-03 23:00:18 +01:00
Harmen Stoppels
0a070512e6
tests: remove file requirement ( #48362 )
2025-01-03 15:49:06 +01:00
Wouter Deconinck
e374f8fb66
build_environment: only traverse unique edges ( #48301 )
...
Wrap EnvironmentVisitor in CoverEdgesVisitor so only unique edges are enqueued.
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2025-01-03 12:17:26 +01:00
Todd Gamblin
f635337af8
Remove years from license headers ( #48352 )
2025-01-02 15:40:28 +01:00
Alec Scott
022ae8503a
oxide-rs: new-package
2025-01-02 01:17:37 -08:00
Massimiliano Culpo
71512f5682
mpich: gather in a single place env modifications needed by mpich derivatives ( #48276 )
...
* mpich: gather in a single place env modifications needed by mpich derivatives
MPICH, and its derivatives, share a lot of copy/paste code to setup the
environment during the different stages of the package life-cycle.
This commit gathers the common modifications in a single place (a mixin class),
living in the Mpich package, and makes derivatives import, and reuse, it.
* Fix docs for Python < 3.13
2024-12-30 15:42:16 -07:00
dependabot[bot]
15124d7c73
build(deps): bump urllib3 from 2.2.3 to 2.3.0 in /lib/spack/docs ( #48278 )
...
Bumps [urllib3](https://github.com/urllib3/urllib3 ) from 2.2.3 to 2.3.0.
- [Release notes](https://github.com/urllib3/urllib3/releases )
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst )
- [Commits](https://github.com/urllib3/urllib3/compare/2.2.3...2.3.0 )
---
updated-dependencies:
- dependency-name: urllib3
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-26 09:03:38 -07:00