* imagemagick: new variant ghostscript
Ghostscript adds about 75 dependencies to an installation of
imagemagick (97 without, 172 with Ghostscript). This adds a
variant (defaulting to true for backward compatibility) that
allows users to turn off Ghostscript support.
* imagemagick: be explicit when `--with-gslib`
* imagemagick: fix suggestion fail
* imagemagick: use spec.prefix.share.font
* imagemagick: default ghostscript false
* imagemagick: no need for join_path anymore
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
This PR deprecates using Spack to install [EOL Python versions](https://endoflife.date/python), including Python 2.7, 3.1–3.6. It also deprecates running Spack with Python 2.7. Going forward, we expect Spack to have the following Python support timeline.
### Running Spack
* Spack 0.18 (spring 2022): Python 2.7, 3.5–3.10
* Spack 0.19 (fall 2022): Python 2.7 (deprecated), 3.6–3.11
* Spack 0.20 (spring 2023): Python 3.6–3.11
### Building with Spack
* Spack 0.18 (spring 2022): Python 2.7, 3.1–3.10
* Spack 0.19 (fall 2022): Python 2.7, 3.1–3.6 (deprecated), 3.7–3.11
* Spack 0.20 (spring 2023): Python 3.7–3.11
This is a reboot of #28003. See #31824 for a detailed discussion of the motivation for this PR.
If you have concerns about this change, please comment on #31824.
* py-datalad: add 0.17.5
* Fix description of py-types-urllib3
* Update var/spack/repos/builtin/packages/py-datalad/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-datalad/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add colorama dependency for windows
* Fix importlib-metadata dependency
* Update var/spack/repos/builtin/packages/py-pytest/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-pytest/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-pytest/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Use conflict to avoid dependency duplication
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Allow the nccl flag to be specified even for ROCm builds so that NCCL kernels are included in the build.
In this case the NCCL kernels will use RCCL as the backend implementation.
* Adding intel-oneapi-itac package
* Make black happy
* add rscohn2 as maintainer
* black prefers double quotes
Co-authored-by: Stephen Sachs <stesachs@amazon.com>
Co-authored-by: Robert Cohn <rscohn2@gmail.com>
* Don't run bootstrap on package only PRs
* Run bootstrap tests when ci.yaml is modified
* Test a package only PR
* Revert "Test a package only PR"
This reverts commit af96b1af60b0c31efcc9a2875ffb1a809ef97241.
Now that `podio` can support `cxxstd` variants 17 and 20, we can allow `edm4hep` to use `cxxstd=20` as well, but must ensure that `edm4hep` uses the same `cxxstd` variant as `podio`. Solution as in `celeritas`.
This fixes a bug where two installations that differ only by package hash will not show
up in `spack find`.
The bug arose because `_cmp_node` on `Spec` didn't include the package hash in its
yielded fields. So, any two `Spec` objects that were only different by package hash
would appear to be equal and would overwrite each other when inserted into the same
`dict`. Note that we could still *install* specs with different package hashes, and they
would appear in the database, but we code that needed to put them into data structures
that use `__hash__` would have issues.
This PR makes `Spec.__hash__` and `Spec.__eq__` include the `process_hash()`, and it
makes `Spec._cmp_node` include the package hash. All of these *should* include all
information in a spec so that we don't end up in a situation where we are blind to
particular field differences.
Eventually, we should unify the `_cmp_*` methods with `to_node_dict` so there aren't two
sources of truth, but this needs some thought, since the `_cmp_*` methods exist for
speed. We should benchmark whether it's really worth having two types of hashing now
that we use `json` instead of `yaml` for spec hashing.
- [x] Add `package_hash` to `Spec._cmp_node`
- [x] Add `package_hash` to `spack.solve.asp.spec_clauses` so that the `package_hash`
will show up in `spack diff`.
- [x] Add `package_hash` to the `process_hash` (which doesn't affect abstract specs
but will make concrete specs correct)
- [x] Make `_cmp_iter` report the dag_hash so that no two specs with different
process hashes will be considered equal.
* initial commit of 0.5.0 changes
* updated dependencies
* updated ffcx sha
* comment style
* llvm compilers
* introduce pugixml dependency for 0.5.0:
* update compilers to support C++20 features
* style fixes
* xtensor and xtl not needed for basix 0.5.0 and above
* Skip to Basix 0.5.1
The 0.5.1 release removes the C++ build dependency on Python that sneaked into the 0.5.0 build system.
* Improve depends on version ranges
* More dependency version improvements
Co-authored-by: Chris Richardson <chris@bpi.cam.ac.uk>
Co-authored-by: Garth N. Wells <gnw20@cam.ac.uk>
* added missing dependency for py-msgpack that breaks neovim
* Update var/spack/repos/builtin/packages/py-pynvim/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Robert Underwood <runderwood@anl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
The issue is that we are not not able to install (Fetch URL error) any
version of catalyst other than the specified in the spack package.py.
This very version is accessible only because it is cached by Spack. The
real URL does not exist anymore, I believe the reason is that there used
to be a tag in catalyst that does not exist anymore.
53a7b49 created a reference error which broke `.libs` (and
`find_libraries`) for many packages. This fixes the reference
error and improves the testing for `find_libraries` by actually
checking the extension types of libraries that are retrieved by
the function.
* catch json schema errors and reraise as property of SpackError
* no need to catch subclass of given error
* Builtin json library for Python 2 uses more generic type
* Correct instantiation of SpackError (requires a string rather than an exception)
* Use exception chaining (where possible)