- 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:
parent
93b53787f6
commit
23935ea1a9
189
spack.changes
189
spack.changes
@ -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>
|
||||||
|
Loading…
Reference in New Issue
Block a user