Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Set command line scopes last in _main, so they are higher scopes
Restore the global configuration in a spawned process by inspecting
the result of ctx.get_start_method()
Add the ability to pass a mp.context to PackageInstallContext.
Add shell-tests to check overriding the configuration:
- Using both -c and -C from command line
- With and without an environment active
|
|
* yoda: add v2.0.1, v2.0.2
* rivet: add v3.1.9, v3.1.10, v4.0.0, v4.0.1, v4.0.2
* rivet: yoda@:1 when @:3; conflicts hepmc3@3.3.0 when @:4.0.0
* rivet: fix style
* rivet: hepmc=2 only when @:3; use libs.directories[0]
* hepmc3: def libs
* [@spackbot] updating style on behalf of wdconinc
---------
Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
|
|
|
|
|
|
* edm4hep: Add json variant for newer versions
Explicit option has been added to EDM4hep so we now expose it via a
variant as well. We keep the old behavior where we unconditionally
depended on nlohmann-json and implicitly built JSON support if we could
detect it cmake stage
* Fix condition statement in when clause
* Use open version range to avoid fixing to single version
---------
Co-authored-by: Valentin Volkl <valentin.volkl@cern.ch>
|
|
Variants can now be propagated from a dependent package to (transitive) dependencies,
even if the source or transitive dependencies have the propagated variants.
For example, here `zlib` doesn't have a `guile` variant, but `gmake` does:
```
$ spack spec zlib++guile
- zlib@1.3%gcc@12.2.0+optimize+pic+shared build_system=makefile arch=linux-rhel8-broadwell
- ^gcc-runtime@12.2.0%gcc@12.2.0 build_system=generic arch=linux-rhel8-broadwell
- ^gmake@4.4.1%gcc@12.2.0+guile build_system=generic arch=linux-rhel8-broadwell
```
Adding this property has some strange ramifications for `satisfies()`. In particular:
* The abstract specs `pkg++variant` and `pkg+variant` do not intersect, because `+variant`
implies that `pkg` *has* the variant, but `++variant` does not.
* This means that `spec.satisfies("++foo")` is `True` if:
* for concrete specs: `spec` and its dependencies all have `foo` set if it exists
* for abstract specs: no dependency of `spec` has `~foo` (i.e. no dependency contradicts `++foo`).
* This also means that `Spec("++foo").satisfies("+foo")` is `False` -- we only know after concretization.
The `satisfies()` semantics may be surprising, but this is the cost of introducing non-subset
semantics (which are more useful than proper subsets here).
- [x] Change checks for variants
- [x] Resolve conflicts
- [x] Add tests
- [x] Add documentation
---------
Co-authored-by: Gregory Becker <becker33@llnl.gov>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
|
|
* masa: add versions
* masa: update dependencies
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit 1462c357619fedf7354bc60f9178b2199258ebd2.
|
|
|
|
|
|
* py-torchaudio, py-torchtext: rpath fixup
also add missing dependency on Spack ffmpeg to torchaudio.
* py-torchaudio: add torio rpath
|
|
|
|
|
|
Also remove find_spec, which was used by the old concretizer.
Currently, it seems to be used only in tests.
|
|
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
|
|
|
|
|
|
* py-eventlet: fix url
* py-eventlet: fix checksum
|
|
|
|
|
|
|
|
* pythia8: Include patch for C++20 / Clang
Pythia8 vendors some FJCore sources that are as of Pythia8 312
incompatible with C++20 on clang. This adds a patch that makes it
compatible in these scenarios
* Add issue link
* rename setup_cxxstd function
* Remove an accidental printout
* Apply patch to all compilers, add lower bound
|
|
* prometheus-cpp: added package prometheus-cpp
* prometheus-cpp: edited PR for style
|
|
|
|
|
|
* dyninst: patch broken builds for 10.0.0:12.3.0
* Only apply before 12.3.0
|
|
|
|
|
|
* google-cloud-cpp: add v2.29.0; fix cxx-std versions
* d'oh, single value for the variant
|
|
* `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
|
|
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>
|
|
`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>
|
|
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.
|
|
|
|
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.
|
|
|
|
* acts dependencies: new versions as of 2024/11/01
Includes new versions of ACTS itself, Detray, and Vecmem.
* Bind TBB
|
|
* 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>
|
|
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:")
|
|
* 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>
|
|
|
|
|
|
|
|
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.
|