summaryrefslogtreecommitdiff
path: root/gnu/packages/golang-web.scm
diff options
context:
space:
mode:
authorArtyom V. Poptsov <poptsov.artyom@gmail.com>2024-05-17 22:27:12 +0300
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-06-07 00:23:34 +0100
commit4683afd143b19358cfa5d6c8a9b3529f5d2860a9 (patch)
tree924e65f33ae24fe40fbe5e398acf4749718ac922 /gnu/packages/golang-web.scm
parentac8b1492f150073d58f1ecbf7e41e471ea04272a (diff)
gnu: Add go-github-com-pion-turn.
* gnu/packages/golang-web.scm (go-github-com-pion-turn): New variable. Change-Id: I6127d3ba42268441e7b052a7a7693341ef7b7df9 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu/packages/golang-web.scm')
-rw-r--r--gnu/packages/golang-web.scm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 85787d883f..d1f09abf39 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -1840,6 +1840,52 @@ throughout the @url{https://github.com/pion, Pion} modules.")
(list
#:import-path "github.com/pion/transport/v3"))))
+(define-public go-github-com-pion-turn
+ (package
+ (name "go-github-com-pion-turn")
+ (version "1.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pion/turn/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16lkgmrlks0qdzbk8jj0c0j66qfxhb54cvzgrfn4imvm56dbxp2n"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ;Tests require network access.
+ #:import-path "github.com/pion/turn"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-github-com-pion-logging
+ go-github-com-pion-stun
+ go-github-com-pion-transport
+ go-github-com-pkg-errors))
+ (home-page "https://github.com/pion/turn/")
+ (synopsis "API for building TURN clients and servers in Golang")
+ (description
+ "This package provides a toolkit for building @acronym{TURN, Traversal
+Using Relays around NAT}, specified in
+@url{https://datatracker.ietf.org/doc/html/rfc8656, RFC 8656}, servers and
+clients.
+
+@code{pion/turn} is an API for building STUN/TURN clients and servers, not a
+binary you deploy then configure. It may require copying the examples and
+making minor modifications to fit your need, no knowledge of Go is required
+however.
+
+The advantage of this is that you don't need to deal with complicated
+configuration files, or custom APIs to modify the state of Pion TURN. After
+you instantiate an instance of a Pion TURN server or client you interact with
+it like any library. The quickest way to get started is to look at the
+@url{https://github.com/pion/turn/blob/master/examples, examples} or
+@url{https://godoc.org/github.com/pion/turn, GoDoc}.")
+ (license license:expat)))
+
(define-public go-github-com-pires-go-proxyproto
(package
(name "go-github-com-pires-go-proxyproto")