Blame python-workerpool.spec

017d00f
%global with_python3 1
Orion Poplawski 679e98d
Orion Poplawski 679e98d
Name:           python-workerpool
Orion Poplawski 679e98d
Version:        0.9.2
c35895a
Release:        10%{?dist}
Orion Poplawski 679e98d
Summary:        Multithreaded job distribution module
Orion Poplawski 679e98d
Orion Poplawski 679e98d
License:        MIT
Orion Poplawski 679e98d
URL:            https://github.com/shazow/workerpool
Orion Poplawski 679e98d
Source0:        http://workerpool.googlecode.com/files/workerpool-%{version}.tar.gz
Orion Poplawski 679e98d
# Fix tests to account for non-sequential ordering
Orion Poplawski 679e98d
# https://github.com/shazow/workerpool/pull/4
Orion Poplawski 679e98d
Patch0:         python-workerpool-test.patch
Orion Poplawski 679e98d
Orion Poplawski 679e98d
BuildArch:      noarch
Orion Poplawski 679e98d
BuildRequires:  python2-devel
Orion Poplawski 679e98d
BuildRequires:  python-nose
Orion Poplawski 679e98d
BuildRequires:  python-setuptools
Orion Poplawski 679e98d
%if 0%{?with_python3}
Orion Poplawski 679e98d
BuildRequires:  python3-devel
Orion Poplawski 679e98d
BuildRequires:  python3-nose
Orion Poplawski 679e98d
BuildRequires:  python3-setuptools
Orion Poplawski 679e98d
# For 2to3
Orion Poplawski 679e98d
BuildRequires:  python-tools
Orion Poplawski 679e98d
%endif # if with_python3
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%description
Orion Poplawski 679e98d
The workerpool module for python 2 is a simple framework for easily
Orion Poplawski 679e98d
distributing jobs into multiple worker threads.  Examples of usage can be
Orion Poplawski 679e98d
found in the unit tests and the samples provided.  This module facilitates
Orion Poplawski 679e98d
distributing simple operations into jobs that are sent to worker threads,
Orion Poplawski 679e98d
maintained by a pool object.
Orion Poplawski 679e98d
Orion Poplawski 679e98d
It consists of these components:
Orion Poplawski 679e98d
Orion Poplawski 679e98d
* Jobs - single units of work that need to be performed.
Orion Poplawski 679e98d
* Workers - workers grab jobs from a queue and run them.
Orion Poplawski 679e98d
* Worker pool - keeps track of workers and the job queue.
Orion Poplawski 679e98d
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%if 0%{?with_python3}
Orion Poplawski 679e98d
%package -n python3-workerpool
Orion Poplawski 679e98d
Summary:        Multithreaded job distribution module
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%description -n python3-workerpool
Orion Poplawski 679e98d
The workerpool module for python 3 is a simple framework for easily
Orion Poplawski 679e98d
distributing jobs into multiple worker threads.  Examples of usage can be
Orion Poplawski 679e98d
found in the unit tests and the samples provided.  This module facilitates
Orion Poplawski 679e98d
distributing simple operations into jobs that are sent to worker threads,
Orion Poplawski 679e98d
maintained by a pool object.
Orion Poplawski 679e98d
Orion Poplawski 679e98d
It consists of these components:
Orion Poplawski 679e98d
Orion Poplawski 679e98d
* Jobs - single units of work that need to be performed.
Orion Poplawski 679e98d
* Workers - workers grab jobs from a queue and run them.
Orion Poplawski 679e98d
* Worker pool - keeps track of workers and the job queue.
Orion Poplawski 679e98d
%endif # if with_python3
Orion Poplawski 679e98d
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%prep
Orion Poplawski 679e98d
%setup -q -n workerpool-%{version}
Orion Poplawski 679e98d
%patch0 -p1 -b .test
Orion Poplawski 679e98d
rm -r workerpool.egg-info
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%if 0%{?with_python3}
Orion Poplawski 679e98d
rm -rf %{py3dir}
Orion Poplawski 679e98d
cp -a . %{py3dir}
Orion Poplawski 679e98d
2to3  --write --nobackups %{py3dir}
Orion Poplawski 679e98d
%endif # with_python3
Orion Poplawski 679e98d
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%build
Orion Poplawski 679e98d
%{__python} setup.py build
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%if 0%{?with_python3}
Orion Poplawski 679e98d
pushd %{py3dir}
Orion Poplawski 679e98d
%{__python3} setup.py build
Orion Poplawski 679e98d
popd
Orion Poplawski 679e98d
%endif # with_python3
Orion Poplawski 679e98d
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%install
Orion Poplawski 679e98d
# Must do the python3 install first because the scripts in /usr/bin are
Orion Poplawski 679e98d
# overwritten with every setup.py install (and we want the python2 version
Orion Poplawski 679e98d
# to be the default for now).
Orion Poplawski 679e98d
%if 0%{?with_python3}
Orion Poplawski 679e98d
pushd %{py3dir}
Orion Poplawski 679e98d
%{__python3} setup.py install --skip-build --root %{buildroot}
Orion Poplawski 679e98d
popd
Orion Poplawski 679e98d
%endif # with_python3
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%{__python} setup.py install --skip-build --root %{buildroot}
Orion Poplawski 679e98d
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%check
Orion Poplawski 679e98d
# Error at exit due to http://bugs.python.org/issue15881
Orion Poplawski 679e98d
# Hopefully to be fixed in 2.7.4
Orion Poplawski 679e98d
%{__python} setup.py test
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%if 0%{?with_python3}
Orion Poplawski 679e98d
pushd %{py3dir}
Orion Poplawski 679e98d
%{__python3} setup.py test
Orion Poplawski 679e98d
popd
Orion Poplawski 679e98d
%endif # with_python3
Orion Poplawski 679e98d
Orion Poplawski 679e98d
 
