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