guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/19: gnu: Add perl-async-interrupt.


From: Marius Bakke
Subject: 02/19: gnu: Add perl-async-interrupt.
Date: Thu, 2 Mar 2017 12:39:51 -0500 (EST)

mbakke pushed a commit to branch master
in repository guix.

commit 811f4f5b4c0e5a58d2aef06f871e1bbd59e2156b
Author: Marius Bakke <address@hidden>
Date:   Fri Dec 9 17:32:38 2016 +0100

    gnu: Add perl-async-interrupt.
    
    * gnu/packages/perl.scm (perl-async-interrupt): New variable.
---
 gnu/packages/perl.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index eee6883..f80a95f 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2016 Ben Woodcroft <address@hidden>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <address@hidden>
 ;;; Copyright © 2017 Raoul J.P. Bonnal <address@hidden>
+;;; Copyright © 2017 Marius Bakke <address@hidden>
 ;;;
 ;;; 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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]