summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-01-03jube: Add versions 2.5.0 and 2.5.1 (#34783)Sebastian Grabowski1-0/+12
* jube: Add 2.5.0 and 2.5.1 * jube: Depend on py-pyyaml
2023-01-03Windows: package defaults and MPI detection (#34614)John W. Parent2-4/+30
* Update packages config to indicate that MSVC is the preferred compiler * Update packages config to indicate that msmpi is the preferred MPI provider * Fix msmpi external detection
2023-01-03scr: require spath+mpi (#34775)Harmen Stoppels1-1/+1
It includes `spath_mpi.h` explicitly, and in some concretizations results in a build failure. (Don't ask me why the concretizer picks `spath~mpi`).
2023-01-02gmake: 4.4, remove alpha release (#34709)Harmen Stoppels1-22/+4
2023-01-02environment view use new traversal (#34662)Harmen Stoppels1-11/+11
2023-01-02votca: add v2022.1 (#34650)Christoph Junghans1-0/+1
2023-01-02pixman: new versions 0.42.0, 0.42.2 (#34723)Wouter Deconinck1-0/+2
This fixes, [among other things](https://lists.freedesktop.org/archives/pixman/2022-October/004993.html), a [bug](https://issuetracker.google.com/issues/249834910) in 0.40.0 that prevents building with oneapi.
2023-01-02py-sphinx: add v6.0.0 (#34724)Adam J. Stewart1-8/+9
2023-01-02libxau: add libs property (#34288)Glenn Johnson1-0/+4
2023-01-02r-affyio: add zlib dependency (#34743)Glenn Johnson1-0/+1
2023-01-02r-cairo: add needed dependency on libxt (#34744)Glenn Johnson1-0/+1
2023-01-02r-hdf5array: add needed dependency on zlib (#34745)Glenn Johnson1-0/+1
2023-01-02r-rhdf5: add needed zlib dependency (#34746)Glenn Johnson1-0/+1
2023-01-02r-rhdf5filters: add needed zlib dependency (#34747)Glenn Johnson1-0/+1
2023-01-02r-rhdf5lib: add needed zlib dependency (#34748)Glenn Johnson1-0/+1
2023-01-02r-rjava: add needed zlib dependency (#34749)Glenn Johnson1-0/+1
2023-01-02r-rtracklayer: add zlib and openssl dependencies (#34750)Glenn Johnson1-0/+2
2023-01-02r-signac: added needed zlib dependency (#34751)Glenn Johnson1-0/+1
2023-01-02bcftools: add version 1.15.1 (#34752)Glenn Johnson1-0/+2
2023-01-02genrich: add needed zlib dependency (#34753)Glenn Johnson1-0/+2
2023-01-02mumax: Set NVCC_CCBIN to spack compiler wrapper (#34754)Glenn Johnson1-0/+1
2023-01-02openscenegraph: add dependency on fontconfig (#34755)Glenn Johnson1-0/+1
2023-01-02rsl: add needed dependency on rpc (#34756)Glenn Johnson1-0/+9
2023-01-02miniconda3: add 22.11.1 (#34761)Michael Kuhn1-0/+6
2023-01-02anaconda3: add 2022.10 (#34762)Michael Kuhn1-0/+5
2023-01-02mesa: new versions up to v22.3.2 (#34760)Wouter Deconinck1-3/+8
disable gallium-xvmc when @:22.2
2023-01-02amrex: add v23.01 and v22.12 (#34764)Weiqun Zhang1-1/+5
Since amrex@22.12, CUDA >= 11 is needed for C++17 support. Since amrex@23.01 oneAPI >= 2023 is needed for SYCL 2020.
2023-01-02dd4hep: depends_on root +x +opengl when +utilityapps (#34765)Wouter Deconinck1-0/+1
UtilityApps builds teveDisplay and fails when ROOT has no ROOT::Gui and ROOT::Eve targets.
2023-01-02singularity: bugfix add space between prefix and other options (#34766)Wouter Deconinck1-1/+1
This fixes two issues introduced in #34474: prefix got the next option appended, and property was not resolved without the self.
2023-01-02emacs: json variant & cleanup (#34665)Peter Brady1-14/+9
Co-authored-by: Harmen Stoppels <me@harmenstoppels.nl>
2023-01-02add conduit 0.8.5 release and caliper variant (#34669)Cyrus Harrison1-0/+18
2023-01-02libpng static (#34578)Alex Richert1-0/+12
2023-01-02doxygen: use tarballs instead of git checkouts and add 1.9.5 (#34654)lorddavidiii1-18/+23
* doxygen: use tarballs instead of git checkouts and add 1.9.5 * Doxygen: add 1.9.6
2023-01-02libxc: add v6.0.0 (#34621)Rocco Meli1-0/+2
2023-01-01style: fix spurious `mypy` errors from `numpy` (#34732)Todd Gamblin1-3/+6
Spack imports `pytest`, which *can* import `numpy`. Recent versions of `numpy` require Python 3.8 or higher, and they use 3.8 type annotations in their type stubs (`.pyi` files). At the same time, we tell `mypy` to target Python 3.7, as we still support older versions of Python. What all this means is that if you run `mypy` on `spack`, `mypy` will follow all the static import statements, and it ends up giving you this error when it finds numpy stuff that is newer than the target Python version: ``` ==> Running mypy checks src/spack/var/spack/environments/default/.spack-env/._view/4g7jd4ibkg4gopv4rosq3kn2vsxrxm2f/lib/python3.11/site-packages/numpy/__init__.pyi:638: error: Positional-only parameters are only supported in Python 3.8 and greater [syntax] Found 1 error in 1 file (errors prevented further checking) mypy found errors ``` We can fix this by telling `mypy` to skip all imports of `numpy` in `pyproject.toml`: ```toml [[tool.mypy.overrides]] module = 'numpy' follow_imports = 'skip' follow_imports_for_stubs = true ``` - [x] don't follow imports from `numpy` in `mypy` - [x] get rid of old rule not to follow `jinja2` imports, as we now require Python 3
2022-12-31py-fisher: add version 0.1.10 (#34738)Glenn Johnson1-0/+2
2022-12-31py-youtube-dl: add version 2021.12.17 (#34740)Glenn Johnson1-0/+3
2022-12-30Simplify creation of test and install reports (#34712)Massimiliano Culpo11-322/+368
The code in Spack to generate install and test reports currently suffers from unneeded complexity. For instance, we have classes in Spack core packages, like `spack.reporters.CDash`, that need an `argparse.Namespace` to be initialized and have "hard-coded" string literals on which they branch to change their behavior: ```python if do_fn.__name__ == "do_test" and skip_externals: package["result"] = "skipped" else: package["result"] = "success" package["stdout"] = fetch_log(pkg, do_fn, self.dir) package["installed_from_binary_cache"] = pkg.installed_from_binary_cache if do_fn.__name__ == "_install_task" and installed_already: return ``` This PR attempt to polish the major issues encountered in both `spack.report` and `spack.reporters`. Details: - [x] `spack.reporters` is now a package that contains both the base class `Reporter` and all the derived classes (`JUnit` and `CDash`) - [x] Classes derived from `spack.reporters.Reporter` don't take an `argparse.Namespace` anymore as argument to `__init__`. The rationale is that code for commands should be built upon Spack core classes, not vice-versa. - [x] An `argparse.Action` has been coded to create the correct `Reporter` object based on command line arguments - [x] The context managers to generate reports from either `spack install` or from `spack test` have been greatly simplified, and have been made less "dynamic" in nature. In particular, the `collect_info` class has been deleted in favor of two more specific context managers. This allows for a simpler structure of the code, and less knowledge required to client code (in particular on which method to patch) - [x] The `InfoCollector` class has been turned into a simple hierarchy, so to avoid conditional statements within methods that assume a knowledge of the context in which the method is called.
2022-12-30mpl: add v0.2.1, v0.2.0 (#34716)Heiko Bauke1-1/+3
2022-12-30petsc, py-petsc4py: add v3.18.3 (#34725)Satish Balay2-0/+2
2022-12-30bugfix: setgid tests fail when primary group is unknown (#34729)Todd Gamblin1-0/+14
On systems with remote groups, the primary user group may be remote and may not exist on the local system (i.e., it might just be a number). On the CLI, it looks like this: ```console > touch foo > l foo -rw-r--r-- 1 gamblin2 57095 0 Dec 29 22:24 foo > chmod 2000 foo chmod: changing permissions of 'foo': Operation not permitted ``` Here, the local machine doesn't know about per-user groups, so they appear as gids in `ls` output. `57095` is also `gamblin2`'s uid, but the local machine doesn't know that `gamblin2` is in the `57095` group. Unfortunately, it seems that Python's `os.chmod()` just fails silently, setting permissions to `0o0000` instead of `0o2000`. We can avoid this by ensuring that the file has a group the user is known to be a member of. - [x] Add `ensure_known_group()` in the permissions tests. - [x] Call `ensure_known_group()` on tempfile in `test_chmod_real_entries_ignores_suid_sgid`.
2022-12-29docs: avoid errors by using type hints instead of doc types (#34707)Todd Gamblin13-83/+133
There are a number of places in our docstrings where we write "list of X" as the type, even though napoleon doesn't actually support this. It ends up causing warnings when generating docs. Now that we require Python 3, we don't have to rely on type hints in docs -- we can just use Python type hints and omit the types of args and return values from docstrings. We should probably do this for all types in docstrings eventually, but this PR focuses on the ones that generate warnings during doc builds. Some `mypy` annoyances we should consider in the future: 1. Adding some of these type annotations gets you: ``` note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] ``` because they are in unannotated functions (like constructors where we don't really need any annotations). You can silence these with `disable_error_code = "annotation-unchecked"` in `pyproject.toml` 2. Right now we support running `mypy` in Python `3.6`. That means we have to support `mypy` `.971`, which does not support `disable_error_code = "annotation-unchecked"`, so I just filter `[annotation-unchecked]` lines out in `spack style`. 3. I would rather just turn on `check_untyped_defs` and get more `mypy` coverage everywhere, but that will require about 1,000 fixes. We should probably do that eventually. 4. We could also consider only running `mypy` on newer python versions. This is not easy to do while supporting `3.6`, because you have to use `if TYPE_CHECKING` for a lot of things to ensure that 3.6 still parses correctly. If we only supported `3.7` and above we could use [`from __future__ import annotations`](https://mypy.readthedocs.io/en/stable/runtime_troubles.html#future-annotations-import-pep-563), but we have to support 3.6 for now. Sigh. - [x] Convert a number of docstring types to Python type hints - [x] Get rid of "list of" wherever it appears
2022-12-29build(deps): bump actions/setup-python from 4.3.1 to 4.4.0 (#34667)dependabot[bot]4-12/+12
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.3.1 to 4.4.0. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/2c3dd9e7e29afd70cc0950079bde6c979d1f69f9...5ccb29d8773c3f3f653e1705f474dfaa8a06a912) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-29trinity: add version 2.15.0-FULL (#34666)downloadico1-0/+5
2022-12-29arbor: add v0.8.1 (#34660)Brent Huisman1-4/+14
2022-12-29tamaas: added v2.6.0 (#34676)Lucas Frérot1-0/+1
2022-12-29survey: add v1.0.7 (#34679)Jim Galarowicz1-1/+2
2022-12-29perl-archive-zip: add 1.68 (#34684)Christopher Christofi1-0/+15
2022-12-29boost: apply 'intel-oneapi-linux-jam.patch' to all versions since 1.76 (#34670)Tim Haines1-1/+1
2022-12-29perl-appconfig: add v1.71 (#34685)Christopher Christofi1-0/+16