1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-17 04:20:44 +02:00

Merge remote-tracking branch 'origin/go-team'

Change-Id: Ib66e48c4cb84e9e97ebcec334ab0b9f3dbfb1457
This commit is contained in:
Sharlatan Hellseher 2024-08-08 13:05:56 +01:00
commit d7d779a3ef
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5
20 changed files with 2139 additions and 1259 deletions

View file

@ -542,6 +542,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/printers.scm \ %D%/packages/printers.scm \
%D%/packages/profiling.scm \ %D%/packages/profiling.scm \
%D%/packages/prolog.scm \ %D%/packages/prolog.scm \
%D%/packages/prometheus.scm \
%D%/packages/pth.scm \ %D%/packages/pth.scm \
%D%/packages/pulseaudio.scm \ %D%/packages/pulseaudio.scm \
%D%/packages/pumpio.scm \ %D%/packages/pumpio.scm \

View file

@ -88,6 +88,7 @@
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages protobuf) #:use-module (gnu packages protobuf)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-build) #:use-module (gnu packages python-build)

View file

@ -1167,7 +1167,7 @@ but it works for any C/C++ project.")
go-golang-org-x-sync go-golang-org-x-sync
go-golang-org-x-sync go-golang-org-x-sync
go-gopkg-in-yaml-v3)) go-gopkg-in-yaml-v3))
(native-inputs (list go-github-com-google-go-cmp-cmp)) (native-inputs (list go-github-com-google-go-cmp))
(home-page "https://rhysd.github.io/actionlint/") (home-page "https://rhysd.github.io/actionlint/")
(synopsis "Static checker for GitHub Actions workflow files") (synopsis "Static checker for GitHub Actions workflow files")
(description (description

View file

@ -390,7 +390,7 @@ cloc can handle a greater variety of programming languages.")
(define-public scc (define-public scc
(package (package
(name "scc") (name "scc")
(version "3.1.0") (version "3.3.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -399,7 +399,7 @@ cloc can handle a greater variety of programming languages.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1rkkfg6jimlc2rkajk6ypd5v0m3zai25ga5idz2pmkmzakv82n21")))) (base32 "0fvp9ab65vwn3dn0wm8l63rrp5fz1gpymcxs8yr0h4s5zmrsg9zf"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list

View file

@ -5506,7 +5506,7 @@ compatible with SQLite using a graphical user interface.")
#:install-source? #f #:install-source? #f
#:import-path "github.com/lighttiger2505/sqls")) #:import-path "github.com/lighttiger2505/sqls"))
(native-inputs (native-inputs
(list go-github-com-google-go-cmp-cmp (list go-github-com-google-go-cmp
go-github-com-go-sql-driver-mysql go-github-com-go-sql-driver-mysql
go-github-com-k0kubun-pp go-github-com-k0kubun-pp
go-github-com-lib-pq go-github-com-lib-pq

View file

@ -300,24 +300,23 @@ the required network abstractions for applications.")
(inherit docker-libnetwork) (inherit docker-libnetwork)
(name "docker-libnetwork-cmd-proxy") (name "docker-libnetwork-cmd-proxy")
(arguments (arguments
;; The tests are unsupported on all architectures except x86_64-linux. (list
`(#:tests? ,(and (not (%current-target-system)) ;; The tests are unsupported on all architectures except x86_64-linux.
(target-x86-64?)) #:tests? (and (not (%current-target-system)) (target-x86-64?))
#:import-path "github.com/docker/libnetwork/cmd/proxy" #:install-source? #f
#:unpack-path "github.com/docker/libnetwork" #:import-path "github.com/docker/libnetwork/cmd/proxy"
#:install-source? #f)) #:unpack-path "github.com/docker/libnetwork"))
(native-inputs (native-inputs
`(("go-sctp" ,go-sctp) (list go-github-com-sirupsen-logrus ; for tests.
;; For tests. go-github-com-vishvananda-netlink
("logrus" ,go-github-com-sirupsen-logrus) go-github-com-vishvananda-netns
("go-netlink" ,go-netlink) go-golang-org-x-crypto
("go-netns" ,go-netns) go-golang-org-x-sys
("go-golang-org-x-crypto" go-sctp))
,go-golang-org-x-crypto)
("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(synopsis "Docker user-space proxy") (synopsis "Docker user-space proxy")
(description "A proxy running in the user space. It is used by the (description
built-in registry server of Docker.") "This package provides a proxy running in the user space. It is used by
the built-in registry server of Docker.")
(license license:asl2.0))) (license license:asl2.0)))
;; TODO: Patch out modprobes for ip_vs, nf_conntrack, ;; TODO: Patch out modprobes for ip_vs, nf_conntrack,

View file

@ -1,21 +1,23 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 HiPhish <hiphish@posteo.de> ;;; Copyright © 2020 HiPhish <hiphish@posteo.de>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;; Copyright © 2020 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2020 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2020, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021 hackeryarn <artemchernyak@gmail.com> ;;; Copyright © 2021 hackeryarn <artemchernyak@gmail.com>
;;; Copyright © 2022 (unmatched-parenthesis <paren@disroot.org>
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com> ;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net> ;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2024 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com> ;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -56,6 +58,82 @@
;;; ;;;
;;; Code: ;;; Code:
(define-public go-github-com-golang-protobuf
(package
(name "go-github-com-golang-protobuf")
(version "1.5.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/golang/protobuf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03f1w2cd4s8a3xhl61x7yjx81kbzlrjpvnnwmbhqnz814yi7h43i"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/golang/protobuf"
#:phases
#~(modify-phases %standard-phases
;; XXX: Workaround for go-build-system's lack of Go modules
;; support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs
(list go-google-golang-org-protobuf))
(home-page "https://github.com/golang/protobuf")
(synopsis "Go support for Protocol Buffers")
(description
"This package provides Go support for the Protocol Buffers data
serialization format.")
(license license:bsd-3)))
(define-public go-github-com-google-go-cmp
(package
(name "go-github-com-google-go-cmp")
(version "0.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/go-cmp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1n1j4hi50bl05pyys4i7y417k9g6k1blslj27z327qny7kkdl2ma"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/google/go-cmp/cmp"
#:unpack-path "github.com/google/go-cmp"
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? import-path inputs #:allow-other-keys)
(when tests?
;; The tests fail when run with gccgo.
(let ((gccgo? (false-if-exception
(search-input-file inputs "/bin/gccgo"))))
(if gccgo?
(format #t "skipping tests with gccgo compiler~%")
;; XXX: Workaround for go-build-system's lack of Go
;; modules support.
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))))
(synopsis "Determine equality of values in Go")
(home-page "https://github.com/google/go-cmp")
(description
"This package is intended to be a more powerful and safer
alternative to @code{reflect.DeepEqual} for comparing whether two values are
semantically equal.")
(license license:bsd-3)))
(define-public go-github-com-yuin-goldmark (define-public go-github-com-yuin-goldmark
(package (package
(name "go-github-com-yuin-goldmark") (name "go-github-com-yuin-goldmark")
@ -222,28 +300,52 @@ language.")
(base32 "0ccjgv19w5p9sbcq12czmfnkjwv3b7hfljifwax6r9wk4dx0fcn7")) (base32 "0ccjgv19w5p9sbcq12czmfnkjwv3b7hfljifwax6r9wk4dx0fcn7"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin #~(begin
;; Submodules with their own go.mod files and packed as separated ;; Submodules with their own go.mod files and packed as separated
;; packages: ;; packages:
;; ;;
;; - golang.org/x/exp/event ;; - golang.org/x/exp/event
;; - golang.org/x/exp/jsonrpc2 ;; - golang.org/x/exp/jsonrpc2
;; - golang.org/x/exp/shiny ;; - golang.org/x/exp/shiny
;; - golang.org/x/exp/sumbdb ;; - golang.org/x/exp/sumbdb
;; - golang.org/x/exp/typeparams ;; - golang.org/x/exp/typeparams
(for-each delete-file-recursively (for-each delete-file-recursively
(list "event" "jsonrpc2" "shiny" "sumdb" "typeparams")))))) (list "event" "jsonrpc2" "shiny" "sumdb" "typeparams"))))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "golang.org/x/exp" (list
;; Source-only package #:import-path "golang.org/x/exp"
#:tests? #f #:phases
#:phases (modify-phases %standard-phases #~(modify-phases %standard-phases
(delete 'build)))) (add-after 'unpack 'remove-failing-tests
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
;; Benchmark requires other modules to pass tests, delete them.
(delete-file-recursively "slog/benchmarks")
(substitute* (find-files "." "\\_test.go$")
;; Disable failing tests: error running `go mod init`: go:
;; modules disabled by GO111MODULE=off; see 'go help modules'
;; , exit status 1
(("TestFailure") "OffTestFailure")
(("TestRelease_gitRepo_uncommittedChanges")
"OffTestRelease_gitRepo_uncommittedChanges")))))
;; XXX: Workaround for go-build-system's lack of Go modules
;; support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs
(list go-github-com-google-go-cmp
go-golang-org-x-mod
go-golang-org-x-tools))
(home-page "https://golang.org/x/exp") (home-page "https://golang.org/x/exp")
(synopsis "Experimental and deprecated Go packages") (synopsis "Experimental and deprecated Go packages")
(description "This subrepository holds experimental and deprecated (in the (description
@code{old} directory) packages.") "This subrepository holds experimental and deprecated (in the @code{old}
directory) packages.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public go-golang-org-x-exp-typeparams (define-public go-golang-org-x-exp-typeparams
@ -701,6 +803,55 @@ Go programming language.")
1.13 error values.") 1.13 error values.")
(license license:bsd-3)))) (license license:bsd-3))))
(define-public go-google-golang-org-protobuf
(package
(name "go-google-golang-org-protobuf")
(version "1.31.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/protobuf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xf18kzz96hgfy1vlbnydrizzpxkqj2iamfdbj3dx5a1zz5mi8n0"))))
(build-system go-build-system)
(arguments
(list
#:import-path "google.golang.org/protobuf"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda* (#:key tests? unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(substitute* (find-files "." "\\_test.go$")
;; XXX Failing on i686-linux:
;; panic: unaligned 64-bit atomic operation
(("TestDynamicTypesExtensionNotFound")
"OffTestDynamicTypesExtensionNotFound")
(("TestDynamicTypesFilesChangeAfterCreation")
"OffTestDynamicTypesFilesChangeAfterCreation")
(("TestDynamicTypesFindExtensionByNameOrNumber")
"OffTestDynamicTypesFindExtensionByNameOrNumber")))))
;; XXX: Workaround for go-build-system's lack of Go modules
;; support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs (list go-github-com-google-go-cmp))
(home-page "https://google.golang.org/protobuf")
(synopsis "Go library for Protocol Buffers")
(description
"The protobuf package provides a Go implementation of Protocol Buffers, a
language and platform neutral, extensible mechanism for serializing structured
data. It is a successor to @code{go-github-com-golang-protobuf} with an
improved and cleaner API.")
(license license:bsd-3)))
;;; ;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; 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 ;;; of a merge conflict, place them above by existing packages with similar

View file

