summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorNicolas Graves <ngraves@ngraves.fr>2024-01-27 19:21:30 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-01-31 21:20:17 +0000
commit98651390a75609106464b80a35b0b8be745cb2a3 (patch)
tree45418c81d382398336091105cc1164493aeb3c79 /gnu
parentb3e74eb26deb7e455bb92d4fabf72fddc58ba816 (diff)
downloadguix-98651390a75609106464b80a35b0b8be745cb2a3.tar.gz
gnu: Add go-structlayout-optimize.
* gnu/packages/golang-check.scm (go-structlayout-optimize): New variable.

Change-Id: I7e1ce9acbe3ec09cc8b441de4816b247a2742938
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/golang-check.scm13
1 files changed, 13 insertions, 0 deletions
diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm
index fb5d002b9b..52818023a4 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -125,6 +125,19 @@ the byte offset and size of each field, respecting padding.  This information
 is printed in human-readable form by default, or as JSON with the @code{-json}
 flag.")))
 
+(define-public go-structlayout-optimize
+  (package
+    (inherit go-honnef-co-go-tools)
+    (name "go-structlayout-optimize")
+    (arguments
+     `(#:import-path "honnef.co/go/tools/cmd/structlayout-optimize"
+       #:unpack-path "honnef.co/go/tools"
+       #:install-source? #f))
+    (synopsis "Reorder struct fields to minimize the amount of padding in Go")
+    (description "This package reads @code{go-structlayout} JSON on stdin and
+reorders fields to minimize the amount of padding.  It can emit JSON to feed
+into @code{go-structlayout-pretty}.")))
+
 (define-public go-github-com-alecthomas-assert
   (let ((commit "405dbfeb8e38effee6e723317226e93fff912d06")
         (revision "1"))