Orion Poplawski 679e98d
%files
Orion Poplawski 679e98d
%doc CHANGES LICENSE README samples
Orion Poplawski 679e98d
%{python_sitelib}/*
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%if 0%{?with_python3}
Orion Poplawski 679e98d
%files -n python3-workerpool
Orion Poplawski 679e98d
%doc CHANGES LICENSE README samples
Orion Poplawski 679e98d
%{python3_sitelib}/*
Orion Poplawski 679e98d
%endif # with_python3
Orion Poplawski 679e98d
Orion Poplawski 679e98d
Orion Poplawski 679e98d
%changelog
c35895a
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.2-10
c35895a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
c35895a
f4f5d77
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2-9
f4f5d77
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
f4f5d77
a3945da
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2-8
a3945da
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
a3945da
0dff45a
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2-7
0dff45a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
0dff45a
Orion Poplawski 5efb71c
* Fri May 02 2014 Orion Poplawski <orion@cora.nwra.com> - 0.9.2-6
Orion Poplawski 5efb71c
- Rebuild for Python 3.4
Orion Poplawski 5efb71c
293e76a
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2-5
293e76a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
293e76a
Orion Poplawski 679e98d
* Fri May 3 2013 Orion Poplawski <orion@cora.nwra.com> - 0.9.2-4
Orion Poplawski 679e98d
- Don't ship tests
Orion Poplawski 679e98d
- Remove shipped egg-info
Orion Poplawski 679e98d
Orion Poplawski 679e98d
* Thu May 2 2013 Orion Poplawski <orion@cora.nwra.com> - 0.9.2-3
Orion Poplawski 679e98d
- Add patch to fix tests
Orion Poplawski 679e98d
Orion Poplawski 679e98d
* Thu May 2 2013 Orion Poplawski <orion@cora.nwra.com> - 0.9.2-2
Orion Poplawski 679e98d
- Change license to MIT
Orion Poplawski 679e98d
- Fix macro consistency
Orion Poplawski 679e98d
- Add BR python-nose
Orion Poplawski 679e98d
Orion Poplawski 679e98d
* Sun Apr 7 2013 Orion Poplawski <orion@cora.nwra.com> - 0.9.2-1
Orion Poplawski 679e98d
- Initial Fedora package