93ea5b0d0d
Fixes #84488
160 lines
3.4 KiB
Nix
160 lines
3.4 KiB
Nix
{ 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
|
|
];
|
|
|
|
# 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 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 ];
|
|
};
|
|
}
|