summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/packages.scm14
1 files changed, 14 insertions, 0 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index a1257b293f..0ecd4ca6d4 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -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.