gnu: Add perl-async-interrupt.

* gnu/packages/perl.scm (perl-async-interrupt): New variable.
This commit is contained in:
Marius Bakke 2016-12-09 17:32:38 +01:00
parent 04c88363da
commit 811f4f5b4c
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -13,6 +13,7 @@
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -268,6 +269,39 @@ (define-public perl-array-utils
list manipulation routines.")
(license (package-license perl))))
(define-public perl-async-interrupt
(package
(name "perl-async-interrupt")
(version "1.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
"Async-Interrupt-" version ".tar.gz"))
(sha256
(base32
"092zs7b72f8q109c3z829nqfgwqghp3nhw44c0gcyhacbb4wgpk3"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-common-sense" ,perl-common-sense)))
(home-page "http://search.cpan.org/dist/Async-Interrupt")
(synopsis "Allow C/XS libraries to interrupt perl asynchronously")
(description
"@code{Async::Interrupt} implements a single feature only of interest
to advanced perl modules, namely asynchronous interruptions (think \"UNIX
signals\", which are very similar).
Sometimes, modules wish to run code asynchronously (in another thread,
or from a signal handler), and then signal the perl interpreter on
certain events. One common way is to write some data to a pipe and use
an event handling toolkit to watch for I/O events. Another way is to
send a signal. Those methods are slow, and in the case of a pipe, also
not asynchronous - it won't interrupt a running perl interpreter.
This module implements asynchronous notifications that enable you to
signal running perl code from another thread, asynchronously, and
sometimes even without using a single syscall.")
(license (package-license perl))))
(define-public perl-autovivification
(package
(name "perl-autovivification")