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 (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