summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-11-15Likwid: add version 5.4.0 (#47630)Thomas Gruber1-0/+1
2024-11-15celeritas: remove ancient versions and add CUDA package dependency (#47629)Seth R. Johnson1-58/+14
* celeritas: remove deprecated versions through 0.3 * celeritas: deprecate old versions * celeritas: add c++20 option * Propagate vecgeom CUDA requirements * Remove outdated conflicts and format it
2024-11-15build(deps): bump sphinx-rtd-theme in /lib/spack/docs (#47588)dependabot[bot]1-1/+1
Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 3.0.1 to 3.0.2. - [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst) - [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/3.0.1...3.0.2) --- updated-dependencies: - dependency-name: sphinx-rtd-theme dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-15[mfem] Add a patch for MFEM v4.7 that adds support for SUDIALS v7 (#47591)Veselin Dobrev3-2/+1136
2024-11-15Add missing llnl.* imports (#47618)Harmen Stoppels2-2/+3
2024-11-15Improve type hints for package API (#47576)Harmen Stoppels79-796/+897
by disentangling `package_base`, `builder` and `directives`.
2024-11-14py-easybuild-framework: add python forward compat bound (#47597)etiennemlb1-0/+2
2024-11-14yyjson: new package (#47563)Pranav Sivaraman1-0/+23
* yyjson: new package * [@spackbot] updating style on behalf of pranav-sivaraman --------- Co-authored-by: pranav-sivaraman <pranav-sivaraman@users.noreply.github.com>
2024-11-14eccodes: add v2.38.0 (#47581)Dominic Hofer1-0/+1
* eccodes: Add 2.38.0 * Update var/spack/repos/builtin/packages/eccodes/package.py
2024-11-14Rework `spack.database.InstallStatuses` into a flag (#47321)Massimiliano Culpo17-159/+196
2024-11-14Remove support for PGI compilers (#47195)Massimiliano Culpo88-2480/+65
2024-11-13Spec: prefer a splice-specific method to `__len__` (#47585)Todd Gamblin6-25/+59
Automatic splicing say `Spec` grow a `__len__` method but it's only used in one place and it's not clear the semantics are useful elsewhere. It also runs the risk of Specs one day being confused for other types of containers. Rather than introduce a new function for one algorithm, let's use a more specific method in the splice code. - [x] Use topological ordering in `_resolve_automatic_splices` instead of sorting by node count - [x] delete `Spec.__len__()` and `Spec.__bool__()` --------- Signed-off-by: Todd Gamblin <tgamblin@llnl.gov> Co-authored-by: Greg Becker <becker33@llnl.gov> Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-11-14Update tutorial version (#47593)psakievich1-1/+1
2024-11-13xfsprogs: fix dependency on liburcu (#47582)Matthieu Dorier1-1/+18
* xfsprogs: fix dependency on liburcu * xfsprogs: fix install rules.d * xfsprogs: edited xfsprogs requirement on liburcu * xfsprogs: many more versions
2024-11-13hermes-shm: remove duplicate line (#47575)H. Joe Lee1-1/+0
close #10
2024-11-13`spack spec`: simplify and unify output (#47574)Todd Gamblin1-42/+23
`spack spec` output has looked like this for a while: ```console > spack spec /v5fn6xo /wd2p2v7 Input spec -------------------------------- - /v5fn6xo Concretized -------------------------------- [+] openssl@3.3.1%apple-clang@16.0.0~docs+shared build_system=generic certs=mozilla arch=darwin-sequoia-m1 [+] ^ca-certificates-mozilla@2023-05-30%apple-clang@16.0.0 build_system=generic arch=darwin-sequoia-m1 ... Input spec -------------------------------- - /wd2p2v7 Concretized -------------------------------- [+] py-six@1.16.0%apple-clang@16.0.0 build_system=python_pip arch=darwin-sequoia-m1 [+] ^py-pip@23.1.2%apple-clang@16.0.0 build_system=generic arch=darwin-sequoia-m1 ``` But the input spec is right there on the CLI, and it doesn't add anything to the output. Also, since #44843, specs concretized in the CLI line can be unified, so it makes sense to display them as we did in #44489 -- as one multi-root tree instead of as multiple single-root trees. With this PR, concretize output now looks like this: ```console > spack spec /v5fn6xo /wd2p2v7 [+] openssl@3.3.1%apple-clang@16.0.0~docs+shared build_system=generic certs=mozilla arch=darwin-sequoia-m1 [+] ^ca-certificates-mozilla@2023-05-30%apple-clang@16.0.0 build_system=generic arch=darwin-sequoia-m1 [+] ^gmake@4.4.1%apple-clang@16.0.0~guile build_system=generic arch=darwin-sequoia-m1 [+] ^perl@5.40.0%apple-clang@16.0.0+cpanm+opcode+open+shared+threads build_system=generic arch=darwin-sequoia-m1 [+] ^berkeley-db@18.1.40%apple-clang@16.0.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=darwin-sequoia-m1 [+] ^bzip2@1.0.8%apple-clang@16.0.0~debug~pic+shared build_system=generic arch=darwin-sequoia-m1 [+] ^diffutils@3.10%apple-clang@16.0.0 build_system=autotools arch=darwin-sequoia-m1 [+] ^libiconv@1.17%apple-clang@16.0.0 build_system=autotools libs=shared,static arch=darwin-sequoia-m1 [+] ^gdbm@1.23%apple-clang@16.0.0 build_system=autotools arch=darwin-sequoia-m1 [+] ^readline@8.2%apple-clang@16.0.0 build_system=autotools patches=bbf97f1 arch=darwin-sequoia-m1 [+] ^ncurses@6.5%apple-clang@16.0.0~symlinks+termlib abi=none build_system=autotools patches=7a351bc arch=darwin-sequoia-m1 [+] ^pkgconf@2.2.0%apple-clang@16.0.0 build_system=autotools arch=darwin-sequoia-m1 [+] ^zlib-ng@2.2.1%apple-clang@16.0.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=darwin-sequoia-m1 [+] ^gnuconfig@2022-09-17%apple-clang@16.0.0 build_system=generic arch=darwin-sequoia-m1 [+] py-six@1.16.0%apple-clang@16.0.0 build_system=python_pip arch=darwin-sequoia-m1 [+] ^py-pip@23.1.2%apple-clang@16.0.0 build_system=generic arch=darwin-sequoia-m1 [+] ^py-setuptools@69.2.0%apple-clang@16.0.0 build_system=generic arch=darwin-sequoia-m1 [-] ^py-wheel@0.41.2%apple-clang@16.0.0 build_system=generic arch=darwin-sequoia-m1 ... ``` With no input spec displayed -- just the concretization output shown as one consolidated tree and multiple roots. - [x] remove "Input Spec" section and "Concretized" header from `spack spec` output - [x] print concretized specs as one BFS tree instead of multiple --------- Signed-off-by: Todd Gamblin <tgamblin@llnl.gov> Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2024-11-13nlopt: reformat for best practices (#47340)Alec Scott1-21/+8
2024-11-13dealii: add v9.6.0 (#45554)Luca Heltai4-13/+39
Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com> Co-authored-by: Satish Balay <balay@mcs.anl.gov>
2024-11-13bump version to 0.24.0.dev0 (#47578)Harmen Stoppels1-1/+1
2024-11-13missing and redundant imports (#47577)Harmen Stoppels5-4/+5
2024-11-12Add SVE as a variant for Neoverse N2. Default to true, but should be (#47567)dslarm1-1/+1
benchmarked to test if that is a correct decision.
2024-11-12Add solver capability for synthesizing splices of ABI compatible packages. ↵John Gouwar24-59/+885
(#46729) This PR provides complementary 2 features: 1. An augmentation to the package language to express ABI compatibility relationships among packages. 2. An extension to the concretizer that can synthesize splices between ABI compatible packages. 1. The `can_splice` directive and ABI compatibility We augment the package language with a single directive: `can_splice`. Here is an example of a package `Foo` exercising the `can_splice` directive: class Foo(Package): version("1.0") version("1.1") variant("compat", default=True) variant("json", default=False) variant("pic", default=False) can_splice("foo@1.0", when="@1.1") can_splice("bar@1.0", when="@1.0+compat") can_splice("baz@1.0+compat", when="@1.0+compat", match_variants="*") can_splice("quux@1.0", when=@1.1~compat", match_variants="json") Explanations of the uses of each directive: - `can_splice("foo@1.0", when="@1.1")`: If `foo@1.0` is the dependency of an already installed spec and `foo@1.1` could be a valid dependency for the parent spec, then `foo@1.1` can be spliced in for `foo@1.0` in the parent spec. - `can_splice("bar@1.0", when="@1.0+compat")`: If `bar@1.0` is the dependency of an already installed spec and `foo@1.0+compat` could be a valid dependency for the parent spec, then `foo@1.0+compat` can be spliced in for `bar@1.0+compat` in the parent spec - `can_splice("baz@1.0", when="@1.0+compat", match_variants="*")`: If `baz@1.0+compat` is the dependency of an already installed spec and `foo@1.0+compat` could be a valid dependency for the parent spec, then `foo@1.0+compat` can be spliced in for `baz@1.0+compat` in the parent spec, provided that they have the same value for all other variants (regardless of what those values are). - `can_splice("quux@1.0", when=@1.1~compat", match_variants="json")`:If `quux@1.0` is the dependency of an already installed spec and `foo@1.1~compat` could be a valid dependency for the parent spec, then `foo@1.0~compat` can be spliced in for `quux@1.0` in the parent spec, provided that they have the same value for their `json` variant. 2. Augmenting the solver to synthesize splices ### Changes to the hash encoding in `asp.py` Previously, when including concrete specs in the solve, they would have the following form: installed_hash("foo", "xxxyyy") imposed_constraint("xxxyyy", "foo", "attr1", ...) imposed_constraint("xxxyyy", "foo", "attr2", ...) % etc. Concrete specs now have the following form: installed_hash("foo", "xxxyyy") hash_attr("xxxyyy", "foo", "attr1", ...) hash_attr("xxxyyy", "foo", "attr2", ...) This transformation allows us to control which constraints are imposed when we select a hash, to facilitate the splicing of dependencies. 2.1 Compiling `can_splice` directives in `asp.py` Consider the concrete spec: foo@2.72%gcc@11.4 arch=linux-ubuntu22.04-icelake build_system=autotools ^bar ... It will emit the following facts for reuse (below is a subset) installed_hash("foo", "xxxyyy") hash_attr("xxxyyy", "hash", "foo", "xxxyyy") hash_attr("xxxyyy", "version", "foo", "2.72") hash_attr("xxxyyy", "node_os", "ubuntu22.04") hash_attr("xxxyyy", "hash", "bar", "zzzqqq") hash_attr("xxxyyy", "depends_on", "foo", "bar", "link") Rules that derive abi_splice_conditions_hold will be generated from use of the `can_splice` directive. They will have the following form: can_splice("foo@1.0.0+a", when="@1.0.1+a", match_variants=["b"]) ---> abi_splice_conditions_hold(0, node(SID, "foo"), "foo", BaseHash) :- installed_hash("foo", BaseHash), attr("node", node(SID, SpliceName)), attr("node_version_satisfies", node(SID, "foo"), "1.0.1"), hash_attr("hash", "node_version_satisfies", "foo", "1.0.1"), attr("variant_value", node(SID, "foo"), "a", "True"), hash_attr("hash", "variant_value", "foo", "a", "True"), attr("variant_value", node(SID, "foo"), "b", VariVar0), hash_attr("hash", "variant_value", "foo", "b", VariVar0). 2.2 Synthesizing splices in `concretize.lp` and `splices.lp` The ASP solver generates "splice_at_hash" attrs to indicate that a particular node has a splice in one of its immediate dependencies. Splices can be introduced in the dependencies of concrete specs when `splices.lp` is conditionally loaded (based on the config option `concretizer:splice:True`. 2.3 Constructing spliced specs in `asp.py` The method `SpecBuilder._resolve_splices` implements a top-down memoized implementation of hybrid splicing. This is an optimization over the more general `Spec.splice`, since the solver gives a global view of exactly which specs can be shared, to ensure the minimal number of splicing operations. Misc changes to facilitate configuration and benchmarking - Added the method `Solver.solve_with_stats` to expose timers from the public interface for easier benchmarking - Added the boolean config option `concretizer:splice` to conditionally load splicing behavior Co-authored-by: Greg Becker <becker33@llnl.gov>
2024-11-13py-nugraph, ph5concat, py-numl: Add new nugraph packages (#47315)v3-0/+109
2024-11-12spectre: add v2024.03.19 (#43275)SXS Bot1-0/+3
Co-authored-by: sxs-bot <sxs-bot@users.noreply.github.com>
2024-11-12parse_specs: special case for concretizing lookups quickly (#47556)Greg Becker4-3/+182
We added unification semantics for parsing specs from the CLI, but there are a couple of special cases in which we can avoid calls to the concretizer for speed when the specs can all be resolved by lookups. - [x] special case 1: solving a single spec - [x] special case 2: all specs are either concrete (come from a file) or have an abstract hash. In this case if concretizer:unify:true we need an additional check to confirm the specs are compatible. - [x] add a parameterized test for unifying on the CI --------- Signed-off-by: Todd Gamblin <tgamblin@llnl.gov> Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2024-11-12restic: add v0.17.3 (#47553)Alec Scott1-0/+1
2024-11-12direnv: add v2.35.0 (#47551)Alec Scott1-0/+1
2024-11-12geomodel: Allow configuring C++ standard (#47422)Paul Gessinger1-0/+9
* geomodel: Allow configuring C++ standard * drop c++11
2024-11-12glab: add v1.48.0 (#47552)Alec Scott1-0/+2
2024-11-12parsec: update urls (#47416)Wouter Deconinck1-13/+5
* parsec: update urls * parsec: fix homepage
2024-11-12xfsprogs: fix dependency on gettext (#47547)Matthieu Dorier1-1/+2
* xfsprogs: fix dependency on gettext * changed dependency on gettext in xfsprogs Co-authored-by: Wouter Deconinck <wdconinc@gmail.com> --------- Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
2024-11-12openssh: add v9.9p1 (#47555)Wouter Deconinck1-23/+26
2024-11-12py-constantly: add v23.10.4 (#47548)Matthieu Dorier4-0/+5
* py-constantly: added version 23.10.4 * py-constantly: fixed dependency on py-versioneer * py-constantly: updated py-versioneer dependency Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> --------- Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2024-11-12costo: new package and to fix the build, add pkgconfig dep to vtk (#47121)teddy2-2/+52
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2024-11-12expat: Add 2.6.4 with security fixes + deprecate vulnerable 2.6.3 (#47521)Sebastian Pipping1-3/+8
2024-11-12llvm-amdgpu: add missing dependency on libxml2 (#47560)Harmen Stoppels1-0/+1
2024-11-12getting_started.rst: fix list of spack deps (#47557)Harmen Stoppels1-3/+3
2024-11-11py-cryptography: add v43.0.3 (switch to maturin) (#47546)Wouter Deconinck1-3/+11
* py-cryptography: add v43.0.3 (switch to maturin) * py-cryptography: deny some setuptools versions * py-cryptography: depends_on py-setuptools-rust when @42, no range --------- Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2024-11-11environment-modules: add version 5.5.0 (#47543)Xavier Delaruelle1-2/+11
This new version is compatible with Tcl 9.0. It also requires 'util-linux' for new logging capabilities.
2024-11-11gdb: add version 15.2 (#47540)Tim Haines1-0/+1
2024-11-11prometheus: add v2.55.1 (#47544)Mosè Giordano1-1/+4
2024-11-11libunwind: Add 1.7.2, 1.8.1, and new *-stable branches (#47412)Mikael Simberg1-8/+19
* libunwind: Add 1.7.2 and 1.8.1 * libunwind: Remove deprecated 1.1 version * libunwind: Add newer *-stable branches: Remove 1.5-stable branch as well as cleanup. * libunwind: Use GitHub url for all versions * libunwind: Add conflict for PPC and 1.8.* * libunwind: Add conflict for aarch64 and 1.8: Build fails with aarch64/Gos-linux.c: In function '_ULaarch64_local_resume': aarch64/Gos-linux.c:147:1: error: x29 cannot be used in asm here } ^ aarch64/Gos-linux.c:147:1: error: x29 cannot be used in asm here make[2]: *** [Makefile:4795: aarch64/Los-linux.lo] Error 1
2024-11-11justbuild: add version 1.4.0 (#47410)Alberto Sartori1-0/+1
2024-11-11packages: new versions (`diamond`, `py-alive-progress`, `py-bakta`, ↵Luke Diorio-Toth6-15/+92
`py-deepsig-biocomp`), new packages (`py-pyhmmer`, `py-pyrodigal`) (#47277) * added updated versions * added pyhmmer * updated infernal * fix blast-plus for apple-clang * fix py-biopython build on apple-clang * remove erroneous biopython dep: build issue is with python 3.8, not biopython * deepsig python 3.9: expanding unnecessary python restrictions * add pyrodigal * fix unnecessarily strict diamond version * builds and updates: blast-plus indexing broken, still need to test db download and bakta pipeline * builds and runs * revert blast-plus changes: remove my personal hacks to get blast-plus to build
2024-11-11extrae: Update dyninst dependency (#47359)Tim Haines2-7/+42
2024-11-11Fix the build error during compilation of rocdecode package (#47283)Sreenivasa Murthy Kolam2-0/+48
* fix the build error during compilation of rocdecode.was dependent on libva-devel packag * address review comment * address review changes.commit the changes
2024-11-11osu-micro-benchmarks: add v7.5 (#47423)MatthewLieber1-0/+1
* Adding sha for 7.4 release of OSU Micro Benchmarks * Adds the sha256sum for the OSU mirco benchmarks 7.5 release.
2024-11-11py-fsspec-xrootd: new package (#47405)Wouter Deconinck1-0/+26
* py-fsspec-xrootd: new package * py-fsspec-xrootd: depends_on python@3.8:
2024-11-11openmpi: add two_level_namespace variant for MacOS (#47202)Stephen Herbener1-0/+22
* Add two_level_namespace variant (default is disabled) for MacOS to enable building executables and libraries with two level namespace enabled. * Addressed reviewer comments. * Moved two_level_namespace variant ahead of the patch that uses that variant to get concretize to work properly. * Removed extra print statements
2024-11-11Removing args to get libraries added in RPATH (#47465)renjithravindrankannath2-18/+696