Update to 7.0

- Update to 7.0
- Package generates no debuginfo, so avoid creation of debuginfo sub-package
- Add explicit build requirements for the module's needs
- Add build requirements for as much event loop testing as is possible in
  Fedora, breaking potential build dependency cycles by use of the
  %{perl_bootstrap} macro
- Clean up spec for modern rpmbuild:
  - Drop %defattr, redundant since rpm 4.4
  - Use DESTDIR rather than PERL_INSTALL_ROOT
  - Drop buildroot definition and cleaning
  - Drop requires/provides filters for rpm versions prior to 4.9
- Simplify requires/provides filtering
- Explicitly require perl(Task::Weaken) as per upstream recommendation
This commit is contained in:
Paul Howarth 2012-04-26 16:43:55 +01:00
parent e58dcc0ba8
commit 9ee0873160
3 changed files with 95 additions and 46 deletions

6
.gitignore vendored
View File

@ -1,5 +1 @@
AnyEvent-5.261.tar.gz /AnyEvent-[0-9.]*.tar.gz
/AnyEvent-5.271.tar.gz
/AnyEvent-5.34.tar.gz
/AnyEvent-6.13.tar.gz
/AnyEvent-6.14.tar.gz

View File

@ -1,48 +1,92 @@
#global subver 1 #global subver 1
Name: perl-AnyEvent # A noarch-turned-arch package should not have debuginfo
Version: 6.14 %global debug_package %{nil}
Release: 2%{?dist}
Summary: Framework for multiple event loops
Name: perl-AnyEvent
Version: 7.0
Release: 1%{?dist}
Summary: Framework for multiple event loops
Group: Development/Libraries Group: Development/Libraries
License: GPL+ or Artistic License: GPL+ or Artistic
URL: http://search.cpan.org/dist/AnyEvent/ URL: http://search.cpan.org/dist/AnyEvent/
Source0: http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/AnyEvent-%{version}%{?subver}.tar.gz Source0: http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/AnyEvent-%{version}%{?subver}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#FYI this went arch specific since 6.14 # Build requirements
#BuildArch: noarch
BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(ExtUtils::MakeMaker)
#Default recommanded loop
# Module requirements
BuildRequires: perl >= 3:5.8.1
BuildRequires: perl(base)
BuildRequires: perl(Carp)
BuildRequires: perl(Exporter)
BuildRequires: perl(List::Util)
BuildRequires: perl(Scalar::Util)
BuildRequires: perl(Socket)
BuildRequires: perl(Task::Weaken)
BuildRequires: perl(Time::HiRes)
# Test suite requirements
BuildRequires: perl(Net::SSLeay)
BuildRequires: perl(Test::More)
# Event loop testing
#
# Many of these modules require or build-require AnyEvent themselves,
# so don't do event loop testing when bootstrapping
#
# Cocoa and FLTK are not in Fedora/EPEL
# Version of IO::Async::Loop in Fedora is too old
# TODO: BuildRequires: perl(IO::Async::Loop) >= 0.33
# Test suite does not currently test the Qt event loop
%if 0%{!?perl_bootstrap:1}
BuildRequires: perl(AnyEvent::AIO)
BuildRequires: perl(EV) BuildRequires: perl(EV)
# Needed for test BuildRequires: perl(Event)
BuildRequires: perl(Test::Simple) BuildRequires: perl(Event::Lib)
BuildRequires: perl(Glib) >= 1.210
BuildRequires: perl(IO::AIO) >= 4.13
BuildRequires: perl(POE) >= 1.312
BuildRequires: perl(Tk)
%endif
# RPM 4.8 style # Runtime requires
%{?filter_setup: Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
%filter_from_requires /perl(Tk)/d; /perl(EV)/d; /perl(Irssi)/d; /perl(Qt/d; /perl(IO::Async::Loop/d; /perl(AnyEvent::Impl::Qt/d; /perl(FLTK/d; /perl(Cocoa/d; # Optional but recommended
%filter_from_provides /perl(AnyEvent::Impl::Cocoa/d Requires: perl(Task::Weaken)
%filter_setup
} # Optional dependencies we don't want to require
# RPM 4.9 style %global optional_deps AnyEvent::AIO
%global __requires_exclude %{?__requires_exclude:__requires_exclude|}perl(Tk) %global optional_deps %{optional_deps}|Cocoa::EventLoop
%global __requires_exclude %__requires_exclude|perl(EV) %global optional_deps %{optional_deps}|EV
%global __requires_exclude %__requires_exclude|perl(Irssi) %global optional_deps %{optional_deps}|Event
%global __requires_exclude %__requires_exclude|perl(Qt %global optional_deps %{optional_deps}|Event::Lib
%global __requires_exclude %__requires_exclude|perl(AnyEvent::Impl::Cocoa %global optional_deps %{optional_deps}|EventLoop
%global __requires_exclude %__requires_exclude|perl(Cocoa %global optional_deps %{optional_deps}|FLTK
%global __requires_exclude %__requires_exclude|perl(FLTK %global optional_deps %{optional_deps}|Glib
%global __requires_exclude %__requires_exclude|perl(IO::Async::Loop %global optional_deps %{optional_deps}|IO::AIO
%global __provides_exclude %{?__provides_exclude:__provides_exclude|}perl(AnyEvent::Impl::Cocoa %global optional_deps %{optional_deps}|IO::Async::Loop
%global optional_deps %{optional_deps}|Irssi
%global optional_deps %{optional_deps}|POE
%global optional_deps %{optional_deps}|Qt
%global optional_deps %{optional_deps}|Qt::isa
%global optional_deps %{optional_deps}|Qt::slots
%global optional_deps %{optional_deps}|Tk
# Don't include optional dependencies
%global __requires_exclude ^perl[(](%{optional_deps})[)]
# Filter unversioned and bogus provides
# AnyEvent::Impl::Cocoa and AnyEvent::Impl::FLTK are filtered as the required
# underlying modules are not currently available in Fedora
%global __provides_exclude ^perl[(](AnyEvent(::Impl::(Cocoa|FLTK))?|DB)[)]$
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description %description
AnyEvent provides an identical interface to multiple event loops. This AnyEvent provides an identical interface to multiple event loops. This allows
allows module authors to utilise an event loop without forcing module users module authors to utilize an event loop without forcing module users to use the
to use the same event loop (as only a single event loop can coexist same event loop (as multiple event loops cannot coexist peacefully at any one
peacefully at any one time). time).
%prep %prep
@ -50,29 +94,23 @@ peacefully at any one time).
%build %build
%{__perl} Makefile.PL INSTALLDIRS=vendor perl Makefile.PL INSTALLDIRS=vendor
make %{?_smp_mflags} make %{?_smp_mflags}
%install %install
rm -rf $RPM_BUILD_ROOT make pure_install DESTDIR=$RPM_BUILD_ROOT
make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
%check %check
# PERL_ANYEVENT_NET_TESTS shoudn't be set to avoid network tests # PERL_ANYEVENT_NET_TESTS shouldn't be set to avoid network tests
# on our builder. # on our builder.
export PERL_ANYEVENT_LOOP_TESTS=1 export PERL_ANYEVENT_LOOP_TESTS=1
make test make test
%clean
rm -rf $RPM_BUILD_ROOT
%files %files
%defattr(-,root,root,-)
%doc Changes COPYING README %doc Changes COPYING README
%{perl_vendorarch}/AE.pm %{perl_vendorarch}/AE.pm
%{perl_vendorarch}/AnyEvent* %{perl_vendorarch}/AnyEvent*
@ -80,6 +118,21 @@ rm -rf $RPM_BUILD_ROOT
%changelog %changelog
* Thu Apr 26 2012 Paul Howarth <paul@city-fan.org> - 7.0-1
- Update to 7.0
- Package generates no debuginfo, so avoid creation of debuginfo sub-package
- Add explicit build requirements for the module's needs
- Add build requirements for as much event loop testing as is possible in
Fedora, breaking potential build dependency cycles by use of the
%%{perl_bootstrap} macro
- Clean up spec for modern rpmbuild:
- Drop %%defattr, redundant since rpm 4.4
- Use DESTDIR rather than PERL_INSTALL_ROOT
- Drop buildroot definition and cleaning
- Drop requires/provides filters for rpm versions prior to 4.9
- Simplify requires/provides filtering
- Explicitly require perl(Task::Weaken) as per upstream recommendation
* Mon Apr 23 2012 Nicolas Chauvet <kwizart@gmail.com> - 6.14-2 * Mon Apr 23 2012 Nicolas Chauvet <kwizart@gmail.com> - 6.14-2
- Filter requires perl(FLTK) perl(Cocoa) - rhbz#815496 - Filter requires perl(FLTK) perl(Cocoa) - rhbz#815496
- Filter perl(IO::Async::Loop) to reintroduce later. - Filter perl(IO::Async::Loop) to reintroduce later.

View File

@ -1 +1 @@
6a10ece9792af37ddc427943d1b3949c AnyEvent-6.14.tar.gz af64802330543c2fae3ceedc52370738 AnyEvent-7.0.tar.gz