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 linphone)
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 sqlite)
41
  #:use-module (gnu packages tls)
42
  #:use-module (gnu packages upnp)
43
  #:use-module (gnu packages video)
44
  #:use-module (gnu packages vim)
45
  #:use-module (gnu packages xiph)
46
  #:use-module (gnu packages xorg)
47
  #:use-module (gnu packages xml)
48
  #:use-module (gnu packages java)
49
  #:use-module (more packages java))
50
51
;; Fix in tls.scm
52
(define-public mbedtls
53
  (package
54
    (name "mbedtls")
55
    (version "2.4.2")
56
    (source
57
     (origin
58
       (method url-fetch)
59
       ;; XXX: The download links on the website are script redirection links
60
       ;; which effectively lead to the format listed in the uri here.
61
       (uri (string-append "https://tls.mbed.org/download/mbedtls-"
62
                           version "-apache.tgz"))
63
       (sha256
64
        (base32
65
         "065hn5zibzflivabdh9p41dknda7wicl2zhc936dmakqfjprip8p"))))
66
    (build-system gnu-build-system)
67
    (arguments
68
     `(#:phases
69
       (modify-phases %standard-phases
70
         (delete 'configure))
71
       #:make-flags
72
       (list "CC=gcc" (string-append "DESTDIR=\"" (assoc-ref %outputs "out") "\"")
73
             "SHARED=1")
74
       #:validate-runpath? #f))
75
    (native-inputs
76
     `(("perl" ,perl)))
77
    (synopsis "Small TLS library")
78
    (description
79
     "@code{mbed TLS}, formerly known as PolarSSL, makes it trivially easy
80
for developers to include cryptographic and SSL/TLS capabilities in their
81
(embedded) products, facilitating this functionality with a minimal
82
coding footprint.")
83
    (home-page "https://tls.mbed.org")
84
    (license license:asl2.0)))
85
86
(define-public mediastreamer
87
  (package
88
    (name "mediastreamer")
89
    (version "2.15.1")
90
    (source (origin
91
              (method url-fetch)
92
              (uri (string-append "https://github.com/BelledonneCommunications/"
93
                                  "mediastreamer2/archive/" version ".tar.gz"))
94
              (file-name (string-append name "-" version ".tar.gz"))
95
              (sha256
96
               (base32
97
                "0ln8h2c420y25y8zx7bfmbh28yjxl3qpkhicv88pg06aqgpkwzay"))))
98
    (build-system gnu-build-system)
99
    (arguments
100
     `(#:phases
101
       (modify-phases %standard-phases
102
         (add-before 'configure 'autogen
103
           (lambda _
104
             (zero? (system* "./autogen.sh")))))
105
       #:configure-flags (list "--enable-external-ortp")
106
       #:make-flags (list "ECHO=echo")))
107
    (native-inputs
108
     `(("autoconf" ,autoconf)
109
       ("automake" ,automake)
110
       ("intltool" ,intltool)
111
       ("libtool" ,libtool)
112
       ("pkg-config" ,pkg-config)
113
       ("vim" ,vim)
114
       ("which" ,which)))
115
    (inputs
116
     `(("bctoolbox" ,bctoolbox)
117
       ("ffmpeg" ,ffmpeg)
118
       ("glew" ,glew)
119
       ("libx11" ,libx11)
120
       ("libxext" ,libxext)
121
       ("libxv" ,libxv)
122
       ("mesa" ,mesa)
123
       ("opus" ,opus)
124
       ("ortp" ,ortp)
125
       ("pulseaudio" ,pulseaudio)
126
       ("speex" ,speex)
127
       ("speexdsp" ,speexdsp)
128
       ("v4l-utils" ,v4l-utils)))
129
    (home-page "https://linphone.org")
130
    (synopsis "")
131
    (description
132
      "")
133
    (license license:gpl2+)))
134
135
(define-public linphone
136
  (package
137
    (name "linphone")
138
    (version "3.11.1")
139
    (source (origin
140
              (method url-fetch)
141
              (uri (string-append "http://www.linphone.org/releases/sources/"
142
                                  "linphone/linphone-" version ".tar.gz"))
143
              (sha256
144
               (base32
145
                "0kj0l3qa8wa07gk145lw6f8hmc7nk5xyvwj1c3dvk58l64yyz26w"))))
146
    (build-system gnu-build-system)
147
    (arguments
148
     `(#:phases
149
       (modify-phases %standard-phases
150
         (add-before 'configure 'autogen
151
           (lambda _
152
             (zero? (system* "./autogen.sh")))))))
153
    (native-inputs
154
     `(("autoconf" ,autoconf)
155
       ("automake" ,automake)
156
       ("intltool" ,intltool)
157
       ("libtool" ,libtool)
158
       ("pkg-config" ,pkg-config)
159
       ("which" ,which)))
160
    (inputs
161
     `(("bctoolbox" ,bctoolbox)
162
       ("eudev" ,eudev)
163
       ("gtk2" ,gtk+-2)
164
       ("libupnp" ,libupnp)
165
       ("libxml2" ,libxml2)
166
       ("mediastreamer" ,mediastreamer)
167
       ("ortp" ,ortp)
168
       ("readline" ,readline)
169
       ("speex" ,speex)
170
       ("sqlite" ,sqlite)
171
       ("zlib" ,zlib)))
172
    (home-page "https://linphone.org")
173
    (synopsis "VOIP application")
174
    (description
175
      "Linphone is an open source Voice Over IP phone (or SIP phone) that makes
176
possible to communicate freely with people over the internet, with voice, video,
177
and text instant messaging.")
178
    (license license:gpl2+)))
179