summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-01-16Refer to mirrors by name, path, or url (#34891)Harmen Stoppels17-316/+353
With this change we get the invariant that `mirror.fetch_url` and `mirror.push_url` return valid URLs, even when the backing config file is actually using (relative) paths with potentially `$spack` and `$env` like variables. Secondly it avoids expanding mirror path / URLs too early, so if I say `spack mirror add name ./path`, it stays `./path` in my config. When it's retrieved through MirrorCollection() we exand it to say `file://<env dir>/path` if `./path` was set in an environment scope. Thirdly, the interface is simplified for the relevant buildcache commands, so it's more like `git push`: ``` spack buildcache create [mirror] [specs...] ``` `mirror` is either a mirror name, a path, or a URL. Resolving the relevant mirror goes as follows: - If it contains either / or \ it is used as an anonymous mirror with path or url. - Otherwise, it's interpreted as a named mirror, which must exist. This helps to guard against typos, e.g. typing `my-mirror` when there is no such named mirror now errors with: ``` $ spack -e . buildcache create my-mirror ==> Error: no mirror named "my-mirror". Did you mean ./my-mirror? ``` instead of creating a directory in the current working directory. I think this is reasonable, as the alternative (requiring that a local dir exists) feels a bit pendantic in the general case -- spack is happy to create the build cache dir when needed, saving a `mkdir`. The old (now deprecated) format will still be available in Spack 0.20, but is scheduled to be removed in 0.21: ``` spack buildcache create (--directory | --mirror-url | --mirror-name) [specs...] ``` This PR also touches `tmp_scope` in tests, because it didn't really work for me, since spack fixes the possible --scope values once and for all across tests, so tests failed when run out of order.
2023-01-16Add target propagation for pika package (#34924)Auriane R1-0/+17
2023-01-16Add py-python-lsp-server v1.7.0 (#34946)Alec Scott1-0/+1
2023-01-16Revert "4th chunk of nf-core deps from update/nextflow-tools (#34564)" (#34960)Harmen Stoppels19-418/+0
This reverts commit 4e63d92bc927aeb5380bdc48500abda4cda4b5bd.
2023-01-16e4s: add py-h5py (#34914)eugeneswalker1-0/+1
2023-01-16Make docbook-xml work across all entity versions (#34733)Glenn Johnson4-4/+57
Packages that use docbook-xml may specify a specific entity version. When this is specified as a version constraint in the package recipe it will cause problems when using `unify = True` in a Spack environment, as there could be multiple versions of docbook-xml in the spec. In practice, any entity version should work with any other version and everything should work with the latest version. This PR maps all Spack docbook-xml entity versions to the docbook-xml version in the spec. Ideally, the version in the spec would be the latest version. With this PR, even if a package specifies an older entity version, it will map to the entity version (latest) in the spec. This means that there can be one docbook-xml version in a Spack environment spec and packages requesting older entity versions will still work. To help facilitate this, docbook-xml version constraints for packages that have them have been removed. Those packages are dbus and gtk-doc.
2023-01-164th chunk of nf-core deps from update/nextflow-tools (#34564)Marco De La Pierre19-0/+418
2023-01-16fix libtool filter for Fujitsu compilers (#34916)Gilles Gouaillardet1-8/+8
Since legit regular expressions are matched, do not pass string=True to the filter Refs #34897
2023-01-16harfbuzz: new version 5.3.1, 6.0.0 (fixes aarch64) (#34908)Wouter Deconinck1-1/+7
A few new versions of harbuzz, but just jumping to the last non-6 version as preferred. No build system changes: - within 5 series: https://github.com/harfbuzz/harfbuzz/compare/5.1.0...5.3.1 - from 5 to 6: https://github.com/harfbuzz/harfbuzz/compare/5.3.1...6.0.0 The 5 series fixes a build issue for aarch64, https://github.com/harfbuzz/harfbuzz/issues/3768.
2023-01-16Fix incorrect configuration file name in docs (#34925)Jack Morrison1-1/+1
2023-01-16cp2k: add v2022.2, update CUDA settings (#34757)Glenn Johnson1-4/+25
2023-01-16Qt: patch additional config file (#34682)Adam J. Stewart1-89/+102
2023-01-16GASNet 2022.9.2 package update (#34942)Dan Bonachea1-0/+7
This allows client packages like UPC++ to display more precise version information when their GASNet dependency was fetched from git.
2023-01-16Add Go v1.19.5, v1.18.10, and remove deprecated versions (#34594)Alec Scott3-109/+14
2023-01-16AMD Optimized CPU Libraries: add v4.0 (#34681)AMD Toolchain Support7-36/+94
What's in AOCL 4.0: 1. amdblis LPGEMM variants with post-ops support AMD "Zen4" support for BLIS 2. amdlibflame Upgrade to LAPACK 3.10.1 specification Improvements in a few more variants of SVD and Eigen Value routines Multithread support enabled for selected APIs 3. amdfftw AVX-512 enablement of DFT kernels AVX-512 optimization of copy and transpose routines 5. amdlibm Black & Scholes support (logf, expf, erff, both scalar and vector) AVX-512 variants of vector functions 6. aocl-sparse New Iterative Solver APIs AVX-512 support for SPMV API 7. amdscalapack Upgrade to Netlib ScaLAPACK 2.2.0 Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-01-16rocsolver: expand version compatibility with fmt (#34941)Cory Bloor3-1/+161
2023-01-16restic: add v0.15.0 (#34945)Alec Scott1-0/+1
2023-01-16rclone: add v1.61.1 and deprecate old versions due to CVE-2020-28924 (#34944)Alec Scott1-7/+38
2023-01-16Add v0.109.0 and deprecate versions < v0.79.1 due to a CVE (#34943)Alec Scott1-3/+18
2023-01-16e4s ci: py-libensemble: activate variants (#34915)eugeneswalker2-2/+2
2023-01-16omnitrace: add new versions (#34955)Jonathan R. Madsen1-0/+7
- v1.5.0 - v1.6.0 - v1.7.0 - v1.7.1 - v1.7.2 - v1.7.3 - v1.7.4
2023-01-16build(deps): bump actions/setup-python from 4.4.0 to 4.5.0 (#34939)dependabot[bot]4-12/+12
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.4.0 to 4.5.0. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/5ccb29d8773c3f3f653e1705f474dfaa8a06a912...d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435) --- 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>
2023-01-16py-segmentation-models-pytorch: add v0.3.2 (#34853)Adam J. Stewart2-4/+10
2023-01-16Drop Python 3.6 again (#34442)Adam J. Stewart3-9/+6
2023-01-16Fix version number for fmt dependency of pika package (#34922)Auriane R1-1/+1
2023-01-14spectre: add v2023.01.13 (#34929)SXS Bot1-0/+3
Co-authored-by: sxs-bot <sxs-bot@users.noreply.github.com>
2023-01-14py-annoy: new package with version 1.17.1 (#34911)Christopher Christofi1-0/+21
* py-annoy: add 1.17.1 * add version specifier on dependency package
2023-01-14spack list: add `--count` option (#34950)Todd Gamblin3-9/+32
Sometimes I just want to know how many packages of a certain type there are. - [x] add `--count` option to `spack list` that output the number of packages that *would* be listed. ```console > spack list --count 6864 > spack list --count py- 2040 > spack list --count r- 1162 ```
2023-01-14Support windows paths in a spec (#34405)John W. Parent2-21/+146
Refactor Spack's spec syntax parsing to handle Windows style paths Amend unit tests to reflect this updated behavior.
2023-01-13trilinos: enable mumps solver in amesos2 if variant is set (#34927)Dominik Thoennes1-0/+1
* enable mumps solver in amesos2 if variant is set for trilinos * fix formatting
2023-01-13add conduit 0.8.6 release (#34894)Cyrus Harrison1-0/+1
2023-01-13Proper scons executable on Windows (#34934)John W. Parent1-1/+7
2023-01-13slurm: Add Version 22-05-7-1 (#34902)Dr. Christian Tacke1-0/+1
2023-01-13Add 15.0.7 (#34912)Paul R. C. Kent1-0/+1
2023-01-13Add parsl-monitoring (#34769)Sam Grayson2-0/+44
* Add packages * Style * Respond to comments * Change conflct dep type Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-13py-gevent%oneapi@2023.0.0: -Wno-error=incompatible-function-pointer-types ↵eugeneswalker1-0/+6
(#34901)
2023-01-13Paraview rocm (#34790)kwryankrattiger3-18/+32
* paraview: add `rocm` variant This conflicts with CUDA and requires at least ParaView 5.11.0. More dependencies are also needed. * E4S: Add ParaView for ROCm and CUDA stacks * DAV SDK: Update ParaView version and GPU variants * Verify using hipcc vs amdclang++ for newer hip Co-authored-by: Ben Boeckel <ben.boeckel@kitware.com>
2023-01-13Adding py-strawberryfields from Xanadu, and its deps (#34849)Marco De La Pierre9-1/+142
* adding 1st version of py-strawberryfields * py-strawberryfields: minor edit * added backbone for 4x new SF dependencies * edits to SF and its 4x new deps * added all deps for SF * added one version to py-lark-parser * py-quantum-xir with tarball from github * Update var/spack/repos/builtin/packages/py-strawberryfields/package.py Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> * updated version for py-quantum-xir : pypy fixed * py-pennylane: added pythonpackage.maintainers, too Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2023-01-13config: make path replacements lazy (#34758)Todd Gamblin1-23/+23
Currently, all of the replacements in `spack.util.path.replacements()` get evaluated for each replacement. This makes it easy to get bootstrap issues, because config is used very early on in Spack. Right now, if I run `test_autotools_gnuconfig_replacement_no_gnuconfig` on my M1 mac, I get the circular reference error below. This fixes the issue by making all of the path replacements lazy lambdas. As a bonus, this cleans up the way we do substitution for `$env` -- it's consistent with other substitutions now. - [x] make all path `replacements()` lazy - [x] clean up handling of `$env` ```console > spack unit-test -k test_autotools_gnuconfig_replacement_no_gnuconfig ... ==> [2022-12-31-15:44:21.771459] Error: AttributeError: The 'autotools-config-replacement' package cannot find an attribute while trying to build from sources. This might be due to a change in Spack's package format to support multiple build-systems for a single package. You can fix this by updating the build recipe, and you can also report the issue as a bug. More information at https://spack.readthedocs.io/en/latest/packaging_guide.html#installation-procedure /Users/gamblin2/src/spack/lib/spack/spack/package_base.py:1332, in prefix: 1330 @property 1331 def prefix(self): >> 1332 """Get the prefix into which this package should be installed.""" 1333 return self.spec.prefix Traceback (most recent call last): File "/Users/gamblin2/src/spack/lib/spack/spack/build_environment.py", line 1030, in _setup_pkg_and_run kwargs["env_modifications"] = setup_package( ^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/build_environment.py", line 757, in setup_package set_module_variables_for_package(pkg) File "/Users/gamblin2/src/spack/lib/spack/spack/build_environment.py", line 596, in set_module_variables_for_package m.std_cmake_args = spack.build_systems.cmake.CMakeBuilder.std_args(pkg) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/build_systems/cmake.py", line 241, in std_args define("CMAKE_INSTALL_PREFIX", pkg.prefix), ^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/package_base.py", line 1333, in prefix return self.spec.prefix ^^^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/spec.py", line 1710, in prefix self.prefix = spack.store.layout.path_for_spec(self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/directory_layout.py", line 336, in path_for_spec path = self.relative_path_for_spec(spec) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/directory_layout.py", line 106, in relative_path_for_spec projection = spack.projections.get_projection(self.projections, spec) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/projections.py", line 13, in get_projection if spec.satisfies(spec_like, strict=True): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/spec.py", line 3642, in satisfies if not self.virtual and other.virtual: ^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/spec.py", line 1622, in virtual return spack.repo.path.is_virtual(self.name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 890, in is_virtual return have_name and pkg_name in self.provider_index ^^^^^^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 770, in provider_index self._provider_index.merge(repo.provider_index) ^^^^^^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 1096, in provider_index return self.index["providers"] ~~~~~~~~~~^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 592, in __getitem__ self._build_all_indexes() File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 607, in _build_all_indexes self.indexes[name] = self._build_index(name, indexer) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 616, in _build_index index_mtime = self.cache.mtime(cache_filename) ^^^^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/llnl/util/lang.py", line 826, in __getattr__ return getattr(self.instance, name) ^^^^^^^^^^^^^ File "/Users/gamblin2/src/spack/lib/spack/llnl/util/lang.py", line 825, in __getattr__ raise AttributeError() AttributeError ```
2023-01-13Celeritas: new versions 0.1.4 and 0.2.0 (#34883)Seth R. Johnson1-0/+2
2023-01-12libfabric can now find external installation (#33796)Brian Van Essen1-1/+52
* Added support for libfabric to find an external installation and identify variants supported. * Change the fabrics definition to only include CXI when on a cray system with a libfabric-based slingshot network. * Added a conflict when trying to build the CXI fabric value since it is only available as closed source at this time.
2023-01-12Ninja package: resolve circular dependency (#34887)John W. Parent1-1/+5
#33128 Introduces a dependency on re2c into the Ninja build recipe. This is problematic on Windows as we use CMake to build re2c, and Ninja to drive the CMake build. This PR resolves this issue by adding a variant to toggle the use of re2c with ninja.
2023-01-12py-matplotlib: add v3.6.3 (#34903)Adam J. Stewart1-0/+1
2023-01-12ratel - add version 0.2.1 (#34895)Jeremy L Thompson1-2/+4
* ratel - add version 0.2.0 * ratel - use patch release 0.2.1 b/c tet test bug
2023-01-12Add fpart package (#34896)Derek Ryan Strong1-0/+29
* Add fpart package * Use default autoreconf implementation * Switch copyright year
2023-01-12bugfix rmda-core external find library (#34484)Brian Van Essen1-1/+6
* Added a more robust check for an external version of the library. Included a guard to identify when the library gives no discernible version information and then to substitute with "unknown_ver" identifier.
2023-01-12Documentation: Add installation policy to packaging guide (#34878)Tamara Dahlgren1-0/+9
2023-01-12sed %oneapi@2023.0.0: -Wno-error=incompatible-function-pointer-types (#34898)eugeneswalker1-0/+7
2023-01-12cURL package: add support for building on Windows (#30169)John W. Parent1-8/+78
2023-01-12gmp: Add `cxx` variant, and require it in `libint` package (#34881)Mosè Giordano2-2/+3