summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/golang.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6c8754b97c..2bea5579a2 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -2592,3 +2592,43 @@ generation features.  This code generation is used to achieve:
       (description "A simple alternative to rcrowley's @command{go-metrics}
 that's a lot faster (and only does simple bandwidth metrics).")
       (license license:expat))))
+
+(define-public go-github-com-davecgh-go-spew
+  (let ((commit "d8f796af33cc11cb798c1aaeb27a4ebc5099927d")
+        (revision "0"))
+    (package
+      (name "go-github-com-davecgh-go-spew")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/davecgh/go-spew.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "19z27f306fpsrjdvkzd61w1bdazcdbczjyjck177g33iklinhpvx"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:unpack-path "github.com/davecgh/go-spew"
+         #:import-path "github.com/davecgh/go-spew/spew"))
+      (home-page "https://github.com/davecgh/go-spew")
+      (synopsis "Deep pretty printer for Go data structures to aid in debugging")
+      (description "Package @command{spew} implements a deep pretty printer
+for Go data structures to aid in debugging.
+
+A quick overview of the additional features spew provides over the built-in printing facilities for Go data types are as follows:
+
+@itemize
+@item Pointers are dereferenced and followed.
+@item Circular data structures are detected and handled properly.
+@item Custom Stringer/error interfaces are optionally invoked, including on
+unexported types.
+@item Custom types which only implement the Stringer/error interfaces via a
+pointer receiver are optionally invoked when passing non-pointer variables.
+@item Byte arrays and slices are dumped like the hexdump -C command which
+includes offsets, byte values in hex, and ASCII output (only when using Dump
+style).
+@end itemize\n")
+      (license license:isc))))