gnu: linphoneqt: Fix crashes.
[jackhill/guix/guix.git] / gnu / packages / linphone.scm
CommitLineData
d5a8e391
RG
1;;; GNU Guix --- Functional package management for GNU
2;;;
3;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
fe6ccb85 4;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
d5a8e391
RG
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages linphone)
22 #:use-module (gnu packages)
b6b3a6a6
RG
23 #:use-module (gnu packages admin)
24 #:use-module (gnu packages audio)
d5a8e391 25 #:use-module (gnu packages base)
e7859da1 26 #:use-module (gnu packages compression)
13f401d3 27 #:use-module (gnu packages documentation)
9732910d 28 #:use-module (gnu packages gettext)
b6b3a6a6 29 #:use-module (gnu packages gl)
02b32cdd 30 #:use-module (gnu packages glib)
b6b3a6a6 31 #:use-module (gnu packages gnome)
02b32cdd 32 #:use-module (gnu packages gnome-xyz)
13f401d3 33 #:use-module (gnu packages graphviz)
02b32cdd 34 #:use-module (gnu packages gtk)
b6b3a6a6
RG
35 #:use-module (gnu packages image)
36 #:use-module (gnu packages linux)
37 #:use-module (gnu packages pulseaudio)
38 #:use-module (gnu packages python)
9732910d 39 #:use-module (gnu packages python-xyz)
c0cce205 40 #:use-module (gnu packages qt)
e7859da1 41 #:use-module (gnu packages java)
f3697439 42 #:use-module (gnu packages sqlite)
b6b3a6a6 43 #:use-module (gnu packages telephony)
bfaabfeb 44 #:use-module (gnu packages tls)
b6b3a6a6
RG
45 #:use-module (gnu packages video)
46 #:use-module (gnu packages xiph)
f3697439 47 #:use-module (gnu packages xml)
b6b3a6a6 48 #:use-module (gnu packages xorg)
d5a8e391
RG
49 #:use-module ((guix licenses) #:prefix license:)
50 #:use-module (guix packages)
51 #:use-module (guix download)
52 #:use-module (guix build-system cmake)
c0cce205 53 #:use-module (guix build-system qt)
d5a8e391
RG
54 #:use-module (guix build-system gnu))
55
56(define-public bcunit
57 (package
58 (name "bcunit")
59 (version "3.0.2")
60 (source
61 (origin
62 (method url-fetch)
63 (uri
64 (string-append "https://www.linphone.org/releases/sources/" name
65 "/" name "-" version ".tar.gz"))
66 (sha256
67 (base32 "0ylchj8w98ic2fkqpxc6yk4s6s0h0ql2zsz5n49jd7126m4h8dqk"))))
68 (build-system cmake-build-system)
69 (arguments
70 '(#:tests? #f ; No test target
71 #:configure-flags
1988ef21 72 (list "-DENABLE_STATIC=NO"))) ; Not required
d5a8e391 73 (synopsis "Belledonne Communications Unit Testing Framework")
1988ef21
RG
74 (description "BCUnit is a fork of the defunct project CUnit, with several
75fixes and patches applied. It is an unit testing framework for writing,
76administering, and running unit tests in C.")
d5a8e391
RG
77 (home-page "https://gitlab.linphone.org/BC/public/bcunit")
78 (license license:lgpl2.0+)))
bfaabfeb
RG
79
80(define-public bctoolbox
81 (package
82 (name "bctoolbox")
83 (version "0.6.0")
84 (source
85 (origin
86 (method url-fetch)
87 (uri
88 (string-append "https://www.linphone.org/releases/sources/" name
89 "/" name "-" version ".tar.gz"))
90 (sha256
91 (base32 "1a1i70pb4hhnykkwyhhc7fv67q556l8kprny8xzgfqpj1nby2ms6"))))
92 (build-system cmake-build-system)
93 (arguments
94 '(#:tests? #f ; No test target
95 #:configure-flags
1988ef21 96 (list "-DENABLE_STATIC=OFF"))) ; Not required
bfaabfeb
RG
97 (inputs
98 `(("bcunit" ,bcunit)
99 ("mbedtls" ,mbedtls-apache)))
100 (synopsis "Belledonne Communications Tool Box")
101 (description "BcToolBox is an utilities library used by Belledonne
1d0feeb0 102Communications software like belle-sip, mediastreamer2 and linphone.")
bfaabfeb
RG
103 (home-page "https://gitlab.linphone.org/BC/public/bctoolbox")
104 (license license:gpl2+)))
63c73bca
RG
105
106(define-public belr
107 (package
108 (name "belr")
109 (version "0.1.3")
110 (source
111 (origin
112 (method url-fetch)
113 (uri
114 (string-append "https://www.linphone.org/releases/sources/" name
115 "/" name "-" version ".tar.gz"))
116 (sha256
117 (base32 "1fwv2cg3qy9vdc7dimcda7nqcqc1h2cdd7ikhk7ng7q4ys8m96c1"))))
118 (build-system cmake-build-system)
119 (arguments
120 `(#:tests? #f ; No test target
121 #:configure-flags
1988ef21 122 (list "-DENABLE_STATIC=OFF"))) ; Not required
63c73bca
RG
123 (inputs
124 `(("bctoolbox" ,bctoolbox)))
125 (synopsis "Belledonne Communications Language Recognition Library")
1988ef21
RG
126 (description "Belr is Belledonne Communications' language recognition
127library, written in C++11. It parses text inputs formatted according to a
128language defined by an ABNF grammar, such as the protocols standardized at
129IETF.")
63c73bca
RG
130 (home-page "https://gitlab.linphone.org/BC/public/belr")
131 (license license:gpl3+)))
c8f69ec2
RG
132
133(define-public belcard
134 (package
135 (name "belcard")
136 (version "1.0.2")
137 (source
138 (origin
139 (method url-fetch)
140 (uri
141 (string-append "https://www.linphone.org/releases/sources/" name
142 "/" name "-" version ".tar.gz"))
143 (sha256
144 (base32 "0iiyrll1shnbb0561pkvdqcmx9b2cdr76xpsbaqdirc3s4xzcl0k"))))
145 (build-system cmake-build-system)
146 (arguments
147 `(#:tests? #f ; No test target
148 #:configure-flags
1988ef21 149 (list "-DENABLE_STATIC=OFF"))) ; Not required
c8f69ec2
RG
150 (inputs
151 `(("bctoolbox" ,bctoolbox)
152 ("belr" ,belr)))
153 (synopsis "Belledonne Communications VCard Library")
1988ef21
RG
154 (description "Belcard is a C++ library to manipulate VCard standard
155format.")
c8f69ec2
RG
156 (home-page "https://gitlab.linphone.org/BC/public/belcard")
157 (license license:gpl3+)))
28f6f1e0
RG
158
159(define-public bcmatroska2
160 (package
161 (name "bcmatroska2")
162 (version "0.23")
163 (source
164 (origin
165 (method url-fetch)
166 (uri
167 (string-append "https://www.linphone.org/releases/sources/" name
168 "/" name "-" version ".tar.gz"))
169 (sha256
170 (base32 "1a0vlk4fhh189pfzrwbc3xbc5vyx6cnxy642d1h40045jz9y4h15"))))
171 (build-system cmake-build-system)
172 (arguments
173 `(#:tests? #f ; No test target
174 #:configure-flags
175 (list
176 "-DENABLE_STATIC=NO"))) ; Not required
177 (synopsis "Belledonne Communications Media Container")
1988ef21
RG
178 (description "BcMatroska is a free and open standard multi-media container
179format. It can hold an unlimited number of video, audio, picture, or subtitle
180tracks in one file. ")
28f6f1e0
RG
181 (home-page "https://gitlab.linphone.org/BC/public/bcmatroska2")
182 (license
183 (list
1988ef21 184 ;; For Core C and LibEBML2.
28f6f1e0
RG
185 ;; https://www.matroska.org/node/47
186 license:bsd-4
1988ef21 187 ;; For LibMatroska2.
28f6f1e0
RG
188 ;; https://www.matroska.org/node/47
189 license:lgpl2.1+))))
02d5d72c
RG
190
191(define-public bcg729
192 (package
193 (name "bcg729")
194 (version "1.0.4")
195 (source
196 (origin
197 (method url-fetch)
198 (uri
199 (string-append "https://www.linphone.org/releases/sources/" name
200 "/" name "-" version ".tar.gz"))
201 (sha256
202 (base32 "01y34ky7ykjgfnf8a9f59hg61fqfjiprfrzshdz06w0lz4gvy3qs"))))
203 (build-system cmake-build-system)
204 (arguments
205 `(#:tests? #f ; No test target
206 #:configure-flags
1988ef21 207 (list "-DENABLE_STATIC=NO"))) ; Not required
02d5d72c
RG
208 (synopsis "Belledonne Communications G729 Codec")
209 (description "BcG729 is an implementation of both encoder and decoder of
210the ITU G729 speech codec. The library written in C 99 is fully portable and
211can be executed on many platforms including both ARM and x86 processors. It
212supports concurrent channels encoding and decoding for multi call application
213such as conferencing.")
214 (home-page "https://gitlab.linphone.org/BC/public/belcard")
215 (license license:gpl2+)))
13f401d3
RG
216
217(define-public ortp
218 (package
219 (name "ortp")
220 (version "1.0.2")
221 (source
222 (origin
223 (method url-fetch)
224 (uri
225 (string-append "https://www.linphone.org/releases/sources/" name
226 "/" name "-" version ".tar.gz"))
227 (sha256
228 (base32 "016qg0lmdgmqh2kv19w9qhi4kkiyi5h1xp35g2s65b1j8ccm25d5"))))
229 (build-system cmake-build-system)
230 (arguments
231 `(#:tests? #f ; No test target
232 #:configure-flags
1988ef21 233 (list "-DENABLE_STATIC=NO"))) ; Not required
13f401d3
RG
234 (native-inputs
235 `(("dot" ,graphviz)
236 ("doxygen" ,doxygen)))
237 (inputs
238 `(("bctoolbox" ,bctoolbox)))
239 (synopsis "Belledonne Communications RTP Library")
240 (description "oRTP is a C library implementing the RTP protocol. It
241implements the RFC 3550 standard.")
242 (home-page "https://gitlab.linphone.org/BC/public/ortp")
243 (license license:gpl2+)))
f3697439
RG
244
245(define-public bzrtp
246 (package
247 (name "bzrtp")
248 (version "1.0.6")
249 (source
250 (origin
251 (method url-fetch)
252 (uri
253 (string-append "https://www.linphone.org/releases/sources/" name
254 "/" name "-" version ".tar.gz"))
255 (sha256
256 (base32 "12y0kkh90pixaaxfyx26ca2brhy6nw57fsypp6vh8jk1illv0j5z"))))
257 (build-system cmake-build-system)
258 (arguments
259 `(#:tests? #f ; No test target
260 #:configure-flags
1988ef21 261 (list "-DENABLE_STATIC=NO"))) ; Not required
f3697439
RG
262 (inputs
263 `(("bctoolbox" ,bctoolbox)
264 ("sqlite3" ,sqlite)
265 ("xml2" ,libxml2)))
266 (synopsis "Belledonne Communications ZRTP Library")
1988ef21
RG
267 (description "BZRTP is an implementation of ZRTP keys exchange protocol,
268written in C. It is fully portable and can be executed on many platforms
269including both ARM and x86.")
f3697439
RG
270 (home-page "https://gitlab.linphone.org/BC/public/bzrtp")
271 (license license:gpl2+)))
e7859da1
RG
272
273(define-public belle-sip
274 (package
275 (name "belle-sip")
276 (version "1.6.3")
277 (source
278 (origin
279 (method url-fetch)
280 (uri
281 (string-append "https://www.linphone.org/releases/sources/" name
282 "/" name "-" version ".tar.gz"))
283 (sha256
284 (base32 "0s55kggmgxap54dkw5856bgk4xg7yvbzialpxnjm0zhpic3hff1z"))))
285 (build-system cmake-build-system)
286 (arguments
287 `(#:tests? #f ; Requires network access
288 #:configure-flags
1988ef21 289 (list "-DENABLE_STATIC=NO") ; Not required
e7859da1
RG
290 #:phases
291 (modify-phases %standard-phases
292 (add-after 'unpack 'patch
293 (lambda _
294 (substitute* "src/CMakeLists.txt"
1988ef21
RG
295 ;; ANTLR would use multithreaded DFA generation otherwise,
296 ;; which would not be reproducible.
297 (("-Xmultithreaded ") ""))
e7859da1
RG
298 #t)))))
299 (inputs
300 `(("antlr3" ,antlr3-3.3)
301 ("antlr3c" ,libantlr3c)
302 ("bctoolbox" ,bctoolbox)
303 ("java" ,icedtea)
304 ("zlib" ,zlib)))
305 (synopsis "Belledonne Communications SIP Library")
306 (description "Belle-sip is a modern library implementing SIP transport,
307transaction and dialog layers. It is written in C, with an object-oriented
308API. It also comprises a simple HTTP/HTTPS client implementation.")
309 (home-page "https://gitlab.linphone.org/BC/public/belle-sip")
310 (license license:gpl2+)))
b6b3a6a6
RG
311
312(define-public mediastreamer2
313 (package
314 (name "mediastreamer2")
315 (version "2.16.1")
316 (source
317 (origin
318 (method url-fetch)
319 (uri
320 (string-append "https://www.linphone.org/releases/sources/"
321 "mediastreamer/mediastreamer-" version ".tar.gz"))
322 (sha256
2c56aeae 323 (base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k"))
fe6ccb85
MC
324 (patches (search-patches "mediastreamer2-srtp2.patch"))))
325 (outputs '("out" "doc" "tester"))
b6b3a6a6
RG
326 (build-system cmake-build-system)
327 (arguments
328 `(#:tests? #f ; No test target
329 #:configure-flags
1988ef21
RG
330 (list "-DENABLE_STATIC=NO" ; Not required
331 "-DENABLE_STRICT=NO" ; Would otherwise treat warnings as err
332 "-DENABLE_BV16=NO" ; Not available
333 "-DCMAKE_C_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\""
334 "-DCMAKE_CXX_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"")
fe6ccb85
MC
335 #:phases
336 (modify-phases %standard-phases
337 (add-after 'install 'separate-outputs
338 (lambda* (#:key outputs #:allow-other-keys)
339 (let* ((out (assoc-ref outputs "out"))
340 (doc (assoc-ref outputs "doc"))
341 (tester (assoc-ref outputs "tester"))
342 (tester-name (string-append ,name "_tester")))
343 ;; Copy the tester executable.
344 (mkdir-p (string-append tester "/bin"))
345 (rename-file (string-append out "/bin/" tester-name)
346 (string-append tester "/bin/" tester-name))
347 ;; Copy the tester data files.
348 (copy-recursively (string-append out "/share/" tester-name)
349 (string-append tester "/share/" tester-name))
350 (delete-file-recursively (string-append out "/share/"
351 tester-name))
352 ;; Copy the HTML documentation.
353 (copy-recursively (string-append out "/share/doc/"
354 ,name "-" ,version "/html")
355 (string-append doc "/share/doc/"
356 ,name "-" ,version "/html"))
357 (delete-file-recursively (string-append out "/share/doc/"
358 ,name "-" ,version
359 "/html"))
360 #t))))))
b6b3a6a6
RG
361 (native-inputs
362 `(("dot" ,graphviz)
363 ("doxygen" ,doxygen)
364 ("python" ,python)))
365 (inputs
366 `(("alsa" ,alsa-lib)
367 ("bcg729" ,bcg729)
368 ("bcmatroska2" ,bcmatroska2)
369 ("bctoolbox" ,bctoolbox)
370 ("ffmpeg" ,ffmpeg)
371 ("glew" ,glew)
372 ("glu" ,glu)
373 ("glx" ,mesa-utils)
374 ("gsm" ,gsm)
375 ("opengl" ,mesa)
376 ("opus" ,opus)
377 ("ortp" ,ortp)
378 ("pcap" ,libpcap)
379 ("portaudio" ,portaudio)
380 ("pulseaudio" ,pulseaudio)
381 ("spandsp" ,spandsp)
382 ("speex" ,speex)
383 ("speexdsp" ,speexdsp)
384 ("srtp" ,libsrtp)
385 ("theora" ,libtheora)
386 ("turbojpeg" ,libjpeg-turbo)
387 ("v4l" ,v4l-utils)
388 ("vpx" ,libvpx)
389 ("x11" ,libx11)
390 ("xv" ,libxv)
1988ef21 391 ("zrtp" ,bzrtp)))
b6b3a6a6 392 (synopsis "Belledonne Communications Streaming Engine")
1988ef21
RG
393 (description "Mediastreamer2 is a powerful and lightweight streaming engine
394for telephony applications. This media processing and streaming toolkit is
395responsible for receiving and sending all multimedia streams in Linphone,
396including media capture, encoding and decoding, and rendering.")
b6b3a6a6
RG
397 (home-page "https://gitlab.linphone.org/BC/public/mediastreamer2")
398 (license license:gpl2+)))
9732910d
RG
399
400(define-public liblinphone
401 (package
402 (name "liblinphone")
403 (version "3.12.0")
404 (source
405 (origin
406 (method url-fetch)
407 (uri
408 (string-append "https://www.linphone.org/releases/sources/linphone"
409 "/linphone-" version ".tar.gz"))
410 (sha256
411 (base32 "0phhkx55xdyg28d4wn8l8q4yvsmdgzmjiw584d4s190sq1azm91x"))))
412 (build-system cmake-build-system)
413 (arguments
414 `(#:tests? #f ; No test target
415 #:configure-flags
1988ef21
RG
416 (list (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR="
417 (string-append (assoc-ref %build-inputs "gtk2")
418 "/lib/gtk-2.0/include"))
419 (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR="
420 (string-append (assoc-ref %build-inputs "glib")
421 "/lib/glib-2.0/include"))
422 "-DENABLE_STATIC=NO" ; Not required
423 "-DENABLE_STRICT=NO"
424 "-DENABLE_GTK_UI=YES") ; for legacy UI
02b32cdd
DM
425 #:phases
426 (modify-phases %standard-phases
427 (add-after 'unpack 'patch
428 (lambda _
429 (substitute* "gtk/main.c"
430 (("#include \"liblinphone_gitversion.h\"")
431 ""))
432 #t)))))
9732910d
RG
433 (native-inputs
434 `(("dot" ,graphviz)
435 ("doxygen" ,doxygen)
436 ("gettext" ,gettext-minimal)
437 ("iconv" ,libiconv)
438 ("python" ,python)
439 ("xml2" ,libxml2)
440 ("zlib" ,zlib)))
441 (inputs
442 `(("bctoolbox" ,bctoolbox)
443 ("belcard" ,belcard)
444 ("bellesip" ,belle-sip)
445 ("bzrtp", bzrtp)
02b32cdd
DM
446 ("glib" ,glib)
447 ("gtk2" ,gtk+-2)
9732910d 448 ("mediastreamer2" ,mediastreamer2)
02b32cdd 449 ("notify" ,libnotify)
9732910d
RG
450 ("ortp" ,ortp)
451 ("pystache" ,python-pystache)
452 ("six" ,python-six)
453 ("sqlite" ,sqlite)
454 ("udev" ,eudev)))
02b32cdd
DM
455 (propagated-inputs
456 `(("murrine" ,murrine))) ; Required for GTK UI
9732910d
RG
457 (synopsis "Belledonne Communications Softphone Library")
458 (description "Liblinphone is a high-level SIP library integrating
459all calling and instant messaging features into an unified
460easy-to-use API. It is the cross-platform VoIP library on which the
461Linphone application is based on, and that anyone can use to add audio
462and video calls or instant messaging capabilities to an application.")
463 (home-page "https://gitlab.linphone.org/BC/public/liblinphone")
464 (license license:gpl2+)))
14e73f8f 465
c0cce205
RG
466(define-public linphoneqt
467 (package
468 (name "linphoneqt")
469 (version "4.1.1")
470 (source
471 (origin
472 (method url-fetch)
473 (uri
474 (string-append "https://www.linphone.org/releases/sources/" name
475 "/" name "-" version ".tar.gz"))
476 (sha256
45fd28f7
RG
477 (base32 "1g2zrr9li0g1hgs6vys06vr98h5dx36z22hx7a6ry231536c002a"))
478 (patches (search-patches "linphoneqt-tabbutton.patch"))))
c0cce205
RG
479 (build-system qt-build-system)
480 (arguments
481 `(#:tests? #f ; No test target
482 #:phases
c0cce205 483 (modify-phases %standard-phases
a4f1a7e2
MC
484 (add-after 'set-paths 'set-qt-rcc-source-date-override
485 (lambda _
486 ;; This fixes a reproducibility problem where the Qt Resource
1988ef21 487 ;; Compiler (RCC) includes timestamp of its source files
a4f1a7e2 488 ;; (see: https://reproducible-builds.org/docs/
1988ef21 489 ;; deterministic-build-systems/#cmake-notes).
a4f1a7e2
MC
490 (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
491 #t))
492 (add-after 'unpack 'fix-cmake-error
493 (lambda _
494 ;; This is fixed in commit efed2fd8 of the master branch.
495 (substitute* "CMakeLists.txt"
496 (("js)\\$\"")
497 "js$\""))
498 #t))
499 (add-after 'unpack 'set-version-string
c0cce205
RG
500 (lambda _
501 (substitute* "src/app/AppController.cpp"
502 (("LINPHONE_QT_GIT_VERSION")
a4f1a7e2 503 (format #f "~s" ,version)))
c0cce205
RG
504 #t)))))
505 (native-inputs
506 `(("qttools" ,qttools)))
507 (inputs
508 `(("bctoolbox" ,bctoolbox)
509 ("belcard" ,belcard)
510 ("bellesip" ,belle-sip)
511 ("linphone" ,liblinphone)
512 ("mediastreamer2" ,mediastreamer2)
513 ("qtbase" ,qtbase)
514 ("qtdeclarative" ,qtdeclarative)
515 ("qtgraphicaleffects" ,qtgraphicaleffects)
45fd28f7 516 ("qtquickcontrols" ,qtquickcontrols)
c0cce205
RG
517 ("qtquickcontrols2" ,qtquickcontrols2)
518 ("qtsvg" ,qtsvg)))
a4f1a7e2
MC
519 (synopsis "Desktop client for the Linphone SIP softphone")
520 (description "Linphone is a SIP softphone for voice and video over IP calling
521(VoIP) and instant messaging. Amongst its features are:
522@itemize
523@item High Definition (HD) audio and video calls
524@item Multiple call management (pause and resume)
525@item Call transfer
526@item Audio conferencing (merge calls into a conference call)
527@item Call recording and replay (audio only)
528@item Instant Messaging with message delivery status (IMDN)
529@item Picture and file sharing
530@item Echo cancellation
531@item Secure user authentication using TLS client certificates
532@item SRTP, zRTP and SRTP-DTLS voice and video encryption
533@item Telephone tone (DTMF) support using SIP INFO or RFC 4733
534@item Audio codecs: opus, speex, g711, g729, gsm, iLBC, g722, SILK, etc.
535@item Video codecs: VP8, H.264 and H.265 with resolutions up to 1080P, MPEG4
536@end itemize")
c0cce205
RG
537 (home-page "https://gitlab.linphone.org/BC/public/linphone-desktop")
538 (license license:gpl2+)))
539
14e73f8f
RG
540(define-public msopenh264
541 (package
542 (name "msopenh264")
543 (version "1.2.1")
544 (source
545 (origin
546 (method url-fetch)
547 (uri
548 (string-append "https://www.linphone.org/releases/sources/plugins/"
549 name "/" name "-" version ".tar.gz"))
550 (sha256
551 (base32 "0rdxgazm52560g52pp6mp3mwx6j1z3h2zyizzfycp8y8zi92fqm8"))
552 (patches
553 (list
554 ;; For support for OpenH264 version >= 2.
555 (origin
556 (method url-fetch)
557 (uri
1988ef21
RG
558 (string-append "https://gitlab.linphone.org/BC/public/msopenh264/"
559 "commit/493d147d28c9a0f788ba4e50b47a1ce7b18bf326"
560 ".diff"))
14e73f8f
RG
561 (file-name "msopenh264-openh264.patch")
562 (sha256
1988ef21
RG
563 (base32
564 "0mmd7nz5n9ian4rcwn200nldmy5j0dpdrna7r32rqnaw82bx3kdb")))))))
14e73f8f
RG
565 (build-system cmake-build-system)
566 (arguments
567 `(#:tests? #f ; No test target
568 #:configure-flags
1988ef21 569 (list "-DENABLE_STATIC=NO"))) ; Not required
14e73f8f
RG
570 (inputs
571 `(("mediastreamer2" ,mediastreamer2)
572 ("openh264" ,openh264)
573 ("ortp" ,ortp)))
574 (synopsis "Media Streamer H.264 Codec")
575 (description "MsOpenH264 is an H.264 encoder/decoder plugin for
576mediastreamer2 based on the openh264 library.")
577 (home-page "https://gitlab.linphone.org/BC/public/msopenh264")
578 (license license:gpl2+)))
f689d3d7
RG
579
580(define-public mssilk
581 (package
582 (name "mssilk")
583 (version "1.1.1")
584 (source
585 (origin
586 (method url-fetch)
587 (uri
588 (string-append "https://www.linphone.org/releases/sources/plugins/"
589 name "/" name "-" version ".tar.gz"))
590 (sha256
591 (base32 "07ip0vd29d1n98lnqs5wpimcsmpm65yl7g5vk4hbqghcbsjw94lj"))))
592 (build-system cmake-build-system)
593 (arguments
594 `(#:tests? #f ; No test target
595 #:configure-flags
1988ef21 596 (list "-DENABLE_STATIC=NO"))) ; Not required
f689d3d7
RG
597 (inputs
598 `(("mediastreamer2" ,mediastreamer2)
599 ("ortp" ,ortp)))
600 (synopsis "Media Streamer SILK Codec")
1988ef21
RG
601 (description "MSSILK is a plugin of MediaStreamer, adding support for AMR
602codec. It is based on the Skype's SILK implementation.")
f689d3d7
RG
603 (home-page "https://gitlab.linphone.org/BC/public/mssilk")
604 (license license:gpl2+)))
fe8f1c0b
RG
605
606(define-public mswebrtc
607 (package
608 (name "mswebrtc")
609 (version "1.1.1")
610 (source
611 (origin
612 (method url-fetch)
613 (uri
614 (string-append "https://www.linphone.org/releases/sources/plugins/"
615 name "/" name "-" version ".tar.gz"))
616 (sha256
617 (base32 "1wj28hl9myhshqmn64xg0jf07aw75gmnilb5rff6rcbdxim87mqr"))))
618 (build-system cmake-build-system)
619 (arguments
620 `(#:tests? #f ; No test target
621 #:configure-flags
622 (list
1988ef21 623 "-DENABLE_STATIC=NO"))) ; Not required
fe8f1c0b
RG
624 (inputs
625 `(("bctoolbox" ,bctoolbox)
626 ("mediastreamer2" ,mediastreamer2)
627 ("ortp" ,ortp)))
628 (synopsis "Media Streamer WebRTC Codec")
629 (description "MSWebRTC is a plugin of MediaStreamer, adding support for
630WebRTC codec. It includes features from WebRTC, such as, iSAC and AECM.")
631 (home-page "https://gitlab.linphone.org/BC/public/mswebrtc")
632 (license license:gpl2+)))
b8920169
RG
633
634(define-public msamr
635 (package
636 (name "msamr")
637 (version "1.1.3")
638 (source
639 (origin
640 (method url-fetch)
641 (uri
642 (string-append "https://www.linphone.org/releases/sources/plugins/"
643 name "/" name "-" version ".tar.gz"))
644 (sha256
645 (base32 "16c9f3z4wnj73k7y8gb0fgpr4axsm7b5zrbjvy8vsgz9gyg3agm5"))))
646 (build-system cmake-build-system)
647 (arguments
648 `(#:tests? #f ; No test target
649 #:configure-flags
1988ef21
RG
650 (list "-DENABLE_STATIC=NO" ; Not required
651 "-DENABLE_WIDEBAND=YES")))
b8920169
RG
652 (inputs
653 `(("mediastreamer2" ,mediastreamer2)
654 ("opencoreamr" ,opencore-amr)
655 ("ortp" ,ortp)
656 ("voamrwbenc" ,vo-amrwbenc)))
657 (synopsis "Media Streamer AMR Codec")
1988ef21
RG
658 (description "MSAMR is a plugin of MediaStreamer, adding support for AMR
659codec. It is based on the opencore-amr implementation.")
b8920169
RG
660 (home-page "https://gitlab.linphone.org/BC/public/msamr")
661 (license license:gpl3+)))