|
|
|
Name: perl-MCE
|
|
|
|
Version: 1.814
|
|
|
|
Release: 1%{?dist}
|
|
|
|
Summary: Many-core Engine for Perl providing parallel processing capabilities
|
|
|
|
License: GPL+ or Artistic
|
|
|
|
URL: http://search.cpan.org/dist/MCE/
|
|
|
|
Source0: http://www.cpan.org/authors/id/M/MA/MARIOROY/MCE-%{version}.tar.gz
|
|
|
|
Patch0: MCE-1.600-Fix-sharp-bang-line.patch
|
|
|
|
Patch1: MCE-1.812-Sereal-deps.patch
|
|
|
|
BuildArch: noarch
|
|
|
|
# Module Build
|
|
|
|
BuildRequires: coreutils
|
|
|
|
BuildRequires: findutils
|
|
|
|
BuildRequires: make
|
|
|
|
BuildRequires: perl
|
|
|
|
BuildRequires: perl-generators
|
|
|
|
BuildRequires: perl(ExtUtils::MakeMaker)
|
|
|
|
BuildRequires: perl(strict)
|
|
|
|
BuildRequires: perl(warnings)
|
|
|
|
# Module Runtime
|
|
|
|
BuildRequires: perl(base)
|
|
|
|
BuildRequires: perl(bytes)
|
|
|
|
BuildRequires: perl(Carp)
|
|
|
|
BuildRequires: perl(constant)
|
|
|
|
BuildRequires: perl(Exporter)
|
|
|
|
BuildRequires: perl(Fcntl)
|
|
|
|
BuildRequires: perl(File::Path)
|
|
|
|
BuildRequires: perl(IO::Handle)
|
|
|
|
BuildRequires: perl(Scalar::Util)
|
|
|
|
BuildRequires: perl(Socket)
|
|
|
|
BuildRequires: perl(Storable) >= 2.04
|
|
|
|
BuildRequires: perl(Symbol)
|
|
|
|
BuildRequires: perl(threads::shared)
|
|
|
|
BuildRequires: perl(Time::HiRes)
|
|
|
|
# Script Runtime
|
|
|
|
BuildRequires: perl(Cwd)
|
|
|
|
BuildRequires: perl(Getopt::Long)
|
|
|
|
BuildRequires: perl(lib)
|
|
|
|
BuildRequires: perl(vars)
|
|
|
|
# Test Suite
|
|
|
|
BuildRequires: perl(Test::More) >= 0.88
|
|
|
|
# Dependencies
|
|
|
|
Requires: perl(:MODULE_COMPAT_%(eval "$(perl -V:version)"; echo $version))
|
|
|
|
Requires: perl(IO::Handle)
|
|
|
|
Requires: perl(Storable) >= 2.04
|
|
|
|
Requires: perl(threads::shared)
|
|
|
|
|
|
|
|
# MCE prefers to use Sereal if available
|
|
|
|
%if 0%{?fedora} > 23 || 0%{?rhel} > 6
|
|
|
|
BuildRequires: perl(Sereal) >= 3.015
|
|
|
|
Requires: perl(Sereal) >= 3.015
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%description
|
|
|
|
Many-core Engine (MCE) for Perl helps enable a new level of performance by
|
|
|
|
maximizing all available cores. MCE spawns a pool of workers and therefore
|
|
|
|
does not fork a new process per each element of data. Instead, MCE follows
|
|
|
|
a bank queuing model. Imagine the line being the data and bank-tellers the
|
|
|
|
parallel workers. MCE enhances that model by adding the ability to chunk
|
|
|
|
the next n elements from the input stream to the next available worker.
|
|
|
|
|
|
|
|
%package tools
|
|
|
|
Summary: Many-core Engine command line tools
|
|
|
|
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
|
|
|
Requires: grep
|
|
|
|
|
|
|
|
%description tools
|
|
|
|
This package delivers command line tools like mce_grep(1) that utilize
|
|
|
|
the Many-core Engine (MCE) Perl library.
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%setup -q -n MCE-%{version}
|
|
|
|
|
|
|
|
# Fix sharp-bang line
|
|
|
|
%patch0 -p1
|
|
|
|
|
|
|
|
# Avoid hard dependencies on Sereal
|
|
|
|
%patch1
|
|
|
|
|
|
|
|
%build
|
|
|
|
MCE_INSTALL_TOOLS=1 perl Makefile.PL INSTALLDIRS=vendor
|
|
|
|
make %{?_smp_mflags}
|
|
|
|
|
|
|
|
%install
|
|
|
|
make pure_install DESTDIR=%{buildroot}
|
|
|
|
find %{buildroot} -type f -name .packlist -delete
|
|
|
|
%{_fixperms} -c %{buildroot}
|
|
|
|
|
|
|
|
%check
|
|
|
|
make test
|
|
|
|
|
|
|
|
%files
|
|
|
|
%if 0%{?_licensedir:1}
|
|
|
|
%license LICENSE Copying
|
|
|
|
%else
|
|
|
|
%doc LICENSE Copying
|
|
|
|
%endif
|
|
|
|
%doc Changes Credits README.md
|
|
|
|
%doc %{perl_vendorlib}/MCE.pod
|
|
|
|
%doc %{perl_vendorlib}/MCE/Core.pod
|
|
|
|
%doc %{perl_vendorlib}/MCE/Examples.pod
|
|
|
|
%dir %{perl_vendorlib}/MCE/
|
|
|
|
%dir %{perl_vendorlib}/MCE/Core/
|
|
|
|
%{perl_vendorlib}/MCE.pm
|
|
|
|
%{perl_vendorlib}/MCE/Candy.pm
|
|
|
|
%{perl_vendorlib}/MCE/Core/Input/
|
|
|
|
%{perl_vendorlib}/MCE/Core/Manager.pm
|
|
|
|
%{perl_vendorlib}/MCE/Core/Validation.pm
|
|
|
|
%{perl_vendorlib}/MCE/Core/Worker.pm
|
|
|
|
%{perl_vendorlib}/MCE/Flow.pm
|
|
|
|
%{perl_vendorlib}/MCE/Grep.pm
|
|
|
|
%{perl_vendorlib}/MCE/Loop.pm
|
|
|
|
%{perl_vendorlib}/MCE/Map.pm
|
|
|
|
%{perl_vendorlib}/MCE/Mutex.pm
|
|
|
|
%{perl_vendorlib}/MCE/Queue.pm
|
|
|
|
%{perl_vendorlib}/MCE/Relay.pm
|
|
|
|
%{perl_vendorlib}/MCE/Signal.pm
|
|
|
|
%{perl_vendorlib}/MCE/Step.pm
|
|
|
|
%{perl_vendorlib}/MCE/Stream.pm
|
|
|
|
%{perl_vendorlib}/MCE/Subs.pm
|
|
|
|
%{perl_vendorlib}/MCE/Util.pm
|
|
|
|
%{_mandir}/man3/MCE.3*
|
|
|
|
%{_mandir}/man3/MCE::Candy.3*
|
|
|
|
%{_mandir}/man3/MCE::Core.3*
|
|
|
|
%{_mandir}/man3/MCE::Examples.3*
|
|
|
|
%{_mandir}/man3/MCE::Flow.3*
|
|
|
|
%{_mandir}/man3/MCE::Grep.3*
|
|
|
|
%{_mandir}/man3/MCE::Loop.3*
|
|
|
|
%{_mandir}/man3/MCE::Map.3*
|
|
|
|
%{_mandir}/man3/MCE::Mutex.3*
|
|
|
|
%{_mandir}/man3/MCE::Queue.3*
|
|
|
|
%{_mandir}/man3/MCE::Relay.3*
|
|
|
|
%{_mandir}/man3/MCE::Signal.3*
|
|
|
|
%{_mandir}/man3/MCE::Step.3*
|
|
|
|
%{_mandir}/man3/MCE::Stream.3*
|
|
|
|
%{_mandir}/man3/MCE::Subs.3*
|
|
|
|
%{_mandir}/man3/MCE::Util.3*
|
|
|
|
|
|
|
|
%files tools
|
|
|
|
%{_bindir}/mce_grep
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
* Mon Feb 20 2017 Paul Howarth <paul@city-fan.org> - 1.814-1
|
|
|
|
- Update to 1.814
|
|
|
|
- Enhanced the progress option for use with MCE->process
|
|
|
|
- Updated progress demonstrations in MCE::Core.pod
|
|
|
|
|
|
|
|
* Thu Feb 16 2017 Paul Howarth <paul@city-fan.org> - 1.813-1
|
|
|
|
- Update to 1.813
|
|
|
|
- Added progress option, a code block for receiving info on progress made;
|
|
|
|
see MCE::Core.pod for demonstrations accommodating all input data types
|
|
|
|
|
|
|
|
* Wed Feb 15 2017 Paul Howarth <paul@city-fan.org> - 1.812-1
|
|
|
|
- Update to 1.812
|
|
|
|
- Bumped minimum requirement for Sereal to 3.015 when available; added check
|
|
|
|
ensuring matching version for Encoder and Decoder
|
|
|
|
- Add patch to avoid unintentional hard dependencies on Sereal
|
|
|
|
|
|
|
|
* Tue Feb 14 2017 Paul Howarth <paul@city-fan.org> - 1.811-1
|
|
|
|
- Update to 1.811
|
|
|
|
- Fixed bug in MCE::Queue (dequeue_nb) when queue has zero items
|
|
|
|
- Applied small optimization in MCE::Core::Input::Sequence and Generator
|
|
|
|
- Added cross-platform template to MCE::Examples for making an executable
|
|
|
|
- Removed signal handling for XCPU and XFSZ from MCE::Signal
|
|
|
|
- Imply posix_exit => 1 if Gearman::XS or Gearman::Util is present during
|
|
|
|
MCE construction
|
|
|
|
- Added MCE + Gearman demonstrations (xs and non-xs) on Github:
|
|
|
|
https://github.com/marioroy/mce-examples/tree/master/gearman_xs
|
|
|
|
https://github.com/marioroy/mce-examples/tree/master/gearman
|
|
|
|
- Changed kilobytes and megabytes to kibiBytes (KiB) and mebiBytes (MiB)
|
|
|
|
respectively inside the documentation
|
|
|
|
|
|
|
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.810-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
|
|
|
|
|
|
* Sat Dec 10 2016 Paul Howarth <paul@city-fan.org> - 1.810-1
|
|
|
|
- Update to 1.810
|
|
|
|
- Updated check for IO handle allowed; this allows $gather_fh = *STDOUT{IO}
|
|
|
|
construction in Perl ≤ 5.10.1
|
|
|
|
|
|
|
|
* Thu Nov 24 2016 Paul Howarth <paul@city-fan.org> - 1.809-1
|
|
|
|
- Update to 1.809
|
|
|
|
- Bug fixes for running MCE inside threads
|
|
|
|
- Random numbers are unique between workers
|
|
|
|
|
|
|
|
* Sat Nov 5 2016 Paul Howarth <paul@city-fan.org> - 1.808-1
|
|
|
|
- Update to 1.808
|
|
|
|
- Workers persist unless shutdown explicitly while running alongside the
|
|
|
|
Mojolicious framework
|
|
|
|
|
|
|
|
* Wed Nov 2 2016 Paul Howarth <paul@city-fan.org> - 1.807-1
|
|
|
|
- Update to 1.807
|
|
|
|
- Enhanced relay capabilities
|
|
|
|
- Added Mandelbrot example to MCE::Example
|
|
|
|
- Added extra demonstrations to MCE::Relay
|
|
|
|
- Added test script
|
|
|
|
- Tweaked manager-loop delay for special cases - applies to MSWin32 only
|
|
|
|
|
|
|
|
* Wed Oct 12 2016 Paul Howarth <paul@city-fan.org> - 1.806-1
|
|
|
|
- Update to 1.806
|
|
|
|
- Fixed two typos
|
|
|
|
- Support input_data with nested arrays in MCE Models
|
|
|
|
|
|
|
|
* Fri Sep 2 2016 Paul Howarth <paul@city-fan.org> - 1.805-1
|
|
|
|
- Update to 1.805
|
|
|
|
- Fixed bug in MCE::Queue (GH#4)
|
|
|
|
- Improved support for running MCE with Tk; added Tk demonstrations to
|
|
|
|
MCE::Examples
|
|
|
|
|
|
|
|
* Fri Jul 29 2016 Paul Howarth <paul@city-fan.org> - 1.804-1
|
|
|
|
- Update to 1.804
|
|
|
|
- Removed the sleep statement in MCE->restart_worker
|
|
|
|
- Added FCGI::ProcManager demonstrations to MCE::Examples
|
|
|
|
- Automatically set posix_exit to 1 whenever (F)CGI.pm is present
|
|
|
|
(https://github.com/marioroy/mce-perl/issues/1)
|
|
|
|
|
|
|
|
* Mon Jul 11 2016 Paul Howarth <paul@city-fan.org> - 1.803-1
|
|
|
|
- Update to 1.803
|
|
|
|
- Re-enabled Sereal 3.008+ for Perl < v5.12.0, if available
|
|
|
|
- Optimized dequeue methods in MCE::Queue
|
|
|
|
|
|
|
|
* Mon Jul 4 2016 Paul Howarth <paul@city-fan.org> - 1.802-1
|
|
|
|
- Update to 1.802
|
|
|
|
- Default to Storable for serialization in Perl less than v5.12.0;
|
|
|
|
Sereal 3.008+, if available, is loaded automatically in Perl v5.12+
|
|
|
|
|
|
|
|
* Sun Jul 3 2016 Paul Howarth <paul@city-fan.org> - 1.801-1
|
|
|
|
- Update to 1.801
|
|
|
|
- Fixed race condition in Queue->await
|
|
|
|
- MCE 1.801 is stable on all supported platforms
|
|
|
|
- Completed work supporting cyclical include of MCE Core / Models
|
|
|
|
- Updated MCE to support Perl included with Git Bash
|
|
|
|
- Renamed temp dir from 'mce' to 'Perl-MCE' under user's %%TEMP%% location on
|
|
|
|
Windows, e.g. Native Perl, Cygwin, Git Bash
|
|
|
|
- BR: perl-generators unconditionally
|
|
|
|
|
|
|
|
* Sun Jun 19 2016 Paul Howarth <paul@city-fan.org> - 1.800-1
|
|
|
|
- Update to 1.800
|
|
|
|
- Fixed dequeue (count) in MCE::Queue for standalone mode
|
|
|
|
- On Windows, improved stablity and feature parity with UNIX
|
|
|
|
- Use Sereal 3.008+ automatically if available on the box
|
|
|
|
- Added support for cyclical include of MCE Core, MCE Models, and MCE Queue
|
|
|
|
by scoping the configuration to the local package (CPAN RT#107384)
|
|
|
|
|
|
|
|
* Sun May 29 2016 Paul Howarth <paul@city-fan.org> - 1.708-1
|
|
|
|
- Update to 1.708
|
|
|
|
- Improved import routine in MCE Models and MCE::Subs; this resolves an issue
|
|
|
|
where functions are not exported; e.g. mce_flow, mce_flow_s
|
|
|
|
- Added support for IO::TieCombine handles, which enables MCE->print and
|
|
|
|
MCE->sendto to work reliably with App::Cmd and App::Cmd::Tester; see
|
|
|
|
Testing and Capturing Output in MCE::Examples
|
|
|
|
|
|
|
|
* Thu May 26 2016 Paul Howarth <paul@city-fan.org> - 1.707-1
|
|
|
|
- Update to 1.707
|
|
|
|
- Fixed logic when workers exit; improved reliability on Windows
|
|
|
|
- Applied MCE-1.700-provides.patch from Red Hat
|
|
|
|
- Added META.json to the distribution
|
|
|
|
- BR: perl-generators where available
|
|
|
|
- Drop upstreamed provides patch
|
|
|
|
|
|
|
|
* Mon May 16 2016 Jitka Plesnikova <jplesnik@redhat.com> - 1.706-2
|
|
|
|
- Perl 5.24 rebuild
|
|
|
|
|
|
|
|
* Sun Apr 24 2016 Paul Howarth <paul@city-fan.org> - 1.706-1
|
|
|
|
- Update to 1.706
|
|
|
|
- Time::HiRes sleep resolution is 15 milliseconds on Windows and Cygwin;
|
|
|
|
adjusted timeout values accordingly
|
|
|
|
- Reinstated the hack for faster IO when use_slurpio => 1 is specified; tuned
|
|
|
|
chunk_size => 'auto'
|
|
|
|
|
|
|
|
* Fri Apr 15 2016 Paul Howarth <paul@city-fan.org> - 1.705-1
|
|
|
|
- Update to 1.705
|
|
|
|
- Bumped version for Test::More to 0.88
|
|
|
|
- BR:/R: perl(Sereal) where available
|
|
|
|
|
|
|
|
* Thu Apr 14 2016 Paul Howarth <paul@city-fan.org> - 1.704-1
|
|
|
|
- Update to 1.704
|
|
|
|
BUG FIXES
|
|
|
|
- Fixed restart on the Windows platform, bug introduced in 1.700
|
|
|
|
- Reached *stable* on all major platforms for MCE 1.7x
|
|
|
|
ENHANCEMENTS
|
|
|
|
- Enabled auto-destroy for MCE objects
|
|
|
|
- Enabled freeze callbacks for Sereal
|
|
|
|
- Switched bug tracking to Github
|
|
|
|
- Tweaked test scripts
|
|
|
|
|
|
|
|
* Sun Mar 20 2016 Paul Howarth <paul@city-fan.org> - 1.703-1
|
|
|
|
- Update to 1.703
|
|
|
|
- Completed IPC optimizations for 1.7
|
|
|
|
|
|
|
|
* Wed Mar 16 2016 Paul Howarth <paul@city-fan.org> - 1.702-1
|
|
|
|
- Update to 1.702
|
|
|
|
- Use a patch to fix unversioned provides of perl(MCE)
|
|
|
|
- Get rid of redundant provides/requires filters
|
|
|
|
- Make %%files list more explicit
|
|
|
|
|
|
|
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.608-4
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
|
|
|
|
|
|
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.608-3
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
|
|
|
|
|
* Wed Jun 03 2015 Jitka Plesnikova <jplesnik@redhat.com> - 1.608-2
|
|
|
|
- Perl 5.22 rebuild
|
|
|
|
|
|
|
|
* Fri Apr 10 2015 Petr Šabata <contyk@redhat.com> - 1.608-1
|
|
|
|
- 1.608 bump
|
|
|
|
|
|
|
|
* Thu Apr 09 2015 Petr Šabata <contyk@redhat.com> - 1.606-1
|
|
|
|
- 1.606 bump
|
|
|
|
|
|
|
|
* Wed Apr 08 2015 Petr Šabata <contyk@redhat.com> - 1.605-1
|
|
|
|
- 1.605 bump
|
|
|
|
|
|
|
|
* Mon Mar 23 2015 Petr Šabata <contyk@redhat.com> - 1.604-1
|
|
|
|
- 1.604 bump
|
|
|
|
|
|
|
|
* Wed Feb 11 2015 Petr Pisar <ppisar@redhat.com> - 1.600-3
|
|
|
|
- Move mce_grep tool into a separate sub-package
|
|
|
|
|
|
|
|
* Tue Feb 10 2015 Petr Pisar <ppisar@redhat.com> - 1.600-2
|
|
|
|
- Correct dependencies
|
|
|
|
|
|
|
|
* Wed Feb 04 2015 Petr Šabata <contyk@redhat.com> - 1.600-1
|
|
|
|
- 1.600 bump
|
|
|
|
|
|
|
|
* Mon Jan 05 2015 Petr Šabata <contyk@redhat.com> - 1.522-1
|
|
|
|
- 1.522 bump
|
|
|
|
|
|
|
|
* Wed Dec 17 2014 Petr Šabata <contyk@redhat.com> - 1.521-1
|
|
|
|
- 1.521 bump
|
|
|
|
|
|
|
|
* Tue Nov 11 2014 Petr Šabata <contyk@redhat.com> 1.520-1
|
|
|
|
- Initial packaging
|