[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