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