26 stdenv.mkDerivation rec {
27 pname = "mediastreamer2";
30 dontWrapQtApps = true;
32 src = fetchFromGitLab {
33 domain = "gitlab.linphone.org";
38 hash = "sha256-Le52tsyzOpepmvb+GOGCPwwTriPUjhYpa6GM+y/6USA=";
42 # Plugins directory is normally fixed during compile time. This patch makes
43 # it possible to set the plugins directory run time with an environment
44 # variable MEDIASTREAMER_PLUGINS_DIR. This makes it possible to construct a
45 # plugin directory with desired plugins and wrap executables so that the
46 # environment variable points to that directory.
49 # Port to ffmpeg 5.0 API
51 url = "https://salsa.debian.org/pkg-voip-team/linphone-stack/mediastreamer2/-/raw/4e7784802d2eac57dffe210c8c23e696f40ac6ec/debian/patches/ffmpeg_5_0_fixes.patch";
52 hash = "sha256-5ay4iVbx8IOX952HEFaKLBGKLRYUWRntufciApUVhh0=";
63 propagatedBuildInputs = [
80 libopus # Opus audio codec
81 libvpx # VP8 video codec
87 "-DENABLE_STATIC=NO" # Do not build static libraries
88 "-DENABLE_QT_GL=ON" # Build necessary MSQOGL plugin for Linphone desktop
89 "-DCMAKE_C_FLAGS=-DGIT_VERSION=\"v${version}\""
90 "-DENABLE_STRICT=NO" # Disable -Werror
91 "-DENABLE_UNIT_TESTS=NO" # Do not build test executables
94 NIX_LDFLAGS = "-lXext";
97 description = "Powerful and lightweight streaming engine specialized for voice/video telephony applications. Part of the Linphone project";
98 homepage = "https://www.linphone.org/technical-corner/mediastreamer2";
99 license = licenses.gpl3Only;
100 platforms = platforms.linux;
101 maintainers = with maintainers; [ jluttine ];