Commit Graph

38766 Commits

Author SHA1 Message Date
Sreenivasa Murthy Kolam
0de6c17477
fix the error libroctx64.so.o not found when executing MIOpenDriver (#47196) 2024-11-04 11:54:48 -08:00
Darren Bolduc
6924c530e2
google-cloud-cpp: add v2.29.0, v2.30.0 (#47146)
* google-cloud-cpp: add v2.29.0; fix cxx-std versions
* d'oh, single value for the variant
2024-11-04 11:50:54 -08:00
Peter Scheibel
38c8069ab4
filesystem.py: add max_depth argument to find (#41945)
* `find(..., max_depth=...)` can be used to control how many directories at most to descend into below the starting point
* `find` now enters every unique (symlinked) directory once at the lowest depth
* `find` is now repeatable: it traverses the directory tree in a deterministic order
2024-11-04 20:31:57 +01:00
Todd Gamblin
5cc07522ab cc: parse RPATHs when in ld mode
In the pure `ld` case, we weren't actually parsing `RPATH` arguments separately as we
do for `ccld`. Fix this by adding *another* nested case statement for raw `RPATH`
parsing.

There are now 3 places where we deal with `-rpath` and friends, but I don't see a great
way to unify them, as `-Wl,`, `-Xlinker`, and raw `-rpath` arguments are all ever so
slightly different.

Also, this Fixes ordering of assertions to make `pytest` diffs more intelligible.
The meaning of `+` and `-` in diffs changed in `pytest` 6.0 and the "preferred" order
for assertions became `assert actual == expected` instead of the other way around.

Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-11-04 19:52:08 +01:00
Todd Gamblin
575a006ca3 cc: simplify ordered list handling
`cc` divides most paths up into system paths, spack managed paths, and other paths.
This gets really repetitive and makes the code hard to read. Simplify the script
by adding some functions to do most of the redundant work for us.

Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-11-04 19:52:08 +01:00
John Gouwar
23ac56edfb
Times spec building and timing to public concretizer API (#47310)
This PR has two small contributions:
- It adds another phase to the timer for concrectization, "construct_specs", to actually see the time the concretizer spends interpreting the `clingo` output to build the Python object for a concretized spec. 
- It adds the method `Solver.solve_with_stats` to expose the timers that were already in the concretizer to the public solver API. `Solver.solve` just becomes a special case of `Solver.solve_with_stats` that throws away the timing output (which is what it was already doing).  

These changes will make it easier to benchmark concretizer performance and provide a more complete picture of the time spent in the concretizer by including the time spent interpreting clingo output.
2024-11-04 09:48:18 -08:00
Harmen Stoppels
8c3068809f
papi: add forward compat bound for cuda (#47409) 2024-11-04 17:32:47 +01:00
Stephen Nicholas Swatman
2214fc855d
geant4-data: symlink only specific data dirs (#47367)
Currently, the `geant4-data` spec creates symlink to all of its
dependencies, and it does so by globbing their `share/` directories.
This works very well for the way Spack installs these, but it doesn't
work for anybody wanting to use e.g. the Geant4 data on CVMFS. See pull
request #47298. This commit changes the way the `geant4-data` spec
works. It no longer blindly globs directories and makes symlinks, but it
asks its dependencies specifically for the name of their data directory.
This should allow us to use Spack to use the CVMFS installations as
externals.
2024-11-04 15:38:12 +00:00
Harmen Stoppels
d44bdc40c9
boost: require +icu when +locale (#47396) 2024-11-04 16:12:16 +01:00
Stephen Nicholas Swatman
e952f6be8e
acts dependencies: new versions as of 2024/11/01 (#47366)
* acts dependencies: new versions as of 2024/11/01

Includes new versions of ACTS itself, Detray, and Vecmem.

* Bind TBB
2024-11-04 06:48:08 -07:00
Wouter Deconinck
b95936f752
zabbix: add v5.0.44, v6.0.34, v7.0.4 (fix CVEs) (#47001)
* zabbix: add v5.0.44, v6.0.34, v7.0.4 (fix CVEs)

* [@spackbot] updating style on behalf of wdconinc

* zabbix: use f-string

* zabbix: fix f-string quoting

* zabbix: use mysql-client

* @wdconic, this fixes the mysql client virtual for me

---------

Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2024-11-04 07:20:09 -06:00
Harmen Stoppels
8d0856d1cc
packaging_guide.rst: explain forward and backward compat before the less common cases (#47402)
The idea is to go from most to least used: backward compat -> forward compat -> pinning on major or major.minor version -> pinning specific, concrete versions.

Further, the following

```python
   # backward compatibility with Python
   depends_on("python@3.8:")
   depends_on("python@3.9:", when="@1.2:")
   depends_on("python@3.10:", when="@1.4:")

   # forward compatibility with Python
   depends_on("python@:3.12", when="@:1.10")
   depends_on("python@:3.13", when="@:1.12")
   depends_on("python@:3.14")
```

is better than disjoint when ranges causing repetition of the rules on dependencies, and requiring frequent editing of existing lines after new releases are done:

```python
   depends_on("python@3.8:3.12", when="@:1.1")
   depends_on("python@3.9:3.12", when="@1.2:1.3")
   depends_on("python@3.10:3.12", when="@1.4:1.10")
   depends_on("python@3.10:3.13", when="@1.11:1.12")
   depends_on("python@3.10:3.14", when="@1.13:")
2024-11-04 13:52:05 +01:00
Teague Sterling
10f7014add
vep-cache: new package (#44523)
* py-uvloop: add v3.8.14, v3.9.15, v3.10.3 and dependencies

* rollback

* vep: add v110,v111,v112

* vep-cache: add v110,v111,v112

* Cleanup

* Reorganizigng

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* Update package.py

* Update package.py

* [@spackbot] updating style on behalf of teaguesterling

* Update package.py

* Update package.py

* Update package.py

* [@spackbot] updating style on behalf of teaguesterling

* Update package.py

* [@spackbot] updating style on behalf of teaguesterling

* Fix scoping and syntax issues

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* fix styles

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* fix variants

* fixing up variant issues and cleaning up resource code

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* fixing unused imports

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* Apply suggestions from code review

Co-authored-by: Arne Becker <101113822+EbiArnie@users.noreply.github.com>

* fixing vep dependencies

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* Fixing resources

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* Fixing issue where resources are not downloaded

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* vep-cache fixing downloads

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* defaulting to using VEP installer

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* Removing resource-based cache installation and simplifying package. Resources without checksums doesn't work (anymore?) and calculating them with be difficult

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

---------

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Co-authored-by: Arne Becker <101113822+EbiArnie@users.noreply.github.com>
2024-11-04 11:37:21 +00:00
Harmen Stoppels
c9ed91758d
tcsh: add missing libxcrypt dependency (#47398) 2024-11-04 03:42:34 -07:00
Harmen Stoppels
2c1d74db9b
krb5: disable missing keyutils dependency (#47397) 2024-11-04 03:20:33 -07:00
Harmen Stoppels
5b93466340
libssh2: fix crypto (#47393) 2024-11-04 02:48:35 -07:00
Martin Lang
1ee344c75c
bigdft-futile: fix compilation for @1.9.5~mpi (#47292)
When compiled without MPI support, a fake mpi header is autogenerated during configure/build. The header is missing one symbol in version 1.9.5. The problem has since been fixed upstream.

A simular problem does also occur for 1.9.4. Unfortunately, the patch does not work for 1.9.4 and I also don't know if further fixes would be required for 1.9.4. Therefore, only the newest version 1.9.5 is patched.
2024-11-04 10:47:54 +01:00
afzpatel
754011643c
rocal and rocm-openmp-extras: fix build failures (#47314) 2024-11-04 10:41:07 +01:00
Cédric Chevalier
2148292bdb
kokkos and kokkos-kernels: use new urls for v4.4 and above (#47330) 2024-11-04 10:39:16 +01:00
Harmen Stoppels
cf3576a9bb
suite-sparse: fix missing rpaths for dependencies (#47394) 2024-11-04 02:38:16 -07:00
Martin Lang
a86f164835
nlopt: new version 2.8.0 (#47289) 2024-11-04 10:35:11 +01:00
Martin Lang
2782ae6d7e
libpspio: new version 0.4.1 (#47287) 2024-11-04 10:34:22 +01:00
Wouter Deconinck
b1fd6dbb6d
libxml2: add v2.11.9, v2.12.9, v2.13.4 (#47297)
Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
2024-11-04 10:32:34 +01:00
Andrey Prokopenko
18936771ff
arborx: remove Trilinos dependency for @1.6: (#47305) 2024-11-04 10:29:32 +01:00
Brian Spilner
9a94ea7dfe
icon: add a maintainer (#47323) 2024-11-04 10:26:28 +01:00
Larry Knox
a93bd6cee4
hdf5: add develop-2.0 (#47299)
Update HDF5 version for develop branch to develop-2.0 to match the new
version in the develop branch.

Remove develop-1.16 as it has been decided to make next release HDF5 2.0.0.
2024-11-04 10:21:17 +01:00
Paul R. C. Kent
4c247e206c
llvm: add v19.1.3 (#47325) 2024-11-04 10:18:24 +01:00
Weiqun Zhang
fcdaccfeb6
amrex: add v24.11 (#47371) 2024-11-04 10:06:49 +01:00
Wouter Deconinck
2fc056e27c
py-flask-compress: add v1.14 (#47373) 2024-11-04 10:02:15 +01:00
Wouter Deconinck
417c48b07a
py-flask-cors: add v4.0.0 (#47374) 2024-11-04 10:01:36 +01:00
Christophe Prud'homme
f05033b0d2
cpr: add +pic and +shared variants (#47281) 2024-11-04 10:00:26 +01:00
Cameron Smith
d63f06e4b7
pumi: add version 2.2.9 (#47380) 2024-11-04 09:58:40 +01:00
Wouter Deconinck
8296aaf175
minizip: add v1.3.1 (#47379) 2024-11-04 09:57:40 +01:00
Wouter Deconinck
86ebcabd46
cups: add v2.4.11 (#47390) 2024-11-04 09:55:33 +01:00
Wouter Deconinck
87329639f2
elasticsearch, kibana, logstash: add v8.15.2 (#46873) 2024-11-04 09:50:41 +01:00
Harmen Stoppels
0acd6ae7b2
lua-luaposix: add missing libxcrypt dependency (#47395) 2024-11-04 01:47:47 -07:00
Massimiliano Culpo
395c911689
Specs: propagated variants affect == equality (#47376)
This PR changes the semantic of == for spec so that:

hdf5++mpi == hdf5+mpi

won't hold true anymore. It also changes the constrain semantic, so that a
non-propagating variant always override a propagating variant. This means:

(hdf5++mpi).constrain(hdf5+mpi) -> hdf5+mpi

Before we had a very weird semantic, that was supposed to be tested by unit-tests:

(libelf++debug).constrain(libelf+debug+foo) -> libelf++debug++foo

This semantic has been dropped, as it was never really tested due to the == bug.
2024-11-03 22:35:16 -08:00
Wouter Deconinck
2664303d7a
pythia8: add v8.312 (#47389)
* pythia8: add v8.312

* pythia8: update homepage url
2024-11-03 23:48:34 +01:00
Wouter Deconinck
ff9568fa2f
sherpa: add v3.0.1 (#47388)
* sherpa: add v3.0.1

* sherpa: no depends_on py-setuptools
2024-11-03 15:32:35 -07:00
eugeneswalker
632c009569
e4s ci stacks: reduce package prefs (#47381) 2024-11-03 00:18:13 +01:00
Paul Gessinger
55918c31d2
root: require +opengl when +aqua is on (#47349)
According to https://github.com/root-project/root/issues/7160, if
`-Dcocoa=ON` build must also be configured with `-Dopengl=ON`, since
otherwise the build encounters missing includes. This is/was a silent
failure in ROOT CMake, but I believe has been made an explicit failure
some time this year.
2024-11-02 11:13:37 +01:00
Tamara Dahlgren
b8461f3d2d
Remove ignored config:install_missing_compilers from unit tests (#47357) 2024-11-02 09:36:05 +01:00
Massimiliano Culpo
133895e785
Rework the schema for reusing environments (#47364)
Currently, the schema reads:

  from:
    - type:
        environment: path_or_name

but this can't be extended easily to other types, e.g. to buildcaches,
without duplicating the extension keys. Use instead:

  from:
    - type: environment
      path: path_or_name
2024-11-02 09:03:42 +01:00
dependabot[bot]
19e3ab83cf
build(deps): bump python-levenshtein in /lib/spack/docs (#47372)
Bumps [python-levenshtein](https://github.com/rapidfuzz/python-Levenshtein) from 0.26.0 to 0.26.1.
- [Release notes](https://github.com/rapidfuzz/python-Levenshtein/releases)
- [Changelog](https://github.com/rapidfuzz/python-Levenshtein/blob/main/HISTORY.md)
- [Commits](https://github.com/rapidfuzz/python-Levenshtein/compare/v0.26.0...v0.26.1)

---
updated-dependencies:
- dependency-name: python-levenshtein
  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-01 23:55:18 +00:00
Greg Becker
e42a4a8bac
parse_specs: unify specs based on concretizer:unify (#44843)
Currently, the `concretizer:unify:` config option only affects environments.

With this PR, it now affects any group of specs given to a command using the `parse_specs(*, concretize=True)` interface.

- [x] implementation in `parse_specs`
- [x] tests
- [x] ensure all commands that accept multiple specs and concretize use `parse_specs` interface

---------

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2024-11-01 23:49:26 +00:00
kwryankrattiger
1462c35761
Ci generate on change (#47318)
* don't concretize in CI if changed packages are not in stacks

Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>

* Generate noop job when no specs to rebuild due to untouched pruning

* Add test to verify skipping generate creates a noop job

* Changed debug for early exit

---------

Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2024-11-01 22:07:23 +00:00
Massimiliano Culpo
0cf8cb70f4
Fix pickle round-trip of specs propagating variants (#47351)
This changes `Spec` serialization to include information about propagation for abstract specs.
This was previously not included in the JSON representation for abstract specs, and couldn't be
stored.

Now, there is a separate `propagate` dictionary alongside the `parameters` dictionary. This isn't
beautiful, but when we bump the spec version for Spack `v0.24`, we can clean up this and other
aspects of the schema.
2024-11-01 13:43:16 -07:00
Marc T. Henry de Frahan
7b2450c22a
Add openfast version 3.5.4 (#47369)
* Add openfast version 3.5.4

* remove commits
2024-11-01 13:53:59 -06:00
Paul R. C. Kent
8f09f523cc
cp2k: protect 2024.3 against newer libxc (#47363)
* cp2k: protect against newer libxc

* Compat bound for libxc
2024-11-01 11:40:10 -06:00
Stephen Nicholas Swatman
24d3ed8c18
geant4: make downloading data dependency optional (#47298)
* geant4: make downloading data dependency optional

This PR makes downloading the data repository of the Geant4 spec
optional by adding a sticky, default-enabled variant which controls the
dependency on `geant4-data`. This should not change the default
behaviour, but should allow users to choose whether or not they want the
data directory.

* Add comment

* Update env variable

* Generic docs

* Buildable false
2024-11-01 15:41:34 +00:00