messaging.scm
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> |
3 | ;;; |
4 | ;;; This file is part of GNU Guix. |
5 | ;;; |
6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it |
7 | ;;; under the terms of the GNU General Public License as published by |
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at |
9 | ;;; your option) any later version. |
10 | ;;; |
11 | ;;; GNU Guix is distributed in the hope that it will be useful, but |
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | ;;; GNU General Public License for more details. |
15 | ;;; |
16 | ;;; You should have received a copy of the GNU General Public License |
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
18 | |
19 | (define-module (more packages messaging) |
20 | #:use-module (guix packages) |
21 | #:use-module (guix download) |
22 | #:use-module (guix git-download) |
23 | #:use-module (guix build-system cmake) |
24 | #:use-module (guix build-system gnu) |
25 | #:use-module ((guix licenses) #:prefix license:) |
26 | #:use-module (gnu packages) |
27 | #:use-module (gnu packages autotools) |
28 | #:use-module (gnu packages base) |
29 | #:use-module (gnu packages compression) |
30 | #:use-module (gnu packages databases) |
31 | #:use-module (gnu packages gl) |
32 | #:use-module (gnu packages glib) |
33 | #:use-module (gnu packages gtk) |
34 | #:use-module (gnu packages libupnp) |
35 | #:use-module (gnu packages linux) |
36 | #:use-module (gnu packages perl) |
37 | #:use-module (gnu packages pkg-config) |
38 | #:use-module (gnu packages pulseaudio) |
39 | #:use-module (gnu packages readline) |
40 | #:use-module (gnu packages tls) |
41 | #:use-module (gnu packages video) |
42 | #:use-module (gnu packages vim) |
43 | #:use-module (gnu packages xiph) |
44 | #:use-module (gnu packages xorg) |
45 | #:use-module (gnu packages xml) |
46 | #:use-module (gnu packages java) |
47 | #:use-module (more packages java)) |
48 | |
49 | ;; goes to check.scm |
50 | (define-public bcunit |
51 | (package |
52 | (name "bcunit") |
53 | ;; version 3.0 as released in github cannot be used |
54 | (version "3.0-1") |
55 | (source (origin |
56 | (method git-fetch) |
57 | (uri (git-reference |
58 | (url "https://github.com/BelledonneCommunications/bcunit") |
59 | (commit "cf1aaa36c5738c25e59c8fafbade388a0081cd53"))) |
60 | (file-name (string-append name "-" version)) |
61 | (sha256 |
62 | (base32 |
63 | "1ryzq704p7pfkxfy5fcp624lpa8y0s2raj4742hhr9d01j6dnghq")))) |
64 | (build-system gnu-build-system) |
65 | (arguments |
66 | `(#:phases |
67 | (modify-phases %standard-phases |
68 | (add-before 'configure 'autogen |
69 | (lambda _ |
70 | (zero? (system* "./autogen.sh"))))))) |
71 | (native-inputs |
72 | `(("autoconf" ,autoconf) |
73 | ("automake" ,automake) |
74 | ("intltool" ,intltool) |
75 | ("libtool" ,libtool) |
76 | ("pkg-config" ,pkg-config) |
77 | ("which" ,which))) |
78 | (home-page "https://linphone.org") |
79 | (synopsis "C unit testing framework") |
80 | (description |
81 | "fork of the defunct project CUnit (see below), with several fixes and |
82 | patches applied.") |
83 | (license license:lgpl2.0+))) |
84 | |
85 | ;; Fix in tls.scm |
86 | (define-public mbedtls |
87 | (package |
88 | (name "mbedtls") |
89 | (version "2.4.2") |
90 | (source |
91 | (origin |
92 | (method url-fetch) |
93 | ;; XXX: The download links on the website are script redirection links |
94 | ;; which effectively lead to the format listed in the uri here. |
95 | (uri (string-append "https://tls.mbed.org/download/mbedtls-" |
96 | version "-apache.tgz")) |
97 | (sha256 |
98 | (base32 |
99 | "065hn5zibzflivabdh9p41dknda7wicl2zhc936dmakqfjprip8p")))) |
100 | (build-system gnu-build-system) |
101 | (arguments |
102 | `(#:phases |
103 | (modify-phases %standard-phases |
104 | (delete 'configure)) |
105 | #:make-flags |
106 | (list "CC=gcc" (string-append "DESTDIR=\"" (assoc-ref %outputs "out") "\"") |
107 | "SHARED=1") |
108 | #:validate-runpath? #f)) |
109 | (native-inputs |
110 | `(("perl" ,perl))) |
111 | (synopsis "Small TLS library") |
112 | (description |
113 | "@code{mbed TLS}, formerly known as PolarSSL, makes it trivially easy |
114 | for developers to include cryptographic and SSL/TLS capabilities in their |
115 | (embedded) products, facilitating this functionality with a minimal |
116 | coding footprint.") |
117 | (home-page "https://tls.mbed.org") |
118 | (license license:asl2.0))) |
119 | |
120 | (define-public bctoolbox |
121 | (package |
122 | (name "bctoolbox") |
123 | (version "0.5.1") |
124 | (source (origin |
125 | (method url-fetch) |
126 | (uri (string-append "https://github.com/BelledonneCommunications/" |
127 | "bctoolbox/archive/" version ".tar.gz")) |
128 | (file-name (string-append name "-" version ".tar.gz")) |
129 | (sha256 |
130 | (base32 |
131 | "1qx65qva29ljpx42c530n96lc5f0gdxbkd33nkcvbpj641zkd2bi")))) |
132 | (build-system gnu-build-system) |
133 | (arguments |
134 | `(#:phases |
135 | (modify-phases %standard-phases |
136 | (add-before 'configure 'autogen |
137 | (lambda _ |
138 | (zero? (system* "./autogen.sh"))))) |
139 | #:configure-flags |
140 | (list "--with-pic" "CFLAGS=-fPIC" "CXXFLAGS=-fPIC") |
141 | #:make-flags (list "AM_V_CC=" "AM_V_CXX="))) |
142 | (native-inputs |
143 | `(("autoconf" ,autoconf) |
144 | ("automake" ,automake) |
145 | ("intltool" ,intltool) |
146 | ("libtool" ,libtool) |
147 | ("pkg-config" ,pkg-config) |
148 | ("which" ,which))) |
149 | (inputs |
150 | `(("bcunit" ,bcunit))) |
151 | (propagated-inputs |
152 | `(("mbedtls-apache" ,mbedtls))) |
153 | (home-page "https://linphone.org") |
154 | (synopsis "OS abstraction layer") |
155 | (description |
156 | "Utilities library used by Belledonne Communications software like |
157 | belle-sip, mediastreamer2 and linphone.") |
158 | (license license:gpl2+))) |
159 | |
160 | (define-public ortp |
161 | (package |
162 | (name "ortp") |
163 | (version "1.0.1") |
164 | (source (origin |
165 | (method url-fetch) |
166 | (uri (string-append "https://github.com/BelledonneCommunications/" |
167 | "ortp/archive/" version ".tar.gz")) |
168 | (file-name (string-append name "-" version ".tar.gz")) |
169 | (sha256 |
170 | (base32 |
171 | "1rkwawydvkk1bnl4y5fqm4ip472wsviys7mcd6ryhrb9p21azakv")))) |
172 | (build-system gnu-build-system) |
173 | (arguments |
174 | `(#:phases |
175 | (modify-phases %standard-phases |
176 | (add-before 'configure 'autogen |
177 | (lambda _ |
178 | (zero? (system* "./autogen.sh"))))))) |
179 | (native-inputs |
180 | `(("autoconf" ,autoconf) |
181 | ("automake" ,automake) |
182 | ("intltool" ,intltool) |
183 | ("libtool" ,libtool) |
184 | ("pkg-config" ,pkg-config) |
185 | ("which" ,which))) |
186 | (inputs |
187 | `(("bctoolbox" ,bctoolbox))) |
188 | (home-page "https://linphone.org") |
189 | (synopsis "RTP protocol implementation") |
190 | (description |
191 | "RTP protocol implementation.") |
192 | (license license:gpl2+))) |
193 | |
194 | (define-public belle-sip |
195 | (package |
196 | (name "belle-sip") |
197 | (version "1.6.1") |
198 | (source (origin |
199 | (method url-fetch) |
200 | (uri (string-append "https://github.com/BelledonneCommunications/" |
201 | "belle-sip/archive/" version ".tar.gz")) |
202 | (file-name (string-append name "-" version ".tar.gz")) |
203 | (sha256 |
204 | (base32 |
205 | "0bn5g4a62dg60lsm7qmmnqa6wrl1vs2z7sgwg3fmjgs044nlbsk0")))) |
206 | (build-system gnu-build-system) |
207 | (arguments |
208 | `(#:phases |
209 | (modify-phases %standard-phases |
210 | (add-before 'configure 'autogen |
211 | (lambda _ |
212 | (zero? (system* "./autogen.sh"))))) |
213 | #:configure-flags |
214 | (list "CFLAGS=-D_temp=NULL" |
215 | (string-append "--with-antlr=" (assoc-ref %build-inputs "antlr"))))) |
216 | (native-inputs |
217 | `(("autoconf" ,autoconf) |
218 | ("automake" ,automake) |
219 | ("intltool" ,intltool) |
220 | ("libtool" ,libtool) |
221 | ("pkg-config" ,pkg-config) |
222 | ("vim" ,vim) |
223 | ("which" ,which))) |
224 | (inputs |
225 | `(("antlr" ,antlr3) |
226 | ("bctoolbox" ,bctoolbox) |
227 | ("libantlr3c" ,libantlr3c))) |
228 | (home-page "https://linphone.org") |
229 | (synopsis "") |
230 | (description |
231 | "") |
232 | (license license:gpl2+))) |
233 | |
234 | (define-public mediastreamer |
235 | (package |
236 | (name "mediastreamer") |
237 | (version "2.15.1") |
238 | (source (origin |
239 | (method url-fetch) |
240 | (uri (string-append "https://github.com/BelledonneCommunications/" |
241 | "mediastreamer2/archive/" version ".tar.gz")) |
242 | (file-name (string-append name "-" version ".tar.gz")) |
243 | (sha256 |
244 | (base32 |
245 | "0ln8h2c420y25y8zx7bfmbh28yjxl3qpkhicv88pg06aqgpkwzay")))) |
246 | (build-system gnu-build-system) |
247 | (arguments |
248 | `(#:phases |
249 | (modify-phases %standard-phases |
250 | (add-before 'configure 'autogen |
251 | (lambda _ |
252 | (zero? (system* "./autogen.sh"))))) |
253 | #:configure-flags (list "--enable-external-ortp") |
254 | #:make-flags (list "ECHO=echo"))) |
255 | (native-inputs |
256 | `(("autoconf" ,autoconf) |
257 | ("automake" ,automake) |
258 | ("intltool" ,intltool) |
259 | ("libtool" ,libtool) |
260 | ("pkg-config" ,pkg-config) |
261 | ("vim" ,vim) |
262 | ("which" ,which))) |
263 | (inputs |
264 | `(("bctoolbox" ,bctoolbox) |
265 | ("ffmpeg" ,ffmpeg) |
266 | ("glew" ,glew) |
267 | ("libx11" ,libx11) |
268 | ("libxext" ,libxext) |
269 | ("libxv" ,libxv) |
270 | ("mesa" ,mesa) |
271 | ("opus" ,opus) |
272 | ("ortp" ,ortp) |
273 | ("pulseaudio" ,pulseaudio) |
274 | ("speex" ,speex) |
275 | ("speexdsp" ,speexdsp) |
276 | ("v4l-utils" ,v4l-utils))) |
277 | (home-page "https://linphone.org") |
278 | (synopsis "") |
279 | (description |
280 | "") |
281 | (license license:gpl2+))) |
282 | |
283 | (define-public linphone |
284 | (package |
285 | (name "linphone") |
286 | (version "3.11.1") |
287 | (source (origin |
288 | (method url-fetch) |
289 | (uri (string-append "http://www.linphone.org/releases/sources/" |
290 | "linphone/linphone-" version ".tar.gz")) |
291 | (sha256 |
292 | (base32 |
293 | "0kj0l3qa8wa07gk145lw6f8hmc7nk5xyvwj1c3dvk58l64yyz26w")))) |
294 | (build-system gnu-build-system) |
295 | (arguments |
296 | `(#:phases |
297 | (modify-phases %standard-phases |
298 | (add-before 'configure 'autogen |
299 | (lambda _ |
300 | (zero? (system* "./autogen.sh"))))))) |
301 | (native-inputs |
302 | `(("autoconf" ,autoconf) |
303 | ("automake" ,automake) |
304 | ("intltool" ,intltool) |
305 | ("libtool" ,libtool) |
306 | ("pkg-config" ,pkg-config) |
307 | ("which" ,which))) |
308 | (inputs |
309 | `(("bctoolbox" ,bctoolbox) |
310 | ("eudev" ,eudev) |
311 | ("gtk2" ,gtk+-2) |
312 | ("libupnp" ,libupnp) |
313 | ("libxml2" ,libxml2) |
314 | ("mediastreamer" ,mediastreamer) |
315 | ("ortp" ,ortp) |
316 | ("readline" ,readline) |
317 | ("speex" ,speex) |
318 | ("sqlite" ,sqlite) |
319 | ("zlib" ,zlib))) |
320 | (home-page "https://linphone.org") |
321 | (synopsis "VOIP application") |
322 | (description |
323 | "Linphone is an open source Voice Over IP phone (or SIP phone) that makes |
324 | possible to communicate freely with people over the internet, with voice, video, |
325 | and text instant messaging.") |
326 | (license license:gpl2+))) |
327 |