summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-01-09installer.py: don't dereference stage before installing from binaries (#41986)Harmen Stoppels2-60/+72
This fixes an issue where pkg.stage throws because a patch cannot be found, but the patch is redundant because the spec is reused from a build cache and will be installed from existing binaries.
2024-01-09py-numpy: add v1.26.3 (#41977)Adam J. Stewart1-0/+1
2024-01-09Improve "makefile" build system documentation (#41781)Loris Ercole1-5/+5
Shows how to modify environment variables using "setup_build_environment" instead of overriding "edit"
2024-01-09lfortran: add v0.30.0 (#42000)Christoph Junghans1-1/+3
2024-01-09ParaView: add 5.12.0-RC2 (#41992)kwryankrattiger1-1/+1
2024-01-09refactor: Index provided virtuals by `when` specTodd Gamblin7-51/+64
Part 4 of reworking all package metadata to key by `when` conditions. Changes conflict dictionary structure from this: { provided_spec: {when_spec, ...} } to this: { when_spec: {provided_spec, ...} }
2024-01-09refactor: make `_make_when_spec()` private to `directives.py`Todd Gamblin4-46/+81
`make_when_spec()` was being used in the solver, but it has semantics that are specific to parsing when specs from `package.py`. In particular, it returns `None` when the `when` spec is `False`, and directives are responsible for ignoring that case and not adding requirements, deps, etc. when there's an actual `False` passed in from `package.py`. In `asp.py`, we know that there won't ever be a raw boolean when spec or constraint, so we know we can parse them without any of the special boolean handling. However, we should report where in the file the error happened on error, so this adds some parsing logic to extract the `mark` from YAML and alert the user where the bad parse is. - [x] refactor `config.py` so that basic `spack_yaml` mark info is in its own method - [x] refactor `asp.py` so that it uses the smarter YAML parsing routine - [x] refactor `asp.py` so that YAML input validation for requirements is done up front
2024-01-09refactor: Index requirements by `when` specTodd Gamblin4-10/+14
Part 3 of reworking all package metadata to key by `when` conditions. Changes conflict dictionary structure from this: { (requirement_spec, ...): [(when_spec, policy, msg)] } to this: { when_spec: [((requirement_spec, ...), policy, msg), ...] }
2024-01-09refactor: Index conflicts by `when` specTodd Gamblin7-34/+33
Part 2 of reworking all package metadata to key by `when` conditions. Changes conflict dictionary structure from this: { conflict_spec: [(when_spec, msg), ...] } to this: { when_spec: [(conflict_spec, msg), ...] } Also attempts to consistently name the variables used to iterate over conflict dictionaries.
2024-01-09refactor: Index dependency metadata by `when` specTodd Gamblin13-150/+264
Part 1 of making all package metadata indexed by `when` condition. This will allow us to handle all the dictionaries on `PackageBase` consistently. Convert the current dependency dictionary structure from this: { name: { when_spec: [Dependency ...] } } to this: { when_spec: { name: [Dependency ...] } } On an M1 mac, this actually shaves 5% off the time it takes to load all packages, I think because we're able to trade off lookups by spec key for more lookups by name.
2024-01-09gperftools: Add 2.15 (#41984)Mikael Simberg1-0/+1
2024-01-08boost: add v1.84.0 (#41674)Tim Haines1-1/+6
* Boost: add version 1.84.0 * Conflict with 98/03 * Set C++11 as default Starting with 1.84.0, the minimum required is c++11. It has been a very long time since 98/03 has been required. It's time to bump the minimum.
2024-01-08[bigdft] Enable building dynamic libraries (#41562)Ashwin Kumar Karnad7-0/+44
* bigdft: Add support for building shared libraries * bigdft: reformat with black * bigdft: use spec.satisfies instead of searching in spec
2024-01-08kokkos: add gfx940 support (#41659)Richard Berger1-1/+7
2024-01-08Do not add ^gcc-runtime to externals (#41994)Massimiliano Culpo2-2/+23
This commit ensures that gcc-runtime is only injected as a dependency to non-external packages
2024-01-08OpenMPI: add v5.0.0/5.0.1, patches, and workarounds (#40913)Howard Pritchard5-8/+265
* Add OpenMPI 5.0.0/5.0.1 release * Fix a problem with dlopen syms with 5.0.0 * Crank up lex buffer to 1MB so that Open MPI's compiler wrapper can parse the enormously long lines present in, for example, mpicc-wrapper-data.txt when the spack install is utilizing Spack's path padding feature. * Disable romio by default for 5.0.0 and beyond owing to problems compiling the romio package when using the Intel OneAPI compiler. * Patch for addiing cuda lib location in case of non-standard location of libcuda.so * build accel components as DSOs. It appears from looking at some of the spack CI that it implicitly assumes that Open MPI is built with components as DSOs. The default behavior for Open MPI was changed between the 4.1.x release stream and the 5.0.x release stream changed and this premise is now incorrect. Turns out that starting with Open MPI 5.0.0 building static does not work when using a now very important variant, namely cuda. In older versions of Open MPI the libcuda.so was dlopened at run time when needed, but now libcuda is linked in to the cuda components of openmpi directly. This works when using Open MPI's dynamically loadable component option, but doesn't work now for a lot of the Spack CI pipelines because they don't include libcuda.so in LD_LIBRARY_PATH of packages that dont think they are using cuda themselves. Signed-off-by: Howard Pritchard <howardp@lanl.gov> Co-authored-by: Jack Morrison <jack.morrison@cornelisnetworks.com> Co-authored-by: Harmen Stoppels <me@harmenstoppels.nl>
2024-01-08justbuild: add version v1.2.4 (#41991)Alberto Sartori1-0/+1
2024-01-08fio: Add version 3.36. (#41949)Rémi Lacroix1-0/+1
2024-01-08perl-datetime-format-builder: New package (#41964)Arne Becker1-0/+31
Adds DateTime::Format::Builder
2024-01-08perl-email-abstract: New package (#41950)Arne Becker1-0/+32
* perl-email-abstract: New package Adds Email::Abstract * Added license
2024-01-08Minor tweak to a test docstring (#41985)Massimiliano Culpo1-6/+7
* Minor tweak to a test docstring Shorten the description of a fixture, extend the description of the test where it's used. * Fix typo
2024-01-08edm4hep: add latest tag 0.10.3 (#41987)Thomas Madlener1-0/+1
2024-01-08abinit: fix missing comma separating arguments (#41973)downloadico1-1/+1
2024-01-08Dont expect __qualname__ to exist (#41989)Harmen Stoppels1-1/+1
2024-01-08installer.py: do not tty.die when cache only fails (#41990)Harmen Stoppels2-27/+20
2024-01-08Remove explicit copyright lines (#41930)Arne Becker45-45/+0
- Spack committers retain their copyright, but explicit copyright lines should not be included. This commit removes them.
2024-01-08bugfix: original concretizer is sensitive to dependency order (#41975)Todd Gamblin3-41/+59
Needed for #40326, which can changes the iteration order over package dependencies during concretization. While clingo doesn't have this problem, the original concretizer (which we still use for bootstrapping) can be sensitive to iteration order when evaluating dependency constraints in `when` conditions. This can cause it to ignore conditional dependencies unless the dependencies in the condition are listed first in the package. The issue was in the way the original concretizer would disconnect specs *every* time `normalize()` ran. When specs were disconnected, `^dependency` constraints wouldn't see the dependency in the dependency condition loop. We now only only disconnect *all* dependencies at the start of `concretize()` and `normalize()`, and we disconnect any leftover dependents from replaced externals at the *end* of `normalize()`. This trims stale connections while keeping the ones that are needed to trigger dependency conditions. - [x] refactor `flat_dependencies()` to not disconnect the spec by default. - [x] `flat_dependencies()` is never called with `copy=True` -- remove the `copy` kwarg. - [x] disconnect only once at the beginning of `normalize()` or `concretize()`. - [x] add a test that perturbs dependency iteration order to ensure this doesn't regress. - [x] disconnect unused dependents at end of `normalize()`
2024-01-07Fix fides / ascent / vtk-m / visit (#41908)Vicente Bolea4-20/+25
Fixes among other things the compat bounds
2024-01-07py-pyheadtail: add latest version and cython constraint (#41978)Andre Sailer1-0/+3
2024-01-06hepmc3: add v3.2.7 (#41879)Wouter Deconinck1-0/+1
Bugfix only, https://gitlab.cern.ch/hepmc/HepMC3/-/compare/3.2.6...3.2.7?from_project_id=6751&straight=false.
2024-01-06build(deps): bump docker/metadata-action from 5.4.0 to 5.5.0 (#41969)dependabot[bot]1-1/+1
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5.4.0 to 5.5.0. - [Release notes](https://github.com/docker/metadata-action/releases) - [Commits](https://github.com/docker/metadata-action/compare/9dc751fe249ad99385a2583ee0d084c400eee04e...dbef88086f6cef02e264edb7dbf63250c17cef6c) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-06build(deps): bump flake8 from 6.1.0 to 7.0.0 in /.github/workflows/style ↵dependabot[bot]1-1/+1
(#41970) Bumps [flake8](https://github.com/pycqa/flake8) from 6.1.0 to 7.0.0. - [Commits](https://github.com/pycqa/flake8/compare/6.1.0...7.0.0) --- updated-dependencies: - dependency-name: flake8 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-01-06build(deps): bump flake8 from 6.1.0 to 7.0.0 in /lib/spack/docs (#41971)dependabot[bot]1-1/+1
Bumps [flake8](https://github.com/pycqa/flake8) from 6.1.0 to 7.0.0. - [Commits](https://github.com/pycqa/flake8/compare/6.1.0...7.0.0) --- updated-dependencies: - dependency-name: flake8 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-01-06Automated deployment to update package flux-core 2024-01-06 (#41974)Vanessasaurus1-0/+1
Co-authored-by: github-actions <github-actions@users.noreply.github.com>
2024-01-06py-sphinx-prompt: new package (#41311)Lydéric Debusschère2-0/+58
* [add] py-sphinx-prompt: new package * py-poetry-plugin-tweak-dependencies-version: new package, dependence of py-shpinx-prompt * py-sphinx-prompt: fix dependences with respect to reviewing * py-poetry-plugin-tweak-dependencies-version: add dependence py-poetry * py-sphinx-prompt: add version 1.1.0 to unblock the concretization of py-sphinx-toolbox [PR#41313] * py-sphinx-prompt: fix style * py-sphinx-prompt: remove py-poetry dependence; fix python version * py-poetry-plugin-tweak-dependencies-version: add python version constraint --------- Co-authored-by: LydDeb <lyderic.debusschere@eolen.com>
2024-01-06py-ndg-httpsclient: add version 0.5.0 (#41914)Christopher Christofi1-0/+1
2024-01-05z3: add v4.12.4 (#41941)miheer vaidya1-0/+3
* z3: update, update maintainer * Update var/spack/repos/builtin/packages/z3/package.py Co-authored-by: Alec Scott <alec@bcs.sh> --------- Co-authored-by: Alec Scott <alec@bcs.sh>
2024-01-05spglib: add v2.2.0 (#41929)Rocco Meli1-0/+1
* ensure umpire~cuda~rocm when ~cuda~rocm * spglib-2.2.0
2024-01-05libdicom: add new package (#41937)Christopher Christofi1-0/+27
2024-01-05cosma: add missing depends_on for nccl/rccl (#41955)Simon Pintarelli1-0/+2
2024-01-05Automated deployment to update package flux-sched 2024-01-05 (#41961)Vanessasaurus1-0/+1
Co-authored-by: github-actions <github-actions@users.noreply.github.com>
2024-01-05Fix setup-env when going back and forth between instances (#40924)Jordan Galby4-31/+30
* setup-env: Fix back and forth between two instances * setup-env.csh: Fix SPACK_ROOT when switch to a different instance i.e. Always look for the current SPACK_ROOT * setup-env: Update comments
2024-01-05Gitlab pipelines: check load avg also before running script (#41962)Massimiliano Culpo3-0/+12
2024-01-04intel-oneapi-mkl: Add correct PKG_CONFIG_PATH entry for older versions. (#41958)Victor Brunini1-0/+3
At least 2021.3.0 puts the .pc files in tools/pkgconfig, not lib/pkgconfig.
2024-01-04`spack list`: add `--namesapce` / `--repo` option (#41948)Todd Gamblin4-3/+38
This adds options to `spack list` that allow you to list only packages from specific repositories/namespaces, e.g.: ```console spack list -r builtin ``` only lists packages from the `builtin` repo, while: ```console spack list -r myrepo -r myrepo2 ``` would list packages from `myrepo` and `myrepo2`, but not from `builtin`. Note that you can use the same argument multiple times. You can use either `-r` / `--repo` or `-N` / `--namespace`. `-N` is there to match the corresponding option on `spack find`. - [x] add `-r` / `--repo` / `-N` / `--namespace` argument - [x] add test
2024-01-04fmt: Add 10.2.1 (#41954)Mikael Simberg1-0/+1
2024-01-04rust: add v1.75.0 & v1.74.0, merge related variants into `+dev`, add ↵Alec Scott4-30/+32
rust-analyzer (#41903) * Add rust-analyzer as variant to rust build * Expose cargo module only when +cargo * rust: add v1.74.0 and v1.75.0 and remove variants in favor of +dev * [@spackbot] updating style on behalf of alecbcs * Fix variant typo --------- Co-authored-by: alecbcs <alecbcs@users.noreply.github.com>
2024-01-04symPACK: add new package (#41835)Dan Bonachea1-0/+90
2024-01-04Bumps google-auth-oauthlib dependency restriction to be compatible with ↵bk1-2/+2
versions up to 1.0 (https://github.com/tensorflow/tensorboard/releases/tag/2.12.1) (#41940)
2024-01-04perl-moox-types-mooselike: new package (#41705)Arne Becker1-0/+29