about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2020-03-28 12:27:16 +0000
committerGitHub <noreply@github.com>2020-03-28 12:27:16 +0000
commit05f0934825c2a0750d4888c4735f9420c906b388 (patch)
tree7db2c9a9d77be0b72305f3c19baa705dfefbb9ed /pkgs/development
parent1c8b75a027ee2df319b5aaaa9c4c1f7032423427 (diff)
parent86a012b9609b8c3b4035697b61a8ca4a1d16b01a (diff)
downloadnixlib-05f0934825c2a0750d4888c4735f9420c906b388.tar
nixlib-05f0934825c2a0750d4888c4735f9420c906b388.tar.gz
nixlib-05f0934825c2a0750d4888c4735f9420c906b388.tar.bz2
nixlib-05f0934825c2a0750d4888c4735f9420c906b388.tar.lz
nixlib-05f0934825c2a0750d4888c4735f9420c906b388.tar.xz
nixlib-05f0934825c2a0750d4888c4735f9420c906b388.tar.zst
nixlib-05f0934825c2a0750d4888c4735f9420c906b388.zip
Merge pull request #82939 from jluttine/linphone-4.1.1
linphone: 3.12.0 -> unstable-2020-03-06
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/libraries/bctoolbox/default.nix32
-rw-r--r--pkgs/development/libraries/belcard/default.nix32
-rw-r--r--pkgs/development/libraries/belle-sip/default.nix35
-rw-r--r--pkgs/development/libraries/belr/default.nix35
-rw-r--r--pkgs/development/libraries/bzrtp/default.nix30
-rw-r--r--pkgs/development/libraries/liblinphone/default.nix150
-rw-r--r--pkgs/development/libraries/lime/default.nix36
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix101
-rw-r--r--pkgs/development/libraries/mediastreamer/msopenh264.nix48
-rw-r--r--pkgs/development/libraries/mediastreamer/plugins_dir.patch34
-rw-r--r--pkgs/development/libraries/ortp/default.nix28
-rw-r--r--pkgs/development/libraries/soci/default.nix31
12 files changed, 477 insertions, 115 deletions
diff --git a/pkgs/development/libraries/bctoolbox/default.nix b/pkgs/development/libraries/bctoolbox/default.nix
index 1c81dd608cbf..22578dad38db 100644
--- a/pkgs/development/libraries/bctoolbox/default.nix
+++ b/pkgs/development/libraries/bctoolbox/default.nix
@@ -1,27 +1,39 @@
-{ stdenv, fetchFromGitHub, cmake, bcunit, mbedtls }:
+{ bcunit
+, cmake
+, fetchFromGitLab
+, mbedtls
+, stdenv
+}:
 
 stdenv.mkDerivation rec {
   pname = "bctoolbox";
-  version = "0.6.0";
+  version = "4.3.1";
 
   nativeBuildInputs = [ cmake bcunit ];
   buildInputs = [ mbedtls ];
 
-  src = fetchFromGitHub {
-    owner = "BelledonneCommunications";
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    owner = "public";
+    group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "1cxx243wyzkd4xnvpyqf97n0rjhfckpvw1vhwnbwshq3q6fra909";
+    sha256 = "1y91jcrma4kjqpm6w5ahlygjsyvx7l8zjrjvq7g2n39jmw175cvs";
   };
 
+  # Do not build static libraries
+  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+
   NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-truncation" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     inherit version;
     description = "Utilities library for Linphone";
-    homepage = "https://github.com/BelledonneCommunications/bctoolbox";
-    license = stdenv.lib.licenses.gpl2Plus ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://gitlab.linphone.org/BC/public/bctoolbox";
+    # Still using GPLv2 but as the rest of the Linphone projects have switched
+    # to GPLv3, this might too, so check this when bumping the version number.
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ raskin jluttine ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/belcard/default.nix b/pkgs/development/libraries/belcard/default.nix
index aa6cb8513ae4..11de04889159 100644
--- a/pkgs/development/libraries/belcard/default.nix
+++ b/pkgs/development/libraries/belcard/default.nix
@@ -1,24 +1,34 @@
-{ stdenv, cmake, fetchFromGitHub, bctoolbox, belr }:
+{ bctoolbox
+, belr
+, cmake
+, fetchFromGitLab
+, stdenv
+}:
 
 stdenv.mkDerivation rec {
-  baseName = "belcard";
-  version = "1.0.2";
-  name = "${baseName}-${version}";
+  pname = "belcard";
+  version = "4.3.1";
 
-  src = fetchFromGitHub {
-    owner = "BelledonneCommunications";
-    repo = baseName;
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    owner = "public";
+    group = "BC";
+    repo = pname;
     rev = version;
-    sha256 = "1pwji83vpsdrfma24rnj3rz1x0a0g6zk3v4xjnip7zf2ys3zcnlk";
+    sha256 = "1w6rbp53cwxr00clp957458x27cgc2y9ylwa5mp812qva7zadmfw";
   };
 
   buildInputs = [ bctoolbox belr ];
   nativeBuildInputs = [ cmake ];
 
-  meta = with stdenv.lib;{
-    description = "Belcard is a C++ library to manipulate VCard standard format";
-    homepage = https://github.com/BelledonneCommunications/belcard;
+  # Do not build static libraries
+  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+
+  meta = with stdenv.lib; {
+    description = "C++ library to manipulate VCard standard format";
+    homepage = "https://gitlab.linphone.org/BC/public/belcard";
     license = licenses.lgpl21;
     platforms = platforms.all;
+    maintainers = with maintainers; [ jluttine ];
   };
 }
diff --git a/pkgs/development/libraries/belle-sip/default.nix b/pkgs/development/libraries/belle-sip/default.nix
index 0d3df37d8e09..a935372656e7 100644
--- a/pkgs/development/libraries/belle-sip/default.nix
+++ b/pkgs/development/libraries/belle-sip/default.nix
@@ -1,22 +1,36 @@
-{ stdenv, antlr3_4, libantlr3c, jre, mbedtls, fetchFromGitHub
-  , cmake, zlib, bctoolbox
+{ antlr3_4
+, bctoolbox
+, cmake
+, fetchFromGitLab
+, jre
+, libantlr3c
+, mbedtls
+, stdenv
+, zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "belle-sip";
-  version = "1.6.3";
-
-  src = fetchFromGitHub {
-    owner = "BelledonneCommunications";
+  # Using master branch for linphone-desktop caused a chain reaction that many
+  # of its dependencies needed to use master branch too.
+  version = "unstable-2020-02-18";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    owner = "public";
+    group = "BC";
     repo = pname;
-    rev = version;
-    sha256 = "0q70db1klvhca1af29bm9paka3gyii5hfbzrj4178gclsg7cj8fk";
+    rev = "0dcb13416eae87edf140771b886aedaf6be8cf60";
+    sha256 = "0pzxk8mkkg6zsnmj1bwggbdjv864psx89gglfm51h8s501kg11fv";
   };
 
   nativeBuildInputs = [ jre cmake ];
 
   buildInputs = [ zlib ];
 
+  # Do not build static libraries
+  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+
   NIX_CFLAGS_COMPILE = toString [
     "-Wno-error=deprecated-declarations"
     "-Wno-error=format-truncation"
@@ -29,9 +43,10 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = false;
 
   meta = with stdenv.lib; {
-    homepage = https://linphone.org/technical-corner/belle-sip;
+    homepage = "https://linphone.org/technical-corner/belle-sip";
     description = "Modern library implementing SIP (RFC 3261) transport, transaction and dialog layers";
-    license = licenses.gpl2;
+    license = licenses.gpl3;
     platforms = platforms.all;
+    maintainers = with maintainers; [ jluttine ];
   };
 }
diff --git a/pkgs/development/libraries/belr/default.nix b/pkgs/development/libraries/belr/default.nix
index f0557b0379f2..90067e493a15 100644
--- a/pkgs/development/libraries/belr/default.nix
+++ b/pkgs/development/libraries/belr/default.nix
@@ -1,24 +1,35 @@
-{ stdenv, cmake, fetchFromGitHub, bctoolbox }:
+{ bctoolbox
+, cmake
+, fetchFromGitLab
+, stdenv
+}:
 
 stdenv.mkDerivation rec {
-  baseName = "belr";
-  version = "0.1.3";
-  name = "${baseName}-${version}";
+  pname = "belr";
+  # Using master branch for linphone-desktop caused a chain reaction that many
+  # of its dependencies needed to use master branch too.
+  version = "unstable-2020-03-09";
 
-  src = fetchFromGitHub {
-    owner = "BelledonneCommunications";
-    repo = baseName;
-    rev = version;
-    sha256 = "0mf8lsyq1z3b5p47c00lnwc8n7v9nzs1fd2g9c9hnz6fjd2ka44w";
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    owner = "public";
+    group = "BC";
+    repo = pname;
+    rev = "326d030ca9db12525c2a6d2a65f386f36f3c2ed5";
+    sha256 = "1cdblb9smncq3al0crqp5651b02k1g6whlw1ib769p61gad0rs3v";
   };
 
   buildInputs = [ bctoolbox ];
   nativeBuildInputs = [ cmake ];
 
-  meta = with stdenv.lib;{
+  # Do not build static libraries
+  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+
+  meta = with stdenv.lib; {
     description = "Belr is Belledonne Communications' language recognition library";
-    homepage = https://github.com/BelledonneCommunications/belr;
-    license = licenses.lgpl21;
+    homepage = "https://gitlab.linphone.org/BC/public/belr";
+    license = licenses.gpl3;
     platforms = platforms.all;
+    maintainers = with maintainers; [ jluttine ];
   };
 }
diff --git a/pkgs/development/libraries/bzrtp/default.nix b/pkgs/development/libraries/bzrtp/default.nix
index b2dc295db5b7..2eb5a2dfcffb 100644
--- a/pkgs/development/libraries/bzrtp/default.nix
+++ b/pkgs/development/libraries/bzrtp/default.nix
@@ -1,26 +1,38 @@
-{ stdenv, cmake, fetchFromGitHub, bctoolbox, sqlite }:
+{ bctoolbox
+, cmake
+, fetchFromGitLab
+, sqlite
+, stdenv
+}:
 
 stdenv.mkDerivation rec {
-  baseName = "bzrtp";
-  version = "1.0.6";
-  name = "${baseName}-${version}";
+  pname = "bzrtp";
+  version = "4.3.1";
 
-  src = fetchFromGitHub {
-    owner = "BelledonneCommunications";
-    repo = baseName;
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    owner = "public";
+    group = "BC";
+    repo = pname;
     rev = version;
-    sha256 = "0438zzxp82bj5fmvqnwlljkgrz9ab5qm5lgpwwgmg1cp78bp2l45";
+    sha256 = "14fqp6r9rf7z6j5phbsrdxlbjak03hs8kb94b6jgcrcdxrxhy3fy";
   };
 
   buildInputs = [ bctoolbox sqlite ];
   nativeBuildInputs = [ cmake ];
 
+  # Do not build static libraries
+  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+
   NIX_CFLAGS_COMPILE = "-Wno-error=cast-function-type";
 
   meta = with stdenv.lib; {
     description = "BZRTP is an opensource implementation of ZRTP keys exchange protocol";
-    homepage = https://github.com/BelledonneCommunications/bzrtp;
+    homepage = "https://gitlab.linphone.org/BC/public/bzrtp";
+    # They have switched to GPLv3 on git HEAD so probably the next release will
+    # be GPL3.
     license = licenses.lgpl21;
     platforms = platforms.all;
+    maintainers = with maintainers; [ jluttine ];
   };
 }
diff --git a/pkgs/development/libraries/liblinphone/default.nix b/pkgs/development/libraries/liblinphone/default.nix
new file mode 100644
index 000000000000..c6628e9043cd
--- /dev/null
+++ b/pkgs/development/libraries/liblinphone/default.nix
@@ -0,0 +1,150 @@
+{ bcg729
+, bctoolbox
+, bcunit
+, belcard
+, belle-sip
+, belr
+, bzrtp
+, cairo
+, cmake
+, cyrus_sasl
+, doxygen
+, fetchFromGitLab
+, fetchurl
+, ffmpeg
+, gdk-pixbuf
+, git
+, glib
+, graphviz
+, gtk2
+, intltool
+, libexosip
+, libmatroska
+, libnotify
+, libosip
+, libsoup
+, libupnp
+, libX11
+, libxml2
+, lime
+, makeWrapper
+, mbedtls
+, mediastreamer
+, mediastreamer-openh264
+, openldap
+, ortp
+, pango
+, pkgconfig
+, python
+, readline
+, soci
+, speex
+, sqlite
+, stdenv
+, udev
+, xercesc
+, xsd
+, zlib
+}:
+let
+  # Got the following error when building:
+  #
+  #   Your version of Doxygen (1.8.17) is known to malfunction with some of our
+  #   macro definitions, which causes errors while wrapprers generation. Please
+  #   install an older version of Doxygen (< 1.8.17) or disable documentation
+  #   and wrapper generation.
+  #
+  # So, let's then use 1.8.16 version of doxygen in this derivation. Hopefully
+  # this workaround can be removed with some newer release of liblinphone.
+  doxygen_1_8_16 = doxygen.overrideAttrs (
+    oldAttrs: rec {
+      name = "doxygen-1.8.16";
+      src = fetchurl {
+        urls = [
+          "mirror://sourceforge/doxygen/${name}.src.tar.gz" # faster, with https, etc.
+          "http://doxygen.nl/files/${name}.src.tar.gz"
+        ];
+        sha256 = "10iwv8bcz5b5cd85gg8pgn0bmyg04n9hs36xn7ggjjnvynv1z67z";
+      };
+      buildInputs = oldAttrs.buildInputs ++ [ git ];
+    }
+  );
+in
+stdenv.mkDerivation rec {
+  pname = "liblinphone";
+  # Using master branch for linphone-desktop caused a chain reaction that many
+  # of its dependencies needed to use master branch too.
+  version = "unstable-2020-03-20";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    owner = "public";
+    group = "BC";
+    repo = pname;
+    rev = "1d762a3e0e304aa579798aed4400d2cee2c1ffa0";
+    sha256 = "0ja38payyqbd8z6q5l5w6hi7xarmfj5021gh0qdk0j832br4c6c3";
+  };
+
+  # Do not build static libraries
+  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+
+  # TODO: Not sure if all these inputs are actually needed. Most of them were
+  # defined when liblinphone and linphone-desktop weren't separated yet, so some
+  # of them might not be needed for liblinphone alone.
+  buildInputs = [
+    (python.withPackages (ps: [ ps.pystache ps.six ]))
+    bcg729
+    bctoolbox
+    belcard
+    belle-sip
+    belr
+    bzrtp
+    cairo
+    cyrus_sasl
+    ffmpeg
+    gdk-pixbuf
+    git
+    glib
+    gtk2
+    libX11
+    libexosip
+    libmatroska
+    libnotify
+    libosip
+    libsoup
+    libupnp
+    libxml2
+    lime
+    mbedtls
+    mediastreamer
+    openldap
+    ortp
+    pango
+    readline
+    soci
+    speex
+    sqlite
+    udev
+    xercesc
+    xsd
+    zlib
+  ];
+
+  nativeBuildInputs = [
+    bcunit
+    cmake
+    doxygen_1_8_16
+    graphviz
+    intltool
+    makeWrapper
+    pkgconfig
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.linphone.org/technical-corner/liblinphone";
+    description = "Library for SIP calls and instant messaging";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/libraries/lime/default.nix b/pkgs/development/libraries/lime/default.nix
new file mode 100644
index 000000000000..3ebcc7ad78a6
--- /dev/null
+++ b/pkgs/development/libraries/lime/default.nix
@@ -0,0 +1,36 @@
+{ bctoolbox
+, belle-sip
+, cmake
+, fetchFromGitLab
+, soci
+, sqlite
+, stdenv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lime";
+  version = "4.3.1";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    owner = "public";
+    group = "BC";
+    repo = pname;
+    rev = version;
+    sha256 = "1ilpp9ai4sah23ngnxisvmwhrv5jkk5f831yp7smpl225z5nv83g";
+  };
+
+  buildInputs = [ bctoolbox soci belle-sip sqlite ];
+  nativeBuildInputs = [ cmake ];
+
+  # Do not build static libraries
+  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+
+  meta = with stdenv.lib; {
+    description = "End-to-end encryption library for instant messaging";
+    homepage = "http://www.linphone.org/technical-corner/lime";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index 0204223d127c..5f7daa83b2f5 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -1,37 +1,97 @@
-{ stdenv, pkgconfig, intltool, alsaLib, libpulseaudio, speex, gsm
-, libopus, ffmpeg, libX11, libXv, libGLU, libGL, glew, libtheora, libvpx, SDL, libupnp
-, ortp, libv4l, libpcap, srtp, fetchFromGitHub, cmake, bctoolbox, doxygen
-, python, libXext, libmatroska, fetchpatch
+{ alsaLib
+, bctoolbox
+, bzrtp
+, cmake
+, doxygen
+, fetchFromGitLab
+, fetchpatch
+, ffmpeg
+, glew
+, gsm
+, intltool
+, libGL
+, libGLU
+, libX11
+, libXext
+, libXv
+, libmatroska
+, libopus
+, libpcap
+, libpulseaudio
+, libtheora
+, libupnp
+, libv4l
+, libvpx
+, ortp
+, pkgconfig
+, python
+, SDL
+, speex
+, srtp
+, stdenv
 }:
 
 stdenv.mkDerivation rec {
   pname = "mediastreamer2";
-  version = "2.16.1";
+  # Using master branch for linphone-desktop caused a chain reaction that many
+  # of its dependencies needed to use master branch too.
+  version = "unstable-2020-03-20";
 
-  src = fetchFromGitHub {
-    owner = "BelledonneCommunications";
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    owner = "public";
+    group = "BC";
     repo = pname;
-    rev = version;
-    sha256 = "02745bzl2r1jqvdqzyv94fjd4w92zr976la4c4nfvsy52waqah7j";
+    rev = "c5eecb72cb44376d142949051dd0cb7c982608fb";
+    sha256 = "1vp260jxvjlmrmjdl4p23prg4cjln20a7z6zq8dqvfh4iq3ya033";
   };
 
   patches = [
-    (fetchpatch {
-      name = "allow-build-without-git.patch";
-      url = "https://github.com/BelledonneCommunications/mediastreamer2/commit/de3a24b795d7a78e78eab6b974e7ec5abf2259ac.patch";
-      sha256 = "1zqkrab42n4dha0knfsyj4q0wc229ma125gk9grj67ps7r7ipscy";
-    })
+    # Plugins directory is normally fixed during compile time. This patch makes
+    # it possible to set the plugins directory run time with an environment
+    # variable MEDIASTREAMER_PLUGINS_DIR. This makes it possible to construct a
+    # plugin directory with desired plugins and wrap executables so that the
+    # environment variable points to that directory.
     ./plugins_dir.patch
   ];
 
-  nativeBuildInputs = [ pkgconfig intltool cmake doxygen python ];
+  nativeBuildInputs = [
+    cmake
+    doxygen
+    intltool
+    pkgconfig
+    python
+  ];
 
   propagatedBuildInputs = [
-    alsaLib libpulseaudio speex gsm libopus
-    ffmpeg libX11 libXv libGLU libGL glew libtheora libvpx SDL libupnp
-    ortp libv4l libpcap srtp bctoolbox libXext libmatroska
+    alsaLib
+    bctoolbox
+    bzrtp
+    ffmpeg
+    glew
+    gsm
+    libGL
+    libGLU
+    libX11
+    libXext
+    libXv
+    libmatroska
+    libopus
+    libpcap
+    libpulseaudio
+    libtheora
+    libupnp
+    libv4l
+    libvpx
+    ortp
+    SDL
+    speex
+    srtp
   ];
 
+  # Do not build static libraries
+  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+
   NIX_CFLAGS_COMPILE = toString [
     "-DGIT_VERSION=\"v${version}\""
     "-Wno-error=deprecated-declarations"
@@ -43,8 +103,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A powerful and lightweight streaming engine specialized for voice/video telephony applications";
-    homepage = http://www.linphone.org/technical-corner/mediastreamer2;
-    license = licenses.gpl2;
+    homepage = "http://www.linphone.org/technical-corner/mediastreamer2";
+    license = licenses.gpl3;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ jluttine ];
   };
 }
diff --git a/pkgs/development/libraries/mediastreamer/msopenh264.nix b/pkgs/development/libraries/mediastreamer/msopenh264.nix
index f1e9fc301510..45b3c83bfe24 100644
--- a/pkgs/development/libraries/mediastreamer/msopenh264.nix
+++ b/pkgs/development/libraries/mediastreamer/msopenh264.nix
@@ -1,31 +1,49 @@
-{ stdenv, autoreconfHook, pkgconfig, mediastreamer, openh264
-, fetchurl, fetchpatch, cmake
+{ autoreconfHook
+, cmake
+, fetchFromGitLab
+, fetchpatch
+, mediastreamer
+, openh264
+, pkgconfig
+, stdenv
 }:
 
 stdenv.mkDerivation rec {
-  pname = "mediastreamer-openh264";
-  version = "1.2.1";
+  pname = "msopenh264";
+  # Using master branch for linphone-desktop caused a chain reaction that many
+  # of its dependencies needed to use master branch too.
+  version = "unstable-2020-03-03";
 
-  src = fetchurl {
-    url = "https://www.linphone.org/releases/sources/plugins/msopenh264/msopenh264-${version}.tar.gz";
-    sha256 = "0rdxgazm52560g52pp6mp3mwx6j1z3h2zyizzfycp8y8zi92fqm8";
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    owner = "public";
+    group = "BC";
+    repo = pname;
+    rev = "2c3abf52824ad23a4caae7565ef158ef91767704";
+    sha256 = "140hs5lzpshzswvl39klcypankq3v2qck41696j22my7s4wsa0hr";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "msopenh264-build-with-openh264-v2.patch";
-      url = "https://git.pld-linux.org/?p=packages/mediastreamer-plugin-msopenh264.git;a=blob_plain;f=mediastreamer-plugin-msopenh264-openh264.patch;hb=344b8af379701a7e58b4ffb3cbac1517eff079fd";
-      sha256 = "10c24b0afchx78q28176pd8iz7i1nlf57f6v6lyqxpz60fm5nrcc";
-    })
-  ];
-
   nativeBuildInputs = [ autoreconfHook cmake pkgconfig ];
   buildInputs = [ mediastreamer openh264 ];
 
+  # Do not build static libraries
+  cmakeFlags = [
+    "-DENABLE_STATIC=NO"
+    "-DCMAKE_SKIP_INSTALL_RPATH=ON"
+  ];
+
+  # CMAKE_INSTALL_PREFIX has no effect so let's install manually. See:
+  # https://gitlab.linphone.org/BC/public/msopenh264/issues/1
+  installPhase = ''
+    mkdir -p $out/lib/mediastreamer/plugins
+    cp src/libmsopenh264.so $out/lib/mediastreamer/plugins/
+  '';
+
   meta = with stdenv.lib; {
     description = "H.264 encoder/decoder plugin for mediastreamer2";
     homepage = "https://www.linphone.org/technical-corner/mediastreamer2";
     license = licenses.gpl2;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ jluttine ];
   };
 }
diff --git a/pkgs/development/libraries/mediastreamer/plugins_dir.patch b/pkgs/development/libraries/mediastreamer/plugins_dir.patch
index e64bfc5a43a1..43e398aafee4 100644
--- a/pkgs/development/libraries/mediastreamer/plugins_dir.patch
+++ b/pkgs/development/libraries/mediastreamer/plugins_dir.patch
@@ -1,24 +1,18 @@
-diff -uNr mediastreamer2/src/base/msfactory.c mediastreamer2-new/src/base/msfactory.c
---- a/src/base/msfactory.c	2015-05-13 16:53:49.801113249 +0200
-+++ b/src/base/msfactory.c	2015-08-26 21:35:44.994724647 +0200
-@@ -630,12 +630,18 @@
+diff --git a/src/base/msfactory.c b/src/base/msfactory.c
+index 14f868e3..2e3445a1 100644
+--- a/src/base/msfactory.c
++++ b/src/base/msfactory.c
+@@ -770,7 +770,12 @@ void ms_factory_uninit_plugins(MSFactory *factory){
  }
  
  void ms_factory_init_plugins(MSFactory *obj) {
+-	if (obj->plugins_dir == NULL) {
 +	char *package_plugins_dir;
- 	if (obj->plugins_dir == NULL) {
-+		package_plugins_dir=getenv("MEDIASTREAMER_PLUGINS_DIR");
-+		if (package_plugins_dir!=NULL){
-+			obj->plugins_dir = ms_strdup(package_plugins_dir);
-+		} else {
- #ifdef PACKAGE_PLUGINS_DIR
--		obj->plugins_dir = ms_strdup(PACKAGE_PLUGINS_DIR);
-+			obj->plugins_dir = ms_strdup(PACKAGE_PLUGINS_DIR);
- #else
--		obj->plugins_dir = ms_strdup("");
-+			obj->plugins_dir = ms_strdup("");
- #endif
-+		}
- 	}
- 	if (strlen(obj->plugins_dir) > 0) {
- 		ms_message("Loading ms plugins from [%s]",obj->plugins_dir);
++	// Force plugin dir from environment variable if set
++	package_plugins_dir = getenv("MEDIASTREAMER_PLUGINS_DIR");
++	if (package_plugins_dir != NULL) {
++		ms_factory_set_plugins_dir(obj, package_plugins_dir);
++	} else if (obj->plugins_dir == NULL) {
+ #ifdef __APPLE__
+ 	char *dir = getPluginsDir();
+ 	if (dir != NULL) {
diff --git a/pkgs/development/libraries/ortp/default.nix b/pkgs/development/libraries/ortp/default.nix
index 68e890e33682..53636f05b789 100644
--- a/pkgs/development/libraries/ortp/default.nix
+++ b/pkgs/development/libraries/ortp/default.nix
@@ -1,16 +1,27 @@
-{ stdenv, cmake, fetchFromGitHub, bctoolbox }:
+{ bctoolbox
+, cmake
+, fetchFromGitLab
+, stdenv
+}:
 
 stdenv.mkDerivation rec {
   pname = "ortp";
-  version = "1.0.2";
+  # Using master branch for linphone-desktop caused a chain reaction that many
+  # of its dependencies needed to use master branch too.
+  version = "unstable-2020-03-17";
 
-  src = fetchFromGitHub {
-    owner = "BelledonneCommunications";
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    owner = "public";
+    group = "BC";
     repo = pname;
-    rev = version;
-    sha256 = "12cwv593bsdnxs0zfcp07vwyk7ghlz2wv7vdbs1ksv293w3vj2rv";
+    rev = "804dfc4f90d1a4301127c7af10a74fd2935dd5d8";
+    sha256 = "1yr8j8am68spyy5d9vna8zcq3qn039mi16cv9jf5n4chs9rxf7xx";
   };
 
+  # Do not build static libraries
+  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+
   NIX_CFLAGS_COMPILE = "-Wno-error=stringop-truncation";
 
   buildInputs = [ bctoolbox ];
@@ -18,8 +29,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A Real-Time Transport Protocol (RFC3550) stack";
-    homepage = https://linphone.org/technical-corner/ortp;
-    license = licenses.gpl2Plus;
+    homepage = "https://linphone.org/technical-corner/ortp";
+    license = licenses.gpl3;
     platforms = platforms.all;
+    maintainers = with maintainers; [ jluttine ];
   };
 }
diff --git a/pkgs/development/libraries/soci/default.nix b/pkgs/development/libraries/soci/default.nix
new file mode 100644
index 000000000000..1f9b77cc3c92
--- /dev/null
+++ b/pkgs/development/libraries/soci/default.nix
@@ -0,0 +1,31 @@
+{ cmake
+, fetchFromGitHub
+, sqlite
+, stdenv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "soci";
+  version = "4.0.0";
+
+  src = fetchFromGitHub {
+    owner = "SOCI";
+    repo = pname;
+    rev = version;
+    sha256 = "06faswdxd2frqr9xnx6bxc7zwarlzsbdi3bqpz7kwdxsjvq41rnb";
+  };
+
+  # Do not build static libraries
+  cmakeFlags = [ "-DSOCI_STATIC=OFF" ];
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ sqlite ];
+
+  meta = with stdenv.lib; {
+    description = "Database access library for C++";
+    homepage = "http://soci.sourceforge.net/";
+    license = licenses.boost;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}