pkgsrc/devel/p5-AnyEvent/Makefile

27 lines
907 B
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.27 2012/10/31 11:17:37 asau Exp $
DISTNAME= AnyEvent-6.14
Updated devel/p5-AnyEvent to 6.13 ChangeLog: 6.13 Thu Jan 12 07:27:01 CET 2012 - AnyEvent::Util::fork_call checked for POSIX availability in the wrong way, causing it to fail if POSIX wasn't loaded already (analysed by Rock Power). - AnyEvent::Handle::push_read (line => did pass $1 directly, so regex-matching inside the callback would change the parameter, despite $1 being dynamically scoped per-block. this perl bug is now being worked around (testcase by Cindy Wang). 6.12 Mon Dec 12 13:21:10 CET 2011 - $! was clobbered by subsequent calls in tcp_connect, due to the postpone not saving/restoring it (analyzed by Richard Garnish). 6.11 Tue Nov 22 10:36:05 CET 2011 - Tk cannot create windows when tainted unless you set a title, so set a dummy title for AnyEvent's dummy mainwindow. How dummy. - escape any nonprintable/nonascii characters when stringifying backtraces. - log the reason loading an interface module fails to load at level debug. 6.1 Tue Oct 4 19:44:30 CEST 2011 - INCOMPATIBLE CHANGE: the default log level is now "4" (error and above), and some messages inside AnyEvent have been elevated to higher log levels to print by default. - AnyEvent::log, unlike AnyEvent::Log::log, did not always exit on fatal. - work around yet another signal race bug, newly introduced by POE. My how that module sucks. - add google public ipv6 dns as fallback servers, so AE::DNS can finally support ipv6-only operation even with defaults (also use ::1 instead of 127.0.0.1). - give better guidelines on how to chose a logging level. - AnyEvent::Log can now cap (limit) log message priority by context. - AE::log will now save and restore $! and $@, so callers don't have to. - AE::Strict now checks that registered fds are still valid at regular intervals. - skip frequently called 'require' calls if the module appears loaded. - increase signal latency test timer considerably for poor little osx, which can't be bothered with basic posix functionality such as signal delivery. - mention some debugging aids in the tutorial. - new env variable PERL_ANYEVENT_MAX_SIGNAL_LATENCY. - private (%namespace) log contexts in PERL_ANYEVENT_LOG now have the name of the context as title. - AnyEvent::Strict would not restore read-write access to $_ when a callback died - this is a user bug, but since AE::Strict exists to help dbeugging... - detect the extremely evil IO::Async::Loop::AnyEvent module and refuse to work with it - the author is well aware of the issues but refuses to fix them. This extreme step has been taken because the module actively attacks the goals of AnyEvent and makes it harder for module authors to use AnyEvent. 6.02 Fri Aug 26 20:08:31 CEST 2011 - log_to_syslog now accepts facility strings. - log_to_syslog would not allow facilities - "$facility|$level" *literally* means that string. sheesh. - the CPAN parser got confused and thought we provide Sys::Syslog, try to work around. - renamed AnyEvent::Impl::FLTK2 to FLTK. 6.01 Fri Aug 26 07:04:11 CEST 2011 - INCOMPATIBLE CHANGE: AnyEvent::DNS resource records now include the TTL as fourth element - this affects ->resolve, ->request and ->dns_unpack indirectly. Convenience functions such as AnyEvent::DNS::{a,txt,mx,srv} are not affected, neither is AnyEvent::Socket. - INCOMPATIBLE CHANGE: backend authors now should not implement one_event or loop, but instead the AnyEvent::CondVar::_wait and _poll methods. - INCOMPATIBLE CHANGE: verbosity levels have been redefined, see AnyEvent (PERL_ANYEVENT_VERBOSE) and AnyEvent::Log for details. - DEPRECIATION: please change "use AnyEvent::Impl::Perl" to "use AnyEvent::Loop" and "AnyEvent::Impl::Perl::loop" to "AnyEvent::Loop::run" in your programs, for future compatibility. - *blush* idle watcher emulation was borked. - AnyEvent::Strict now checks the AE::xxx functions as well. - querying too long domain names would barf deep inside AnyEvent::DNS - since this is hard to avoid for applications, AnyEvent:.DNS::request now checks for for too long domain names explicitly and passes an undef to the callback instead (reported by James Bromberger). - make AnyEvent::Util more robust against EINTR (analyzed by Andrew Suffield). - new functions: AnyEvent::postpone, AnyEvent::log. - new module: AnyEvent::Log, for simple logging needs. - new env variable, PERL_ANYEVENT_LOG, for fine-grained logging config. - new env variable, PERL_ANYEVENT_DEBUG_SHELL, to automatically start a debug shell. - new env variable, PERL_ANYEVENT_DEBUG_WRAP, to automatically enable watcher instrumentation/wrapping (see AnyEvent::Debug::wrap). - new env variable, PERL_ANYEVENT_HOSTS, to override the place where /etc/hosts can be found. - an empty PERL_ANYEVENT_RESOLV_CONF now selects the default configuration. - env variables can now be specified using AE_xyz instead of PERL_ANYEVENT_xyz, subject to some rules. - lots of new AnyEvent::Debug functionality. - AnyEvent::Strict now checks for modifications $_ by the callback (by setting it to readonly while executing the callback, if possible). - IO::Async sometimes cancels the wrong timer when you call cancel_timer. Invest extra overhead to work around this peculiar behaviour. - split the pure perl backend into a loop module and an impl module (AnyEvent::Loop and AnyEvent::Impl::Perl). - some read types (regex, netstring, json, storable) could errornously keep an AE::Handle object alive on their own (reported by Mohammad Toossi). - AnyEvent::Socket::resolve_sockaddr and all functions using it now supports /etc/hosts overrides. - add more workarounds around child watcher bugs in IO::Async and (newly introduced) in POE. - use glib child watchers and try to work around its limitations, if possible (based on a patch by Kevin Ryde). - add support for FLTK (fltk2), via AnyEvent::Impl::FLTK2. - many read types in AnyEvent::Handle would malfunction during transitions to TLS because of a "delete $self->{rbuf}". (reported by Gerald Galster). - improve condvar blocking wait performance (probably only noticable with faster backends), also make it easier for event loops that do not support blocking waits. - PERL_ANYEVENT_MODEL now also allows full module names, although the usefulness of this feature is not yet clear. - add tests for all supported event loops, conditional on PERL_ANYEVENT_LOOP_TESTS. - add t/80_ssltext.t. - no longer use AUTOLOAD for the initial loading (for no very good reason). - tcp_server now tries to unlink unix domain sockets when it gets destroyed. - do not run event loop detection multiple times when programs call their cached copies of AnyEvent::detect. - parse_hostport now accepts absolute paths als unix domain sockets. - suppress the idiotic warning inside POE by patching the POE::Kernel run flags instead of asking the user to jump through contortions. - add Task::Weaken as dependency (as recommends only at this time). - replace PF_UNSPEC by 0, for good old minix. 6.0 (not officially released, but was on CPAN for about 15 minutes :/)
2012-01-26 12:55:12 +01:00
PKGNAME= p5-AnyEvent-6.130
PKGREVISION= 1
CATEGORIES= devel
#MASTER_SITES= http://www.cpan.org/modules/by-authors/Marc_Lehmann/
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=../../authors/id/M/ML/MLEHMANN/}
- updated to 4.2 - removed unneeded dependencies - fixed dbl entry for DESTDIR support - took maintainership ChangeLog: 4.2 Sat Jul 12 22:42:11 CEST 2008 - support an "interval" argument for repeating timers. - fix a bug in the pure perl event loop that caused timers to be delayed under some circumstances. - implement optional argument checking via PERL_ANYEVENT_STRICT. - not importing anything from Event causes it to malfunction and not use Time::HiRes, work around this bug. - more bug workarounds against the endlessly broken Tk module, seems to work now on 32 bit machines, but less so on 64 bit. - minor optimisations applied to most backends. 4.161 Fri Jul 4 14:24:48 CEST 2008 - fixed the t/handle/02_write.t, it read after write, with the assumption that all data could be written before read (reported by Jim Razmus). 4.160 Thu Jul 3 04:02:21 CEST 2008 - re-registering signal watchers after unregistering one did not work if a backend falls back on AnyEvent's default implementation (also affected child watchers). - new AnyEvent::Handle options: autocork and no_delay. 4.152 Sun Jun 22 14:15:44 CEST 2008 - allow for 32-bit perls that implement shifts differently on different architectures in parse_ipv4 (reported and analysed by Keiichi DAIBA). 4.151 Fri Jun 6 17:34:24 CEST 2008 - make sure specifying _only_ on_read and never pushing reads works. 4.15 Fri Jun 6 13:00:46 CEST 2008 - the pure perl backend would keep some watchers alive when more than one watcher was registered for the same fd. - new "packstring" and "storable" read and write types for AnyEvent::Handle. - allow on_eof handler to be called after on_error with EPIPE returns. - do not immediately call on_read callback in handle constructor. 4.14 Thu Jun 5 20:29:31 CEST 2008 - Fixed a bug in DNS SRV priority sorting. - AnyEvent::Util::guard now reports runtime errors while executing the guard block as warnings. - handle 0-byte-reads just before EOF correctly in AnyEvent::Handle. 4.13 Thu Jun 5 00:47:59 CEST 2008 - AnyEvent::DNS only followed cname chains with length 2, contrary to documentation. bumped it up to 10, thanks to microsoft, the current broken-dns-config-king. - AnyEvent::DNS didn't check for socket return status but instead relied on perl not creating filehandles in that case - too bad it gives you a bogus file handle (reported and analysed by Vladimir Timofeev). - fix queue management logic in AnyEvent::Handle: when on_read was registered, the queue was empty and no progress could be made AnyEvent::Handle would enter an endless loop. - correctly start reading again when the handle became busy again after idling. - correctly treat tls shut-downs as EOF condition (for the time being, would be nice to have a callback for that). - correctly call eof callback under all conditions (hopefully). - the timeout callback did not expect that $self can go away any time. 4.12 Tue Jun 3 10:58:04 CEST 2008 - include AnyEvent::Intro, a tutorial for anyevent, anyevent::socket and anyevent::handle. - allow more options in on_error. 4.11 Fri May 30 23:42:25 CEST 2008 - INCOMPATIBLE CHANGE: replace ptr by real PTR lookup, provide reverse_lookup and reverse_verify to replace it, support v4mapped and v4compat addresses. - provide more documentation for the resolver class. - really replace longest run of :0: by :: in format_address, also properly convert :: and ::1 again. - support NAPTR record name and decode it. - implement random weight sampling for SRV records, as per rfc 2782. - correctly abort on srv-record targets of ".". - added AnyEvent::DNS::wait_for_slot. - in the unlikely event of a virtual circuit connection being invalidated by a delayed udp reply, AnyEvent::DNS could die. this has been fixed. - plug a probable memleak in the DNS vc code. - use configured timeout also for VC request phase. - implement timeout and max_outstanding methods for resolver class. - update version numbers in all modules. 4.1 Thu May 29 05:45:40 CEST 2008 - INCOMPATIBLE CHANGE: renamed xxx_ip functions to xxx_address which mirrors their purpose better (old names still available for a while). Also moved AnyEvent::DNS::addr to AnyEvent::Socket::resolve_sockaddr. - implement AnyEvent->time and AnyEvent->now. - fix IPv6 support in pack_sockaddr. - officially un-experimentalise all newly introduced code. - support unix domain sockets everywhere by specifying a host of "unix/" and the pathname as service. - implement an activity timeout in AnyEvent::Handle. - added a regex read type to AnyEvent::Handle. - added a json read/write type to AnyEvent::Handle. - always croak in on_error in AnyEvent::Handle. - document how to subclass AnyEvent::Handle. - implement AnyEvent::Util::fork_call. - add support for IPv6 nameservers and nameserver statements. - work around _yet_ _another_ windows perl bug in where empty select masks cause errors in the pure perl backend (this workaround cannot be implemented for the other event loops, but EV also works around this). - supply AnyEvent::Socket::address_type and make good use of it. - clarify and fix the Handle documentation w.r.t $self vs. $handle vs. callback arguments. - add some recommends to the META.yml. 4.05 Mon May 26 19:44:06 CEST 2008 - some platforms ignore the rfc and prepend an extra sa_len member to the sockaddr structure, cater for those. also use sockaddr_family, didn't know it was there, but comes in handy for the workaround. - undo the import WIN32 hack. 4.04 Mon May 26 08:03:31 CEST 2008 - try to work around yet another windows bug: failed connects are reported as if it were out-of-band data. windows users: you suck. Only EV, Glib, Event and the pure perl backend can handle this condition. - optimize write algorithm in AnyEvent::Handle. - properly parse PERL_ANYEVENT_PROTOCOLS and use the info correctly. - tcp_connect now properly iterates through all targets. - check wether IPv6 sockets can actually be created, otherwise, disable ipv6 support entirely. also hardcode some AF_INET6 constants for the sake of perl 5.8. - vastly improved nameserver/suffix detection algorithm for windows (still a hack...) - try to use a fallback dns server if no dns servers could be found. - splatter around some local $SIG{__DIE__}'s to work around bad die handlers. 4.03 Sun May 25 05:05:57 CEST 2008 - work around perl bugs on windows, where perl returns undocumented error codes for sysread, syswrite etc. - fix AnyEvent::Handle::unshift_read to really unshift and not push. - AnyEvent::Handle could sometimes stumble over 0-byte writes. - fix unpack_sockaddr, now works for AF_INET6 sockaddr's. - updated documentation. - lots of workarounds for perl 5.8 quirks. - implement a more flexible type system for both reads and writes in AnyEvent::Handle. - support IPv6 in tcp_server. - pass local hostname and port to the prepare callback in tcp_server. - make types extendable in AnyEvent::Handle. - croak, not die, in AnyEvent::Handle; 4.0 Sat May 24 19:58:08 CEST 2008 - added (experimental) AnyEvent::DNS module. - added (experimental) AnyEvent::Socket module. - added (experiemntal) support for TLS/SSL in AnyEvent::Handle. - make condvar->end call ->send as documented. - make condvar constructor support the documented cb => argument. - overload condvars so you can use them instead of code references. - support more of the POSIX forms instead of a pure dotted quad for verbatim ip addresses. - AnyEvent::Socket::inet_aton will use AnyEvent::DNS now and not fork anymore. - try very hard not to freeze on broken windows perls. - make on_eof optional in AnyEvent::Handle. - support service names in tcp_connect and tcp_server. - work around netbsd/openbsd bug causing unix sockets not to become writable until empty. - only make a dummy read for error detection when getpeername returns ENOTCONN. - defend AnyEvent::Util::inet_aton against Coro::LWP brutal override. - new AnyEvent::Guard::cancel. 3.5 Sat May 17 23:17:14 CEST 2008 - gracefully deal with systems not defining CLOCK_MONOTONIC (as opposed to not supporting the clock itself, which worked in 3.41). - added AnyEvent::Util::tcp_connect and AnyEvent::Util::tcp_server helpers, to replace the ill-designed AnyEvent::Socket class. - added some examples (eg/connect, eg/handle). - added AnyEvent::Util::guard. - AnyEvent::Util now exports most of its functions. - fixed a bug in *_read_chunk, where the callback was called with $self as first and second argument. - simplified and fixed regex handling in AnyEvent::Handle::*_read_line. - fix manpage condvars examples to use new syntax. - considerably improve inet_aton with EV::ADNS backend to support cname chains (common dns configuration bug, e.g. with www.google.de) and aaaa records if no a record could be found. 3.41 Sun May 11 19:53:13 CEST 2008 - work around a bug in perl 5.8.8's local. Reported by Yi Ma Mao. 3.4 Sun May 11 00:29:25 CEST 2008 - complete re-implementation of condvars with a hopefully much mroe useful API (backward compatible functions exist but are undocumented). - AnyEvent::Handle fully rewritten with a hopefully more powerful API (still subject to change). - take advantage of CLOCK_MONOTONIC, if available, in AnyEvent::Impl::Perl. - provide AnyEvent::post_detect and @AnyEvent::post_detect, which allows module authors to avoid forcing event loop detection. (used by Coro::AIO, Coro::BDB, Coro::AnyEvent for example). - remove coro backends: Coro now provides generic support for AnyEvent via Coro::AnyEvent. 3.3 Mon Apr 28 09:51:06 CEST 2008 - added AnyEvent::Handle, AnyEvent::Socket and AnyEvent::Util modules. - fix a bug in the pure perl backend that kept watchers alive when multiple watchers were registered for the same fh/poll combo. - add a benchmark section showing AnyEvent overhead and comparing the different event loops with each other. - prefer pure perl over tk when autoprobing, as it's about as fast, but doesn't crash with many watchers. - declare Qt support non-experimental. - clarify the confusing section about the file descriptor being kept alive. - document the race between loading of an event module and child processes exiting. - support POE as "backend" (with some caveats, POE is not generic enough, and darn slow). - support Wx and Prima through POE. - optimise perl backend to use 20% less memory and take advantage of typical timeout behaviour. It can now compete with select/poll-based C event loops in most cases (it is usually faster than Event and Glib :). - roughly cut EV memory use in half and increase its speed by 30%, by removing undocumented functionality. Did something similar to other event loops where possible. 3.2 Thu Apr 24 10:10:40 CEST 2008 - do not die when anyevent watchers are destroyed while running callbacks in the pureperl backend (could only happen when two watchers are registered for the same fh/poll combo). - support autoloading for child watchers, was broken in all versions. - implement PERL_ANYEVENT_MODEL env variable. - (experimental) implement interface to the (very crashy/buggy) Event::Lib module. - (experimental) implement interface to the Qt module (cannot be autoprobed). - this release is IO:AnyEvent-proof. 3.12 Tue Apr 22 07:11:46 CEST 2008 - reinstate AUTHOR section that got lost somehow. - do not hang in the testsuite with badly broken perls (activestate, strawberry...), but instead diagnose the problem and continue. - use INT instead of CHLD in an attempt to support broken windows perls better (this decreases the test quality, unfortunately). - do not send the signal to the process group (no problem for CHLD, bad for INT :). 3.11 Sat Apr 19 06:57:31 CEST 2008 - major documentation rework. - document the fact that child watchers only watch for zombies. - fix the child watcher example. 3.1 Wed Apr 16 17:09:01 CEST 2008 - work around recurring bugs in Tk by dup'ing filehandles, the only method with good success chances on Tk (the bugs apparently don't get fixed anytime soon). - lift the restriction of only one watcher per fh direction (as the Tk bug workaround also lifts it and only Tk imposed such strong limits). - changed probe order to prefer coro adaptors. - explain why recursion into the event loop is not supported unless the backend supports it (only Coro::EV does without any restrictions...). - add simple manpages for all backend modules. 3.0 Mon Apr 7 21:30:23 CEST 2008 - Coro::Signal changed semantics, roll our own, also cleaning up the Coro implementation in general. - rename Coro backend to CoroEvent. - add some decision helping paragraph to the manpage that should help people to decide whether AnyEvent is the right thing for them.
2008-07-15 22:37:07 +02:00
MAINTAINER= rhaen@NetBSD.org
HOMEPAGE= http://software.schmorp.de/pkg/AnyEvent.html
COMMENT= Simple API for io, timer and completion callbacks
LICENSE= ${PERL5_LICENSE}
PERL5_PACKLIST= auto/AnyEvent/.packlist
# Task::Weaken in perl 5.14
DEPENDS+= p5-Net-SSLeay>=1.33:../../security/p5-Net-SSLeay
DEPENDS+= p5-JSON>=2.09:../../converters/p5-JSON
DEPENDS+= p5-JSON-XS>=2.200:../../converters/p5-JSON-XS
DEPENDS+= p5-EV>=4:../../devel/p5-EV
DEPENDS+= p5-Guard>=1.020:../../devel/p5-Guard
DEPENDS+= p5-Async-Interrupt>=1:../../devel/p5-Async-Interrupt
.include "../../lang/perl5/module.mk"
.include "../../mk/bsd.pkg.mk"