Subject: [bug#36351] [PATCH 10/10] ui: 'show-derivation-outputs' accepts <derivation-input> records.

From: Ludovic Courtès <[email-masked]>
Date: Mon, 24 Jun 2019 14:22:12 +0200

* guix/ui.scm (show-derivation-outputs): Handle <derivation-input>
records.
---
 guix/ui.scm | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/guix/ui.scm b/guix/ui.scm
index bdcae34ee2..b6985adf23 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -773,12 +773,19 @@ error."
             str))))
 
 (define (show-derivation-outputs derivation)
-  "Show the output file names of DERIVATION."
-  (format #t "~{~a~%~}"
-          (map (match-lambda
-                 ((out-name . out)
-                  (derivation->output-path derivation out-name)))
-               (derivation-outputs derivation))))
+  "Show the output file names of DERIVATION, which can be a derivation or a
+derivation input."
+  (define (show-outputs derivation outputs)
+    (format #t "~{~a~%~}"
+            (map (cut derivation->output-path derivation <>)
+                 outputs)))
+
+  (match derivation
+    ((? derivation?)
+     (show-outputs derivation (derivation-output-names derivation)))
+    ((? derivation-input? input)
+     (show-outputs (derivation-input-derivation input)
+                   (derivation-input-sub-derivations input)))))
 
 (define* (check-available-space need
                                 #:optional (directory (%store-prefix)))
-- 
2.22.0