diff options
Diffstat (limited to 'gnu/packages/golang-xyz.scm')
-rw-r--r-- | gnu/packages/golang-xyz.scm | 1690 |
1 files changed, 1588 insertions, 102 deletions
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index cf0b52a043..fcb352148c 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -1,26 +1,39 @@ ;;; 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, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; 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 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; 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 © 2023 Wilko Meyer <w@wmeyer.eu> ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com> +;;; Copyright © 2024 Herman Rimm <herman@rimm.ee> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +53,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) @@ -51,7 +65,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: ;;; @@ -65,6 +80,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") @@ -141,6 +187,57 @@ syntax highlighted HTML, ANSI-coloured text, etc.") (list go-github-com-alecthomas-assert-v2 go-github-com-alecthomas-repr)))) +(define-public go-github-com-alecthomas-kingpin + (package + (name "go-github-com-alecthomas-kingpin") + (version "2.2.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alecthomas/kingpin") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/alecthomas/kingpin")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-alecthomas-template + go-github-com-alecthomas-units)) + (home-page "https://github.com/alecthomas/kingpin") + (synopsis "Go library provides utilities for building command line interfaces") + (description + "Go library provides utilities for building command line interfaces.") + (license license:expat))) + +(define-public go-github-com-alecthomas-kingpin-v2 + (package + (inherit go-github-com-alecthomas-kingpin) + (name "go-github-com-alecthomas-kingpin-v2") + (version "2.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alecthomas/kingpin") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12xl62xzwq2h71hp1i0133403zhyqwsh95sr870fx18wmpqh8shf")))) + (arguments + (list + #:import-path "github.com/alecthomas/kingpin/v2")) + (propagated-inputs + (list go-github-com-alecthomas-units + go-github-com-xhit-go-str2duration-v2)) + (native-inputs + (list go-github-com-stretchr-testify)))) + (define-public go-github-com-alecthomas-participle-v2 (package (name "go-github-com-alecthomas-participle-v2") @@ -169,25 +266,82 @@ structs. The approach is similar to how other marshallers work in Golang, \"unmarshalling\" an instance of a grammar into a struct.") (license license:expat))) +(define-public go-github-com-alecthomas-template + ;; No release, see <https://github.com/alecthomas/template/issues/7>. + (let ((commit "a0175ee3bccc567396460bf5acd36800cb10c49c") + (revision "0")) + (package + (name "go-github-com-alecthomas-template") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alecthomas/template") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/alecthomas/template")) + (home-page "https://github.com/alecthomas/template") + (synopsis "Fork of Go's text/template adding newline elision") + (description + "This is a fork of Go 1.4's text/template package with one addition: a +backslash immediately after a closing delimiter will delete all subsequent +newlines until a non-newline.") + (license license:bsd-3)))) + +(define-public go-github-com-alecthomas-units + ;; No release, see <https://github.com/alecthomas/units/issues/9>. + (let ((commit "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a") + (revision "0")) + (package + (name "go-github-com-alecthomas-units") + (version "0.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alecthomas/units") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/alecthomas/units")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/alecthomas/units") + (synopsis "Helpful unit multipliers and functions for Go") + (description + "This library provides unit multipliers and functions for Go.") + (license license:expat)))) + (define-public go-github-com-anmitsu-go-shlex (package (name "go-github-com-anmitsu-go-shlex") (version "0.0.0-20200514113438-38f4b401e2be") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/anmitsu/go-shlex") - (commit (go-version->git-ref version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "17iz68yzbnr7y4s493asbagbv79qq8hvl2pkxvm6bvdkgphj8w1g")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/anmitsu/go-shlex") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17iz68yzbnr7y4s493asbagbv79qq8hvl2pkxvm6bvdkgphj8w1g")))) (build-system go-build-system) (arguments '(#:import-path "github.com/anmitsu/go-shlex")) (home-page "https://github.com/anmitsu/go-shlex") (synopsis "Simple shell-like lexical analyzer for Go") - (description "This package provides a simple lexical analyzer to parse -shell-like commands.") + (description + "This package provides a simple lexical analyzer to parse shell-like +commands.") (license license:expat))) (define-public go-github-com-armon-go-radix @@ -380,6 +534,38 @@ information and periodically output metrics") quantiles over an unbounded data stream within low memory and CPU bounds.") (license license:bsd-2))) +(define-public go-github-com-briandowns-spinner + (package + (name "go-github-com-briandowns-spinner") + (version "1.23.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/briandowns/spinner") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "036r59m068k8grr0q77a6b1rqw4dyxm00fsxj7b9w1fjviq8djs6")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "vendor"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/briandowns/spinner")) + (propagated-inputs + (list go-github-com-fatih-color + go-github-com-mattn-go-isatty + go-golang-org-x-term)) + (home-page "https://github.com/briandowns/spinner") + (synopsis "Terminal spinner/progress indicators") + (description + "Package spinner is a simple package to add a spinner / progress +indicator to any terminal application.") + (license license:asl2.0))) + (define-public go-github-com-burntsushi-toml (package (name "go-github-com-burntsushi-toml") @@ -432,6 +618,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") @@ -614,17 +855,19 @@ of unit files."))) (define-public go-github-com-cyberdelia-go-metrics-graphite (package + ;; No release, see + ;; <https://github.com/cyberdelia/go-metrics-graphite/issues/17>. (name "go-github-com-cyberdelia-go-metrics-graphite") (version "0.0.0-20161219230853-39f87cc3b432") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/cyberdelia/go-metrics-graphite") - (commit (go-version->git-ref version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1nnpwryw8i110laffyavvhx38gcd1jnpdir69y6fxxzpx06d094w")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cyberdelia/go-metrics-graphite") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nnpwryw8i110laffyavvhx38gcd1jnpdir69y6fxxzpx06d094w")))) (build-system go-build-system) (propagated-inputs (list go-github-com-rcrowley-go-metrics)) @@ -633,11 +876,39 @@ of unit files."))) #:import-path "github.com/cyberdelia/go-metrics-graphite")) (home-page "https://github.com/cyberdelia/go-metrics-graphite") (synopsis "Graphite client for go-metrics") - (description "This package provides a reporter for the + (description + "This package provides a reporter for the @url{https://github.com/rcrowley/go-metrics,go-metrics} library which posts metrics to Graphite.") (license license:bsd-2))) +(define-public go-github-com-danwakefield-fnmatch + (let ((commit "cbb64ac3d964b81592e64f957ad53df015803288") + (revision "0")) + (package + (name "go-github-com-danwakefield-fnmatch") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/danwakefield/fnmatch") + (commit commit))) + (sha256 + (base32 "0cbf511ppsa6hf59mdl7nbyn2b2n71y0bpkzbmfkdqjhanqh1lqz")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/danwakefield/fnmatch")) + (home-page "https://github.com/danwakefield/fnmatch") + (synopsis "Updated clone of kballards golang fnmatch gist") + (description + "This package provides string-matching based on BSD fnmatch.3. It is an +updated clone of kballards golang fnmatch +gist (https://gist.github.com/kballard/272720).") + (license license:bsd-2)))) + (define-public go-github-com-dave-jennifer (package (name "go-github-com-dave-jennifer") @@ -661,6 +932,34 @@ metrics to Graphite.") (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") @@ -706,6 +1005,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") @@ -767,6 +1092,58 @@ scanner API made public.") for @code{Set}, @code{Get}, @code{Delete} and @code{Len}.") (license license:expat))) +(define-public go-github-com-facette-natsort + (package + (name "go-github-com-facette-natsort") + (version "0.0.0-20181210072756-2cd4dd1e2dcb") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/facette/natsort") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kfas7nq7cfrbaqvpmifg2p8v8z0d2kdqjb7p9y6r0rpdzl2zy6p")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/facette/natsort")) + (home-page "https://github.com/facette/natsort") + (synopsis "Natural strings sorting in Go") + (description + "This package provides an implementation of +@url{https://web.archive.org/web/20210803201519/http://davekoelle.com/alphanum.html,the +Alphanum Algorithm} developed by Dave Koelle in Go.") + (license license:bsd-3))) + +(define-public go-github-com-fatih-color + (package + (name "go-github-com-fatih-color") + (version "1.16.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fatih/color") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15689x103gy9q7g7623rlvhwrw27p079ardapmrrag0sdwrx5bq2")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/fatih/color")) + (propagated-inputs + (list go-github-com-mattn-go-colorable + go-github-com-mattn-go-isatty)) + (home-page "https://pkg.go.dev/github.com/fatih/color") + (synopsis "Print colored text in Go") + (description + "This package provides an ANSI color package to output colorized or SGR +defined output to the standard output.") + (license license:expat))) + (define-public go-github-com-gabriel-vasile-mimetype (package (name "go-github-com-gabriel-vasile-mimetype") @@ -818,87 +1195,88 @@ Differentiation between text and binary files}. @end itemize") (license license:expat))) -(define-public go-github-com-hashicorp-errwrap +(define-public go-github-com-go-logr-logr (package - (name "go-github-com-hashicorp-errwrap") - (version "1.1.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/errwrap") + (url "https://github.com/go-logr/logr") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0p5wdz8p7dmwphmb33gwhy3iwci5k9wkfqmmfa6ay1lz0cqjwp7a")))) + (base32 "0x0q9jkk2p5pz4lii1qs8ifnsib4ib5s8pigmjwdmagl976g8nhm")))) (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") + #: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 - "@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))) + "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 +(define-public go-github-com-gobwas-glob (package - (name "go-github-com-hashicorp-hcl") - (version "1.0.0") + (name "go-github-com-gobwas-glob") + (version "0.2.3") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/hashicorp/hcl") + (url "https://github.com/gobwas/glob") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66")))) + (base32 + "0jxk1x806zn5x86342s72dq2qy64ksb3zrvrlgir2avjhwb18n6z")))) (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") + #:import-path "github.com/gobwas/glob")) + (home-page "https://github.com/gobwas/glob") + (synopsis "Go globbing library") (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))) + "This package provides a Go implementation of globs.") + (license license:expat))) -(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 @@ -949,7 +1327,7 @@ methods on @code{hclog.Logger} are used correctly.") (sha256 (base32 "0l4s41skdpifndn9s8y6s9vzgghdzg4z8z0lld9qjr28888wzp00")))) (build-system go-build-system) - (inputs (list go-github-com-hashicorp-errwrap)) + (propagated-inputs (list go-github-com-hashicorp-errwrap)) (arguments (list #:import-path "github.com/hashicorp/go-multierror")) @@ -1039,6 +1417,110 @@ a collection of versions properly, handles prerelease/beta versions, can increment versions.") (license license:mpl2.0))) +(define-public go-github-com-hashicorp-golang-lru + (package + (name "go-github-com-hashicorp-golang-lru") + (version "1.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/golang-lru") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13q3mdlr4hb2cxa5k4ccpz1gg4swrmkxm7h3brq3xsawidpbjbyb")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hashicorp/golang-lru")) + (home-page "https://github.com/hashicorp/golang-lru") + (synopsis "Golang LRU cache") + (description + "@code{lru} is a package which implements a fixed-size thread safe +@acronym{Least recently used,LRU} cache. It is based on the cache in +Groupcache.") + (license license:mpl2.0))) + +(define-public go-github-com-hashicorp-golang-lru-v2 + (package + (inherit go-github-com-hashicorp-golang-lru) + (name "go-github-com-hashicorp-golang-lru-v2") + (version "2.0.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/golang-lru") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lb2ylv2bz6lsqhn6c2hsafjjcx0hsdbah6arhb778g3xbkpgvf3")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.18 + #:import-path "github.com/hashicorp/golang-lru/v2")))) + +(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") @@ -1169,6 +1651,33 @@ and stop units of work, which may receive @code{Close} signals from many clients struct to another.") (license license:expat))) +(define-public go-github-com-johnkerl-lumin + (package + (name "go-github-com-johnkerl-lumin") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/johnkerl/lumin") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1liv27pxi79q4yr1bd0wgsx31ixw53ipsgs2kp0asxj2d6z4hpiz")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/johnkerl/lumin")) + (home-page "https://github.com/johnkerl/lumin") + (synopsis "Command-line tool to highlight matches in files") + (description + "@command{lumin} is a simple command-line program which highlights matches +to a specified pattern (string or regex) in the specified files. This is like +@code{grep} with @code{--color}, except that @code{lumin} shows all lines, not +just matching lines. This package proviedes a CLI tool and @code{colors} +library.") + (license license:bsd-2))) + (define-public go-github-com-josharian-intern (package (name "go-github-com-josharian-intern") @@ -1194,6 +1703,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") @@ -1221,6 +1758,247 @@ 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-lestrrat-go-envload + (package + (name "go-github-com-lestrrat-go-envload") + (version "0.0.0-20180220234015-a3eb8ddeffcc") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lestrrat-go/envload") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hlhvygfg67w8pqmjl91124zggnz6m750vjmmjlf8ys63nv3na05")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lestrrat-go/envload")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/lestrrat-go/envload") + (synopsis "Restore and load environment variables") + (description + "This package implements a Perl5 like @code{temporary} variable, for +applications requiring reloading of configuration from environment variables +or during the tests temporarily change the value of an environment variable in +Golang.") + (license license:expat))) + +(define-public go-github-com-lestrrat-go-strftime + (package + (name "go-github-com-lestrrat-go-strftime") + (version "1.0.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lestrrat-go/strftime") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1iqzxmj3ijldjf99acy44qrrzvfxzn0vza3m0c9bw46bg8v1wsyc")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lestrrat-go/strftime" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'remove-benchmarks + (lambda* (#:key import-path #:allow-other-keys) + (delete-file-recursively + (string-append "src/" import-path "/bench"))))))) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-pkg-errors + go-github-com-lestrrat-go-envload)) + (home-page "https://github.com/lestrrat-go/strftime") + (synopsis "Strftime for Golang") + (description + "This package provides a Golang library implementing the conversion of +date and time information from a given calendar time to a character string +according to a format string. It is optimized for scenarios where the same +pattern is called repeatedly.") + (license license:expat))) + +(define-public go-github-com-lib-pq + (package + (name "go-github-com-lib-pq") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lib/pq") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08j1smm6rassdssdks4yh9aspa1dv1g5nvwimmknspvhx8a7waqz")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/lib/pq" + ;; The tests seem to fail without access to the network or a running + ;; Postgres instance. + #:tests? #f)) + (home-page "https://github.com/lib/pq") + (synopsis "Golang Postgres driver for Go's database/sql") + (description + "This package provides a pure Go Postgres driver for Go's +database/sql package.") + (license license:expat))) + +(define-public go-github-com-logrusorgru-aurora + (package + (name "go-github-com-logrusorgru-aurora") + (version "2.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/logrusorgru/aurora") + (commit (string-append "v" version)))) + (sha256 + (base32 "1ck2j2ff2avph07vgq0r1y7hmbqgvk339rvph45dcwgci23lb3pf")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/logrusorgru/aurora")) + (home-page "https://github.com/logrusorgru/aurora") + (synopsis "Ultimate ANSI colors for Golang") + (description + "This package provides ANSI colors for Golang. The package supports +Printf/Sprintf etc.") + (license license:unlicense))) + +(define-public go-github-com-logrusorgru-aurora-v3 + (package + (inherit go-github-com-logrusorgru-aurora) + (name "go-github-com-logrusorgru-aurora-v3") + (version "3.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/logrusorgru/aurora") + (commit (string-append "v" version)))) + (sha256 + (base32 "0z7cgj8gl69271d0ag4f4yjbsvbrnfibc96cs01spqf5krv2rzjc")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/logrusorgru/aurora/v3")))) + +(define-public go-github-com-logrusorgru-aurora-v4 + (package + (inherit go-github-com-logrusorgru-aurora) + (name "go-github-com-logrusorgru-aurora-v4") + (version "4.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/logrusorgru/aurora") + (commit (string-append "v" version)))) + (sha256 + (base32 "0a4w4p0sl5hwa9fridk7s023sjcis8qf1k8fm3g5qar58vxzlh9w")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + (list + #:go go-1.19 + #:import-path "github.com/logrusorgru/aurora/v3")) + (native-inputs + (list go-github-com-stretchr-testify)))) + +(define-public go-github-com-marcinbor85-gohex + ;; No release, see <https://github.com/marcinbor85/gohex/issues/5>. + (let ((commit "baab2527a9a2a4abb3dc06baabedfa5e0268b8d8") + (revision "0")) + (package + (name "go-github-com-marcinbor85-gohex") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marcinbor85/gohex") + (commit commit))) + (sha256 + (base32 "06v4cc6ld6vvxd4xm9k6l49lhcd9ncq7xfx35mj5b9r96ih49fiz")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/marcinbor85/gohex")) + (home-page "https://pkg.go.dev/github.com/marcinbor85/gohex") + (synopsis "Parse Intel HEX files") + (description + "This package provides a Golang library for parsing Intel HEX files, +implementing features like: + +@itemize +@item robust intelhex parsing (full test coverage) +@item support i32hex format +@item two-way converting hex<->bin +@item trivial but powerful api (only the most commonly used functions) +@item interface-based IO functions +@end itemize") + (license license:expat)))) + (define-public go-github-com-matryer-try (package (name "go-github-com-matryer-try") @@ -1255,6 +2033,107 @@ customized globally.") (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") @@ -1285,19 +2164,67 @@ customized globally.") 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") (version "1.1.48") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/miekg/dns") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "14m4wnbgmc1prj4ds1fsz1nwb1awaq365lhbp8clzsidxmhjf3hl")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/miekg/dns") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14m4wnbgmc1prj4ds1fsz1nwb1awaq365lhbp8clzsidxmhjf3hl")))) (build-system go-build-system) (arguments '(#:import-path "github.com/miekg/dns")) (propagated-inputs @@ -1308,13 +2235,60 @@ the @code{cpan} module @code{Parse::CommandLine}.") (home-page "https://github.com/miekg/dns") (synopsis "Domain Name Service library in Go") (description - "This package provides a fully featured interface to the @acronym{DNS, + "This package provides a fully featured interface to the @acronym{DNS, Domain Name System}. Both server and client side programming is supported. The package allows complete control over what is sent out to the @acronym{DNS, 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") @@ -1366,6 +2340,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") @@ -1382,8 +2442,8 @@ command line flags, config files, and default struct values.") (build-system go-build-system) (arguments (list - #:import-path "github.com/mreiferson/go-options")) - (home-page "https://github.com/mreiferson/go-options") + #:import-path "github.com/multiformats/go-varint")) + (home-page "https://github.com/multiformats/go-varint") (synopsis "Varint helpers that enforce minimal encoding") (description "This package provides a functionality for encoding and decoding unsigned @@ -1446,25 +2506,27 @@ very fast, and tries to be entropy pool friendly.") (name "go-github-com-nbrownus-go-metrics-prometheus") (version "0.0.0-20210712211119-974a6260965f") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/nbrownus/go-metrics-prometheus") - (commit (go-version->git-ref version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1kl9l08aas544627zmhkgp843qx94sxs4inxm20nw1hx7gp79dz0")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nbrownus/go-metrics-prometheus") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kl9l08aas544627zmhkgp843qx94sxs4inxm20nw1hx7gp79dz0")))) (build-system go-build-system) (arguments '(#:import-path "github.com/nbrownus/go-metrics-prometheus")) + (native-inputs + (list go-github-com-stretchr-testify)) (propagated-inputs - (list go-github-com-stretchr-testify - go-github-com-rcrowley-go-metrics - go-github-com-prometheus-client-golang)) + (list go-github-com-prometheus-client-golang + go-github-com-rcrowley-go-metrics)) (home-page "https://github.com/nbrownus/go-metrics-prometheus") (synopsis "Prometheus support for go-metrics") - (description "This package provides a reporter for the @code{go-metrics} -library which posts the metrics to the Prometheus client registry and just -updates the registry.") + (description + "This package provides a reporter for the @code{go-metrics} library which +posts the metrics to the Prometheus client registry and just updates the +registry.") (license license:asl2.0))) (define-public go-github-com-nsqio-go-diskqueue @@ -1543,6 +2605,30 @@ syslog, file and memory. Multiple backends can be utilized with different log levels per backend and logger.") (license license:bsd-3))) +(define-public go-github-com-openprinting-goipp + (package + (name "go-github-com-openprinting-goipp") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenPrinting/goipp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1p05dk37l393byvjanvi3ipqcax320vf3qynlzazm7czzzlw448h")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/OpenPrinting/goipp")) + (home-page "https://github.com/OpenPrinting/goipp") + (synopsis "IPP core protocol implementation") + (description + "The goipp package implements the IPP core protocol, as defined by +@@url{https://rfc-editor.org/rfc/rfc8010.html,RFC 8010}.") + (license license:bsd-2))) + (define-public go-github-com-orisano-pixelmatch (package (name "go-github-com-orisano-pixelmatch") @@ -1568,6 +2654,57 @@ 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-pbnjay-memory + (let ((commit "7b4eea64cf580186c0eceb10dc94ba3a098af46c") + (revision "2")) + (package + (name "go-github-com-pbnjay-memory") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pbnjay/memory") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "107w8pd1aasdrk35hh9pbdh9z11s9s79nglz6rqfnf6bhgb8b3s0")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/pbnjay/memory")) + (home-page "https://github.com/gedex/inflector") + (synopsis "Go library to report total system memory") + (description + "@code{memory} provides a single method reporting total physical system +memory accessible to the kernel. It does not account for memory used by other +processes.") + (license license:bsd-3)))) + +(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")) @@ -1628,6 +2765,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") @@ -1748,17 +2929,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 @@ -1769,11 +2949,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")) @@ -1870,6 +3077,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") @@ -1917,10 +3156,69 @@ weighted moving averages}.") ;; There is not much information provided by the project, see ;; <https://github.com/whyrusleeping/go-sysinfo/issues>. (description - "This packages provides a basic system stats like @code{DiskUsage} and + "This package provides a basic system stats like @code{DiskUsage} and @code{MemoryInfo}.") (license license:expat))) +(define-public go-github-com-xhit-go-str2duration-v2 + (package + (name "go-github-com-xhit-go-str2duration-v2") + (version "2.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xhit/go-str2duration") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c9zi9mfy5ww413y1jpfh1rdis43lvd5v6gvajqzh4q1km9lyxjj")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/xhit/go-str2duration/v2")) + (home-page "https://github.com/xhit/go-str2duration") + (synopsis "Convert string to duration in golang") + (description + "This package provides a means to obtain @code{time.Duration} from a +string. The string can be a string retorned for @code{time.Duration} or a +similar string with weeks or days too.") + (license license:bsd-3))) + +(define-public go-go-uber-org-atomic + (package + (name "go-go-uber-org-atomic") + (version "1.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber-go/atomic") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0grswsk7nkf7zmmychf6aj6032shyag1kgs6zf7qwxyn55dym1v8")))) + (build-system go-build-system) + (arguments + (list + ;; XXX: Disable failing tests on non-x86-64 architecture, see + ;; <https://github.com/uber-go/atomic/issues/164>. + ;; + ;; go.uber.org/atomic/uintptr_test.go:72:30: cannot convert + ;; math.MaxUint64 (untyped int constant 18446744073709551615) to type + ;; uintptr + #:tests? (and (not (%current-target-system)) + (target-x86-64?)) + #:import-path "go.uber.org/atomic")) + (native-inputs + (list go-github-com-stretchr-testify go-github-com-davecgh-go-spew)) + (home-page "https://pkg.go.dev/go.uber.org/atomic") + (synopsis "Wrapper types for sync/atomic") + (description + "This package provides simple wrappers for primitive types to enforce +atomic access.") + (license license:expat))) + (define-public go-go-uber-org-automaxprocs (package (name "go-go-uber-org-automaxprocs") @@ -1946,6 +3244,92 @@ weighted moving averages}.") CPU quota.") (license license:expat))) +(define-public go-go-uber-org-dig + (package + (name "go-go-uber-org-dig") + (version "1.17.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber-go/dig") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "020dak2r0yykk6fkfwad2wbz73pjbbdkdamn0ir7xf2irxsmjakm")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.20 + #:import-path "go.uber.org/dig")) + (native-inputs + (list go-github-com-stretchr-testify-next)) + (home-page "https://pkg.go.dev/go.uber.org/dig") + (synopsis "Reflection based dependency injection toolkit for Golang") + (description + "Package @code{dig} provides a functionality to implement resolving +object dependencies graph during the process startup.") + (license license:expat))) + +(define-public go-go-uber-org-fx + (package + (name "go-go-uber-org-fx") + (version "1.21.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber-go/fx") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16pbqmkij02zw6xa4660k905y0r0rc50vyqhg41i2411r68jrdnn")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.20 + #:import-path "go.uber.org/fx")) + (native-inputs + (list go-github-com-stretchr-testify-next)) + (propagated-inputs + (list go-go-uber-org-dig + go-go-uber-org-goleak + go-go-uber-org-multierr + go-go-uber-org-zap + go-golang-org-x-sys)) + (home-page "https://pkg.go.dev/go.uber.org/fx") + (synopsis "Dependency injection based application framework for Golang") + (description + "Package @code{fx} is a framework that makes it easy to build +applications out of reusable, composable modules.") + (license license:expat))) + +(define-public go-go-uber-org-multierr + (package + (name "go-go-uber-org-multierr") + (version "1.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber-go/multierr") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "162941s8f6a9x2w04qm4qa3zz0zylwag9149hywrj9ibp2nzcsqz")))) + (build-system go-build-system) + (arguments + '(#:import-path "go.uber.org/multierr")) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-go-uber-org-atomic)) + (home-page "https://pkg.go.dev/go.uber.org/multierr") + (synopsis "Error combination for Go") + (description + "@code{multierr} allows combining one or more Go errors together.") + (license license:expat))) + (define-public go-go-uber-org-zap (package (name "go-go-uber-org-zap") @@ -1961,24 +3345,89 @@ CPU quota.") (base32 "0lzbbs87fvixzbyv4wpl3s70vm2m0jz2jgdvrviiksc2al451qgs")))) (build-system go-build-system) (arguments - '(#:import-path "go.uber.org/zap" - #:tests? #f)) ; TODO: Fix tests + (list + #:go go-1.19 + #:import-path "go.uber.org/zap" + #:phases + #~(modify-phases %standard-phases + ;; Remove test files requiring to download all dependencies for the + ;; current Go module and reports their module paths and locations on + ;; disk. + (add-after 'unpack 'remove-test-files + (lambda* (#:key import-path #:allow-other-keys) + (delete-file + (string-append "src/" import-path + "/stacktrace_ext_test.go"))))))) (native-inputs - (list go-github-com-stretchr-testify + (list go-github-com-stretchr-testify-next + go-go-uber-org-goleak go-golang-org-x-lint go-honnef-co-go-tools)) (propagated-inputs - (list go-github-com-pkg-errors + (list go-github-com-benbjohnson-clock + go-github-com-pkg-errors go-go-uber-org-atomic go-go-uber-org-multierr go-gopkg-in-yaml-v2)) - (home-page "https://go.uber.org/zap") + (home-page "https://pkg.go.dev/go.uber.org/zap") (synopsis "Logging library for Go") (description "This package provides a library for fast, structured, leveled logging in Go.") (license license:expat))) +(define-public go-gopkg-in-alecthomas-kingpin-v2 + (package + (inherit go-github-com-alecthomas-kingpin) + (arguments + (list + #:import-path "gopkg.in/alecthomas/kingpin.v2")))) + +(define-public go-gopkg-in-cheggaaa-pb-v1 + (package + (inherit go-github-com-cheggaaa-pb-v3) + (name "go-gopkg-in-cheggaaa-pb-v1") + (version "1.0.28") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gopkg.in/cheggaaa/pb.v1.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13a66cqbpdif804qj12z9ad8r24va9q41gfk71qbc4zg1wsxs3rh")))) + (arguments + (list + #:import-path "gopkg.in/cheggaaa/pb.v1")))) + +(define-public go-gopkg-in-natefinch-lumberjack.v2 + (package + (name "go-gopkg-in-natefinch-lumberjack.v2") + (version "2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/natefinch/lumberjack") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1l3vlv72b7rfkpy1164kwd3qzrqmmjnb67akzxqp2mlvc66k6p3d")))) + (build-system go-build-system) + (arguments + (list + #:import-path "gopkg.in/natefinch/lumberjack.v2")) + (propagated-inputs + (list go-github-com-burntsushi-toml + go-gopkg-in-yaml-v2)) + (home-page "https://github.com/natefinch/lumberjack") + (synopsis "Rolling logger for Go") + (description + "Lumberjack is a Go package for writing logs to rolling files.") + (license license:expat))) + (define-public go-gopkg-in-op-go-logging-v1 (package (inherit go-github-com-op-go-logging) @@ -1988,6 +3437,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: ;;; |