guix_mirror_bot pushed a commit to branch r-team
in repository guix.
commit d86a0e46ca5cbcff75b8601a196fc5c5ec434c13
Author: Ricardo Wurmus <[email protected]>
AuthorDate: Mon Feb 16 21:20:12 2026 +0100
import/cran: Use sets instead of lset-union.
* guix/import/cran.scm (cran-package-propagated-inputs): Replace lset-union
with actual sets, because the former does not remove duplicates of its
arguments.
Change-Id: I84c57c2426aef656bdd20e30e65b510e27603a64
---
guix/import/cran.scm | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index 9c31f50e3e..e03f51d473 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -750,17 +750,20 @@ REPOSITORY."
(define (cran-package-propagated-inputs meta)
"Return the list of <upstream-input> derived from dependency information in
META."
- (filter-map (lambda (name)
- (and (not (member name
- (append default-r-packages
invalid-packages)))
- (upstream-input
- (name name)
- (downstream-name (cran-guix-name name))
- (type 'propagated))))
- (lset-union equal?
- (listify meta "Imports")
- (listify meta "LinkingTo")
- (delete "R" (listify meta "Depends")))))
+ (let* ((skip (append default-r-packages invalid-packages))
+ (packages (fold (lambda (current result)
+ (if (member current skip) result
+ (set-insert current result)))
+ (set)
+ (append (listify meta "Imports")
+ (listify meta "LinkingTo")
+ (delete "R" (listify meta "Depends"))))))
+ (map (lambda (name)
+ (upstream-input
+ (name name)
+ (downstream-name (cran-guix-name name))
+ (type 'propagated)))
+ (set->list packages))))
(define* (cran-package-inputs meta repository
#:key (download-source download))