inferior: Add 'inferior-package-provenance'.

* guix/inferior.scm (inferior-package-provenance): New procedure.
This commit is contained in:
Ludovic Courtès 2019-12-29 17:35:56 +01:00
parent 975183a1c4
commit 7a241c6350
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -82,6 +82,7 @@ (define-module (guix inferior)
inferior-package-native-search-paths inferior-package-native-search-paths
inferior-package-transitive-native-search-paths inferior-package-transitive-native-search-paths
inferior-package-search-paths inferior-package-search-paths
inferior-package-provenance
inferior-package-derivation inferior-package-derivation
inferior-package->manifest-entry inferior-package->manifest-entry
@ -416,6 +417,19 @@ (define inferior-package-search-paths
(define inferior-package-transitive-native-search-paths (define inferior-package-transitive-native-search-paths
(cut %inferior-package-search-paths <> 'package-transitive-native-search-paths)) (cut %inferior-package-search-paths <> 'package-transitive-native-search-paths))
(define (inferior-package-provenance package)
"Return a \"provenance sexp\" for PACKAGE, an inferior package. The result
is similar to the sexp returned by 'package-provenance' for regular packages."
(inferior-package-field package
'(let* ((describe
(false-if-exception
(resolve-interface '(guix describe))))
(provenance
(false-if-exception
(module-ref describe
'package-provenance))))
(or provenance (const #f)))))
(define (proxy client backend) ;adapted from (guix ssh) (define (proxy client backend) ;adapted from (guix ssh)
"Proxy communication between CLIENT and BACKEND until CLIENT closes the "Proxy communication between CLIENT and BACKEND until CLIENT closes the
connection, at which point CLIENT is closed (both CLIENT and BACKEND must be connection, at which point CLIENT is closed (both CLIENT and BACKEND must be