gnu: Add wl-clipboard.
[jackhill/guix/guix.git] / gnu / packages / libevent.scm
index 551fbf7..2de2970 100644 (file)
@@ -1,9 +1,11 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2017 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -51,6 +53,9 @@
                                       ;; https://github.com/libevent/libevent/issues/452
                                       "libevent-2.1-skip-failing-test.patch"))))
     (build-system gnu-build-system)
+    (arguments
+      ;; This skips some of the tests which fail on armhf and aarch64.
+     '(#:configure-flags '("--disable-libevent-regress")))
     (inputs
      `(("python" ,python-2)))           ; for 'event_rpcgen.py'
     (native-inputs
@@ -74,18 +79,21 @@ loop.")
     (inherit libevent)
     (version "2.0.22")
     (source (origin
-          (method url-fetch)
-          (uri (string-append
-                "https://github.com/libevent/libevent/releases/download/release-"
-                version "-stable/libevent-" version "-stable.tar.gz"))
-          (sha256
-           (base32
-            "18qz9qfwrkakmazdlwxvjmw8p76g70n3faikwvdwznns1agw9hki"))
-          (patches (search-patches
-                    "libevent-dns-tests.patch"
-                    "libevent-2.0-CVE-2016-10195.patch"
-                    "libevent-2.0-CVE-2016-10196.patch"
-                    "libevent-2.0-CVE-2016-10197.patch"))))))
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/libevent/libevent/releases/download/release-"
+                    version "-stable/libevent-" version "-stable.tar.gz"))
+              (sha256
+               (base32
+                "18qz9qfwrkakmazdlwxvjmw8p76g70n3faikwvdwznns1agw9hki"))
+              (patches
+               (search-patches
+                "libevent-dns-tests.patch"
+                "libevent-2.0-CVE-2016-10195.patch"
+                "libevent-2.0-CVE-2016-10196.patch"
+                "libevent-2.0-CVE-2016-10197.patch"
+                "libevent-2.0-evbuffer-add-use-last-with-datap.patch"))))
+    (arguments '())))
 
 (define-public libev
   (package
@@ -103,39 +111,30 @@ loop.")
     (home-page "http://software.schmorp.de/pkg/libev.html")
     (synopsis "Event loop loosely modelled after libevent")
     (description
-     "libev is a full-featured and high-performance event loop that
-is loosely modelled after libevent, but without its limitations and
-bugs.  It is used in GNU Virtual Private Ethernet, rxvt-unicode,
-auditd, the Deliantra MORPG Server and Client, and many other
-programs.")
+     "libev provides a full-featured and high-performance event loop that is
+loosely modelled after libevent.  It includes relative timers, absolute timers
+with customized rescheduling, synchronous signals, process status change
+events, event watchers dealing with the event loop itself, file watchers, and
+limited support for fork events.")
     (license
      (list bsd-2 gpl2+))))
 
 (define-public libuv
   (package
     (name "libuv")
-    (version "1.11.0")
+    (version "1.23.0")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://github.com/libuv/libuv/archive/v"
-                                  version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (uri (string-append "https://dist.libuv.org/dist/v" version
+                                  "/libuv-v" version ".tar.gz"))
               (sha256
                (base32
-                "0yhw86011l2dg2prms0d86szygrix4pxpgnyzs7iljy2xk3fxivf"))))
+                "09yf7c71n8b80nbsv4lsmq5nqmb0rylhpx3z9jgkv5za9lr6sx6i"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases (alist-cons-after
-                 'unpack 'autogen
-                 (lambda _
-                   ;; Fashionable people don't run 'make dist' these days, so
-                   ;; we need to do that ourselves.
-                   (zero? (system* "sh" "autogen.sh")))
-                 %standard-phases)
-
-       ;; XXX: Some tests want /dev/tty, attempt to make connections, etc.
+     '(;; XXX: Some tests want /dev/tty, attempt to make connections, etc.
        #:tests? #f))
-    (native-inputs `(("autoconf" ,(autoconf-wrapper))
+    (native-inputs `(("autoconf" ,autoconf-wrapper)
                      ("automake" ,automake)
                      ("libtool" ,libtool)
 
@@ -150,20 +149,33 @@ similar IOCP, and event ports, asynchronous TCP/UDP sockets, asynchronous DNS
 resolution, asynchronous file system operations, and threading primitives.")
 
     ;; A few files fall under other non-copyleft licenses; see 'LICENSE' for
-    ;; details.
-    (license x11)))
+    ;; details.  Documentation is CC-BY 4.0 as of 1.12.0; see 'LICENSE-docs'.
+    (license (list expat cc-by4.0))))
+
+;; This version is required for Node versions < 10.
+(define-public libuv-1.19
+  (package
+    (inherit libuv)
+    (version "1.19.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://dist.libuv.org/dist/v" version
+                                  "/libuv-v" version ".tar.gz"))
+              (sha256
+               (base32
+                "1msk9ac1z69whww88ibrwjqkd1apdla6l77cm2fwy5kigq0z5g3w"))))))
 
 (define-public perl-anyevent
   (package
     (name "perl-anyevent")
-    (version "7.13")
+    (version "7.14")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
                                   "AnyEvent-" version ".tar.gz"))
               (sha256
                (base32
-                "1b84ilkbrfbzqapv25x8z6gva92skbrf2srybdabb1wnxx6ky454"))))
+                "0akxr9y0q9yjkl614x4clbiiayvh5a67y8gmci54plxs4p95i4sk"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-canary-stability" ,perl-canary-stability)))
@@ -175,17 +187,17 @@ resolution, asynchronous file system operations, and threading primitives.")
        ("perl-json-xs" ,perl-json-xs)
        ("perl-net-ssleay" ,perl-net-ssleay)
        ("perl-task-weaken" ,perl-task-weaken)))
-    (home-page "http://search.cpan.org/dist/AnyEvent")
+    (home-page "https://metacpan.org/release/AnyEvent")
     (synopsis
      "API for I/O, timer, signal, child process and completion events")
     (description
      "This module allows using a variety of events without forcing module
-authors to pick a specific event loop, and without noticable overhead.
+authors to pick a specific event loop, and without noticeable overhead.
 Currently supported event loops are EV, Event, Glib/Gtk2, Tk, Qt,
 @code{Event::Lib}, Irssi, @code{IO::Async} and POE (and thus also WxWidgets
 and Prima).  It also comes with a very fast Pure Perl event loop that does
 not rely on XS.")
-    (license (package-license perl))))
+    (license perl-license)))
 
 (define-public perl-ev
   (package
@@ -213,17 +225,17 @@ not rely on XS.")
            ;; to build. Unpack system libev here...
            (lambda* (#:key inputs #:allow-other-keys)
              (mkdir "./libev")
-             (zero? (system* "tar" "-xf" (assoc-ref inputs "libev-source")
-                             "-C" "./libev" "--strip-components=1")))))))
+             (invoke "tar" "-xf" (assoc-ref inputs "libev-source")
+                     "-C" "./libev" "--strip-components=1"))))))
     (native-inputs
      `(("libev-source" ,(package-source libev))
        ("perl-canary-stability" ,perl-canary-stability)))
     (propagated-inputs
      `(("perl-common-sense" ,perl-common-sense)))
-    (home-page "http://search.cpan.org/dist/EV")
+    (home-page "https://metacpan.org/release/EV")
     (synopsis "Perl interface to libev")
     (description
      "This module provides an interface to @code{libev}, a high performance
 full-featured event loop.  It can be used through the @code{AnyEvent} module
 and still be faster than other event loops currently supported in Perl.")
-    (license (package-license perl))))
+    (license perl-license)))