aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/perl.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2016-12-09 17:32:38 +0100
committerMarius Bakke <mbakke@fastmail.com>2017-03-02 18:39:14 +0100
commit811f4f5b4c0e5a58d2aef06f871e1bbd59e2156b (patch)
treeb37171df61589271eae3bbd047a741702d36e895 /gnu/packages/perl.scm
parent04c88363da76878fb91b008f6c82b05ebf8f47fe (diff)
downloadguix-811f4f5b4c0e5a58d2aef06f871e1bbd59e2156b.tar
guix-811f4f5b4c0e5a58d2aef06f871e1bbd59e2156b.tar.gz
gnu: Add perl-async-interrupt.
* gnu/packages/perl.scm (perl-async-interrupt): New variable.
Diffstat (limited to 'gnu/packages/perl.scm')
-rw-r--r--gnu/packages/perl.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index eee688354a..f80a95f3e0 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -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 @@ manipulate, read, and write Zip archive files.")
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")