summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-11-24petsc, slepc: enable parallel builds (#34024)Satish Balay2-4/+3
2022-11-24gnuplot: fix build with Apple Clang (#34092)Adam J. Stewart1-1/+3
2022-11-24HighFive: bump to 2.6.2 (#34090)Nicolas Cornu1-0/+3
2022-11-24docs: update info on XCode requirements (#34097)Valentin Volkl1-2/+3
2022-11-23ecflow: polish recipe (#34043)Massimiliano Culpo2-13/+24
2022-11-23Control Werror by converting to Wno-error (#30882)Tom Scogland8-1/+184
Using `-Werror` is good practice for development and testing, but causes us a great deal of heartburn supporting multiple compiler versions, especially as newer compiler versions add warnings for released packages. This PR adds support for suppressing `-Werror` through spack's compiler wrappers. There are currently three modes for the `flags:keep_werror` setting: * `none`: (default) cancel all `-Werror`, `-Werror=*` and `-Werror-*` flags by converting them to `-Wno-error[=]*` flags * `specific`: preserve explicitly selected warnings as errors, such as `-Werror=format-truncation`, but reverse the blanket `-Werror` * `all`: keeps all `-Werror` flags These can be set globally in config.yaml, through the config command-line flags, or overridden by a particular package (some packages use Werror as a proxy for determining support for other compiler features). We chose to use this approach because: 1. removing `-Werror` flags entirely broke *many* build systems, especially autoconf based ones, because of things like checking `-Werror=feature` and making the assumption that if that did not error other flags related to that feature would also work 2. Attempting to preserve `-Werror` in some phases but not others caused similar issues 3. The per-package setting came about because some packages, even with all these protections, still use `-Werror` unsafely. Currently there are roughly 3 such packages known.
2022-11-23[py-antlr4-python3-runtime] Added versions 4.9.3 and 4.10 (#34102)Jen Herting1-0/+2
* Working updates to py-antlr4-python3-runtime and py-omegaconf * [py-antlr4-python3-runtime] added version 4.9.3 * [@spackbot] updating style on behalf of qwertos Co-authored-by: Benjamin Meyers <bsmits@rit.edu> Co-authored-by: qwertos <qwertos@users.noreply.github.com>
2022-11-23`url_exists` related improvements (#34095)Harmen Stoppels2-64/+78
For reasons beyond me Python thinks it's a great idea to upgrade HEAD requests to GET requests when following redirects. So, this PR adds a better `HTTPRedirectHandler`, and also moves some ad-hoc logic around for dealing with disabling SSL certs verification. Also, I'm stumped by the fact that Spack's `url_exists` does not use HEAD requests at all, so in certain cases Spack awkwardly downloads something first to see if it can download it, and then downloads it again because it knows it can download it. So, this PR ensures that both urllib and botocore use HEAD requests. Finally, it also removes some things that were there to support currently unsupported Python versions. Notice that the HTTP spec [section 10.3.2](https://datatracker.ietf.org/doc/html/rfc2616.html#section-10.3.2) just talks about how to deal with POST request on redirect (whether to follow or not): > If the 301 status code is received in response to a request other > than GET or HEAD, the user agent MUST NOT automatically redirect the > request unless it can be confirmed by the user, since this might > change the conditions under which the request was issued. > Note: When automatically redirecting a POST request after > receiving a 301 status code, some existing HTTP/1.0 user agents > will erroneously change it into a GET request. Python has a comment about this, they choose to go with the "erroneous change". But they then mess up the HEAD request while following the redirect, probably because they were too busy discussing how to deal with POST. See https://github.com/python/cpython/pull/99731
2022-11-23E4S: Conservatively add ecp-data-vis-sdk (#33621)kwryankrattiger2-19/+10
* E4S: Conservatively add ecp-data-vis-sdk * Remove ascent from CUDA SDK stack to stop hanging on Dray * Adios2: Newer FindPython uses Python_EXECUTABLE
2022-11-23Revert "gitlab: Add shared PR mirror to places pipelines look for binaries. ↵Harmen Stoppels3-17/+0
(#33746)" (#34087) This reverts commit 5c4137baf19b9e271a2f13e886d6b875aab067dd.
2022-11-23New package: py-imagecodecs (#34098)Jen Herting1-0/+110
* [libjpeg-turbo] Added version 2.1.3 * [imagecodecs] Added jpeg deependency commented outconglicting libraries * [WIP] * [py-imagecodecs] modifying setup.py to work with spack install locations * [py-imagecodecs] Removed comments and unneeded dependencies * [py-imagecodecs] removed some comments and fixed up some flake8 complaints * [py-imagecodecs] flake8 * [py-imagecodecs] fixed import * [@spackbot] updating style on behalf of qwertos Co-authored-by: James A Zilberman <jazrc@rit.edu> Co-authored-by: qwertos <qwertos@users.noreply.github.com>
2022-11-23libelf: fix build on macOS arm64 (#34036)Adam J. Stewart1-1/+16
2022-11-23Add checksum for py-cffi 1.15.1 (#34081)iarspider1-0/+1
2022-11-23Add checksum for py-parsimonious 0.10.0 (#34079)iarspider1-1/+3
2022-11-23openloops: add check for added Fortran compiler (#34014)Bernhard Kaindl1-0/+2
2022-11-23berkelygw: use mpi variant for scalapack (#33948)Henning Glawe1-26/+46
The package.py assumed "+mpi" in many places, without checking for the variant. This problem went undetected, as a hard dependency on scalapack pulled an mpi implementation into the dependency chain (this is also fixed). Also, the +mpi variant is used select between serial and parallel mode: It has to enable MPI and ScaLAPACK: They are inter-dependent. Compile fails because of checks for the other if the other is not enabled. Co-authored-by: Bernhard Kaindl <contact@bernhard.kaindl.dev>
2022-11-23rocm: add minimum versions for amdgpu_targets (#34030)Cory Bloor1-0/+23
2022-11-23Add conflicts statements to flux-core to limit builds to linux based ↵Alec Scott1-0/+4
platforms (#34068)
2022-11-23libxcrypt: add v4.33 (#34069)Harmen Stoppels1-0/+3
2022-11-23Build System docs: consistent headers (#34047)Adam J. Stewart8-30/+30
2022-11-23make/ninja: use the right number of jobs (#34057)Harmen Stoppels3-5/+11
2022-11-23capnproto: update to v0.10.2 (#34063)Alexander Knieps1-7/+64
Co-authored-by: Alexander Knieps <a.knieps@fz-juelich.de>
2022-11-23boost: At least with older Xcode, boost can't build with lzma (#34075)Bernhard Kaindl1-0/+3
Reference: https://lists.boost.org/Archives/boost/2019/11/247380.php As reported at the end of #33998 and this link, liblzma on older Xcode on MacOSX 10 misses _lzma_cputhreads, so boost's can't use liblzma on those.
2022-11-23[mochi-margo] fixed dependency to Argobots (#34082)Matthieu Dorier1-0/+1
2022-11-23New package: py-rasterstats (#34070)Jen Herting1-0/+27
* Fixed dependencies for rasterstats * Fixed flake8 errors * Fix flake8 error * Cleans up package desc., adds build dependency on setuptools. * Fixes flake8 error Co-authored-by: Bailey Brown <bobits@rit.edu>
2022-11-23dyninst: add v12.2.1 (#34050)Tim Haines1-0/+1
2022-11-23Metall package: add v0.22, v0.23, and v0.23.1 (#34073)Keita Iwabuchi1-0/+3
2022-11-23form: new version 4.3.0 (#34078)Takahiro Ueda1-0/+1
2022-11-23ccache: add new versions (#34067)Mosè Giordano1-0/+8
2022-11-23span-lite: Add new versions (#34072)Umar Arshad1-1/+6
2022-11-22cmd/checksum: allow adding new versions to package (#24532)Michael Kuhn4-9/+99
This adds super-lazy maintainer mode to `spack checksum`: Instead of only printing the new checksums to the terminal, `-a` and `--add-to-package` will add the new checksums to the `package.py` file and open it in the editor afterwards for final checks.
2022-11-22Python: drop EOL versions (#33898)Adam J. Stewart542-8285/+321
This PR removes [end of life](https://endoflife.date/python) versions of Python from Spack. Specifically, this includes all versions of Python older than 3.7. See https://github.com/spack/spack/discussions/31824 for rationale. Deprecated in #32615. And #28003. For anyone using software that relies on Python 2, you have a few options: * Upgrade the software to support Python 3. The `3to2` tool may get you most of the way there, although more complex libraries may need manual tweaking. * Add Python 2 as an [external package](https://spack.readthedocs.io/en/latest/build_settings.html#external-packages). Many Python libraries do not support Python 2, but you may be able to add older versions that did once upon a time. * Use Spack 0.19. Spack 0.19 is the last release to officially support Python 3.6 and older * Create and maintain your own [custom repository](https://spack.readthedocs.io/en/latest/repositories.html). Basically, you would need a package for Python 2 and any other Python 2-specific libraries you need.
2022-11-22spack uninstall: use topo order (#34053)Harmen Stoppels2-50/+17
2022-11-22berkeleygw: fix build (no change to attribute spec.compiler_flags) (#34019)Bernhard Kaindl1-7/+7
2022-11-22cpu-features: Fix appending -DBUILD_SHARED_LIBS (#34055)iarspider1-3/+3
Also: * Use the release tarball for v0.7.0 to fix spack warning Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2022-11-22eckit: add v1.20.2, v1.16.3 (#33200)Dominic Hofer1-0/+2
Co-authored-by: Bernhard Kaindl <contact@bernhard.kaindl.dev>
2022-11-22Revert "Warn about removal of deprecated format strings (#33829)" (#34056)Massimiliano Culpo4-9/+6
This reverts commit 7f9af8d4a0bfbb1577e5ac9982624d8d0cb9b9ca.
2022-11-22Warn about removal of deprecated format strings (#33829)Greg Becker4-6/+9
Co-authored-by: becker33 <becker33@users.noreply.github.com>
2022-11-22Windows: add registry query and SDK/WDK packages (#33021)John W. Parent14-89/+961
* Add a WindowsRegistryView class, which can query for existing package installations on Windows. This is particularly important because some Windows packages (including those added here) do not allow two simultaneous installs, and this can be queried in order to provide a clear error message. * Consolidate external path detection logic for Windows into WindowsKitExternalPaths and WindowsCompilerExternalPaths objects. * Add external-only packages win-sdk and wgl * Add win-wdk (including external detection) which depends on win-sdk * Replace prior msmpi implementation with a source-based install (depends on win-wdk). This install can control the install destination (unlike the binary installation). * Update MSVC compiler to choose vcvars based on win-sdk dependency * Provide "msbuild" module-level variable to packages during build * When creating symlinks on Windows, need to explicitly specify when a symlink target is a directory * executables_in_path no-longer defaults to using PATH (this is now expected to be taken care of by the caller)
2022-11-22py-kubernetes: add version 25.3.0 (#33915)genric1-0/+1
2022-11-22gnuconfig: bump with 2022-09-17 (#34035)Harmen Stoppels1-0/+3
2022-11-21py-fprettify: new version 0.3.7 (#34040)Sergey Kosukhin1-0/+1
2022-11-21qiskit: updates (#33877)Andrew W Elble5-13/+56
2022-11-21Spec traversal: add option for topological ordering (#33817)Harmen Stoppels2-99/+371
Spec traversals can now specify a topological ordering. A topologically- ordered traversal with input specs X1, X2... will * include all of X1, X2... and their children * be ordered such that a given node is guaranteed to appear before any of its children in the traversal Other notes: * Input specs can be children of other input specs (this is useful if a user specifies a set of specs to uninstall: some of those specs might be children of others) * `direction="parents"` will produce a reversed topological order (children always come before parents). * `cover="edges"` will generate a list of edges L such that (a) input edges will always appear before output edges and (b) if you create a list with the destination of each edge in L the result is topologically ordered
2022-11-22libjpeg-turbo: make build_system settings comprehensive (#34046)Chris Green1-1/+1
2022-11-21Speed-up a few unit-tests (#34044)Massimiliano Culpo3-3/+3
* test_suite.py: speed up slow test by using mock packages * Don't resolve the sha during unit-tests * Skip long-running test that fails, instead of executing it
2022-11-21Fixed the rdma-core package to find its external library (#33798)Brian Van Essen1-1/+1
2022-11-21ecflow: add v5.8.3, update with changes from JCSDA-EMC fork (#34038)Dom Heinzeller1-7/+32
2022-11-21ci: restore ability to reproduce gitlab job failures (#33953)Scott Wittenburg1-3/+18
2022-11-21uninstall: fix accidental cubic complexity (#34005)Harmen Stoppels3-17/+66
* uninstall: fix accidental cubic complexity Currently spack uninstall runs in worst case cubic time complexity thanks to traversal during traversal during traversal while collecting the specs to be uninstalled. Also brings down the number of error messages printed to something linear in the amount of matching specs instead of quadratic.