summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-11-17style.py: add import-check for missing & redundant imports (#47619)Harmen Stoppels3-22/+243
2024-11-17Set "generic" uarch granularity for a few pipelines (#47640)Massimiliano Culpo4-1/+9
2024-11-17Added a few missing language deps to packages (#47639)Massimiliano Culpo13-9/+25
2024-11-17pixman: add missing MesonPackage (#47607)Wouter Deconinck1-1/+1
2024-11-17spack.package / builtin repo: fix exports/imports (#47617)Harmen Stoppels101-49/+125
Add various missing imports in packages. Remove redundant imports Export NoLibrariesError, NoHeadersError, which_string in spack.package
2024-11-16xsdk: dealii has changes to variant defaults, update xsdk accordingly (#47602)Satish Balay1-2/+4
2024-11-16qt-tools: new package (#45602)Wouter Deconinck2-0/+65
* qt-tools: new pkg with +designer to build Qt Designer for QWT * qt-tools: fix style * qt-tools: fix unused variable * qt-tools: rm setup_run_environments (now in qt-base) * qt-tools: add myself as maintainer * qt-tools: add variant assistant; use commits with submodule * qt-base: define QtPackage.get_git
2024-11-16gobject-introspection: Do not write to user home (#47621)etiennemlb1-0/+2
2024-11-16py-blosc2: use external libblosc2 (#47566)Harmen Stoppels2-8/+24
2024-11-16Bug fix in py-scipy for versions 1.8.0 to 1.14.0 that surfaces with latest ↵Dom Heinzeller1-0/+7
Clang and Intel LLVM compilers (#47620)
2024-11-15py-wandb: add v0.16.6 (#43891)Thomas Bouvier1-2/+7
* py-wandb: add version v0.16.6 * fix: typo * py-wandb: py-click when @0.15.5:, py-pathtools when @:0.15 --------- Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
2024-11-15build(deps): bump codecov/codecov-action from 4.6.0 to 5.0.2 (#47631)dependabot[bot]1-1/+1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.6.0 to 5.0.2. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238...5c47607acb93fed5485fdbf7232e8a31425f672a) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-15py-libsonata: add v0.1.29 (#47466)Matthias Wolf1-0/+3
* py-libsonata: new version. * Fix Python version dependency. * py-libsonata: fix typo --------- Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
2024-11-15py-numpy-quaternion: add v2024.0.3 (#47469)Matthias Wolf1-1/+12
* py-numpy-quaterion: add new version. * Update dependency version bounds Co-authored-by: Wouter Deconinck <wdconinc@gmail.com> * Fix build dependencies. --------- Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
2024-11-15armadillo: add v14.0.3 (#47634)Wouter Deconinck1-0/+1
2024-11-15arrow: add v18.0.0 (#47494)Matthieu Dorier1-1/+6
* arrow: added version 18.0.0 This PR adds version 18.0.0 to the arrow package. * arrow: updated dependency on llvm
2024-11-15costo: add v0.0.8 (#47625)teddy1-1/+2
Co-authored-by: t. chantrait <teddy.chantrait@cea.fr>
2024-11-15mapl: add 2.40.3.1 (#47627)Matt Thompson1-0/+2
* mapl: add 2.40.3.1 * Relax ESMF requirement
2024-11-15Add ACfL 24.10.1 (#47616)Paolo1-3/+31
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>