aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/golang-web.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/golang-web.scm')
-rw-r--r--gnu/packages/golang-web.scm232
1 files changed, 232 insertions, 0 deletions
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 1d7ad01af2..e19ca4f5ff 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -1,4 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
@@ -98,6 +99,45 @@
API service accounts for Go.")
(license license:asl2.0)))
+(define-public go-github-com-alexliesenfeld-health
+ (package
+ (name "go-github-com-alexliesenfeld-health")
+ (version "0.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alexliesenfeld/health")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1fchlvxwidsscskwq07vhxfwcn5wbigbizi51619l8gg09mr158q"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/alexliesenfeld/health"
+ #:phases #~(modify-phases %standard-phases
+ ;; Examples requires additional dependencies and comes with
+ ;; their own go.mod, consider to pack it as separate
+ ;; package if required.
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ (string-append "src/" import-path "/examples")))))))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/alexliesenfeld/health")
+ (synopsis "Simple and flexible health check library for Go")
+ (description
+ "This library provides a @code{http.Handler} that acts as a health
+endpoint. It can be used by cloud infrastructure or other services to
+determine the availability of an application.
+
+Rather than simply returning a response with HTTP status code 200, this
+library allows building health checks that test the availability of all
+required dependencies. The HTTP response contains the aggregated health
+result and details about the health status of each component.")
+ (license license:expat)))
+
(define-public go-github-com-andybalholm-cascadia
(package
(name "go-github-com-andybalholm-cascadia")
@@ -964,6 +1004,35 @@ compliant cache for HTTP responses. It is only suitable for use as a
shared proxy).")
(license license:expat))))
+(define-public go-github-com-hashicorp-go-cleanhttp
+ (package
+ (name "go-github-com-hashicorp-go-cleanhttp")
+ (version "0.5.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-cleanhttp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1i5xslizzwd966w81bz6dxjwzgml4q9bwqa186bsxd1vi8lqxl9p"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-cleanhttp"))
+ (home-page "https://github.com/hashicorp/go-cleanhttp")
+ (synopsis "Functions for accessing clean Go @code{http.Client} values")
+ (description
+ "The Go standard library contains a default @code{http.Client} and it is
+a common idiom to tweak it as necessary. Unfortunately, this is a shared
+value, and it is not uncommon for libraries to assume that they are free to
+modify it at will. This package provides some simple functions to get a
+\"clean\" @code{http.Client}, namely one that uses the same default values as
+the Go standard library, but returns a client that does not share any state
+with other clients.")
+ (license license:mpl2.0)))
+
(define-public go-github-com-hjson-hjson-go
(package
(name "go-github-com-hjson-hjson-go")
@@ -1166,6 +1235,94 @@ router.")
(description "@code{bluemonday} is a HTML sanitizer implemented in Go.")
(license license:bsd-3)))
+(define-public go-github-com-multiformats-go-multiaddr
+ ;; This commit is from <2018-10-01> and associated with GX package manager,
+ ;; since that time the project has changed versing stile and GX is dropped.
+ ;; Current versioned tag is v0.12.2 <2024-01-26>.
+ (let ((commit "fe1c46f8be5af4aff4db286e08839295bd922efb")
+ (revision "0"))
+ (package
+ (name "go-github-com-multiformats-go-multiaddr")
+ (version (git-version "1.3.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/multiformats/go-multiaddr")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0p5f8h098a4yjjmzsgqs7vhx1iqifb8izwg3559cr4h7clkpzznh"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/multiformats/go-multiaddr"))
+ (native-inputs
+ (list go-github-com-gxed-hashland-keccakpg
+ go-github-com-minio-blake2b-simd
+ go-github-com-minio-sha256-simd
+ go-github-com-mr-tron-base58
+ go-github-com-multiformats-go-multihash
+ go-github-com-spaolacci-murmur3
+ go-golang-org-x-crypto))
+ (home-page "https://github.com/multiformats/go-multiaddr")
+ (synopsis "Composable and future-proof network addresses")
+ (description
+ "Multiaddr is a standard way to represent addresses that does the
+following:
+
+@itemize
+@item Support any standard network protocols.
+@item Self-describe (include protocols).
+@item Have a binary packed format.
+@item Have a nice string representation.
+@item Encapsulate well.
+@end itemize\n")
+ (license license:expat))))
+
+(define-public go-github-com-multiformats-go-multiaddr-net
+ ;; This commit is from <2018-10-01> and associated with GX package manager,
+ ;; since that time the project has changed versing stile and GX is dropped.
+ ;; The latest versioned tag is v0.1.5 <2020-04-30>. The project is archved
+ ;; on <2021-10-05>.
+ (let ((commit "1cb9a0e8a6de3c8a10f6cee60d01d793603c4f7e")
+ (revision "0"))
+ (package
+ (name "go-github-com-multiformats-go-multiaddr-net")
+ (version (git-version "1.6.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/multiformats/go-multiaddr-net")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ypgi47xdz3bh8lh7f8cmk7w3ql9g4izx5l3kzdg9gda1xn5zxq3"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; TODO: Tests fail because they try to access the network.
+ #:tests? #f
+ #:import-path "github.com/multiformats/go-multiaddr-net"))
+ (native-inputs
+ (list go-github-com-gxed-hashland-keccakpg
+ go-github-com-minio-blake2b-simd
+ go-github-com-minio-sha256-simd
+ go-github-com-mr-tron-base58
+ go-github-com-multiformats-go-multiaddr
+ go-github-com-multiformats-go-multihash
+ go-github-com-spaolacci-murmur3
+ go-golang-org-x-crypto))
+ (home-page "https://github.com/multiformats/go-multiaddr-net")
+ (synopsis "Multiaddress net tools")
+ (description
+ "This package provides Multiaddr specific versions of common functions
+in stdlib's @command{net} package. This means wrappers of standard net
+symbols like @command{net.Dial} and @command{net.Listen}, as well as
+conversion to and from @command{net.Addr}.")
+ (license license:expat))))
+
(define-public go-github-com-nwidger-jsoncolor
(package
(name "go-github-com-nwidger-jsoncolor")
@@ -1293,6 +1450,81 @@ Caching.")
to jQuery to the Go language.")
(license license:bsd-3)))
+(define-public go-github-com-quic-go-qpack
+ (package
+ (name "go-github-com-quic-go-qpack")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/quic-go/qpack")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00mjz445hhx4yar5l8p21bpp4d06jyg2ajw0ax7bh64d37l4kx39"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; Tests require ginkgo v2.
+ #:tests? #f
+ #:go go-1.20
+ #:import-path "github.com/quic-go/qpack"))
+ (propagated-inputs
+ (list go-github-com-onsi-ginkgo
+ go-github-com-onsi-gomega
+ go-golang-org-x-net))
+ (home-page "https://github.com/quic-go/qpack")
+ (synopsis "Minimal QPACK (RFC 9204) implementation for Go")
+ (description
+ "A minimal QPACK (RFC 9204) implementation in Go. It is minimal in the sense
+that it doesn't use the dynamic table at all, but just the static table and (Huffman
+encoded) string literals. Wherever possible, it reuses code from the
+@url{https://github.com/golang/net/tree/master/http2/hpack, HPACK implementation in
+the Go standard library}.")
+ (license license:expat)))
+
+(define-public go-github-com-quic-go-quic-go
+ (package
+ (name "go-github-com-quic-go-quic-go")
+ (version "0.39.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/quic-go/quic-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0acabl3cz48nxpggc5s7fwxpmr5amyi09jygn5m5xxkkbhqs2cxq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; XXX More packages required...
+ #:tests? #f
+ #:go go-1.20
+ #:import-path "github.com/quic-go/quic-go"))
+ (propagated-inputs
+ (list go-github-com-cheekybits-genny
+ go-github-com-golang-protobuf-proto
+ go-github-com-marten-seemann-chacha20
+ go-github-com-quic-go-qpack
+ go-github-com-quic-go-qtls-go1-20
+ go-golang-org-x-crypto
+ go-golang-org-x-exp
+ go-golang-org-x-net
+ go-golang-org-x-sync
+ go-golang-org-x-sys))
+ (home-page "https://github.com/quic-go/quic-go")
+ (synopsis "QUIC in Go")
+ (description
+ "This package provides a Go language implementation of the QUIC network
+protocol.")
+ (license license:expat)))
+
+(define-public go-github-com-lucas-clemente-quic-go
+ (deprecated-package "go-github-com-lucas-clemente-quic-go" go-github-com-quic-go-quic-go))
+
(define-public go-github-com-sourcegraph-jsonrpc2
(package
(name "go-github-com-sourcegraph-jsonrpc2")