Blob Blame History Raw
Name:		perl-MCE-Shared
Version:	1.828
Release:	1%{?dist}
Summary:	MCE extension for sharing data, supporting threads and processes
License:	GPL+ or Artistic
URL:		http://search.cpan.org/dist/MCE-Shared/
Source0:	http://search.cpan.org/CPAN/authors/id/M/MA/MARIOROY/MCE-Shared-%{version}.tar.gz
Patch0:		MCE-Shared-1.828-Sereal-deps.patch
BuildArch:	noarch
# Module Build
BuildRequires:	coreutils
BuildRequires:	findutils
BuildRequires:	make
BuildRequires:	perl-generators
BuildRequires:	perl-interpreter
BuildRequires:	perl(ExtUtils::MakeMaker)
# Module Runtime
BuildRequires:	perl(base)
BuildRequires:	perl(bytes)
BuildRequires:	perl(Carp)
BuildRequires:	perl(constant)
BuildRequires:	perl(MCE) >= 1.830
BuildRequires:	perl(MCE::Mutex)
BuildRequires:	perl(MCE::Signal)
BuildRequires:	perl(MCE::Util)
BuildRequires:	perl(overload)
BuildRequires:	perl(overloading)
BuildRequires:	perl(POSIX)
BuildRequires:	perl(Scalar::Util)
BuildRequires:	perl(Socket)
BuildRequires:	perl(Storable) >= 2.04
BuildRequires:	perl(strict)
BuildRequires:	perl(Symbol)
BuildRequires:	perl(Time::HiRes)
BuildRequires:	perl(warnings)
# Optional Functionality
# Note: MCE will pull in Sereal if it is available
BuildRequires:	perl(IO::FDPass) >= 1.2
BuildRequires:	perl(threads)
BuildRequires:	perl(threads::shared)
# Test Suite
BuildRequires:	perl(MCE::Flow)
BuildRequires:	perl(Test::More) >= 0.88
# Runtime
Requires:	perl(:MODULE_COMPAT_%(eval "$(perl -V:version)"; echo $version))
Requires:	perl(IO::FDPass) >= 1.2
Requires:	perl(MCE) >= 1.830
Requires:	perl(overloading)
Requires:	perl(POSIX)
Requires:	perl(Storable) >= 2.04
Requires:	perl(Symbol)
Requires:	perl(threads)
Requires:	perl(threads::shared)

# Remove bogus dependency on perl(PDL)
%global __requires_exclude ^perl\\(PDL\\)

%description
This module provides data sharing capabilities for MCE, supporting threads and
processes. MCE::Hobo provides threads-like parallelization for running code
asynchronously.

%prep
%setup -q -n MCE-Shared-%{version}

# Avoid hard dependencies on Sereal
%patch0

%build
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
%license LICENSE Copying
%doc Changes README.md
%{perl_vendorlib}/MCE/
%{_mandir}/man3/MCE::Hobo.3*
%{_mandir}/man3/MCE::Shared.3*
%{_mandir}/man3/MCE::Shared::Array.3*
%{_mandir}/man3/MCE::Shared::Base.3*
%{_mandir}/man3/MCE::Shared::Cache.3*
%{_mandir}/man3/MCE::Shared::Condvar.3*
%{_mandir}/man3/MCE::Shared::Handle.3*
%{_mandir}/man3/MCE::Shared::Hash.3*
%{_mandir}/man3/MCE::Shared::Minidb.3*
%{_mandir}/man3/MCE::Shared::Ordhash.3*
%{_mandir}/man3/MCE::Shared::Queue.3*
%{_mandir}/man3/MCE::Shared::Scalar.3*
%{_mandir}/man3/MCE::Shared::Sequence.3*
%{_mandir}/man3/MCE::Shared::Server.3*

%changelog
* Wed Sep 13 2017 Paul Howarth <paul@city-fan.org> - 1.828-1
- Update to 1.828
  Bug Fixes
  - Fixed bug in MCE::Shared::Queue
  Enhancements
  - Refactored MCE::Hobo, MCE::Shared and MCE::Shared::Server
  - Preserved lexical type for numbers during IPC
  - Added Coro and Win32::GUI to list for enabling posix_exit
  - Added encoder and decoder methods for overriding serialization
  - Added parallel HTTP get demonstration using AnyEvent to MCE::Hobo
  - Added Inline::Python, Logger, and Tie::File demonstrations to MCE::Shared
  - Added DBM-Sharing section to the POD documentation
  - Added iterator method to MCE::Cache
  - Improved auto-dereferencing for shared arrays, hashes, and scalars
  - Improved open method for non-shared file-handles in MCE::Shared::Handle.
  - Improved shared-PDL support; updated MCE::Cookbook on Github
  - Improved signal handling, including nested parallel-sessions
  - Improved running MCE::Hobo and MCE::Shared with PDL
  - Improved taint mode via perl -T
  - In MCE::Hobo, waitall and waitone are now aliases to wait_all and wait_one
    respectively for backwards compatibility
  - No longer loads threads on the Windows platform in MCE::Shared::Server;
    this enables MCE::Hobo to spin faster, including lesser memory consumption
  - Removed extra white-space from POD documentation
  - Validated MCE::Hobo and MCE::Shared on SmartOS
  - Bumped MCE dependency to 1.830
