linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / liblinphone / default.nix
blob3ef64823a024a46f930f717ec09684f4a76e30c5
1 { bcg729
2 , bctoolbox
3 , bcunit
4 , belcard
5 , belle-sip
6 , belr
7 , bzrtp
8 , cairo
9 , cmake
10 , cyrus_sasl
11 , doxygen
12 , fetchFromGitLab
13 , ffmpeg_3
14 , gdk-pixbuf
15 , glib
16 , graphviz
17 , gtk2
18 , intltool
19 , libexosip
20 , libmatroska
21 , libnotify
22 , libosip
23 , libsoup
24 , libupnp
25 , libX11
26 , libxml2
27 , lime
28 , makeWrapper
29 , mbedtls
30 , mediastreamer
31 , openldap
32 , ortp
33 , pango
34 , pkg-config
35 , python3
36 , readline
37 , soci
38 , speex
39 , sqlite
40 , lib, stdenv
41 , udev
42 , xercesc
43 , xsd
44 , zlib
47 stdenv.mkDerivation rec {
48   pname = "liblinphone";
49   version = "4.5.1";
51   src = fetchFromGitLab {
52     domain = "gitlab.linphone.org";
53     owner = "public";
54     group = "BC";
55     repo = pname;
56     rev = version;
57     sha256 = "05ybbxq2yqzy3f3vzq8c3szs3qr0zl64la53icpqnmfakwnps5gs";
58   };
60   # Do not build static libraries
61   cmakeFlags = [ "-DENABLE_STATIC=NO" ];
63   # TODO: Not sure if all these inputs are actually needed. Most of them were
64   # defined when liblinphone and linphone-desktop weren't separated yet, so some
65   # of them might not be needed for liblinphone alone.
66   buildInputs = [
67     (python3.withPackages (ps: [ ps.pystache ps.six ]))
68     bcg729
69     bctoolbox
70     belcard
71     belle-sip
72     belr
73     bzrtp
74     cairo
75     cyrus_sasl
76     ffmpeg_3
77     gdk-pixbuf
78     glib
79     gtk2
80     libX11
81     libexosip
82     libmatroska
83     libnotify
84     libosip
85     libsoup
86     libupnp
87     libxml2
88     lime
89     mbedtls
90     mediastreamer
91     openldap
92     ortp
93     pango
94     readline
95     soci
96     speex
97     sqlite
98     udev
99     xercesc
100     xsd
101     zlib
102   ];
104   nativeBuildInputs = [
105     bcunit
106     cmake
107     doxygen
108     graphviz
109     intltool
110     makeWrapper
111     pkg-config
112   ];
114   strictDeps = true;
116   # Some grammar files needed to be copied too from some dependencies. I suppose
117   # if one define a dependency in such a way that its share directory is found,
118   # then this copying would be unnecessary. Instead of actually copying these
119   # files, create a symlink.
120   postInstall = ''
121     mkdir -p $out/share/belr/grammars
122     ln -s ${belcard}/share/belr/grammars/* $out/share/belr/grammars/
123   '';
125   meta = with lib; {
126     homepage = "https://www.linphone.org/technical-corner/liblinphone";
127     description = "Library for SIP calls and instant messaging";
128     license = licenses.gpl3Plus;
129     platforms = platforms.linux;
130     maintainers = with maintainers; [ jluttine ];
131   };