Commit Graph

40847 Commits

Author SHA1 Message Date
Seth R. Johnson
4b1f126de7
pre-commit: new versions 4.1 and 4.2 (#50492) 2025-05-15 10:40:57 -05:00
Tamara Dahlgren
0d586695a0
tests/cmd/external.py: use mock packages (#50363)
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-05-15 16:59:35 +02:00
Tamara Dahlgren
f1ba23316b
test/compilers/conversion.py: use mock packages (#50391) 2025-05-15 12:14:15 +02:00
Massimiliano Culpo
3891305005
Remove a unit test, replace with an audit (#50484)
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-05-15 11:45:28 +02:00
Sergi Siso
cf20d677a1
py-psyclone: remove unneeded dependency (#50367) 2025-05-14 21:54:22 -06:00
Tamara Dahlgren
5c5b0d80d2
tests/bindist: test_{relative|default}_rpaths* ignore arch target (#50357) 2025-05-14 17:41:50 -07:00
Massimiliano Culpo
f8538a1b1c
Parse % as ^ in specs (#49808)
This PR modifies the parser, so that `%` is parsed as a `DEPENDENCY`, and all
node properties that follow are associated to the name after the `%`. e.g.,
in `foo %gcc +binutils` the `+binutils` refers to `gcc` and not to `foo`.

`%` is still parsed as a build-type dependency, at the moment.

Environments, config files and `package.py` files from before Spack v1.0 may have
spec strings with package variants, targets, etc. *after* a build dependency, and these
will need to be updated. You can use the `spack style --spec-strings` command to do this.

To see what strings will be parsed differently under Spack v1.0, run:

```
spack style --spec-strings FILES
```

where `FILES` is a list of filenames that may contain old specs. To update these spec
strings so that they parse correctly under both Spack 1.0 and Spack 0.x, you can run:

```
spack style --fix --spec-strings FILES
```

In the example above, `foo %gcc +binutils` would be rewritten as `foo +binutils %gcc`,
which parses the same in any Spack version.

In addition, this PR fixes several issues with `%` dependencies:

- [x] Ensure we can still constrain compilers on reuse
- [x] Ensure we can reuse a compiler by hash
- [x] Add tests

---------

Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-05-14 16:17:34 -06:00
Patrick Lavin
1f0aaafc71
spatter: new package (#50326)
* add spatter package
* update license, change default backend
* move package to new location
* rearrage spack directives

---------

Co-authored-by: Patrick Lavin <prlavin@sandia.gov>
Co-authored-by: plavin <plavin@users.noreply.github.com>
2025-05-14 14:17:24 -07:00
Adam J. Stewart
fb8d6e8ea0
py-jsonargparse: add v4.39.0 (#50376) 2025-05-14 13:57:21 -07:00
Adam J. Stewart
756721c6dd
py-kornia: add v0.8.1 (#50377) 2025-05-14 13:56:03 -07:00
Paul
153c3f03c8
jacamar-ci: add v0.26.0 (#50459) 2025-05-14 13:38:46 -04:00
Robert Maaskant
c4f51ff60d
py-twine: add v6.1.0 (#50434)
* py-twine: add v6.1.0
* py-twine: add python version deps
2025-05-14 10:27:25 -07:00
Robert Maaskant
da650aac0c
gh: add v2.72.0 (#50425) 2025-05-14 10:34:21 -04:00
Robert Maaskant
782b5c30d2
glab: add v1.57.0 (#50424) 2025-05-14 10:33:40 -04:00
Harmen Stoppels
1e9be97a25
Update sys.path references (#50466) 2025-05-14 10:25:00 +00:00
Alberto Invernizzi
bd5f277e17
hpx: remove unused patch file (#50463) 2025-05-14 12:01:13 +02:00
Tamara Dahlgren
719fd6fb43
test_load_json_specfiles: skip virtual reconstruction (#50361) 2025-05-14 02:32:47 -06:00
Harmen Stoppels
abcc641373
Fix spack.repo.is_package_module (#50464) 2025-05-14 10:22:28 +02:00
G-Ragghianti
abcef565a8
spack env activate: respect --without-view when --temp (#50438) 2025-05-14 09:58:38 +02:00
Harmen Stoppels
00d65b75a1
remove std_cmake_args, std_pip_args, std_meson_args (#50462)
The "magic" globals `std_cmake_args`, `std_pip_args` and `std_meson_args` were deprecated in Spack 0.23 and removed in this commit, because they are no longer static and don't make sense to be defined for packages that do not depend on cmake, pip or meson.

Additionally, removing them ensures that `build_environment.py` no longer depends on builders, which will soon be moved out of `spack` into the `spack_repo` package.

The audit that scans whether these globals are used is not removed.
2025-05-14 09:51:42 +02:00
Massimiliano Culpo
de4a9e867d
py-torch: rework patches to avoid secondary rate limits (#50455)
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-05-14 09:48:58 +02:00
ddement
56f40cc1c8
openturbine: Update dependencies and configuration in anticipation of beta release (#50355)
* Updated OpenTurbine package to reflect new configuration options
2025-05-13 13:07:44 -07:00
John W. Parent
ae2c9d1b99
Win: Restore oneAPI env setup (#50444)
oneAPI env setup was prematurely removed in compilers-as-nodes update
(#45189 - removed from the compiler class but not added to the
associated compiler package): restore it.
2025-05-13 12:22:49 -06:00
Stephen Nicholas Swatman
af24280c96
benchmark: add v1.9.3 (#50428)
This commit adds v1.9.3 of Google Benchmark.
2025-05-13 11:10:18 -07:00
Robert Maaskant
8daf4bc215
py-pyproject-hooks: add v1.1.0 and v1.2.0 (#50435) 2025-05-13 11:02:37 -07:00
Robert Maaskant
dabf7e9de8
py-distlib: add v0.3.8 and v0.3.9 (#50436)
* py-distlib: add v0.3.8 and v0.3.9

* py-distlib: github.com as homepage
2025-05-13 10:03:13 -07:00
Zack Galbreath
9cfb973d69
ci: recalibrate per-package resource requests (#50406) 2025-05-13 09:28:11 -05:00
Seth R. Johnson
e4f9e73671
g4vg: new version 1.0.4 (#50439) 2025-05-13 14:31:46 +02:00
Tamara Dahlgren
ae9cffe55f
test/bootstrap.py: test_bootstrap_search_for_compilers_with* use mock packages path (#50441) 2025-05-13 14:31:13 +02:00
Jon Rood
f675130fe9
metaphysicl: depends on c (#50446) 2025-05-13 04:44:34 -06:00
Harmen Stoppels
c5eb82fcb0
pkg.spec.package is pkg after deserialization (#50449) 2025-05-13 12:08:13 +02:00
Massimiliano Culpo
a938167a22
Add a prefix when we import vendored modules (#50443)
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2025-05-13 07:20:40 +02:00
Mikael Simberg
bdb6ac8188
mold: add v2.39.1 (#50431) 2025-05-12 15:39:55 -06:00
Jon Rood
6efdc3c005
amr-wind: update some dependency constraints and add fortran dependency. (#50440) 2025-05-12 15:25:45 -06:00
Diego Alvarez S.
5a8a7b83f6
blast-plus: fix python version to <=3.11 (#50416) 2025-05-12 09:24:08 +02:00
Dmitri Smirnov
70de20eaa2
optix-dev: new package for NVIDIA OptiX SDK headers (#50080) 2025-05-12 09:05:22 +02:00
Adam J. Stewart
d8172e2c29
GDAL: add v3.11.0 (#50405) 2025-05-12 08:58:52 +02:00
Diego Alvarez S.
3371cc55ed
nextflow: add v25.04.0 (#50412) 2025-05-12 08:50:13 +02:00
Satish Balay
35ee3706bb
petsc, py-petsc4py: add v3.23.2 (#50409) 2025-05-12 08:48:41 +02:00
Diego Alvarez S.
9493cf016b
Add seqkit v2.10.0 (#50414) 2025-05-12 08:47:25 +02:00
Seth R. Johnson
f6caa1c824
covfie: add v0.14 and maintainer (#50417) 2025-05-12 08:36:57 +02:00
Matthieu Dorier
2c9f94e6a5
py-confluent-kafka: new package (#50418) 2025-05-12 08:36:17 +02:00
pauleonix
2504dcf4f8
cuda: add v12.8.1 (#49379) 2025-05-12 08:34:12 +02:00
Alec Scott
82baa658a4
typos: add v1.32.0 (#50421) 2025-05-12 08:33:03 +02:00
Jon Rood
21384be78d
exawind: depends on fortran as well (#50393) 2025-05-10 10:44:38 +02:00
Massimiliano Culpo
acd47147a5
solver: support concrete multivalued variants (#50325)
The solves now supports key:=val syntax for multivalued variants in specs originating from input, externals, requirements, directives and when conditions

Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-05-09 23:08:21 +02:00
Harmen Stoppels
3ed6736b2c
compiler.py: be more defensive (#50403) 2025-05-09 16:58:52 +00:00
Massimiliano Culpo
842954f6a4
solver: treat external nodes as concrete for optimization purposes (#50165)
This PR is a step towards treating externals as concrete specs. Specifically, it moves the optimization weights of external nodes into the group of "reused" specs, and doesn't count externals as specs to be built. 

It still keeps the one to many mapping between an external spec in `packages.yaml` and the corresponding specs in the DB. To make it such that an hashed external is preferred to a non-hashed one, the version weights of externals are demoted at lowest priority.

**Change in behavior**:
- Having the possibility, Spack will now prefer to mix compilers in a DAG, and use the latest version possible for each node, rather than using a single compiler and employ old versions of some nodes because of conflicts
- In general, using externals by default is now triggered by putting their weights in the "reused" group. This means that any penalty they might induce will never have the same priority as something that needs to be built. This behavior reflects reality, but changes some default choices from the previous state.

Modifications:
- External nodes weights are now moved to the group of "reused" specs
- Runtimes are treated as concrete as well (to avoid that e.g.`gcc` is not selected because it "builds" the runtime package)
- Shuffle version weights, so that externals are least preferred (counterbalanced by the fact that they are in the "reused" groups)
- Split provider weights on edges from version badness on edges

Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-05-09 17:41:16 +02:00
Harmen Stoppels
5c918e40a6
builtin: remove llnl.util.tty import (#50396)
* builtin: remove llnl.util.tty import

* hipsycl: remove unnecessary imports
2025-05-09 15:35:18 +02:00
Harmen Stoppels
98570929aa
builtin: github url pull -> commit (#50399)
rate limits on github.com's pull/ urls are ~1 per minute, the rate
limits for merged commits are better and on top of that less dynamic.
2025-05-09 15:25:39 +02:00