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