summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2024-03-13msvc: patch property ref bug (#43173)John W. Parent1-1/+1
2024-03-12spack.patch: support reversing patches (#43040)Adam J. Stewart3-10/+107
The `patch()` directive can now be invoked with `reverse=True` to apply a patch in reverse. This is useful for reverting commits that caused errors in projects, even if only the forward patch is available, e.g. via a GitHub commit patch URL. `patch(..., reverse=True)` runs `patch -R` behind the scenes. This is a POSIX option so we can expect it to be available on the `patch` command. --------- Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-03-12perl testing: refactor stand-alone testing into base class (#43044)Tamara Dahlgren3-2/+124
2024-03-12Update archspec to v0.2.3 (#42854)Massimiliano Culpo17-214/+1837
2024-03-11Fix callbacks accumulation when using mixins with builders (#43100)Massimiliano Culpo3-14/+33
fixes #43097 Before this PR the behavior of mixins used together with builders was to mask completely the callbacks defined from the class coming later in the MRO. Here we fix the behavior by accumulating all callbacks, and de-duplicating them later.
2024-03-11Remove dead code (#43114)Massimiliano Culpo6-238/+0
* Remove dead code in spack * Remove dead code in llnl
2024-03-10build(deps): bump mypy from 1.8.0 to 1.9.0 in /lib/spack/docs (#43103)dependabot[bot]1-1/+1
Bumps [mypy](https://github.com/python/mypy) from 1.8.0 to 1.9.0. - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](https://github.com/python/mypy/compare/v1.8.0...1.9.0) --- updated-dependencies: - dependency-name: mypy 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-03-08Retiring as PythonPackage maintainer (#43091)Adam J. Stewart4-19/+3
2024-03-07Drop optional dependencies of Spack (#43081)Tim Fuller2-48/+31
Remove dependency on `importlib_metadata` and `pkg_resources`, which can be problematic if the version in PYTHONPATH is incompatible with the interpreter Spack is running under.
2024-03-07autotools: fix a typo in comment (#43080)Juan Miguel Carceller1-1/+1
Co-authored-by: jmcarcell <jmcarcell@users.noreply.github.com>
2024-03-07Fix `spack find` bootstrapping docs (#43074)runiq1-3/+3
Closes #43052. Maybe moving the argument to the `find` subcommand is a good idea, but I just wanted to get the docs fix out. Co-authored-by: Patrice Peterson <patrice.peterson@itz.uni-halle.de>
2024-03-06Allow loading extensions through python entry-points (#42370)Tim Fuller6-1/+291
This PR adds the ability to load spack extensions through `importlib.metadata` entry points, in addition to the regular configuration variable. It requires Python 3.8 or greater to be properly supported.
2024-03-05spack.patch: fix type hint circular import (#43041)Adam J. Stewart1-5/+5
2024-03-05spack.patch: add type hints (#42811)Adam J. Stewart2-79/+224
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2024-03-05container: don't map develop to latest (#42952)Wouter Deconinck4-45/+6
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-03-04ASP-based solver: improve reusing nodes with gcc-runtime (#42408)Massimiliano Culpo3-6/+90
* ASP-based solver: improve reusing nodes with gcc-runtime This PR skips emitting dependency constraints on "gcc-runtime", for concrete specs that are considered for reuse. Instead, an appropriate version of gcc-runtime is recomputed considering also the concrete nodes from reused specs. This ensures that root nodes in a DAG have always a runtime that is at a version greater or equal than their dependencies. * Add unit-test for view with multiple runtimes * Select latest version of runtimes in views * Construct result keeping track of latest * Keep ordering stable, just in case
2024-03-04repo.py: cleanup packages_with_tags (#42980)Harmen Stoppels5-26/+19
2024-03-04Document new environment variable expansion in projections (#42963)psakievich2-0/+30
Adding docs and test for #42917 Co-authored-by: Alec Scott <hi@alecbcs.com>
2024-03-04modules: allow autoload: run, like in environment views (#42743)Harmen Stoppels3-35/+30
2024-03-04versions: fix typing problems (#42903)Harmen Stoppels1-5/+9
Fix the type declaration of VersionList.versions. Fix further problems exposed by that fix.
2024-02-29Show extension commands with spack -h (#41726)Tim Fuller1-5/+7
* Execute `args.help` after setting main options so that extension commands will show with `spack -h` --------- Co-authored-by: psakievich <psakiev@sandia.gov>
2024-02-29Support environment variable expansion inside module projections (#42917)psakievich1-2/+4
2024-02-28Unit tests: skip tests that intermittently fail on Windows (#42909)Harmen Stoppels2-0/+2
2024-02-28versions: simplify list if union not disjoint (#42902)Harmen Stoppels2-25/+48
Spack merges ranges and concrete versions if they have non-empty intersection. That is not enough for adjacent version ranges. This commit ensures that disjoint ranges in version lists are simplified if their union is not disjoint: ```python "@1.0:2.0,2.1,2.2:3,4:6" # simplifies to "@1.0:6" ```
2024-02-27skip test which is causing spurious failures on Windows (#42832)Peter Scheibel1-0/+3
2024-02-27build(deps): bump pytest from 8.0.1 to 8.0.2 in /lib/spack/docs (#42861)dependabot[bot]1-1/+1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.0.1 to 8.0.2. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/8.0.1...8.0.2) --- updated-dependencies: - dependency-name: pytest 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-02-26refactor: add type annotations and refactor solver conditions (#42081)Todd Gamblin2-91/+121
Refactoring `SpackSolverSetup` is a bit easier with type annotations, so I started adding some. This adds annotations for the (many) instance variables on `SpackSolverSetup` as well as a few other places. This also refactors `condition()` to reduce redundancy and to allow `_get_condition_id()` to be called independently of the larger condition function. Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-02-23Windows path handling: change representation for paths with spaces (#42754)John W. Parent3-2/+47
Some builds on Windows break when encountering paths with spaces. This reencodes some paths in Windows 8.3 filename format (when on Windows): this serves as an equivalent identifier for the file, but in a form that does not have spaces. 8.3 filenames are also truncated in length, which could be helpful, but that is not the primary intended purpose of using this format. Overall * nmake/msbuild packages do this generally for the install prefix * curl/perl require additional modifications (as written now, each package may require calls to `windows_sfn` to work when the Spack root/install/staging prefixes contain spaces) Some items for follow-up: * Spack itself does not create paths with spaces "on top" of whatever the user configures or where it is placed (e.g. the Spack root, the staging directory, etc.), so it might be possible to edit some of these paths once and avoid a proliferation of individual `windows_sfn` calls in individual packages. * This approach may result in the insertion of 8.3-style paths into build artifacts (on Windows), handling this may require additional bookkeeping (e.g. when relocating).
2024-02-23Alert user to failed concretizations (#42655)Peter Scheibel4-18/+75
With this change an error message is emitted when the result of concretization is in an inconsistent state.
2024-02-23Cleanup spack.schema (#42815)Massimiliano Culpo5-74/+29
* Move spec_list into its own file, instead of __init__.py * Remove spack.schema.spack This module was introduced in #33960 It's almost an exact duplicate of spack.schema.env, and is not used anywhere. * Fix typo
2024-02-23Remove dead code from Environment (#42818)Massimiliano Culpo2-47/+0
Environment.concretize_and_add is not used anywhere.
2024-02-23Fix wrong call to a function (#42814)Massimiliano Culpo1-2/+1
2024-02-22PythonPackage: check purelib for libs/headers (#42602)Adam J. Stewart1-8/+19
* PythonPackage: check purelib for libs/headers * Update error messages too * Fix functools.reduce argument order
2024-02-22oci: when base image uses Image Manifest Version 2, follow suit (#42777)Harmen Stoppels5-17/+125
2024-02-22build(deps): bump urllib3 from 2.2.0 to 2.2.1 in /lib/spack/docs (#42757)dependabot[bot]1-1/+1
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.0 to 2.2.1. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](https://github.com/urllib3/urllib3/compare/2.2.0...2.2.1) --- updated-dependencies: - dependency-name: urllib3 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-02-22spack gc: do not show uninstalled but needed specs (#42696)Harmen Stoppels2-26/+32
2024-02-21env activate: use Win-compatible print on Windows (#42755)John W. Parent1-1/+2
Use "echo" instead of "printf" on Windows.
2024-02-21Windows: fix error with can_symlink check (#42753)John W. Parent1-0/+1
2024-02-21rocm: removal of deprecated <5.1 versions (#42676)Harmen Stoppels1-14/+0
The package `aomp` is removed entirely, as it was too outdated to have non-deprecated dependencies.
2024-02-19Use relative target in symlinks to modified files in view (#42699)Harmen Stoppels1-1/+1
2024-02-16build(deps): bump pytest from 8.0.0 to 8.0.1 in /lib/spack/docs (#42733)dependabot[bot]1-1/+1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.0.0 to 8.0.1. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/8.0.0...8.0.1) --- updated-dependencies: - dependency-name: pytest 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-02-16build(deps): bump black from 24.1.1 to 24.2.0 in /lib/spack/docs (#42629)dependabot[bot]1-1/+1
Bumps [black](https://github.com/psf/black) from 24.1.1 to 24.2.0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/compare/24.1.1...24.2.0) --- updated-dependencies: - dependency-name: black 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-02-16build(deps): bump python-levenshtein in /lib/spack/docs (#42630)dependabot[bot]1-1/+1
Bumps [python-levenshtein](https://github.com/rapidfuzz/python-Levenshtein) from 0.24.0 to 0.25.0. - [Release notes](https://github.com/rapidfuzz/python-Levenshtein/releases) - [Changelog](https://github.com/rapidfuzz/python-Levenshtein/blob/main/HISTORY.md) - [Commits](https://github.com/rapidfuzz/python-Levenshtein/compare/v0.24.0...v0.25.0) --- updated-dependencies: - dependency-name: python-levenshtein 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-02-16Add support for clang with OpenMP and other minor changes to oneapi build ↵Mikael Simberg1-10/+18
system (#42717) * Add support for clang in oneapi packages with OpenMP * Add fallback search for libomp in OneApi package with OpenMP threading * Add requires for the compiler when using threads=openmp in intel-oneapi-mkl * Cosmetic changes to messages in oneapi.py * Update error message in oneapi.py Co-authored-by: Robert Cohn <rscohn2@gmail.com> * Update another error message in oneapi.py Co-authored-by: Robert Cohn <rscohn2@gmail.com> * Inline helper error function in oneapi.py * Update one more error message in oneapi.py * Wrap long line in oneapi.py --------- Co-authored-by: Robert Cohn <rscohn2@gmail.com>
2024-02-16[intel-oneapi-mkl] provide omp lib for threads=openmp (#42653)Robert Cohn1-1/+44
2024-02-15allow packages to request no submodules be updated (#40409)Tim Fuller3-5/+39
* allow packages to request no submodules be updated when self.submodules is a callable function * Extend the test added in Allow more fine-grained control over what submodules are updated: part 2 #27293 to include this case * Update the type signature for the submodules arg of version() in directives.py --------- Co-authored-by: tjfulle <tjfulle@users.noreply.github.com>
2024-02-16develop: Add -b/--build-directory option to set build_directory package ↵Victor Brunini4-1/+42
attribute (#39606) * develop: Add -b/--build-directory option to set build_directory package attribute. * Update docs --------- Co-authored-by: psakievich <psakiev@sandia.gov> Co-authored-by: vbrunini <vbrunini@users.noreply.github.com>
2024-02-15Fix spack --profile|--pdb <cmd> (#42662)Scott Wittenburg1-2/+2
2024-02-15docs: fix typo (#42688)Jemma Stachelek1-1/+1
2024-02-15compilers: fixup order of arguments to satisfies (#42682)Harmen Stoppels2-16/+62