~ruther/guix-local

ad8f8e759575b77b5f589654246b786356b9bb0a — Marius Bakke 9 years ago 647b6d3
gnu: Add perl-ev.

* gnu/packages/libevent.scm (perl-ev): New variable.
1 files changed, 43 insertions(+), 0 deletions(-)

M gnu/packages/libevent.scm
M gnu/packages/libevent.scm => gnu/packages/libevent.scm +43 -0
@@ 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))))