From 3863c0b8c113636ca323cf4b64f8872e011c8df7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Fri, 24 May 2024 12:31:44 +0800 Subject: [PATCH] gnu: Add libdatachannel. * gnu/packages/web.scm (libdatachannel): New variable. Change-Id: Idc8996eec5160574649575a5519c6510baf194a5 Signed-off-by: Andrew Tropin --- gnu/packages/web.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 0abbded121..c768874a4a 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -172,6 +172,7 @@ (define-module (gnu packages web) #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) #:use-module (gnu packages lisp-xyz) + #:use-module (gnu packages logging) #:use-module (gnu packages lsof) #:use-module (gnu packages lua) #:use-module (gnu packages mail) @@ -204,6 +205,7 @@ (define-module (gnu packages web) #:use-module (gnu packages serialization) #:use-module (gnu packages skribilo) #:use-module (gnu packages sphinx) + #:use-module (gnu packages telephony) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) #:use-module (gnu packages time) @@ -2181,6 +2183,34 @@ (define-public libjuice protocol, client-side and server-side, written in C without dependencies for POSIX platforms.") (license license:mpl2.0))) + +(define-public libdatachannel + (package + (name "libdatachannel") + (version "0.21.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/paullouisageneau/libdatachannel") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11icbyd71dw5ywjdviq580xvad24yfsjj3c5zpjqsxc883i40dxi")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f ; requires internet access + #:configure-flags + #~'("-DPREFER_SYSTEM_LIB=ON"))) + (inputs (list libjuice libsrtp nlohmann-json openssl plog usrsctp)) + (home-page "https://libdatachannel.org/") + (synopsis "WebRTC Data Channels and WebSockets library") + (description "@code{libdatachannel} is a standalone implementation of WebRTC +Data Channels, WebRTC Media Transport, and WebSockets in C++17 with C bindings +for POSIX platforms. WebRTC is a W3C and IETF standard enabling real-time +peer-to-peer data and media exchange between two devices.") + (license license:mpl2.0))) + (define-public liboauth (package (name "liboauth")