gnu: Rename module gnutls to tls.
[jackhill/guix/guix.git] / gnu / packages / gnunet.scm
CommitLineData
eb4b2ab6 1;;; GNU Guix --- Functional package management for GNU
05e8a0b0
AE
2;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
3;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
2fd22ec5 4;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
eb4b2ab6
AE
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages gnunet)
266b39fc 22 #:use-module (gnu packages)
2fd22ec5 23 #:use-module (gnu packages file)
eb4b2ab6
AE
24 #:use-module (gnu packages autotools)
25 #:use-module (gnu packages compression)
88065ec2 26 #:use-module (gnu packages curl)
2e838890 27 #:use-module (gnu packages geeqie)
1dba6407 28 #:use-module (gnu packages gettext)
eb4b2ab6 29 #:use-module (gnu packages glib)
88065ec2 30 #:use-module (gnu packages gnupg)
a85cb486 31 #:use-module (gnu packages groff)
248c0645 32 #:use-module (gnu packages gstreamer)
a85cb486 33 #:use-module (gnu packages libidn)
e55354b8 34 #:use-module (gnu packages image)
266b39fc
SHT
35 #:use-module (gnu packages libunistring)
36 #:use-module (gnu packages maths)
88065ec2 37 #:use-module (gnu packages openssl)
eb4b2ab6 38 #:use-module (gnu packages pkg-config)
a85cb486 39 #:use-module (gnu packages perl)
266b39fc 40 #:use-module (gnu packages pulseaudio)
a85cb486 41 #:use-module (gnu packages python)
5f96f303 42 #:use-module (gnu packages databases)
a7fd7b68 43 #:use-module (gnu packages tls)
248c0645 44 #:use-module (gnu packages video)
54ff0b7d 45 #:use-module (gnu packages xiph)
b5b73a82 46 #:use-module ((guix licenses) #:prefix license:)
eb4b2ab6
AE
47 #:use-module (guix packages)
48 #:use-module (guix download)
49 #:use-module (guix build-system gnu))
50
51(define-public libextractor
52 (package
53 (name "libextractor")
579b2496 54 (version "1.3")
eb4b2ab6
AE
55 (source (origin
56 (method url-fetch)
57 (uri (string-append "mirror://gnu/libextractor/libextractor-"
58 version ".tar.gz"))
59 (sha256
60 (base32
2fd22ec5
LC
61 "0zvv7wd011npcx7yphw9bpgivyxz6mlp87a57n96nv85k96dd2l6"))
62 (modules '((guix build utils)))
63 (snippet
64 ;; Nowadays libmagic (from 'file') returns 'audio/ogg' and not
65 ;; 'application/ogg'. Adjust accordingly.
66 '(substitute* "src/plugins/test_mime.c"
67 (("application/ogg")
68 "audio/ogg")))))
eb4b2ab6
AE
69 (build-system gnu-build-system)
70 ;; WARNING: Checks require /dev/shm to be in the build chroot, especially
71 ;; not to be a symbolic link to /run/shm.
72 ;; FIXME:
73 ;; The following dependencies are all optional, but should be
74 ;; available for maximum coverage:
75 ;; * libarchive
eb4b2ab6
AE
76 ;; * libgif (giflib)
77 ;; * libgtk+ >= 3.0.0 (may probably drop glib then as a propagated input of
78 ;; gtk)
79 ;; * libgsf
eb4b2ab6
AE
80 ;; * libmagic (file)
81 ;; * libmpeg2
82 ;; * libmp4v2
83 ;; * librpm
84 ;; * libsmf
85 ;; * libtidy
86 (inputs
2e838890 87 `(("exiv2" ,exiv2)
eb4b2ab6 88 ("flac" ,flac)
248c0645 89 ("ffmpeg" ,ffmpeg)
2fd22ec5 90 ("file" ,file) ;libmagic, for the MIME plug-in
eb4b2ab6 91 ("glib" ,glib)
248c0645
AE
92 ("gstreamer" ,gstreamer)
93 ("gst-plugins-base" ,gst-plugins-base)
eb4b2ab6
AE
94 ("libjpeg" ,libjpeg)
95 ("libogg" ,libogg)
96 ("libtiff" ,libtiff)
3246cc91 97 ("libltdl" ,libltdl)
eb4b2ab6 98 ("libvorbis" ,libvorbis)
eb4b2ab6 99 ("zlib" ,zlib)))
c4c4cc05
JD
100 (native-inputs
101 `(("pkg-config" ,pkg-config)))
eb4b2ab6
AE
102 (synopsis "Library to extract meta-data from media files")
103 (description
79c311b8 104 "GNU libextractor is a library for extracting metadata from files. It
a22dc0c4
LC
105supports a very large number of file formats, including audio files, document
106files, and archive files. Each file format is implemented as a plugin, so
79c311b8 107new formats can be added easily. The package also contains a command-line
a22dc0c4 108tool to extract metadata from a file and print the results.")
eb4b2ab6
AE
109 (license license:gpl3+)
110 (home-page "http://www.gnu.org/software/libextractor/")))
88065ec2
AE
111
112(define-public libmicrohttpd
113 (package
114 (name "libmicrohttpd")
4836989a 115 (version "0.9.40")
88065ec2
AE
116 (source (origin
117 (method url-fetch)
118 (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
119 version ".tar.gz"))
120 (sha256
121 (base32
4836989a 122 "19mpqwjb3g4bsh1rzcvmka380kmg7sz5dwfr5cwdh2k9m134sga0"))))
88065ec2
AE
123 (build-system gnu-build-system)
124 (inputs
125 `(("curl" ,curl)
126 ("gnutls" ,gnutls)
127 ("libgcrypt" ,libgcrypt)
128 ("openssl" ,openssl)
129 ("zlib" ,zlib)))
dce17227
AE
130 (arguments
131 `(#:parallel-tests? #f))
88065ec2
AE
132 (synopsis "C library implementing an HTTP 1.1 server")
133 (description
dce17227
AE
134 "GNU libmicrohttpd is a small, embeddable HTTP server implemented as a
135C library. It makes it easy to run an HTTP server as part of another
a22dc0c4 136application. The library is fully HTTP 1.1 compliant. It can listen on
dce17227
AE
137multiple ports, supports four different threading models, and supports
138IPv6. It
139also features security features such as basic and digest authentication
a22dc0c4 140and support for SSL3 and TLS.")
88065ec2
AE
141 (license license:lgpl2.1+)
142 (home-page "http://www.gnu.org/software/libmicrohttpd/")))
a85cb486
SHT
143
144(define-public gnurl
145 (package
146 (name "gnurl")
75f6f74f 147 (version "7.37.0")
a85cb486
SHT
148 (source (origin
149 (method url-fetch)
150 (uri (string-append "https://gnunet.org/sites/default/files/gnurl-"
75f6f74f 151 version ".tar.gz"))
a85cb486 152 (sha256
75f6f74f 153 (base32 "1l2q9ih63vkm65zn886kmhqsx906pzx3qjvsxymlmf18kiv18pfd"))))
a85cb486
SHT
154 (build-system gnu-build-system)
155 (inputs `(("gnutls" ,gnutls)
156 ("libidn" ,libidn)
157 ("zlib" ,zlib)))
158 (native-inputs
7af52bd5
SHT
159 `(("groff" ,groff)
160 ("perl" ,perl)
161 ("pkg-config" ,pkg-config)
a85cb486
SHT
162 ("python" ,python-2)))
163 (arguments
164 `(#:configure-flags '("--enable-ipv6" "--with-gnutls" "--without-libssh2"
165 "--without-libmetalink" "--without-winidn"
166 "--without-librtmp" "--without-nghttp2"
167 "--without-nss" "--without-cyassl"
168 "--without-polarssl" "--without-ssl"
169 "--without-winssl" "--without-darwinssl"
170 "--disable-sspi" "--disable-ntlm-wb"
171 "--disable-ldap" "--disable-rtsp" "--disable-dict"
172 "--disable-telnet" "--disable-tftp" "--disable-pop3"
173 "--disable-imap" "--disable-smtp" "--disable-gopher"
174 "--disable-file" "--disable-ftp")
175 #:test-target "test"
176 #:parallel-tests? #f
67543125 177 ;; We have to patch runtests.pl in tests/ directory
a85cb486
SHT
178 #:phases
179 (alist-cons-before
180 'check 'patch-runtests
181 (lambda _
67543125
SHT
182 (substitute* "tests/runtests.pl"
183 (("/bin/sh") (which "sh"))))
a85cb486
SHT
184 %standard-phases)))
185 (synopsis "Microfork of cURL with support for the HTTP/HTTPS/GnuTLS subset of cURL")
186 (description
187 "Gnurl is a microfork of cURL, a command line tool for transferring data
35b9e423 188with URL syntax. While cURL supports many crypto backends, libgnurl only
a85cb486 189supports HTTPS, HTTPS and GnuTLS.")
166191b3
LC
190 (license (license:non-copyleft "file://COPYING"
191 "See COPYING in the distribution."))
a85cb486 192 (home-page "https://gnunet.org/gnurl")))
266b39fc
SHT
193
194(define-public gnunet
195 (package
196 (name "gnunet")
f944fbf1 197 (version "0.10.1")
266b39fc
SHT
198 (source
199 (origin
200 (method url-fetch)
201 (uri (string-append "mirror://gnu/gnunet/gnunet-" version
202 ".tar.gz"))
203 (sha256 (base32
f944fbf1 204 "04wxzm3wkgqbn42b8ksr4cx6m5cckyig5cls1adh0nwdczwvnp7n"))))
266b39fc
SHT
205 (build-system gnu-build-system)
206 (inputs
05e8a0b0
AE
207 `(("glpk" ,glpk)
208 ("gnurl" ,gnurl)
209 ("gnutls" ,gnutls)
266b39fc
SHT
210 ("libextractor" ,libextractor)
211 ("libgcrypt" ,libgcrypt)
266b39fc 212 ("libidn" ,libidn)
05e8a0b0 213 ("libmicrohttpd" ,libmicrohttpd)
3246cc91 214 ("libltdl" ,libltdl)
05e8a0b0 215 ("libunistring" ,libunistring)
266b39fc
SHT
216 ("openssl" ,openssl)
217 ("opus" ,opus)
266b39fc
SHT
218 ("pulseaudio", pulseaudio)
219 ("sqlite" ,sqlite)
220 ("zlib" ,zlib)))
221 (native-inputs
222 `(("pkg-config" ,pkg-config)
223 ("python" ,python-2)))
224 (arguments
f944fbf1
AE
225 '(#:parallel-tests? #f
226 ;; test_gnunet_service_arm fails; reported upstream
227 #:tests? #f
228 #:phases
05e8a0b0
AE
229 ;; swap check and install phases and set paths to installed binaries
230 (alist-cons-before
231 'check 'set-path-for-check
232 (lambda* (#:key outputs #:allow-other-keys)
233 (let ((out (assoc-ref outputs "out")))
f944fbf1 234 (setenv "GNUNET_PREFIX" (string-append out "/lib"))
05e8a0b0
AE
235 (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))))
236 (alist-cons-after
237 'install 'check
238 (assoc-ref %standard-phases 'check)
239 (alist-delete
240 'check
241 %standard-phases)))))
574e86f9 242 (synopsis "Secure, decentralized, peer-to-peer networking framework")
266b39fc 243 (description
574e86f9
LC
244 "GNUnet is a framework for secure peer-to-peer networking that does not
245use any centralized or otherwise trusted services. Our high-level goal is to
246provide a strong free software foundation for a global network that provides
247security and privacy. GNUnet started with an idea for anonymous
248censorship-resistant file-sharing, but has grown to incorporate other
249applications as well as many generic building blocks for secure networking
250applications. In particular, GNUnet now includes the GNU Name System, a
251privacy-preserving, decentralized public key infrastructure.")
266b39fc
SHT
252 (license license:gpl3+)
253 (home-page "https://gnunet.org/")))