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.scm2449
1 files changed, 2449 insertions, 0 deletions
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
new file mode 100644
index 0000000000..e1ac32273c
--- /dev/null
+++ b/gnu/packages/golang-xyz.scm
@@ -0,0 +1,2449 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
+;;; 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-2022 Efraim Flashner <efraim@flashner.co.il>
+;;; 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 Sarah Morgensen <iskarian@mgsn.dev>
+;;; Copyright © 2021, 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
+;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
+;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
+;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
+;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
+;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
+;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages golang-xyz)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system go)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-check)
+ #:use-module (gnu packages golang-compression)
+ #:use-module (gnu packages golang-crypto)
+ #:use-module (gnu packages linux))
+
+;;; Commentary:
+;;;
+;;; Nomad Golang modules (libraries) are welcome here.
+;;;
+;;; Please: Try to add new module packages in alphabetic order.
+;;;
+;;; Code:
+
+;;;
+;;; Libraries:
+;;;
+
+(define-public go-github-com-a8m-envsubst
+ (package
+ (name "go-github-com-a8m-envsubst")
+ (version "1.4.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/a8m/envsubst")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mjs729g9nmalx25l4nn3p07amm4vsciqmdf0jbh2jwpy1zymz41"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/a8m/envsubst"))
+ (home-page "https://github.com/a8m/envsubst")
+ (synopsis "Environment variables substitution for Go")
+ (description
+ "This package provides a library for environment variables
+substitution.")
+ (license license:expat)))
+
+(define-public go-github-com-alecthomas-chroma
+ (package
+ (name "go-github-com-alecthomas-chroma")
+ (version "0.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alecthomas/chroma")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hjzb61m5lzx95xss82wil9s8f9hbw1zb3jj73ljfwkq5lqk76zq"))
+ (modules '((guix build utils)))
+ ;; Delete git submodules and generated files by Hermit.
+ (snippet '(delete-file-recursively "bin"))))
+ (build-system go-build-system)
+ ;; TODO: Build cmd/chroma and cmd/chromad commands.
+ (arguments
+ `(#:import-path "github.com/alecthomas/chroma"))
+ (native-inputs
+ (list go-github-com-dlclark-regexp2
+ go-github-com-stretchr-testify))
+ (home-page "https://github.com/alecthomas/chroma/")
+ (synopsis "General purpose syntax highlighter in pure Go")
+ (description
+ "Chroma takes source code and other structured text and converts it into
+syntax highlighted HTML, ANSI-coloured text, etc.")
+ (license license:expat)))
+
+(define-public go-github-com-alecthomas-chroma-v2
+ (package
+ (inherit go-github-com-alecthomas-chroma)
+ (name "go-github-com-alecthomas-chroma-v2")
+ (version "2.12.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alecthomas/chroma")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1j9zz77ppi4r4ncnanzj84h7bsg0qdqrhgd5kkjiv09afm31jx83"))))
+ (arguments
+ (list #:go go-1.19
+ #:import-path "github.com/alecthomas/chroma/v2"))
+ (propagated-inputs
+ (list go-github-com-dlclark-regexp2))
+ (native-inputs
+ (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")
+ (version "2.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alecthomas/participle")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0k2vsd58rgwyylyn5zja6z6k1sg4m39g2fhd88lvja60ca51bh98"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:go go-1.18
+ #:import-path "github.com/alecthomas/participle/v2"))
+ (native-inputs
+ (list go-github-com-alecthomas-assert-v2))
+ (home-page "https://github.com/alecthomas/participle")
+ (synopsis "Parser library for Go")
+ (description
+ "This package provides a parser library for Golang which constructs
+parsers from definitions in struct tags and parses directly into those
+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"))))
+ (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.")
+ (license license:expat)))
+
+(define-public go-github-com-armon-go-radix
+ (package
+ (name "go-github-com-armon-go-radix")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/armon/go-radix")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1m1k0jz9gjfrk4m7hjm7p03qmviamfgxwm2ghakqxw3hdds8v503"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/armon/go-radix"))
+ (home-page "https://github.com/armon/go-radix")
+ (synopsis "Go implementation of Radix trees")
+ (description "This package provides a single @code{Tree} implementation,
+optimized for sparse nodes of
+@url{http://en.wikipedia.org/wiki/Radix_tree,radix tree}.")
+ (license license:expat)))
+
+(define-public go-github-com-benbjohnson-clock
+ (package
+ (name "go-github-com-benbjohnson-clock")
+ (version "1.3.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/benbjohnson/clock")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1p7n09pywqra21l981fbkma9vzsyf31pbvw6xg5r4hp8h8scf955"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/benbjohnson/clock"
+ #:go ,go-1.21))
+ (home-page "https://github.com/benbjohnson/clock")
+ (synopsis "Small library for mocking time in Go")
+ (description
+ "@code{clock} is a small library for mocking time in Go. It provides an
+interface around the standard library's @code{time} package so that the application
+can use the realtime clock while tests can use the mock clock.")
+ (license license:expat)))
+
+(define-public go-github-com-beorn7-perks-quantile
+ (package
+ (name "go-github-com-beorn7-perks-quantile")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/beorn7/perks")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/beorn7/perks/quantile"
+ #:unpack-path "github.com/beorn7/perks"))
+ (home-page "https://github.com/beorn7/perks")
+ (synopsis "Compute approximate quantiles over an unbounded data stream")
+ (description
+ "Perks contains the Go package @code{quantile} that computes
+approximate quantiles over an unbounded data stream within low memory and CPU
+bounds.")
+ (license license:expat)))
+
+(define-public go-github-com-bitly-go-hostpool
+ (package
+ (name "go-github-com-bitly-go-hostpool")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bitly/go-hostpool")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1iibj7dwymczw7cknrh6glc6sdpp4yap2plnyr8qphynwrzlz73w"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/bitly/go-hostpool"))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/bitly/go-hostpool")
+ (synopsis "Pool among multiple hosts from Golang")
+ (description
+ "This package provides a Go package to intelligently and flexibly pool among
+multiple hosts from your Go application. Host selection can operate in round
+robin or epsilon greedy mode, and unresponsive hosts are avoided.")
+ (license license:expat)))
+
+(define-public go-github-com-bitly-timer-metrics
+ (package
+ (name "go-github-com-bitly-timer-metrics")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bitly/timer_metrics")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02fhx8hx8126m2cgxw9fm8q2401r7zfann8b5zy5yyark1sgkrb4"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/bitly/timer_metrics"))
+ (home-page "https://github.com/bitly/timer_metrics")
+ (synopsis "Capture timings and enable periodic metrics every @var{n} events")
+ (description "This package provides an efficient way to capture timing
+information and periodically output metrics")
+ (license license:expat)))
+
+(define-public go-github-com-blang-semver
+ (package
+ (name "go-github-com-blang-semver")
+ (version "3.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/blang/semver")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16s66zbfkn35msmxpkiwf5dv91kzw7yzxzkcv8ma44j7lbgzx5qk"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/blang/semver"))
+ (home-page "https://github.com/blang/semver")
+ (synopsis "Semantic versioning library written in Go")
+ (description
+ "Semver is a library for Semantic versioning written in Go.")
+ (license license:expat)))
+
+(define-public go-github-com-blang-semver-v4
+ (package
+ (inherit go-github-com-blang-semver)
+ (name "go-github-com-blang-semver-v4")
+ (version "4.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/blang/semver")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14h9ys4n4kx9cbj42lkdf4i5k3nkll6sd62jcvl7cs565v6fiknz"))))
+ (arguments
+ (list
+ #:import-path "github.com/blang/semver/v4"
+ #:unpack-path "github.com/blang/semver"
+ #: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")))))))))
+
+(define-public go-github-com-bmizerany-perks-quantile
+ (package
+ (name "go-github-com-bmizerany-perks-quantile")
+ (version "0.0.0-20230307044200-03f9df79da1e")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bmizerany/perks")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1f2a99v3618bz2mf61iwhdjm3xi1gam6v4apqgcrz71gj7ba9943"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:unpack-path "github.com/bmizerany/perks"
+ #:import-path "github.com/bmizerany/perks/quantile"))
+ (home-page "https://github.com/bmizerany/perks")
+ (synopsis "Library for computing quantiles")
+ (description
+ "Perks contains the Go package @code{quantile} that computes approximate
+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")
+ (version "1.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/BurntSushi/toml")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1v9czq4hsyvdz7yx70y6sgq77wmrgfmn09r9cj4w85z38jqnamv7"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/BurntSushi/toml"))
+ (home-page "https://github.com/BurntSushi/toml")
+ (synopsis "Toml parser and encoder for Go")
+ (description
+ "This package is toml parser and encoder for Go. The interface is
+similar to Go's standard library @code{json} and @code{xml} package.")
+ (license license:expat)))
+
+(define-public go-github-com-cheggaaa-pb-v3
+ (package
+ (name "go-github-com-cheggaaa-pb-v3")
+ (version "3.0.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cheggaaa/pb/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0d701s2niy39r650d1phjw19h4l27b1yfc2ih6s31f56b3zzqspx"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/cheggaaa/pb/v3"
+ #:unpack-path "github.com/cheggaaa/pb"))
+ (propagated-inputs
+ (list go-github-com-fatih-color
+ go-github-com-mattn-go-colorable
+ go-github-com-mattn-go-isatty
+ go-github-com-mattn-go-runewidth
+ go-github-com-vividcortex-ewma))
+ (home-page "https://github.com/cheggaaa/pb/")
+ (synopsis "Console progress bar for Go")
+ (description
+ "This package is a Go library that draws progress bars on the terminal.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-coocood-freecache
+ (package
+ (name "go-github-com-coocood-freecache")
+ (version "1.2.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coocood/freecache")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0iw0s07qy8g1lncwl524c524wh56djl0vn6i3bm91cnwzav7ihjl"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/coocood/freecache"))
+ (propagated-inputs (list go-github-com-cespare-xxhash))
+ (home-page "https://github.com/coocood/freecache")
+ (synopsis "Caching library for Go")
+ (description
+ "This library provides caching capabilities for Go with no garbage
+collection overhead and high concurrent performance. An unlimited number of
+objects can be cached in memory without increased latency or degraded
+throughput.")
+ (license license:expat)))
+
+(define-public go-github-com-coreos-go-systemd-activation
+ (package
+ (name "go-github-com-coreos-go-systemd-activation")
+ (version "0.0.0-20191104093116-d3cd4ed1dbcf")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coreos/go-systemd")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "193mgqn7n4gbb8jb5kyn6ml4lbvh4xs55qpjnisaz7j945ik3kd8"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/coreos/go-systemd/activation"
+ #:unpack-path "github.com/coreos/go-systemd"))
+ (home-page "https://github.com/coreos/go-systemd")
+ (synopsis "Go bindings to systemd socket activation")
+ (description "Go bindings to systemd socket activation; for writing and
+using socket activation from Go.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-coreos-go-systemd-daemon
+ (package
+ (inherit go-github-com-coreos-go-systemd-activation)
+ (name "go-github-com-coreos-go-systemd-daemon")
+ (arguments
+ '(#:import-path "github.com/coreos/go-systemd/daemon"
+ #:unpack-path "github.com/coreos/go-systemd"))
+ (home-page "https://github.com/coreos/go-systemd")
+ (synopsis "Go bindings to systemd for notifications")
+ (description "Go bindings to systemd for notifying the daemon of service
+status changes")))
+
+(define-public go-github-com-coreos-go-systemd-dbus
+ (package
+ (inherit go-github-com-coreos-go-systemd-activation)
+ (name "go-github-com-coreos-go-systemd-dbus")
+ (arguments
+ '(#:tests? #f ;Tests require D-Bus daemon running.
+ #:import-path "github.com/coreos/go-systemd/dbus"
+ #:unpack-path "github.com/coreos/go-systemd"))
+ (native-inputs (list go-github-com-godbus-dbus))
+ (home-page "https://github.com/coreos/go-systemd")
+ (synopsis "Go bindings to systemd for managing services")
+ (description "Go bindings to systemd for starting/stopping/inspecting
+running services and units.")))
+
+(define-public go-github-com-coreos-go-systemd-journal
+ (package
+ (inherit go-github-com-coreos-go-systemd-activation)
+ (name "go-github-com-coreos-go-systemd-journal")
+ (arguments
+ '(#:tests? #f ;Tests require access to journald socket.
+ #:import-path "github.com/coreos/go-systemd/journal"
+ #:unpack-path "github.com/coreos/go-systemd"))
+ (home-page "https://github.com/coreos/go-systemd")
+ (synopsis "Go bindings to systemd for writing journald")
+ (description "Go bindings to systemd for writing to systemd's logging
+service, journald.")))
+
+(define-public go-github-com-coreos-go-systemd-login1
+ (package
+ (inherit go-github-com-coreos-go-systemd-activation)
+ (name "go-github-com-coreos-go-systemd-login1")
+ (arguments
+ '(#:tests? #f ;Tests require D-Bus daemon running.
+ #:import-path "github.com/coreos/go-systemd/login1"
+ #:unpack-path "github.com/coreos/go-systemd"))
+ (native-inputs (list go-github-com-godbus-dbus))
+ (home-page "https://github.com/coreos/go-systemd")
+ (synopsis "Go bindings to systemd for integration with logind API")
+ (description "Go bindings to systemd for integration with the systemd
+logind API.")))
+
+(define-public go-github-com-coreos-go-systemd-machine1
+ (package
+ (inherit go-github-com-coreos-go-systemd-activation)
+ (name "go-github-com-coreos-go-systemd-machine1")
+ (arguments
+ '(#:tests? #f ;Tests require D-Bus daemon running.
+ #:import-path "github.com/coreos/go-systemd/machine1"
+ #:unpack-path "github.com/coreos/go-systemd"))
+ (native-inputs (list go-github-com-godbus-dbus))
+ (home-page "https://github.com/coreos/go-systemd")
+ (synopsis "Go bindings to systemd for registering machines/containers")
+ (description "Go bindings to systemd for registering
+machines/containers.")))
+
+(define-public go-github-com-coreos-go-systemd-sdjournal
+ (package
+ (inherit go-github-com-coreos-go-systemd-activation)
+ (name "go-github-com-coreos-go-systemd-sdjournal")
+ (arguments
+ '(#:tests? #f ;Tests require D-Bus daemon running.
+ #:import-path "github.com/coreos/go-systemd/sdjournal"
+ #:unpack-path "github.com/coreos/go-systemd"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-sdjournal-header
+ (lambda* (#:key import-path #:allow-other-keys)
+ (substitute* (format #f
+ "src/~a/journal.go"
+ import-path)
+ (("systemd/sd-journal.h")
+ "elogind/sd-journal.h")
+ (("systemd/sd-id128.h")
+ "elogind/sd-id128.h")))))))
+ (inputs (list elogind))
+ (synopsis "Go bindings to systemd for journald")
+ (description "Go bindings to systemd for reading from journald by wrapping
+its C API.")))
+
+(define-public go-github-com-coreos-go-systemd-unit
+ (package
+ (inherit go-github-com-coreos-go-systemd-activation)
+ (name "go-github-com-coreos-go-systemd-unit")
+ (arguments
+ '(#:tests? #f ;Tests require D-Bus daemon running.
+ #:import-path "github.com/coreos/go-systemd/unit"
+ #:unpack-path "github.com/coreos/go-systemd"))
+ (native-inputs (list go-github-com-godbus-dbus))
+ (home-page "https://github.com/coreos/go-systemd")
+ (synopsis "Go bindings to systemd for working with unit files")
+ (description "Go bindings to systemd for (de)serialization and comparison
+of unit files.")))
+
+(define-public go-github-com-cskr-pubsub
+ (package
+ (name "go-github-com-cskr-pubsub")
+ (version "2.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cskr/pubsub")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "18kqfdzkfs7z8266a5q5wldwkcvnhc7yw09b9vr8r0s7svy8d5s6"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #t ; Tests require network interface access
+ #:go go-1.18
+ #:import-path "github.com/cskr/pubsub"))
+ (home-page "https://github.com/cskr/pubsub")
+ (synopsis "Simple pubsub package for go")
+ (description
+ "Package @code{pubsub} implements a simple multi-topic pub-sub library.")
+ (license license:bsd-2)))
+
+(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"))))
+ (build-system go-build-system)
+ (propagated-inputs
+ (list go-github-com-rcrowley-go-metrics))
+ (arguments
+ '(#:tests? #f ; Tests require network interface access
+ #: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
+@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")
+ (version "1.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dave/jennifer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01sgafbds8n5zs61qf057whn06yj6avz30xgxk6pllf22528558m"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.20
+ #:import-path "github.com/dave/jennifer"))
+ (home-page "https://github.com/dave/jennifer")
+ (synopsis "Code generator for Go")
+ (description "This package provides functionality to generate Go code.")
+ (license license:expat)))
+
+(define-public go-github-com-dimchansky-utfbom
+ (package
+ (name "go-github-com-dimchansky-utfbom")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dimchansky/utfbom")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ll3wqvifmdanfyg6wsvz31c7n4mnczg2yxb65j35qxrnak89hn3"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/dimchansky/utfbom"))
+ (home-page "https://github.com/dimchansky/utfbom")
+ (synopsis "Go Unicode byte order mark detection library")
+ (description
+ "This package provides a library for @acronym{BOM, Unicode Byte Order
+Mark} detection.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-djherbis-atime
+ (package
+ (name "go-github-com-djherbis-atime")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/djherbis/atime")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xsz55zpihd9wyrj6qvm3miqzb6x3mnp5apzs0dx1byndhb8adpq"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/djherbis/atime"))
+ (home-page "https://github.com/djherbis/atime")
+ (synopsis "Access Times for files")
+ (description "Package atime provides a platform-independent way to get
+atimes for files.")
+ (license license:expat)))
+
+(define-public go-github-com-dustin-gojson
+ (package
+ (name "go-github-com-dustin-gojson")
+ (version "v0.0.0-20160307161227-2e71ec9dd5ad")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dustin/gojson")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vrmmyn7l568l1k71mxd54iqf3d54pn86cf278i374j86jn0bdxf"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Fix the library to work with go-1.21.
+ (substitute* "decode.go"
+ (("trying to unmarshal unquoted value into")
+ "trying to unmarshal unquoted value %v into"))
+ (substitute* "decode_test.go"
+ (("t.Fatalf\\(\"Unmarshal: %v\"\\)")
+ "t.Fatalf(\"Unmarshal: %v\", data)")) ;))))
+ (substitute* "scanner.go"
+ (("s := strconv.Quote\\(string\\(c\\)\\)")
+ "s := strconv.QuoteRune(rune(c))"))))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/dustin/gojson"
+ #:go ,go-1.21))
+ (home-page "https://github.com/dustin/gojson")
+ (synopsis "Extended Golang's @code{encoding/json} module with the public scanner API")
+ (description
+ "This package provides a fork of Golang's @code{encoding/json} with the
+scanner API made public.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-elliotchance-orderedmap
+ (package
+ (name "go-github-com-elliotchance-orderedmap")
+ (version "1.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/elliotchance/orderedmap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06gq5hsgfmzfr46wds366ghyn16qkygyz83vrsgargf4l7db9zg7"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/elliotchance/orderedmap"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/elliotchance/orderedmap")
+ (synopsis "Go ordered map library")
+ (description
+ "This package provides a ordered map library that maintains amortized O(1)
+for @code{Set}, @code{Get}, @code{Delete} and @code{Len}.")
+ (license license:expat)))
+
+(define-public go-github-com-gabriel-vasile-mimetype
+ (package
+ (name "go-github-com-gabriel-vasile-mimetype")
+ (version "1.4.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gabriel-vasile/mimetype")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11swnjczhrza0xi8q2wlk056nnbcghm44vqs52zfv6rwqvy6imhj"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.20
+ #:import-path "github.com/gabriel-vasile/mimetype"
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'check 'add-supported-mimes-md
+ (lambda* (#:key import-path #:allow-other-keys)
+ ;; This file needs to be available for writing during the
+ ;; tests otherwise they will fail.
+ (let ((file (format #f "src/~a/supported_mimes.md"
+ import-path)))
+ (invoke "touch" file)
+ (chmod file #o644)))))))
+ (propagated-inputs (list go-golang-org-x-net))
+ (home-page "https://github.com/gabriel-vasile/mimetype")
+ (synopsis "Golang library for media type and file extension detection")
+ (description
+ "This package provides a Golang module that uses magic number signatures
+to detect the MIME type of a file.
+
+Main features:
+@itemize
+@item Fast and precise MIME type and file extension detection.
+@item Supports
+@url{https://github.com/gabriel-vasile/mimetype/blob/master/supported_mimes.md,
+many MIME types}.
+@item Allows to
+@url{https://pkg.go.dev/github.com/gabriel-vasile/mimetype#example-package-Extend,
+extend} with other file formats.
+@item Common file formats are prioritized.
+@item
+@url{https://pkg.go.dev/github.com/gabriel-vasile/mimetype#example-package-TextVsBinary,
+Differentiation between text and binary files}.
+@item Safe for concurrent usage.
+@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
+ (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-hashicorp-go-hclog
+ (package
+ (name "go-github-com-hashicorp-go-hclog")
+ (version "1.6.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-hclog")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lvr4ga95a0xb62vgq1hy558x3r65hn2d0h7bf0a88lsfsrcik0n"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-hclog"))
+ (propagated-inputs
+ (list go-github-com-fatih-color
+ go-github-com-mattn-go-isatty
+ go-golang-org-x-tools))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/hashicorp/go-hclog")
+ (synopsis "Key/value logging interface for Go")
+ (description
+ "This package provides a simple key/value logging interface for Golang
+for use in development and production environments. Unlike the standard
+library @code{log} package, this package provides logging levels that provide
+decreased output based upon the desired amount of output. It also comes with
+a command-line program @code{hclogvet} that can be used to check that the logging level
+methods on @code{hclog.Logger} are used correctly.")
+ (license license:expat)))
+
+(define-public go-github-com-hashicorp-go-multierror
+ (package
+ (name "go-github-com-hashicorp-go-multierror")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-multierror")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0l4s41skdpifndn9s8y6s9vzgghdzg4z8z0lld9qjr28888wzp00"))))
+ (build-system go-build-system)
+ (inputs (list go-github-com-hashicorp-errwrap))
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-multierror"))
+ (home-page "https://github.com/hashicorp/go-multierror")
+ (synopsis "Representing a errors list as a single error for Golang")
+ (description
+ "@code{go-multierror} is Golang module providing a mechanism for
+representing a list of @code{error} values as a single @code{error}. It is
+fully compatible with the standard @code{errors} package, including
+the functions @code{As}, @code{Is}, and @code{Unwrap}. This provides a
+standardized approach for introspecting on error values.")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hashicorp-go-syslog
+ (package
+ (name "go-github-com-hashicorp-go-syslog")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-syslog")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-syslog"))
+ (home-page "https://github.com/hashicorp/go-syslog")
+ (synopsis "Golang syslog wrapper, cross-compile friendly")
+ (description
+ "This package is a very simple wrapper around log/syslog")
+ (license license:expat)))
+
+(define-public go-github-com-hashicorp-go-uuid
+ (package
+ (name "go-github-com-hashicorp-go-uuid")
+ (version "1.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-uuid")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wd4maaq20alxwcvfhr52rzfnwwpmc2a698ihyr0vfns2sl7gkzk"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-uuid"))
+ (home-page "https://github.com/hashicorp/go-uuid")
+ (synopsis "Generate UUID-format strings")
+ (description
+ "This package generates UUID-format strings using high quality bytes.
+It is not intended to be RFC compliant, merely to use a well-understood string
+representation of a 128-bit value. It can also parse UUID-format strings into
+their component bytes.")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hashicorp-go-version
+ (package
+ (name "go-github-com-hashicorp-go-version")
+ (version "1.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-version")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fw6hwvjadpbfj10yk7f64ypw8lmv5s5ny3s4ria0nv6xam1wpai"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/hashicorp/go-version"))
+ (home-page "https://github.com/hashicorp/go-version")
+ (synopsis "Go library for parsing and verifying versions and version
+constraints")
+ (description
+ "This package is a library for parsing versions and version
+constraints, and verifying versions against a set of constraints. It can sort
+a collection of versions properly, handles prerelease/beta versions, can
+increment versions.")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hhrutter-tiff
+ (package
+ (name "go-github-com-hhrutter-tiff")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hhrutter/tiff")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09fzgvxwkd34izbfd26ln8vdbhc4j9gxpar3s7h9h125psrjvg0k"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hhrutter/tiff"))
+ (propagated-inputs (list go-golang-org-x-image go-github-com-hhrutter-lzw))
+ (home-page "https://github.com/hhrutter/tiff")
+ (synopsis "Extended version of @code{golang.org/x/image/tiff}")
+ (description "This package is an enhanced version of the
+@code{golang.org/x/image/tiff} library featuring:
+
+@itemize
+@item Read support for CCITT Group3/4 compressed images.
+@item Read/write support for LZW compressed images.
+@item Read/write support for the CMYK color model.
+@end itemize")
+ (license license:bsd-3)))
+
+(define-public go-github-com-jbenet-go-random
+ (package
+ (name "go-github-com-jbenet-go-random")
+ (version "0.0.0-20190219211222-123a90aedc0c")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jbenet/go-random")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0kgx19m8p76rmin8s8y6j1padciv1dx37qzy7jkh9bw49ai3haw3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jbenet/go-random"))
+ (propagated-inputs
+ (list go-github-com-dustin-go-humanize))
+ (home-page "https://github.com/jbenet/go-random")
+ (synopsis "Go library and a program that outputs randomness")
+ (description
+ "This is a Unix utility that outputs randomness. It is a thin
+wrapper around @code{crypto/rand}.")
+ (license license:expat)))
+
+(define-public go-github-com-jbenet-go-temp-err-catcher
+ (package
+ (name "go-github-com-jbenet-go-temp-err-catcher")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jbenet/go-temp-err-catcher")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n482jhh6jwq43jj21xkq8grqzx78hjh7f44p0q3n01zp1dsh97r"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jbenet/go-temp-err-catcher"))
+ (home-page "https://github.com/jbenet/go-temp-err-catcher")
+ (synopsis "Error handling helper library")
+ (description "Package @code{temperrcatcher} provides a @code{TempErrCatcher}
+object, which implements simple error-retrying functionality.")
+ (license license:expat)))
+
+(define-public go-github-com-jbenet-goprocess
+ (package
+ (name "go-github-com-jbenet-goprocess")
+ (version "0.1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jbenet/goprocess")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1z4a5skx9kh2c727pc6zz0vhf9v8acd320s7z0f1kwy3y1nbdhjk"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/jbenet/goprocess"))
+ (native-inputs
+ (list go-github-com-jbenet-go-cienv))
+ (home-page "https://github.com/jbenet/goprocess")
+ (synopsis "Manage process life cycles in Go")
+ (description
+ "@code{goprocess} introduces a way to manage process lifecycles in
+Go. It is much like @code{go.net/context} (it actually uses a Context), but it is
+more like a Context-WaitGroup hybrid. @code{goprocess} is about being able to start
+and stop units of work, which may receive @code{Close} signals from many clients.")
+ (license license:expat)))
+
+(define-public go-github-com-jinzhu-copier
+ (package
+ (name "go-github-com-jinzhu-copier")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jinzhu/copier")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0kf29cmmbic72kfrfd1xnass7l9j85impf8mqn5f3fd3ibi9bs74"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/jinzhu/copier"))
+ (home-page "https://github.com/jinzhu/copier")
+ (synopsis "Go copier library")
+ (description
+ "This package provides a library, which supports copying value from one
+struct to another.")
+ (license license:expat)))
+
+(define-public go-github-com-josharian-intern
+ (package
+ (name "go-github-com-josharian-intern")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/josharian/intern")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1za48ppvwd5vg8vv25ldmwz1biwpb3p6qhf8vazhsfdg9m07951c"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/josharian/intern"))
+ (home-page "https://github.com/josharian/intern")
+ (synopsis "String interning for Go")
+ (description
+ "This library defines functions to perform string interning in Go,
+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-k0kubun-pp
+ (package
+ (name "go-github-com-k0kubun-pp")
+ (version "3.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/k0kubun/pp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vpp5n3kdazk4s1ljhwbrhz3kilzvdvx5hya922bg0q9vnjqqvvc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/k0kubun/pp"))
+ (propagated-inputs (list go-github-com-mattn-go-colorable
+ go-golang-org-x-text))
+ (home-page "https://github.com/k0kubun/pp")
+ (synopsis "Colored pretty-printer for Go")
+ (description
+ "This package provides a pretty-printer for Go. The functions defined by
+@code{pp} follow an API similar to @code{fmt} and its configuration can be
+customized globally.")
+ (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-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")
+ (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")
+ (version "1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/matryer/try")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "15f0m5ywihivnvwzcw0mh0sg27aky9rkywvxqszxka9q051qvsmy"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/matryer/try"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (substitute* (string-append "src/" import-path
+ "/try_test.go")
+ (("var value string")
+ "")
+ (("value, err = SomeFunction\\(\\)")
+ "_, err = SomeFunction()")))))))
+ (native-inputs
+ (list go-github-com-cheekybits-is))
+ (home-page "https://github.com/matryer/try")
+ (synopsis "Simple idiomatic retry package for Go")
+ (description "This package provides an idiomatic Go retry module.")
+ (license license:expat)))
+
+(define-public go-github-com-mattn-go-shellwords
+ (package
+ (name "go-github-com-mattn-go-shellwords")
+ (version "1.0.12")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mattn/go-shellwords")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0l0l5s4hlsrm4z6hygig2pp1qirk5ycrzn9z27ay3yvg9k7zafzx"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/mattn/go-shellwords"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-sh-path
+ (lambda* (#:key import-path #:allow-other-keys)
+ (substitute* (string-append
+ "src/" import-path "/util_posix.go")
+ (("/bin/sh") (which "sh"))))))))
+ (home-page "https://github.com/mattn/go-shellwords")
+ (synopsis "Parse lines into shell words")
+ (description "This package parses text into shell arguments. Based on
+the @code{cpan} module @code{Parse::CommandLine}.")
+ (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"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/miekg/dns"))
+ (propagated-inputs
+ (list go-golang-org-x-tools
+ go-golang-org-x-sys
+ go-golang-org-x-sync
+ go-golang-org-x-net))
+ (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,
+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-mreiferson-go-options
+ (package
+ (name "go-github-com-mreiferson-go-options")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mreiferson/go-options")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pxs9ybrh196qy14ijn4zn51h2z28lj31y6vxrz2xxhgvpmfmxyl"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/mreiferson/go-options"))
+ (home-page "https://github.com/mreiferson/go-options")
+ (synopsis "Go package to structure and resolve options")
+ (description
+ "The @code{options} Go package resolves configuration values set via
+command line flags, config files, and default struct values.")
+ (license license:expat)))
+
+(define-public go-github-com-mreiferson-go-svc
+ ;; NSQ specific fork of github.com/judwhite/go-svc, as Guix go build system
+ ;; does not support go.mod with `replace' statement.
+ (let ((commit "7a96e00010f68d9436e3de53a70c53f209a0c244")
+ (revision "0"))
+ (package
+ (name "go-github-com-mreiferson-go-svc")
+ (version (git-version "1.2.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mreiferson/go-svc")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1acgb0n3svhnraqj1fz5qc5n3b4vc5ffwyk9vfi6gcfkibm0hgmd"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/judwhite/go-svc"))
+ (propagated-inputs (list go-golang-org-x-sys))
+ (home-page "https://github.com/mreiferson/go-svc")
+ (synopsis "Go Windows Service wrapper for GNU/Linux")
+ (description
+ "Go Windows Service wrapper compatible with GNU/Linux. Windows tests
+@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-varint
+ (package
+ (name "go-github-com-multiformats-go-varint")
+ (version "0.0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/multiformats/go-varint")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0l4s0z3rc3d350zp6qximl1jjhic6l8w74wkmx244jgfzsxd93af"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #: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
+varints.")
+ (license license:expat)))
+
+(define-public go-github-com-nats-io-nats-go
+ (package
+ (name "go-github-com-nats-io-nats-go")
+ (version "1.32.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nats-io/nats.go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "08b3n5mdpxvn9hipz0j001bp5r67i43cqji9x9dyzikypqdfg38k"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.20
+ #:import-path "github.com/nats-io/nats.go"))
+ (propagated-inputs (list go-golang-org-x-text
+ go-github-com-nats-io-nuid
+ go-github-com-nats-io-nkeys
+ go-github-com-klauspost-compress))
+ (home-page "https://github.com/nats-io/nats.go")
+ (synopsis "Go Client for NATS server")
+ (description
+ "This package provides a Go client for the NATS messaging system.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-nats-io-nuid
+ (package
+ (name "go-github-com-nats-io-nuid")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nats-io/nuid")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11zbhg4kds5idsya04bwz4plj0mmiigypzppzih731ppbk2ms1zg"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/nats-io/nuid"))
+ (home-page "https://github.com/nats-io/nuid")
+ (synopsis "Go library implementing identifier generator for NATS ecosystem")
+ (description
+ "This package provides a unique identifier generator that is high performance,
+very fast, and tries to be entropy pool friendly.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-nbrownus-go-metrics-prometheus
+ (package
+ (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"))))
+ (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-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.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-nsqio-go-diskqueue
+ (package
+ (name "go-github-com-nsqio-go-diskqueue")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nsqio/go-diskqueue")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hp66hkmfn0nyf3c53a40f94ah11a9rj01r5zp3jph9p54j8rany"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/nsqio/go-diskqueue"))
+ (home-page "https://github.com/nsqio/go-diskqueue")
+ (synopsis "Go package providing a file system backed FIFO queue")
+ (description
+ "The @code{diskqueue} Go package provides a file system backed FIFO
+queue.")
+ (license license:expat)))
+
+(define-public go-github-com-nsqio-go-nsq
+ (package
+ (name "go-github-com-nsqio-go-nsq")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nsqio/go-nsq")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1h9z3z225sdgg7fl3l7x11xn5ch6lm5flgmcj046cdp453qj2qhf"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:tests? #f ;tests require networking
+ #:import-path "github.com/nsqio/go-nsq"))
+ (propagated-inputs (list go-github-com-golang-snappy))
+ (home-page "https://github.com/nsqio/go-nsq")
+ (synopsis "Consumer/producer library for NSQ")
+ (description
+ "The @code{nsq} Go module provides a high-level @code{Consumer} and
+@code{Producer} types as well as low-level functions to communicate over the
+NSQ protocol @url{https://nsq.io/}.")
+ (license license:expat)))
+
+(define-public go-github-com-op-go-logging
+ (package
+ (name "go-github-com-op-go-logging")
+ (version "1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/op/go-logging")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01a6lkpj5p82gplddh55az194s9y3014p4j8x4zc8yv886z9c8gn"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:tests? #f ; ERROR: incorrect callpath: String.rec...a.b.c.Info.
+ #:import-path "github.com/op/go-logging"))
+ (home-page "https://github.com/op/go-logging")
+ (synopsis "Go logging library")
+ (description
+ "Go-Logging implements a logging infrastructure for Go. Its
+output format is customizable and supports different logging backends like
+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-orisano-pixelmatch
+ (package
+ (name "go-github-com-orisano-pixelmatch")
+ (version "0.0.0-20230914042517-fa304d1dc785")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/orisano/pixelmatch")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lplxfif5mfqnd0jjph2vd25c3bpr3idfs2axh8z0ib0zdkwca32"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/orisano/pixelmatch"))
+ (home-page "https://github.com/orisano/pixelmatch")
+ (synopsis "Pixelmatch port to Go")
+ (description
+ "This package provides a port of Pixelmatch, a pixel-level image
+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-prometheus-client-model
+ (let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
+ (revision "2"))
+ (package
+ (name "go-github-com-prometheus-client-model")
+ (version (git-version "0.0.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/prometheus/client_model")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/prometheus/client_model"
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Source-only package
+ (delete 'build))))
+ (propagated-inputs
+ (list go-github-com-golang-protobuf-proto))
+ (synopsis "Data model artifacts for Prometheus")
+ (description "This package provides data model artifacts for Prometheus.")
+ (home-page "https://github.com/prometheus/client_model")
+ (license license:asl2.0))))
+
+(define-public go-github-com-rcrowley-go-metrics
+ (let ((commit "cac0b30c2563378d434b5af411844adff8e32960")
+ (revision "2"))
+ (package
+ (name "go-github-com-rcrowley-go-metrics")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rcrowley/go-metrics")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hfxffnpaw49pr3wrkbzq3pnv3nyzsvk5dxndv0yz70xlrbg8a04"))))
+ (build-system go-build-system)
+ (arguments
+ ;; Arbitrary precision tests are known to be broken on aarch64, ppc64le
+ ;; and s390x. See: https://github.com/rcrowley/go-metrics/issues/249
+ `(#:tests? ,(not (string-prefix? "aarch64" (or (%current-target-system)
+ (%current-system))))
+ #:import-path "github.com/rcrowley/go-metrics"))
+ (propagated-inputs
+ (list go-github-com-stathat-go))
+ (synopsis "Go port of Coda Hale's Metrics library")
+ (description "This package provides a Go implementation of Coda Hale's
+Metrics library.")
+ (home-page "https://github.com/rcrowley/go-metrics")
+ (license license:bsd-2))))
+
+(define-public go-github-com-shirou-gopsutil
+ (package
+ (name "go-github-com-shirou-gopsutil")
+ (version "2.21.11")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shirou/gopsutil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gpb10xkdwfimn1sp4jhrvzz4p3zgmdb78q8v23nap3yi6v4bff5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/shirou/gopsutil"
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-v3
+ (lambda* (#:key import-path #:allow-other-keys)
+ ;; We remove the separately included v3 module.
+ (delete-file-recursively (string-append "src/"
+ import-path
+ "/v3"))))
+ (add-before 'check 'remove-failing-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ ;; host_test.go tries to access files such as
+ ;; /var/run/utmp that do not exist in the build
+ ;; environment.
+ (string-append "src/" import-path "/host/host_test.go")))))))
+ (propagated-inputs
+ (list go-github-com-tklauser-go-sysconf go-golang-org-x-sys))
+ (native-inputs
+ (list go-github-com-stretchr-testify procps))
+ (synopsis "Process and system monitoring in Go")
+ (description
+ "This package provides a library for retrieving information
+on running processes and system utilization (CPU, memory, disks, network,
+sensors).")
+ (home-page "https://github.com/shirou/gopsutil")
+ (license license:bsd-3)))
+
+(define-public go-github-com-shirou-gopsutil-v3
+ (package
+ (inherit go-github-com-shirou-gopsutil)
+ (name "go-github-com-shirou-gopsutil-v3")
+ (version "3.24.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shirou/gopsutil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xlfcx6giqaxdah2m02q2i8ynwlzar953wr8wqx1j3004xdgaivd"))))
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/shirou/gopsutil"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'remove-failing-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ ;; host_test.go tries to access files such as
+ ;; /var/run/utmp that do not exist in the build
+ ;; environment.
+ (string-append "src/" import-path "/host/host_test.go")))))))))
+
+(define-public go-github-com-skip2-go-qrcode
+ (package
+ (name "go-github-com-skip2-go-qrcode")
+ (version "0.0.0-20200617195104-da1b6568686e")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/skip2/go-qrcode")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0pghd6y2x8a5fqy4rjn4d8j5jcslb236naycdza5an7vyvinsgs9"))
+ (patches (search-patches "go-github-com-skip2-go-qrcode-fix-tests.patch"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/skip2/go-qrcode"))
+ (home-page "https://github.com/skip2/go-qrcode")
+ (synopsis "QR code encoder")
+ (description "This package provides a QR code encoder for the Goloang.")
+ (license license:expat)))
+
+(define-public go-github-com-songgao-water
+ (package
+ (name "go-github-com-songgao-water")
+ (version "0.0.0-20200317203138-2b4b6d7c09d8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/songgao/water")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1k5aildfszp6x66jzar4y36lic8ijkb5020hfaivpvq3bnwdiikl"))))
+ (build-system go-build-system)
+ (arguments '(#:tests? #f ; Tests require network interface access
+ #:import-path "github.com/songgao/water"))
+ (home-page "https://github.com/songgao/water")
+ (synopsis "Simple network TUN/TAP library")
+ (description
+ "This package provides a simple TUN/TAP interface library for Go that
+efficiently works with standard packages like @code{io}, @code{bufio}, etc..
+Use waterutil with it to work with TUN/TAP packets/frames.")
+ (license license:bsd-3)))
+
+(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")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1y01h496a7pfj1g2bclls5b0nl3vnj7nz610jj1dzq9kxrwxk7fk"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; Package's tests appear to be hardcoded to the author's gitconfig
+ ;; and require network access.
+ #:tests? #f
+ #:go go-1.21
+ #:import-path "github.com/Songmu/gitconfig"))
+ (propagated-inputs
+ (list go-github-com-goccy-yaml))
+ (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-stathat-go
+ (let ((commit "74669b9f388d9d788c97399a0824adbfee78400e")
+ (revision "0"))
+ (package
+ (name "go-github-com-stathat-go")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stathat/go")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/stathat/go"))
+ (synopsis "Post statistics to StatHat")
+ (description "This is a Go package for posting to a StatHat account.")
+ (home-page "https://github.com/stathat/go")
+ (license license:expat))))
+
+(define-public go-github-com-tklauser-go-sysconf
+ (package
+ (name "go-github-com-tklauser-go-sysconf")
+ (version "0.3.13")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tklauser/go-sysconf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07vkimncnmh89706s49599h2w9gwa6jyrv70f8ifw90nsh766km9"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/tklauser/go-sysconf"
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'check 'remove-failing-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ ;; sysconf_test.go (among others) tries to read the
+ ;; number of online CPUs using /proc/stat and
+ ;; /sys/devices/system/cpu/online. These files are not
+ ;; accessible in the test environment.
+ (string-append "src/" import-path
+ "/cgotest/sysconf_test.go")))))))
+ (propagated-inputs (list go-golang-org-x-sys
+ go-github-com-tklauser-numcpus))
+ (home-page "https://github.com/tklauser/go-sysconf")
+ (synopsis "Go implementation of @code{sysconf}")
+ (description
+ "This package implements @code{sysconf} and provides the associated
+@code{SC_*} constants to query system configuration values at run time.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-tklauser-numcpus
+ (package
+ (name "go-github-com-tklauser-numcpus")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tklauser/numcpus")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xcwk42zr6q72zvkqdd9nbyhvq11rmwm2164mr2rvbb9z7alkff8"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/tklauser/numcpus"
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'check 'remove-failing-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/"
+ import-path)
+ (for-each delete-file-recursively
+ ;; These tests try to access
+ ;; /sys/devices/system/cpu, which is not
+ ;; available in the test environment.
+ '("numcpus_test.go" "numcpus_linux_test.go"))))))))
+ (propagated-inputs (list go-golang-org-x-sys))
+ (home-page "https://github.com/tklauser/numcpus")
+ (synopsis "Provides information about the number of CPUs in the system")
+ (description
+ "This package provides both library functions and a command-line tool to
+query information regarding the number of CPUs available to the system.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-vividcortex-ewma
+ (package
+ (name "go-github-com-vividcortex-ewma")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/VividCortex/ewma")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0whx516l9nm4n41spagb605ry7kfnz1qha96mcshnfjlahhnnylq"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/VividCortex/ewma"))
+ (home-page "https://github.com/VividCortex/ewma")
+ (synopsis "Exponentially Weighted Moving Average algorithms for Go")
+ (description
+ "This package implements algorithms for
+@url{https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average,exponentially
+weighted moving averages}.")
+ (license license:expat)))
+
+(define-public go-github-com-whyrusleeping-go-sysinfo
+ (package
+ (name "go-github-com-whyrusleeping-go-sysinfo")
+ (version "0.0.0-20190219211824-4a357d4b90b1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/whyrusleeping/go-sysinfo")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s6yjp9incc579wbbga33vq0hcanv8j2xh9l90ya0r4fihz39jiq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/whyrusleeping/go-sysinfo"))
+ (propagated-inputs
+ (list go-github-com-dustin-go-humanize))
+ (home-page "https://github.com/whyrusleeping/go-sysinfo")
+ (synopsis "Package to extract system information")
+ ;; There is not much information provided by the project, see
+ ;; <https://github.com/whyrusleeping/go-sysinfo/issues>.
+ (description
+ "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-automaxprocs
+ (package
+ (name "go-go-uber-org-automaxprocs")
+ (version "1.5.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uber-go/automaxprocs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03arxcfaj7k6iwfdk0liaynxf9rjfj9m5glsjp7ws01xjkgrdpbc"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "go.uber.org/automaxprocs"))
+ (native-inputs (list go-github-com-stretchr-testify
+ go-github-com-prashantv-gostub))
+ (home-page "https://github.com/uber-go/automaxprocs")
+ (synopsis "CPU-count detection library for Go")
+ (description
+ "This package automatically set GOMAXPROCS to match Linux container
+CPU quota.")
+ (license license:expat)))
+
+(define-public go-go-uber-org-zap
+ (package
+ (name "go-go-uber-org-zap")
+ (version "1.24.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uber-go/zap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0lzbbs87fvixzbyv4wpl3s70vm2m0jz2jgdvrviiksc2al451qgs"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "go.uber.org/zap"
+ #:tests? #f)) ; TODO: Fix tests
+ (native-inputs
+ (list go-github-com-stretchr-testify
+ go-golang-org-x-lint
+ go-honnef-co-go-tools))
+ (propagated-inputs
+ (list 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")
+ (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)
+ (name "go-gopkg-in-op-go-logging-v1")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments go-github-com-op-go-logging)
+ ((#:import-path _) "gopkg.in/op/go-logging.v1")))))
+
+;;;
+;;; Executables:
+;;;
+
+(define-public go-hclogvet
+ (package
+ (inherit go-github-com-hashicorp-go-hclog)
+ (name "go-hclogvet")
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-hclog/hclogvet"
+ #:unpack-path "github.com/hashicorp/go-hclog"
+ #:install-source? #f))
+ (propagated-inputs
+ (list go-golang-org-x-tools))
+ (description
+ "@code{hclogvet} is a @code{go vet} tool for checking that the
+Trace/Debug/Info/Warn/Error methods on @code{hclog.Logger} are used
+correctly.")))
+
+(define-public go-numcpus
+ (package
+ (inherit go-github-com-tklauser-numcpus)
+ (name "go-numcpus")
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/tklauser/numcpus/cmd/numcpus"
+ #:unpack-path "github.com/tklauser/numcpus"
+ #:install-source? #f))
+ (description
+ "This package provides a CLI build from the
+go-github-com-tklauser-numcpus source.")))
+
+(define-public go-pixelmatch
+ (package
+ (inherit go-github-com-orisano-pixelmatch)
+ (name "go-pixelmatch")
+ (arguments
+ (list
+ #:import-path "github.com/orisano/pixelmatch/cmd/pixelmatch"
+ #:unpack-path "github.com/orisano/pixelmatch"
+ #:install-source? #f))
+ (synopsis "Pixel-level image comparison command")
+ (description
+ "This package provides a CLI build from the
+go-github-com-orisano-pixelmatch source.")))
+
+;;;
+;;; Avoid adding new packages to the end of this file. To reduce the chances
+;;; of a merge conflict, place them above by existing packages with similar
+;;; functionality or similar names.
+;;;