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
1 changed files with 34 additions and 0 deletions

View File

@ -13,6 +13,7 @@
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com> ;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -268,6 +269,39 @@ manipulate, read, and write Zip archive files.")
list manipulation routines.") list manipulation routines.")
(license (package-license perl)))) (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 (define-public perl-autovivification
(package (package
(name "perl-autovivification") (name "perl-autovivification")