+
+(define-public go-github-com-godbus-dbus
+ (package
+ (name "go-github-com-godbus-dbus")
+ (version "5.0.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/godbus/dbus")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bkc904073k807yxg6mvqaxrr6ammmhginr9p54jfb55mz3hfw3s"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:tests? #f ;no /var/run/dbus/system_bus_socket
+ #:import-path "github.com/godbus/dbus"))
+ (native-inputs
+ `(("dbus" ,dbus))) ;dbus-launch
+ (home-page "https://github.com/godbus/dbus/")
+ (synopsis "Native Go client bindings for the D-Bus")
+ (description "@code{dbus} is a library that implements native Go client
+bindings for the D-Bus message bus system.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-zalando-go-keyring
+ (package
+ (name "go-github-com-zalando-go-keyring")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zalando/go-keyring")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0kj54nkiyccy6m9iy9a53f6412a54xk96j88jaiq35yzdgfa4z3p"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:tests? #f ;XXX: Fix dbus tests
+ #:import-path "github.com/zalando/go-keyring"))
+ (native-inputs
+ `(("go-github-com-godbus-dbus" ,go-github-com-godbus-dbus)
+ ("dbus" ,dbus)))
+ (home-page "https://github.com/zalando/go-keyring/")
+ (synopsis "Library for working with system keyring")
+ (description "@code{go-keyring} is a library for setting, getting and
+deleting secrets from the system keyring.")
+ (license license:expat)))
+
+(define-public go-etcd-io-bbolt
+ (package
+ (name "go-etcd-io-bbolt")
+ (version "1.3.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/etcd-io/bbolt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1h64gipvcg7060byv5wjlf524kqwj12p3v08kfh4ygv46vpm8p2r"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "go.etcd.io/bbolt"))
+ (home-page "https://pkg.go.dev/go.etcd.io/bbolt/")
+ (synopsis "Low-level key/value store in Go")
+ (description "This package implements a low-level key/value store in Go.")
+ (license license:expat)))
+
+(define-public go-github-com-rogpeppe-go-internal
+ (package
+ (name "go-github-com-rogpeppe-go-internal")
+ (version "1.6.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rogpeppe/go-internal")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00j2vpp1bsggdvw1winkz23mg0q6drjiir5q0k49pmqx1sh7106l"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/rogpeppe/go-internal"
+ ; Source-only package
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build))))
+ (home-page "https://github.com/rogpeppe/go-internal/")
+ (synopsis "Internal packages from the Go standard library")
+ (description "This repository factors out an opinionated selection of
+internal packages and functionality from the Go standard library. Currently
+this consists mostly of packages and testing code from within the Go tool
+implementation.
+
+Included are the following:
+@itemize
+@item dirhash: calculate hashes over directory trees the same way that the Go tool does.
+@item goproxytest: a GOPROXY implementation designed for test use.
+@item gotooltest: Use the Go tool inside test scripts (see testscript below)
+@item imports: list of known architectures and OSs, and support for reading import import statements.
+@item modfile: read and write go.mod files while preserving formatting and comments.
+@item module: module paths and versions.
+@item par: do work in parallel.
+@item semver: semantic version parsing.
+@item testenv: information on the current testing environment.
+@item testscript: script-based testing based on txtar files
+@item txtar: simple text-based file archives for testing.
+@end itemize\n")
+ (license license:bsd-3)))
+
+(define-public gopkg-in-errgo-fmt-errors
+ (package
+ (name "gopkg-in-errgo-fmt-errors")
+ (version "2.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-errgo/errgo")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "gopkg.in/errgo.v2/fmt/errors"
+ #:tests? #f
+ ;; Source-only package
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build))))
+ (home-page "https://godoc.org/gopkg.in/errgo.v2")
+ (synopsis "Functions that use the fmt package to format error messages")
+ (description "This package is the same as @code{gopkg.in/errgo.v2/errors}
+except that it adds convenience functions that use the fmt package to format
+error messages.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-arceliar-phony
+ (let ((commit "d0c68492aca0bd4b5c5c8e0452c9b4c8af923eaf")
+ (revision "0"))
+ (package
+ (name "go-github-com-arceliar-phony")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Arceliar/phony")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0876y0hlb1zh8hn0pxrb5zfdadvaqmqwlr66p19yl2a76galz992"))))
+ (arguments
+ '(#:import-path "github.com/Arceliar/phony"))
+ (build-system go-build-system)
+ (home-page "https://github.com/Arceliar/phony")
+ (synopsis "Very minimal actor model library")
+ (description "Phony is a very minimal actor model library for Go,
+inspired by the causal messaging system in the Pony programming language.")
+ (license license:expat))))
+
+(define-public go-github-com-cheggaaa-pb
+ (package
+ (name "go-github-com-cheggaaa-pb")
+ (version "3.0.4")
+ (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
+ "0xhsv9yf3fz918ay6w0d87jnb3hk9vxvi16jk172kqq26x7jixd0"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/cheggaaa/pb/"))
+ (propagated-inputs
+ `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
+ ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable)
+ ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
+ ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
+ (native-inputs
+ `(("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)))
+ (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-gologme-log
+ ;; this is the same as v1.2.0, only the LICENSE file changed
+ (let ((commit "720ba0b3ccf0a91bc6018c9967a2479f93f56a55"))
+ (package
+ (name "go-github-com-gologme-log")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gologme/log")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0z3gs5ngv2jszp42ypp3ai0pn410v3b2m674g73ma7vsbn2yjk1n"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/gologme/log"))
+ (home-page "https://github.com/gologme/log/")
+ (synopsis
+ "Fork of the golang built in log package to add support for levels")
+ (description "This package is a drop in replacement for the built-in Go
+log package. All the functionality of the built-in package still exists and
+is unchanged. This package contains a series of small enhancements and
+additions.")
+ (license license:bsd-3))))
+
+(define-public go-github-com-frankban-quicktest
+ (package
+ (name "go-github-com-frankban-quicktest")
+ (version "1.11.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/frankban/quicktest")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b1b44b2hli2p969gqz30z8v9z6ahlklpqzi17nwk1lsjz9yv938"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/frankban/quicktest"))
+ (propagated-inputs
+ `(("go-github-com-google-go-cmp-cmp" ,go-github-com-google-go-cmp-cmp)
+ ("go-github-com-kr-pretty" ,go-github-com-kr-pretty)))
+ (home-page "https://github.com/frankban/quicktest")
+ (synopsis "Quick helpers for testing Go applications")
+ (description
+ "Package quicktest provides a collection of Go helpers for writing
+tests.")
+ (license license:expat)))
+
+(define-public go-github-com-bep-golibsass
+ (package
+ (name "go-github-com-bep-golibsass")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bep/golibsass")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0xk3m2ynbydzx87dz573ihwc4ryq0r545vz937szz175ivgfrhh3"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "libsass_src")
+ #t))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/bep/golibsass/libsass"
+ #:unpack-path "github.com/bep/golibsass"
+ ;; The dev build tag modifies the build to link to system libsass
+ ;; instead of including the bundled one (which we remove.)
+ ;; https://github.com/bep/golibsass/blob/v0.7.0/internal/libsass/a__cgo_dev.go
+ #:build-flags '("-tags" "dev")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'generate-bindings
+ ;; Generate bindings for system libsass, replacing the
+ ;; pre-generated bindings.
+ (lambda* (#:key inputs unpack-path #:allow-other-keys)
+ (mkdir-p (string-append "src/" unpack-path "/internal/libsass"))
+ (let ((libsass-src (string-append (assoc-ref inputs "libsass-src") "/src")))
+ (substitute* (string-append "src/" unpack-path "/gen/main.go")
+ (("filepath.Join\\(rootDir, \"libsass_src\", \"src\"\\)")
+ (string-append "\"" libsass-src "\""))
+ (("../../libsass_src/src/")
+ libsass-src)))
+ (invoke "go" "generate" (string-append unpack-path "/gen"))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (if tests?
+ (invoke "go" "test" import-path "-tags" "dev"))
+ #t)))))
+ (propagated-inputs
+ `(("libsass" ,libsass)))
+ (native-inputs
+ `(("go-github-com-frankban-quicktest" ,go-github-com-frankban-quicktest)
+ ("libsass-src" ,(package-source libsass))))
+ (home-page "https://github.com/bep/golibsass")
+ (synopsis "Easy to use Go bindings for LibSass")
+ (description
+ "This package provides SCSS compiler support for Go applications.")
+ (license license:expat)))
+
+(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
+ '(#: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-hjson-hjson-go
+ (package
+ (name "go-github-com-hjson-hjson-go")
+ (version "3.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hjson/hjson-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dfdiahimg6z9idg8jiqxwnlwjnmasbjccx8gnag49cz4yfqskaz"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/hjson/hjson-go"))
+ (home-page "https://hjson.org/")
+ (synopsis "Human JSON implementation for Go")
+ (description "Hjson is a syntax extension to JSON. It is intended to be
+used like a user interface for humans, to read and edit before passing the
+JSON data to the machine.")
+ (license license:expat)))
+
+(define-public go-golang-zx2c4-com-wireguard
+ (package
+ (name "go-golang-zx2c4-com-wireguard")
+ (version "0.0.20200320")
+ (source
+ (origin
+ (method git-fetch)
+ ;; NOTE: module URL is a redirect
+ ;; target: git.zx2c4.com/wireguard-go
+ ;; source: golang.zx2c4.com/wireguard
+ (uri (git-reference
+ (url "https://git.zx2c4.com/wireguard-go/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fy4qsss3i3pkq1rpgjds4aipbwlh1dr9hbbf7jn2a1c63kfks0r"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "golang.zx2c4.com/wireguard"))
+ (propagated-inputs
+ `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+ ("go-golang-org-x-net" ,go-golang-org-x-net)
+ ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+ ("go-golang-org-x-text" ,go-golang-org-x-text)))
+ (home-page "https://git.zx2c4.com/wireguard")
+ (synopsis "Implementation of WireGuard in Go")
+ (description "This package is a Go Implementation of WireGuard.")
+ (license license:expat)))
+
+(define-public go-github-com-kardianos-minwinsvc
+ (package
+ (name "go-github-com-kardianos-minwinsvc")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kardianos/minwinsvc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0z941cxymkjcsj3p5l3g4wm2da3smz7iyqk2wbs5y8lmxd4kfzd8"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/kardianos/minwinsvc"))
+ (home-page "https://github.com/kardianos/minwinsvc/")
+ ;; some packages (Yggdrasil) need it to compile
+ ;; it's a tiny package and it's easier to bundle it than to patch it out
+ (synopsis "Minimal windows only service stub for Go")
+ (description "Go programs designed to run from most *nix style operating
+systems can import this package to enable running programs as services without
+modifying them.")
+ (license license:zlib)))
+
+(define-public go-github-com-goccy-yaml
+ (package
+ (name "go-github-com-goccy-yaml")
+ (version "1.8.0")
+ (home-page "https://github.com/goccy/go-yaml")
+ (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 "1nps58dwkd915mx35h5f0dc05b880b4fdl6dcjxpfmmbzyinvg38"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/goccy/go-yaml"))
+ (propagated-inputs
+ `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
+ ("go-golang-org-x-xerrors" ,go-golang-org-x-xerrors)))
+ (native-inputs
+ `(("go-gopkg-in-go-playground-validator-v9"
+ ,go-gopkg-in-go-playground-validator-v9)))
+ (synopsis "YAML support for the Go language")
+ (description
+ "This package provides features beyond the
+@uref{https://github.com/go-yaml/yaml, defacto YAML library} including:
+
+@itemize
+@item Pretty format for error notifications
+@item Support Scanner or Lexer or Parser as public API
+@item Support Anchor and Alias to Marshaler
+@item Allow referencing elements declared in another file via anchors
+@item Extract value or AST by YAMLPath (YAMLPath is like a JSONPath)
+@end itemize")
+ (license license:expat)))
+
+(define-public go-github.com-ulikunitz-xz
+ (package
+ (name "go-github.com-ulikunitz-xz")
+ (version "0.5.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ulikunitz/xz.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1xnsymi5fmmm734bi4c6z57p5cvnyxlpi29yxs4v21w5k763aypd"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/ulikunitz/xz"))
+ (synopsis "Read and write xz compressed streams in Go")
+ (description "This package provides a library to read and write xz
+compressed streams in Go.")
+ (home-page "https://github.com/ulikunitz/xz")
+ (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
+ `(#:import-path "github.com/Songmu/gitconfig"
+ ;; Package's tests appear to be hardcoded to the author's gitconfig
+ ;; and require network access.
+ #:tests? #f))
+ (propagated-inputs
+ `(("go-github-com-goccy-yaml" ,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)))