[perl-AnyEvent] Update to 7.0
Paul Howarth
pghmcfc at fedoraproject.org
Thu Apr 26 15:49:55 UTC 2012
commit 9ee0873160cc99ec5265aa08721626713197dc2f
Author: Paul Howarth <paul at city-fan.org>
Date: Thu Apr 26 16:43:55 2012 +0100
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
.gitignore | 6 +--
perl-AnyEvent.spec | 135 ++++++++++++++++++++++++++++++++++++----------------
sources | 2 +-
3 files changed, 96 insertions(+), 47 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 4a9ffec..949d5a2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1 @@
-AnyEvent-5.261.tar.gz
-/AnyEvent-5.271.tar.gz
-/AnyEvent-5.34.tar.gz
-/AnyEvent-6.13.tar.gz
-/AnyEvent-6.14.tar.gz
+/AnyEvent-[0-9.]*.tar.gz
diff --git a/perl-AnyEvent.spec b/perl-AnyEvent.spec
index 242e4a2..daba971 100644
--- a/perl-AnyEvent.spec
+++ b/perl-AnyEvent.spec
@@ -1,48 +1,92 @@
#global subver 1
+# A noarch-turned-arch package should not have debuginfo
+%global debug_package %{nil}
+
Name: perl-AnyEvent
-Version: 6.14
-Release: 2%{?dist}
+Version: 7.0
+Release: 1%{?dist}
Summary: Framework for multiple event loops
-
Group: Development/Libraries
License: GPL+ or Artistic
URL: http://search.cpan.org/dist/AnyEvent/
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
-#BuildArch: noarch
+# Build requirements
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)
-# Needed for test
-BuildRequires: perl(Test::Simple)
-
-# RPM 4.8 style
-%{?filter_setup:
-%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;
-%filter_from_provides /perl(AnyEvent::Impl::Cocoa/d
-%filter_setup
-}
-# RPM 4.9 style
-%global __requires_exclude %{?__requires_exclude:__requires_exclude|}perl(Tk)
-%global __requires_exclude %__requires_exclude|perl(EV)
-%global __requires_exclude %__requires_exclude|perl(Irssi)
-%global __requires_exclude %__requires_exclude|perl(Qt
-%global __requires_exclude %__requires_exclude|perl(AnyEvent::Impl::Cocoa
-%global __requires_exclude %__requires_exclude|perl(Cocoa
-%global __requires_exclude %__requires_exclude|perl(FLTK
-%global __requires_exclude %__requires_exclude|perl(IO::Async::Loop
-%global __provides_exclude %{?__provides_exclude:__provides_exclude|}perl(AnyEvent::Impl::Cocoa
-
-Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+BuildRequires: perl(Event)
+BuildRequires: perl(Event::Lib)
+BuildRequires: perl(Glib) >= 1.210
+BuildRequires: perl(IO::AIO) >= 4.13
+BuildRequires: perl(POE) >= 1.312
+BuildRequires: perl(Tk)
+%endif
+
+# Runtime requires
+Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
+# Optional but recommended
+Requires: perl(Task::Weaken)
+
+# Optional dependencies we don't want to require
+%global optional_deps AnyEvent::AIO
+%global optional_deps %{optional_deps}|Cocoa::EventLoop
+%global optional_deps %{optional_deps}|EV
+%global optional_deps %{optional_deps}|Event
+%global optional_deps %{optional_deps}|Event::Lib
+%global optional_deps %{optional_deps}|EventLoop
+%global optional_deps %{optional_deps}|FLTK
+%global optional_deps %{optional_deps}|Glib
+%global optional_deps %{optional_deps}|IO::AIO
+%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)[)]$
+
%description
-AnyEvent provides an identical interface to multiple event loops. This
-allows module authors to utilise an event loop without forcing module users
-to use the same event loop (as only a single event loop can coexist
-peacefully at any one time).
+AnyEvent provides an identical interface to multiple event loops. This allows
+module authors to utilize an event loop without forcing module users to use the
+same event loop (as multiple event loops cannot coexist peacefully at any one
+time).
%prep
@@ -50,29 +94,23 @@ peacefully at any one time).
%build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
+perl Makefile.PL INSTALLDIRS=vendor
make %{?_smp_mflags}
%install
-rm -rf $RPM_BUILD_ROOT
-make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
+make pure_install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
%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.
export PERL_ANYEVENT_LOOP_TESTS=1
make test
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
%files
-%defattr(-,root,root,-)
%doc Changes COPYING README
%{perl_vendorarch}/AE.pm
%{perl_vendorarch}/AnyEvent*
@@ -80,6 +118,21 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Apr 26 2012 Paul Howarth <paul at 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 at gmail.com> - 6.14-2
- Filter requires perl(FLTK) perl(Cocoa) - rhbz#815496
- Filter perl(IO::Async::Loop) to reintroduce later.
diff --git a/sources b/sources
index dd7c83b..63e168b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-6a10ece9792af37ddc427943d1b3949c AnyEvent-6.14.tar.gz
+af64802330543c2fae3ceedc52370738 AnyEvent-7.0.tar.gz
More information about the scm-commits
mailing list