summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-03-25Updated version (#43343)potter-s1-0/+1
Co-authored-by: Simon Potter <sp39@sanger.ac.uk>
2024-03-25go: add v1.22.1 (#43337)Alec Scott1-0/+1
2024-03-25pyscf: new dependency bounds for pyscf, new version (#43300)liam-o-marsh1-3/+6
2024-03-25add command_line scope to help metavar (#42890)Danny McClanahan1-1/+1
It's now possible to add config on the command line with `spack -c <CONFIG_VARS> ...`, but the new `command_line` scope isn't reflected in the help output for `--scope`: ```bash > spack help config ... --scope {defaults,system,site,user}[/PLATFORM] or env:ENVIRONMENT configuration scope to read/modify ... ```
2024-03-25r-rcpp: add version 1.0.11 and 1.0.12 (#43330)Juan Miguel Carceller1-0/+2
2024-03-25strip url: fix whl suffix, remove exe (#43344)Harmen Stoppels2-8/+7
2024-03-24Add `intel-oneapi-runtime`, allow injecting virtual dependencies (#42062)Massimiliano Culpo12-70/+269
This PR adds: - A new runtime for `%oneapi` compilers, called `intel-oneapi-runtime` - Information to both `gcc-runtime` and `intel-oneapi-runtime`, to ensure that we don't mix compilers using different soname for either `libgfortran` or `libifcore` To do so, the following internal mechanisms have been implemented: - Possibility to inject virtual dependencies from the `runtime_constraints` callback on packages Information has been added to `gcc-runtime` to provide the correct soname under different conditions on its `%gcc`. Rules injected into the solver looks like: ```prolog % Add a dependency on 'gfortran@5' for nodes compiled with gcc@=13.2.0 and using the 'fortran' language attr("dependency_holds", node(ID, Package), "gfortran", "link") :- attr("node", node(ID, Package)), attr("node_compiler", node(ID, Package), "gcc"), attr("node_compiler_version", node(ID, Package), "gcc", "13.2.0"), not external(node(ID, Package)), not runtime(Package), attr("language", node(ID, Package), "fortran"). attr("virtual_node", node(RuntimeID, "gfortran")) :- attr("depends_on", node(ID, Package), ProviderNode, "link"), provider(ProviderNode, node(RuntimeID, "gfortran")), attr("node", node(ID, Package)), attr("node_compiler", node(ID, Package), "gcc"), attr("node_compiler_version", node(ID, Package), "gcc", "13.2.0"), not external(node(ID, Package)), not runtime(Package), attr("language", node(ID, Package), "fortran"). attr("node_version_satisfies", node(RuntimeID, "gfortran"), "5") :- attr("depends_on", node(ID, Package), ProviderNode, "link"), provider(ProviderNode, node(RuntimeID, "gfortran")), attr("node", node(ID, Package)), attr("node_compiler", node(ID, Package), "gcc"), attr("node_compiler_version", node(ID, Package), "gcc", "13.2.0"), not external(node(ID, Package)), not runtime(Package), attr("language", node(ID, Package), "fortran"). ```
2024-03-24openmpi: Add new variant: romio-filesystem=string (#43265)Loic Hausammann1-0/+25
Co-authored-by: loikki <loic.hausammann@id.ethz.ch>
2024-03-24py-plotly: Add versions up to 5.20 (#43284)potter-s1-1/+8
2024-03-24openCARP: Add v15.0 packages (#43299)Marie Houillon3-4/+11
Co-authored-by: openCARP consortium <info@opencarp.org>
2024-03-24py-kaleido: Add MacOS build, fix checksums (#43309)Gavin John1-5/+58
* py-kaledio: Fix completely borked package.py * Readd stuff I forgot to add * And one last missing thing * Remove python restriction * [@spackbot] updating style on behalf of Pandapip1 * Add MacOS build * Fix checksum * Handle all supported OSes * Split imports * Remove extra version stuff
2024-03-23paraview: fix range of exodusII-netcdf4.9.0.patch (#42926)fgava901-6/+11
Co-authored-by: Gava, Francesco <francesco.gava@mclaren.com>
2024-03-23zlib-ng: New variants: +shared and +pic (#42796)Alex Richert1-1/+17
2024-03-23py-line-profiler: Add 4.1.2 and 3.5.1 with their deps (#43156)Sinan2-2/+37
Co-authored-by: sbulut <sbulut@3vgeomatics.com> Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2024-03-23suite-sparse: Add version 7.3.1 (#43328)Davide1-3/+17
2024-03-23py-torch-nvidia-apex: @3.11: Add config_settings(PEP517), add missing ↵Auriane R1-0/+10
py-packaging (#43306)
2024-03-23BLT: add new version 0.6.2 (#43257)Chris White1-0/+1
2024-03-23re2: use the same C++ std used by abseil-cpp (#43288)Juan Miguel Carceller1-0/+1
Co-authored-by: jmcarcell <jmcarcell@users.noreply.github.com>
2024-03-23py-vl-convert-python: Add 1.3.0 (#43297)吴坎1-2/+4
2024-03-23mpich: add variant +xpmem to specify use of xpmem (#43293)Howard Pritchard1-0/+6
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2024-03-23bgen: add new package with version 1.1.7 (#43327)Christopher Christofi1-0/+27
2024-03-23hip: don't set HIP_PATH in ROCm 5.5+ (#42882)Richard Berger1-1/+3
2024-03-23py-tensorflow-probability: Re-activate +py-jax variant for @0.20:, Add ↵Jonas Eschle1-9/+12
0.23.0 (#43249)
2024-03-23New package: qctool (#43326)Christopher Christofi1-0/+28
2024-03-23NWChem pacakge: expand fftw patch appliance range to 7.2.2 (#43321)YI Zeping1-3/+3
* expand fftw patch appliance range to include 7.2.2 * fix formatting bug
2024-03-23octave package: correction to `jdk` variant description (#43325)Gavin John1-1/+1
2024-03-23openjdk package: use correct homepage (#43324)Gavin John1-1/+1
2024-03-23icedtea: change jdk dependency to java (#43323)Gavin John1-1/+1
2024-03-23BerkeleyGW package: add version 4.0 (#43316)Miguel Dias Costa1-1/+22
2024-03-22aws-ofi-nccl package: add versions including 1.8.1 (#43305)Auriane R1-3/+17
The default url couldn't be the one with v0.0.0-aws since spack was replacing v0.0.0-aws with v<version_number> for example, deleting the -aws suffix. I used the url_for_version method to specify this suffix.
2024-03-22New package: py-kneaddata (#43310)Gavin John1-0/+35
2024-03-22netcdf-cxx4: fix reference error (#43322)Chris Marsh1-1/+1
2024-03-22Support for prereleases (#43140)Harmen Stoppels12-115/+275
This adds support for prereleases. Alpha, beta and release candidate suffixes are ordered in the intuitive way: ``` 1.2.0-alpha < 1.2.0-alpha.1 < 1.2.0-beta.2 < 1.2.0-rc.3 < 1.2.0 < 1.2.0-xyz ``` Alpha, beta and rc prereleases are defined as follows: split the version string into components like before (on delimiters and string boundaries). If there's a string component `alpha`, `beta` or `rc` followed by an optional numeric component at the end, then the version is prerelease. So `1.2.0-alpha.1 == 1.2.0alpha1 == 1.2.0.alpha1` are all the same, as usual. The strings `alpha`, `beta` and `rc` are chosen because they match semver, they are sufficiently long to be unambiguous, and and all contain at least one non-hex character so distinguish them from shasum/digest type suffixes. The comparison key is now stored as `(release_tuple, prerelease_tuple)`, so in the above example: ``` ((1,2,0),(ALPHA,)) < ((1,2,0),(ALPHA,1)) < ((1,2,0),(BETA,2)) < ((1,2,0),(RC,3)) < ((1,2,0),(FINAL,)) < ((1,2,0,"xyz"), (FINAL,)) ``` The version ranges `@1.2.0:` and `@:1.1` do *not* include prereleases of `1.2.0`. So for packaging, if the `1.2.0alpha` and `1.2.0` versions have the same constraints on dependencies, it's best to write ```python depends_on("x@1:", when="@1.2.0alpha:") ``` However, `@1.2:` does include `1.2.0alpha`. This is because Spack considers `1.2 < 1.2.0` as distinct versions, with `1.2 < 1.2.0alpha < 1.2.0` as a consequence. Alternatively, the above `depends_on` statement can thus be written ```python depends_on("x@1:", when="@1.2:") ``` which can be useful too. A short-hand to include prereleases, but you can still be explicit to exclude the prerelease by specifying the patch version number. ### Concretization Concretization uses a different version order than `<`. Prereleases are ordered between final releases and develop versions. That way, users should not have to set `preferred=True` on every final release if they add just one prerelease to a package. The concretizer is unlikely to pick a prerelease when final releases are possible. ### Limitations 1. You can't express a range that includes all alpha release but excludes all beta releases. Only alternative is good old repeated nines: `@:1.2.0alpha99`. 2. The Python ecosystem defaults to `a`, `b`, `rc` strings, so translation of Python versions to Spack versions requires expansion to `alpha`, `beta`, `rc`. It's mildly annoying, because this means we may need to compute URLs differently (not done in this commit). ### Hash Care is taken not to break hashes of versions that do not have a prerelease suffix.
2024-03-22Spack CI: Refactor process_command for Cross Platform support (#39739)John W. Parent1-164/+192
Generate CI scripts as powershell on Windows. This is intended to output exactly the same bash scripts as before on Linux. Co-authored-by: Ryan Krattiger <ryan.krattiger@kitware.com>
2024-03-22python wheels: do not "expand" (#43317)Harmen Stoppels39-743/+156
2024-03-22openssh: add 9.7p1 and 9.6p1; update workaround for clang (#40857)Thomas-Ulrich1-3/+9
Signed-off-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2024-03-22apex: Set `APEX_WITH_KOKKOS` CMake option in apex package (#43243)Mikael Simberg1-0/+6
* Make sure APEX_WITH_KOKKOS CMake option is set in apex * Add conflict for apex with ~kokkos
2024-03-22ELPA: enable GPU streams and update deprecated variables (#43145)Rocco Meli1-5/+26
* elpa streams * [@spackbot] updating style on behalf of RMeli * Apply suggestions from @albestro * Update var/spack/repos/builtin/packages/elpa/package.py Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi> --------- Co-authored-by: RMeli <RMeli@users.noreply.github.com> Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
2024-03-22py-cmake: only run test suite when run_tests (#43246)Valentin Volkl1-0/+13
As the cmake build is triggered by scikit build, the usual spack option for enabling tests had no effect and the heavy test suite ran all the time. Used https://github.com/scikit-build/cmake-python-distributions/issues/172#issuecomment-890322263 to implement how to pass options to the actual `cmake` build. I also excluded some tests that failed for me on alma9 (gcc 11.4.1), so the rest of the test suite can be run.
2024-03-22ffmpeg: add v6.1.1 and older patch release updates (#43050)Martin Aumüller1-2/+27
2024-03-22ncurses: Add terminfo for rxvt-unicode{,-256color} (#42721)Henning Glawe2-0/+204
taken from the debian ncurses source package.
2024-03-22easi: add v1.3.0, python bindings and master (#42784)Thomas-Ulrich1-2/+20
2024-03-22openblas: Add variant dynamic_dispatch: select best kernel at runtime (#42746)AMD Toolchain Support1-0/+16
Enable OpenBLAS's built-in CPU capability detection and kernel selection. This allows run-time selection of the "best" kernels for the running CPU, rather than what is specified at build time. For example, it allows OpenBLAS to use AVX512 kernels when running on ZEN4, and built targeting the "ZEN" architecture. Co-authored-by: Branden Moore <branden.moore@amd.com>
2024-03-22libristra: depends_on() for lua: allow newer lua versions (#42810)Richard Berger1-2/+2
2024-03-22py-neptune-client and missing deps: new package (#43059)Alex Leute4-0/+132
Co-authored-by: Cecilia Lau <chlits@rit.edu> Co-authored-by: Jen Herting <jen@herting.cc>
2024-03-22libiconv: fix building with nvhpc (#43033)Sergey Kosukhin1-0/+11
2024-03-21helics: Add version 3.5.1 (#43314)HELICS-bot1-0/+1
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-22py-mrcfile: add new version (#43125)Christopher Christofi1-1/+3
2024-03-21xv (image viewer): Add missing depends_on(libxt) (#43277)Alex Richert1-0/+1
2024-03-21x264: Tag a recent commit: 20240314 (#43304)Rémi Lacroix1-0/+1
x264 does not publish releases so tag a newer commit in Spack in order to be able to use an up-to-date version.