summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-11-06mpich: remove unnecessary tuples and upperbounds (#40899)Harmen Stoppels1-7/+7
* mpich: remove unnecessary tuples * remove redundant :3.3.99 upperbound
2023-11-06qt: new version 5.15.11 (#40884)Wouter Deconinck1-1/+2
* qt: new version 5.15.11 * qt: open end patch for qtlocation when gcc-10:
2023-11-05spack env activate: create & activate default environment without args (#40756)Harmen Stoppels5-8/+51
This PR implements the concept of "default environment", which doesn't have to be created explicitly. The aim is to lower the barrier for adopting environments. To (create and) activate the default environment, run ``` $ spack env activate ``` This mimics the behavior of ``` $ cd ``` which brings you to your home directory. This is not a breaking change, since `spack env activate` without arguments currently errors. It is similar to the already existing `spack env activate --temp` command which always creates an env in a temporary directory, the difference is that the default environment is a managed / named environment named `default`. The name `default` is not a reserved name, it's just that `spack env activate` creates it for you if you don't have it already. With this change, you can get started with environments faster: ``` $ spack env activate [--prompt] $ spack install --add x y z ``` instead of ``` $ spack env create default ==> Created environment 'default in /Users/harmenstoppels/spack/var/spack/environments/default ==> You can activate this environment with: ==> spack env activate default $ spack env activate [--prompt] default $ spack install --add x y z ``` Notice that Spack supports switching (but not stacking) environments, so the parallel with `cd` is pretty clear: ``` $ spack env activate named_env $ spack env status ==> In environment named_env $ spack env activate $ spack env status ==> In environment default ```
2023-11-05Add command and package suggestions (#40895)Michael Kuhn5-12/+35
* Add command suggestions This adds suggestions of similar commands in case users mistype a command. Before: ``` $ spack spack ==> Error: spack is not a recognized Spack command or extension command; check with `spack commands`. ``` After: ``` $ spack spack ==> Error: spack is not a recognized Spack command or extension command; check with `spack commands`. Did you mean one of the following commands? spec patch ``` * Add package name suggestions * Remove suggestion to run spack clean -m
2023-11-05bugfix: compress aliases for first command in completion (#40890)Todd Gamblin2-2/+2
This completes to `spack concretize`: ``` spack conc<tab> ``` but this still gets hung up on the difference between `concretize` and `concretise`: ``` spack -e . conc<tab> ``` We were checking `"$COMP_CWORD" = 1`, which tracks the word on the command line including any flags and their args, but we should track `"$COMP_CWORD_NO_FLAGS" = 1` to figure out if the arg we're completing is the first real command.
2023-11-05Hidden modules: always append hash (#40868)Harmen Stoppels10-150/+153
2023-11-05Environments: Add support for including definitions files (#33960)Tamara Dahlgren11-152/+299
This PR adds support for including separate definitions from `spack.yaml`. Supporting the inclusion of files with definitions enables user to make curated/standardized collections of packages that can re-used by others.
2023-11-04mfem: allow cuda/rocm builds with superlu-dist built without cuda/rocm (#40847)Veselin Dobrev2-8/+15
2023-11-04c-blosc: add v1.21.5 (#40888)Michael Kuhn1-0/+1
2023-11-04spack.modules.commmon: pass spec to SetupContext (#40886)Harmen Stoppels1-1/+3
Currently module globals aren't set before running `setup_[dependent_]run_environment` to compute environment modifications for module files. This commit fixes that.
2023-11-04hdf5-vol-async: better specify dependency condition (#40882)Massimiliano Culpo2-3/+4
2023-11-04hiop: fix cuda constraints (#40875)Cameron Rutherford1-1/+1
2023-11-04sundials +sycl: add cxxflags=-fsycl via flag_handler (#40845)eugeneswalker2-1/+7
2023-11-04linux-headers: support multiple versions (#40877)zv-io1-0/+4
The download URL for linux-headers was hardcoded to 4.x; we need to derive the correct URL from the version number.
2023-11-03environment: solve one spec per child process (#40876)Massimiliano Culpo2-3/+12
Looking at the memory profiles of concurrent solves for environment with unify:false, it seems memory is only ramping up. This exchange in the potassco mailing list: https://sourceforge.net/p/potassco/mailman/potassco-users/thread/b55b5b8c2e8945409abb3fa3c935c27e%40lohn.at/#msg36517698 Seems to suggest that clingo doesn't release memory until end of the application. Since when unify:false we distribute work to processes, here we give a maxtaskperchild=1, so we clean memory after each solve.
2023-11-03GDAL: add v3.7.3 (#40865)Adam J. Stewart1-0/+1
2023-11-03Bugfix: propagation of multivalued variants (#39833)Richarda Butler4-1/+18
Don't encourage use of default value if propagating a multivalued variant.
2023-11-03clingo-bootstrap: force setuptools through variant (#40866)Massimiliano Culpo3-0/+14
2023-11-03squashfuse: remove url_for_version (#40862)Andrew W Elble1-8/+1
0.5.0 tarball now has the 'v' removed from the name
2023-11-03xdmf3: fix compilation with hdf5@1.10 and above (#37551)Thomas-Ulrich2-3/+45
2023-11-03ASP-based solver: fix for unsplittable providers (#40859)Massimiliano Culpo4-1/+57
Some providers must provide virtuals "together", i.e. if they provide one virtual of a set, they must be the providers also of the others. There was a bug though, where we were not checking if the other virtuals in the set were needed at all in the DAG. This commit fixes the bug.
2023-11-03oci parsing: make image name case insensitive (#40858)Harmen Stoppels2-3/+14
2023-11-03py-spython: updating to @0.3.1 (#40839)George Young1-2/+2
* py-spython: updating to @0.3.1 * Adding `when=` for py-semver --------- Co-authored-by: LMS Bioinformatics <bioinformatics@lms.mrc.ac.uk>
2023-11-03fix typo in packaging guide (#40853)Thomas-Ulrich1-1/+1
2023-11-03tau: update 2.33 hash, add syscall variant (#40851)eugeneswalker6-10/+14
Co-authored-by: wspear <wjspear@gmail.com>
2023-11-02MFEM: add logic to find CUDA math-libs when using HPC SDK installation (#40815)Veselin Dobrev1-0/+16
* mfem: add logic to find CUDA math-libs when using HPC SDK installation * [@spackbot] updating style on behalf of v-dobrev
2023-11-02qt-svg: new package for Qt6 SVG module (#40834)Martin Aumüller1-0/+45
enables loading of SVG icons by providing plugin used by qt-base
2023-11-02qt-*: add v6.5.3 & v6.6.0 (#40833)Martin Aumüller5-0/+10
2023-11-03libtheora: fix build on macos (#40840)Martin Aumüller2-29/+19
* libtheora: regenerate Makefile.in during autoreconf The patch to inhibit running of configure would exit autogen.sh so early that it did not yet run autoconf/automake/... Instead of patching autogen.sh, just pass -V as argument, as this is passed on to configure and lets it just print its version instead of configuring the build tree. Also drop arguments from autogen.sh, as they are unused when configure does not run. * libtheora: fix build on macos Apply upstream patches in order to avoid unresolved symbols during building of libtheoraenc. These patches require re-running automake/autoconf/... Error messages: libtool: link: /Users/ma/git/spack/lib/spack/env/clang/clang -dynamiclib -o .libs/libtheoraenc.1.dylib .libs/apiwrapper.o .libs/fragment.o .libs/idct.o .libs/internal.o .libs/state.o .libs/quant.o .l ibs/analyze.o .libs/fdct.o .libs/encfrag.o .libs/encapiwrapper.o .libs/encinfo.o .libs/encode.o .libs/enquant.o .libs/huffenc.o .libs/mathops.o .libs/mcenc.o .libs/rate.o .libs/tokenize.o -L/opt/spac k/darwin-sonoma-m1/apple-clang-15.0.0/libtheora-1.1.1-uflq3jvysewnrmlj5x5tvltst65ho3v4/lib -logg -lm -Wl,-exported_symbols_list -Wl,/var/folders/zv/qr55pmd9065glf0mcltpx5bm000102/T/ma/spack-stage/spac k-stage-libtheora-1.1.1-uflq3jvysewnrmlj5x5tvltst65ho3v4/spack-src/lib/theoraenc.exp -install_name /opt/spack/darwin-sonoma-m1/apple-clang-15.0.0/libtheora-1.1.1-uflq3jvysewnrmlj5x5tvltst65ho3v4/lib /libtheoraenc.1.dylib -compatibility_version 3 -current_version 3.2 ld: warning: search path '/opt/spack/darwin-sonoma-m1/apple-clang-15.0.0/libtheora-1.1.1-uflq3jvysewnrmlj5x5tvltst65ho3v4/lib' not found ld: Undefined symbols: _th_comment_add, referenced from: _theora_comment_add in apiwrapper.o _th_comment_add_tag, referenced from: _theora_comment_add_tag in apiwrapper.o _th_comment_clear, referenced from: _theora_comment_clear in apiwrapper.o _th_comment_init, referenced from: _theora_comment_init in apiwrapper.o _th_comment_query, referenced from: _theora_comment_query in apiwrapper.o _th_comment_query_count, referenced from: _theora_comment_query_count in apiwrapper.o * libtheora: add git versions stable as version name for theora-1.1 branch was chosen so that it sorts between 1.1.x and master * libtheora: remove unused patch thanks to @michaelkuhn for noticing
2023-11-02Update Anaconda3 -- add version 2023.09-0 for x86_64, aarch64, and ppc64le ↵garylawson1-165/+193
(#40622) * Add 2023.09-0 for x86_64, aarch64, and ppc64le extend the anaconda3 package.py to support aarch64 and ppc64le. add the latest version of anaconda3 to each new platform, including the existing x86_64 * formatting
2023-11-02Automated deployment to update package flux-sched 2023-10-18 (#40596)Vanessasaurus1-15/+37
Co-authored-by: github-actions <github-actions@users.noreply.github.com> Co-authored-by: Tom Scogland <scogland1@llnl.gov>
2023-11-02highfive: 2.8.0 (#40837)Nicolas Cornu1-0/+1
Co-authored-by: Nicolas Cornu <me@alkino.fr>
2023-11-02eccodes: rename variant 'definitions' to 'extra_definitions' (#36186)Sergey Kosukhin1-27/+6
2023-11-02bugfix: computing NodeID2 in requirement node_flag_source (#40846)Greg Becker1-1/+1
2023-11-02py-pint: new versions 0.21, 0.22 (#40745)Seth R. Johnson1-4/+9
* py-pint: new versions 0.21, 0.22 * Address feedback * Fix dumb typo * Add typing extension requirement
2023-11-02Update to latest version (#40778)Chris Richardson1-0/+3
2023-11-02py-pyside2: fix to build with newer llvm and to use spack install headers ↵vucoda1-1/+18
(#40544) * Fix py-pyside2 to build with newer llvm and to use spack libglx and libxcb headers where system headers are missing pyside2 needs LLVM_INSTALL_DIR to be set when using llvm 11: and expects system headers for libglx and libxcb and won't build otherwise. * Fix styling * remove raw string type * Update var/spack/repos/builtin/packages/py-pyside2/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> --------- Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-11-02Fixes to ffcx @0.6.0 (#40787)Chris Richardson1-1/+3
2023-11-02add charliecloud 0.35 (#40842)Jordan Ogas1-1/+6
* add charliecloud 0.35 * fix linter rage * fix linter rage?
2023-11-02Gaudi: Add a few versions and a dependency on tbb after 37.1 (#40802)Juan Miguel Carceller1-1/+4
Co-authored-by: jmcarcell <jmcarcell@users.noreply.github.com>
2023-11-02llvm: add 17.0.2-4 (#40820)Paul R. C. Kent1-0/+3
2023-11-02clingo ^pyhton@3.12: revisit distutils fix (#40844)Harmen Stoppels3-15/+9
2023-11-02PyTorch: build with external sleef (#40763)Adam J. Stewart3-34/+19
Co-authored-by: adamjstewart <adamjstewart@users.noreply.github.com>
2023-11-02depfile: deal with empty / non-concrete env (#40816)Harmen Stoppels4-10/+36
2023-11-02exago: update petsc dependency (#40831)Satish Balay1-3/+4
2023-11-02go/rust bootstrap: no versions if unsupported arch (#40841)Harmen Stoppels2-2/+2
The lookup in a dictionary causes KeyError on package load for unsupported architectures such as i386 and ppc big endian.
2023-11-02spack external find: fix multi-arch troubles (#33973)Harmen Stoppels3-16/+98
2023-11-02env remove: add a unit test removing two environments (#40814)Tamara Dahlgren1-11/+40
2023-11-02openscenegraph: support more file formats (#39897)Martin Aumüller2-20/+127
2023-11-01Cherry-picking virtual dependencies (#35322)Massimiliano Culpo29-153/+1126
This PR makes it possible to select only a subset of virtual dependencies from a spec that _may_ provide more. To select providers, a syntax to specify edge attributes is introduced: ``` hdf5 ^[virtuals=mpi] mpich ``` With that syntax we can concretize specs like: ```console $ spack spec strumpack ^[virtuals=mpi] intel-parallel-studio+mkl ^[virtuals=lapack] openblas ``` On `develop` this would currently fail with: ```console $ spack spec strumpack ^intel-parallel-studio+mkl ^openblas ==> Error: Spec cannot include multiple providers for virtual 'blas' Requested 'intel-parallel-studio' and 'openblas' ``` In package recipes, virtual specs that are declared in the same `provides` directive need to be provided _together_. This means that e.g. `openblas`, which has: ```python provides("blas", "lapack") ``` needs to provide both `lapack` and `blas` when requested to provide at least one of them. ## Additional notes This capability is needed to model compilers. Assuming that languages are treated like virtual dependencies, we might want e.g. to use LLVM to compile C/C++ and Gnu GCC to compile Fortran. This can be accomplished by the following[^1]: ``` hdf5 ^[virtuals=c,cxx] llvm ^[virtuals=fortran] gcc ``` [^1]: We plan to add some syntactic sugar around this syntax, and reuse the `%` sigil to avoid having a lot of boilerplate around compilers. Modifications: - [x] Add syntax to interact with edge attributes from spec literals - [x] Add concretization logic to be able to cherry-pick virtual dependencies - [x] Extend semantic of the `provides` directive to express when virtuals need to be provided together - [x] Add unit-tests and documentation