guix-more/more/packages/messaging.scm

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