gnu: nss, nss-certs: Update to 3.27.2.
[jackhill/guix/guix.git] / gnu / packages / libevent.scm
CommitLineData
6b32a64a 1;;; GNU Guix --- Functional package management for GNU
66a30a3e 2;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
bbd0ea77 3;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
c808ca02 4;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
73b8714f 5;;; Copyright © 2016 David Thompson <davet@gnu.org>
6b32a64a
LC
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages libevent)
23 #:use-module (gnu packages)
24 #:use-module (guix licenses)
25 #:use-module (guix packages)
26 #:use-module (guix download)
27 #:use-module (guix build-system gnu)
ce0614dd 28 #:use-module (gnu packages base)
90f69c2e
LC
29 #:use-module (gnu packages python)
30 #:use-module (gnu packages autotools)
31 #:use-module (gnu packages pkg-config))
6b32a64a
LC
32
33(define-public libevent
34 (package
35 (name "libevent")
66a30a3e 36 (version "2.0.22")
6b32a64a
LC
37 (source (origin
38 (method url-fetch)
39 (uri (string-append
66a30a3e
LC
40 "https://github.com/libevent/libevent/releases/download/release-"
41 version "-stable/libevent-" version "-stable.tar.gz"))
6b32a64a
LC
42 (sha256
43 (base32
66a30a3e 44 "18qz9qfwrkakmazdlwxvjmw8p76g70n3faikwvdwznns1agw9hki"))
fc1adab1 45 (patches (search-patches "libevent-dns-tests.patch"))))
6b32a64a
LC
46 (build-system gnu-build-system)
47 (inputs
01eafd38 48 `(;; Dependencies used for the tests and for `event_rpcgen.py'.
6b32a64a 49 ("which" ,which)
ee3e314b 50 ("python" ,python-wrapper)))
6b32a64a 51 (home-page "http://libevent.org/")
35b9e423 52 (synopsis "Event notification library")
6b32a64a
LC
53 (description
54 "The libevent API provides a mechanism to execute a callback
55function when a specific event occurs on a file descriptor or after a
56timeout has been reached. Furthermore, libevent also support callbacks
57due to signals or regular timeouts.
58
59libevent is meant to replace the event loop found in event driven
60network servers. An application just needs to call event_dispatch() and
61then add or remove events dynamically without having to change the event
62loop.")
63 (license bsd-3)))
90f69c2e 64
c808ca02
ED
65(define-public libev
66 (package
67 (name "libev")
dfdc9225 68 (version "4.23")
c808ca02
ED
69 (source (origin
70 (method url-fetch)
8fa16f63 71 (uri (string-append "http://dist.schmorp.de/libev/Attic/libev-"
c808ca02
ED
72 version
73 ".tar.gz"))
74 (sha256
75 (base32
dfdc9225 76 "0ynxxm7giy4hg3qp9q8wshqw1jla9sxbsbi2pwsdsl1v1hz79zn7"))))
c808ca02
ED
77 (build-system gnu-build-system)
78 (home-page "http://software.schmorp.de/pkg/libev.html")
79 (synopsis "Event loop loosely modelled after libevent")
80 (description
81 "libev is a full-featured and high-performance event loop that
82is loosely modelled after libevent, but without its limitations and
83bugs. It is used in GNU Virtual Private Ethernet, rxvt-unicode,
84auditd, the Deliantra MORPG Server and Client, and many other
85programs.")
86 (license
87 (list bsd-2 gpl2+))))
88
90f69c2e
LC
89(define-public libuv
90 (package
91 (name "libuv")
5304e6f2 92 (version "1.9.0")
90f69c2e
LC
93 (source (origin
94 (method url-fetch)
bbd0ea77 95 (uri (string-append "https://github.com/libuv/libuv/archive/v"
90f69c2e 96 version ".tar.gz"))
bbd0ea77 97 (file-name (string-append name "-" version ".tar.gz"))
90f69c2e
LC
98 (sha256
99 (base32
5304e6f2 100 "1sx5lahhg2w92y6mgyg7c7nrx2biyyxd5yiqkmq8n4w01lm2gf7q"))))
90f69c2e
LC
101 (build-system gnu-build-system)
102 (arguments
bbd0ea77
MW
103 '(#:phases (alist-cons-after
104 'unpack 'autogen
90f69c2e
LC
105 (lambda _
106 ;; Fashionable people don't run 'make dist' these days, so
107 ;; we need to do that ourselves.
bbd0ea77 108 (zero? (system* "sh" "autogen.sh")))
90f69c2e
LC
109 %standard-phases)
110
111 ;; XXX: Some tests want /dev/tty, attempt to make connections, etc.
112 #:tests? #f))
113 (native-inputs `(("autoconf" ,(autoconf-wrapper))
114 ("automake" ,automake)
3246cc91 115 ("libtool" ,libtool)
90f69c2e
LC
116
117 ;; libuv.pc is installed only when pkg-config is found.
118 ("pkg-config" ,pkg-config)))
119 (home-page "https://github.com/joyent/libuv")
120 (synopsis "Library for asynchronous I/O")
121 (description
122 "libuv is a multi-platform support library with a focus on asynchronous
123I/O. Among other things, it supports event loops via epoll, kqueue, and
124similar IOCP, and event ports, asynchronous TCP/UDP sockets, asynchronous DNS
125resolution, asynchronous file system operations, and threading primitives.")
126
127 ;; A few files fall under other non-copyleft licenses; see 'LICENSE' for
128 ;; details.
129 (license x11)))