Would you mind building perl-Net-Twitter for EPEL so we can use it in CentOS?
Hi Niek, The following packages are missing on EPEL6 so it can't build: Error: No Package found for perl(MooseX::Aliases) Error: No Package found for perl(MooseX::Role::Parameterized) Error: No Package found for perl(Net::OAuth) >= 0.25 Feel free to open tickets with the maintainers of those packages, and link them here as blockers. I will be happy to include perl-Net-Twitter once that is done.
So it looks like perl-Module-Build also needs an update before this will build properly. http://kojipkgs.fedoraproject.org/work/tasks/4101/6674101/build.log
Module::Build is not distributed by EPEL. The upgrade is improbable. You can try to port the Net-Twitter to older Module::Build. Maybe the version constrain in Build.Pl is just an artificial one. Upstream sometimes does not know what he does. Or you can try perl-Net-Twitter-Lite instead.
The Module::Build requirement isn't real and can easily be patched around. However, the module appears to be incompatible with the old version of Moose in EL-6, and even the 3.18004 version from the f16 branch fails: # Testing Net::Twitter 3.18004, Perl 5.010001, /usr/bin/perl t/00_load.t .................... ok Couldn't load class (Net::Twitter::Role::Legacy) because: Couldn't load class (Net::Twitter::Role::API::REST) because: Roles do not currently support ARRAY references for around method modifiers at /usr/lib64/perl5/vendor_perl/Moose/Exporter.pm line 322 Compilation failed in require at /usr/lib64/perl5/vendor_perl/Class/MOP.pm line 114. at /usr/lib64/perl5/vendor_perl/Class/MOP.pm line 120 Class::MOP::__ANON__('Roles do not currently support ARRAY references for around me...') called at /usr/share/perl5/vendor_perl/Try/Tiny.pm line 100 Try::Tiny::try('CODE(0x2636168)', 'Try::Tiny::Catch=REF(0x2f1b1a0)') called at /usr/lib64/perl5/vendor_perl/Class/MOP.pm line 125 Class::MOP::load_first_existing_class('Net::Twitter::Role::API::REST') called at /usr/lib64/perl5/vendor_perl/Class/MOP.pm line 137 Class::MOP::load_class('Net::Twitter::Role::API::REST', undef) called at /usr/lib64/perl5/vendor_perl/Moose/Util.pm line 112 Moose::Util::_apply_all_roles('Moose::Meta::Role=HASH(0x36dda40)', undef, 'Net::Twitter::Role::API::REST', 'Net::Twitter::Role::API::Search', 'Net::Twitter::Role::API::TwitterVision', 'Net::Twitter::Role::WrapError') called at /usr/lib64/perl5/vendor_perl/Moose/Util.pm line 90 Moose::Util::apply_all_roles('Moose::Meta::Role=HASH(0x36dda40)', 'Net::Twitter::Role::API::REST', 'Net::Twitter::Role::API::Search', 'Net::Twitter::Role::API::TwitterVision', 'Net::Twitter::Role::WrapError') called at /usr/lib64/perl5/vendor_perl/Moose/Role.pm line 26 Moose::Role::with('Moose::Meta::Role=HASH(0x36dda40)', 'Net::Twitter::Role::API::REST', 'Net::Twitter::Role::API::Search', 'Net::Twitter::Role::API::TwitterVision', 'Net::Twitter::Role::WrapError') called at /usr/lib64/perl5/vendor_perl/Moose/Exporter.pm line 322 Moose::Role::with('Net::Twitter::Role::API::REST', 'Net::Twitter::Role::API::Search', 'Net::Twitter::Role::API::TwitterVision', 'Net::Twitter::Role::WrapError') called at /builddir/build/BUILD/Net-Twitter-3.18004/blib/lib/Net/Twitter/Role/Legacy.pm line 6 require Net/Twitter/Role/Legacy.pm called at /usr/lib64/perl5/vendor_perl/Class/MOP.pm line 114 Class::MOP::__ANON__() called at /usr/share/perl5/vendor_perl/Try/Tiny.pm line 71 eval {...} called at /usr/share/perl5/vendor_perl/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x21e56b0)', 'Try::Tiny::Catch=REF(0x36bd598)') called at /usr/lib64/perl5/vendor_perl/Class/MOP.pm line 125 Class::MOP::load_first_existing_class('Net::Twitter::Role::Legacy') called at /usr/lib64/perl5/vendor_perl/Class/MOP.pm line 137 Class::MOP::load_class('Net::Twitter::Role::Legacy') called at /builddir/build/BUILD/Net-Twitter-3.18004/blib/lib/Net/Twitter.pm line 48 Net::Twitter::_resolve_traits('Net::Twitter', 'Legacy') called at /builddir/build/BUILD/Net-Twitter-3.18004/blib/lib/Net/Twitter.pm line 131 Net::Twitter::new('Net::Twitter', 'legacy', 1) called at t/01_basic.t line 69 Compilation failed in require at /usr/lib64/perl5/vendor_perl/Class/MOP.pm line 114. at /usr/lib64/perl5/vendor_perl/Class/MOP.pm line 120 Class::MOP::__ANON__('Couldn\'t load class (Net::Twitter::Role::API::REST) because:...') called at /usr/share/perl5/vendor_perl/Try/Tiny.pm line 100 Try::Tiny::try('CODE(0x21e56b0)', 'Try::Tiny::Catch=REF(0x36bd598)') called at /usr/lib64/perl5/vendor_perl/Class/MOP.pm line 125 Class::MOP::load_first_existing_class('Net::Twitter::Role::Legacy') called at /usr/lib64/perl5/vendor_perl/Class/MOP.pm line 137 Class::MOP::load_class('Net::Twitter::Role::Legacy') called at /builddir/build/BUILD/Net-Twitter-3.18004/blib/lib/Net/Twitter.pm line 48 Net::Twitter::_resolve_traits('Net::Twitter', 'Legacy') called at /builddir/build/BUILD/Net-Twitter-3.18004/blib/lib/Net/Twitter.pm line 131 Net::Twitter::new('Net::Twitter', 'legacy', 1) called at t/01_basic.t line 69 # Looks like you planned 338 tests but ran 1. # Looks like your test exited with 255 just after 1. t/01_basic.t ................... Dubious, test returned 255 (wstat 65280, 0xff00) It's possible that an even older version might pass its test suite but it's debatable whether that would actually be useful in conjunction with today's Twitter. This is the sort of module that needs to be kept up to date to work with the service it's designed to communicate with.
Based on this feedback about the upstream deps I am going to mark this as WONTFIX.