Sync from SUSE:SLFO:Main perl-AnyEvent revision a2dd910a6c6967a78caf5fbb807a5179

This commit is contained in:
Adrian Schröter 2024-05-03 17:49:21 +02:00
commit 25b441f586
5 changed files with 648 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
AnyEvent-7.17.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

16
cpanspec.yml Normal file
View File

@ -0,0 +1,16 @@
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
# - source1
# - source2
#patches:
# foo.patch: -p1
# bar.patch:
#preamble: |-
# BuildRequires: gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
license: GPL-1.0+ or Artistic-1.0
skip_noarch: 1

506
perl-AnyEvent.changes Normal file
View File

@ -0,0 +1,506 @@
-------------------------------------------------------------------
Wed Sep 18 08:14:03 UTC 2019 - <timueller+perl@suse.de>
- updated to 7.17
see /usr/share/doc/packages/perl-AnyEvent/Changes
TODO: document TCP_*** constants
TODO: add debug/trace logging to some modules
TODO: use the eval-with-cb-call trick also to speed up JSON?
TODO: FAQ: common pitfalls? invoke-before-return
TODO: FAQ: scope-ids? hosts file order?
TODO: AnyEvent::Handle with AnyEvent::IO?
TODO: invalid. and localhost. specialcasing inside AEDNS and not AESocket (rfc6761)
TODO: maybe implement env variable to give hosts precedence
TODO: more formats for parse_ipv6 (single ipv6 address without port, ...p80, ...#80)
TODO: inet_aton maybe pack C4? no, add a comment why not
TODO: socket prepare callbacks, can they easily signal failure as well?
TODO: Олег Г <verdrehung@gmail.com>, empty A record response causes
AnyEvent::resolve_sockaddr to eventually call pack_sockaddr with undef -
broken dns server, but maybe improve the response.
7.17 Wed Sep 18 03:04:49 CEST 2019
- work around antique openssl version in RHEL 7 by formatting
dh parameters differently (reported by several people).
- add t/13_weaken.t.
-------------------------------------------------------------------
Sun Jul 21 11:05:52 UTC 2019 - Stephan Kulow <coolo@suse.com>
- updated to 7.16
see /usr/share/doc/packages/perl-AnyEvent/Changes
-------------------------------------------------------------------
Tue Feb 26 06:02:24 UTC 2019 - Stephan Kulow <coolo@suse.com>
- updated to 7.15
see /usr/share/doc/packages/perl-AnyEvent/Changes
7.15 Tue Feb 26 03:07:42 CET 2019
- INCOMPATIBLE CHANGE: AnyEvent::Handle's tls_detect documentation gave
separate major and minor versions, while code passed only a single
value. This version follows the documentation and now passes separate
major and minor values.
- work around Net::SSLeay not having been ported to openssl 1.1, but many
distributions compiling it against openssl 1.1, which unfortunately
succeeds and results in a very broken module.
- AnyEvent::DNS::dns_unpack now stores the original DNS packet
in the __ member, to allow decoding of undecodable resouce records
containing compressed domian names.
- AnyEvent::Socket::parse_ipv6 would NOT, as advertised, accept ipv4
addresses. It now does and converts them to ipv4 mapped addresses.
- support CAA records, based on patch by Steve Atkins.
- add freenom and cloudflare nameservers as dns fallback.
- AnyEvent::Strict would not properly ward against io watchers
on files when the handle passed was a file descriptor.
- document "internal" variables used by the dns en-/decoder to allow
enterprising users to extend them in a semi-official way.
-------------------------------------------------------------------
Sun Jun 25 05:02:30 UTC 2017 - coolo@suse.com
- updated to 7.14
see /usr/share/doc/packages/perl-AnyEvent/Changes
-------------------------------------------------------------------
Mon Sep 19 05:00:57 UTC 2016 - coolo@suse.com
- updated to 7.13
see /usr/share/doc/packages/perl-AnyEvent/Changes
-------------------------------------------------------------------
Sun Sep 18 05:01:01 UTC 2016 - coolo@suse.com
- updated to 7.13
see /usr/share/doc/packages/perl-AnyEvent/Changes
7.13 Sat Sep 17 04:31:49 CEST 2016
- Only call tlsext_host_name for non-empty common names (reported
by Maxime Soulé).
- log a (single) notice message if SNI is not supported.
- upgrade to UTS-46:9.0.0 draft and switch to non-transitional
behaviour, beating thunderbird, ie, edge, chrome and safari to it :)
(see also https://bugzilla.mozilla.org/show_bug.cgi?id=1218179)
- turns out the UTS-46 IDNA testcase failures were indeed bugs in the
testcases and the specification and not in the code - the post-9.0.0
unicode files have all known problems fixed, so finally the AnyEvent
IDNA implementation can pass the full IDNA testsuite - without needing
a single fix :)
- guarantee (and document) that condvar callbacks will be removed
on invocation - important to avoid circular references.
-------------------------------------------------------------------
Sun Feb 7 09:33:07 UTC 2016 - coolo@suse.com
- updated to 7.12
see /usr/share/doc/packages/perl-AnyEvent/Changes
-------------------------------------------------------------------
Sun Sep 20 15:35:05 UTC 2015 - coolo@suse.com
- updated to 7.11
see /usr/share/doc/packages/perl-AnyEvent/Changes
TODO: more formats for parse_ipv6 (single ipv6 address without port, ...p80, ...#80)
7.11 Thu Jul 16 14:36:00 CEST 2015
- AnyEvent::Socket::parse_ipv6 could accept malformed ipv6
addresses (extra "::" at end and similar cases).
- add a more explicit warning to AnyEvent::Handle that it doesn't
work on files, people keep getting confused.
- new function AnyEvent::Socket::tcp_bind.
- new functions AnyEvent::fh_block and AnyEvent::fh_unblock.
- aligned ipv6 address formatting with RFC 5952 (by not shortening
a single :0: to ::).
- added stability canary support.
-------------------------------------------------------------------
Sun May 3 08:15:59 UTC 2015 - coolo@suse.com
- updated to 7.09
see /usr/share/doc/packages/perl-AnyEvent/Changes
TODO: hosts always read? that's not expected
7.09 Sat May 2 16:38:53 CEST 2015
- AnyEvent::Debug called an internal function (AnyEvent::Log::ft)
that was renamed to AnyEvent::Log:format_time. uinder its old name
(analyzed by Michael Stovenour).
- update AnyEvent::DNS fallback resolver addresses:
seems google effectively killed most other free dns resolvers,
so remove them, but add cable and wireless (ecrc) since it was
stable for 20 years or so, official or not, and there should be
an alternative to google.
- perl5porters broke windows error codes in 5.20, and mapped
WSAEWOULDBLOCK on the (different) EWOULDBLOCK error code, and
WSAEINPROGRESS into the incompatible ERINPROGRESS code, probably
because they were so cool. They probably broke other error codes
for no reason, too, but I didn't care for checking, it's too
depressing. This version only works around the WSAEWOULDBLOCK
issue, because I don't have a nice way to work around the
WSAEINPROGRESS bug.
-------------------------------------------------------------------
Tue Apr 14 08:46:22 UTC 2015 - coolo@suse.com
- updated to 7.08
see /usr/share/doc/packages/perl-AnyEvent/Changes
7.08 Wed Dec 10 05:27:17 CET 2014
- work around a newly introduced bug in Socket 2.011 (an
errornous sun_length check) (analyzed by Maxime Soulé).
- AnyEvent::TLS didn't load (but refer to) AnyEvent::Socket
(analyzed by Ben Magistro).
- AnyEvent::Strict will now confess, not croak. This is in line with
it being a development/debugging tool.
- work around a number of libglib bugs (debug builds of libglib enforce
certain undocumented behaviour patterns such as not being able to
remove a child watch source after it has fired, which we will try
to emulate to avoid "criticals". what where they thinking...).
- mention json security issues in AnyEvent::Handle, now that Douglas
Crockford has foolishly and incompatibly changed JSON.
- changed default dns resolver "max_outstanding" value from 1 to 10,
the latter beinfg the intended value all along
(reported by Ilya Chesnokov).
- added new "AnyEvent::Impl::UV" interface module to the UV event lib
(written by Mike Lowell).
-------------------------------------------------------------------
Sun Feb 9 13:32:23 UTC 2014 - coolo@suse.com
- updated to 7.07
- the documentation for custom tls verify schemes was wrong. make it agree
with the code (reported by Maxime Soulé).
- added cbor read and write types to AnyEvent::Handle (using CBOR::XS).
- work around an API change in openssl that could cause wrong tls connection
aborts, likely on windows only (analyzed by sten).
- calling AnyEvent->now_update with AnyEvent::Impl::Perl caused an
endless loop (reported by Dietrich Rebmann).
- add tlsv1_1 and tlsv1_2 protocols to AnyEvent::TLS
(patch by Maxime Soulé).
- document AnyEvent::Impl::IOAsync::set_loop and
$AnyEvent::Impl::IOAsync::LOOP. Though only documented now, this
functionality has _always_ been available.
- force a toplevel domain name in t/81_hosts.t (analyzed by
David Jack Wange Olrik).
- document that AnyEvent::Log uses AnyEvent::IO.
- warn about AnyEvent::Filesys::Notify performance.
- praise the joys of AnyEvent::Fork::*.
- time for an =encoding directive.
- do no longer use JSON to create a default json coder, use
JSON::XS or JSON::PP directly.
-------------------------------------------------------------------
Fri Oct 4 09:15:29 UTC 2013 - coolo@suse.com
- updated to 7.05
- uts46data.pl couldn't be found due to wrong naming of the file
(reported by Fulko Hew).
- handle lone \015's properly in AE::Handle's default line read
(reported by various people).
- untaint ip addresses found in /etc/hosts (patch by José Micó).
- the memleak fix in 7.03 caused resolving via /etc/hosts to always
fail on first use (reported and testcase by Andrew Whatson).
- expose AnyEvent::Log::format_time, and allow users to redefine it.
- expose AnyEvent::Log::default_format, and allow redefinition.
- expose AnyEvent::Log::fatal_exit, to allow redefinition.
- AnyEvent::Debug shell can now run coro shell commands, if available.
- t/63* tests were wrongly in MANIFEST.
- kernel.org's finger server went MIA, switch to freebsd.org and
icculus.org.
- clarify that IO::AIO and AnyEvent::AIO are needed for AnyEvent::IO
to function asynchronously (reported by Daniel Carosone).
- hard-disable $^W in most tests, it generates too much garbage output.
- use a (hopefully) more future-proof method to emulate common::sense.
- upgrade to UTS-46:6.2.0.
- switch to INSTLIB from INSTLIBDIR, as INSTLIBDIR was wrongly
documented. should not affect anything.
-------------------------------------------------------------------
Mon Jun 3 11:24:29 UTC 2013 - coolo@suse.com
- updated to 7.04
- debugging code left in.
- AnyEvent::Socket::inet_aton did not work when dns resolution was
used to find the addresses (analyzed and patch by Maxime Soulé).
- fix a memory leak in the /etc/hosts lookup code when hosts don't
resolve and are not in hosts (analyzed by sten).
-------------------------------------------------------------------
Tue Sep 4 13:00:21 UTC 2012 - coolo@suse.com
- updated to 7.02
- AnyEvent::Util::run_cmd could block indefinitely (analyzed and test
program by Yorhel).
- verified that AnyEvent::Socket follows RFC5952.
- try to parse "ADDR#PORT" in addition to "ADDR PORT".
-------------------------------------------------------------------
Wed May 30 07:48:20 UTC 2012 - coolo@suse.com
- it's not noarch
-------------------------------------------------------------------
Fri May 25 03:22:50 UTC 2012 - coolo@suse.com
- updated to 7.01
- fail with EPROTO in AnyEvent::Handle wqhen TLS is requested but
not available, instead of throwing an exception.
- use File::Spec to get the tmpdir in t/*, to avoid needless
failures on (most, not mine :) windows boxes.
- new handle read types: tls_detect and tls_autostart.
- child watchers are broken in POE 1.352 (also many earlier
versions) and there seems to be no way to work around it, as POE
itself is inherently racy. Document this regression and add a delay
in t/68_poe_03_child.t for the time being.
- new module AnyEvent::IO, that is a frontend to either a pure-perl
synchronous I/O implementation (AnyEvent::IO::Perl), or to the
asynchronous I/O extension IO::AIO (AnyEvent::IO::IOAIO).
- load /etc/hosts only when DNS has no answer.
- stat /etc/hosts on every access and reload it if it changed.
- load /etc/hosts via AnyEvent::IO - potentially asynchronous.
- fix a buggy croak in the dh parameter reading in AnyEvent::TLS.
- AnyEvent::Log log_to_file and log_to_path now use AnyEvent::IO. As
a side effect, they now use true appending as opposed to libc
appending, and the file might not have been opened when the function
returns.
- the default logging level was not properly documented in a variety of
places, this has hopefully been rectified.
- updated uts46data.pl for unicode 6.1.0.
- made log messages generated by AnyEvent submodules not
include the package name anymore, as it will be logged
by default already.
- upgrade to the trick used by common-sense 3.5 to work
around extra warning torture/breakage under perl 5.15.x.
- log messages by anyevent are now ucfirst, are usually full
sentences and do no longer include the package name.
- the storable read type would sometimes throw an exception instead
of causing EBADMSG (analyzed by Maxime Soulé).
- work around a bug in openssl 1.0.1 which enforces a minimum rsa
keysize (reported by Paul Howarth).
- documented Rocco fabricating statements about AnyEvent and me.
-------------------------------------------------------------------
Fri Feb 10 22:59:49 UTC 2012 - coolo@suse.com
- updated to 6.14
- AnyEvent::Impl::Tk was broken due to a mysterious "die" inside,
probably an editing mistake (reported by Darin McBride).
- 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).
- $! was clobbered by subsequent calls in tcp_connect, due to
the postpone not saving/restoring it (analyzed by Richard Garnish).
- 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.
-------------------------------------------------------------------
Fri Nov 18 13:45:02 UTC 2011 - coolo@suse.com
- update to 6.1
- 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.
... see Changes
-------------------------------------------------------------------
Mon Sep 19 08:04:46 UTC 2011 - coolo@suse.com
- updated to 6.02
- 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.
... for more see Changes
-------------------------------------------------------------------
Thu Aug 25 15:42:54 UTC 2011 - chris@computersalat.de
- fix deps
o build for RHEL, CentoS, SLE_10 (Unknown tag: Recommends)
- cpanspec
-------------------------------------------------------------------
Sat Jun 11 22:03:01 UTC 2011 - pascal.bleser@opensuse.org
- switch to bm.pl, as cpanspec created an RPM that didn't provide
perl(AnyEvent)
-------------------------------------------------------------------
Sat Jun 11 01:27:13 UTC 2011 - pascal.bleser@opensuse.org
- update to 5.34:
* AE::TLS didn't support both cert_file and key at the same time, due to some
copy&paste bug
* improve AE::Handle timeout documentation slightly
- changes from 5.33:
* AnyEvent::Handle on_connect_error - do not try to destroy a handle object
when it's already gone
* update idna algorithm(s) to UTS#46 version 6.0.0
* preserve trailing dot in idn_to_ascii - testsuite says to preserve, uts46
says it's an error, and testsuite makes more sense
* remove leading dots in idn_to_ascii - testsuite says to remove, uts46 says
it's an error, and testsuite makes more sense
* fixed a bug in idn ignored character processing
- changes from 5.31:
* work around a POE bug where POE would first poll for new events and invoke
handlers BEFORE handling the message queue
* fix parsing of "domain" statement in resolv.conf
* stop_read now does just that in TLS mode; see its documentation for caveats
* update to common::sense 3.4 warning set (some warnings in perl impose an
arbitrary 32kb limit on regex matches, which affects AnyEvent::Handle)
* AE::Handle had a broken rbuf_max method and missing wbuf_max method
* new experimental AE::Handle::resettls method
- changes from 5.3:
* major IOAsync patch by Paul Evans - 0.33 is required, as the major issues
with IO::Async have been solved in that version, including the availabilty
of a default loop!
* implement new wbuf_max parameter for AnyEvent::Handle
* added Cocoa::EventLoop backend
* set CLOEXEC flag on parent-side fd's in AnyEvent::Util::run_cmd, to avoid
leaking them to any child processes
* try to force files into the arch-dependend lib directory, for the
half-"turly obsessive compulsive person"(s) that depend on it
- changes from 5.29:
* convert EV backend to EV 4.00 API (so better upgrade EV too)
* AE::Handle: implement dynamic read_size adjustment, add max_read_size
parameter, reduce default read_size to 2048
* add some FAQ entries for servers and/or on_eof vs. on_error
* reduce memory usage slightly when connect was used in AE::Handle
* work around more segfaults in Tk
* document tls_ctx => undef as valid
* detect WNOHANG value at compiletime
* include some probably linux-only support for building AnyEvent as part of
the perl core
* make AnyEvent::Strict truly optional (in case somebody builds a minimal perl...)
- changes from 5.28:
* due to a glitch, AnyEvent's internal getprotobyname wasn't actually used in
tcp_server
* implement AnyEvent::CondVar->new method, which was documented but missing
* support autoloading of read types in unshift_read
* AnyEvent::Strict: do the test for invalid fh arguments differently,
resulting in more informative error messages
* new AnyEvent::FAQ manpage
* clarify that you can actually call push_read etc. in on_read
* put keys and certs in /tmp, not into the current directory and document
this in the SECURITY CONSIDERATIONS sections of AnyEvent::TLS
* support ";" as resolv.conf comment character in AnyEvent::DNS
* AnyEvent::Handle now croaks when negative timeouts are passed
* add a shitload of TCP_xxx sockopt name constants to AnyEvent::Util,
undocumented, but who knows when they might come in handy
-------------------------------------------------------------------
Wed Dec 1 13:30:36 UTC 2010 - coolo@novell.com
- switch to perl_requires macro
-------------------------------------------------------------------
Tue Jul 6 08:39:05 UTC 2010 - chris@computersalat.de
- update to 5.271
- backport to perl 5.8.x.
- 5.27 Sun Jun 6 12:12:05 CEST 2010
- postpone differently in AnyEvent::Socket now, as
when not, canceling the connection attempt might fail
(found by Felix Antonius Wilhelm Ostmann).
- explicitly check for non-stream sockets in AE::Handle, too many
clueless people fell into the trap of this somehow working.
- simplified and reworked the "OTHER MODULES" section.
- better/more condvar examples.
- spec created by cpanspec 1.78
-------------------------------------------------------------------
Wed May 5 13:51:49 UTC 2010 - lnussel@suse.de
- don't package empty vendorarch directory
-------------------------------------------------------------------
Thu Apr 29 12:21:30 UTC 2010 - lnussel@suse.de
- make noarch
-------------------------------------------------------------------
Thu Apr 29 08:35:06 UTC 2010 - lnussel@suse.de
- new version 2.261
- AF_INET6 was not properly used from Socket6 during configuration
time (found by Andy Grundman).
- don't generate spurious readyness notifications when select
returns EINTR in the pure perl backend (analysed and testcase
by Bas Denissen).
- give same examples in SYNOPSIS sections of AnyEvent and AE.
- provider faster implementations for AE::time/now/now_update for
EV and Perl backends.
- provide faster AE::cv and AE::time implementations for all
backends.
- no longer support lower/mixed-case signal names (this was
never documented nor universally supported).
- some more memory-optimisations, and somewhat less messy
code to cope with both AnyEvent and AE APIs.
-------------------------------------------------------------------
Tue Mar 16 10:01:17 UTC 2010 - lnussel@suse.de
- new version 5.251
- fix a race condition in AnyEvent::Handle that would cause
a "bio_read: unsupported method" error (in _another_
ssl connection) after user code threw an exception.
- added AnyEvent::Handle->destroyed method.
- speed up AnyEvent::Socket::format_address and ::format_ipv6.
- the AnyEvent::Util::fh_nonblocking function worked only
by lucky accident on win32.
- smaller and faster AnyEvent::Util::fh_nonblocking.
- when the (required!) Time::HiRes module is missing, AnyEvent
did not fall back to built-in time properly.
- do not load Fcntl at runtime, saving memory and loading time.
- precompile a number of constants and use them instead of runtime
detection and eval.
- free detection code after detection and similar memory optimisations.
- Perl backend timer interval best effort drift has been improved
(ame algorithm as EV).
- update unicode idna mapping table.
-------------------------------------------------------------------
Fri Feb 26 14:38:38 UTC 2010 - lnussel@suse.de
- new version 5.24
- JSON dependency optional
- IDN support
- IPv6 support
-------------------------------------------------------------------
Fri Sep 4 19:39:55 CEST 2009 - chris@computersalat.de
- spec mods
o added header
o added perl-macros
o cleanup
- fixed deps
o Requires
perl = perl_version
perl(JSON) >= 2.09
o added Recommends
perl(EV) >= 3.4
perl(JSON::XS) >= 2.2
perl(Async::Interrupt) >= 1.0
perl(Net::SLeay) >= 1.33
perl(Guard) >= 1.02
-------------------------------------------------------------------
Thu Jun 11 23:00:41 CEST 2009 - jw@novell.com
- initial build of AnyEvent-4.352.tar.gz

100
perl-AnyEvent.spec Normal file
View File

@ -0,0 +1,100 @@
#
# spec file for package perl-AnyEvent
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: perl-AnyEvent
Version: 7.17
Release: 0
#Upstream: CHECK(Artistic-1.0 or GPL-1.0-or-later)
%define cpan_name AnyEvent
Summary: The DBI of event loop programming
License: GPL-1.0-or-later OR Artistic-1.0
Group: Development/Libraries/Perl
Url: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
# MANUAL
#BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Canary::Stability)
Recommends: perl(Async::Interrupt) >= 1
Recommends: perl(EV) >= 4
Recommends: perl(Guard) >= 1.02
Recommends: perl(JSON) >= 2.09
Recommends: perl(JSON::XS) >= 2.2
Recommends: perl(Net::SSLeay) >= 1.33
Recommends: perl(Task::Weaken)
%{perl_requires}
%description
AnyEvent provides a uniform interface to various event loops. This allows
module authors to use event loop functionality without forcing module users
to use a specific event loop implementation (since more than one event loop
cannot coexist peacefully).
The interface itself is vaguely similar, but not identical to the Event
module.
During the first call of any watcher-creation method, the module tries to
detect the currently loaded event loop by probing whether one of the
following modules is already loaded: EV, AnyEvent::Loop, Event, Glib, Tk,
Event::Lib, Qt, POE. The first one found is used. If none are detected, the
module tries to load the first four modules in the order given; but note
that if EV is not available, the pure-perl AnyEvent::Loop should always
work, so the other two are not normally tried.
Because AnyEvent first checks for modules that are already loaded, loading
an event model explicitly before first using AnyEvent will likely make that
model the default. For example:
use Tk;
use AnyEvent;
# .. AnyEvent will likely default to Tk
The _likely_ means that, if any module loads another event model and starts
using it, all bets are off - this case should be very rare though, as very
few modules hardcode event loops without announcing this very loudly.
The pure-perl implementation of AnyEvent is called 'AnyEvent::Loop'. Like
other event modules you can load it explicitly and enjoy the high
availability of that event loop :)
%prep
%setup -q -n %{cpan_name}-%{version}
find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644
%build
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
make %{?_smp_mflags}
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes mktest README util
%license COPYING
%changelog