about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/liblinphone
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/liblinphone')
-rw-r--r--nixpkgs/pkgs/development/libraries/liblinphone/default.nix87
1 files changed, 87 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/liblinphone/default.nix b/nixpkgs/pkgs/development/libraries/liblinphone/default.nix
new file mode 100644
index 000000000000..33220f193b59
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/liblinphone/default.nix
@@ -0,0 +1,87 @@
+{ bctoolbox
+, belcard
+, belle-sip
+, belr
+, cmake
+, doxygen
+, fetchFromGitLab
+, jsoncpp
+, libxml2
+, lime
+, mediastreamer
+, python3
+, bc-soci
+, sqlite
+, lib
+, stdenv
+, xercesc
+, zxing-cpp
+}:
+
+stdenv.mkDerivation rec {
+  pname = "liblinphone";
+  version = "5.2.98";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    owner = "public";
+    group = "BC";
+    repo = pname;
+    rev = version;
+    hash = "sha256-kQZePMa7MTaSJLEObM8khfSFYLqhlgTcVyKfTPLwKYU=";
+  };
+
+  postPatch = ''
+    substituteInPlace src/CMakeLists.txt \
+      --replace "jsoncpp_object" "jsoncpp" \
+      --replace "jsoncpp_static" "jsoncpp"
+  '';
+
+  cmakeFlags = [
+    "-DENABLE_STATIC=NO" # Do not build static libraries
+    "-DENABLE_UNIT_TESTS=NO" # Do not build test executables
+    "-DENABLE_STRICT=NO" # Do not build with -Werror
+  ];
+
+  buildInputs = [
+    # Made by BC
+    belcard
+    belle-sip
+    lime
+    mediastreamer
+
+    # Vendored by BC
+    bc-soci
+
+    jsoncpp
+    libxml2
+    (python3.withPackages (ps: [ ps.pystache ps.six ]))
+    sqlite
+    xercesc
+    zxing-cpp
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    doxygen
+  ];
+
+  strictDeps = true;
+
+  # Some grammar files needed to be copied too from some dependencies. I suppose
+  # if one define a dependency in such a way that its share directory is found,
+  # then this copying would be unnecessary. Instead of actually copying these
+  # files, create a symlink.
+  postInstall = ''
+    mkdir -p $out/share/belr/grammars
+    ln -s ${belcard}/share/belr/grammars/* $out/share/belr/grammars/
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.linphone.org/technical-corner/liblinphone";
+    description = "Library for SIP calls and instant messaging";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}