~ruther/guix-local

946b72c92408c59ac02d0f97d4e241a9098d742f — Ludovic Courtès 13 years ago aaa848f
packages: Add a printer for <package>.

* guix/packages.scm (<package>): Add record printer.
1 files changed, 14 insertions(+), 0 deletions(-)

M guix/packages.scm
M guix/packages.scm => guix/packages.scm +14 -0
@@ 23,6 23,7 @@
  #:use-module (ice-9 match)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-9)
  #:use-module (srfi srfi-9 gnu)
  #:use-module (srfi srfi-34)
  #:use-module (srfi srfi-35)
  #:export (location


@@ 164,6 165,19 @@ representation."
            (default (and=> (current-source-location)
                            source-properties->location))))

(set-record-type-printer! <package>
                          (lambda (package port)
                            (let ((loc    (package-location package))
                                  (format simple-format))
                              (format port "#<package ~a-~a ~a:~a ~a>"
                                      (package-name package)
                                      (package-version package)
                                      (location-file loc)
                                      (location-line loc)
                                      (number->string (object-address
                                                       package)
                                                      16)))))


;; Error conditions.