aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorArtyom V. Poptsov <poptsov.artyom@gmail.com>2024-08-26 00:23:34 +0300
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-08-27 00:33:34 +0100
commitd09b78904abad57c3fd8bde6ed36f4961f9dbadc (patch)
tree5dc075c13de363c36616141957869cfb38bdec21 /gnu
parentfb2347f6d161db0c0ec5fd8fd952ab8cdb7c2738 (diff)
downloadguix-d09b78904abad57c3fd8bde6ed36f4961f9dbadc.tar.gz
guix-d09b78904abad57c3fd8bde6ed36f4961f9dbadc.zip
gnu: Add go-github-com-libp2p-go-reuseport.
* gnu/packages/golang-web.scm (go-github-com-libp2p-go-reuseport): New variable. Change-Id: Iafbf09d6537cd5a92825830b64f952ad903ed96d Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
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")