summaryrefslogtreecommitdiff
path: root/gnu/packages/golang-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/golang-xyz.scm')
-rw-r--r--gnu/packages/golang-xyz.scm865
1 files changed, 773 insertions, 92 deletions
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index e1ac32273c..dfd4190a7d 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -1,25 +1,32 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017-2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
-;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
+;;; Copyright © 2019, 2021 Vagrant Cascadian <vagrant@debian.org>
+;;; Copyright © 2019-2021 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019-2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
-;;; Copyright © 2020, 2021 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2020, 2021 raingloom <raingloom@riseup.net>
;;; Copyright © 2021 Collin J. Doering <collin@rekahsoft.ca>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
+;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
+;;; Copyright © 2021 raingloom <raingloom@riseup.net>
;;; Copyright © 2021, 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
+;;; Copyright © 2023 Fries <fries1234@protonmail.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
+;;; Copyright © 2023 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2023 Sergey Trofimov <sarg@sarg.org.ru>
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
@@ -43,6 +50,7 @@
(define-module (gnu packages golang-xyz)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system go)
+ #:use-module (guix build-system copy)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
@@ -54,7 +62,8 @@
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto)
- #:use-module (gnu packages linux))
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages specifications))
;;; Commentary:
;;;
@@ -68,6 +77,37 @@
;;; Libraries:
;;;
+(define-public go-code-cloudfoundry-org-bytefmt
+ (package
+ (name "go-code-cloudfoundry-org-bytefmt")
+ (version "0.0.0-20240329144308-0c372429d24b")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cloudfoundry/bytefmt")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0aqzbiy3idddyj39i7ydkjhnmpcbwr99g094kqiw72m9flrvrnxj"))
+ (snippet
+ #~(begin (use-modules (guix build utils))
+ (delete-file-recursively "vendor")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.20
+ #:import-path "code.cloudfoundry.org/bytefmt"))
+ (native-inputs
+ (list go-github-com-onsi-gomega
+ go-github-com-onsi-ginkgo-v2))
+ (home-page "https://pkg.go.dev/code.cloudfoundry.org/bytefmt")
+ (synopsis "Human readable byte formatter for Golang")
+ (description
+ "Package bytefmt contains helper methods and constants for converting to and from
+a human-readable byte format.")
+ (license license:asl2.0)))
+
(define-public go-github-com-a8m-envsubst
(package
(name "go-github-com-a8m-envsubst")
@@ -575,6 +615,61 @@ similar to Go's standard library @code{json} and @code{xml} package.")
"This package is a Go library that draws progress bars on the terminal.")
(license license:bsd-3)))
+(define-public go-github-com-chzyer-logex
+ (package
+ (name "go-github-com-chzyer-logex")
+ (version "1.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/chzyer/logex")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0c9yr3r7dl3lcs22cvmh9iknihi9568wzmdywmc2irkjdrn8bpxw"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; See <https://github.com/chzyer/logex/issues/4> and
+ ;; <https://github.com/chzyer/logex/pull/7>.
+ #:tests? #f
+ #:import-path "github.com/chzyer/logex"))
+ (home-page "https://github.com/chzyer/logex")
+ (synopsis "Golang log library")
+ (description
+ "This package provides a Golang log library supporting tracing and log
+levels that works by wrapping the standard @code{log} library.")
+ (license license:expat)))
+
+(define-public go-github-com-chzyer-readline
+ (package
+ (name "go-github-com-chzyer-readline")
+ (version "1.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/chzyer/readline")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1msh9qcm7l1idpmfj4nradyprsr86yhk9ch42yxz7xsrybmrs0pb"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/chzyer/readline"))
+ (native-inputs
+ (list go-github-com-chzyer-test))
+ (propagated-inputs
+ (list go-github-com-chzyer-logex
+ go-golang-org-x-sys))
+ (home-page "https://github.com/chzyer/readline")
+ (synopsis "Pure Go readline library")
+ (description
+ "Readline is a pure Go implementation of a GNU-Readline like library.")
+ (license license:expat)))
+
(define-public go-github-com-coocood-freecache
(package
(name "go-github-com-coocood-freecache")
@@ -834,6 +929,34 @@ gist (https://gist.github.com/kballard/272720).")
(description "This package provides functionality to generate Go code.")
(license license:expat)))
+(define-public go-github-com-dbaggerman-cuba
+ (package
+ (name "go-github-com-dbaggerman-cuba")
+ (version "0.3.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dbaggerman/cuba")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1sbria32fh2bzc8agnm9p5id5z15mrqj4fyxhnkq05bh2qjkrwc7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/dbaggerman/cuba"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-karrick-godirwalk))
+ (home-page "https://github.com/dbaggerman/cuba")
+ (synopsis "Goroutine parallelism library")
+ (description
+ "This package provides a library for Goroutines that helps to implement
+more complicated parallel cases.")
+ (license license:expat)))
+
(define-public go-github-com-dimchansky-utfbom
(package
(name "go-github-com-dimchansky-utfbom")
@@ -879,6 +1002,32 @@ Mark} detection.")
atimes for files.")
(license license:expat)))
+(define-public go-github-com-djherbis-times
+ (package
+ (name "go-github-com-djherbis-times")
+ (version "1.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/djherbis/times")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0a70nqkc592ipbgb3ib4yg8i2yj2hlhalpzzksdlhilm5a3689ic"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/djherbis/times"))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/djherbis/times")
+ (synopsis "File times - atime, mtime, ctime and btime for Golang")
+ (description
+ "Package @code{times} provides a platform-independent way to get atime,
+mtime,ctime and btime for files.")
+ (license license:expat)))
+
(define-public go-github-com-dustin-gojson
(package
(name "go-github-com-dustin-gojson")
@@ -991,87 +1140,64 @@ Differentiation between text and binary files}.
@end itemize")
(license license:expat)))
-(define-public go-github-com-hashicorp-errwrap
- (package
- (name "go-github-com-hashicorp-errwrap")
- (version "1.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hashicorp/errwrap")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0p5wdz8p7dmwphmb33gwhy3iwci5k9wkfqmmfa6ay1lz0cqjwp7a"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/hashicorp/errwrap"))
- (home-page "https://github.com/hashicorp/errwrap")
- (synopsis "Wrapping and querying errors for Golang")
- (description
- "@code{errwrap} is a package for Go that formalizes the pattern of
-wrapping errors and checking if an error contains another error.")
- (license license:mpl2.0)))
-
-(define-public go-github-com-hashicorp-hcl
+(define-public go-github-com-go-logr-logr
(package
- (name "go-github-com-hashicorp-hcl")
- (version "1.0.0")
+ (name "go-github-com-go-logr-logr")
+ (version "1.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/hashicorp/hcl")
+ (url "https://github.com/go-logr/logr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66"))))
+ (base32 "0x0q9jkk2p5pz4lii1qs8ifnsib4ib5s8pigmjwdmagl976g8nhm"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/hashicorp/hcl"))
- (native-inputs
- (list go-github-com-davecgh-go-spew))
- (synopsis "Go implementation of HashiCorp Configuration Language V1")
+ #:go go-1.18
+ #:import-path "github.com/go-logr/logr"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples-and-benchmarks
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ (string-append "src/" import-path "/examples"))
+ (delete-file-recursively
+ (string-append "src/" import-path "/funcr/example"))
+ (delete-file-recursively
+ (string-append "src/" import-path "/benchmark")))))))
+ (home-page "https://github.com/go-logr/logr")
+ (synopsis "Minimal logging API for Go")
(description
- "This package contains the main implementation of the @acronym{HCL,
-HashiCorp Configuration Language}. HCL is designed to be a language for
-expressing configuration which is easy for both humans and machines to read.")
- (home-page "https://github.com/hashicorp/hcl")
- (license license:mpl2.0)))
+ "Package @code{logr} defines a general-purpose logging API and abstract
+interfaces to back that API. Packages in the Go ecosystem can depend on it,
+while callers can implement logging with whatever backend is appropriate.")
+ (license license:asl2.0)))
-(define-public go-github-com-hashicorp-hcl-v2
+(define-public go-github-com-hashicorp-errwrap
(package
- (name "go-github-com-hashicorp-hcl-v2")
- (version "2.11.1")
+ (name "go-github-com-hashicorp-errwrap")
+ (version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/hashicorp/hcl")
+ (url "https://github.com/hashicorp/errwrap")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0f9flmmkj7fr1337fc56cqy73faq87ix375hnz3id4wc023przv1"))))
+ (base32 "0p5wdz8p7dmwphmb33gwhy3iwci5k9wkfqmmfa6ay1lz0cqjwp7a"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "github.com/hashicorp/hcl/v2"))
- (native-inputs
- (list go-github-com-davecgh-go-spew))
- (inputs
- (list go-github-com-agext-levenshtein
- go-github-com-apparentlymart-go-textseg-v13
- go-github-com-mitchellh-go-wordwrap
- go-github-com-zclconf-go-cty))
- (synopsis "Go implementation of HashiCorp Configuration Language V2")
+ #:import-path "github.com/hashicorp/errwrap"))
+ (home-page "https://github.com/hashicorp/errwrap")
+ (synopsis "Wrapping and querying errors for Golang")
(description
- "This package contains the main implementation of the @acronym{HCL,
-HashiCorp Configuration Language}. HCL is designed to be a language for
-expressing configuration which is easy for both humans and machines to read.")
- (home-page "https://github.com/hashicorp/hcl")
+ "@code{errwrap} is a package for Go that formalizes the pattern of
+wrapping errors and checking if an error contains another error.")
(license license:mpl2.0)))
(define-public go-github-com-hashicorp-go-hclog
@@ -1212,6 +1338,65 @@ a collection of versions properly, handles prerelease/beta versions, can
increment versions.")
(license license:mpl2.0)))
+(define-public go-github-com-hashicorp-hcl
+ (package
+ (name "go-github-com-hashicorp-hcl")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/hcl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/hcl"))
+ (native-inputs
+ (list go-github-com-davecgh-go-spew))
+ (synopsis "Go implementation of HashiCorp Configuration Language V1")
+ (description
+ "This package contains the main implementation of the @acronym{HCL,
+HashiCorp Configuration Language}. HCL is designed to be a language for
+expressing configuration which is easy for both humans and machines to read.")
+ (home-page "https://github.com/hashicorp/hcl")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hashicorp-hcl-v2
+ (package
+ (name "go-github-com-hashicorp-hcl-v2")
+ (version "2.11.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/hcl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0f9flmmkj7fr1337fc56cqy73faq87ix375hnz3id4wc023przv1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/hcl/v2"))
+ (native-inputs
+ (list go-github-com-davecgh-go-spew))
+ (inputs
+ (list go-github-com-agext-levenshtein
+ go-github-com-apparentlymart-go-textseg-v13
+ go-github-com-mitchellh-go-wordwrap
+ go-github-com-zclconf-go-cty))
+ (synopsis "Go implementation of HashiCorp Configuration Language V2")
+ (description
+ "This package contains the main implementation of the @acronym{HCL,
+HashiCorp Configuration Language}. HCL is designed to be a language for
+expressing configuration which is easy for both humans and machines to read.")
+ (home-page "https://github.com/hashicorp/hcl")
+ (license license:mpl2.0)))
+
(define-public go-github-com-hhrutter-tiff
(package
(name "go-github-com-hhrutter-tiff")
@@ -1367,6 +1552,34 @@ storing only one copy of each unique string in memory. All functions may be
called concurrently with themselves and each other.")
(license license:expat)))
+(define-public go-github-com-ianlancetaylor-demangle
+ ;; No release, see <https://github.com/ianlancetaylor/demangle/issues/21>.
+ (package
+ (name "go-github-com-ianlancetaylor-demangle")
+ (version "0.0.0-20230524184225-eabc099b10ab")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ianlancetaylor/demangle")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pvlg1adp50hnw8dz7il473xb197ixirg26cy5hj3ngb4qlajwvc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ianlancetaylor/demangle"))
+ (home-page "https://github.com/ianlancetaylor/demangle")
+ (synopsis "Symbol name demangler written in Go")
+ (description
+ "This package defines functions that demangle GCC/LLVM C++ and Rust
+symbol names. This package recognizes names that were mangled according to
+the C++ ABI defined at https://codesourcery.com/cxx-abi/ and the
+@url{https://rust-lang.github.io/rfcs/2603-rust-symbol-name-mangling-v0.html,Rust
+ABI}.")
+ (license license:bsd-3)))
+
(define-public go-github-com-k0kubun-pp
(package
(name "go-github-com-k0kubun-pp")
@@ -1394,6 +1607,56 @@ called concurrently with themselves and each other.")
customized globally.")
(license license:expat)))
+(define-public go-github-com-karrick-godirwalk
+ (package
+ (name "go-github-com-karrick-godirwalk")
+ (version "1.17.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/karrick/godirwalk")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jyvai5vpmx86l71hg9j6lxc2b4v32ajvcmjlz40zimfb9ip11q9"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/karrick/godirwalk"))
+ (home-page "https://github.com/karrick/godirwalk")
+ (synopsis "Fast directory traversal library for Go")
+ (description
+ "This package provides functions to read and traverse directory trees.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-kballard-go-shellquote
+ ;; No release, see <https://github.com/kballard/go-shellquote/issues/13>.
+ (let ((commit "95032a82bc518f77982ea72343cc1ade730072f0")
+ (revision "1"))
+ (package
+ (name "go-github-com-kballard-go-shellquote")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kballard/go-shellquote")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rspvmnsikdq95jmx3dykxd4k1rmgl98ryjrysvl0cf18hl1vq80"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/kballard/go-shellquote"))
+ (synopsis "Shell-style string joins and splits")
+ (description
+ "Shellquote provides utilities for joining/splitting strings using sh's
+word-splitting rules.")
+ (home-page "https://github.com/kballard/go-shellquote")
+ (license license:expat))))
+
(define-public go-github-com-lib-pq
(package
(name "go-github-com-lib-pq")
@@ -1486,33 +1749,6 @@ Printf/Sprintf etc.")
(native-inputs
(list go-github-com-stretchr-testify))))
-(define-public go-github-com-kballard-go-shellquote
- ;; No release, see <https://github.com/kballard/go-shellquote/issues/13>.
- (let ((commit "95032a82bc518f77982ea72343cc1ade730072f0")
- (revision "1"))
- (package
- (name "go-github-com-kballard-go-shellquote")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kballard/go-shellquote")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1rspvmnsikdq95jmx3dykxd4k1rmgl98ryjrysvl0cf18hl1vq80"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/kballard/go-shellquote"))
- (synopsis "Shell-style string joins and splits")
- (description
- "Shellquote provides utilities for joining/splitting strings using sh's
-word-splitting rules.")
- (home-page "https://github.com/kballard/go-shellquote")
- (license license:expat))))
-
(define-public go-github-com-marcinbor85-gohex
;; No release, see <https://github.com/marcinbor85/gohex/issues/5>.
(let ((commit "baab2527a9a2a4abb3dc06baabedfa5e0268b8d8")
@@ -1582,6 +1818,107 @@ implementing features like:
(description "This package provides an idiomatic Go retry module.")
(license license:expat)))
+(define-public go-github-com-mattn-go-colorable
+ (package
+ (name "go-github-com-mattn-go-colorable")
+ (version "0.1.13")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mattn/go-colorable")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05hl2ddp67p5kj3ix4zzqqjh4fan4ban3vgw8f98simwigs3q41j"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mattn/go-colorable"))
+ (propagated-inputs
+ (list go-github-com-mattn-go-isatty))
+ (home-page "https://github.com/mattn/go-colorable")
+ (synopsis "Handle ANSI color escapes on Windows")
+ (description
+ "This package provides @code{colorable}, a module that makes it possible
+to handle ANSI color escapes on Windows.")
+ (license license:expat)))
+
+(define-public go-github-com-mattn-go-isatty
+ (package
+ (name "go-github-com-mattn-go-isatty")
+ (version "0.0.20")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mattn/go-isatty")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g63n9wpb991qnq9mn2kvd8jk1glrp6gnd851kvwz2wmzdkggiga"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mattn/go-isatty"))
+ (propagated-inputs
+ (list go-golang-org-x-sys))
+ (home-page "https://github.com/mattn/go-isatty")
+ (synopsis "Provide @code{isatty} for Golang")
+ (description
+ "This package provides @code{isatty}, a Go module that can tell you
+whether a file descriptor points to a terminal and the type of the terminal.")
+ (license license:expat)))
+
+(define-public go-github-com-mattn-go-pointer
+ (package
+ (name "go-github-com-mattn-go-pointer")
+ (version "0.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mattn/go-pointer")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1px9kj2xwwi7r00qxxpidr23xi823kw0pkd6f50lib8bp60x3n7p"))
+ (file-name (git-file-name name version))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/mattn/go-pointer"))
+ (home-page "https://github.com/mattn/go-pointer")
+ (synopsis "Utility for cgo")
+ (description
+ "This package allows for a cgo argument to be passed a Go pointer.")
+ (license license:expat)))
+
+(define-public go-github-com-mattn-go-runewidth
+ (package
+ (name "go-github-com-mattn-go-runewidth")
+ (version "0.0.14")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mattn/go-runewidth")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1iaqw5pd7f4f2xz37540kp0828p2820g4vxx3hz089hwl331sx1v"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mattn/go-runewidth"))
+ (propagated-inputs
+ (list go-github-com-rivo-uniseg))
+ (home-page "https://github.com/mattn/go-runewidth")
+ (synopsis "Rune width implementation for Go")
+ (description
+ "This package provides functions to get the fixed width of a character or
+string.")
+ (license license:expat)))
+
(define-public go-github-com-mattn-go-shellwords
(package
(name "go-github-com-mattn-go-shellwords")
@@ -1612,6 +1949,54 @@ implementing features like:
the @code{cpan} module @code{Parse::CommandLine}.")
(license license:expat)))
+(define-public go-github-com-mattn-go-sqlite3
+ (package
+ (name "go-github-com-mattn-go-sqlite3")
+ (version "1.14.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mattn/go-sqlite3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04anvqkc37mmc3z1dy4xfa6cas67zlxnnab0ywii7sylk864mhxz"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mattn/go-sqlite3"))
+ (home-page "https://github.com/mattn/go-sqlite3")
+ (synopsis "Sqlite3 driver for Go")
+ (description
+ "This package provides a Sqlite3 driver for Go using
+@code{database/sql}.")
+ (license license:expat)))
+
+(define-public go-github-com-mattn-go-zglob
+ (package
+ (name "go-github-com-mattn-go-zglob")
+ (version "0.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mattn/go-zglob")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1923lvakm66mzy62jmngdvcmbmiqclinsvnghs3907rgygnx1qc1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/mattn/go-zglob"))
+ (home-page "https://github.com/mattn/go-zglob")
+ (synopsis "Glob library that descends into other directories")
+ (description
+ "This package provides a glob library that implements descending into
+other directories. It is optimized for filewalking.")
+ (license license:expat)))
+
(define-public go-github-com-miekg-dns
(package
(name "go-github-com-miekg-dns")
@@ -1642,6 +2027,53 @@ Domain Name Service}. The API follows the less-is-more principle, by
presenting a small interface.")
(license license:bsd-3)))
+(define-public go-github-com-modern-go-concurrent
+ (package
+ (name "go-github-com-modern-go-concurrent")
+ (version "1.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/modern-go/concurrent")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/modern-go/concurrent"))
+ (home-page "https://github.com/modern-go/concurrent")
+ (synopsis "Concurrency utilities for Go")
+ (description
+ "A Go library providing various concurrency utilities including a backport
+of @code{sync.Map} to Go versions below 1.9 and a cancellable Goroutine with
+explicit ownership.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-modern-go-reflect2
+ (package
+ (name "go-github-com-modern-go-reflect2")
+ (version "1.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/modern-go/reflect2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05a89f9j4nj8v1bchfkv2sy8piz746ikj831ilbp54g8dqhl8vzr"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/modern-go/reflect2"))
+ (home-page "https://github.com/modern-go/reflect2")
+ (synopsis "Cheaper reflect API")
+ (description
+ "This library provides a reflect api for Go programs
+without the runtime cost of the standard library reflect.Value.")
+ (license license:asl2.0)))
+
(define-public go-github-com-mreiferson-go-options
(package
(name "go-github-com-mreiferson-go-options")
@@ -1693,6 +2125,92 @@ command line flags, config files, and default struct values.")
@url{https://github.com/judwhite/go-svc/raw/master/svc/svc_windows_test.go,here}.")
(license license:expat))))
+(define-public go-github-com-multiformats-go-base32
+ (package
+ (name "go-github-com-multiformats-go-base32")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/multiformats/go-base32")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ala6gaa5r5mqcg6cdwfg492hpz41cjbfwyn1ljd6qvya3n0qqiv"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/multiformats/go-base32"))
+ (home-page "https://github.com/multiformats/go-base32")
+ (synopsis "Go @code{base32} encoding package with @code{NoPadding} option")
+ (description
+ "@code{base32} encoding package from Go with @code{NoPadding} option")
+ (license license:bsd-3)))
+
+(define-public go-github-com-multiformats-go-base36
+ (package
+ (name "go-github-com-multiformats-go-base36")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/multiformats/go-base36")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wfhsmxkvm97pglfwgiw3ad5g9vqc9nhd61i0kyvsb9lc006g8qq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/multiformats/go-base36"))
+ (home-page "https://github.com/multiformats/go-base36")
+ (synopsis "Optimized @code{base36} codec for Go")
+ (description
+ "Optimized codec for @code{[]byte} <=> @code{base36} string conversion.")
+ (license (list license:asl2.0 license:expat))))
+
+(define-public go-github-com-multiformats-go-multibase
+ (package
+ (name "go-github-com-multiformats-go-multibase")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/multiformats/go-multibase")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11za5yqiq9bkxfg0lvjzgr5d0kawkf2szxj90by9vfnalihqgkrr"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.21
+ #:import-path "github.com/multiformats/go-multibase"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-multibase-specs
+ (lambda* (#:key import-path #:allow-other-keys)
+ (copy-recursively
+ (string-append #$(this-package-native-input
+ "specification-multibase")
+ "/share/multibase/")
+ (string-append "src/" import-path "/spec")))))))
+ (native-inputs
+ (list specification-multibase))
+ (propagated-inputs
+ (list go-github-com-mr-tron-base58
+ go-github-com-multiformats-go-base32
+ go-github-com-multiformats-go-base36))
+ (home-page "https://github.com/multiformats/go-multibase")
+ (synopsis "Implementation of multibase parser in Go")
+ (description
+ "Implementation of @url{https://github.com/multiformats/multibase,
+multibase} (self identifying base encodings) in Go.")
+ (license license:expat)))
+
(define-public go-github-com-multiformats-go-varint
(package
(name "go-github-com-multiformats-go-varint")
@@ -1897,6 +2415,30 @@ comparison library, to Go. Both a library and a command-line tool are
included in this package.")
(license license:expat)))
+(define-public go-github-com-pierrec-cmdflag
+ (package
+ (name "go-github-com-pierrec-cmdflag")
+ (version "0.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pierrec/cmdflag")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nxmqkjwd7i3blmspvxib352vm6167h2ffqy4m9zc3fb9srvrpqc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/pierrec/cmdflag"))
+ (home-page "https://github.com/pierrec/cmdflag")
+ (synopsis "Augment the flag package with commands")
+ (description
+ "Package @code{cmdflag} provides simple command line commands processing
+on top of the standard library @code{flag} package.")
+ (license license:bsd-3)))
+
(define-public go-github-com-prometheus-client-model
(let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
(revision "2"))
@@ -1957,6 +2499,50 @@ Metrics library.")
(home-page "https://github.com/rcrowley/go-metrics")
(license license:bsd-2))))
+(define-public go-github-com-schollz-progressbar-v3
+ (package
+ (name "go-github-com-schollz-progressbar-v3")
+ (version "3.13.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/schollz/progressbar")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hjahr5r52i7w6iyvl3rpzr46iignhfdh4694fl7m2b4gkaw9gd6"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/schollz/progressbar/v3"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ (string-append "src/" import-path "/examples"))))
+ (replace 'check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (when tests?
+ ;; The full test suite requires Internet access, so only
+ ;; run the short tests.
+ (invoke "go" "test" "-test.short" import-path)))))))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-mattn-go-runewidth
+ go-github-com-mitchellh-colorstring
+ go-golang-org-x-term))
+ (home-page "https://github.com/schollz/progressbar")
+ (synopsis "Simple command-line interface (CLI) progress bar")
+ (description
+ "This package provides a very simple thread-safe progress bar. The
+@code{progressbar} implements an @code{io.Writer} so it can automatically
+detect the number of bytes written to a stream, so you can use it as a
+@code{progressbar} for an @code{io.Reader}. When @code{progressbar}'s length
+is undetermined, a customizable spinner is shown.")
+ (license license:expat)))
+
(define-public go-github-com-shirou-gopsutil
(package
(name "go-github-com-shirou-gopsutil")
@@ -2077,17 +2663,16 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
(define-public go-github-com-songmu-gitconfig
(package
(name "go-github-com-songmu-gitconfig")
- (version "0.1.0")
- (home-page "https://github.com/songmu/gitconfig")
+ (version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url home-page)
+ (url "https://github.com/songmu/gitconfig")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1y01h496a7pfj1g2bclls5b0nl3vnj7nz610jj1dzq9kxrwxk7fk"))))
+ (base32 "0p7b5n4h4vsjpb7ipfn4n1p8i978d8mlx8pi0m5dla57mj8v56hj"))))
(build-system go-build-system)
(arguments
(list
@@ -2098,11 +2683,38 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
#:import-path "github.com/Songmu/gitconfig"))
(propagated-inputs
(list go-github-com-goccy-yaml))
+ (home-page "https://github.com/songmu/gitconfig")
(synopsis "Go library to get configuration values from gitconfig")
(description
"@{gitconfig} is a package to get configuration values from gitconfig.")
(license license:expat)))
+(define-public go-github-com-spf13-cobra
+ (package
+ (name "go-github-com-spf13-cobra")
+ (version "1.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spf13/cobra")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mhnqfgcwwcknlhk7n07i02q3iqq6ihksj4dwz296zci8ry3w0d0"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/spf13/cobra"))
+ (propagated-inputs
+ (list go-github-com-spf13-pflag))
+ (home-page "https://github.com/spf13/cobra")
+ (synopsis "Go library for creating CLI applications")
+ (description
+ "Cobra is both a library for creating powerful modern CLI applications as
+well as a program to generate applications and command files.")
+ (license license:asl2.0)))
+
(define-public go-github-com-stathat-go
(let ((commit "74669b9f388d9d788c97399a0824adbfee78400e")
(revision "0"))
@@ -2199,6 +2811,38 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
query information regarding the number of CPUs available to the system.")
(license license:asl2.0)))
+(define-public go-github-com-tkuchiki-go-timezone
+ (package
+ (name "go-github-com-tkuchiki-go-timezone")
+ (version "0.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tkuchiki/go-timezone")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rmvg4hh0br51vbsxacani2g0v5xxsayp8q4xli9jag25zi5rhd1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/tkuchiki/go-timezone"))
+ (home-page "https://github.com/tkuchiki/go-timezone")
+ (synopsis "Timezone utility for Golang")
+ (description
+ "This package provides provides an utility for timezone manipulation,
+implementing the following features:
+
+@itemize
+@item this library uses only the standard package
+@item supports getting offset from timezone abbreviation, which is not
+supported by the time package
+@item determine whether the specified time.Time is daylight saving time
+@item change the location of time.Time by specifying the timezone
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-vividcortex-ewma
(package
(name "go-github-com-vividcortex-ewma")
@@ -2394,6 +3038,43 @@ Go.")
(package-arguments go-github-com-op-go-logging)
((#:import-path _) "gopkg.in/op/go-logging.v1")))))
+(define-public go-gopkg-in-yaml-v2
+ (package
+ (name "go-gopkg-in-yaml-v2")
+ (version "2.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gopkg.in/yaml.v2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pbmrpj7gcws34g8vwna4i2nhm9p6235piww36436xhyaa10cldr"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; https://github.com/go-yaml/yaml/issues/441 and
+ ;; https://github.com/go-yaml/yaml/pull/442
+ ;; Don't assume 64-bit wide integers
+ (substitute* "decode_test.go"
+ (("bin: (-0b1000000000000000000000000000000000000000000000000000000000000000)" all number)
+ (string-append "int64_min_base2: " number))
+ (("map\\[string\\]interface\\{\\}\\{\"bin\": -9223372036854775808\\}")
+ "map[string]int64{\"int64_min_base2\": math.MinInt64}"))))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "gopkg.in/yaml.v2"))
+ (native-inputs
+ (list go-gopkg-in-check-v1))
+ (home-page "https://gopkg.in/yaml.v2")
+ (synopsis "YAML reader and writer for the Go language")
+ (description
+ "This package provides a Go library for encode and decode YAML
+values.")
+ (license license:asl2.0)))
+
;;;
;;; Executables:
;;;