diff -Nru libev-perl-4.17/Changes libev-perl-4.18/Changes --- libev-perl-4.17/Changes 2014-04-11 04:26:23.000000000 +0000 +++ libev-perl-4.18/Changes 2014-09-06 18:37:29.000000000 +0000 @@ -2,7 +2,10 @@ Changes marked with (libev) are changes in libev, and have more documentation in the libev Changes file. -TODO: better multiarch detection + +4.18 Sat Sep 6 20:37:23 CEST 2014 + - use slightly better weay to find includes, to support multiarch + on newer perls. 4.17 Fri Apr 11 06:22:38 CEST 2014 - perl5porters broke Async::Interrupt, BDB, EV, IO::AIO, OpenCL diff -Nru libev-perl-4.17/debian/changelog libev-perl-4.18/debian/changelog --- libev-perl-4.17/debian/changelog 2014-08-21 11:57:30.000000000 +0000 +++ libev-perl-4.18/debian/changelog 2014-09-15 18:18:48.000000000 +0000 @@ -1,8 +1,18 @@ -libev-perl (4.17-1build1) utopic; urgency=medium +libev-perl (4.18-1) unstable; urgency=medium - * Rebuild for Perl 5.20.0. + * Team upload. - -- Colin Watson Thu, 21 Aug 2014 12:57:30 +0100 + [ Salvatore Bonaccorso ] + * Update Vcs-Browser URL to cgit web frontend + + [ gregor herrmann ] + * New upstream release. + * Refresh fix-spelling-error.patch (offset). + * Drop multiarch-checklib.patch. Makefile.PL has adapted to multiarch. + Remove build dependency on libdevel-checklib-perl. + * Harmonize BDS-* license names in debian/copyright. + + -- gregor herrmann Mon, 15 Sep 2014 20:18:40 +0200 libev-perl (4.17-1) unstable; urgency=medium diff -Nru libev-perl-4.17/debian/control libev-perl-4.18/debian/control --- libev-perl-4.17/debian/control 2014-05-11 16:43:44.000000000 +0000 +++ libev-perl-4.18/debian/control 2014-09-15 18:18:48.000000000 +0000 @@ -6,10 +6,9 @@ Priority: optional Build-Depends: debhelper (>= 9.20120312), perl, - libcommon-sense-perl, - libdevel-checklib-perl + libcommon-sense-perl Standards-Version: 3.9.5 -Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libev-perl.git +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-perl/packages/libev-perl.git Vcs-Git: git://anonscm.debian.org/pkg-perl/packages/libev-perl.git Homepage: https://metacpan.org/release/EV diff -Nru libev-perl-4.17/debian/copyright libev-perl-4.18/debian/copyright --- libev-perl-4.17/debian/copyright 2014-05-11 16:43:44.000000000 +0000 +++ libev-perl-4.18/debian/copyright 2014-09-15 18:18:48.000000000 +0000 @@ -9,7 +9,7 @@ Files: libev/* Copyright: 2007, 2008, 2009, 2010, 2011, 2012, 2013, Marc Alexander Lehmann -License: BSD or GPL-2+ +License: BSD-2-clause or GPL-2+ Files: libev/ev.c Copyright: 2007, 2008, 2009, 2010, 2011, 2012, 2013, Marc Alexander Lehmann @@ -18,8 +18,7 @@ libecb - http://software.schmorp.de/pkg/libecb Copyright: 2009-2014, Marc Alexander Lehmann 2011, Emanuele Giaquinta - License: BSD-2 - + License: BSD-2-clause Files: debian/* Copyright: 2011, 2011, Dmitry E. Oboukhov , @@ -34,7 +33,7 @@ On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. -License: BSD +License: BSD-2-clause Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff -Nru libev-perl-4.17/debian/patches/fix-spelling-error.patch libev-perl-4.18/debian/patches/fix-spelling-error.patch --- libev-perl-4.17/debian/patches/fix-spelling-error.patch 2014-05-11 16:43:44.000000000 +0000 +++ libev-perl-4.18/debian/patches/fix-spelling-error.patch 2014-09-15 18:18:48.000000000 +0000 @@ -3,11 +3,11 @@ Forwarded: no Author: Alessandro Ghedini Reviewed-by: gregor herrmann -Last-Update: 2014-05-11 +Last-Update: 2014-09-15 --- a/libev/ev.pod +++ b/libev/ev.pod -@@ -2205,7 +2205,7 @@ +@@ -2208,7 +2208,7 @@ Unlike C, periodic watchers are not based on real time (or relative time, the physical time that passes) but on wall clock time diff -Nru libev-perl-4.17/debian/patches/multiarch-checklib.patch libev-perl-4.18/debian/patches/multiarch-checklib.patch --- libev-perl-4.17/debian/patches/multiarch-checklib.patch 2014-05-11 16:43:44.000000000 +0000 +++ libev-perl-4.18/debian/patches/multiarch-checklib.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,62 +0,0 @@ -Description: Find headers with Devel::CheckLib instead of hardcoded paths -Origin: vendor -Bug-Debian: http://bugs.debian.org/718280 -Forwarded: no -Author: gregor herrmann -Last-Update: 2013-08-07 - ---- a/Makefile.PL -+++ b/Makefile.PL -@@ -3,6 +3,7 @@ use 5.008002; - use strict qw(vars subs); - use Config; - use ExtUtils::MakeMaker; -+use Devel::CheckLib; - - unless (-e "libev/ev_epoll.c") { - print < "sys/epoll.h"); - $can_epoll = $ENV{EV_EPOLL} if exists $ENV{EV_EPOLL}; - $DEFINE .= " -DEV_USE_EPOLL=" . (0 + (prompt ("Enable epoll backend (y/n)?", $can_epoll ? "y" : "n") =~ /[yY]/)); - -@@ -157,7 +158,7 @@ OS X: completely, utterly broken on a - - EOF - --my $can_kqueue = -e "/usr/include/sys/event.h"; -+my $can_kqueue = check_lib(header => "sys/event.h"); - $can_kqueue = $ENV{EV_KQUEUE} if exists $ENV{EV_KQUEUE}; - $DEFINE .= " -DEV_USE_KQUEUE=" . (0 + (prompt ("Enable kqueue backend (y/n)?", $can_kqueue ? "y" : "n") =~ /[yY]/)); - -@@ -208,7 +209,7 @@ idea to enable it, as kernel availabilit - - EOF - --my $can_inotify = -e "/usr/include/sys/inotify.h"; -+my $can_inotify = check_lib(header => "sys/inotify.h"); - $can_inotify = $ENV{EV_INOTIFY} if exists $ENV{EV_INOTIFY}; - $DEFINE .= " -DEV_USE_INOTIFY=" . (0 + (prompt ("Enable inotify support (y/n)?", $can_inotify ? "y" : "n") =~ /[yY]/)); - -@@ -225,7 +226,7 @@ have this wrapper. - - EOF - --my $can_eventfd = -e "/usr/include/sys/eventfd.h"; -+my $can_eventfd = check_lib(header => "sys/eventfd.h"); - $can_eventfd = $ENV{EV_EVENTFD} if exists $ENV{EV_EVENTFD}; - $DEFINE .= " -DEV_USE_EVENTFD=" . (0 + (prompt ("Enable linux eventfd support (y/n)?", $can_eventfd ? "y" : "n") =~ /[yY]/)); - -@@ -241,7 +242,7 @@ wrapper. Glibc 2.7 and later should have - - EOF - --my $can_signalfd = -e "/usr/include/sys/signalfd.h"; -+my $can_signalfd = check_lib(header => "sys/signalfd.h"); - $can_signalfd = $ENV{EV_SIGNALFD} if exists $ENV{EV_SIGNALFD}; - $DEFINE .= " -DEV_USE_SIGNALFD=" . (0 + (prompt ("Enable linux signalfd support (y/n)?", $can_signalfd ? "y" : "n") =~ /[yY]/)); - diff -Nru libev-perl-4.17/debian/patches/series libev-perl-4.18/debian/patches/series --- libev-perl-4.17/debian/patches/series 2014-05-11 16:43:44.000000000 +0000 +++ libev-perl-4.18/debian/patches/series 2014-09-15 18:18:48.000000000 +0000 @@ -1,2 +1 @@ fix-spelling-error.patch -multiarch-checklib.patch diff -Nru libev-perl-4.17/EV.pm libev-perl-4.18/EV.pm --- libev-perl-4.17/EV.pm 2014-04-11 04:26:28.000000000 +0000 +++ libev-perl-4.18/EV.pm 2014-09-06 18:38:48.000000000 +0000 @@ -121,7 +121,7 @@ use common::sense; BEGIN { - our $VERSION = '4.17'; + our $VERSION = '4.18'; use XSLoader; local $^W = 0; # avoid spurious warning XSLoader::load "EV", $VERSION; diff -Nru libev-perl-4.17/libev/Changes libev-perl-4.18/libev/Changes --- libev-perl-4.17/libev/Changes 2014-02-07 11:00:06.000000000 +0000 +++ libev-perl-4.18/libev/Changes 2014-09-05 15:59:26.000000000 +0000 @@ -11,10 +11,13 @@ TODO: document file descriptor usage per loop TODO: store loop pid_t and compare isndie signal handler,store 1 for same, 2 for differign pid, clean up in loop_fork TODO: embed watchers need updating when fd changes -TODO: document portbaility requirements for atomic pointer access +TODO: document portability requirements for atomic pointer access TODO: possible cb aliasing? -TODO: document requirements for function piinters and calling conventions. +TODO: document requirements for function pointers and calling conventions. +4.18 Fri Sep 5 17:55:26 CEST 2014 + - events on files were not always generated properly with the + epoll backend (testcase by Assaf Inbal). - mark event pipe fd as cloexec after a fork (analyzed by Sami Farin). - (ecb) support m68k, m88k and sh (patch by Miod Vallat). - use a reasonable fallback for EV_NSIG instead of erroring out diff -Nru libev-perl-4.17/libev/ev.c libev-perl-4.18/libev/ev.c --- libev-perl-4.17/libev/ev.c 2014-03-25 19:26:35.000000000 +0000 +++ libev-perl-4.18/libev/ev.c 2014-09-05 16:49:27.000000000 +0000 @@ -45,11 +45,11 @@ # include "config.h" # endif -#if HAVE_FLOOR -# ifndef EV_USE_FLOOR -# define EV_USE_FLOOR 1 +# if HAVE_FLOOR +# ifndef EV_USE_FLOOR +# define EV_USE_FLOOR 1 +# endif # endif -#endif # if HAVE_CLOCK_SYSCALL # ifndef EV_USE_CLOCK_SYSCALL @@ -508,6 +508,17 @@ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- * ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Alternatively, the contents of this file may be used under the terms of + * the GNU General Public License ("GPL") version 2 or any later version, + * in which case the provisions of the GPL are applicable instead of + * the above. If you wish to allow the use of your version of this file + * only under the terms of the GPL and not to allow others to use your + * version of this file under the BSD license, indicate your decision + * by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL. If you do not delete the + * provisions above, a recipient may use your version of this file under + * either the BSD or the GPL. */ #ifndef ECB_H @@ -796,11 +807,18 @@ #define ecb_decltype(x) __typeof(x) #endif +#if _MSC_VER >= 1300 + #define ecb_deprecated __declspec(deprecated) +#else + #define ecb_deprecated ecb_attribute ((__deprecated__)) +#endif + #define ecb_noinline ecb_attribute ((__noinline__)) #define ecb_unused ecb_attribute ((__unused__)) #define ecb_const ecb_attribute ((__const__)) #define ecb_pure ecb_attribute ((__pure__)) +/* http://msdn.microsoft.com/en-us/library/k6ktzx3s.aspx __declspec(noreturn) */ #if ECB_C11 #define ecb_noreturn _Noreturn #else diff -Nru libev-perl-4.17/libev/ev_epoll.c libev-perl-4.18/libev/ev_epoll.c --- libev-perl-4.17/libev/ev_epoll.c 2012-12-05 18:19:37.000000000 +0000 +++ libev-perl-4.18/libev/ev_epoll.c 2014-05-22 18:53:16.000000000 +0000 @@ -228,7 +228,10 @@ if (anfds [fd].emask & EV_EMASK_EPERM && events) fd_event (EV_A_ fd, events); else - epoll_eperms [i] = epoll_eperms [--epoll_epermcnt]; + { + epoll_eperms [i] = epoll_eperms [--epoll_epermcnt]; + anfds [fd].emask = 0; + } } } diff -Nru libev-perl-4.17/libev/ev.h libev-perl-4.18/libev/ev.h --- libev-perl-4.17/libev/ev.h 2013-12-27 06:00:22.000000000 +0000 +++ libev-perl-4.18/libev/ev.h 2014-09-05 15:59:38.000000000 +0000 @@ -205,7 +205,7 @@ /*****************************************************************************/ #define EV_VERSION_MAJOR 4 -#define EV_VERSION_MINOR 15 +#define EV_VERSION_MINOR 18 /* eventmask, revents, events... */ enum { diff -Nru libev-perl-4.17/libev/ev.pod libev-perl-4.18/libev/ev.pod --- libev-perl-4.17/libev/ev.pod 2013-12-22 06:20:45.000000000 +0000 +++ libev-perl-4.18/libev/ev.pod 2014-05-22 18:53:16.000000000 +0000 @@ -684,11 +684,12 @@ =item ev_loop_fork (loop) -This function sets a flag that causes subsequent C iterations to -reinitialise the kernel state for backends that have one. Despite the -name, you can call it anytime, but it makes most sense after forking, in -the child process. You I call it (or use C) in the -child before resuming or calling C. +This function sets a flag that causes subsequent C iterations +to reinitialise the kernel state for backends that have one. Despite +the name, you can call it anytime you are allowed to start or stop +watchers (except inside an C callback), but it makes most +sense after forking, in the child process. You I call it (or use +C) in the child before resuming or calling C. Again, you I to call it on I loop that you want to re-use after a fork, I. This is @@ -2030,13 +2031,15 @@ time. This is usually the right thing as this timestamp refers to the time of the event triggering whatever timeout you are modifying/starting. If you suspect event processing to be delayed and you I to base the -timeout on the current time, use something like this to adjust for this: +timeout on the current time, use something like the following to adjust +for it: - ev_timer_set (&timer, after + ev_now () - ev_time (), 0.); + ev_timer_set (&timer, after + (ev_time () - ev_now ()), 0.); If the event loop is suspended for a long time, you can also force an update of the time returned by C by calling C. +()>, although that will push the event time of all outstanding events +further into the future. =head3 The special problem of unsynchronised clocks @@ -2395,7 +2398,7 @@ ev_periodic_init (&hourly_tick, clock_cb, fmod (ev_now (loop), 3600.), 3600., 0); ev_periodic_start (loop, &hourly_tick); - + =head2 C - signal me when a signal gets signalled! @@ -2909,13 +2912,13 @@ prepare watchers get invoked before the process blocks and check watchers afterwards. -You I call C or similar functions that enter -the current event loop from either C or C -watchers. Other loops than the current one are fine, however. The -rationale behind this is that you do not need to check for recursion in -those watchers, i.e. the sequence will always be C, blocking, -C so if you have one watcher of each kind they will always be -called in pairs bracketing the blocking call. +You I call C (or similar functions that enter the +current event loop) or C from either C or +C watchers. Other loops than the current one are fine, +however. The rationale behind this is that you do not need to check +for recursion in those watchers, i.e. the sequence will always be +C, blocking, C so if you have one watcher of each +kind they will always be called in pairs bracketing the blocking call. Their main purpose is to integrate other event mechanisms into libev and their use is somewhat advanced. They could be used, for example, to track @@ -3215,7 +3218,7 @@ struct ev_loop *loop_hi = ev_default_init (0); struct ev_loop *loop_lo = 0; ev_embed embed; - + // see if there is a chance of getting one that works // (remember that a flags value of 0 means autodetection) loop_lo = ev_embeddable_backends () & ev_recommended_backends () @@ -3239,7 +3242,7 @@ struct ev_loop *loop = ev_default_init (0); struct ev_loop *loop_socket = 0; ev_embed embed; - + if (ev_supported_backends () & ~ev_recommended_backends () & EVBACKEND_KQUEUE) if ((loop_socket = ev_loop_new (EVBACKEND_KQUEUE)) { @@ -3265,7 +3268,7 @@ =head3 The special problem of life after fork - how is it possible? -Most uses of C consist of forking, then some simple calls to set +Most uses of C consist of forking, then some simple calls to set up/change the process environment, followed by a call to C. This sequence should be handled by libev without any problems. @@ -4099,7 +4102,7 @@ ... } } - + myfunctor f; ev::io w; diff -Nru libev-perl-4.17/Makefile.PL libev-perl-4.18/Makefile.PL --- libev-perl-4.17/Makefile.PL 2013-08-01 02:08:54.000000000 +0000 +++ libev-perl-4.18/Makefile.PL 2014-09-06 18:36:47.000000000 +0000 @@ -4,6 +4,10 @@ use Config; use ExtUtils::MakeMaker; +sub have_inc($) { + scalar grep -r "$_/$_[0]", $Config{usrinc}, split / /, $Config{incpth} +} + unless (-e "libev/ev_epoll.c") { print <