[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
07/08: import: minetest: Delete duplicate dependencies.
From: |
guix-commits |
Subject: |
07/08: import: minetest: Delete duplicate dependencies. |
Date: |
Sat, 18 Sep 2021 13:43:28 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit 8480a2a5bb360b432877dd33dca80a61c5a698eb
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Tue Sep 7 13:05:56 2021 +0200
import: minetest: Delete duplicate dependencies.
This fixes one of the issues noted in <https://issues.guix.gnu.org/50425#4>.
* guix/import/minetest.scm
(import-dependencies): Call 'delete-duplicates' on the resulting list.
* tests/minetest.scm
("minetest->guix-package, multiple dependencies implemented by one mod"):
New test.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
guix/import/minetest.scm | 6 +++++-
tests/minetest.scm | 10 ++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/guix/import/minetest.scm b/guix/import/minetest.scm
index e1f8487..c8209ab 100644
--- a/guix/import/minetest.scm
+++ b/guix/import/minetest.scm
@@ -371,7 +371,11 @@ official Minetest forum and the Git repository (if any)."
DEPENDENCIES as a list of AUTHOR/NAME strings."
(define dependency-list
(assoc-ref dependencies author/name))
- (filter-map
+ ;; A mod can have multiple dependencies implemented by the same mod,
+ ;; so remove duplicate mod names.
+ (define (filter-deduplicate-map f list)
+ (delete-duplicates (filter-map f list)))
+ (filter-deduplicate-map
(lambda (dependency)
(and (not (dependency-optional? dependency))
(not (builtin-mod? (dependency-name dependency)))
diff --git a/tests/minetest.scm b/tests/minetest.scm
index c6e872e..80e2697 100644
--- a/tests/minetest.scm
+++ b/tests/minetest.scm
@@ -331,6 +331,16 @@ during a dynamic extent where that package is available on
ContentDB."
"some-modpack/containing-mese")))
#:inputs '())
+;; See e.g. 'orwell/basic_trains'
+(test-package* "minetest->guix-package, multiple dependencies implemented by
one mod"
+ (list #:name "frobnicate"
+ #:guix-name "minetest-frobnicate"
+ #:upstream-name "Author/frobnicate"
+ #:requirements '(("frob" #f ("Author/frob"))
+ ("frob_x" #f ("Author/frob")))
+ #:inputs '("minetest-frob"))
+ (list #:author "Author" #:name "frob"))
+
;; License
(test-package "minetest->guix-package, identical licenses"
- branch master updated (511dc68 -> 808f9ff), guix-commits, 2021/09/18
- 01/08: tests: Allow opam test to run without networking., guix-commits, 2021/09/18
- 02/08: tests: git: Don't read from the users global Git config file., guix-commits, 2021/09/18
- 07/08: import: minetest: Delete duplicate dependencies.,
guix-commits <=
- 03/08: tests: git: Make 'tag' directive non-interactive., guix-commits, 2021/09/18
- 04/08: import: Add 'generic-git' updater., guix-commits, 2021/09/18
- 05/08: channels: 'channel-news-entry-commit' correctly resolves annotated tags., guix-commits, 2021/09/18
- 06/08: tests/minetest: Fix 'test-package*' indenting., guix-commits, 2021/09/18
- 08/08: import: minetest: Strip "v" prefixes from the version number., guix-commits, 2021/09/18