|
|
|
@ -1,32 +1,18 @@ |
|
|
|
|
{ stdenv, lib, fetchFromGitHub |
|
|
|
|
, jansson |
|
|
|
|
, libconfig |
|
|
|
|
, libnice |
|
|
|
|
, openssl |
|
|
|
|
, srtp |
|
|
|
|
, usrsctp |
|
|
|
|
, libmicrohttpd |
|
|
|
|
, libwebsockets |
|
|
|
|
, gnumake |
|
|
|
|
#, cmake |
|
|
|
|
, rabbitmq-c |
|
|
|
|
#, paho-mqtt-c |
|
|
|
|
, nanomsg |
|
|
|
|
, curl |
|
|
|
|
, sofia_sip |
|
|
|
|
, libopus |
|
|
|
|
, libogg |
|
|
|
|
, lua |
|
|
|
|
, glib |
|
|
|
|
, zlib |
|
|
|
|
, pkgconfig |
|
|
|
|
, gengetopt |
|
|
|
|
, autoconf |
|
|
|
|
, automake |
|
|
|
|
, libtool |
|
|
|
|
, libuv |
|
|
|
|
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gengetopt |
|
|
|
|
, glib, libconfig, libnice, jansson, boringssl, zlib, srtp, libuv |
|
|
|
|
, libmicrohttpd, curl, libwebsockets, sofia_sip, libogg, libopus |
|
|
|
|
, usrsctp, ffmpeg |
|
|
|
|
}: |
|
|
|
|
|
|
|
|
|
let |
|
|
|
|
libwebsockets_janus = libwebsockets.overrideAttrs (_: { |
|
|
|
|
configureFlags = [ |
|
|
|
|
"-DLWS_MAX_SMP=1" |
|
|
|
|
"-DLWS_WITHOUT_EXTENSIONS=0" |
|
|
|
|
]; |
|
|
|
|
}); |
|
|
|
|
in |
|
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
|
pname = "janus-gateway"; |
|
|
|
|
version = "0.11.3"; |
|
|
|
@ -35,47 +21,39 @@ stdenv.mkDerivation rec { |
|
|
|
|
owner = "meetecho"; |
|
|
|
|
repo = pname; |
|
|
|
|
rev = "v${version}"; |
|
|
|
|
sha256 = "sha256-/x0oo29zsnmyKw3QGXbnhMmgQJ9AefQ5cUTwY/5typY="; |
|
|
|
|
sha256 = "15nadpz67w24f4wz8ya0kx0a1jc4wxv1kl0d5fr7kckkdyijh7gz"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ |
|
|
|
|
jansson |
|
|
|
|
libconfig |
|
|
|
|
libnice |
|
|
|
|
openssl |
|
|
|
|
srtp |
|
|
|
|
usrsctp |
|
|
|
|
libmicrohttpd |
|
|
|
|
libwebsockets |
|
|
|
|
gnumake |
|
|
|
|
#cmake |
|
|
|
|
rabbitmq-c |
|
|
|
|
#paho-mqtt-c |
|
|
|
|
nanomsg |
|
|
|
|
curl |
|
|
|
|
sofia_sip |
|
|
|
|
libopus |
|
|
|
|
libogg |
|
|
|
|
lua |
|
|
|
|
glib |
|
|
|
|
zlib |
|
|
|
|
pkgconfig |
|
|
|
|
gengetopt |
|
|
|
|
libuv |
|
|
|
|
nativeBuildInputs = [ autoreconfHook pkg-config gengetopt ]; |
|
|
|
|
|
|
|
|
|
autoconf |
|
|
|
|
automake |
|
|
|
|
libtool |
|
|
|
|
buildInputs = [ |
|
|
|
|
glib libconfig libnice jansson boringssl zlib srtp libuv libmicrohttpd |
|
|
|
|
curl libwebsockets_janus sofia_sip libogg libopus usrsctp ffmpeg |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
enableParallelBuilding = true; |
|
|
|
|
|
|
|
|
|
preConfigure = "./autogen.sh"; |
|
|
|
|
configureFlags = [ |
|
|
|
|
"--enable-boringssl=${boringssl}" |
|
|
|
|
"--enable-libsrtp2" |
|
|
|
|
"--enable-turn-rest-api" |
|
|
|
|
"--enable-json-logger" |
|
|
|
|
"--enable-gelf-event-handler" |
|
|
|
|
"--enable-post-processing" |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
outputs = [ "out" "dev" "doc" "man" ]; |
|
|
|
|
|
|
|
|
|
postInstall = '' |
|
|
|
|
moveToOutput share/janus "$doc" |
|
|
|
|
moveToOutput etc "$doc" |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
meta = with lib; { |
|
|
|
|
description = "Janus WebRTC server"; |
|
|
|
|
homepage = src.meta.homepage; |
|
|
|
|
license = licenses.gpl3; |
|
|
|
|
maintainers = with maintainers; [ aw ]; |
|
|
|
|
description = "General purpose WebRTC server"; |
|
|
|
|
homepage = "https://janus.conf.meetecho.com/"; |
|
|
|
|
license = licenses.gpl3Only; |
|
|
|
|
platforms = platforms.linux; |
|
|
|
|
maintainers = with maintainers; [ fpletz ]; |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|