diff --git a/guix/gexp.scm b/guix/gexp.scm index de8b7bbb4664cd8be38856ea4eaef4ea69ea870e..a2da72e76c0678b2e45f75eb78e6f7a3171afc91 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -179,6 +179,15 @@ (define-record-type <gexp-input> (output gexp-input-output) ;string (native? gexp-input-native?)) ;Boolean +(define (write-gexp-input input port) + (match input + (($ <gexp-input> thing output #f) + (format port "#<gexp-input ~s:~a>" thing output)) + (($ <gexp-input> thing output #t) + (format port "#<gexp-input native ~s:~a>" thing output)))) + +(set-record-type-printer! <gexp-input> write-gexp-input) + (define* (gexp-input thing ;convenience procedure #:optional (output "out") #:key native?) @@ -193,6 +202,13 @@ (define-record-type <gexp-output> gexp-output? (name gexp-output-name)) +(define (write-gexp-output output port) + (match output + (($ <gexp-output> name) + (format port "#<gexp-output ~a>" name)))) + +(set-record-type-printer! <gexp-output> write-gexp-output) + (define raw-derivation (store-lift derivation))