summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-02-17py-gevent: add 21.12.0 (#29033)Manuela Kuhn1-0/+1
2022-02-17gitlab: Propagate stack name to downstream build jobs (#29019)Scott Wittenburg1-0/+4
It will be useful for metrics gathering and possibly debugging to have this environment variable available in the runner pods that do the actual rebuilds.
2022-02-17llvm: add libs property (#28621)Glenn Johnson1-2/+8
* llvm: add libs property * Use llvm-config helper for libs property
2022-02-17Testing: optionally run tests on externally installed packages (#28701)Tamara Dahlgren6-9/+65
Since Spack does not install external packages, this commit skips them by default when running stand-alone tests. The assumption is that such packages have likely undergone an acceptance test process. However, the tests can be run against installed externals using ``` % spack test run --externals ... ```
2022-02-17zstd: add v1.5.2 (#28986)Michael Kuhn1-0/+1
2022-02-17Reduce verbosity of patches=... variant (#29015)Harmen Stoppels1-2/+19
* reduce verbosity of patches=... variant * Special-case prefix-matches for satisfies of patches variant
2022-02-17ASP-based solver: don't sort when defining variant possible values (#29013)Massimiliano Culpo1-2/+3
fixes #28260 Since we iterate over different variants from many packages, the variant values may have types which are not comparable, which causes errors at runtime. This is not a real issue though, since we don't need the facts to be ordered. Thus, to avoid needless sorting, the sorted function has been removed and a comment has been added to tip any developer that might need to inspect these clauses for debugging to add back sorting on the first two items only. It's kind of difficult to add a test for this, since the error depends on whether Python sorting algorithm ever needs to compare the third value of a tuple being ordered.
2022-02-17binutils: add external detection (#29022)Tom Scogland1-0/+9
2022-02-16libmd: add v1.0.4 (#28971)Michael Kuhn1-0/+1
2022-02-16libbsd: add v0.11.5 (#28969)Michael Kuhn1-0/+1
2022-02-16extensions: allow multiple "extends" directives (#28853)Tom Scogland2-5/+28
* extensions: allow multiple "extends" directives This will allow multiple extends directives in a package as long as only one of them is selected as a dependency in the concrete spec. * document the option to have multiple extends
2022-02-16libffi: add v3.4.2 (#28970)Michael Kuhn1-4/+5
2022-02-16intel-gtpin: new package (#28542)Mark W. Krentel1-0/+77
2022-02-16concretizer: refactor argument passing for reuseTodd Gamblin6-107/+106
Reuse previously was a very invasive change that required parameters to be added to all the methods that called `concretize()` on a `Spec` object. With the addition of concretizer configuration, we can use the config system to simplify this argument passing and keep the code cleaner. We decided that concretizer config options should be read at `Solver` instantiation time, and if config changes between instnatiation of a particular solver and `solve()` invocation, the `Solver` should use the settings from `__init__()`. - [x] remove `reuse` keyword argument from most concretize functions - [x] refactor usages to use `spack.config.override("concretizer:reuse", True)` - [x] rework argument passing in `Solver` so that parameters are set from config at instantiation time
2022-02-16docs: add section on concretizer configurationTodd Gamblin5-13/+59
* Document `concretizer.yaml`, `--reuse`, and `--fresh`.
2022-02-16commands: refactor `--reuse` handling to use configTodd Gamblin12-40/+140
`--reuse` was previously handled individually by each command that needed it. We are growing more concretization options, and they'll need their own section for commands that support them. Now there are two concretization options: * `--reuse`: Attempt to reuse packages from installs and buildcaches. * `--fresh`: Opposite of reuse -- traditional spack install. To handle thes, this PR adds a `ConfigSetAction` for `argparse`, so that you can write argparse code like this: ``` subgroup.add_argument( '--reuse', action=ConfigSetAction, dest="concretizer:reuse", const=True, default=None, help='reuse installed dependencies/buildcaches when possible' ) ``` With this, you don't need to add logic to pull the argument out and handle it; the `ConfigSetAction` just does it for you. This can probably be used to clean up some other commands later, as well. Code that was previously passing `reuse=True` around everywhere has been refactored to use config, and config is set from the CLI using a new `add_concretizer_args()` function in `spack.cmd.common.arguments`. - [x] Add `ConfigSetAction` to simplify concretizer config on the CLI - [x] Refactor code so that it does not pass `reuse=True` to every function. - [x] Refactor commands to use `add_concretizer_args()` and to pass concretizer config using the config system.
2022-02-16tests: consolidate mock scope creation logic in `conftest.py`Todd Gamblin2-22/+18
Config scopes were different for `config` and `mutable_config`, and `mutable_config` did not have a command line scope. - [x] Fix by consolidating the creation logic for the two fixtures.
2022-02-16config: add a new `concretizer` config sectionTodd Gamblin5-6/+65
The concretizer is going to grow to have many more configuration, and we really need some structured config for that. * We have the `config:concretizer` option that chooses the solver, but extending that is awkward (we'd need to replace a string with a `dict`) and the solver choice will be deprecated eventually. * We have the `concretization` option in environments, but it's not a top-level config section -- it's just for environments, and it also only admits a string right now. To avoid overlapping with either of these and to allow the most extensibility in the future, this adds a new `concretizer` config section that can be used in and outside of environments. There is only one option right now: `reuse`. This can expand to include other options later. Likely, we will soon deprecate `config:concretizer` and warn when the user doesn't use `clingo`, and we will eventually (sometime later) move the `together` / `separately` options from `concretization` into the top-level `concretizer` section. This commit just adds the new section and schema. Fully wiring it up is TBD.
2022-02-16refactor: convert spack.solver.asp.solve() to a classTodd Gamblin4-46/+95
The solver has a lot of configuration associated with it. Rather than adding arguments to everything, we should encapsulate that in a class. This is the start of that work; it replaces `solve()` and its kwargs with a class and properties.
2022-02-16Add 'stable' to the list of infinity version names. (#28772)Mark W. Krentel3-7/+8
* Add 'stable' to the list of infinity version names. Rename libunwind 1.5-head to 1.5-stable. * Add stable to the infinite version list in packaging_guide.rst.
2022-02-16py-etelemetry: add 0.3.0 (#28983)Manuela Kuhn1-0/+2
* py-etelemetry: add 0.3.0 * Update var/spack/repos/builtin/packages/py-etelemetry/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-02-16py-filelock: add 3.5.0 (#29006)Manuela Kuhn1-1/+6
2022-02-16py-tomli-w: add new package (#29007)Manuela Kuhn1-0/+18
2022-02-16py-build: python+ensurepip not required (#28562)Adam J. Stewart2-1/+15
* py-build: python+ensurepip not required * Add patch to fix issue when pip is in PYTHONPATH
2022-02-16mesa: enable the `swr` variant if +llvm, instead of using conflicts (#29008)Massimiliano Culpo2-4/+2
* mesa: enable the `swr` variant if +llvm, instead of using conflicts fixes #28994
2022-02-16find_libraries: search for both .so and .dylib on macOS (#28924)Adam J. Stewart1-4/+10
2022-02-16Trilinos: Add UVM variant (#28949)psakievich1-3/+6
13.2+ still supports UVM as an option.
2022-02-16flecsi: update constraints and add new dependency (#28788)Robert Pavel1-6/+8
Updated flecsi constraints to better match internal development. Also added dependency on `lanl-cmake-modules` for flecsi@2.1.1:
2022-02-16py-archspec: add versions up to v0.1.3 (#28928)Carson Woods1-0/+3
2022-02-16storm: add v2.3.0 (#28957)haralmha1-1/+2
2022-02-16VTK-m: Allow building +shared+cuda_native @1.7: (#28877)kwryankrattiger1-1/+3
2022-02-16gh: add versions up to v2.5.1 (#28958)Tom Scogland1-0/+6
2022-02-16py-nbconvert: add v6.4.2 (#28965)Adam J. Stewart1-1/+6
No version of py-nbconvert@5: can be concretized due to conflicting versions of flit-core that are required. This issue could be solved by separate concretization of build deps.
2022-02-16glib: add v2.70.4 (#28972)Michael Kuhn1-0/+1
2022-02-16gdbm: add v1.23 (#28974)Michael Kuhn1-1/+2
2022-02-16py-entrypoints: add v0.4 (#28977)Manuela Kuhn1-1/+5
2022-02-16py-backports-entry-points-selectable: add v1.1.1 (#28954)Manuela Kuhn1-3/+7
2022-02-15py-docutils: add 0.18.1 (#28976)Manuela Kuhn1-0/+1
2022-02-15py-argon2-cffi: add 21.3.0 (#28968)Manuela Kuhn1-4/+12
2022-02-15py-distlib: add 0.3.4 (#28975)Manuela Kuhn1-0/+1
2022-02-15py-decorator: add 5.1.1 (#28953)Manuela Kuhn1-0/+1
2022-02-15py-datalad: add 0.15.5 (#28952)Manuela Kuhn1-3/+6
* py-datalad: add 0.15.5 * Move dependency position
2022-02-15py-cryptography: add 36.0.1 (#28950)Manuela Kuhn1-1/+1
2022-02-15Adding NVIDIA HPC SDK 22.2 (#28874)Filippo Spiga1-0/+4
2022-02-15archspec: remove pyproject.toml to workaround PEP517 (#28956)Massimiliano Culpo1-0/+10
* archspec: remove pyproject.toml to workaround PEP517 If pyproject.toml is in the folder, that is preferred to the setup.py packaged by poetry itself. Adding a dependency on poetry for deploying a pure Python package seems wasteful, since the package to be deployed just needs to be copied in place, so we don't want to built rust for that. * archspec: patch pyproject.toml to comply to PEP517 See https://python-poetry.org/docs/pyproject/#poetry-and-pep-517 * Fix style issues
2022-02-15OpenMC: new version 0.13.0 (#28929)Paul Romano2-20/+29
2022-02-15py-argon2-cffi-bindings: add new package (#28943)Manuela Kuhn1-0/+20
2022-02-15FEniCS: avoid HDF5 version 1.12+ (#28920)Christoph Conrads1-2/+2
The new HDF5 version 1.12 API causes compiler errors due to modified function prototypes. Note that version 1.11 is the development version of HDF5 1.12.
2022-02-15py-coverage: add 6.3.1 (#28946)Manuela Kuhn1-3/+5
2022-02-15py-numba: add 0.55.1 (#28933)Manuela Kuhn1-15/+19
* py-numba: add 0.55.1 * Remove comment * Pin down py-llvmlite version for older py-numba releases * Remove py-llvmlite deps for releases not in spack * Set upper bounds for python and py-numpy * Add stricter upper bound to py-numpy for releases <=0.47