diff --git a/spack-0.20.3.tar.gz b/spack-0.20.3.tar.gz deleted file mode 100644 index ece1a34..0000000 --- a/spack-0.20.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c7deaa2f51502ff6f84f79845d8bd23202b0524f7669d3f779bd2049bc43e177 -size 9691976 diff --git a/spack-0.21.1.tar.gz b/spack-0.21.1.tar.gz new file mode 100644 index 0000000..21a0477 --- /dev/null +++ b/spack-0.21.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a66bc8b59d436d5c0bd7b052c36d2177b228665ece6c9a2c339c2acb3f9103e +size 10612870 diff --git a/spack.changes b/spack.changes index add6b13..287a6a5 100644 --- a/spack.changes +++ b/spack.changes @@ -1,3 +1,142 @@ +------------------------------------------------------------------- +Thu Jan 25 14:07:19 UTC 2024 - Christian Goll + +- update to 0.21.1 + * Add support for reading buildcaches created by Spack v0.22 + * Bugfixes + + spack graph: fix coloring with environments + + spack info: sort variants in --variants-by-name + + Spec.format: error on old style format strings + + ASP-based solver: + fix infinite recursion when computing concretization errors + don't error for type mismatch on preferences + don't emit spurious debug output + + Improve the error message for deprecated preferences + + Fix MSVC preview version breaking clingo build on Windows + + Fix multi-word aliases + + Add a warning for unconfigured compiler + + environment: fix an issue with deconcretization/reconcretization of specs + + buildcache: don't error if a patch is missing, when installing from binaries +- updated to 0.21.0 + * following new features: + + Better error messages with condition chaining: + In v0.18, we added better error messages that could tell you what problem + happened, but they couldn't tell you why it happened. 0.21 adds condition + chaining to the solver, and Spack can now trace back through the conditions + that led to an error and build a tree of causes potential causes and where + they came from. + + OCI build caches: + You can now use an arbitrary OCI registry as a build cache: + ``` + $ spack mirror add my_registry oci://user/image # Dockerhub + $ spack mirror add my_registry oci://ghcr.io/haampie/spack-test # GHCR + $ spack mirror set --push --oci-username ... --oci-password ... my_registry # set login creds + $ spack buildcache push my_registry [specs...] + ``` + And you can optionally add a base image to get runnable images: + ``` + $ spack buildcache push --base-image leap:15.5 my_registry python + Pushed ... as [image]:python-3.11.2-65txfcpqbmpawclvtasuog4yzmxwaoia.spack + $ docker run --rm -it [image]:python-3.11.2-65txfcpqbmpawclvtasuog4yzmxwaoia.spack + ``` + This creates a container image from the Spack installations on the host + system, without the need to run spack install from a Dockerfile or sif + file. It also addresses the inconvenience of losing binaries of + dependencies when RUN spack install fails inside docker build. + Further, the container image layers and build cache tarballs are the same + files. This means that spack install and docker pull use the exact same + underlying binaries. If you previously used spack install inside of docker + build, this feature helps you save storage by a factor two. + + Multiple versions of build dependencies: + Increasingly, complex package builds require multiple versions of some + build dependencies. For example, Python packages frequently require very + specific versions of setuptools, cython, and sometimes different physics + packages require different versions of Python to build. The concretizer + enforced that every solve was unified, i.e., that there only be one version + of every package. The concretizer now supports "duplicate" nodes for build + dependencies, but enforces unification through transitive link and run + dependencies. This will allow it to better resolve complex dependency + graphs in ecosystems like Python, and it also gets us very close to + modeling compilers as proper dependencies. + + Cherry-picking virtual dependencies: + You can now select only a subset of virtual dependencies from a spec that + may provide more. For example, if you want mpich to be your mpi provider, + you can be explicit by writing: + hdf5 ^[virtuals=mpi] mpich + Or, if you want to use, e.g., intel-parallel-studio for blas along with an external + lapack like openblas, you could write: + strumpack ^[virtuals=mpi] intel-parallel-studio+mkl ^[virtuals=lapack] openblas + + License directive: + Spack packages can now have license metadata, with the new license() directive: + license("Apache-2.0") + Licenses use SPDX identifiers, and you can use SPDX expressions to combine them: + license("Apache-2.0 OR MIT") + Like other directives in Spack, it's conditional, so you can handle complex cases like Spack itself: + license("LGPL-2.1", when="@:0.11") + license("Apache-2.0 OR MIT", when="@0.12:") + + spack deconcretize command: + We are getting close to having a spack update command for environments, but + we're not quite there yet. This is the next best thing. spack deconcretize + gives you control over what you want to update in an already concrete + environment. If you have an environment built with, say, meson, and you + want to update your meson version, you can run: + $spack deconcretize meson + and have everything that depends on meson rebuilt the next time you run + spack concretize. In a future Spack version, we'll handle all of this in a + single command, but for now you can use this to drop bits of your lockfile + and resolve your dependencies again. + + UI Improvements: + The venerable spack info command was looking shabby compared to the rest of + Spack's UI, so we reworked it to have a bit more flair. spack info now + makes much better use of terminal space and shows variants, their values, + and their descriptions much more clearly. Conditional variants are grouped + separately so you can more easily understand how packages are structured. + spack checksum now allows you to filter versions from your editor, or by + version range. It also notifies you about potential download URL changes. + See + + Environments can include definitions: + Spack did not previously support using include: with The definitions + section of an environment, but now it does. You can use this to curate + lists of specs and more easily reuse them across environments. + + Aliases: + You can now add aliases to Spack commands in config.yaml, e.g. this might + enshrine your favorite args to spack find as spack f: + ``` + config: + aliases: + f: find -lv + ``` + + Improved autoloading of modules: + In this release, you can start using hide_implicits: true instead, which + exposes only explicitly installed packages to the user, while still + autoloading dependencies. On top of that, you can safely use hash_length: + 0, as this config now only applies to the modules exposed to the user -- + you don't have to worry about file name clashes for hidden dependencies. + Note: for tcl this feature requires Modules 4.7 or higher. + * Other new commands and directives: + + spack env activate without arguments now loads a default environment that + you do not have to create + + spack find -H / --hashes: a new shortcut for piping spack find output to + other commands + + Add spack checksum --verify, fix --add + + New default_args context manager factors out common args for directives + + spack compiler find --[no]-mixed-toolchain lets you easily mix clang and + gfortran on Linux + * Performance improvements: + + spack external find execution is now much faster + + spack location -i now much faster on success + + Drop redundant rpaths post install + + ASP-based solver: avoid cycles in clingo using hidden directive + + Fix multiple quadratic complexity issues in environments + * Other new features of note: + + archspec: update to v0.2.2, support for Sapphire Rapids, Power10, Neoverse V2 + + Propagate variants across nodes that don't have that variant + + Implement fish completion + + Can now distinguish between source/binary mirror; don't ping + mirror.spack.io as much + + Improve status reporting on install (add [n/total] display... + + ------------------------------------------------------------------- Mon Nov 6 08:04:55 UTC 2023 - Bernhard Wiedemann diff --git a/spack.spec b/spack.spec index 93775fe..8f05697 100644 --- a/spack.spec +++ b/spack.spec @@ -1,7 +1,7 @@ # # spec file for package spack # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -41,12 +41,12 @@ ExclusiveArch: do_not_build # packages recognized by spack, but not recommended %define spack_trigger_packages ghostscript go fish fzf hwloc-devel hugo java-11-openjdk-devel java-14-openjdk-devel java-15-openjdk-devel java-16-openjdk-devel java-1_8_0-openjdk-devel ruby sqlite3 openmpi1-devel openmpi2-devel openmpi3-devel openmpi4-devel openmpi1-gnu-hpc-devel openmpi2-gnu-hpc-devel openmpi3-gnu-hpc-devel openmpi4-gnu-hpc-devel mpich-gnu-hpc-devel mvapich2-devel mpich-devel -%define spack_trigger_compilers gcc7 gcc8 gcc9 gcc10 gcc11 gcc12 gcc7-c++ gcc8-c++ gcc9-c++ gcc10-c++ gcc11-c++ gcc12-c++ gcc7-fortran gcc8-fortran gcc9-fortran gcc10-fortran gcc11-fortran gcc12-fortran +%define spack_trigger_compilers gcc7 gcc8 gcc9 gcc10 gcc11 gcc12 gcc13 gcc7-c++ gcc8-c++ gcc9-c++ gcc10-c++ gcc11-c++ gcc12-c++ gcc13-c++ gcc7-fortran gcc8-fortran gcc9-fortran gcc10-fortran gcc11-fortran gcc12-fortran gcc13-fortran # non oss packages %define spack_trigger_external cuda-nvcc Name: spack -Version: 0.20.3 +Version: 0.21.1 Release: 0 Summary: Package manager for HPC systems License: Apache-2.0 AND MIT AND Python-2.0 AND BSD-3-Clause