File perl-EV.spec of Package perl-EV

#
# spec file for package perl-EV
#
# Copyright (c) 2011 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-EV
Version:        4.03
Release:        1
License:        GPL+ or Artistic
%define cpan_name EV
Summary:        Interface to libev, a high performance full-featured event loop
Url:            http://search.cpan.org/dist/EV/
Group:          Development/Libraries/Perl
#Source:         http://www.cpan.org/authors/id/M/ML/MLEHMANN/EV-4.03.tar.gz
Source:         %{cpan_name}-%{version}.tar.gz
Source1:        rpmlintrc
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  perl
BuildRequires:  perl-macros
BuildRequires:  perl(common::sense)
Requires:       perl(common::sense)
%{perl_requires}

%description
This module provides an interface to libev (the
http://software.schmorp.de/pkg/libev.html manpage). While the documentation
below is comprehensive, one might also consult the documentation of libev
itself (the http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod manpage or
_perldoc EV::libev_) for more subtle details on watcher semantics or some
discussion on the available backends, or how to force a specific backend
with 'LIBEV_FLAGS', or just about in any case because it has much more
detailed information.

This module is very fast and scalable. It is actually so fast that you can
use it through the the AnyEvent manpage module, stay portable to other
event loops (if you don't rely on any watcher types not available through
it) and still be faster than with any other event loop currently supported
in Perl.

PORTING FROM EV 3.X to 4.X
    EV version 4 introduces a number of incompatible changes summarised
    here. According to the depreciation strategy used by libev, there is a
    compatibility layer in place so programs should continue to run
    unchanged (the XS interface lacks this layer, so programs using that
    one need to be updated).

    This compatibility layer will be switched off in some future release.

    All changes relevant to Perl are renames of symbols, functions and
    methods:

      EV::loop          => EV::run
      EV::LOOP_NONBLOCK => EV::RUN_NOWAIT
      EV::LOOP_ONESHOT  => EV::RUN_ONCE
    
      EV::unloop        => EV::break
      EV::UNLOOP_CANCEL => EV::BREAK_CANCEL
      EV::UNLOOP_ONE    => EV::BREAK_ONE
      EV::UNLOOP_ALL    => EV::BREAK_ALL
    
      EV::TIMEOUT       => EV::TIMER
    
      EV::loop_count    => EV::iteration
      EV::loop_depth    => EV::depth
      EV::loop_verify   => EV::verify

    The loop object methods corresponding to the functions above have been
    similarly renamed.

%prep
%setup -q -n %{cpan_name}-%{version}

%build
%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
%{__make} %{?_smp_mflags}

%check
%{__make} test

%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist

%clean
%{__rm} -rf %{buildroot}

%files -f %{name}.files
%defattr(644,root,root,755)
%doc Changes COPYING README

%changelog
openSUSE Build Service is sponsored by