- Minor formatting changes to the changelog.

OBS-URL: https://build.opensuse.org/package/show/network:cluster/spack?expand=0&rev=92
This commit is contained in:
Egbert Eich 2024-02-02 08:45:07 +00:00 committed by Git OBS Bridge
parent 93b53787f6
commit 23935ea1a9

View File

@ -1,26 +1,25 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Jan 25 14:07:19 UTC 2024 - Christian Goll <cgoll@suse.com> Thu Jan 25 14:07:19 UTC 2024 - Christian Goll <cgoll@suse.com>
- update to 0.21.1 - Update Spack to version 0.21.1
* Add support for reading buildcaches created by Spack v0.22 * Add support for reading buildcaches created by Spack v0.22
* Bugfixes * Bugfixes
+ spack graph: fix coloring with environments + `spack graph`: fix coloring with environments
+ spack info: sort variants in --variants-by-name + `spack info`: sort variants in --variants-by-name
+ Spec.format: error on old style format strings + `Spec.format`: error on old style format strings
+ ASP-based solver: + ASP-based solver:
fix infinite recursion when computing concretization - fix infinite recursion when computing concretization
errors errors,
don't error for type mismatch on preferences - don't error for type mismatch on preferences,
don't emit spurious debug output - don't emit spurious debug output.
+ Improve the error message for deprecated preferences + Improve the error message for deprecated preferences.
+ Fix MSVC preview version breaking clingo build on Windows + Fix multi-word aliases.
+ Fix multi-word aliases + Add a warning for unconfigured compiler.
+ Add a warning for unconfigured compiler + environment: fix an issue with deconcretization/reconcretization
+ environment: fix an issue with of specs.
deconcretization/reconcretization of specs
+ buildcache: don't error if a patch is missing, when + buildcache: don't error if a patch is missing, when
installing from binaries installing from binaries
- updated to 0.21.0 - From version 0.21.0
* following new features: * following new features:
+ Better error messages with condition chaining: + Better error messages with condition chaining:
In v0.18, we added better error messages that could tell you In v0.18, we added better error messages that could tell you
@ -31,117 +30,123 @@ Thu Jan 25 14:07:19 UTC 2024 - Christian Goll <cgoll@suse.com>
where they came from. where they came from.
+ OCI build caches: + OCI build caches:
You can now use an arbitrary OCI registry as a build cache: You can now use an arbitrary OCI registry as a build cache:
$ spack mirror add my_registry oci://user/image # Dockerhub - For Dockerhub:
$ spack mirror add my_registry oci://ghcr.io/haampie/spack-test # GHCR `$ spack mirror add my_registry oci://user/image`
$ spack mirror set --push --oci-username ... --oci-password ... my_registry # set login creds - For another registry (GHCR):
$ spack buildcache push my_registry [specs...] `$ spack mirror add my_registry oci://ghcr.io/haampie/spack-test`
And you can optionally add a base image to get runnable images: Then set the login credentials:
$ spack buildcache push --base-image leap:15.5 my_registry python `$ spack mirror set --push --oci-username ... --oci-password ... my_registry`
and push to it:
`$ spack buildcache push my_registry [specs...]`
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 Pushed ... as [image]:python-3.11.2-65txfcpqbmpawclvtasuog4yzmxwaoia.spack
$ docker run --rm -it [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 This creates a container image from the Spack installations
on the host system, without the need to run spack install on the host system, without the need to run `spack install`
from a Dockerfile or sif file. It also addresses the from a `Dockerfile` or `sif` file. It also addresses the
inconvenience of losing binaries of dependencies when RUN inconvenience of losing binaries of dependencies when
spack install fails inside docker build. Further, the `RUN spack install` fails inside `docker build`. Further, the
container image layers and build cache tarballs are the same container image layers and build cache tarballs are the same
files. This means that spack install and docker pull use the files. This means that `spack install` and `docker pull` use the
exact same underlying binaries. If you previously used spack exact same underlying binaries. If you previously used `spack
install inside of docker build, this feature helps you save install` inside of docker build, this feature helps you save
storage by a factor two. storage by a factor two.
+ Multiple versions of build dependencies: + Multiple versions of build dependencies:
Increasingly, complex package builds require multiple Increasingly, complex package builds require multiple
versions of some build dependencies. For example, Python versions of some build dependencies. For example, Python
packages frequently require very specific versions of packages frequently require very specific versions of
setuptools, cython, and sometimes different physics packages `setuptools`, `cython`, while different physics packages
require different versions of Python to build. The require different versions of Python to build. The concretizer
concretizer enforced that every solve was unified, i.e., enforced that every solve was unified, i.e., so that there was
that there only be one version of every package. The only one version of every package. The concretizer now supports
concretizer now supports "duplicate" nodes for build "duplicate" nodes for build dependencies, but enforces unification
dependencies, but enforces unification through transitive through transitive link and run dependencies. This will allow it
link and run dependencies. This will allow it to better to better resolve complex dependency graphs in ecosystems like
resolve complex dependency graphs in ecosystems like Python, Python.
and it also gets us very close to modeling compilers as
proper dependencies.
+ Cherry-picking virtual dependencies: + Cherry-picking virtual dependencies:
You can now select only a subset of virtual dependencies You can now select only a subset of virtual dependencies
from a spec that may provide more. For example, if you want from a spec that may provide more. For example, to make mpich
mpich to be your mpi provider, you can be explicit by your mpi provider, you can be explicit by writing:
writing: `hdf5 ^[virtuals=mpi] mpich`.
hdf5 ^[virtuals=mpi] mpich Or, to use, e.g., `intel-parallel-studio` for blas along with
Or, if you want to use, e.g., intel-parallel-studio for blas an external `lapack` like `openblas`, you could write:
along with an external lapack like openblas, you could ```
write: strumpack ^[virtuals=mpi] intel-parallel-studio+mkl ^[virtuals=lapack] openblas`
strumpack ^[virtuals=mpi] intel-parallel-studio+mkl ^[virtuals=lapack] openblas ```
+ spack deconcretize command: The `virtuals=mpi` is an edge attribute, and dependency edges
We are getting close to having a spack update command for in Spack graphs now track which virtuals they satisfied.
environments, but we're not quite there yet. This is the + The `spack deconcretize` command gives you control over what
next best thing. spack deconcretize gives you control over you want to update in an already concrete environment.
what you want to update in an already concrete environment. As an example, with an environment built with meson, and you
If you have an environment built with, say, meson, and you
want to update your meson version, you can run: want to update your meson version, you can run:
$spack deconcretize meson `$spack deconcretize meson`
and have everything that depends on meson rebuilt the next and have everything that depends on meson rebuilt the next
time you run spack concretize. In a future Spack version, time you run spack concretize. In the future, we'll handle
we'll handle all of this in a single command, but for now this in a single command, but for now you can use this to
you can use this to drop bits of your lockfile drop bits of your lockfile and resolve your dependencies
and resolve your dependencies again. again.
+ UI Improvements: + UI Improvements:
The venerable spack info command was looking shabby compared The `spack info` received a rework to make the output more
to the rest of Spack's UI, so we reworked it to have a bit appealing. It is now on par with the rest of Spack's UI.
more flair. spack info now makes much better use of terminal `spack info` now makes much better use of terminal space and
space and shows variants, their values, and their shows variants, their values, and their descriptions more
descriptions much more clearly. Conditional variants are clearly. Conditional variants are grouped separately so you
grouped separately so you can more easily understand how can more easily understand how packages are structured.
packages are structured. spack checksum now allows you to `spack checksum` now allows you to filter versions from your
filter versions from your editor, or by version range. It editor, or by version range. It also notifies you about
also notifies you about potential download URL changes. potential download URL changes.
+ Environments can include definitions: + Environments can include definitions:
Spack did not previously support using include: with The Spack did not previously support using `include:` with The
definitions section of an environment, but now it does. You definitions section of an environment, but now it does. You
can use this to curate lists of specs and more easily reuse can use this to curate lists of specs and more easily reuse
them across environments. them across environments.
+ Aliases: + Aliases:
You can now add aliases to Spack commands in config.yaml, You can now add aliases to Spack commands in `config.yaml`,
e.g. this might enshrine your favorite args to spack find as e.g. this might enshrine your favorite args to `spack find`
spack f: as `spack f`:
```
config: config:
aliases: aliases:
f: find -lv f: find -lv
```
+ Improved autoloading of modules: + Improved autoloading of modules:
In this release, you can start using hide_implicits: true In this release, you can start using `hide_implicits: true`
instead, which exposes only explicitly installed packages to instead, which exposes only explicitly installed packages to
the user, while still autoloading dependencies. On top of the user, while still autoloading dependencies. On top of
that, you can safely use hash_length: 0, as this config now that, you can safely use `hash_length: 0`, as this config now
only applies to the modules exposed to the user -- you don't only applies to the modules exposed to the user -- you don't
have to worry about file name clashes for hidden have to worry about file name clashes for hidden
dependencies. dependencies.
Note: for tcl this feature requires Modules 4.7 or higher. Note: for Tcl this feature requires Modules 4.7 or higher.
* Other new commands and directives: * Other new commands and directives:
+ spack env activate without arguments now loads a default + `spack env activate` without arguments now loads a default
environment that you do not have to create environment that you do not have to create.
+ spack find -H / --hashes: a new shortcut for piping spack + `spack find -H` / `--hashes`: a new shortcut for piping spack
find output to other commands find output to other commands.
+ Add spack checksum --verify, fix --add + Add `spack checksum --verify`, fix `--add`.
+ New default_args context manager factors out common args for + New `default_args` context manager factors out common args for
directives directives.
+ spack compiler find --[no]-mixed-toolchain lets you easily + `spack compiler find --[no]-mixed-toolchain` lets you easily
mix clang and gfortran on Linux mix clang and gfortran on Linux.
* Performance improvements: * Performance improvements:
+ spack external find execution is now much faster + `spack external find execution` is now much faster.
+ spack location -i now much faster on success + `spack location -i` is now much faster on success.
+ Drop redundant rpaths post install + Drop redundant rpaths post install.
+ ASP-based solver: avoid cycles in clingo using hidden directive + ASP-based solver: avoid cycles in clingo using hidden
+ Fix multiple quadratic complexity issues in environments directive.
+ Fix multiple quadratic complexity issues in environments.
* Other new features of note: * Other new features of note:
+ archspec: update to v0.2.2, support for Sapphire Rapids, + archspec: update to v0.2.2, support for Sapphire Rapids,
Power10, Neoverse V2 Power10, Neoverse V2.
+ Propagate variants across nodes that don't have that variant + Propagate variants across nodes that don't have that variant
+ Implement fish completion + Implement fish shell completion.
+ Can now distinguish between source/binary mirror; don't ping + Can now distinguish between source/binary mirror; don't ping
mirror.spack.io as much mirror.spack.io as much.
+ Improve status reporting on install (add [n/total] display... + Improve status reporting on `spack install`
(add [n/total] display...).
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Nov 6 08:04:55 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com> Mon Nov 6 08:04:55 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com>