Mirror of GNU Guix
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

602 lines
22 KiB

  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;;
  3. ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
  4. ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
  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. (define-module (gnu packages linphone)
  21. #:use-module (gnu packages)
  22. #:use-module (gnu packages admin)
  23. #:use-module (gnu packages audio)
  24. #:use-module (gnu packages base)
  25. #:use-module (gnu packages compression)
  26. #:use-module (gnu packages documentation)
  27. #:use-module (gnu packages gettext)
  28. #:use-module (gnu packages gl)
  29. #:use-module (gnu packages glib)
  30. #:use-module (gnu packages gnome)
  31. #:use-module (gnu packages gnome-xyz)
  32. #:use-module (gnu packages graphviz)
  33. #:use-module (gnu packages gtk)
  34. #:use-module (gnu packages image)
  35. #:use-module (gnu packages linux)
  36. #:use-module (gnu packages pulseaudio)
  37. #:use-module (gnu packages python)
  38. #:use-module (gnu packages python-xyz)
  39. #:use-module (gnu packages java)
  40. #:use-module (gnu packages sqlite)
  41. #:use-module (gnu packages telephony)
  42. #:use-module (gnu packages tls)
  43. #:use-module (gnu packages video)
  44. #:use-module (gnu packages xiph)
  45. #:use-module (gnu packages xml)
  46. #:use-module (gnu packages xorg)
  47. #:use-module ((guix licenses) #:prefix license:)
  48. #:use-module (guix packages)
  49. #:use-module (guix download)
  50. #:use-module (guix build-system cmake)
  51. #:use-module (guix build-system glib-or-gtk)
  52. #:use-module (guix build-system gnu))
  53. (define-public bcunit
  54. (package
  55. (name "bcunit")
  56. (version "3.0.2")
  57. (source
  58. (origin
  59. (method url-fetch)
  60. (uri
  61. (string-append "https://www.linphone.org/releases/sources/" name
  62. "/" name "-" version ".tar.gz"))
  63. (sha256
  64. (base32 "0ylchj8w98ic2fkqpxc6yk4s6s0h0ql2zsz5n49jd7126m4h8dqk"))))
  65. (build-system cmake-build-system)
  66. (arguments
  67. '(#:tests? #f ; No test target
  68. #:configure-flags
  69. (list
  70. "-DENABLE_STATIC=NO"))) ; Not required
  71. (synopsis "Belledonne Communications Unit Testing Framework")
  72. (description "BCUnit is a fork of the defunct project CUnit,
  73. with several fixes and patches applied. It is an unit testing
  74. framework for writing, administering, and running unit tests in C.")
  75. (home-page "https://gitlab.linphone.org/BC/public/bcunit")
  76. (license license:lgpl2.0+)))
  77. (define-public bctoolbox
  78. (package
  79. (name "bctoolbox")
  80. (version "0.6.0")
  81. (source
  82. (origin
  83. (method url-fetch)
  84. (uri
  85. (string-append "https://www.linphone.org/releases/sources/" name
  86. "/" name "-" version ".tar.gz"))
  87. (sha256
  88. (base32 "1a1i70pb4hhnykkwyhhc7fv67q556l8kprny8xzgfqpj1nby2ms6"))))
  89. (build-system cmake-build-system)
  90. (arguments
  91. '(#:tests? #f ; No test target
  92. #:configure-flags
  93. (list
  94. "-DENABLE_STATIC=OFF"))) ; Not required
  95. (inputs
  96. `(("bcunit" ,bcunit)
  97. ("mbedtls" ,mbedtls-apache)))
  98. (synopsis "Belledonne Communications Tool Box")
  99. (description "BcToolBox is an utilities library used by Belledonne
  100. Communications software like belle-sip, mediastreamer2 and linphone.")
  101. (home-page "https://gitlab.linphone.org/BC/public/bctoolbox")
  102. (license license:gpl2+)))
  103. (define-public belr
  104. (package
  105. (name "belr")
  106. (version "0.1.3")
  107. (source
  108. (origin
  109. (method url-fetch)
  110. (uri
  111. (string-append "https://www.linphone.org/releases/sources/" name
  112. "/" name "-" version ".tar.gz"))
  113. (sha256
  114. (base32 "1fwv2cg3qy9vdc7dimcda7nqcqc1h2cdd7ikhk7ng7q4ys8m96c1"))))
  115. (build-system cmake-build-system)
  116. (arguments
  117. `(#:tests? #f ; No test target
  118. #:configure-flags
  119. (list
  120. "-DENABLE_STATIC=OFF"))) ; Not required
  121. (inputs
  122. `(("bctoolbox" ,bctoolbox)))
  123. (synopsis "Belledonne Communications Language Recognition Library")
  124. (description "Belr is Belledonne Communications' language recognition library,
  125. written in C++11. It parses text inputs formatted according to a language
  126. defined by an ABNF grammar, such as the protocols standardized at IETF.")
  127. (home-page "https://gitlab.linphone.org/BC/public/belr")
  128. (license license:gpl3+)))
  129. (define-public belcard
  130. (package
  131. (name "belcard")
  132. (version "1.0.2")
  133. (source
  134. (origin
  135. (method url-fetch)
  136. (uri
  137. (string-append "https://www.linphone.org/releases/sources/" name
  138. "/" name "-" version ".tar.gz"))
  139. (sha256
  140. (base32 "0iiyrll1shnbb0561pkvdqcmx9b2cdr76xpsbaqdirc3s4xzcl0k"))))
  141. (build-system cmake-build-system)
  142. (arguments
  143. `(#:tests? #f ; No test target
  144. #:configure-flags
  145. (list
  146. "-DENABLE_STATIC=OFF"))) ; Not required
  147. (inputs
  148. `(("bctoolbox" ,bctoolbox)
  149. ("belr" ,belr)))
  150. (synopsis "Belledonne Communications VCard Library")
  151. (description "Belcard is a C++ library to manipulate VCard standard format.")
  152. (home-page "https://gitlab.linphone.org/BC/public/belcard")
  153. (license license:gpl3+)))
  154. (define-public bcmatroska2
  155. (package
  156. (name "bcmatroska2")
  157. (version "0.23")
  158. (source
  159. (origin
  160. (method url-fetch)
  161. (uri
  162. (string-append "https://www.linphone.org/releases/sources/" name
  163. "/" name "-" version ".tar.gz"))
  164. (sha256
  165. (base32 "1a0vlk4fhh189pfzrwbc3xbc5vyx6cnxy642d1h40045jz9y4h15"))))
  166. (build-system cmake-build-system)
  167. (arguments
  168. `(#:tests? #f ; No test target
  169. #:configure-flags
  170. (list
  171. "-DENABLE_STATIC=NO"))) ; Not required
  172. (synopsis "Belledonne Communications Media Container")
  173. (description "BcMatroska is a free and open standard multi-media
  174. container format. It can hold an unlimited number of video, audio,
  175. picture, or subtitle tracks in one file. ")
  176. (home-page "https://gitlab.linphone.org/BC/public/bcmatroska2")
  177. (license
  178. (list
  179. ;; That license applies for Core C and LibEBML2.
  180. ;; https://www.matroska.org/node/47
  181. license:bsd-4
  182. ;; That license applies for LibMatroska2.
  183. ;; https://www.matroska.org/node/47
  184. license:lgpl2.1+))))
  185. (define-public bcg729
  186. (package
  187. (name "bcg729")
  188. (version "1.0.4")
  189. (source
  190. (origin
  191. (method url-fetch)
  192. (uri
  193. (string-append "https://www.linphone.org/releases/sources/" name
  194. "/" name "-" version ".tar.gz"))
  195. (sha256
  196. (base32 "01y34ky7ykjgfnf8a9f59hg61fqfjiprfrzshdz06w0lz4gvy3qs"))))
  197. (build-system cmake-build-system)
  198. (arguments
  199. `(#:tests? #f ; No test target
  200. #:configure-flags
  201. (list
  202. "-DENABLE_STATIC=NO"))) ; Not required
  203. (synopsis "Belledonne Communications G729 Codec")
  204. (description "BcG729 is an implementation of both encoder and decoder of
  205. the ITU G729 speech codec. The library written in C 99 is fully portable and
  206. can be executed on many platforms including both ARM and x86 processors. It
  207. supports concurrent channels encoding and decoding for multi call application
  208. such as conferencing.")
  209. (home-page "https://gitlab.linphone.org/BC/public/belcard")
  210. (license license:gpl2+)))
  211. (define-public ortp
  212. (package
  213. (name "ortp")
  214. (version "1.0.2")
  215. (source
  216. (origin
  217. (method url-fetch)
  218. (uri
  219. (string-append "https://www.linphone.org/releases/sources/" name
  220. "/" name "-" version ".tar.gz"))
  221. (sha256
  222. (base32 "016qg0lmdgmqh2kv19w9qhi4kkiyi5h1xp35g2s65b1j8ccm25d5"))))
  223. (build-system cmake-build-system)
  224. (arguments
  225. `(#:tests? #f ; No test target
  226. #:configure-flags
  227. (list
  228. "-DENABLE_STATIC=NO"))) ; Not required
  229. (native-inputs
  230. `(("dot" ,graphviz)
  231. ("doxygen" ,doxygen)))
  232. (inputs
  233. `(("bctoolbox" ,bctoolbox)))
  234. (synopsis "Belledonne Communications RTP Library")
  235. (description "oRTP is a C library implementing the RTP protocol. It
  236. implements the RFC 3550 standard.")
  237. (home-page "https://gitlab.linphone.org/BC/public/ortp")
  238. (license license:gpl2+)))
  239. (define-public bzrtp
  240. (package
  241. (name "bzrtp")
  242. (version "1.0.6")
  243. (source
  244. (origin
  245. (method url-fetch)
  246. (uri
  247. (string-append "https://www.linphone.org/releases/sources/" name
  248. "/" name "-" version ".tar.gz"))
  249. (sha256
  250. (base32 "12y0kkh90pixaaxfyx26ca2brhy6nw57fsypp6vh8jk1illv0j5z"))))
  251. (build-system cmake-build-system)
  252. (arguments
  253. `(#:tests? #f ; No test target
  254. #:configure-flags
  255. (list
  256. "-DENABLE_STATIC=NO")))
  257. (inputs
  258. `(("bctoolbox" ,bctoolbox)
  259. ("sqlite3" ,sqlite)
  260. ("xml2" ,libxml2)))
  261. (synopsis "Belledonne Communications ZRTP Library")
  262. (description "BZRTP is an implementation of ZRTP keys exchange
  263. protocol, written in C. It is fully portable and can be executed on many
  264. platforms including both ARM and x86.")
  265. (home-page "https://gitlab.linphone.org/BC/public/bzrtp")
  266. (license license:gpl2+)))
  267. (define-public belle-sip
  268. (package
  269. (name "belle-sip")
  270. (version "1.6.3")
  271. (source
  272. (origin
  273. (method url-fetch)
  274. (uri
  275. (string-append "https://www.linphone.org/releases/sources/" name
  276. "/" name "-" version ".tar.gz"))
  277. (sha256
  278. (base32 "0s55kggmgxap54dkw5856bgk4xg7yvbzialpxnjm0zhpic3hff1z"))))
  279. (build-system cmake-build-system)
  280. (arguments
  281. `(#:tests? #f ; Requires network access
  282. #:configure-flags
  283. (list
  284. "-DENABLE_STATIC=NO")
  285. #:phases
  286. (modify-phases %standard-phases
  287. (add-after 'unpack 'patch
  288. (lambda _
  289. (substitute* "src/CMakeLists.txt"
  290. ;; ANTLR would use multithreaded DFA generation
  291. ;; otherwise--which would not be reproducible.
  292. (("-Xmultithreaded ") ""))
  293. #t)))))
  294. (inputs
  295. `(("antlr3" ,antlr3-3.3)
  296. ("antlr3c" ,libantlr3c)
  297. ("bctoolbox" ,bctoolbox)
  298. ("java" ,icedtea)
  299. ("zlib" ,zlib)))
  300. (synopsis "Belledonne Communications SIP Library")
  301. (description "Belle-sip is a modern library implementing SIP transport,
  302. transaction and dialog layers. It is written in C, with an object-oriented
  303. API. It also comprises a simple HTTP/HTTPS client implementation.")
  304. (home-page "https://gitlab.linphone.org/BC/public/belle-sip")
  305. (license license:gpl2+)))
  306. (define-public mediastreamer2
  307. (package
  308. (name "mediastreamer2")
  309. (version "2.16.1")
  310. (source
  311. (origin
  312. (method url-fetch)
  313. (uri
  314. (string-append "https://www.linphone.org/releases/sources/"
  315. "mediastreamer/mediastreamer-" version ".tar.gz"))
  316. (sha256
  317. (base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k"))
  318. (patches (search-patches "mediastreamer2-srtp2.patch"))))
  319. (outputs '("out" "doc" "tester"))
  320. (build-system cmake-build-system)
  321. (arguments
  322. `(#:tests? #f ; No test target
  323. #:configure-flags
  324. (list
  325. "-DENABLE_STATIC=NO" ; Not required
  326. "-DENABLE_STRICT=NO" ; Would otherwise treat warnings as err
  327. "-DENABLE_BV16=NO" ; Not available
  328. "-DCMAKE_C_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\""
  329. "-DCMAKE_CXX_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"")
  330. #:phases
  331. (modify-phases %standard-phases
  332. (add-after 'install 'separate-outputs
  333. (lambda* (#:key outputs #:allow-other-keys)
  334. (let* ((out (assoc-ref outputs "out"))
  335. (doc (assoc-ref outputs "doc"))
  336. (tester (assoc-ref outputs "tester"))
  337. (tester-name (string-append ,name "_tester")))
  338. ;; Copy the tester executable.
  339. (mkdir-p (string-append tester "/bin"))
  340. (rename-file (string-append out "/bin/" tester-name)
  341. (string-append tester "/bin/" tester-name))
  342. ;; Copy the tester data files.
  343. (copy-recursively (string-append out "/share/" tester-name)
  344. (string-append tester "/share/" tester-name))
  345. (delete-file-recursively (string-append out "/share/"
  346. tester-name))
  347. ;; Copy the HTML documentation.
  348. (copy-recursively (string-append out "/share/doc/"
  349. ,name "-" ,version "/html")
  350. (string-append doc "/share/doc/"
  351. ,name "-" ,version "/html"))
  352. (delete-file-recursively (string-append out "/share/doc/"
  353. ,name "-" ,version
  354. "/html"))
  355. #t))))))
  356. (native-inputs
  357. `(("dot" ,graphviz)
  358. ("doxygen" ,doxygen)
  359. ("python" ,python)))
  360. (inputs
  361. `(("alsa" ,alsa-lib)
  362. ("bcg729" ,bcg729)
  363. ("bcmatroska2" ,bcmatroska2)
  364. ("bctoolbox" ,bctoolbox)
  365. ("ffmpeg" ,ffmpeg)
  366. ("glew" ,glew)
  367. ("glu" ,glu)
  368. ("glx" ,mesa-utils)
  369. ("gsm" ,gsm)
  370. ("opengl" ,mesa)
  371. ("opus" ,opus)
  372. ("ortp" ,ortp)
  373. ("pcap" ,libpcap)
  374. ("portaudio" ,portaudio)
  375. ("pulseaudio" ,pulseaudio)
  376. ("spandsp" ,spandsp)
  377. ("speex" ,speex)
  378. ("speexdsp" ,speexdsp)
  379. ("srtp" ,libsrtp)
  380. ("theora" ,libtheora)
  381. ("turbojpeg" ,libjpeg-turbo)
  382. ("v4l" ,v4l-utils)
  383. ("vpx" ,libvpx)
  384. ("x11" ,libx11)
  385. ("xv" ,libxv)
  386. ("zrtp", bzrtp)))
  387. (synopsis "Belledonne Communications Streaming Engine")
  388. (description "Mediastreamer2 is a powerful and lightweight
  389. streaming engine for telephony applications. This media processing
  390. and streaming toolkit is responsible for receiving and sending all
  391. multimedia streams in Linphone, including media capture, encoding and
  392. decoding, and rendering.")
  393. (home-page "https://gitlab.linphone.org/BC/public/mediastreamer2")
  394. (license license:gpl2+)))
  395. (define-public liblinphone
  396. (package
  397. (name "liblinphone")
  398. (version "3.12.0")
  399. (source
  400. (origin
  401. (method url-fetch)
  402. (uri
  403. (string-append "https://www.linphone.org/releases/sources/linphone"
  404. "/linphone-" version ".tar.gz"))
  405. (sha256
  406. (base32 "0phhkx55xdyg28d4wn8l8q4yvsmdgzmjiw584d4s190sq1azm91x"))))
  407. (build-system cmake-build-system)
  408. (arguments
  409. `(#:tests? #f ; No test target
  410. #:configure-flags
  411. (list
  412. (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR="
  413. (string-append (assoc-ref %build-inputs "gtk2")
  414. "/lib/gtk-2.0/include"))
  415. (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR="
  416. (string-append (assoc-ref %build-inputs "glib")
  417. "/lib/glib-2.0/include"))
  418. "-DENABLE_STATIC=NO" ; Not required
  419. "-DENABLE_GTK_UI=YES") ; For Legacy UI
  420. #:imported-modules (,@%cmake-build-system-modules
  421. (guix build glib-or-gtk-build-system))
  422. #:modules ((guix build cmake-build-system)
  423. ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
  424. (guix build utils))
  425. #:phases
  426. (modify-phases %standard-phases
  427. (add-after 'install 'glib-or-gtk-compile-schemas
  428. (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
  429. (add-after 'install 'glib-or-gtk-wrap
  430. (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
  431. (add-after 'unpack 'patch
  432. (lambda _
  433. (substitute* "gtk/main.c"
  434. (("#include \"liblinphone_gitversion.h\"")
  435. ""))
  436. #t)))))
  437. (native-inputs
  438. `(("dot" ,graphviz)
  439. ("doxygen" ,doxygen)
  440. ("gettext" ,gettext-minimal)
  441. ("iconv" ,libiconv)
  442. ("python" ,python)
  443. ("xml2" ,libxml2)
  444. ("zlib" ,zlib)))
  445. (inputs
  446. `(("bctoolbox" ,bctoolbox)
  447. ("belcard" ,belcard)
  448. ("bellesip" ,belle-sip)
  449. ("bzrtp", bzrtp)
  450. ("glib" ,glib)
  451. ("gtk2" ,gtk+-2)
  452. ("mediastreamer2" ,mediastreamer2)
  453. ("notify" ,libnotify)
  454. ("ortp" ,ortp)
  455. ("pystache" ,python-pystache)
  456. ("six" ,python-six)
  457. ("sqlite" ,sqlite)
  458. ("udev" ,eudev)))
  459. (synopsis "Belledonne Communications Softphone Library")
  460. (description "Liblinphone is a high-level SIP library integrating
  461. all calling and instant messaging features into an unified
  462. easy-to-use API. It is the cross-platform VoIP library on which the
  463. Linphone application is based on, and that anyone can use to add audio
  464. and video calls or instant messaging capabilities to an application.")
  465. (home-page "https://gitlab.linphone.org/BC/public/liblinphone")
  466. (license license:gpl2+)))
  467. (define-public msopenh264
  468. (package
  469. (name "msopenh264")
  470. (version "1.2.1")
  471. (source
  472. (origin
  473. (method url-fetch)
  474. (uri
  475. (string-append "https://www.linphone.org/releases/sources/plugins/"
  476. name "/" name "-" version ".tar.gz"))
  477. (sha256
  478. (base32 "0rdxgazm52560g52pp6mp3mwx6j1z3h2zyizzfycp8y8zi92fqm8"))
  479. (patches
  480. (list
  481. ;; For support for OpenH264 version >= 2.
  482. (origin
  483. (method url-fetch)
  484. (uri
  485. (string-append "https://gitlab.linphone.org/BC/public/msopenh264/commit/"
  486. "493d147d28c9a0f788ba4e50b47a1ce7b18bf326.diff"))
  487. (file-name "msopenh264-openh264.patch")
  488. (sha256
  489. (base32 "0mmd7nz5n9ian4rcwn200nldmy5j0dpdrna7r32rqnaw82bx3kdb")))))))
  490. (build-system cmake-build-system)
  491. (arguments
  492. `(#:tests? #f ; No test target
  493. #:configure-flags
  494. (list
  495. "-DENABLE_STATIC=NO"))) ; Not required
  496. (inputs
  497. `(("mediastreamer2" ,mediastreamer2)
  498. ("openh264" ,openh264)
  499. ("ortp" ,ortp)))
  500. (synopsis "Media Streamer H.264 Codec")
  501. (description "MsOpenH264 is an H.264 encoder/decoder plugin for
  502. mediastreamer2 based on the openh264 library.")
  503. (home-page "https://gitlab.linphone.org/BC/public/msopenh264")
  504. (license license:gpl2+)))
  505. (define-public mssilk
  506. (package
  507. (name "mssilk")
  508. (version "1.1.1")
  509. (source
  510. (origin
  511. (method url-fetch)
  512. (uri
  513. (string-append "https://www.linphone.org/releases/sources/plugins/"
  514. name "/" name "-" version ".tar.gz"))
  515. (sha256
  516. (base32 "07ip0vd29d1n98lnqs5wpimcsmpm65yl7g5vk4hbqghcbsjw94lj"))))
  517. (build-system cmake-build-system)
  518. (arguments
  519. `(#:tests? #f ; No test target
  520. #:configure-flags
  521. (list
  522. "-DENABLE_STATIC=NO"))) ; Not required
  523. (inputs
  524. `(("mediastreamer2" ,mediastreamer2)
  525. ("ortp" ,ortp)))
  526. (synopsis "Media Streamer SILK Codec")
  527. (description "MSSILK is a plugin of MediaStreamer, adding support for
  528. AMR codec. It is based on the Skype's SILK implementation.")
  529. (home-page "https://gitlab.linphone.org/BC/public/mssilk")
  530. (license license:gpl2+)))
  531. (define-public mswebrtc
  532. (package
  533. (name "mswebrtc")
  534. (version "1.1.1")
  535. (source
  536. (origin
  537. (method url-fetch)
  538. (uri
  539. (string-append "https://www.linphone.org/releases/sources/plugins/"
  540. name "/" name "-" version ".tar.gz"))
  541. (sha256
  542. (base32 "1wj28hl9myhshqmn64xg0jf07aw75gmnilb5rff6rcbdxim87mqr"))))
  543. (build-system cmake-build-system)
  544. (arguments
  545. `(#:tests? #f ; No test target
  546. #:configure-flags
  547. (list
  548. "-DENABLE_STATIC=NO")))
  549. (inputs
  550. `(("bctoolbox" ,bctoolbox)
  551. ("mediastreamer2" ,mediastreamer2)
  552. ("ortp" ,ortp)))
  553. (synopsis "Media Streamer WebRTC Codec")
  554. (description "MSWebRTC is a plugin of MediaStreamer, adding support for
  555. WebRTC codec. It includes features from WebRTC, such as, iSAC and AECM.")
  556. (home-page "https://gitlab.linphone.org/BC/public/mswebrtc")
  557. (license license:gpl2+)))
  558. (define-public msamr
  559. (package
  560. (name "msamr")
  561. (version "1.1.3")
  562. (source
  563. (origin
  564. (method url-fetch)
  565. (uri
  566. (string-append "https://www.linphone.org/releases/sources/plugins/"
  567. name "/" name "-" version ".tar.gz"))
  568. (sha256
  569. (base32 "16c9f3z4wnj73k7y8gb0fgpr4axsm7b5zrbjvy8vsgz9gyg3agm5"))))
  570. (build-system cmake-build-system)
  571. (arguments
  572. `(#:tests? #f ; No test target
  573. #:configure-flags
  574. (list
  575. "-DENABLE_STATIC=NO" ; Not required
  576. "-DENABLE_WIDEBAND=YES")))
  577. (inputs
  578. `(("mediastreamer2" ,mediastreamer2)
  579. ("opencoreamr" ,opencore-amr)
  580. ("ortp" ,ortp)
  581. ("voamrwbenc" ,vo-amrwbenc)))
  582. (synopsis "Media Streamer AMR Codec")
  583. (description "MSAMR is a plugin of MediaStreamer, adding support for
  584. AMR codec. It is based on the opencore-amr implementation.")
  585. (home-page "https://gitlab.linphone.org/BC/public/msamr")
  586. (license license:gpl3+)))