summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/packages.scm19
1 files changed, 9 insertions, 10 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index cd7d3b895c..c762fa7c39 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -766,16 +766,15 @@ in INPUTS and their transitive propagated inputs."
(mlambdaq (package)
"Return the intersection of the systems supported by PACKAGE and those
supported by its dependencies."
- (set->list
- (fold (lambda (input systems)
- (match input
- ((label (? package? p) . _)
- (fold set-insert systems
- (package-transitive-supported-systems p)))
- (_
- systems)))
- (list->set (package-supported-systems package))
- (bag-direct-inputs (package->bag package))))))
+ (fold (lambda (input systems)
+ (match input
+ ((label (? package? p) . _)
+ (lset-intersection
+ string=? systems (package-transitive-supported-systems p)))
+ (_
+ systems)))
+ (package-supported-systems package)
+ (bag-direct-inputs (package->bag package)))))
(define* (supported-package? package #:optional (system (%current-system)))
"Return true if PACKAGE is supported on SYSTEM--i.e., if PACKAGE and all its