summaryrefslogtreecommitdiff
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.