Commit graph

29691 commits

Author SHA1 Message Date
Christoph Junghans
6984ee291a
votca: add v2022.1 (#34650) 2023-01-02 19:02:59 +01:00
Wouter Deconinck
10d506d61b
pixman: new versions 0.42.0, 0.42.2 (#34723)
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-02 18:58:41 +01:00
Adam J. Stewart
4549312c5e
py-sphinx: add v6.0.0 (#34724) 2023-01-02 18:57:49 +01:00
Glenn Johnson
80761bdc9d
libxau: add libs property (#34288) 2023-01-02 18:47:18 +01:00
Glenn Johnson
4eb853856a
r-affyio: add zlib dependency (#34743) 2023-01-02 18:33:27 +01:00
Glenn Johnson
790929c832
r-cairo: add needed dependency on libxt (#34744) 2023-01-02 18:33:15 +01:00
Glenn Johnson
769378c959
r-hdf5array: add needed dependency on zlib (#34745) 2023-01-02 18:32:59 +01:00
Glenn Johnson
a18e2f98b3
r-rhdf5: add needed zlib dependency (#34746) 2023-01-02 18:32:44 +01:00
Glenn Johnson
8f3bdf29dc
r-rhdf5filters: add needed zlib dependency (#34747) 2023-01-02 18:32:31 +01:00
Glenn Johnson
a28bb90b93
r-rhdf5lib: add needed zlib dependency (#34748) 2023-01-02 18:32:17 +01:00
Glenn Johnson
5c9b591439
r-rjava: add needed zlib dependency (#34749) 2023-01-02 18:31:56 +01:00
Glenn Johnson
778325db42
r-rtracklayer: add zlib and openssl dependencies (#34750) 2023-01-02 18:31:37 +01:00
Glenn Johnson
f65bb62de4
r-signac: added needed zlib dependency (#34751) 2023-01-02 18:31:22 +01:00
Glenn Johnson
e4881d5465
bcftools: add version 1.15.1 (#34752) 2023-01-02 18:31:08 +01:00
Glenn Johnson
31cccdf52b
genrich: add needed zlib dependency (#34753) 2023-01-02 18:29:23 +01:00
Glenn Johnson
2c1523debe
mumax: Set NVCC_CCBIN to spack compiler wrapper (#34754) 2023-01-02 18:28:45 +01:00
Glenn Johnson
c07881c843
openscenegraph: add dependency on fontconfig (#34755) 2023-01-02 18:28:28 +01:00
Glenn Johnson
cb807594b8
rsl: add needed dependency on rpc (#34756) 2023-01-02 18:28:10 +01:00
Michael Kuhn
0227c0a98a
miniconda3: add 22.11.1 (#34761) 2023-01-02 18:22:45 +01:00
Michael Kuhn
20a1cdd95e
anaconda3: add 2022.10 (#34762) 2023-01-02 18:21:23 +01:00
Wouter Deconinck
2a779c1234
mesa: new versions up to v22.3.2 (#34760)
disable gallium-xvmc when @:22.2
2023-01-02 18:11:03 +01:00
Weiqun Zhang
3f6109404d
amrex: add v23.01 and v22.12 (#34764)
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-02 18:07:41 +01:00
Wouter Deconinck
f83d47442d
dd4hep: depends_on root +x +opengl when +utilityapps (#34765)
UtilityApps builds teveDisplay and fails when ROOT has no ROOT::Gui and ROOT::Eve targets.
2023-01-02 17:56:34 +01:00
Wouter Deconinck
08aafe180b
singularity: bugfix add space between prefix and other options (#34766)
This fixes two issues introduced in #34474: prefix got the next
option appended, and property was not resolved without the self.
2023-01-02 17:55:30 +01:00
Peter Brady
9cbbe64cf7
emacs: json variant & cleanup (#34665)
Co-authored-by: Harmen Stoppels <me@harmenstoppels.nl>
2023-01-02 07:17:04 -08:00
Cyrus Harrison
2b006bb6ec
add conduit 0.8.5 release and caliper variant (#34669) 2023-01-02 16:00:44 +01:00
Alex Richert
5509392151
libpng static (#34578) 2023-01-02 15:12:41 +01:00
lorddavidiii
2001be99b3
doxygen: use tarballs instead of git checkouts and add 1.9.5 (#34654)
* doxygen: use tarballs instead of git checkouts and add 1.9.5

* Doxygen: add 1.9.6
2023-01-02 08:44:34 -05:00
Rocco Meli
dd4409b62c
libxc: add v6.0.0 (#34621) 2023-01-02 04:26:54 -08:00
Todd Gamblin
ca265ea0c2
style: fix spurious mypy errors from numpy (#34732)
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
2023-01-01 01:05:17 +00:00
Glenn Johnson
7a92579480
py-fisher: add version 0.1.10 (#34738) 2022-12-31 12:48:21 -06:00
Glenn Johnson
190dfd0269
py-youtube-dl: add version 2021.12.17 (#34740) 2022-12-31 12:42:58 -06:00
Massimiliano Culpo
b549548f69
Simplify creation of test and install reports (#34712)
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-30 10:15:38 -08:00
Heiko Bauke
79268cedd2
mpl: add v0.2.1, v0.2.0 (#34716) 2022-12-30 09:21:58 -08:00
Satish Balay
2004171b7e
petsc, py-petsc4py: add v3.18.3 (#34725) 2022-12-30 10:49:21 +01:00
Todd Gamblin
06312ddf18
bugfix: setgid tests fail when primary group is unknown (#34729)
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-30 10:24:35 +01:00
Todd Gamblin
3a0db729c7
docs: avoid errors by using type hints instead of doc types (#34707)
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-29 16:45:09 -08:00
dependabot[bot]
9759331f43
build(deps): bump actions/setup-python from 4.3.1 to 4.4.0 (#34667)
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](2c3dd9e7e2...5ccb29d877)

---
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-29 14:57:58 +01:00
downloadico
ceca97518a
trinity: add version 2.15.0-FULL (#34666) 2022-12-29 11:13:47 +01:00
Brent Huisman
1929d5e3de
arbor: add v0.8.1 (#34660) 2022-12-29 11:07:17 +01:00
Lucas Frérot
238e9c3613
tamaas: added v2.6.0 (#34676) 2022-12-29 11:04:33 +01:00
Jim Galarowicz
d43e7cb5cd
survey: add v1.0.7 (#34679) 2022-12-29 11:00:45 +01:00
Christopher Christofi
51a037d52a
perl-archive-zip: add 1.68 (#34684) 2022-12-29 10:57:32 +01:00
Tim Haines
c91f8c2f14
boost: apply 'intel-oneapi-linux-jam.patch' to all versions since 1.76 (#34670) 2022-12-29 10:56:45 +01:00
Christopher Christofi
04ad42e5ee
perl-appconfig: add v1.71 (#34685) 2022-12-29 10:55:41 +01:00
Alex Hedges
d02c71e443
git-filter-repo: add new package (#34690) 2022-12-29 10:53:19 +01:00
David Zmick
ca6e178890
jq: set -D_REENTRANT for builds on darwin (#34691) 2022-12-29 10:49:09 +01:00
Jed Brown
b145085fff
libceed: add v0.11.0 (#34694) 2022-12-29 10:31:25 +01:00
AMD Toolchain Support
3a4b96e61c
AOCC: add v4.0.0 (#33833) 2022-12-29 10:30:35 +01:00
Adam J. Stewart
36d87a4783
py-numpy: add v1.24.1 (#34697) 2022-12-29 10:23:20 +01:00