Commit graph

24913 commits

Author SHA1 Message Date
Erik Schnetter
350d2da8b9
findutils: ensure __nonnull is defined on macOS (#28316) 2022-01-17 10:14:39 +01:00
Adam J. Stewart
20bccc3843
mesa18: explicitly specify python executable (#28420) 2022-01-17 09:50:44 +01:00
Nils Leif Fischer
624b3a00ff
brigand: only build tests when requested (#28228) 2022-01-17 09:45:34 +01:00
Adam J. Stewart
b93ff6fdff
PyTorch: specify CUDA version incompatibility (#28432) 2022-01-17 09:41:23 +01:00
Adam J. Stewart
5c4a250bf9
NCCL: specify cuda_arch (#28433) 2022-01-17 09:40:38 +01:00
Adam J. Stewart
5e595586a7
zip: add external detection (#28434) 2022-01-17 09:39:17 +01:00
Vanessasaurus
dbb36ef8b1
Fixing pthread-stack-min-fix.patch patch version range (#28437)
pthread-stack-min-fix.patch should no be applied to 1.73.0
See https://github.com/spack/spack/issues/28436
2022-01-17 01:32:11 -07:00
Sebastian Pipping
425995db3e
expat: Add latest release 2.4.3 with security fixes (#28435) 2022-01-16 17:23:02 -07:00
Luc Berger
e093187266
Kokkos: updating package list, maintainers and minimum cmake version (#28410)
* Kokkos: updating package list, maintainers and minimum cmake version
* Kokkos: updating maintainers list

Updating maintainers list to have the correct GitHub handle for Jan.
2022-01-16 11:50:34 -08:00
Christoph Junghans
a817538870
votca: add v2022 (#28431) 2022-01-16 07:50:02 -07:00
Brian Van Essen
b8d159c62d
hwloc: added support to find external (#28348) 2022-01-15 16:44:13 -07:00
Peter Brady
415d662ec0 Fix boost build failures on newer glibc 2022-01-15 14:02:30 -08:00
Peter Brady
30b3cd3b44
chaco: new package (#28342)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2022-01-15 14:08:18 -07:00
Peter Brady
1dd9238021
chaparral: add new package (#28343) 2022-01-15 14:05:03 -07:00
Nicholas Knoblauch
a5c0a4dca4
Add libdeflate as variant for htslib (#24141) 2022-01-15 10:07:45 -07:00
Sreenivasa Murthy Kolam
ebdf1cb73e
rocm ecosystem: bump version for 4.5.2 release (#28358) 2022-01-15 08:59:15 -07:00
Marcus Boden
9e87a6a4b7
snakemake: add v6.13.1 and new variant (#28393) 2022-01-15 08:56:01 -07:00
Nils Leif Fischer
3f903c49e4
charmpp: use CMake for versions 7.0.0+ (#28401) 2022-01-14 23:56:16 -07:00
Todd Gamblin
93377942d1 Update copyright year to 2022 2022-01-14 22:50:21 -08:00
Todd Gamblin
e3527983ac spack license update-copyright-year now updates the LICENSE-MIT file
`spack license update-copyright-year` was updating license headers but not the MIT
license file. Make it do that and add a test.

Also simplify the way we bump the latest copyright year so that we only need to
update it in one place.
2022-01-14 22:50:21 -08:00
Jen Herting
1422bde25a
kaldi: new version 2021-11-16 (#28154)
* [kaldi] Added version 2021-11-16

* [kaldi] Added logic for new version and when cuda 11 is used

* [kaldi] Added patch file when cuda 11 as cub is now built into it

* [kaldi] removed .999 and simplified some logic

Co-authored-by: Doug Heckman <dahdco@rit.edu>
2022-01-14 23:08:15 -07:00
Chris White
ed105fcc76
New Package: ATS (#28013)
* add py-ats package

* add new 7.0.10 tag

* add myself as a maintainer

* add dependencies for python and setuptools

* style

* added todo for flux

* words

* update versions users should use
2022-01-14 22:32:12 -07:00
Brian Spilner
39f19bcc16
CDO package: add version 2.0.3 (#28416) 2022-01-14 18:53:55 -08:00
Adam J. Stewart
a2181e9d25
Python: add ensurepip variant (#28205) 2022-01-14 20:09:42 -06:00
Adam J. Stewart
6235184522
valgrind: default to ~ubsan (#28389) 2022-01-14 16:29:16 -07:00
Satish Balay
9ed32a3c65
gdbm@1.22: fix build on MacOS (#28379) 2022-01-14 14:02:50 -07:00
Peter Brady
2917aad6f9
scorpio: add new package (#28375)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2022-01-14 13:47:36 -07:00
Adam J. Stewart
3540f8200a
PythonPackage: install packages with pip (#27798)
* Use pip to bootstrap pip

* Bootstrap wheel from source

* Update PythonPackage to install using pip

* Update several packages

* Add wheel as base class dep

* Build phase no longer exists

* Add py-poetry package, fix py-flit-core bootstrapping

* Fix isort build

* Clean up many more packages

* Remove unused import

* Fix unit tests

* Don't directly run setup.py

* Typo fix

* Remove unused imports

* Fix issues caught by CI

* Remove custom setup.py file handling

* Use PythonPackage for installing wheels

* Remove custom phases in PythonPackages

* Remove <phase>_args methods

* Remove unused import

* Fix various packages

* Try to test Python packages directly in CI

* Actually run the pipeline

* Fix more packages

* Fix mappings, fix packages

* Fix dep version

* Work around bug in concretizer

* Various concretization fixes

* Fix gitlab yaml, packages

* Fix typo in gitlab yaml

* Skip more packages that fail to concretize

* Fix? jupyter ecosystem concretization issues

* Solve Jupyter concretization issues

* Prevent duplicate entries in PYTHONPATH

* Skip fenics-dolfinx

* Build fewer Python packages

* Fix missing npm dep

* Specify image

* More package fixes

* Add backends for every from-source package

* Fix version arg

* Remove GitLab CI stuff, add py-installer package

* Remove test deps, re-add install_options

* Function declaration syntax fix

* More build fixes

* Update spack create template

* Update PythonPackage documentation

* Fix documentation build

* Fix unit tests

* Remove pip flag added only in newer pip

* flux: add explicit dependency on jsonschema

* Update packages that have been added since this was branched off of develop

* Move Python 2 deprecation to a separate PR

* py-neurolab: add build dep on py-setuptools

* Use wheels for pip/wheel

* Allow use of pre-installed pip for external Python

* pip -> python -m pip

* Use python -m pip for all packages

* Fix py-wrapt

* Add both platlib and purelib to PYTHONPATH

* py-pyyaml: setuptools is needed for all versions

* py-pyyaml: link flags aren't needed

* Appease spack audit packages

* Some build backend is required for all versions, distutils -> setuptools

* Correctly handle different setup.py filename

* Use wheels for py-tomli to avoid circular dep on py-flit-core

* Fix busco installation procedure

* Clarify things in spack create template

* Test other Python build backends

* Undo changes to busco

* Various fixes

* Don't test other backends
2022-01-14 12:37:57 -06:00
eugeneswalker
0b2507053e
hsakmt-roct@4.5.0: needs pkgconf (#28400) 2022-01-14 08:38:19 -07:00
Adam J. Stewart
e0f044561e
Python: improve site_packages_dir handling (#28346)
* Python: improve site_packages_dir handling

* Replace all site_packages_dir with purelib/platlib
2022-01-13 20:11:16 -06:00
Adam J. Stewart
2e238307c7
Python: add maintainers for Python 2 (#28386) 2022-01-13 20:05:42 -06:00
Jim Galarowicz
b7accb6a9d
Add new survey package to spack. (#25518)
* Add new package to spack.  survey is a lightweight application performance tool that also gathers system information and stores it as metadata.

* Add maintainer and note about source access.

* Update the man path per spack reviewer suggestion.

* Remove redundant settings for PYTHONPATH, PATH, and MANPATH.

* Move to a one mpi collector approach for cce/tce integration.

* Add pyyaml dependency

* Make further spack reviewer changes to python type specs, mpi args, build type variant.

* Add reviewer requested changes.

* Add reviewer docstring requested changes.

* Add more updates from spack reviewer comments.

* Update the versions to use tags, not branches

* Redo dashes to fix issue with spack testing.

Co-authored-by: Jim Galarowicz <jgalarowicz@newmexicoconsortium.org>
2022-01-13 19:59:05 -06:00
Erik
eda565f3b1
AMReX Smoke Test (#27411) 2022-01-13 17:43:43 +00:00
Andrew W Elble
1ea4497802
musl: set syslibdir correctly, new versions (#28373) 2022-01-13 03:50:11 -07:00
Adam J. Stewart
7d3a696d27
fenics: specify python exe (#28323) 2022-01-12 12:47:21 -07:00
Harmen Stoppels
d74396ad21
Do not initialize config on spack compiler list (#28042)
When `spack compiler list` is run without being restricted to a
particular scope, and no compilers are found, say that none are 
available, and hint that the use should run spack compiler find to 
auto detect compilers.

* Improve docs
* Check if stdin is a tty
* add a test
2022-01-12 16:26:28 +00:00
Massimiliano Culpo
91fc4cf28f
bootstrap: fix bootstrapping GnuPG from different macOS versions (#28350) 2022-01-12 08:18:16 -08:00
Nils Leif Fischer
38fee7e0da
libogg: patch stdint include, add v1.3.5 (#28332)
Backport a patch for v1.3.4 that fixes an unsigned typedef problem
on macOS: https://github.com/xiph/ogg/pull/64

Also add v1.3.5 that has this issue fixed.
2022-01-12 09:17:52 -07:00
Andrew W Elble
b3043cae8f
grace: workaround for buffer overflows (#28232)
spack paths can be long and this overflows (at least) these buffers
inside of the bundled T1lib inside of the grace distribution, leading
to crashes on startup.
2022-01-12 17:14:37 +01:00
kwryankrattiger
6c9b781e6e
ECP-DAV: Propagate adios2 variant to paraview (#26747)
Depends on #26728 and #26175
2022-01-12 11:14:12 -05:00
Matthieu Dorier
04b9d87fca
gptune: fix build by setting compilers to mpi wrappers (#28235) 2022-01-12 17:13:37 +01:00
Harmen Stoppels
868eaeb70e
lmod: add v8.6.5 (#28353) 2022-01-12 08:26:43 -07:00
Nils Leif Fischer
0e1e705e15
charmpp: disable pre-7.0.0 macOS builds with clang@7: (#28221)
Charm++ versions below 7.0.0 have build issues on macOS, mainly due to the
pre-7.0.0 `VERSION` file conflicting with other version files on the
system: https://github.com/UIUC-PPL/charm/issues/2844. Specifically, it
conflicts with LLVM's `<version>` header that was added in llvm@7.0.0 to
comply with the C++20 standard:
https://en.cppreference.com/w/cpp/header/version. The conflict only occurs
on case-insensitive file systems, as typically used on macOS machines.
2022-01-12 15:53:49 +01:00
Adam J. Stewart
faaf38ca7d
py-torch: use conditional variants (#28242) 2022-01-12 15:52:16 +01:00
Todd Gamblin
54d741ba54 unparser: handle package-level loops, if statements, and with blocks
Many packages implement logic at the class level to handle complex dependencies and
conflicts. Others have started using `with when("@1.0"):` blocks since we added that
capability. The loops and other control logic can cause some pure directive logic not to
be removed by our package hashing logic -- and in many cases that's a lot of code that
will cause unnecessary rebuilds.

This commit changes the unparser so that it will descend into these blocks. Specifically:

  1. Descend into loops, if statements, and with blocks at the class level.
  2. Don't look inside function definitions (in or outside a class).
  3. Don't look at nested class definitions (they don't have directives)
  4. Add logic to *remove* empty loops/with blocks/if statements if all directives
     in them were removed.

This allows our package hash to ignore a lot of pure metadata that it was not ignoring
before, and makes it less sensitive.

In addition, we add `maintainers` and `tags` to the list of metadata attributes that
Spack should remove from packages when constructing canonoical source for a package
hash.

- [x] Make unparser handle if/for/while/with at class level.
- [x] Add tests for control logic removal.
- [x] Add a test to ensure that all packages are not only unparseable, but also
      that their canonical source is still compilable. This is a test for
      our control logic removal.
- [x] Add another unparse test package that has complex logic.
2022-01-12 06:14:18 -08:00
Todd Gamblin
101f080138 unparser: add unparser unit tests
These are the unit tests from astunparse, converted to pytest, with a few backports from
upstream cpython. These should hopefully keep `unparser.py` well covered as we change it.
2022-01-12 06:14:18 -08:00
Todd Gamblin
4d7226832d unparser: rename t to node to mirror upstream
These refactors have happened in upstream `ast.unparse()`
2022-01-12 06:14:18 -08:00
Todd Gamblin
0370324f1f unparser: rename _Class() methods to visit_Class() to mirror upstream
These are refactors that have happened in upstream `ast.unparse()`
2022-01-12 06:14:18 -08:00
Todd Gamblin
ec16c2d7c2 unparser: do a better job of roundtripping strings
Handle complex f-strings.  Backport of:

    a993e901eb#
2022-01-12 06:14:18 -08:00
Todd Gamblin
e9612696fd unparser: treat print(a, b, c) and print((a, b, c)) the same
We can't tell `print(a, b, c)` and `print((a, b, c))` apart -- both of these expressions
generate different ASTs in Python 2 and Python 3.  However, we can decide that we don't
care.  This commit treats both of them the same when `py_ver_consistent` is set with
`unparse()`.

This means that the package hash won't notice changes from printing a tuple to printing
multiple values, but we don't care, because this is extremely unlikely to affect the build.
More than likely this is just an error message for the user of the package.

- [x] treat `print(a, b, c)` and `print((a, b, c))` the same in py2 and py3
- [x] add another package parsing test -- legion -- that exercises this feature
2022-01-12 06:14:18 -08:00