- Rebase Sereal-deps patch

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.826-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon Jun 05 2017 Jitka Plesnikova <jplesnik@redhat.com> - 1.826-2
- Perl 5.26 rebuild

* Wed May  3 2017 Paul Howarth <paul@city-fan.org> - 1.826-1
- Update to 1.826
  - Reduced memory consumption
  - Clarified "limitations" section in MCE::Share::{ Condvar, Handle, Queue }
  - Clarified "extra functionality" section in MCE::Shared
  - Bumped MCE dependency to 1.829

* Sat Apr 29 2017 Paul Howarth <paul@city-fan.org> - 1.825-1
- Update to 1.825
  - Do not enable barrier mode for Queue on the Windows platform
  - Fixed MCE::Hobo on the Windows platform for older Perl < v5.16
  - Added Curses and Prima to list for enabling the posix_exit option
  - Added module option for using a class implicitly when tie'ing a variable
  - Added unbless option when exporting a shared object
  - Improved support for running MCE::Hobo on the NetBSD platform
  - Enhanced IPC and signal handling, reduced memory consumption
  - Bumped MCE dependency to 1.828

* Fri Apr  7 2017 Paul Howarth <paul@city-fan.org> - 1.824-1
- Update to 1.824
  - Fixed bug introduced in 1.818, syswrite data to a shared file handle

* Wed Apr  5 2017 Paul Howarth <paul@city-fan.org> - 1.823-1
- Update to 1.823
  - Do not enable barrier mode in Queue if constructed inside a thread or for
    the fast => 1 option
  - Fixed leaked handles during destruction: MCE::Shared::{ Condvar, Queue }
  - Updated MCE::Shared not to croak when running Perl in taint mode via
    perl -T; failing -T were MCE::Shared::{ Handle, Sequence, Server }
  - Bumped MCE dependency to 1.827

* Mon Apr  3 2017 Paul Howarth <paul@city-fan.org> - 1.822-1
- Update to 1.822
  - Performance improvements in MCE::Shared::Queue
  - When IO::FDPass is missing, croak with error if constructing a Condvar
    or Queue and the shared-manager process has not been started manually
  - Is now safe running MCE::Hobo with the Wx GUI toolkit (wxWidgets)
  - Bumped MCE dependency to 1.826

* Sat Apr  1 2017 Paul Howarth <paul@city-fan.org> - 1.820-1
- Update to 1.820
  - Check for EINTR during sysread and syswrite
  - Improved non-shared handles constructed with MCE::Shared::Handle
  - Reap MCE::Hobo's from script exiting during development process
  - Calibrated the number of data-channels for IPC
  - Completed validation for using MCE::Shared with 200+ cores
  - Completed validation for running MCE on a box having 100+ cores
  - Tuned the number of data-channels for IPC, similar to MCE
  - Bumped MCE dependency to 1.824

* Sun Mar 19 2017 Paul Howarth <paul@city-fan.org> - 1.817-1
- Update to 1.817
  - Fixed broken SIG{'PIPE'} handling: e.g. script.pl | head
  - Improved reliability when running MCE::Shared with threads
  - Added parallel Net::Pcap and Ping demonstrations on Github:
    https://github.com/marioroy/mce-examples/tree/master/network
  - Default to ':raw' for BINMODE in MCE::Shared::Handle
  - Optimized 'dequeue' method in MCE::Shared::Queue
  - Refactored MCE::Hobo to spawn children on the Windows platform
  - Bumped MCE dependency to 1.821
- Update Sereal dependency patch

* Mon Mar  6 2017 Paul Howarth <paul@city-fan.org> - 1.816-1
- Update to 1.816
  - Optimized SHIFT and UNSHIFT methods in MCE::Shared::Ordhash

