summaryrefslogtreecommitdiff
path: root/guix/packages.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-07-11 13:59:54 +0200
committerLudovic Courtès <ludo@gnu.org>2014-07-11 23:20:48 +0200
commitf1096964735512beacde6ff178a6ada1a14b91d3 (patch)
tree8478196681c996fabfef9984b1613a0ef5421baa /guix/packages.scm
parent42e1394b11d1da7dd8c73bdeb1ad602b728d865b (diff)
packages: Add printer for <origin>.
* guix/packages.scm (print-origin): New procedure. (<origin>): Add it as record type printer.
Diffstat (limited to 'guix/packages.scm')
-rw-r--r--guix/packages.scm11
1 files changed, 11 insertions, 0 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index b413e58b19..985a573fd3 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -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