summaryrefslogtreecommitdiff
path: root/gnu/packages/golang-check.scm
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2024-01-31 21:43:42 +0000
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-01-31 21:59:56 +0000
commitcdb365eb07026bcc4605578306842c1a7935786d (patch)
tree706064bb5fbf180aa24dc454824f2109c58a34d6 /gnu/packages/golang-check.scm
parent0ab9930c0fc451ec93894520a21438fa9ce77302 (diff)
gnu: golang-check: Sort packages alphabetically.
This commit is a housekeeping measure to prepare for natural and structured enlargement. * gnu/packages/golang-check.scm: Improve module commentary introduce sections for libraries and executables and sort packages alphabetically. Change-Id: Ifcac216c1c04e569cfdf2a7d902165a36ed06b32
Diffstat (limited to 'gnu/packages/golang-check.scm')
-rw-r--r--gnu/packages/golang-check.scm478
1 files changed, 244 insertions, 234 deletions
diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm
index e34b8f2f14..7d5b1d5fdf 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -44,110 +44,17 @@
;;; Commentary:
;;;
-;;; Golang packages to unit-test, mock, assert, lint processes for Golang itself.
+;;; Golang packages providing tools to unit-test, mock, assert, and lint
+;;; processes for the Golang itself. They may provide executables and
+;;; libraries, for which there are marked sections.
;;;
;;; Please: Try to add new module packages in alphabetic order.
;;;
;;; Code:
-(define-public go-honnef-co-go-tools
- (package
- (name "go-honnef-co-go-tools")
- (version "0.3.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/dominikh/go-tools")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "099z04v7vvwwglnps315s9fmal68xvzlc1g8m26iqi980grbwn32"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "honnef.co/go/tools"
- #:tests? #f
- ;; Source-only package
- #:phases (modify-phases %standard-phases
- (delete 'build))))
- (propagated-inputs
- (list go-github-com-burntsushi-toml
- go-golang-org-x-exp
- go-golang-org-x-mod
- go-golang-org-x-tools))
- (home-page "https://staticcheck.dev/")
- (synopsis "Staticcheck advanced Go linter library")
- (description
- "This package provides the Go source code for the @code{go-staticcheck}
-advanced Go linter.")
- (license license:expat)))
-
-(define-public go-keyify
- (package
- (inherit go-honnef-co-go-tools)
- (name "go-keyify")
- (arguments
- `(#:import-path "honnef.co/go/tools/cmd/keyify"
- #:unpack-path "honnef.co/go/tools"
- #:install-source? #f))
- (synopsis "Transform an unkeyed struct literal into a keyed one in Go")
- (description "This package turns unkeyed struct literals (@code{T{1, 2,
-3}}) into keyed ones (@code{T{A: 1, B: 2, C: 3}}) in Go.")))
-
-(define-public go-staticcheck
- (package
- (inherit go-honnef-co-go-tools)
- (name "go-staticcheck")
- (arguments
- `(#:go ,go-1.18
- #:import-path "honnef.co/go/tools/cmd/staticcheck"
- #:unpack-path "honnef.co/go/tools"
- #:install-source? #f))
- (synopsis "Staticcheck advanced Go linter")
- (description
- "Staticcheck is a state of the art linter for the Go programming language.
-Using static analysis, it finds bugs and performance issues, offers
-simplifications, and enforces style rules.")))
-
-(define-public go-structlayout
- (package
- (inherit go-honnef-co-go-tools)
- (name "go-structlayout")
- (arguments
- `(#:import-path "honnef.co/go/tools/cmd/structlayout"
- #:unpack-path "honnef.co/go/tools"
- #:install-source? #f))
- (synopsis "Display the layout (field sizes and padding) of structs in Go")
- (description "This package prints the layout of a struct in Go, which is
-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-structlayout-pretty
- (package
- (inherit go-honnef-co-go-tools)
- (name "go-structlayout-pretty")
- (arguments
- `(#:import-path "honnef.co/go/tools/cmd/structlayout-pretty"
- #:unpack-path "honnef.co/go/tools"
- #:install-source? #f))
- (synopsis "Format the output of go-structlayout with ASCII art in Go")
- (description "This package takes @code{go-structlayout}-like JSON and
-prints an ASCII fraphic representing the memory layout.")))
+;;;
+;;; Libraries:
+;;;
(define-public go-github-com-alecthomas-assert
(let ((commit "405dbfeb8e38effee6e723317226e93fff912d06")
@@ -241,6 +148,29 @@ prints an ASCII fraphic representing the memory layout.")))
tests.")
(license license:expat)))
+(define-public go-github-com-golangplus-testing
+ (package
+ (name "go-github-com-golangplus-testing")
+ (version "1.0.0")
+ (home-page "https://github.com/golangplus/testing")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a29m4zplf9m14k74lrb55dids2l17vx28sv0g3y3qcv1xygksiv"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/golangplus/testing"))
+ (propagated-inputs
+ (list go-github-com-golangplus-fmt))
+ (synopsis "Additions to Go's standard testing package")
+ (description "This package provides additions to Go's stdlib testing.")
+ (license license:bsd-3)))
+
(define-public go-github-com-google-go-cmdtest
(let ((commit "55ab3332a786118933ddf71544aae14951ba9bc5")
(revision "0"))
@@ -296,29 +226,6 @@ also update a file with new \"golden\" output that is deemed correct.")
values for the purpose of fuzz testing.")
(license license:asl2.0))))
-(define-public go-github-com-golangplus-testing
- (package
- (name "go-github-com-golangplus-testing")
- (version "1.0.0")
- (home-page "https://github.com/golangplus/testing")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1a29m4zplf9m14k74lrb55dids2l17vx28sv0g3y3qcv1xygksiv"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/golangplus/testing"))
- (propagated-inputs
- (list go-github-com-golangplus-fmt))
- (synopsis "Additions to Go's standard testing package")
- (description "This package provides additions to Go's stdlib testing.")
- (license license:bsd-3)))
-
(define-public go-github-com-jacobsa-oglematchers
(let ((commit "141901ea67cd4769c6800aa7bfdfc558fa22bda5")
(revision "0"))
@@ -444,92 +351,6 @@ builds on top of Go's builtin @code{testing} library and is complemented by the
Gomega matcher library.")
(license license:expat)))
-(define-public go-github.com-smartystreets-assertions
- (package
- (name "go-github.com-smartystreets-assertions")
- (version "1.13.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/smartystreets/assertions")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256 (base32 "0flf3fb6fsw3bk1viva0fzrzw87djaj1mqvrx2gzg1ssn7xzfrzr"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/smartystreets/assertions"
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key inputs #:allow-other-keys #:rest args)
- (unless
- ;; The tests fail when run with gccgo.
- (false-if-exception (search-input-file inputs "/bin/gccgo"))
- (apply (assoc-ref %standard-phases 'check) args)))))))
- (native-inputs
- (list go-github.com-smartystreets-gunit))
- (home-page "https://github.com/smartystreets/assertions")
- (synopsis "Assertions for testing with Go")
- (description "The @code{assertions} package provides convenient assertion
-functions for writing tests in Go.")
- (license license:expat)))
-
-(define-public go-github.com-smartystreets-goconvey
- (package
- (name "go-github.com-smartystreets-goconvey")
- (version "1.6.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/smartystreets/goconvey")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1ph18rkl3ns3fgin5i4j54w5a69grrmf3apcsmnpdn1wlrbs3dxh"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/smartystreets/goconvey"))
- (propagated-inputs
- (list go-github.com-jtolds-gls go-github.com-smartystreets-assertions))
- (home-page "https://github.com/smartystreets/goconvey")
- (synopsis "Go testing tool with both a web and terminal user interface")
- (description "GoConvey is a testing tool for Go. It integrates with go
-test, can show test coverage and has a web user interface that will refresh
-automatically.")
- (license license:expat)))
-
-(define-public go-github.com-smartystreets-gunit
- (package
- (name "go-github.com-smartystreets-gunit")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/smartystreets/gunit")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "00m4zg0kdj49mnpmf9klb44ba71p966xsk6zknrzqgfc8119f35z"))))
- (build-system go-build-system)
- (arguments
- '(;; TODO: This package depends on go-github.com-smartystreets-assertions
- ;; for running the tests, but go-github.com-smartystreets-assertions
- ;; depends on this package, so break this loop by not running the tests
- ;; for this package.
- #:tests? #f
- #:import-path "github.com/smartystreets/gunit"))
- (home-page "https://github.com/smartystreets/gunit")
- (synopsis "Testing tool for Go, in the style of xUnit")
- (description "@code{gunit} allows the test author to use a struct as the
-scope for a group of related test cases, in the style of xUnit fixtures. This
-makes extraction of setup/teardown behavior (as well as invoking the system
-under test) much simpler.")
- (license license:expat)))
-
(define-public go-github-com-stretchr-testify
(package
(name "go-github-com-stretchr-testify")
@@ -602,24 +423,22 @@ Features include:
such as readers and writers that fail after N consecutive reads/writes.")
(license license:expat)))
-(define-public go-gopkg-in-check-v1
+(define-public go-github.com-smartystreets-assertions
(package
- (name "go-gopkg-in-check-v1")
- (version "1.0.0-20201130134442-10cb98267c6c")
+ (name "go-github.com-smartystreets-assertions")
+ (version "1.13.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/go-check/check")
- (commit (go-version->git-ref version))))
+ (url "https://github.com/smartystreets/assertions")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
- (sha256
- (base32
- "1jwxndf8rsyx0fgrp47d99rp55yzssmryb92jfj3yf7zd8rjjljn"))))
+ (sha256 (base32 "0flf3fb6fsw3bk1viva0fzrzw87djaj1mqvrx2gzg1ssn7xzfrzr"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "gopkg.in/check.v1"
+ #:import-path "github.com/smartystreets/assertions"
#:phases
#~(modify-phases %standard-phases
(replace 'check
@@ -628,34 +447,66 @@ such as readers and writers that fail after N consecutive reads/writes.")
;; The tests fail when run with gccgo.
(false-if-exception (search-input-file inputs "/bin/gccgo"))
(apply (assoc-ref %standard-phases 'check) args)))))))
+ (native-inputs
+ (list go-github.com-smartystreets-gunit))
+ (home-page "https://github.com/smartystreets/assertions")
+ (synopsis "Assertions for testing with Go")
+ (description "The @code{assertions} package provides convenient assertion
+functions for writing tests in Go.")
+ (license license:expat)))
+
+(define-public go-github.com-smartystreets-goconvey
+ (package
+ (name "go-github.com-smartystreets-goconvey")
+ (version "1.6.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/smartystreets/goconvey")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ph18rkl3ns3fgin5i4j54w5a69grrmf3apcsmnpdn1wlrbs3dxh"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/smartystreets/goconvey"))
(propagated-inputs
- (list go-github-com-kr-pretty))
- (home-page "https://gopkg.in/check.v1")
- (synopsis "Test framework for the Go language")
- (description "This package provides a test library for the Go language.")
- (license license:bsd-2)))
+ (list go-github.com-jtolds-gls go-github.com-smartystreets-assertions))
+ (home-page "https://github.com/smartystreets/goconvey")
+ (synopsis "Go testing tool with both a web and terminal user interface")
+ (description "GoConvey is a testing tool for Go. It integrates with go
+test, can show test coverage and has a web user interface that will refresh
+automatically.")
+ (license license:expat)))
-(define-public go-gopkg-in-go-playground-assert-v1
+(define-public go-github.com-smartystreets-gunit
(package
- (name "go-gopkg-in-go-playground-assert-v1")
- (version "1.2.1")
- (home-page "https://github.com/go-playground/assert")
+ (name "go-github.com-smartystreets-gunit")
+ (version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url home-page)
- (commit (string-append "v" version))))
+ (url "https://github.com/smartystreets/gunit")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1h4amgykpa0djwi619llr3g55p75ia0mi184h9s5zdl8l4rhn9pm"))))
+ (base32 "00m4zg0kdj49mnpmf9klb44ba71p966xsk6zknrzqgfc8119f35z"))))
(build-system go-build-system)
(arguments
- '(#:import-path "gopkg.in/go-playground/assert.v1"))
- (synopsis "Basic assertion library used alongside native Go testing")
- (description
- "This package provides basic assertions along with building blocks for
-custom assertions to be used alongside native Go testing.")
+ '(;; TODO: This package depends on go-github.com-smartystreets-assertions
+ ;; for running the tests, but go-github.com-smartystreets-assertions
+ ;; depends on this package, so break this loop by not running the tests
+ ;; for this package.
+ #:tests? #f
+ #:import-path "github.com/smartystreets/gunit"))
+ (home-page "https://github.com/smartystreets/gunit")
+ (synopsis "Testing tool for Go, in the style of xUnit")
+ (description "@code{gunit} allows the test author to use a struct as the
+scope for a group of related test cases, in the style of xUnit fixtures. This
+makes extraction of setup/teardown behavior (as well as invoking the system
+under test) much simpler.")
(license license:expat)))
(define-public go-golang-org-sql-mock
@@ -712,6 +563,165 @@ without requiring a real database connection.")
reformat the source code, it only prints out style mistakes.")
(license license:bsd-3))))
+(define-public go-gopkg-in-check-v1
+ (package
+ (name "go-gopkg-in-check-v1")
+ (version "1.0.0-20201130134442-10cb98267c6c")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-check/check")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jwxndf8rsyx0fgrp47d99rp55yzssmryb92jfj3yf7zd8rjjljn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gopkg.in/check.v1"
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
+ (unless
+ ;; The tests fail when run with gccgo.
+ (false-if-exception (search-input-file inputs "/bin/gccgo"))
+ (apply (assoc-ref %standard-phases 'check) args)))))))
+ (propagated-inputs
+ (list go-github-com-kr-pretty))
+ (home-page "https://gopkg.in/check.v1")
+ (synopsis "Test framework for the Go language")
+ (description "This package provides a test library for the Go language.")
+ (license license:bsd-2)))
+
+(define-public go-gopkg-in-go-playground-assert-v1
+ (package
+ (name "go-gopkg-in-go-playground-assert-v1")
+ (version "1.2.1")
+ (home-page "https://github.com/go-playground/assert")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1h4amgykpa0djwi619llr3g55p75ia0mi184h9s5zdl8l4rhn9pm"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "gopkg.in/go-playground/assert.v1"))
+ (synopsis "Basic assertion library used alongside native Go testing")
+ (description
+ "This package provides basic assertions along with building blocks for
+custom assertions to be used alongside native Go testing.")
+ (license license:expat)))
+
+(define-public go-honnef-co-go-tools
+ (package
+ (name "go-honnef-co-go-tools")
+ (version "0.3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dominikh/go-tools")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "099z04v7vvwwglnps315s9fmal68xvzlc1g8m26iqi980grbwn32"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "honnef.co/go/tools"
+ #:tests? #f
+ ;; Source-only package
+ #:phases (modify-phases %standard-phases
+ (delete 'build))))
+ (propagated-inputs
+ (list go-github-com-burntsushi-toml
+ go-golang-org-x-exp
+ go-golang-org-x-mod
+ go-golang-org-x-tools))
+ (home-page "https://staticcheck.dev/")
+ (synopsis "Staticcheck advanced Go linter library")
+ (description
+ "This package provides the Go source code for the @code{go-staticcheck}
+advanced Go linter.")
+ (license license:expat)))
+
+;;;
+;;; Executables:
+;;;
+
+(define-public go-keyify
+ (package
+ (inherit go-honnef-co-go-tools)
+ (name "go-keyify")
+ (arguments
+ `(#:import-path "honnef.co/go/tools/cmd/keyify"
+ #:unpack-path "honnef.co/go/tools"
+ #:install-source? #f))
+ (synopsis "Transform an unkeyed struct literal into a keyed one in Go")
+ (description "This package turns unkeyed struct literals (@code{T{1, 2,
+3}}) into keyed ones (@code{T{A: 1, B: 2, C: 3}}) in Go.")))
+
+(define-public go-staticcheck
+ (package
+ (inherit go-honnef-co-go-tools)
+ (name "go-staticcheck")
+ (arguments
+ `(#:go ,go-1.18
+ #:import-path "honnef.co/go/tools/cmd/staticcheck"
+ #:unpack-path "honnef.co/go/tools"
+ #:install-source? #f))
+ (synopsis "Staticcheck advanced Go linter")
+ (description
+ "Staticcheck is a state of the art linter for the Go programming language.
+Using static analysis, it finds bugs and performance issues, offers
+simplifications, and enforces style rules.")))
+
+(define-public go-structlayout
+ (package
+ (inherit go-honnef-co-go-tools)
+ (name "go-structlayout")
+ (arguments
+ `(#:import-path "honnef.co/go/tools/cmd/structlayout"
+ #:unpack-path "honnef.co/go/tools"
+ #:install-source? #f))
+ (synopsis "Display the layout (field sizes and padding) of structs in Go")
+ (description "This package prints the layout of a struct in Go, which is
+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-structlayout-pretty
+ (package
+ (inherit go-honnef-co-go-tools)
+ (name "go-structlayout-pretty")
+ (arguments
+ `(#:import-path "honnef.co/go/tools/cmd/structlayout-pretty"
+ #:unpack-path "honnef.co/go/tools"
+ #:install-source? #f))
+ (synopsis "Format the output of go-structlayout with ASCII art in Go")
+ (description "This package takes @code{go-structlayout}-like JSON and
+prints an ASCII fraphic representing the memory layout.")))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar