aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/golang-web.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 2080604c24..532a1e82db 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -2754,6 +2754,40 @@ faster (and only does simple bandwidth metrics).")
gopacket/routing.Router} interface for Golang.")
(license license:bsd-3)))
+(define-public go-github-com-libp2p-go-reuseport
+ (package
+ (name "go-github-com-libp2p-go-reuseport")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libp2p/go-reuseport")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "012kgriw1bchf0apk6ff4y34n9mffbh0cmi15348v9vj3h4w3sa5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/libp2p/go-reuseport"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-google-gopacket
+ go-golang-org-x-net
+ go-golang-org-x-sys))
+ (home-page "https://github.com/libp2p/go-reuseport")
+ (synopsis "Reuse TCP/UDP ports in Golang")
+ (description
+ "@code{go-reuseport} enables listening and dialing from the same TCP or
+UDP port. This means that @code{SO_REUSEADDR} and @code{SO_REUSEPORT} socket
+options may be set. This is particularly important when attempting to do TCP
+NAT hole-punching, which requires a process to both @code{Listen} and
+@code{Dial} on the same TCP port. @code{go-reuseport} provides some utilities
+around enabling this behaviour on various operating systems.")
+ (license license:isc)))
+
(define-public go-github-com-mailru-easyjson
(package
(name "go-github-com-mailru-easyjson")