From 4683afd143b19358cfa5d6c8a9b3529f5d2860a9 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Fri, 17 May 2024 22:27:12 +0300 Subject: 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 --- gnu/packages/golang-web.scm | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'gnu/packages/golang-web.scm') 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 @@ (define-public go-github-com-pion-transport-v3 (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") -- cgit v1.2.3