mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
gnu: Add go-tools.
* gnu/packages/golang-build.scm (go-tools): New variable. Change-Id: I2188eca052ee8b93e6bfc16e3fbad6e64d589a56
This commit is contained in:
committed by
Andreas Enge
parent
053174578a
commit
fbb0560ef0
@@ -1767,6 +1767,79 @@ improved and cleaner API.")
|
||||
;;; Executables:
|
||||
;;;
|
||||
|
||||
(define-public go-tools
|
||||
(package/inherit go-golang-org-x-tools
|
||||
(name "go-tools")
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
#:install-source? #f
|
||||
#:import-path "golang.org/x/tools"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key import-path #:allow-other-keys #:rest arguments)
|
||||
(for-each
|
||||
(lambda (cmd)
|
||||
(apply (assoc-ref %standard-phases 'build)
|
||||
`(,@arguments #:import-path
|
||||
,(string-append import-path "/cmd/" cmd))))
|
||||
(list "bisect" "bundle" "callgraph"
|
||||
"compilebench" "deadcode" "digraph" "eg" "file2fuzz"
|
||||
"fiximports" "go-contrib-init" "godex" "goimports"
|
||||
"gomvpkg" "gonew" "goyacc" "html2article"
|
||||
"present" "present2md" "signature-fuzzer/fuzz-driver"
|
||||
"signature-fuzzer/fuzz-runner" "splitdwarf" "ssadump"
|
||||
"stress" "stringer" "toolstash")))))))
|
||||
(native-inputs
|
||||
(package-propagated-inputs go-golang-org-x-tools))
|
||||
(propagated-inputs '())
|
||||
(inputs '())
|
||||
(description
|
||||
"This package provides a collection Go CLI tools to cover common
|
||||
development needs.
|
||||
|
||||
@itemize
|
||||
@item bisect - fnds changes responsible for causing a failure.
|
||||
@item bundle - creates a single-source-file version of a source package
|
||||
suitable for inclusion in a particular target package
|
||||
@item callgraph - a tool for reporting the call graph of a Go program.
|
||||
@item compilebench - benchmarks the speed of the Go compiler
|
||||
@item deadcode - reports unreachable functions in Go programs
|
||||
@item digraph - performs queries over unlabelled directed graphs represented
|
||||
in text form
|
||||
@item eg - performs example-based refactoring
|
||||
@item file2fuzz - converts binary files, such as those used by go-fuzz, to the
|
||||
Go fuzzing corpus format
|
||||
@item fiximports - fixes import declarations to use the canonical import path
|
||||
for packages that have an \"import comment\" as defined by
|
||||
https://golang.org/s/go14customimport
|
||||
@item fuzz-driver - emits function-signature test code
|
||||
@item fuzz-runner - performs test runs using \"fuzz-driver\"
|
||||
@item go-contrib-init - helps new Go contributors get their development
|
||||
environment set up for the Go contribution process
|
||||
@item godex - prints (dumps) exported information of packages or selected
|
||||
package objects
|
||||
@item goimports - updates Go import lines, adding missing ones and removing
|
||||
unreferenced ones
|
||||
@item gomvpkg - moves go packages, updating import declarations
|
||||
@item gonew - starts a new Go module by copying a template module
|
||||
@item goyacc - version of yacc for Go
|
||||
@item html2article - takes an HTML file and outputs a corresponding article
|
||||
file in present format
|
||||
@item present - displays slide presentations and articles
|
||||
@item present2md - converts legacy-syntax present files to Markdown-syntax
|
||||
present files
|
||||
@item splitdwarf - uncompresses and copies the DWARF segment of a Mach-O
|
||||
executable into the \"dSYM\" file
|
||||
@item ssadump - displays and interprets the SSA form of Go programs
|
||||
@item stress - catches sporadic failures
|
||||
@item stringer - automates the creation of methods that satisfy the
|
||||
@code{fmt.Stringer} interface
|
||||
@item toolstash - provides a way to save, run, and restore a known good copy of
|
||||
the Go toolchain and to compare the object files generated by two toolchains
|
||||
@end itemize")))
|
||||
|
||||
(define-public govulncheck
|
||||
(package
|
||||
(inherit go-golang-org-x-vuln)
|
||||
|
||||
Reference in New Issue
Block a user