diff options
author | Ludovic Courtès <ludovic.courtes@inria.fr> | 2024-01-31 08:29:30 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2024-01-31 09:07:25 +0100 |
commit | 323b58ac18af8417d5b206288d09d9bb9385d7ae (patch) | |
tree | 2847ac705de07b8d7fb6037317c7f62f7bada132 /manifest.scm | |
parent | 36d654fa540539413b88cf8ec62a0fb55280f820 (diff) |
channels: ‘latest-channel-instances’ traverses user-provided channels first.
Previously, ‘latest-channel-instances’ would perform a depth-first
traversal of channels. Since dependencies specified in ‘.guix-channel’
are usually less specific that those provided by the user, this would
lead to the use of instances corresponding to those less specific specs,
which in turn might declare dependencies that do not exist for the more
specific instances.
This commit changes ‘latest-channel-instances’ to perform a
breadth-first traversal, thereby giving user-supplied channels higher
precedence over dependencies found via ‘.guix-channel’.
Fixes <https://issues.guix.gnu.org/68822>.
* guix/channels.scm (latest-channel-instances)[ignore?]: Remove.
[instance-name, same-named?, more-specific?]: New procedures.
Rewrite as a breadth-first traversal using a regular loop.
* tests/channels.scm ("latest-channel-instances reads dependencies from most-specific instance"):
New test.
Change-Id: Iba518145cfd209f04293a56246dbfee3b714650b
Diffstat (limited to 'manifest.scm')
0 files changed, 0 insertions, 0 deletions