* Sat Mar  4 2017 Paul Howarth <paul@city-fan.org> - 1.815-1
- Update to 1.815
  - Fixed issue with localizing AUTOFLUSH variable before autoflush handles
  - Bumped MCE dependency to 1.819

* Thu Mar  2 2017 Paul Howarth <paul@city-fan.org> - 1.814-1
- Update to 1.814
  - Fixed an issue in regards to deeply sharing an array or hash
  - Replaced Sereal with Sereal::Decoder and Sereal::Encoder in Makefile,
    inside recommends section; ditto for META files
  - Revised limitations section in documentation, in regards to not having
    IO::FDPass, e.g. Condvar, Handle, and Queue
  - Added 'end' method to MCE::Shared::Queue
  - Updated documentation on dequeue and pending
  - Bumped MCE dependency to 1.818

* Thu Feb 23 2017 Paul Howarth <paul@city-fan.org> - 1.813-1
- Update to 1.813
  - Revised the main description in MCE::Shared::Cache
  - Improved write performance by up to 8 percent
  - Fixed spelling mistakes
  - Revised the description of posix_exit in MCE::Hobo

* Mon Feb 20 2017 Paul Howarth <paul@city-fan.org> - 1.812-1
- Update to 1.812
  - Improved performance for MCE::Shared::Cache; this is now a hybrid LRU-plain
    cache implementation
  - Added parallel demonstration at the end of the documentation
  - Bumped MCE dependency to 1.814 for the example to run
  - Tweaked MCE::Shared::Ordhash and MCE::Shared::Server

* Thu Feb 16 2017 Paul Howarth <paul@city-fan.org> - 1.811-1
- Update to 1.811
  - Bumped IO::FDPass minimum version to 1.2 if not already installed (1.1+)
    and have a CC compiler on hand; IO::FDPass is optional otherwise
  - Support csh redirection in Makefile.PL via bash for locating C compiler

* Wed Feb 15 2017 Paul Howarth <paul@city-fan.org> - 1.810-1
- Update to 1.810
  - 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.809-1
- Update to 1.809
  - Fixed bug in MCE::Shared::Queue (dequeue_nb) when queue has zero items
  - Applied small optimization in MCE::Shared::Sequence
  - Added MCE::Shared::Cache, a fast and memory-efficient LRU-cache module
  - Added pipeline methods to MCE::Shared::Array, Hash, Minidb, and Ordhash
  - Added recommends section to Makefile and META files: IO::FDPass, Sereal
  - Added cross-platform template to MCE::Hobo for making an executable
  - Added hobo_timeout option to MCE::Hobo for timeout capability
    Also, imply posix_exit => 1 when Gearman::XS is present
  - Added MCE::Hobo + 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
  - Having IO::FDPass is beneficial for Condvar(s), Handle(s), and Queue(s);
    thus, append IO::FDPass to PREREQ_PM if we can and not already installed
    (run MCE_PREREQ_EXCLUDE_IO_FDPASS=1 perl Makefile.PL to bypass the check)
  - Improved documentation for QUERY STRING in various helper classes
  - Updated SYNOPSIS in various helper classes
  - Updated LOCKING section in MCE::Shared

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.808-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Sat Dec 10 2016 Paul Howarth <paul@city-fan.org> - 1.808-1
- Update to 1.808
  - Optimized the barrier synchronization example in MCE::Shared::Condvar

* Thu Nov 24 2016 Paul Howarth <paul@city-fan.org> - 1.807-1
- Update to 1.807
  - Refactored MCE::Hobo
  - Improved reliability on the Windows platform by using threads
  - Bug fixes for test scripts

* Wed Nov  2 2016 Paul Howarth <paul@city-fan.org> - 1.806-1
- Update to 1.806
  - Added a new section titled LOCKING to the MCE::Shared documentation
  - Tweaked shared-manager-loop delay - applies to MSWin32 only

* Tue Oct  4 2016 Paul Howarth <paul@city-fan.org> - 1.805-3
- Incorporate package review feedback (#1378028)
  - Add dependencies on perl(overloading), perl(Storable) ≥ 2.04 and
    perl(Symbol), missed by perl-generators

* Fri Sep 23 2016 Paul Howarth <paul@city-fan.org> - 1.805-1
- Update to 1.805
  - Fixed close method in shared-handle to work with Perl5i; support for
    Perl5i is on Unix only - do not use threads
  - Bumped MCE dependency to 1.805

* Wed Sep 21 2016 Paul Howarth <paul@city-fan.org> - 1.804-2
- Sanitize for Fedora submission

* Fri Sep 16 2016 Paul Howarth <paul@city-fan.org> - 1.804-1
- Initial RPM build