Subject: [PATCH 17/19] gnu: Add perl-anyevent.

From: Marius Bakke <[email-masked]>
Date: Wed, 22 Feb 2017 16:04:18 +0100

* gnu/packages/libevent.scm (perl-anyevent): New variable.
---
 gnu/packages/libevent.scm | 41 ++++++++++++++++++++++++++++++++++++++---
 1 file changed, 38 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index 8aca5daf8..dd5f7c406 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -27,11 +27,12 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
-  #:use-module (gnu packages base)
-  #:use-module (gnu packages python)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages perl)
-  #:use-module (gnu packages pkg-config))
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages tls))
 
 (define-public libevent
   (package
@@ -152,6 +153,40 @@ resolution, asynchronous file system operations, and threading primitives.")
     ;; details.
     (license x11)))
 
+(define-public perl-anyevent
+  (package
+    (name "perl-anyevent")
+    (version "7.13")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
+                                  "AnyEvent-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1b84ilkbrfbzqapv25x8z6gva92skbrf2srybdabb1wnxx6ky454"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-canary-stability" ,perl-canary-stability)))
+    (propagated-inputs
+     `(("perl-async-interrupt" ,perl-async-interrupt)
+       ("perl-ev" ,perl-ev)
+       ("perl-guard" ,perl-guard)
+       ("perl-json" ,perl-json)
+       ("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")
+    (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.
+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))))
+
 (define-public perl-ev
   (package
     (name "perl-ev")
-- 
2.11.1