Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / servers / janus-gateway / default.nix
blob8a08962f646bbaffd45b4e44b480819ee8f3fce4
1 { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gengetopt
2 , glib, libconfig, libnice, jansson, boringssl, zlib, srtp, libuv
3 , libmicrohttpd, curl, libwebsockets, sofia_sip, libogg, libopus
4 , usrsctp, ffmpeg
5 }:
7 let
8   libwebsockets_janus = libwebsockets.overrideAttrs (_: {
9     configureFlags = [
10       "-DLWS_MAX_SMP=1"
11       "-DLWS_WITHOUT_EXTENSIONS=0"
12     ];
13   });
16 stdenv.mkDerivation rec {
17   pname = "janus-gateway";
18   version = "1.2.3";
20   src = fetchFromGitHub {
21     owner = "meetecho";
22     repo = pname;
23     rev = "v${version}";
24     sha256 = "sha256-3o9XxxTlWppq1mFgIUjstUFz6bT44mvBJa4FBgcc4Pc=";
25   };
27   nativeBuildInputs = [ autoreconfHook pkg-config gengetopt ];
29   buildInputs = [
30     glib libconfig libnice jansson boringssl zlib srtp libuv libmicrohttpd
31     curl libwebsockets_janus sofia_sip libogg libopus usrsctp ffmpeg
32   ];
34   enableParallelBuilding = true;
36   configureFlags = [
37     "--enable-boringssl=${lib.getDev boringssl}"
38     "--enable-libsrtp2"
39     "--enable-turn-rest-api"
40     "--enable-json-logger"
41     "--enable-gelf-event-handler"
42     "--enable-post-processing"
43   ];
45   makeFlagsArray = [
46     "BORINGSSL_LIBS=-L${lib.getLib boringssl}/lib"
47   ];
49   outputs = [ "out" "dev" "doc" "man" ];
51   postInstall = ''
52     moveToOutput share/janus "$doc"
53     moveToOutput etc "$doc"
54   '';
56   meta = with lib; {
57     description = "General purpose WebRTC server";
58     homepage = "https://janus.conf.meetecho.com/";
59     changelog = "https://github.com/meetecho/janus-gateway/blob/v${version}/CHANGELOG.md";
60     license = licenses.gpl3Only;
61     platforms = platforms.linux;
62     maintainers = with maintainers; [ fpletz ];
63   };