summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-12-22openfoam: add version 2312 (#41828)Mark Olesen1-0/+1
2023-12-22Add PAPI 7.0.1 and 7.1.0 (#38443)Wileam Y. Phan3-1/+81
* Add PAPI 7.0.1 * Add comment about skipping PAPI 7.0.0 * Add patch to avoid adding Intel ifort/ifx flag on Cray ftn * Modify patch to include Cray-specific flags * Adjust recipe to always apply patch for 7.0.1 * Expand Cray compiler checks in patch * Forgot to update recipe * Adjust recipe so it looks for hipcc in the correct path * Revert "Adjust recipe so it looks for hipcc in the correct path" This reverts commit 0db3df4fe2874cea7d0e31fee1709246db668499. * Patch HIP_PATH to work with Spack-built HIP * Patch LDFLAGS with llvm-amdgpu path * Forgot the depends_on line * libomptarget only builds with clang * Try a self-consistent build of llvm-amdgpu * Try making llvm-amdgpu depend on llvm for llvmoffloadarch library * Update prereq to use rocm-openmp-extras instead * Refactor llvm-amdgpu to use a version dict * Fix typo * Hack to exclude older versions without matching rocm-openmp-extras * Add PAPI 7.1.0 * Revert changes to llvm-amdgpu * Fix PAPI 7.1.0 checksum
2023-12-22Use white logo or dark backgrounds (#41836)Alec Scott1-1/+9
2023-12-22Update README.md formatting (#41813)Alec Scott1-10/+23
* Update README.md formatting * Add docs and bootstrapping status and left align * Update vertical badge spacing * Update vertical logo spacing
2023-12-22Remove deprecated versions from packages (#41031)Adam J. Stewart87-3424/+100
For now, this only includes packages that I personally maintain. Notable removals: * Anaconda 2 * Catalyst * Ancient numpy/scipy * Ancient PyTorch * Ancient Bazel/TF
2023-12-22Fix variant initialization logic to allow proper handling of values="*" (#40406)Tim Fuller2-1/+38
Co-authored-by: psakiev <psakiev@sandia.gov> Co-authored-by: tjfulle <tjfulle@users.noreply.github.com>
2023-12-22llvm: fix llvm@14 build with apple-clang-15 (#40191)Laurent Aphecetche2-0/+33
* llvm: fix llvm@14 build with apple-clang-15 * fix formatting --------- Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-12-22costa: add missing dependency (#41829)Simon Pintarelli1-0/+1
2023-12-22GDAL: add v3.8.2 (#41795)Adam J. Stewart1-0/+1
2023-12-22ReSolve: Add version 0.99.1 (#41802)pelesh1-1/+6
* ReSolve: Add version 0.99.1 * [@spackbot] updating style on behalf of pelesh --------- Co-authored-by: pelesh <pelesh@users.noreply.github.com>
2023-12-22kealib: add version 1.5.3 (#41804)Sam Gillingham1-1/+2
2023-12-21Consolidate definition of Spack's extra `sys.path` components (#41816)Todd Gamblin1-7/+12
To work properly, Spack requires a few directories from its repository to be added to `sys.path`. Previously these were buried in `spack_installable.main.main()`, but it's sometimes useful to get the paths separately, e.g., if you want to set up your own functioning spack environment. With this change, adding the paths is much simpler: ```python import spack_installable sys.path[:0] = get_spack_sys_paths(spack_prefix) ``` - [x] Add `get_spack_sys_paths()` method with extra paths in order. - [x] Refactor `spack_installable.main.main()` to use it.
2023-12-21sqlite: add NMake build system for Windows (#41761)John W. Parent1-36/+71
2023-12-21Improve error reporting when Clingo install is broken (#41181)John W. Parent1-0/+33
With an improper/incomplete/broken installation of Clingo, it can be importable but not have any of the expected attributes Improve error reporting in this case
2023-12-21Tcl: add nmake system for Windows (#41759)John W. Parent1-62/+88
2023-12-21Compilers can inject first order rules into the solverMassimiliano Culpo12-95/+328
* Restore PackageBase class, and modify only ASP This prevents a noticeable slowdown in concretization due to the number of directives involved. * Fix issue with 'clang' being preferred to 'gcc', due to runtime version weights * Constraints on runtimes are declared by compilers The declaration of available runtime versions, and of their compatibility constraints are in the associated compiler class. Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2023-12-21gcc-runtime: add separate package for gcc runtime libsHarmen Stoppels6-1/+250
The gcc-runtime package adds a separate node for gcc's dynamic runtime libraries. This should help with: 1. binary caches where rpaths for compiler support libs cannot be relocated because the compiler is missing on the target system 2. creating "minimal" container images The package is versioned like `gcc` (in principle it could be unversioned, but Spack doesn't always guarantee not mixing compilers)
2023-12-21specs: Better error messages for badly quoted specs (#41805)Todd Gamblin4-25/+18
If you are calling Spack from the python API, you might have written something like this before #41529: ``` find = SpackCommand("find") find('--format={name}', 'saxpy@1.0.0', '+rocm', 'amdgpu_target="gfx90a"') ``` But with the breaking change in #41529, you should write: ``` find = SpackCommand("find") find('--format={name}', 'gromacs', '+rocm', 'amdgpu_target=gfx90a') ``` Note that we don't need quotes in Python strings, and that this is what would come in via argv if you typed a quoted variant on the CLI. The error messages for strings like this are not great -- you get something like this: ``` ==> No package matches the query: gromacs+rocm amdgpu_target="gfx90a" ``` Which doesn't indicate that the issue might be your quoting. This is because we were simply outputting the argv we got, instead of using spec.format() to output the error message. This PR fixes such errors to use `spec.format()` and to look like this: ``` ==> No package matches the query: gromacs+rocm amdgpu_target='"gfx90a"' ``` So users should have an easier time understanding that Spack considers the variant value to contain quotes here. - [x] update ConstraintAction to store parsed Specs - [x] refactor commands to display formatted parsed Specs instead of raw input
2023-12-21intel-oneapi-compilers and intel-oneapi-ccl: added new version to packages ↵Andrey Perestoronin2-2/+12
(#41807) * added new packages * compiler package * fix link in ccl * fix another links in ccl
2023-12-21ci: use "strong preference" idiom for compilers (#41806)Harmen Stoppels2-2/+5
to avoid duplication of conflicts / requirements in config
2023-12-20Only reuse externals when configured (#41707)Harmen Stoppels3-33/+78
Users expect that changes to the externals sections in packages.yaml config apply immediately, but reuse concretization caused this not to be the case. With this commit, the concretizer is only allowed to reuse externals previously imported from config if identical config exists.
2023-12-20fix attribute error in perl build-system (#41628)Christopher Christofi1-14/+25
2023-12-20Add missing import to packages (#41791)Massimiliano Culpo4-5/+8
2023-12-20containers.rst: small docs improvement (#41792)Harmen Stoppels1-2/+3
2023-12-20`spack buildcache push --tag`: create container image with multiple roots ↵Harmen Stoppels6-127/+304
(#41077) This PR adds a flag `--tag/-t` to `buildcache push`, which you can use like ``` $ spack mirror add my-oci-registry oci://example.com/hello/world $ spack -e my_env buildcache push --base-image ubuntu:22.04 --tag my_custom_tag my-oci-registry ``` and lets users ship a full, installed environment as a minimal container image where each image layer is one Spack package, on top of a base image of choice. The image can then be used as ``` $ docker run -it --rm example.com/hello/world:my_custom_tag ``` Apart from environments, users can also pick arbitrary installed spec from their database, for instance: ``` $ spack buildcache push --base-image ubuntu:22.04 --tag some_specs my-oci-registry gcc@12 cmake $ docker run -it --rm example.com/hello/world:some_specs ``` It has many advantages over `spack containerize`: 1. No external tools required (`docker`, `buildah`, ...) 2. Creates images from locally installed Spack packages (No need to rebuild inside `docker build`, where troubleshooting build failures is notoriously hard) 3. No need for multistage builds (Spack just tarballs existing installations of runtime deps) 4. Reduced storage size / composability: when pushing multiple environments with common specs, container image layers are shared. 5. Automatic build cache: later `spack install` of the env elsewhere speeds up since the containerized environment is a build cache
2023-12-20Fujitsu packages: require %fj (#41755)Massimiliano Culpo3-32/+4
These packages were written before the "requires" directive, and so they are conflicting with all compilers but Fujitsu to express they _require_ `%fj`
2023-12-20Add detection tests for XL compilers (#41743)Massimiliano Culpo2-0/+29
2023-12-19GDAL: Ensure a spack libproj is used instead of a system libproj (#41785)Chris Marsh1-0/+8
* Ensure a spack libproj is used instead of a system libproj when libproj < 8. spack/spack/issues/41299 * Fix style as per ci-bot * Fix style as per ci-bot * Ensure 3.5:3.8. Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> --------- Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-12-19intel-oneapi-compilers 2024.0.2 (#41778)Andrey Perestoronin2-1/+12
* new compiler packages * Fix ifort version number --------- Co-authored-by: Robert Cohn <rscohn2@gmail.com>
2023-12-19Require target=x86_64 for some packages (#41633)Annop Wongwathanarat4-0/+6
This resolves issue #41148
2023-12-19"spack diff": add ignore option for dependencies (#41711)Peter Scheibel8-27/+208
* add trim function to `Spec` and `--ignore` option to 'spack diff' Allows user to compare two specs while ignoring the sub-DAG of a particular dependency, e.g. spack diff --ignore=mpi --ignore=zlib trilinos/abcdef trilinos/fedcba to focus on differences closer to the root of the software stack
2023-12-19CI: Disable downloading artifacts from upstream jobs (#41432)kwryankrattiger2-0/+4
* CI: Disable downloading artifacts from upstream jobs * CI: Default .base-jobs are `when:manual`
2023-12-19environment_modifications_for_specs: do not mutate spec.prefix (#41737)Harmen Stoppels1-41/+31
Sometimes env variables computed in `setup_run_environment` depend on tests w.r.t. files in `spec.prefix`, but Spack temporarily projects `spec.prefix` to the view. This is problematic for two reasons: 1. Some packages iterate over `<prefix>/bin`: they expect only the current package's executables, but find all linked in the view, leading to false positives. 2. Some packages test for `os.path.islink(...)`, which is always true in a view `gcc` is an example that does both. This PR lets Spack compute the environment modifications using the original prefix, and projects to the view afterwards
2023-12-19Skip 'icc.patch' in var/spack/repos/builtin/packages/py-gevent/package.py ↵Dom Heinzeller1-1/+1
for py-gevent@23.7.0+ (#41568)
2023-12-19e4s: add julia (#41768)Harmen Stoppels1-0/+1
2023-12-19Add an audit to prevent virtual packages with variants specified (#41747)Massimiliano Culpo12-15/+108
Currently, a virtual spec is composed of just a name and a version. When a virtual spec contains other components, such as variants, Spack won't emit warnings or errors but will silently drop them - which is unexpected by users.
2023-12-19adios2: fix build failure in 2.7.1 (#41753)Ben Wibking2-0/+27
2023-12-19umpire: backport -fcompare-debug-second flag removal (#41506)Mikael Simberg1-0/+7
2023-12-19ffmpeg: mostly build fixes (#41050)Martin Aumüller1-2/+21
2023-12-19openblas: add patches to build with clang (#39138)Aiden Grossman3-0/+50
2023-12-19removing deprecated: recipes tower-agent and tower-cli, as nf- prefixed ↵Dr Marco Claudio De La Pierre2-109/+0
recipes available (#41576) Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@seqera.io>
2023-12-19lbann: relax the requirement on protobuf (#41591)Brian Van Essen1-1/+1
2023-12-19build(deps): bump black from 23.11.0 to 23.12.0 in /lib/spack/docs (#41615)dependabot[bot]1-1/+1
Bumps [black](https://github.com/psf/black) from 23.11.0 to 23.12.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/23.11.0...23.12.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>
2023-12-19easi: specify better the impalajit dependency (#41637)Thomas-Ulrich1-2/+2
2023-12-19pcre: ensure consistency between autotools and cmake builds (#41644)Wouter Deconinck1-16/+30
Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
2023-12-19legion: do not set HIP_PATH env variable (#41660)Richard Berger2-5/+4
* legion: do not set HIP_PATH env variable * flecsi: workaround Legion CMake for +rocm
2023-12-19openmpi: allow external libevent in general case (#41686)Howard Pritchard1-1/+2
add a internal-libevent variant to add an out. related to #41549 Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2023-12-19tau : v2.33.1 and later requires otf2 v3 (#41691)wspear1-1/+2
2023-12-19legion: inject correct mpicc to embedded GASnet slingshot11 config (#41701)Richard Berger1-0/+9
2023-12-19ufs-weather-model: add build dependency (#41724)Tom Payerle1-0/+1