mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 05:48:07 -05:00
inferior: Add 'inferior-package-search-paths' & co.
* guix/inferior.scm (%inferior-package-search-paths) (inferior-package-native-search-paths) (inferior-package-search-paths) (inferior-package-transitive-native-search-paths): New procedures. * tests/inferior.scm ("inferior-package-search-paths"): New test.
This commit is contained in:
parent
6030396aec
commit
eee8b303f6
2 changed files with 35 additions and 0 deletions
|
@ -32,6 +32,7 @@ (define-module (guix inferior)
|
|||
#:use-module ((guix derivations)
|
||||
#:select (read-derivation-from-file))
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match)
|
||||
|
@ -58,6 +59,9 @@ (define-module (guix inferior)
|
|||
inferior-package-native-inputs
|
||||
inferior-package-propagated-inputs
|
||||
inferior-package-transitive-propagated-inputs
|
||||
inferior-package-native-search-paths
|
||||
inferior-package-transitive-native-search-paths
|
||||
inferior-package-search-paths
|
||||
inferior-package-derivation))
|
||||
|
||||
;;; Commentary:
|
||||
|
@ -322,6 +326,28 @@ (define inferior-package-propagated-inputs
|
|||
(define inferior-package-transitive-propagated-inputs
|
||||
(cut inferior-package-input-field <> 'package-transitive-propagated-inputs))
|
||||
|
||||
(define (%inferior-package-search-paths package field)
|
||||
"Return the list of search path specificiations of PACKAGE, an inferior
|
||||
package."
|
||||
(define paths
|
||||
(inferior-package-field package
|
||||
`(compose (lambda (paths)
|
||||
(map (@ (guix search-paths)
|
||||
search-path-specification->sexp)
|
||||
paths))
|
||||
,field)))
|
||||
|
||||
(map sexp->search-path-specification paths))
|
||||
|
||||
(define inferior-package-native-search-paths
|
||||
(cut %inferior-package-search-paths <> 'package-native-search-paths))
|
||||
|
||||
(define inferior-package-search-paths
|
||||
(cut %inferior-package-search-paths <> 'package-search-paths))
|
||||
|
||||
(define inferior-package-transitive-native-search-paths
|
||||
(cut %inferior-package-search-paths <> 'package-transitive-native-search-paths))
|
||||
|
||||
(define (proxy client backend) ;adapted from (guix ssh)
|
||||
"Proxy communication between CLIENT and BACKEND until CLIENT closes the
|
||||
connection, at which point CLIENT is closed (both CLIENT and BACKEND must be
|
||||
|
|
|
@ -140,6 +140,15 @@ (define result
|
|||
(close-inferior inferior)
|
||||
result))
|
||||
|
||||
(test-equal "inferior-package-search-paths"
|
||||
(package-native-search-paths guile-2.2)
|
||||
(let* ((inferior (open-inferior %top-builddir
|
||||
#:command "scripts/guix"))
|
||||
(guile (first (lookup-inferior-packages inferior "guile")))
|
||||
(result (inferior-package-native-search-paths guile)))
|
||||
(close-inferior inferior)
|
||||
result))
|
||||
|
||||
(test-equal "inferior-package-derivation"
|
||||
(map derivation-file-name
|
||||
(list (package-derivation %store %bootstrap-guile "x86_64-linux")
|
||||
|
|
Loading…
Reference in a new issue