diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/libevent.scm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index e552a4ee38..8aca5daf87 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -26,9 +26,11 @@ #:use-module (guix packages) #: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 perl) #:use-module (gnu packages pkg-config)) (define-public libevent @@ -149,3 +151,44 @@ resolution, asynchronous file system operations, and threading primitives.") ;; A few files fall under other non-copyleft licenses; see 'LICENSE' for ;; details. (license x11))) + +(define-public perl-ev + (package + (name "perl-ev") + (version "4.22") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/EV-" + version ".tar.gz")) + (sha256 + (base32 + "14d9115q8f2ca2q3vbcalm55zqsbx8xjq5aj098laj9f9rrzirra")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Drop bundled libev. + (delete-file-recursively "libev") + #t)))) + (build-system perl-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-libev + ;; This package requires the libev *sources* in order + ;; 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"))))))) + (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") + (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)))) |