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 |