2022-09-29 20:01:56 +00:00
|
|
|
{ lib, stdenv, fetchurl, makeWrapper, dpkg, jre_headless, openssl, nixosTests }:
|
2020-03-18 00:50:40 +00:00
|
|
|
|
|
|
|
let
|
|
|
|
pname = "jitsi-videobridge2";
|
2024-08-10 06:37:53 +00:00
|
|
|
version = "2.3-160-g97a1f15b";
|
2020-03-18 00:50:40 +00:00
|
|
|
src = fetchurl {
|
|
|
|
url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
|
2024-08-10 06:37:53 +00:00
|
|
|
sha256 = "fxAmpsScNTwSrITZYE2dsKTlGqlMcAAf8RVixpmcqvI=";
|
2020-03-18 00:50:40 +00:00
|
|
|
};
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation {
|
|
|
|
inherit pname version src;
|
|
|
|
|
|
|
|
dontBuild = true;
|
|
|
|
|
2024-11-26 20:00:18 +00:00
|
|
|
nativeBuildInputs = [
|
|
|
|
dpkg
|
|
|
|
makeWrapper
|
|
|
|
];
|
2020-10-01 13:36:31 +00:00
|
|
|
|
2020-03-18 00:50:40 +00:00
|
|
|
installPhase = ''
|
2021-02-13 01:53:31 +00:00
|
|
|
runHook preInstall
|
2020-03-18 00:50:40 +00:00
|
|
|
substituteInPlace usr/share/jitsi-videobridge/jvb.sh \
|
|
|
|
--replace "exec java" "exec ${jre_headless}/bin/java"
|
|
|
|
|
|
|
|
mkdir -p $out/{bin,share/jitsi-videobridge,etc/jitsi/videobridge}
|
|
|
|
mv etc/jitsi/videobridge/logging.properties $out/etc/jitsi/videobridge/
|
|
|
|
cp ${./logging.properties-journal} $out/etc/jitsi/videobridge/logging.properties-journal
|
|
|
|
mv usr/share/jitsi-videobridge/* $out/share/jitsi-videobridge/
|
|
|
|
ln -s $out/share/jitsi-videobridge/jvb.sh $out/bin/jitsi-videobridge
|
2020-10-01 13:36:31 +00:00
|
|
|
|
2022-09-29 20:01:56 +00:00
|
|
|
# - work around https://github.com/jitsi/jitsi-videobridge/issues/1547
|
|
|
|
# - make libcrypto.so available at runtime for hardware AES
|
2020-10-01 13:36:31 +00:00
|
|
|
wrapProgram $out/bin/jitsi-videobridge \
|
2022-09-29 20:01:56 +00:00
|
|
|
--set VIDEOBRIDGE_GC_TYPE G1GC \
|
|
|
|
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ openssl ]}
|
2021-02-13 01:53:31 +00:00
|
|
|
runHook postInstall
|
2020-03-18 00:50:40 +00:00
|
|
|
'';
|
|
|
|
|
|
|
|
passthru.tests = {
|
|
|
|
single-host-smoke-test = nixosTests.jitsi-meet;
|
|
|
|
};
|
|
|
|
|
2021-09-09 17:22:20 +00:00
|
|
|
passthru.updateScript = ./update.sh;
|
|
|
|
|
2021-01-11 07:54:33 +00:00
|
|
|
meta = with lib; {
|
2020-03-18 00:50:40 +00:00
|
|
|
description = "WebRTC compatible video router";
|
|
|
|
longDescription = ''
|
|
|
|
Jitsi Videobridge is an XMPP server component that allows for multiuser video communication.
|
|
|
|
Unlike the expensive dedicated hardware videobridges, Jitsi Videobridge does not mix the video
|
|
|
|
channels into a composite video stream, but only relays the received video channels to all call
|
|
|
|
participants. Therefore, while it does need to run on a server with good network bandwidth,
|
|
|
|
CPU horsepower is not that critical for performance.
|
|
|
|
'';
|
|
|
|
homepage = "https://github.com/jitsi/jitsi-videobridge";
|
|
|
|
license = licenses.asl20;
|
2020-08-04 19:46:14 +00:00
|
|
|
maintainers = teams.jitsi.members;
|
2020-03-18 00:50:40 +00:00
|
|
|
platforms = platforms.linux;
|
2023-11-27 01:17:53 +00:00
|
|
|
mainProgram = "jitsi-videobridge";
|
2020-03-18 00:50:40 +00:00
|
|
|
};
|
|
|
|
}
|