summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-12-20 14:34:36 +0100
committerLudovic Courtès <ludo@gnu.org>2015-12-20 22:34:22 +0100
commitaa8e051532a144ce86c13169e08abdd554b9823e (patch)
tree6740a0e68aab1d99900ff2596e71345140a9d082 /guix
parent54b7f63a72f79797c4dd587c9c28706d7ca89dc7 (diff)
packages: Add 'package-transitive-native-search-paths'.
* guix/packages.scm (package-transitive-native-search-paths): New procedure. * tests/packages.scm ("package-transitive-native-search-paths"): New test.
Diffstat (limited to 'guix')
-rw-r--r--guix/packages.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index 68fb0916d8..41f3e20c41 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -89,6 +89,7 @@
package-transitive-target-inputs
package-transitive-native-inputs
package-transitive-propagated-inputs
+ package-transitive-native-search-paths
package-transitive-supported-systems
package-source-derivation
package-derivation
@@ -632,6 +633,17 @@ for the host system (\"native inputs\"), and not target inputs."
recursively."
(transitive-inputs (package-propagated-inputs package)))
+(define (package-transitive-native-search-paths package)
+ "Return the list of search paths for PACKAGE and its propagated inputs,
+recursively."
+ (append (package-native-search-paths package)
+ (append-map (match-lambda
+ ((label (? package? p) _ ...)
+ (package-native-search-paths p))
+ (_
+ '()))
+ (package-transitive-propagated-inputs package))))
+
(define (transitive-input-references alist inputs)
"Return a list of (assoc-ref ALIST <label>) for each (<label> <package> . _)
in INPUTS and their transitive propagated inputs."