@ -286,7 +286,7 @@ workloads. This kind of profiling is also known as wall-clock profiling.")
(define-public go-github-com-frankban-quicktest (define-public go-github-com-frankban-quicktest
(package (package
(name "go-github-com-frankban-quicktest") (name "go-github-com-frankban-quicktest")
(version "1.11.1") (version "1.14.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -295,13 +295,13 @@ workloads. This kind of profiling is also known as wall-clock profiling.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "0gnh9v4cg39pw8y356299zhh5jmq2p4cf9945lfiqsjsk7h6ld70"))))
"0b1b44b2hli2p969gqz30z8v9z6ahlklpqzi17nwk1lsjz9yv938"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/frankban/quicktest")) (list
#:import-path "github.com/frankban/quicktest"))
(propagated-inputs (propagated-inputs
(list go-github-com-google-go-cmp-cmp go-github-com-kr-pretty)) (list go-github-com-google-go-cmp go-github-com-kr-pretty))
(home-page "https://github.com/frankban/quicktest") (home-page "https://github.com/frankban/quicktest")
(synopsis "Quick helpers for testing Go applications") (synopsis "Quick helpers for testing Go applications")
(description (description
@ -312,7 +312,7 @@ tests.")
(define-public go-github-com-go-test-deep (define-public go-github-com-go-test-deep
(package (package
(name "go-github-com-go-test-deep") (name "go-github-com-go-test-deep")
(version "1.0.8") (version "1.1.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -321,7 +321,7 @@ tests.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1mmw2w3by7y24jjpjwmf2gfl08c65jihn3si9m0sswmagmdsk8q0")))) (base32 "1vjzmd4gc3zr9hlpzhhq4g1d0k6rbhply10vdl49gvir4dzmzzrl"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:import-path "github.com/go-test/deep")) (list #:import-path "github.com/go-test/deep"))
@ -376,7 +376,7 @@ when comparing complex types like structures and maps.")
(arguments (arguments
'(#:import-path "github.com/google/go-cmdtest")) '(#:import-path "github.com/google/go-cmdtest"))
(propagated-inputs (propagated-inputs
(list go-github-com-google-renameio go-github-com-google-go-cmp-cmp)) (list go-github-com-google-renameio go-github-com-google-go-cmp))
(home-page "https://github.com/google/go-cmdtest") (home-page "https://github.com/google/go-cmdtest")
(synopsis "Testing for your CLI") (synopsis "Testing for your CLI")
(description (description
@ -682,7 +682,7 @@ Gomega matcher library.")
(package (package
(inherit go-github-com-onsi-ginkgo) (inherit go-github-com-onsi-ginkgo)
(name "go-github-com-onsi-ginkgo-v2") (name "go-github-com-onsi-ginkgo-v2")
(version "2.18.0") (version "2.19.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -691,7 +691,7 @@ Gomega matcher library.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1w5dldjjcz2kpyxml4zd9yah7galfpmhcpc2l4zc5pr3skpwpibv")))) (base32 "0dwnkcysb5d9dyg8p84hhx5a3sj85g3bwgki1pgay4i8glz7xa7q"))))
(arguments (arguments
(list (list
#:import-path "github.com/onsi/ginkgo/v2")) #:import-path "github.com/onsi/ginkgo/v2"))
@ -878,7 +878,7 @@ current goroutine's ID.")
(define-public go-github-com-stretchr-testify (define-public go-github-com-stretchr-testify
(package (package
(name "go-github-com-stretchr-testify") (name "go-github-com-stretchr-testify")
(version "1.7.0") (version "1.9.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -888,7 +888,7 @@ current goroutine's ID.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ixgjsvafr3513pz3r6pmgk074s2dxkll0dadvl25gkf30rkmh10")))) "12cnhk96h8b3ddlb7jfvwwavzc0j1c2iva92pszl9rv6r571ckzg"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/stretchr/testify")) '(#:import-path "github.com/stretchr/testify"))
@ -923,25 +923,10 @@ Features include:
(propagated-inputs (propagated-inputs
(list go-gopkg-in-yaml-v3))))) (list go-gopkg-in-yaml-v3)))))
(define-public go-github-com-stretchr-testify-next
(package
(inherit go-github-com-stretchr-testify)
(name "go-github-com-stretchr-testify")
(version "1.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stretchr/testify")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12cnhk96h8b3ddlb7jfvwwavzc0j1c2iva92pszl9rv6r571ckzg"))))))
(define-public go-github-com-tdewolff-test (define-public go-github-com-tdewolff-test
(package (package
(name "go-github-com-tdewolff-test") (name "go-github-com-tdewolff-test")
(version "1.0.9") (version "1.0.10")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -950,11 +935,11 @@ Features include:
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "1ihlcnygwdgxq068b29d3n9n1gdbb2j03sc0al1qk5i5dkvgziyx"))))
"10myz3zdkqmx37cvj507h7l2ncb0rq9shqvz9ggq1swijbsvazff"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:import-path "github.com/tdewolff/test")) (list
#:import-path "github.com/tdewolff/test"))
(home-page "https://github.com/tdewolff/test") (home-page "https://github.com/tdewolff/test")
(synopsis "Go test helper functions") (synopsis "Go test helper functions")
(description (description
@ -1011,7 +996,7 @@ functions for writing tests in Go.")
(arguments (arguments
'(#:import-path "github.com/smartystreets/goconvey")) '(#:import-path "github.com/smartystreets/goconvey"))
(propagated-inputs (propagated-inputs
(list go-github.com-jtolds-gls go-github.com-smartystreets-assertions)) (list go-github-com-jtolds-gls go-github.com-smartystreets-assertions))
(home-page "https://github.com/smartystreets/goconvey") (home-page "https://github.com/smartystreets/goconvey")
(synopsis "Go testing tool with both a web and terminal user interface") (synopsis "Go testing tool with both a web and terminal user interface")
(description "GoConvey is a testing tool for Go. It integrates with go (description "GoConvey is a testing tool for Go. It integrates with go
@ -1051,7 +1036,7 @@ under test) much simpler.")
(define-public go-go-etcd-io-gofail (define-public go-go-etcd-io-gofail
(package (package
(name "go-go-etcd-io-gofail") (name "go-go-etcd-io-gofail")
(version "0.1.0") (version "0.2.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1060,7 +1045,7 @@ under test) much simpler.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0jh0qjgfb2irshwj7an3lj0w9bv6c5gbnkdhisgpdr7x7hk682m1")))) (base32 "0wxjaq1v5w0wjyv84af5cazrmv369i1416ar0dx8r9ag1szcfvpc"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
@ -1080,32 +1065,34 @@ under test) much simpler.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public go-golang-org-sql-mock (define-public go-golang-org-sql-mock
(let ((commit "e98392b8111b45f8126e00af035a0dd95dc12e8b") (package
(version "1.3.3") (name "go-golang-org-sql-mock")
(revision "1")) (version "1.5.2")
(package (source
(name "go-golang-org-sql-mock") (origin
(version (git-version version revision commit)) (method git-fetch)
(source (uri (git-reference
(origin (url "https://github.com/DATA-DOG/go-sqlmock")
(method git-fetch) (commit (string-append "v" version))))
(uri (git-reference (file-name (git-file-name name version))
(url "https://github.com/DATA-DOG/go-sqlmock") (sha256
(commit commit))) (base32 "1vpvdx9hwmx9gm27aq5r5219xpaxz0gy4q1iqskk4saz05bspn0f"))))
(file-name (git-file-name name version)) (build-system go-build-system)
(sha256 (arguments
(base32 (list
"033vv29g2wf6fd757ajfmha30bqin3b07377037zkl051mk6mghs")) #:import-path "github.com/DATA-DOG/go-sqlmock"
(modules '((guix build utils))) #:phases
(snippet '(delete-file-recursively "examples")))) #~(modify-phases %standard-phases
(build-system go-build-system) (add-after 'unpack 'remove-examples
(arguments (lambda* (#:key import-path #:allow-other-keys)
'(#:import-path "github.com/DATA-DOG/go-sqlmock")) (delete-file-recursively
(synopsis "Mock library implementing @code{sql/driver}") (string-append "src/" import-path "/examples")))))))
(description "This library simulates SQL-driver behavior in tests (home-page "https://github.com/DATA-DOG/go-sqlmock")
without requiring a real database connection.") (synopsis "Mock library implementing @code{sql/driver}")
(home-page "https://github.com/DATA-DOG/go-sqlmock") (description
(license license:expat)))) "This library simulates SQL-driver behavior in tests without requiring a
real database connection.")
(license license:expat)))
(define-public go-golang-org-x-lint (define-public go-golang-org-x-lint
(let ((commit "83fdc39ff7b56453e3793356bcff3070b9b96445") (let ((commit "83fdc39ff7b56453e3793356bcff3070b9b96445")
@ -1264,7 +1251,7 @@ gracefully enhance standard library testing package and behaviors of the
(define-public go-go-uber-org-goleak (define-public go-go-uber-org-goleak
(package (package
(name "go-go-uber-org-goleak") (name "go-go-uber-org-goleak")
(version "1.2.0") (version "1.3.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1273,14 +1260,13 @@ gracefully enhance standard library testing package and behaviors of the
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "14rvkxh3znp9jzbdjqdkrly3zfg3rmhgg5845biqqrq17w8jvv5s"))))
"1lpqw7ygffak8qki9i4vw8b99l25l8jrw8iwcplqsclk6fzkl24p"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:import-path "go.uber.org/goleak")) #:import-path "go.uber.org/goleak"))
(native-inputs (native-inputs
(list go-github-com-stretchr-testify-next)) (list go-github-com-stretchr-testify))
(home-page "https://pkg.go.dev/go.uber.org/goleak") (home-page "https://pkg.go.dev/go.uber.org/goleak")
(synopsis "Goroutine leak detector") (synopsis "Goroutine leak detector")
(description (description
@ -1375,16 +1361,23 @@ advanced Go linter.")
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
#:go go-1.18 #:import-path "pgregory.net/rapid"
#:import-path "pgregory.net/rapid")) #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-failing-tests
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
;; Remove test file failing on go-1.21, see
;; <https://github.com/flyingmutant/rapid/issues/68>.
(delete-file "strings_example_test.go")))))))
(home-page "https://pgregory.net/rapid/") (home-page "https://pgregory.net/rapid/")
(synopsis "Go property-based testing library") (synopsis "Go property-based testing library")
(description (description
"@code{Rapid} is a Go library for property-based testing. "@code{Rapid} is a Go library for property-based testing.
Rapid checks that properties you define hold for a large number of automatically Rapid checks that properties you define hold for a large number of
generated test cases. If a failure is found, rapid automatically minimizes the automatically generated test cases. If a failure is found, rapid
failing test case before presenting it. automatically minimizes the failing test case before presenting it.
Features: Features:
@itemize @itemize

View file

@ -6,6 +6,7 @@
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2021 BonfaceKilz <me@bonfacemunyoki.com>
;;; Copyright © 2021 Collin J. Doering <collin@rekahsoft.ca> ;;; Copyright © 2021 Collin J. Doering <collin@rekahsoft.ca>
;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org> ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
@ -21,6 +22,7 @@
;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email> ;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com> ;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -45,12 +47,14 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build) #:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check) #:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression) #:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-web) #:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages specifications)) #:use-module (gnu packages specifications))
;;; Commentary: ;;; Commentary:
@ -199,9 +203,9 @@ Go, exposing the necessary APIs to build a wide array of higher-level
primitives.") primitives.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public go-github-com-99designs-go-keyring (define-public go-github-com-99designs-keyring
(package (package
(name "go-github-com-99designs-go-keyring") (name "go-github-com-99designs-keyring")
(version "1.2.2") (version "1.2.2")
(source (source
(origin (origin
@ -213,6 +217,30 @@ primitives.")
(sha256 (sha256
(base32 "0mkvy7scyq07rkqhabfmkd8imcm4h9y7zj9palj04znpihpixa5m")))) (base32 "0mkvy7scyq07rkqhabfmkd8imcm4h9y7zj9palj04znpihpixa5m"))))
(build-system go-build-system) (build-system go-build-system)
(arguments
(list
#:import-path "github.com/99designs/keyring"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda* (#:key tests? unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(substitute* (find-files "." "\\_test.go$")
;; Disable test requring running DBus.
(("TestLibSecretKeysWhenEmpty")
"OffTestLibSecretKeysWhenEmpty")
(("TestLibSecretKeysWhenNotEmpty")
"OffTestLibSecretKeysWhenNotEmpty")
(("TestLibSecretGetWhenEmpty")
"OffTestLibSecretGetWhenEmpty")
(("TestLibSecretGetWhenNotEmpty")
"OffTestLibSecretGetWhenNotEmpty")
(("TestLibSecretRemoveWhenEmpty")
"OffTestLibSecretRemoveWhenEmpty")
(("TestLibSecretRemoveWhenNotEmpty")
"OffTestLibSecretRemoveWhenNotEmpty"))))))))
(native-inputs
(list gnupg go-github-com-stretchr-testify password-store))
(propagated-inputs (propagated-inputs
(list go-github-com-dvsekhvalnov-jose2go (list go-github-com-dvsekhvalnov-jose2go
go-github-com-godbus-dbus go-github-com-godbus-dbus
@ -221,9 +249,7 @@ primitives.")
go-github-com-mtibben-percent go-github-com-mtibben-percent
go-golang-org-x-sys go-golang-org-x-sys
go-golang-org-x-term)) go-golang-org-x-term))
(arguments (home-page "https://github.com/99designs/keyring")
'(#:import-path "github.com/99designs/keyring"
#:tests? #f)) ;XXX: tests require Vagrant
(synopsis "Go library providing a uniform interface for various secure (synopsis "Go library providing a uniform interface for various secure
credential stores") credential stores")
(description (description
@ -234,7 +260,6 @@ workstations.
Currently Keyring supports the following backends: macOS/OSX Keychain, Windows Currently Keyring supports the following backends: macOS/OSX Keychain, Windows
pcredential store, Pass, Secret Service, KDE Wallet, Encrypted File.") pcredential store, Pass, Secret Service, KDE Wallet, Encrypted File.")
(home-page "https://github.com/99designs/keyring")
(license license:expat))) (license license:expat)))
(define-public go-github-com-aead-chacha20 (define-public go-github-com-aead-chacha20
@ -357,6 +382,34 @@ the Ristretto prime-order group built from Edwards25519.")
(define-public go-github-com-cespare-xxhash (define-public go-github-com-cespare-xxhash
(package (package
(name "go-github-com-cespare-xxhash") (name "go-github-com-cespare-xxhash")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cespare/xxhash")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1qyzlcdcayavfazvi03izx83fvip8h36kis44zr2sg7xf6sx6l4x"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/cespare/xxhash"))
(propagated-inputs
(list go-github-com-spaolacci-murmur3
go-github-com-oneofone-xxhash))
(home-page "https://github.com/cespare/xxhash")
(synopsis "Go implementation of xxHash")
(description
"Package xxhash implements the 64-bit variant of @code{xxHash} (XXH64) as
described at @url{https://xxhash.com/}.")
(license license:expat)))
(define-public go-github-com-cespare-xxhash-v2
(package
(inherit go-github-com-cespare-xxhash)
(name "go-github-com-cespare-xxhash-v2")
(version "2.1.2") (version "2.1.2")
(source (source
(origin (origin
@ -369,10 +422,9 @@ the Ristretto prime-order group built from Edwards25519.")
(base32 "1f3wyr9msnnz94szrkmnfps9wm40s5sp9i4ak0kl92zcrkmpy29a")) (base32 "1f3wyr9msnnz94szrkmnfps9wm40s5sp9i4ak0kl92zcrkmpy29a"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(delete-file-recursively "xxhashbench")))) (snippet '(delete-file-recursively "xxhashbench"))))
(build-system go-build-system)
(arguments (arguments
(list (list
#:import-path "github.com/cespare/xxhash" #:import-path "github.com/cespare/xxhash/v2"
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(replace 'check (replace 'check
@ -381,11 +433,7 @@ the Ristretto prime-order group built from Edwards25519.")
;; The tests fail when run with gccgo. ;; The tests fail when run with gccgo.
(false-if-exception (search-input-file inputs "/bin/gccgo")) (false-if-exception (search-input-file inputs "/bin/gccgo"))
(apply (assoc-ref %standard-phases 'check) args))))))) (apply (assoc-ref %standard-phases 'check) args)))))))
(home-page "https://github.com/cespare/xxhash/") (propagated-inputs '())))
(synopsis "Go implementation of xxHash")
(description "This package provides of Go implementation of the 64-bit
xxHash algorithm (XXH64).")
(license license:expat)))
(define-public go-github-com-chmduquesne-rollinghash (define-public go-github-com-chmduquesne-rollinghash
(let ((commit "9a5199be7309f50c496efc87d29bd08788605ae7") (let ((commit "9a5199be7309f50c496efc87d29bd08788605ae7")
@ -477,10 +525,36 @@ and encrypting JSON Web Tokens (JWT). It relies only on the standard
library.") library.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-emersion-go-bcrypt
(package
(name "go-github-com-emersion-go-bcrypt")
(version "0.0.0-20170822072041-6e724a1baa63")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-bcrypt")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pchrgs05w30iqbh4d6iys4wvlyajsdwchp5mkf59amgsbyjaqgm"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-bcrypt"))
(propagated-inputs
(list go-golang-org-x-crypto))
(home-page "https://github.com/emersion/go-bcrypt")
(synopsis "Extract of bcrypt from golang.org/x/crypto/bcrypt")
(description
"This package provides an extract @code{bcrypt} from
@code{golang.org/x/crypto/bcrypt}.")
(license license:bsd-3)))
(define-public go-github-com-emersion-go-pgpmail (define-public go-github-com-emersion-go-pgpmail
(package (package
(name "go-github-com-emersion-go-pgpmail") (name "go-github-com-emersion-go-pgpmail")
(version "0.2.0") (version "0.2.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -489,17 +563,14 @@ library.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ar26b0apw5bxn58qfn1a79cxigbmrqm1irh1rb7x57fydihc7wm")))) (base32 "1fiqpdwxnfba2cgij7j83dfqc0zz4mq95x15wicgm5f3vjr1xg5h"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list ;; tests don't support our version of protonmail/go-crypto; see (list
;; <https://github.com/emersion/go-pgpmail/issues/12>
#:tests? #f
#:import-path "github.com/emersion/go-pgpmail")) #:import-path "github.com/emersion/go-pgpmail"))
(propagated-inputs (propagated-inputs
(list go-github-com-emersion-go-message (list go-github-com-emersion-go-message
go-github-com-protonmail-go-crypto go-github-com-protonmail-go-crypto
go-golang-org-x-crypto
go-golang-org-x-text)) go-golang-org-x-text))
(home-page "https://github.com/emersion/go-pgpmail") (home-page "https://github.com/emersion/go-pgpmail")
(synopsis "PGP mail encryption for Go") (synopsis "PGP mail encryption for Go")
@ -1068,6 +1139,37 @@ Architecture Processors\" by J. Guilford et al.")
(description "Multihash implementation in Go.") (description "Multihash implementation in Go.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-oneofone-xxhash
(package
(name "go-github-com-oneofone-xxhash")
(version "1.2.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OneOfOne/xxhash")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0f98qk83l2fhpclvrgyxsa9b8m4pipf11fah85bnjl01wy4lvybw"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/OneOfOne/xxhash"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-benchmarks
(lambda* (#:key import-path #:allow-other-keys)
(delete-file-recursively
(string-append "src/" import-path "/benchmarks")))))))
(home-page "https://github.com/OneOfOne/xxhash")
(synopsis "Go implementation of xxHash")
(description
"This is a native Go implementation of the
@url{https://github.com/Cyan4973/xxHash, xxHash} algorithm, an extremely fast
non-cryptographic hash algorithm, working at speeds close to RAM limits.")
(license license:asl2.0)))
(define-public go-github-com-operatorfoundation-ed25519 (define-public go-github-com-operatorfoundation-ed25519
(let ((commit "b22b4bd3ddef042eec45f3ee135cd40281fde2b4") (let ((commit "b22b4bd3ddef042eec45f3ee135cd40281fde2b4")
(revision "0")) (revision "0"))
@ -1127,32 +1229,40 @@ algorithm.")
(define-public go-github-com-protonmail-go-crypto (define-public go-github-com-protonmail-go-crypto
(package (package
(name "go-github-com-protonmail-go-crypto") (name "go-github-com-protonmail-go-crypto")
(version "0.0.0-20220623141421-5afb4c282135") (version "1.0.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/ProtonMail/go-crypto") (url "https://github.com/ProtonMail/go-crypto")
(commit (go-version->git-ref version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "05qxdbn8wdk901z5kw2r3jdrag58nxlcsy0p8xd6rq0d71sw94wy")))) (base32 "11q94983r6zjrdvflpikms4773a9s5vb9gg4qw1rj5800yhhah0n"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:import-path "github.com/ProtonMail/go-crypto" (list
#:tests? #f ; Source-only package. #:import-path "github.com/ProtonMail/go-crypto"
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
;; Source-only package. ;; XXX: Workaround for go-build-system's lack of Go modules
(delete 'build)))) ;; support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs (propagated-inputs
(list go-golang-org-x-crypto)) (list go-github-com-cloudflare-circl
go-golang-org-x-crypto))
(home-page "https://github.com/ProtonMail/go-crypto") (home-page "https://github.com/ProtonMail/go-crypto")
(synopsis "Fork of x/crypto with up-to-date OpenPGP implementation") (synopsis "Fork of x/crypto with up-to-date OpenPGP implementation")
(description "This package provides cryptography for Go. This version of (description
the package is a fork that adds a more up-to-date OpenPGP implementation. It "This package provides cryptography for Go. This version of the package
is completely backwards compatible with @code{golang.org/x/crypto}, the is a fork that adds a more up-to-date OpenPGP implementation. It is
official package.") completely backwards compatible with @code{golang.org/x/crypto}, the official
package.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public go-github-com-quic-go-qtls-go1-20 (define-public go-github-com-quic-go-qtls-go1-20
@ -1469,6 +1579,20 @@ Go.")
#:unpack-path "filippo.io/age" #:unpack-path "filippo.io/age"
#:install-source? #f)))) #:install-source? #f))))
(define-public go-keyring
(package
(inherit go-github-com-99designs-keyring)
(name "go-keyring")
(arguments
(list
#:install-source? #f
#:import-path "github.com/99designs/keyring/cmd/keyring"
#:unpack-path "github.com/99designs/keyring"))
(description
(string-append (package-description go-github-com-99designs-keyring)
" This package provides an command line interface (CLI)
tool."))))
;;; ;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; 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 ;;; of a merge conflict, place them above by existing packages with similar

View file

@ -3,18 +3,19 @@
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz> ;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;; Copyright © 2020 raingloom <raingloom@riseup.net> ;;; Copyright © 2020 raingloom <raingloom@riseup.net>
;;; Copyright © 2020-2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Collin J. Doering <collin@rekahsoft.ca> ;;; Copyright © 2021 Collin J. Doering <collin@rekahsoft.ca>
;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com> ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 (unmatched-parenthesis <paren@disroot.org>
;;; Copyright © 2022 Adam Kandur <kefironpremise@gmail.com> ;;; Copyright © 2022 Adam Kandur <kefironpremise@gmail.com>
;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev> ;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev>
;;; Copyright © 2022 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2022 Giacomo Leidi <goodoldpaul@autistici.org>
@ -66,8 +67,10 @@
;;; Commentary: ;;; Commentary:
;;; ;;;
;;; Golang modules (libraries) related to HTML, CSS, SCSS, JavaScript, JSON, ;;; Golang modules (libraries) for Web related projects: HTML, CSS, SCSS,
;;; Web-framework, REST-API or similar functionality. They may provide ;;; JavaScript, JSON, Web-framework, REST-API or similar functionality; for
;;; Network related projects: OSI layers implementation algorithms, MIME,
;;; Email protocols implementations, and similar. They may provide
;;; executables and libraries, for which there are marked sections. ;;; executables and libraries, for which there are marked sections.
;;; ;;;
@ -127,6 +130,44 @@ API service accounts for Go.")
"This package provides a GraphQL client and code generator for Go.") "This package provides a GraphQL client and code generator for Go.")
(license license:expat))) (license license:expat)))
(define-public go-git-sr-ht-rockorager-go-jmap
(package
(name "go-git-sr-ht-rockorager-go-jmap")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~rockorager/go-jmap")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1r8bmdlmvpk08i7xrqwgv0aaz05564wgcyji73nszdh2s32m4kzl"))))
(build-system go-build-system)
(arguments
(list
#:import-path "git.sr.ht/~rockorager/go-jmap"
#:phases
#~(modify-phases %standard-phases
;; XXX: Workaround for go-build-system's lack of Go modules support.
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(native-inputs
(list
go-github-com-stretchr-testify))
(propagated-inputs
(list go-golang-org-x-oauth2))
(home-page "https://git.sr.ht/~rockorager/go-jmap")
(synopsis "JSON meta application protocol in Golang")
(description
"Package jmap implements JMAP Core protocol as defined in
@@url{https://rfc-editor.org/rfc/rfc8620.html,RFC 8620} published on July
2019.")
(license license:expat)))
(define-public go-github-com-alexliesenfeld-health (define-public go-github-com-alexliesenfeld-health
(package (package
(name "go-github-com-alexliesenfeld-health") (name "go-github-com-alexliesenfeld-health")
@ -227,40 +268,10 @@ the parse trees produced by the html package.")
connections from a single physical connection.") connections from a single physical connection.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-aws-sdk
(package
(name "go-github-com-aws-sdk")
(version "1.35.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aws/aws-sdk-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ky5lw2s2zpslnnqcs6hgsrwvwbxwgflb5jwf16dd4aga3vrg10c"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/aws/aws-sdk-go/aws"
#:unpack-path "github.com/aws/aws-sdk-go"))
(propagated-inputs
(list go-github-com-go-sql-driver-mysql
go-github-com-jmespath-go-jmespath
go-github-com-pkg-errors
go-golang-org-x-net))
(home-page "https://github.com/aws/aws-sdk-go")
(synopsis "Library to access Amazon Web Services (AWS)")
(description
"This is the official AWS SDK for the Go programming language.")
(license license:asl2.0)))
;; XXX: This package might be a duplicate of go-github-com-aws-sdk, it's not
;; in use anywhere. Keep it here for the farther review.
(define-public go-github-com-aws-aws-sdk-go (define-public go-github-com-aws-aws-sdk-go
(package (package
(name "go-github-com-aws-aws-sdk-go") (name "go-github-com-aws-aws-sdk-go")
(version "1.36.18") (version "1.55.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -269,17 +280,32 @@ connections from a single physical connection.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "169mkkw1cff1px6326krwvfpfj07sb4y5rbn003gi4bk176h6ry9")))) (base32 "0wsl1vcig3j9z6v2hppfr1bvrvbisck026fwq2a7yzmx36pwnj6a"))))
(build-system go-build-system) (build-system go-build-system)
(arguments
(list
#:import-path "github.com/aws/aws-sdk-go"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(substitute* (find-files "." "\\_test.go$")
(("TestProcessProviderTimeout")
"OffTestProcessProviderTimeout")))))
;; XXX: Workaround for go-build-system's lack of Go modules
;; support.
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs (propagated-inputs
(list go-github-com-jmespath-go-jmespath)) (list go-github-com-jmespath-go-jmespath))
(arguments (home-page "https://github.com/aws/aws-sdk-go")
'(#:import-path "github.com/aws/aws-sdk-go"
#:phases %standard-phases))
(synopsis "The official AWS SDK for the Go programming language") (synopsis "The official AWS SDK for the Go programming language")
(description (description
"The official AWS SDK for the Go programming language.") "The official AWS SDK for the Go programming language.")
(home-page "https://github.com/aws/aws-sdk-go")
(license license:asl2.0))) (license license:asl2.0)))
(define-public go-github-com-aws-aws-sdk-go-v2 (define-public go-github-com-aws-aws-sdk-go-v2
@ -300,7 +326,7 @@ connections from a single physical connection.")
'(#:import-path "github.com/aws/aws-sdk-go-v2")) '(#:import-path "github.com/aws/aws-sdk-go-v2"))
(propagated-inputs (propagated-inputs
(list go-github-com-aws-smithy-go (list go-github-com-aws-smithy-go
go-github-com-google-go-cmp-cmp go-github-com-google-go-cmp
go-github-com-jmespath-go-jmespath)) go-github-com-jmespath-go-jmespath))
(home-page "https://github.com/aws/aws-sdk-go-v2") (home-page "https://github.com/aws/aws-sdk-go-v2")
(synopsis "AWS SDK for Go v2") (synopsis "AWS SDK for Go v2")
@ -317,9 +343,37 @@ connections from a single physical connection.")
'(#:import-path "github.com/aws/aws-sdk-go-v2/config" '(#:import-path "github.com/aws/aws-sdk-go-v2/config"
#:unpack-path "github.com/aws/aws-sdk-go-v2")) #:unpack-path "github.com/aws/aws-sdk-go-v2"))
(propagated-inputs (propagated-inputs
(list go-github-com-google-go-cmp-cmp (list go-github-com-google-go-cmp
go-github-com-aws-smithy-go)))) go-github-com-aws-smithy-go))))
(define-public go-github-com-aws-aws-sdk-go-v2-credentials
(package
(name "go-github-com-aws-aws-sdk-go-v2-credentials")
(version "1.17.27")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aws/aws-sdk-go-v2")
(commit (string-append "credentials/v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jdj7wim98g80hjbw3av7ffrr3dqxzbygprmhjs0cxc16cw62wj7"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/aws/aws-sdk-go-v2/credentials"
#:unpack-path "github.com/aws/aws-sdk-go-v2"))
(propagated-inputs
(list go-github-com-google-go-cmp
go-github-com-aws-smithy-go))
(home-page "https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/credentials")
(synopsis "AWS SDK for Go v2 - credentials module")
(description
"Package credentials provides types for retrieving credentials from
credentials sources.")
(license license:asl2.0)))
(define-public go-github-com-aws-aws-sdk-go-v2-feature-s3-manager (define-public go-github-com-aws-aws-sdk-go-v2-feature-s3-manager
(package (package
(inherit go-github-com-aws-aws-sdk-go-v2) (inherit go-github-com-aws-aws-sdk-go-v2)
@ -402,7 +456,7 @@ connections from a single physical connection.")
(arguments (arguments
'(#:import-path "github.com/aws/smithy-go")) '(#:import-path "github.com/aws/smithy-go"))
(propagated-inputs (propagated-inputs
(list go-github-com-jmespath-go-jmespath go-github-com-google-go-cmp-cmp)) (list go-github-com-jmespath-go-jmespath go-github-com-google-go-cmp))
(home-page "https://github.com/aws/smithy-go") (home-page "https://github.com/aws/smithy-go")
(synopsis "@url{https://smithy.io/2.0/index.html,Smithy} code generators (synopsis "@url{https://smithy.io/2.0/index.html,Smithy} code generators
for Go") for Go")
@ -633,7 +687,7 @@ and stop increasing when a certain threshold is met.")
(package (package
(inherit go-github-com-coreos-go-oidc) (inherit go-github-com-coreos-go-oidc)
(name "go-github-com-coreos-go-oidc-v3") (name "go-github-com-coreos-go-oidc-v3")
(version "3.6.0") (version "3.11.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -642,15 +696,295 @@ and stop increasing when a certain threshold is met.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1sbm6n3lp48lymn0g921afhq2j6inb38w3wy5rhyx9h8gpzhnxx9")))) (base32 "00nbv15pjfcfxdy0i4k366ricdm2cylhpwak3hmjlgh6lrzxypl9"))))
(arguments (arguments
(list ;; no Go files in [...]/src/github.com/coreos/go-oidc/v3. (list
#:import-path "github.com/coreos/go-oidc/v3/oidc" #:import-path "github.com/coreos/go-oidc/v3"
#:unpack-path "github.com/coreos/go-oidc/v3")) #:phases
#~(modify-phases %standard-phases
;; XXX: Workaround for go-build-system's lack of Go modules
;; support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs (propagated-inputs
(list go-github-com-go-jose-go-jose-v3 (list go-github-com-go-jose-go-jose-v4
go-golang-org-x-net
go-golang-org-x-oauth2)))) go-golang-org-x-oauth2))))
(define-public go-github-com-emersion-go-imap
(package
(name "go-github-com-emersion-go-imap")
(version "1.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-imap")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ak2ysvfcc9w0g1070msis8x9sh6gzvf0nd65ks594siwbmqddw8"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-imap"))
(propagated-inputs
(list go-golang-org-x-text
go-github-com-emersion-go-sasl
go-github-com-emersion-go-message))
(home-page "https://github.com/emersion/go-imap")
(synopsis "IMAP4rev1 library written in Go")
(description
"This package provides an IMAP4rev1 library written in Go. It can be
used to build IMAP clients and servers.")
(license license:expat)))
;; XXX: This repository has been archived by the owner on Sep 8, 2021. It is
;; now read-only.
(define-public go-github-com-emersion-go-imap-idle
(let ((commit "2704abd7050ed7f2143753554ee23affdf847bd9")
(revision "0"))
(package
(name "go-github-com-emersion-go-imap-idle")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-imap-idle")
(commit commit)))
(sha256
(base32
"0blwcadmxgqsdwgr9m4jqfbpfa2viw5ah19xbybpa1z1z4aj5cbc"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-imap-idle"))
(propagated-inputs
(list go-github-com-emersion-go-imap))
(home-page "https://github.com/emersion/go-imap-idle")
(synopsis "IDLE extension for go-imap")
(description "This package provides an IDLE extension for go-imap.")
(license license:expat))))
(define-public go-github-com-emersion-go-imap-sortthread
(package
(name "go-github-com-emersion-go-imap-sortthread")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-imap-sortthread")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1cfbgz1l5angnj52v9pxwggai2shx0h78ffcp7j4r4lr7lzflnwz"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-imap-sortthread"))
(propagated-inputs
(list
go-github-com-emersion-go-imap))
(home-page "https://github.com/emersion/go-imap-sortthread")
(synopsis "Sorting and threading of messages for the imap package")
(description
"The sortthread package implements message sorting and threading for
@code{go-github-com-emersion-go-imap}.")
(license license:expat)))
(define-public go-github-com-emersion-go-maildir
(package
(name "go-github-com-emersion-go-maildir")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-maildir")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wa7spn3qa7ipmg29vrimw7phyybyaagdalrjklcazjb6rplvwpl"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-maildir"))
(home-page "https://github.com/emersion/go-maildir")
(synopsis "Maildir interface for Go")
(description
"This package provides an interface to mailboxes in the Maildir format.")
(license license:expat)))
(define-public go-github-com-emersion-go-mbox
(package
(name "go-github-com-emersion-go-mbox")
(version "1.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-mbox")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vnadh2khx7sxn0irrd8gz8ra02x7ij0q8zglq3rqffqil06nliv"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-mbox"))
(home-page "https://github.com/emersion/go-mbox")
(synopsis "Go library for handling @code{mbox} files")
(description
"This package provides a library for parsing and formatting @code{mbox}
files.")
(license license:expat)))
(define-public go-github-com-emersion-go-message
(package
(name "go-github-com-emersion-go-message")
(version "0.18.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-message")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0gzcgrs5sava8fpybp5cw6f3zqnbz096wf93hcgkrg94wl1g7kqb"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/emersion/go-message"))
(propagated-inputs
(list go-golang-org-x-text))
(home-page "https://github.com/emersion/go-message")
(synopsis "Internet messages and MIME for Go")
(description
"The message package implements the Internet Message Format and
Multipurpose Internet Mail Extensions in Go.")
(license license:expat)))
(define-public go-github-com-emersion-go-milter
(package
(name "go-github-com-emersion-go-milter")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-milter")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "11qjwjz6ippsx9da81gylx46p1a96mk39j54ayw925m40skqhh3c"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-milter"))
(propagated-inputs
(list go-github-com-emersion-go-message))
(home-page "https://github.com/emersion/go-milter")
(synopsis "Milter mail filters in Go")
(description
"This package provides an interface for implementing milter mail filters
for Go.")
(license license:bsd-2)))
(define-public go-github-com-emersion-go-msgauth
(package
(name "go-github-com-emersion-go-msgauth")
(version "0.6.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-msgauth")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0az83i6jmk3bjglgdqw5zsvhh8698rav0mcg4dy8kr0cgq0lj5zs"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-msgauth"
#:phases
#~(modify-phases %standard-phases
;; XXX: Run all tests, workaround for go-build-system's lack of Go
;; modules support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs
(list go-golang-org-x-crypto
go-github-com-emersion-go-milter
go-github-com-emersion-go-message))
(home-page "https://github.com/emersion/go-msgauth")
(synopsis "Email authentication for Go")
(description
"This package provides a Go library for authenticating emails.")
(license license:expat)))
(define-public go-github-com-emersion-go-sasl
(let ((commit "0b9dcfb154ac3d7515b08bc2691a0332800edfe9")
(revision "1"))
(package
(name "go-github-com-emersion-go-sasl")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-sasl")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1cbf86wkqrdinfydndgdlnayg4a5mg3d4vqra377j2sfkg7wj0hs"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-sasl"))
(home-page "https://github.com/emersion/go-sasl")
(synopsis "SASL library written in Go")
(description
"This package provides a SASL library written in Go.")
(license license:expat))))
(define-public go-github-com-emersion-go-smtp
(package
(name "go-github-com-emersion-go-smtp")
(version "0.21.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-smtp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0drvmvrkmhqhnv4m3my1hbkyyva2vi35b36j0pdi57xc9rflziq3"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-smtp"))
(propagated-inputs
(list go-github-com-emersion-go-sasl))
(home-page "https://github.com/emersion/go-smtp")
(synopsis "SMTP implementation for Go")
(description
"This package implements the Simple Mail Transfer Protocol as defined by
RFC 5321.")
(license license:expat)))
(define-public go-github-com-emicklei-go-restful (define-public go-github-com-emicklei-go-restful
(package (package
(name "go-github-com-emicklei-go-restful") (name "go-github-com-emicklei-go-restful")
@ -731,6 +1065,35 @@ API and doesn't use reflection. It relies on small interfaces to
decode/encode structures and slices.") decode/encode structures and slices.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-gatherstars-com-jwz
(package
(name "go-github-com-gatherstars-com-jwz")
(version "1.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gatherstars-com/jwz")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1d66axc3504wqpb4axlm8m9jq8rmwndxb4asbqwryymj3yh60cla"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/gatherstars-com/jwz"))
(propagated-inputs
(list go-github-com-rivo-tview
go-github-com-jhillyerd-enmime
go-github-com-gdamore-tcell-v2))
(home-page "https://github.com/gatherstars-com/jwz")
(synopsis "Email threading algorithm in Golang")
(description
"The jwz package provides an implementation of the email threading
algorithm originally designed for use in
@url{https://www.jwz.org/doc/threading.html,Netscape Mail 2.0 and 3.0} for
Golang.")
(license license:asl2.0)))
;; TODO: This repository has been archived by the owner on Aug 30, 2023. It is ;; TODO: This repository has been archived by the owner on Aug 30, 2023. It is
;; now read-only. The raven-go SDK is no longer maintained and was superseded ;; now read-only. The raven-go SDK is no longer maintained and was superseded
;; by the sentry-go ;; by the sentry-go
@ -802,7 +1165,7 @@ decompose request handling into many smaller layers.")
(propagated-inputs (propagated-inputs
(list go-golang-org-x-crypto)) (list go-golang-org-x-crypto))
(native-inputs (native-inputs
(list go-github-com-google-go-cmp-cmp (list go-github-com-google-go-cmp
go-github-com-stretchr-testify)) go-github-com-stretchr-testify))
(home-page "https://github.com/go-jose/go-jose") (home-page "https://github.com/go-jose/go-jose")
(synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go") (synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go")
@ -868,31 +1231,6 @@ Encryption, JSON Web Signature, and JSON Web Token standards.")
language.") language.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-go-telegram-bot-api-telegram-bot-api
(package
(name "go-github-com-go-telegram-bot-api-telegram-bot-api")
(version "4.6.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/go-telegram-bot-api/telegram-bot-api")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1x6j0k3aiicsr8l53na99ci10zm3qpn2syz4f60fzh164w5k1l7w"))))
(build-system go-build-system)
(home-page "https://go-telegram-bot-api.dev/")
(arguments
(list #:tests? #f ; Upstream tests are broken.
#:import-path "github.com/go-telegram-bot-api/telegram-bot-api"))
(propagated-inputs
(list go-github-com-technoweenie-multipartstreamer))
(synopsis "Golang bindings for the Telegram Bot API")
(description
"This package provides Golang bindings for the Telegram Bot API.")
(license license:expat)))
(define-public go-github-com-go-webauthn-webauthn (define-public go-github-com-go-webauthn-webauthn
(package (package
(name "go-github-com-go-webauthn-webauthn") (name "go-github-com-go-webauthn-webauthn")
@ -1384,10 +1722,10 @@ the Go standard library, but returns a client that does not share any state
with other clients.") with other clients.")
(license license:mpl2.0))) (license license:mpl2.0)))
(define-public go-github-com-hjson-hjson-go (define-public go-github-com-hjson-hjson-go-v4
(package (package
(name "go-github-com-hjson-hjson-go") (name "go-github-com-hjson-hjson-go-v4")
(version "4.3.1") (version "4.4.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1396,15 +1734,17 @@ with other clients.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "138vmbnrwzxf64cia27k407clrydvs2jx927dlv6ziydiqyvy7m3")))) (base32 "1d4b2hpqsnzbmfhgxq15hd19rjr5hydjmpblrh5yzfgx9z3cz2by"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/hjson/hjson-go")) (list
#:import-path "github.com/hjson/hjson-go/v4"))
(home-page "https://hjson.org/") (home-page "https://hjson.org/")
(synopsis "Human JSON implementation for Go") (synopsis "Human JSON implementation for Go")
(description "Hjson is a syntax extension to JSON. It is intended to be (description
used like a user interface for humans, to read and edit before passing the "Hjson is a syntax extension to JSON. It is intended to be used like a
JSON data to the machine.") user interface for humans, to read and edit before passing the JSON data to
the machine.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-jackpal-gateway (define-public go-github-com-jackpal-gateway
@ -1563,6 +1903,38 @@ SPNEGO Kerberos authentication, as well as a HTTP handler wrapper decodes
Microsoft AD PAC authorization data.") Microsoft AD PAC authorization data.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public go-github-com-jhillyerd-enmime
(package
(name "go-github-com-jhillyerd-enmime")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jhillyerd/enmime")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03pir9wq9ha2i2ifj819yv5i0lvrgdn904ksbzgc3k8bqc497ydn"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/jhillyerd/enmime"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-cention-sany-utf7
go-github-com-go-test-deep
go-github-com-gogs-chardet
go-github-com-jaytaylor-html2text
go-github-com-pkg-errors
go-golang-org-x-text))
(home-page "https://github.com/jhillyerd/enmime")
(synopsis "MIME encoder and decoder for Go")
(description
"The enmime package implements a MIME encoding and decoding library
geared towards parsing MIME encoded emails.")
(license license:expat)))
(define-public go-github-com-jmespath-go-jmespath (define-public go-github-com-jmespath-go-jmespath
(package (package
(name "go-github-com-jmespath-go-jmespath") (name "go-github-com-jmespath-go-jmespath")
@ -1663,7 +2035,7 @@ router.")
(base32 "196rxfg7w8s3zn87gra1mxh1l8iav6kdmg909gkbnc9cxip65zc0")))) (base32 "196rxfg7w8s3zn87gra1mxh1l8iav6kdmg909gkbnc9cxip65zc0"))))
(build-system go-build-system) (build-system go-build-system)
(propagated-inputs (propagated-inputs
(list go-github-com-google-go-cmp-cmp (list go-github-com-google-go-cmp
go-golang-org-x-net go-golang-org-x-net
go-golang-org-x-text)) go-golang-org-x-text))
(arguments (arguments
@ -1902,6 +2274,30 @@ multistream-select protocol. The protocol is defined at
@url{https://github.com/multiformats/multistream-select}") @url{https://github.com/multiformats/multistream-select}")
(license license:expat))) (license license:expat)))
(define-public go-github-com-munnerz-goautoneg
(package
(name "go-github-com-munnerz-goautoneg")
(version "0.0.0-20191010083416-a7dc8b61c822")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/munnerz/goautoneg")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1m4v6bw6yf1g0kvpc46isjp0qfhx2y8gnvlnyjf637jy64613mgg"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/munnerz/goautoneg"))
(home-page "https://github.com/munnerz/goautoneg")
(synopsis "HTTP Content-Type Autonegotiation")
(description
"This package implements @url{https://rfc-editor.org/rfc/rfc2616.html,RFC
2616} HTTP/1.1 standard.")
(license license:bsd-3)))
(define-public go-github-com-nwidger-jsoncolor (define-public go-github-com-nwidger-jsoncolor
(package (package
(name "go-github-com-nwidger-jsoncolor") (name "go-github-com-nwidger-jsoncolor")
@ -2776,7 +3172,7 @@ protocol.")
#:import-path "github.com/quic-go/webtransport-go")) #:import-path "github.com/quic-go/webtransport-go"))
(native-inputs (native-inputs
(list go-go-uber-org-mock (list go-go-uber-org-mock
go-github-com-stretchr-testify-next)) go-github-com-stretchr-testify))
(propagated-inputs (propagated-inputs
(list go-github-com-quic-go-quic-go (list go-github-com-quic-go-quic-go
go-golang-org-x-exp)) go-golang-org-x-exp))
@ -3224,6 +3620,33 @@ programming language.")
programming language, which supports draft-04, draft-06 and draft-07.") programming language, which supports draft-04, draft-06 and draft-07.")
(license license:asl2.0)))) (license license:asl2.0))))
(define-public go-golang-org-x-oauth2
(package
(name "go-golang-org-x-oauth2")
(version "0.21.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/oauth2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0pzpa9jqrfxxhxi1w7n5ljnvr9qfw42hzavz62fc9i6z9vk2466k"))))
(build-system go-build-system)
(arguments
(list
#:import-path "golang.org/x/oauth2"))
(propagated-inputs
(list go-cloud-google-com-go-compute-metadata
go-github-com-google-go-cmp))
(home-page "https://go.googlesource.com/oauth2")
(synopsis "Client implementation of the OAuth 2.0 spec")
(description
"This package contains a client implementation for OAuth 2.0
spec in Go.")
(license license:bsd-3)))
;; XXX: This repository has been archived by the owner on Feb 27, 2023. It is ;; XXX: This repository has been archived by the owner on Feb 27, 2023. It is
;; now read-only and it is DEPRECATED. ;; now read-only and it is DEPRECATED.
(define-public go-gopkg-in-square-go-jose-v2 (define-public go-gopkg-in-square-go-jose-v2
@ -3250,7 +3673,7 @@ programming language, which supports draft-04, draft-06 and draft-07.")
(propagated-inputs (propagated-inputs
(list go-golang-org-x-crypto)) (list go-golang-org-x-crypto))
(native-inputs (native-inputs
(list go-github-com-google-go-cmp-cmp (list go-github-com-google-go-cmp
go-github-com-stretchr-testify)) go-github-com-stretchr-testify))
(home-page "https://gopkg.in/square/go-jose.v2") (home-page "https://gopkg.in/square/go-jose.v2")
(synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go") (synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go")

View file

@ -9,6 +9,7 @@
;;; Copyright © 2019-2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz> ;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020, 2021 raingloom <raingloom@riseup.net> ;;; Copyright © 2020, 2021 raingloom <raingloom@riseup.net>
@ -34,9 +35,10 @@
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu> ;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee> ;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email> ;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Luis Higino <luishenriquegh2701@gmail.com> ;;; Copyright © 2024 Luis Higino <luishenriquegh2701@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -292,6 +294,70 @@ a human-readable byte format.")
search functionality to database applications.") search functionality to database applications.")
(license license:expat))) (license license:expat)))
(define-public go-git-sr-ht-rjarry-go-opt
(package
(name "go-git-sr-ht-rjarry-go-opt")
(version "1.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~rjarry/go-opt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jcs3bn43g3wv4d5w59zazy139qfkn0903lnvndfn06s81gzqpch"))))
(build-system go-build-system)
(arguments
(list
#:import-path "git.sr.ht/~rjarry/go-opt"))
(native-inputs
(list go-github-com-stretchr-testify))
(home-page "https://git.sr.ht/~rjarry/go-opt")
(synopsis "Argument parsing and completion based on struct tags")
(description
"@code{go-opt} is a library to parse command line arguments based on tag
annotations on struct fields. It came as a spin-off from
@url{https://git.sr.ht/~rjarry/aerc,aerc} to deal with its internal
commands.")
(license license:expat)))
(define-public go-git-sr-ht-rockorager-vaxis
(package
(name "go-git-sr-ht-rockorager-vaxis")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~rockorager/vaxis")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0pmi4bigqgrfdlk9d6ia3jxgcr4iadiyynf6bny9fdc3yyppcxic"))))
(build-system go-build-system)
(arguments
(list
#:import-path "git.sr.ht/~rockorager/vaxis"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-containerd-console
go-github-com-creack-pty
go-github-com-mattn-go-runewidth
go-github-com-mattn-go-sixel
go-github-com-rivo-uniseg
go-golang-org-x-exp
go-golang-org-x-image
go-golang-org-x-sys))
(home-page "https://git.sr.ht/~rockorager/vaxis")
(synopsis "TUI library for Golang")
(description
"Package vaxis is a terminal user interface for modern terminals. It
supports supports modern terminal features, such as styled underlines and
graphics. A widgets package is provided with some useful widgets.")
(license license:asl2.0)))
(define-public go-git-sr-ht-sircmpwn-getopt (define-public go-git-sr-ht-sircmpwn-getopt
(package (package
(name "go-git-sr-ht-sircmpwn-getopt") (name "go-git-sr-ht-sircmpwn-getopt")
@ -795,6 +861,33 @@ optimized for sparse nodes of
@url{http://en.wikipedia.org/wiki/Radix_tree,radix tree}.") @url{http://en.wikipedia.org/wiki/Radix_tree,radix tree}.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-arran4-golang-ical
(package
(name "go-github-com-arran4-golang-ical")
(version "0.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/arran4/golang-ical")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0gcn5afds1dnq3wrl4ndi4wqqwmrnvh9pdqhyv77d3cqakn82vj3"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/arran4/golang-ical"))
(native-inputs
(list go-github-com-google-go-cmp
go-github-com-stretchr-testify))
(home-page "https://github.com/arran4/golang-ical")
(synopsis "Handle iCalenders in Go")
(description
"The @code{ical} package provides an ICS/iCalender parser and serialiser
for Go.")
(license license:asl2.0)))
(define-public go-github-com-audriusbutkevicius-recli (define-public go-github-com-audriusbutkevicius-recli
(package (package
(name "go-github-com-audriusbutkevicius-recli") (name "go-github-com-audriusbutkevicius-recli")
@ -824,6 +917,96 @@ for generating command line clients for your application configuration that is
stored in a Go struct.") stored in a Go struct.")
(license license:mpl2.0))) (license license:mpl2.0)))
(define-public go-github-com-avast-retry-go
(package
(name "go-github-com-avast-retry-go")
(version "2.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/avast/retry-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0zkn8c2gyz8j90bf0aj6avfl3sf7j4rk5g4ak4yhglnsx72jdhbz"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/avast/retry-go"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(substitute* (find-files "." "\\_test.go$")
(("TestMaxDelay") "OffTestMaxDelay")))))
(add-after 'unpack 'remove-examples
(lambda* (#:key import-path #:allow-other-keys)
(delete-file-recursively
(string-append "src/" import-path "/examples")))))))
(propagated-inputs (list go-github-com-stretchr-testify))
(home-page "https://github.com/avast/retry-go")
(synopsis "Simple golang library for retry mechanism")
(description
"This package is a simple Go library that provides retry functionality
for functions that may fail. It includes various customizable retry
strategies, such as fixed delay, backoff delay, and random delay.")
(license license:expat)))
(define-public go-github-com-avast-retry-go-v3
(package
(inherit go-github-com-avast-retry-go)
(name "go-github-com-avast-retry-go-v3")
(version "3.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/avast/retry-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01mwrzjh2y3xignkivx8kaghjs3gwb3z89zqgxjfaslslazc863b"))))
(arguments
(list
#:import-path "github.com/avast/retry-go/v3"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(substitute* (find-files "." "\\_test.go$")
(("TestMaxDelay") "OffTestMaxDelay")))))
(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-avast-retry-go-v4
(package
(inherit go-github-com-avast-retry-go)
(name "go-github-com-avast-retry-go-v4")
(version "4.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/avast/retry-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "09gs4wmkq7ragyf2xd0h6j8f9xqq66cwa95kwp5qdwz3wwv9xq1b"))))
(arguments
(list
#:import-path "github.com/avast/retry-go/v4"
#: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-aymanbagabas-go-osc52-v2 (define-public go-github-com-aymanbagabas-go-osc52-v2
(package (package
(name "go-github-com-aymanbagabas-go-osc52-v2") (name "go-github-com-aymanbagabas-go-osc52-v2")
@ -872,9 +1055,9 @@ interface around the standard library's @code{time} package so that the applicat
can use the realtime clock while tests can use the mock clock.") can use the realtime clock while tests can use the mock clock.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-beorn7-perks-quantile (define-public go-github-com-beorn7-perks
(package (package
(name "go-github-com-beorn7-perks-quantile") (name "go-github-com-beorn7-perks")
(version "1.0.1") (version "1.0.1")
(source (source
(origin (origin
@ -887,8 +1070,17 @@ can use the realtime clock while tests can use the mock clock.")
(base32 "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7")))) (base32 "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:import-path "github.com/beorn7/perks/quantile" (list
#:unpack-path "github.com/beorn7/perks")) #:import-path "github.com/beorn7/perks"
#:phases
#~(modify-phases %standard-phases
;; XXX: Workaround for go-build-system's lack of Go modules support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(home-page "https://github.com/beorn7/perks") (home-page "https://github.com/beorn7/perks")
(synopsis "Compute approximate quantiles over an unbounded data stream") (synopsis "Compute approximate quantiles over an unbounded data stream")
(description (description
@ -1015,6 +1207,35 @@ information and periodically output metrics")
quantiles over an unbounded data stream within low memory and CPU bounds.") quantiles over an unbounded data stream within low memory and CPU bounds.")
(license license:bsd-2))) (license license:bsd-2)))
;; XXX: This repository has been archived by the owner on Mar 9, 2019. It is
;; now read-only.
(define-public go-github-com-boltdb-bolt
(package
(name "go-github-com-boltdb-bolt")
(version "1.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/boltdb/bolt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r"))))
(build-system go-build-system)
(arguments
(list
#:tests? #f ;tests are broken in upstream
#:import-path "github.com/boltdb/bolt"))
(home-page "https://github.com/boltdb/bolt")
(synopsis "Embedded key/value database for Golang")
(description
"Bolt is a pure Go key/value store inspired by
@url{http://symas.com/mdb/, Howard Chu's LMDB project}. The goal of the
project is to provide a simple, fast, and reliable database for projects that
don't require a full database server such as Postgres or MySQL.")
(license license:expat)))
(define-public go-github-com-briandowns-spinner (define-public go-github-com-briandowns-spinner
(package (package
(name "go-github-com-briandowns-spinner") (name "go-github-com-briandowns-spinner")
@ -1050,7 +1271,7 @@ indicator to any terminal application.")
(define-public go-github-com-burntsushi-toml (define-public go-github-com-burntsushi-toml
(package (package
(name "go-github-com-burntsushi-toml") (name "go-github-com-burntsushi-toml")
(version "1.2.1") (version "1.4.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1059,10 +1280,19 @@ indicator to any terminal application.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1v9czq4hsyvdz7yx70y6sgq77wmrgfmn09r9cj4w85z38jqnamv7")))) (base32 "1vk0s7pcn80hkx0lcyws509gqs42c8y1rppv05zxiqj0yn2zrjnx"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/BurntSushi/toml")) (list
#:import-path "github.com/BurntSushi/toml"
#:phases
#~(modify-phases %standard-phases
;; XXX: Replace when go-build-system supports nested path.
(replace 'check
(lambda* (#:key import-path tests? #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(home-page "https://github.com/BurntSushi/toml") (home-page "https://github.com/BurntSushi/toml")
(synopsis "Toml parser and encoder for Go") (synopsis "Toml parser and encoder for Go")
(description (description
@ -1219,7 +1449,7 @@ levels that works by wrapping the standard @code{log} library.")
(arguments (arguments
(list (list
#:import-path "github.com/coocood/freecache")) #:import-path "github.com/coocood/freecache"))
(propagated-inputs (list go-github-com-cespare-xxhash)) (propagated-inputs (list go-github-com-cespare-xxhash-v2))
(home-page "https://github.com/coocood/freecache") (home-page "https://github.com/coocood/freecache")
(synopsis "Caching library for Go") (synopsis "Caching library for Go")
(description (description
@ -1727,6 +1957,91 @@ scanner API made public.")
for @code{Set}, @code{Get}, @code{Delete} and @code{Len}.") for @code{Set}, @code{Get}, @code{Delete} and @code{Len}.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-emersion-go-ical
(package
(name "go-github-com-emersion-go-ical")
(version "0.0.0-20240127095438-fc1c9d8fb2b6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-ical")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "01cn9kggkdalb6xp2nrka01gs40zs8v6h5bq8d2m8wrdcsy5b36v"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-ical"))
(propagated-inputs (list go-github-com-teambition-rrule-go))
(home-page "https://github.com/emersion/go-ical")
(synopsis "iCalendar library for Golang")
(description
"This package implements @url{https://tools.ietf.org/html/rfc5545, RFC
5545} iCalendar specification.")
(license license:expat)))
(define-public go-github-com-emersion-go-vcard
(package
(name "go-github-com-emersion-go-vcard")
(version "0.0.0-20230815062825-8fda7d206ec9")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-vcard")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "12n5jinj5xzdfl9jhqvjbzxvj32bw310mdw4q5rjv35pk566zixl"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-vcard"))
(home-page "https://github.com/emersion/go-vcard")
(synopsis "Parse and format vCard in Golang")
(description
"This package implements functionality to parse and format vCard as
specified in @url{https://datatracker.ietf.org/doc/html/rfc6350, RFC 6350}.")
(license license:expat)))
(define-public go-github-com-emersion-go-webdav
(package
(name "go-github-com-emersion-go-webdav")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-webdav")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ay0x3c1frkj4z3j17s42yvf1hgmg8223qmsyr41yxwz88zsvjlj"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/emersion/go-webdav"
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs
(list go-github-com-emersion-go-ical
go-github-com-emersion-go-vcard))
(home-page "https://github.com/emersion/go-webdav")
(synopsis "WebDAV, CalDAV and CardDAV implementations in Golang")
(description
"This package provides Golang modules implementing WebDAV
@url{https://tools.ietf.org/html/rfc4918, RFC 4918}, CalDAV
@url{https://tools.ietf.org/html/rfc4791, RFC 4791} and CardDAV
@url{https://tools.ietf.org/html/rfc6352, RFC 6352} specifications.")
(license license:expat)))
(define-public go-github-com-errata-ai-ini (define-public go-github-com-errata-ai-ini
(package (package
(name "go-github-com-errata-ai-ini") (name "go-github-com-errata-ai-ini")
@ -2008,6 +2323,61 @@ Differentiation between text and binary files}.
@end itemize") @end itemize")
(license license:expat))) (license license:expat)))
(define-public go-github-com-go-kit-log
(package
(name "go-github-com-go-kit-log")
(version "0.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/go-kit/log")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xjv2g1cd1iaghhm1c1zw0lcz89a9zq5xradyjipvrbqxbxckqm6"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/go-kit/log"))
(propagated-inputs
(list go-github-com-go-logfmt-logfmt))
(home-page "https://github.com/go-kit/log")
(synopsis "Minimal and extensible structured logger")
(description
"This package provides a minimal interface for structured logging in
services. It may be wrapped to encode conventions, enforce type-safety,
provide leveled logging, and so on. It can be used for both typical
application log events, and log-structured data streams.")
(license license:expat)))
(define-public go-github-com-go-logfmt-logfmt
(package
(name "go-github-com-go-logfmt-logfmt")
(version "0.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/go-logfmt/logfmt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0s3dz7z5a8p5ia5czihy5y2hkij7rdfyr425sw9rnxqil3d0dlj6"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/go-logfmt/logfmt"))
(home-page "https://github.com/go-logfmt/logfmt")
(synopsis "Marshal and unmarshal logfmt messages")
(description
"Package logfmt implements utilities to marshal and unmarshal data in the
logfmt format. The logfmt format records key/value pairs in a way that
balances readability for humans and simplicity of computer parsing. It is
most commonly used as a more human friendly alternative to JSON for structured
logging.")
(license license:expat)))
(define-public go-github-com-go-logr-logr (define-public go-github-com-go-logr-logr
(package (package
(name "go-github-com-go-logr-logr") (name "go-github-com-go-logr-logr")
@ -2154,7 +2524,7 @@ the library more lightweight.")
(invoke "go" "test" "-v" "./...")))))))) (invoke "go" "test" "-v" "./..."))))))))
(native-inputs (native-inputs
(list go-github-com-go-playground-validator-v10 (list go-github-com-go-playground-validator-v10
go-github-com-google-go-cmp-cmp)) go-github-com-google-go-cmp))
(propagated-inputs (propagated-inputs
(list go-github-com-fatih-color (list go-github-com-fatih-color
go-golang-org-x-xerrors)) go-golang-org-x-xerrors))
@ -2756,6 +3126,31 @@ storing only one copy of each unique string in memory. All functions may be
called concurrently with themselves and each other.") called concurrently with themselves and each other.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-jpillora-backoff
(let ((commit "fab01a9d9810a410d2d95a0a697f0afb604658f9")
(revision "1"))
(package
(name "go-github-com-jpillora-backoff")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jpillora/backoff")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0irpxdjvwmfd1njvws5x466ar8faiwjnnna26jnly9sw1b0h1b89"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/jpillora/backoff"))
(home-page "https://github.com/jpillora/backoff")
(synopsis "Simple exponential backoff counter in Go")
(description
"This package is a simple exponential backoff counter in Go.")
(license license:expat))))
(define-public go-github-com-k0kubun-go-ansi (define-public go-github-com-k0kubun-go-ansi
(package (package
(name "go-github-com-k0kubun-go-ansi") (name "go-github-com-k0kubun-go-ansi")
@ -3111,7 +3506,7 @@ implementing features like:
(list (list
#:import-path "github.com/Masterminds/semver/v3")) #:import-path "github.com/Masterminds/semver/v3"))
(native-inputs (native-inputs
(list go-github-com-stretchr-testify-next)) (list go-github-com-stretchr-testify))
(home-page "https://github.com/Masterminds/semver/") (home-page "https://github.com/Masterminds/semver/")
(synopsis "@code{semver} helps to work with semantic versions") (synopsis "@code{semver} helps to work with semantic versions")
(description (description
@ -3335,6 +3730,32 @@ string.")
the @code{cpan} module @code{Parse::CommandLine}.") the @code{cpan} module @code{Parse::CommandLine}.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-mattn-go-sixel
(package
(name "go-github-com-mattn-go-sixel")
(version "0.0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattn/go-sixel")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0icv1mcavdw867s47kwvd16q19h2a4znph850lyq18d5z00kpjjs"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/mattn/go-sixel"))
(propagated-inputs
(list go-github-com-soniakeys-quant))
(home-page "https://github.com/mattn/go-sixel")
(synopsis "DRCS/Sixel Encoder/Decoder")
(description
"This package implements functionality to encode and decode
@acronym{DRCS,Dynamically Redefinable Character Sets} Sixel.")
(license license:expat)))
(define-public go-github-com-mattn-go-sqlite3 (define-public go-github-com-mattn-go-sqlite3
(package (package
(name "go-github-com-mattn-go-sqlite3") (name "go-github-com-mattn-go-sqlite3")
@ -3359,6 +3780,35 @@ the @code{cpan} module @code{Parse::CommandLine}.")
@code{database/sql}.") @code{database/sql}.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-mattn-go-tty
(package
(name "go-github-com-mattn-go-tty")
(version "0.0.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattn/go-tty")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "09ndgwrx99jqaakmhk4v2pnai9h2mvryapc3qg6i33v2x809y6z6"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/mattn/go-tty"))
(propagated-inputs
(list go-github-com-mattn-go-colorable
go-github-com-mattn-go-isatty
go-github-com-mattn-go-runewidth
go-golang-org-x-sys))
(home-page "https://github.com/mattn/go-tty")
(synopsis "Simple TTY utility for Golang")
(description
"This package provides a TTY utilities implementation for verity of
operation systems.")
(license license:expat)))
(define-public go-github-com-mattn-go-zglob (define-public go-github-com-mattn-go-zglob
(package (package
(name "go-github-com-mattn-go-zglob") (name "go-github-com-mattn-go-zglob")
@ -3847,38 +4297,6 @@ varints.")
very fast, and tries to be entropy pool friendly.") very fast, and tries to be entropy pool friendly.")
(license license:asl2.0))) (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
(list
;; The project looks abandoned, tests failed with a new go-metrics.
#:tests? #f
#: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-neurosnap-sentences (define-public go-github-com-neurosnap-sentences
(package (package
(name "go-github-com-neurosnap-sentences") (name "go-github-com-neurosnap-sentences")
@ -4223,34 +4641,6 @@ Pion}.")
"@code{refmt} is a serialization and object-mapping library.") "@code{refmt} is a serialization and object-mapping library.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-prometheus-client-model
(package
(name "go-github-com-prometheus-client-model")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/client_model")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pl9i969jx5vkhm8vd5vb8yrifv37aw6h8mjg04820pw0ygfbigy"))))
(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))
(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-pterm-pterm (define-public go-github-com-pterm-pterm
(package (package
(name "go-github-com-pterm-pterm") (name "go-github-com-pterm-pterm")
@ -4563,6 +4953,29 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
"@{gitconfig} is a package to get configuration values from gitconfig.") "@{gitconfig} is a package to get configuration values from gitconfig.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-soniakeys-quant
(package
(name "go-github-com-soniakeys-quant")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/soniakeys/quant")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0y50h4d9l4v1dxhf99ys6fha5c7viflwdnlfxn7glf2jr49x5z78"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/soniakeys/quant"))
(home-page "https://github.com/soniakeys/quant")
(synopsis "Interface for image color quantizers")
(description
"Quant provides an interface for image color quantizers.")
(license license:expat)))
(define-public go-github-com-spf13-cobra (define-public go-github-com-spf13-cobra
(package (package
(name "go-github-com-spf13-cobra") (name "go-github-com-spf13-cobra")
@ -4656,6 +5069,31 @@ well as a program to generate applications and command files.")
storage system.") storage system.")
(license license:bsd-2))) (license license:bsd-2)))
(define-public go-github-com-teambition-rrule-go
(package
(name "go-github-com-teambition-rrule-go")
(version "1.8.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/teambition/rrule-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1fnbava35w9z60carny5b7whd4nkv6hrf9g43wwg8d88gfij9zj2"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/teambition/rrule-go"))
(home-page "https://github.com/teambition/rrule-go")
(synopsis "Recurrence rules for calendar dates for Golang")
(description
"This package provides a functionality to work with recurrence rules for
calendar dates. It offers a complete implementation of the
@url{https://www.ietf.org/rfc/rfc2445.txt,RFC 2445} specification.")
(license license:expat)))
(define-public go-github-com-thejerf-suture (define-public go-github-com-thejerf-suture
(package (package
(name "go-github-com-thejerf-suture") (name "go-github-com-thejerf-suture")
@ -5158,7 +5596,7 @@ CPU quota.")
(list (list
#:import-path "go.uber.org/dig")) #:import-path "go.uber.org/dig"))
(native-inputs (native-inputs
(list go-github-com-stretchr-testify-next)) (list go-github-com-stretchr-testify))
(home-page "https://pkg.go.dev/go.uber.org/dig") (home-page "https://pkg.go.dev/go.uber.org/dig")
(synopsis "Reflection based dependency injection toolkit for Golang") (synopsis "Reflection based dependency injection toolkit for Golang")
(description (description
@ -5184,7 +5622,7 @@ object dependencies graph during the process startup.")
(list (list
#:import-path "go.uber.org/fx")) #:import-path "go.uber.org/fx"))
(native-inputs (native-inputs
(list go-github-com-stretchr-testify-next)) (list go-github-com-stretchr-testify))
(propagated-inputs (propagated-inputs
(list go-go-uber-org-dig (list go-go-uber-org-dig
go-go-uber-org-goleak go-go-uber-org-goleak
@ -5252,7 +5690,7 @@ applications out of reusable, composable modules.")
(string-append "src/" import-path (string-append "src/" import-path
"/stacktrace_ext_test.go"))))))) "/stacktrace_ext_test.go")))))))
(native-inputs (native-inputs
(list go-github-com-stretchr-testify-next (list go-github-com-stretchr-testify
go-go-uber-org-goleak go-go-uber-org-goleak
go-golang-org-x-lint go-golang-org-x-lint
go-honnef-co-go-tools)) go-honnef-co-go-tools))
@ -5277,6 +5715,30 @@ Go.")
(list (list
#:import-path "gopkg.in/alecthomas/kingpin.v2")))) #:import-path "gopkg.in/alecthomas/kingpin.v2"))))
(define-public go-gopkg-in-ini-v1
(package
(name "go-gopkg-in-ini-v1")
(version "1.67.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/go-ini/ini")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vpzkjmrwp7bqqsijp61293kk2vn6lcck56j8m5y6ks6cf21lpap"))))
(build-system go-build-system)
(arguments
(list
#:import-path "gopkg.in/ini.v1"))
(native-inputs
(list go-github-com-stretchr-testify))
(home-page "https://gopkg.in/ini.v1")
(synopsis "Go library for ini files")
(description "Go library for ini files")
(license license:asl2.0)))
(define-public go-gopkg-in-natefinch-lumberjack.v2 (define-public go-gopkg-in-natefinch-lumberjack.v2
(package (package
(name "go-gopkg-in-natefinch-lumberjack.v2") (name "go-gopkg-in-natefinch-lumberjack.v2")
@ -5458,6 +5920,21 @@ tool."))))
"\nThis package provides an command line interface (CLI) "\nThis package provides an command line interface (CLI)
tool.")))) tool."))))
(define-public go-tomlv
(package
(inherit go-github-com-burntsushi-toml)
(name "go-tomlv")
(arguments
(list
#:install-source? #f
#:tests? #f ; no tests.
#:import-path "github.com/BurntSushi/toml/cmd/tomlv"
#:unpack-path "github.com/BurntSushi/toml"))
(description
(string-append (package-description go-github-com-burntsushi-toml)
" This package provides an command line interface (CLI)
tool."))))
;;; ;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; 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 ;;; of a merge conflict, place them above by existing packages with similar

File diff suppressed because it is too large Load diff

View file

@ -37,6 +37,7 @@
#:use-module (gnu packages golang-crypto) #:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web) #:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages shells) #:use-module (gnu packages shells)
#:use-module (gnu packages specifications)) #:use-module (gnu packages specifications))
@ -606,7 +607,7 @@ and @code{go-ipld-format} legacy interface.")
go-github-com-warpfork-go-testmark go-github-com-warpfork-go-testmark
specification-ipld)) specification-ipld))
(propagated-inputs (propagated-inputs
(list go-github-com-google-go-cmp-cmp (list go-github-com-google-go-cmp
go-github-com-ipfs-go-block-format go-github-com-ipfs-go-block-format
go-github-com-ipfs-go-cid go-github-com-ipfs-go-cid
go-github-com-multiformats-go-multicodec go-github-com-multiformats-go-multicodec
@ -799,7 +800,7 @@ daemon as described in
#:import-path "github.com/whyrusleeping/cbor-gen")) #:import-path "github.com/whyrusleeping/cbor-gen"))
(propagated-inputs (propagated-inputs
(list go-github-com-ipfs-go-cid (list go-github-com-ipfs-go-cid
go-github-com-google-go-cmp-cmp go-github-com-google-go-cmp
go-golang-org-x-xerrors)) go-golang-org-x-xerrors))
(home-page "https://github.com/whyrusleeping/cbor-gen") (home-page "https://github.com/whyrusleeping/cbor-gen")
(synopsis "Codegen for CBOR codecs on the specified types") (synopsis "Codegen for CBOR codecs on the specified types")
@ -1135,6 +1136,7 @@ written in Go.")
;; available. ;; available.
;; ;;
go-github-com-alecthomas-units ; github.com/ipfs/boxo go-github-com-alecthomas-units ; github.com/ipfs/boxo
go-github-com-cespare-xxhash
go-github-com-docker-go-units ; github.com/containerd/cgroups go-github-com-docker-go-units ; github.com/containerd/cgroups
go-github-com-felixge-httpsnoop ; go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp go-github-com-felixge-httpsnoop ; go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
go-github-com-flynn-noise ; github.com/libp2p/go-libp2p go-github-com-flynn-noise ; github.com/libp2p/go-libp2p

View file

@ -90,6 +90,7 @@
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)

View file

@ -9324,31 +9324,45 @@ nfnetlink_queue, nfnetlink_conntrack) and their respective users and/or
management tools in userspace.") management tools in userspace.")
(license license:gpl2))) (license license:gpl2)))
(define-public go-netlink (define-public go-github-com-vishvananda-netlink
(package (package
(name "go-netlink") (name "go-github-com-vishvananda-netlink")
(version "1.0.0") (version "1.1.0")
(source (origin (source
(method git-fetch) (origin
(uri (git-reference (method git-fetch)
(url "https://github.com/vishvananda/netlink") (uri (git-reference
(commit (string-append "v" version)))) (url "https://github.com/vishvananda/netlink")
(file-name (git-file-name name version)) (commit (string-append "v" version))))
(sha256 (file-name (git-file-name name version))
(base32 (sha256
"0hpzghf1a4cwawzhkiwdzin80h6hd09fskl77d5ppgc084yvj8x0")))) (base32 "1vhl30p1gx636a088ls4h6a0l8jjyfvz79fr5w0qzdrg4qg9h08h"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:tests? #f ; Tests depend on specific kernel modules. (list
#:import-path "github.com/vishvananda/netlink")) ;; The tests are unsupported on all architectures except x86_64-linux:
(native-inputs ;; cannot use 0xabcdef99 (untyped int constant 2882400153) as int value
(list go-golang-org-x-sys go-netns)) ;; in struct literal (overflows)
#:tests? (and (not (%current-target-system)) (target-x86-64?))
#:import-path "github.com/vishvananda/netlink"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda* (#:key tests? unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(substitute* (find-files "." "\\_test.go$")
;; Disable tests requiring root access.
(("TestNetNsIdByFd") "OffTestNetNsIdByFd")
(("TestNetNsIdByPid") "OffTestNetNsIdByPid"))))))))
(propagated-inputs
(list go-golang-org-x-sys go-github-com-vishvananda-netns))
(home-page "https://github.com/vishvananda/netlink") (home-page "https://github.com/vishvananda/netlink")
(synopsis "Simple netlink library for Go") (synopsis "Simple netlink library for Go")
(description "The netlink package provides a simple netlink library for (description
Go. Netlink is the interface a user-space program in Linux uses to "The netlink package provides a simple netlink library for Go. Netlink
communicate with the kernel. It can be used to add and remove interfaces, set is the interface a user-space program in Linux uses to communicate with the
IP addresses and routes, and configure IPsec.") kernel. It can be used to add and remove interfaces, set IP addresses and
routes, and configure IPsec.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public libinih (define-public libinih

View file

@ -56,6 +56,7 @@
;;; Copyright © 2023 Arjan Adriaanse <arjan@adriaan.se> ;;; Copyright © 2023 Arjan Adriaanse <arjan@adriaan.se>
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu> ;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024 Benjamin Slade <slade@lambda-y.net> ;;; Copyright © 2024 Benjamin Slade <slade@lambda-y.net>
;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -5034,7 +5035,7 @@ remote SMTP server.")
(define-public aerc (define-public aerc
(package (package
(name "aerc") (name "aerc")
(version "0.15.2") (version "0.18.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -5043,7 +5044,7 @@ remote SMTP server.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1gbprx0i8d13q974n5hsys6lllav5cpll3cwrr1hfw6307hc001r")))) "1gj8m8xvqaf0lsnk4h1n9d0qhwi8d3mm0w9zhw16v888n7rll9fb"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:import-path "git.sr.ht/~rjarry/aerc" (list #:import-path "git.sr.ht/~rjarry/aerc"
@ -5052,23 +5053,19 @@ remote SMTP server.")
#:build-flags #:build-flags
#~(list "-tags=notmuch" #~(list "-tags=notmuch"
(string-append (string-append
"-ldflags=-X main.Version=" #$version "-ldflags=-X main.Version=" #$version
" -X git.sr.ht/~rjarry/aerc/config.libexecDir=" " -X git.sr.ht/~rjarry/aerc/config.libexecDir="
#$output "/libexec/aerc" #$output "/libexec/aerc"
" -X git.sr.ht/~rjarry/aerc/config.shareDir=" " -X git.sr.ht/~rjarry/aerc/config.shareDir="
#$output "/share/aerc")) #$output "/share/aerc"))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths (add-after 'unpack 'patch-paths
(lambda* (#:key import-path inputs #:allow-other-keys) (lambda* (#:key import-path inputs #:allow-other-keys)
(with-directory-excursion (with-directory-excursion (string-append "src/" import-path)
(string-append "src/" import-path) (substitute* (find-files "." "\\.go$")
(substitute* (list "config/config.go" ;; Patch all occurrences to "sh" with absolute path to
"lib/templates/template.go" ;; the shell available in Guix.
"widgets/compose.go"
"widgets/msgviewer.go"
"worker/maildir/worker.go"
"worker/notmuch/worker.go")
(("\"sh\"") (("\"sh\"")
(string-append (string-append
"\"" (search-input-file inputs "bin/sh") "\"" (search-input-file inputs "bin/sh")
@ -5077,8 +5074,8 @@ remote SMTP server.")
(substitute* "commands/z.go" (substitute* "commands/z.go"
(("\"zoxide\"") (("\"zoxide\"")
(string-append (string-append
"\"" (search-input-file inputs "bin/zoxide") "\"" (search-input-file inputs "bin/zoxide")
"\"")))) "\""))))
(substitute* (list "lib/crypto/gpg/gpg.go" (substitute* (list "lib/crypto/gpg/gpg.go"
"lib/crypto/gpg/gpg_test.go" "lib/crypto/gpg/gpg_test.go"
"lib/crypto/gpg/gpgbin/keys.go" "lib/crypto/gpg/gpgbin/keys.go"
@ -5100,51 +5097,47 @@ remote SMTP server.")
(string-append "PREFIX=" #$output))))))) (string-append "PREFIX=" #$output)))))))
(inputs (inputs
(append (append
(list gnupg (list gnupg
go-github-com-zenhack-go-notmuch notmuch ; Failing to build without it.
go-golang-org-x-oauth2 python
go-github-com-xo-terminfo python-vobject)
go-github-com-stretchr-testify (if (supported-package? zoxide)
go-github-com-riywo-loginshell (list zoxide)
go-github-com-pkg-errors '())))
go-github-com-mitchellh-go-homedir (native-inputs
go-github-com-miolini-datacounter (list go-git-sr-ht-rjarry-go-opt
go-github-com-mattn-go-runewidth go-git-sr-ht-rockorager-go-jmap
go-github-com-mattn-go-isatty go-git-sr-ht-rockorager-vaxis
go-github-com-lithammer-fuzzysearch go-github-com-protonmail-go-crypto
go-github-com-kyoh86-xdg go-github-com-arran4-golang-ical
go-github-com-imdario-mergo go-github-com-danwakefield-fnmatch
go-github-com-google-shlex go-github-com-emersion-go-imap
go-github-com-go-ini-ini go-github-com-emersion-go-imap-sortthread
go-github-com-gdamore-tcell-v2 go-github-com-emersion-go-maildir
go-github-com-gatherstars-com-jwz go-github-com-emersion-go-mbox
go-github-com-fsnotify-fsnotify go-github-com-emersion-go-message
go-github-com-emersion-go-smtp go-github-com-emersion-go-msgauth
go-github-com-emersion-go-sasl go-github-com-emersion-go-pgpmail
go-github-com-emersion-go-pgpmail go-github-com-emersion-go-sasl
go-github-com-emersion-go-message go-github-com-emersion-go-smtp
go-github-com-emersion-go-maildir go-github-com-fsnotify-fsnotify
go-github-com-emersion-go-imap-sortthread go-github-com-gatherstars-com-jwz
go-github-com-emersion-go-imap go-github-com-go-ini-ini
go-github-com-emersion-go-msgauth go-github-com-lithammer-fuzzysearch
go-github-com-emersion-go-mbox go-github-com-mattn-go-isatty
go-github-com-ddevault-go-libvterm go-github-com-mattn-go-runewidth
go-github-com-danwakefield-fnmatch go-github-com-pkg-errors
go-github-com-creack-pty go-github-com-riywo-loginshell
go-github-com-arran4-golang-ical go-github-com-stretchr-testify
go-github-com-protonmail-go-crypto go-github-com-syndtr-goleveldb
go-github-com-syndtr-goleveldb go-golang-org-x-image
go-git-sr-ht-sircmpwn-getopt go-golang-org-x-oauth2
go-git-sr-ht-rockorager-tcell-term go-golang-org-x-sys
python go-golang-org-x-tools
python-vobject) scdoc))
(if (supported-package? zoxide)
(list zoxide)
'())))
(native-inputs (list scdoc))
(home-page "https://git.sr.ht/~rjarry/aerc") (home-page "https://git.sr.ht/~rjarry/aerc")
(synopsis "Email client for the terminal") (synopsis "Email client for the terminal")
(description "@code{aerc} is a textual email client for terminals. It (description "@code{aerc} is a textual email client for terminals. It
features: features:
@enumerate @enumerate
@item First-class support for using patches and @code{git send-email} @item First-class support for using patches and @code{git send-email}
@ -5157,3 +5150,41 @@ features:
;; <https://lists.sr.ht/~rjarry/aerc-devel/%3Cb5cb213a7d0c699a886971658c2476 ;; <https://lists.sr.ht/~rjarry/aerc-devel/%3Cb5cb213a7d0c699a886971658c2476
;; 1073eb2391%40disroot.org%3E> ;; 1073eb2391%40disroot.org%3E>
(license license:gpl3+))) (license license:gpl3+)))
(define-public hydroxide
(package
(name "hydroxide")
(version "0.2.29")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/hydroxide")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "11gbikrgm7nf0zjav64202wsnr9pvrmslm2rzg9d9rbvwdqcq1jl"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/emersion/hydroxide/cmd/hydroxide"
#:unpack-path "github.com/emersion/hydroxide"))
(native-inputs
(list go-github-com-protonmail-go-crypto
go-github-com-boltdb-bolt
go-github-com-emersion-go-bcrypt
go-github-com-emersion-go-imap
go-github-com-emersion-go-mbox
go-github-com-emersion-go-message
go-github-com-emersion-go-smtp
go-github-com-emersion-go-vcard
go-github-com-emersion-go-webdav
go-golang-org-x-crypto
go-golang-org-x-term))
(home-page "https://github.com/emersion/hydroxide")
(synopsis "ProtonMail CardDAV, IMAP and SMTP bridge")
(description
"This package implements a functionality to translate standard
protocols (SMTP, IMAP, CardDAV) into ProtonMail API requests.")
(license license:expat)))

View file

@ -161,6 +161,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit) #:use-module (gnu packages polkit)
#:use-module (gnu packages pretty-print) #:use-module (gnu packages pretty-print)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages protobuf) #:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python) #:use-module (gnu packages python)
@ -1916,30 +1917,40 @@ manage, and delete Internet resources from Gandi.net such as domain names,
virtual machines, and certificates.") virtual machines, and certificates.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public go-netns (define-public go-github-com-vishvananda-netns
(let ((commit "13995c7128ccc8e51e9a6bd2b551020a27180abd") (package
(revision "1")) (name "go-github-com-vishvananda-netns")
(package (version "0.0.4")
(name "go-netns") (source
(version (git-version "0.0.0" revision commit)) (origin
(source (origin (method git-fetch)
(method git-fetch) (uri (git-reference
(uri (git-reference (url "https://github.com/vishvananda/netns")
(url "https://github.com/vishvananda/netns") (commit (string-append "v" version))))
(commit commit))) (file-name (git-file-name name version))
(file-name (git-file-name name version)) (sha256
(sha256 (base32 "0rci8c211m57nya9il81fz6459pia3dj5i4b16fp34vjrkcxliml"))))
(base32 (build-system go-build-system)
"1zk6w8158qi4niva5rijchbv9ixgmijsgqshh54wdaav4xrhjshn")))) (arguments
(build-system go-build-system) (list
(arguments #:import-path "github.com/vishvananda/netns"
`(#:import-path "github.com/vishvananda/netns" #:phases
#:tests? #f)) ;tests require root privileges #~(modify-phases %standard-phases
(home-page "https://github.com/vishvananda/netns") (add-after 'unpack 'disable-failing-tests
(synopsis "Simple network namespace handling for Go") (lambda* (#:key tests? unpack-path #:allow-other-keys)
(description "The netns package provides a simple interface for (with-directory-excursion (string-append "src/" unpack-path)
handling network namespaces in Go.") (substitute* (find-files "." "\\_test.go$")
(license license:asl2.0)))) ;; Disable tests requiring root access.
(("TestGetNewSetDelete") "OffTestGetNewSetDelete")
(("TestThreaded") "OffTestThreaded"))))))))
(propagated-inputs
(list go-golang-org-x-sys))
(home-page "https://github.com/vishvananda/netns")
(synopsis "Simple network namespace handling for Go")
(description
"The netns package provides a simple interface for handling network
namespaces in Go.")
(license license:asl2.0)))
(define-public go-sctp (define-public go-sctp
;; docker-libnetwork-cmd-proxy requires this exact commit. ;; docker-libnetwork-cmd-proxy requires this exact commit.
@ -4624,8 +4635,6 @@ QUIC protocol.")
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:import-path "github.com/yggdrasil-network/yggdrasil-go" (list #:import-path "github.com/yggdrasil-network/yggdrasil-go"
;; TODO: figure out how tests are run
#:tests? #f
#:install-source? #f #:install-source? #f
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
@ -4644,34 +4653,30 @@ QUIC protocol.")
#:import-path directory)) #:import-path directory))
(list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil" (list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil"
"github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl" "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl"
"github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys")))))))) "github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys")))))
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./cmd/..." "./src/..."))))))))
(propagated-inputs (propagated-inputs
(list go-golang-zx2c4-com-wireguard (list ;; go-golang-org-x-mobile ; Not packed yet, for contrib.
go-golang-org-x-text ;; go-golang-zx2c4-com-wireguard-windows ; Not packed yet, for tun.
go-golang-org-x-net go-github-com-arceliar-ironwood
go-golang-org-x-crypto
go-golang-org-x-tools
go-golang-org-x-sys
go-netns
go-netlink
go-github-com-bits-and-blooms-bitset
go-github-com-bits-and-blooms-bloom
go-github-com-quic-go-quic-go
go-github-com-hjson-hjson-go
go-github-com-olekukonko-tablewriter
go-github-com-mitchellh-mapstructure
go-github-com-mattn-go-runewidth
go-github-com-mattn-go-isatty
go-github-com-mattn-go-colorable
go-github-com-kardianos-minwinsvc
go-github-com-hjson-hjson-go
go-github-com-hashicorp-go-syslog
go-github-com-gologme-log
go-github-com-fatih-color
go-github-com-cheggaaa-pb-v3
go-github-com-vividcortex-ewma
go-github-com-arceliar-phony go-github-com-arceliar-phony
go-github-com-arceliar-ironwood)) go-github-com-cheggaaa-pb-v3
go-github-com-gologme-log
go-github-com-hashicorp-go-syslog
go-github-com-hjson-hjson-go-v4
go-github-com-kardianos-minwinsvc
go-github-com-olekukonko-tablewriter
go-github-com-quic-go-quic-go
go-github-com-vishvananda-netlink
go-golang-org-x-crypto
go-golang-org-x-net
go-golang-org-x-sys
go-golang-org-x-text
go-golang-zx2c4-com-wireguard))
(home-page "https://yggdrasil-network.github.io/blog.html") (home-page "https://yggdrasil-network.github.io/blog.html")
(synopsis (synopsis
"Experiment in scalable routing as an encrypted IPv6 overlay network") "Experiment in scalable routing as an encrypted IPv6 overlay network")
@ -4702,7 +4707,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(define-public nebula (define-public nebula
(package (package
(name "nebula") (name "nebula")
(version "1.8.2") (version "1.9.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -4711,7 +4716,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ly1axgmskrkmxhzymqis6gxf2wd7rvhycm94wfb8k0hirndvg5m")) "08zzbx2v713zd9p7i4kd1bvcw47xb0092p5apba1x5wg6fpxw5zr"))
;; Remove windows-related binary blobs and files ;; Remove windows-related binary blobs and files
(snippet (snippet
#~(begin #~(begin
@ -4749,7 +4754,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(list go-dario-cat-mergo (list go-dario-cat-mergo
go-github-com-anmitsu-go-shlex go-github-com-anmitsu-go-shlex
go-github-com-armon-go-radix go-github-com-armon-go-radix
go-github-com-cespare-xxhash go-github-com-cespare-xxhash-v2
go-github-com-cyberdelia-go-metrics-graphite go-github-com-cyberdelia-go-metrics-graphite
go-github-com-flynn-noise go-github-com-flynn-noise
go-github-com-gogo-protobuf go-github-com-gogo-protobuf
@ -4770,8 +4775,8 @@ IPv6 Internet connectivity - it also works over IPv4.")
go-golang-org-x-term go-golang-org-x-term
go-google-golang-org-protobuf go-google-golang-org-protobuf
go-gopkg-in-yaml-v2 go-gopkg-in-yaml-v2
go-netlink go-github-com-vishvananda-netlink
go-netns)) go-github-com-vishvananda-netns))
(home-page "https://github.com/slackhq/nebula") (home-page "https://github.com/slackhq/nebula")
(synopsis "Scalable, peer-to-peer overlay networking tool") (synopsis "Scalable, peer-to-peer overlay networking tool")
(description (description

374
gnu/packages/prometheus.scm Normal file
View file

@ -0,0 +1,374 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2024 Dominic Martinez <dom@dominicm.dev>
;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@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 prometheus)
#: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 (gnu packages)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz))
;;; Commentary:
;;;
;;; Libraries and commands related to, or provided by Prometheus project
;;; <https://prometheus.io>.
;;;
;;; Please: Try to add new module packages in alphabetic order.
;;;
;;; Code:
;;;
;;; Libraries:
;;;
(define-public go-github-com-mwitkow-go-conntrack
(package
(name "go-github-com-mwitkow-go-conntrack")
(version "0.0.0-20190716064945-2f068394615f")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mwitkow/go-conntrack")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ymjmy12ks7smgwmrwsa5kf07d9w5kpk1dn650azlzr61b561aw7"))))
(build-system go-build-system)
(arguments
(list
#:tests? #f
#:import-path "github.com/mwitkow/go-conntrack"
#:phases
#~(modify-phases %standard-phases
;; Breaking cycle:
;; go-github-com-prometheus-common ->
;; go-github-com-prometheus-client-golang ->
;; go-github-com-mwitkow-go-conntrack ->
;; go-github-com-prometheus-common
(delete 'build))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-jpillora-backoff
go-github-com-munnerz-goautoneg
;; go-github-com-prometheus-client-golang
go-golang-org-x-net))
(home-page "https://github.com/mwitkow/go-conntrack")
(synopsis "Go middleware for @code{net.Conn} tracking")
(description
"@url{https://prometheus.io/,Prometheus} monitoring and
@url{https://godoc.org/golang.org/x/net/trace#@code{EventLog,(code}
x/net/trace)} tracing wrappers @code{net.Conn}, both inbound
(@@code{net.Listener}) and outbound (@@code{net.Dialer}).")
(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
(list
;; The project looks abandoned, tests failed with a new go-metrics, see
;; <https://github.com/nbrownus/go-metrics-prometheus/pull/2>.
#:tests? #f
#: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-prometheus-client-golang
(package
(name "go-github-com-prometheus-client-golang")
(version "1.19.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/client_golang")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mx5q221pbkx081ycf1lp8sxz513220ya8qczkkvab943cwlcarv"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/prometheus/client_golang"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples-and-tutorials
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(for-each delete-file-recursively
(list "api/prometheus/v1/example_test.go"
"examples"
"tutorial")))))
;; XXX: Workaround for go-build-system's lack of Go modules support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v" "./..."))))))))
(propagated-inputs
(list go-github-com-beorn7-perks
go-github-com-cespare-xxhash-v2
go-github-com-davecgh-go-spew
go-github-com-json-iterator-go
go-github-com-prometheus-client-model
go-github-com-prometheus-common
go-github-com-prometheus-procfs
go-golang-org-x-sys
go-google-golang-org-protobuf))
(home-page "https://github.com/prometheus/client_golang")
(synopsis "HTTP server and client tools for Prometheus")
(description
"This package @code{promhttp} provides HTTP client and server tools for
Prometheus metrics.")
(license license:asl2.0)))
(define-public go-github-com-prometheus-client-model
(package
(name "go-github-com-prometheus-client-model")
(version "0.6.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/client_model")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0g1q2szzwp4rwkvayi2mnq2nwj6hj4ja7j43vwyi1iaz6d9z505c"))))
(build-system go-build-system)
(arguments
(list
#: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))
(home-page "https://github.com/prometheus/client_model")
(synopsis "Data model artifacts for Prometheus")
(description
"This package provides data model artifacts for Prometheus.")
(license license:asl2.0)))
(define-public go-github-com-prometheus-common
(package
(name "go-github-com-prometheus-common")
(version "0.55.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/common")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bsbxil7qz8rhckhv0844nmn38g7i7347cjv5m6na47hbdpi0rqh"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Submodules with their own go.mod files and packed as
;; separated packages:
;;
;; - github.com/prometheus/common/assets
;; - github.com/prometheus/common/sigv4
(for-each delete-file-recursively
(list "assets" "sigv4"))))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/prometheus/common"
#:phases
#~(modify-phases %standard-phases
;; XXX: Workaround for go-build-system's lack of Go modules support.
(delete 'build)
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "test" "-v"
;; "./config/..." requries
;; <github.com/prometheus/client_golang/prometheus>,
;; which introduce cycle.
"./expfmt/..."
"./helpers/..."
"./model/..."
"./promlog/..."
"./route/..."
"./server/..."))))))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-alecthomas-kingpin-v2
go-github-com-go-kit-log
go-github-com-google-go-cmp
go-github-com-julienschmidt-httprouter
go-github-com-munnerz-goautoneg
go-github-com-mwitkow-go-conntrack
go-github-com-prometheus-client-model
go-golang-org-x-net
go-golang-org-x-oauth2
go-google-golang-org-protobuf
go-gopkg-in-yaml-v2))
(home-page "https://github.com/prometheus/common")
(synopsis "Prometheus metrics")
(description
"This package provides tools for reading and writing Prometheus
metrics.")
(license license:asl2.0)))
(define-public go-github-com-prometheus-common-assets
(package
(name "go-github-com-prometheus-common-assets")
(version "0.55.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/common")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bsbxil7qz8rhckhv0844nmn38g7i7347cjv5m6na47hbdpi0rqh"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/prometheus/common/assets"
#:unpack-path "github.com/prometheus/common"))
(home-page "https://github.com/prometheus/common")
(synopsis "Prometheus assets")
(description
"This package provides Prometheus assets.")
(license license:asl2.0)))
(define-public go-github-com-prometheus-common-sigv4
(package
(name "go-github-com-prometheus-common-sigv4")
(version "0.55.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/common")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bsbxil7qz8rhckhv0844nmn38g7i7347cjv5m6na47hbdpi0rqh"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/prometheus/common/sigv4"
#:unpack-path "github.com/prometheus/common"
#:phases
#~(modify-phases %standard-phases
(add-before 'unpack 'override-prometheus-common
(lambda _
(delete-file-recursively "src/github.com/prometheus/common"))))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-aws-aws-sdk-go
go-github-com-prometheus-client-golang
go-github-com-prometheus-common
go-gopkg-in-yaml-v2))
(home-page "https://github.com/prometheus/common")
(synopsis "HTTP signed requests with Amazon's Signature Verification V4")
(description
"This package provides a @code{http.RoundTripper} that will sign requests
using Amazon's Signature Verification V4 signing procedure, using credentials
from the default AWS credential chain.")
(license license:asl2.0)))
(define-public go-github-com-prometheus-procfs
(package
(name "go-github-com-prometheus-procfs")
(version "0.15.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/prometheus/procfs")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "116ns8k1yjdj9a2vq5czlpmafrhy0yw5y0bcm1qqbqnn57agg68m"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/prometheus/procfs"
;; The tests require Go modules, which are not yet supported in Guix's
;; Go build system.
#:tests? #f))
(propagated-inputs
(list go-github-com-google-go-cmp
go-golang-org-x-sync
go-golang-org-x-sys))
(synopsis "Go library for reading @file{/proc}")
(home-page "https://github.com/prometheus/procfs")
(description
"The @code{procfs} Go package provides functions to retrieve system,
kernel, and process metrics from the @file{/proc} pseudo file system.")
(license license:asl2.0)))
;;;
;;; Executables:
;;;
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above in alphabetic order.
;;;

View file

@ -149,7 +149,7 @@ between computers.")
go-github-com-dustin-go-humanize go-github-com-dustin-go-humanize
go-github-com-flynn-noise go-github-com-flynn-noise
go-github-com-gorhill-cronexpr go-github-com-gorhill-cronexpr
go-github-com-hjson-hjson-go go-github-com-hjson-hjson-go-v4
go-github-com-klauspost-compress go-github-com-klauspost-compress
go-golang-org-x-crypto go-golang-org-x-crypto
go-golang-org-x-net go-golang-org-x-net

View file

@ -186,6 +186,7 @@
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages perl-check) #:use-module (gnu packages perl-check)
#:use-module (gnu packages perl-compression) #:use-module (gnu packages perl-compression)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-build) #:use-module (gnu packages python-build)
#:use-module (gnu packages python-check) #:use-module (gnu packages python-check)
@ -5531,7 +5532,7 @@ time strings.")
(base32 "1dqmnxnipi497nx9x10ifack09w41579svryss5q2w5wxy0pg764")))) (base32 "1dqmnxnipi497nx9x10ifack09w41579svryss5q2w5wxy0pg764"))))
(build-system go-build-system) (build-system go-build-system)
(inputs (inputs
(list go-github-com-google-go-cmp-cmp (list go-github-com-google-go-cmp
go-github-com-itchyny-timefmt-go go-github-com-itchyny-timefmt-go
go-github-com-mattn-go-isatty go-github-com-mattn-go-isatty
go-github-com-mattn-go-runewidth go-github-com-mattn-go-runewidth