~ruther/guix-local

f1096964735512beacde6ff178a6ada1a14b91d3 — Ludovic Courtès 11 years ago 42e1394
packages: Add printer for <origin>.

* guix/packages.scm (print-origin): New procedure.
  (<origin>): Add it as record type printer.
1 files changed, 11 insertions(+), 0 deletions(-)

M guix/packages.scm
M guix/packages.scm => guix/packages.scm +11 -0
@@ 125,6 125,17 @@
  (patch-guile origin-patch-guile                 ; package or #f
               (default #f)))

(define (print-origin origin port)
  "Write a concise representation of ORIGIN to PORT."
  (match origin
    (($ <origin> uri method sha256 file-name patches)
     (simple-format port "#<origin ~s ~a ~s ~a>"
                    uri (bytevector->base32-string sha256)
                    patches
                    (number->string (object-address origin) 16)))))

(set-record-type-printer! <origin> print-origin)

(define-syntax base32
  (lambda (s)
    "Return the bytevector corresponding to the given Nix-base32