diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-02-15 22:58:29 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-02-16 01:00:08 +0100 |
commit | 36754eee28187b41e9a6ef15cd3c9911449a4e8d (patch) | |
tree | 6ddea122d835508372e1018e97529e68ce58acf7 /tests | |
parent | ba48895899a117d6ace2209c3f54411a4a989133 (diff) | |
download | gnu-guix-36754eee28187b41e9a6ef15cd3c9911449a4e8d.tar gnu-guix-36754eee28187b41e9a6ef15cd3c9911449a4e8d.tar.gz |
packages: Remove duplicates from package cache.
Previously the same package could appear several times if several
variables were bound to it, as is notably the case for "python"
currently. This, in turn, would lead to obnoxious "ambiguous package
specification" messages.
* gnu/packages.scm (generate-package-cache)[expand-cache]: Change RESULT
to RESULT+SEEN and adjust accordingly.
Call 'first' on the result of 'fold-module-public-variables*'.
* tests/packages.scm ("fold-available-packages with/without cache"):
Check for lack of duplicates in FROM-CACHE.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/packages.scm | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tests/packages.scm b/tests/packages.scm index e5704ae4b9..4e4bffc48c 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -1037,7 +1037,8 @@ result)) '())))))) - (lset= equal? no-cache from-cache))) + (and (equal? (delete-duplicates from-cache) from-cache) + (lset= equal? no-cache from-cache)))) (test-assert "find-packages-by-name" (match (find-packages-by-name "hello") |