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