guix/tests
Ludovic Courtès 323b58ac18
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
2024-01-31 09:07:25 +01:00
..
keys
services
accounts.scm
base16.scm
base32.scm
base64.scm
boot-parameters.scm
bournish.scm
build-emacs-utils.scm
build-utils.scm
builders.scm
cache.scm
challenge.scm
channels.scm channels: ‘latest-channel-instances’ traverses user-provided channels first. 2024-01-31 09:07:25 +01:00
combinators.scm
composer.scm guix: import: Add composer importer. 2023-12-18 23:16:28 +01:00
containers.scm
cpan.scm
cpio.scm
cran.scm
crate.scm guix: import: Optionally import necessary yanked crates. 2024-01-09 09:38:38 +02:00
cve-sample.json
cve.scm
debug-link.scm
derivations.scm
discovery.scm
egg.scm
elm.scm
elpa.scm
file-systems.scm
gem.scm
gexp.scm gexp: #:references-graphs accepts and honors <gexp-input> records. 2023-12-22 00:31:40 +01:00
git-authenticate.scm
git.scm
glob.scm
gnu-maintenance.scm
go.scm guix: import: Report go version for go importer. 2023-12-16 18:05:58 +02:00
grafts.scm
graph.scm
gremlin.scm
guix-archive.sh
guix-authenticate.sh
guix-build-branch.sh
guix-build.sh
guix-daemon.sh
guix-describe.sh
guix-download.sh guix: download: Add support for git repositories. 2024-01-22 10:02:28 -05:00
guix-environment-container.sh
guix-environment.sh
guix-gc.sh
guix-git-authenticate.sh
guix-graph.sh
guix-hash.sh
guix-home.sh
guix-lint.sh
guix-locate.sh locate: Accept ‘--clear’ without additional arguments. 2023-11-15 18:29:37 +01:00
guix-pack-localstatedir.sh
guix-pack-relocatable.sh
guix-pack.sh
guix-package-aliases.sh
guix-package-net.sh
guix-package.sh
guix-refresh.sh
guix-repl.sh
guix-shell-export-manifest.sh
guix-shell.sh shell: ‘--development’ honors ‘--system’. 2023-12-06 23:50:04 +01:00
guix-style.sh
guix-system.sh
guix-time-machine.sh
hackage.scm guix: import: Fix parsing Cabal files that import many stanzas 2023-12-03 16:15:29 +01:00
hexpm.scm
home-import.scm
home-services.scm
http-client.scm
import-git.scm
import-github.scm
import-utils.scm
inferior.scm
ipfs.scm
lint.scm
minetest.scm
modules.scm
monads.scm
nar.scm
networking.scm
offload.scm
opam.scm
openpgp.scm
pack.scm guix: pack: Build layered images. 2024-01-08 21:04:44 +03:00
packages.scm
pki.scm
print.scm
processes.scm
profiles.scm gnu: Use ‘libc-utf8-locales-for-target’. 2023-12-02 12:25:45 +01:00
publish.scm
pypi.scm
read-print.scm read-print: Properly indent ‘parameterize’. 2023-11-22 16:51:46 +01:00
records.scm
rpm.scm
scripts.scm
search-paths.scm
services.scm
sets.scm
size.scm
status.scm
store-database.scm
store-deduplication.scm
store-roots.scm
store.scm daemon: Implement ‘substitute-urls’ RPC. 2023-12-11 23:18:53 +01:00
style.scm
substitute.scm substitute: Do not exit when failing to find a nar. 2023-12-04 22:26:36 +01:00
swh.scm
syscalls.scm tests: Use ‘test-equal’ for ‘terminal-string-width’ tests. 2023-11-25 16:29:25 +01:00
system.scm
test.drv
texlive.scm
transformations.scm
ui.scm
union.scm
upstream.scm
utils.scm guix: Add target-avr?. 2023-12-11 11:53:54 +02:00
uuid.scm
workers.scm