File perl-AnyEvent.spec of Package perl-AnyEvent

#
# spec file for package perl-AnyEvent
#
# Copyright (c) 2012 SUSE LINUX Products 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 http://bugs.opensuse.org/
#


Name:           perl-AnyEvent
Version:        7.01
Release:        0
%define cpan_name AnyEvent
Summary:        the DBI of event loop programming
License:        GPL-1.0+ or Artistic-1.0
Group:          Development/Libraries/Perl
Url:            http://search.cpan.org/dist/AnyEvent/
Source:         http://www.cpan.org/authors/id/M/ML/MLEHMANN/%{cpan_name}-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  perl
BuildRequires:  perl-macros
#BuildRequires: perl(AnyEvent)
#BuildRequires: perl(AnyEvent::AIO)
#BuildRequires: perl(AnyEvent::Debug)
#BuildRequires: perl(AnyEvent::DNS)
#BuildRequires: perl(AnyEvent::Handle)
#BuildRequires: perl(AnyEvent::Impl::Perl)
#BuildRequires: perl(AnyEvent::Impl::Qt::Io)
#BuildRequires: perl(AnyEvent::Impl::Qt::Timer)
#BuildRequires: perl(AnyEvent::IO)
#BuildRequires: perl(AnyEvent::IO::IOAIO)
#BuildRequires: perl(AnyEvent::IO::Perl)
#BuildRequires: perl(AnyEvent::Log)
#BuildRequires: perl(AnyEvent::Loop)
#BuildRequires: perl(AnyEvent::Socket)
#BuildRequires: perl(AnyEvent::Strict)
#BuildRequires: perl(AnyEvent::TLS)
#BuildRequires: perl(AnyEvent::Util)
#BuildRequires: perl(Cocoa::EventLoop)
#BuildRequires: perl(EV) >= 4.00
#BuildRequires: perl(Event)
#BuildRequires: perl(Event::Lib)
#BuildRequires: perl(FLTK) >= 0.532
#BuildRequires: perl(Glib) >= 1.210
#BuildRequires: perl(Guard)
#BuildRequires: perl(IO::AIO) >= 4.13
#BuildRequires: perl(IO::Async::Loop) >= 0.33
#BuildRequires: perl(Irssi)
#BuildRequires: perl(JSON)
#BuildRequires: perl(JSON::XS)
#BuildRequires: perl(Net::DNS::Resolver)
#BuildRequires: perl(Net::SSLeay)
#BuildRequires: perl(POE)
#BuildRequires: perl(Qt)
#BuildRequires: perl(Qt::isa)
#BuildRequires: perl(Qt::slots)
#BuildRequires: perl(Socket6)
#BuildRequires: perl(Tk)
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
the AnyEvent manpage 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 the Event
manpage 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: the EV manpage, the AnyEvent::Loop
manpage, the Event manpage, the Glib manpage, the Tk manpage, the
Event::Lib manpage, the Qt manpage, the POE manpage. 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 the EV manpage is not available, the
pure-perl the AnyEvent::Loop manpage 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 -print0 | xargs -0 chmod 644

%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
%{__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 COPYING mktest README util

%changelog