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 |