Blob Blame History Raw
%if 0%{?fedora} > 12
%global with_python3 1
%endif

%global pypiname trollius
Name:           python-trollius
Version:        2.1
Release:        4%{?dist}
Summary:        A port of the Tulip asyncio module to Python 2

Group:          Development/Libraries
License:        ASL 2.0
URL:            https://github.com/haypo/trollius
Source0:        https://files.pythonhosted.org/packages/source/t/%{pypiname}/%{pypiname}-%{version}.tar.gz

BuildArch:      noarch
BuildRequires:  python2-devel
BuildRequires:  python-setuptools
BuildRequires:  python-mock
%if 0%{?with_python3}
BuildRequires:  python3-devel
BuildRequires:  python3-setuptools
%endif #python3

# see https://fedoraproject.org/wiki/Packaging:Python#Macros
%if 0%{?rhel} && 0%{?rhel} <= 6
%{!?__python2: %global __python2 /usr/bin/python2}
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%endif

Requires:  python-futures
Requires:  python-six

# required for check
BuildRequires:  python-unittest2
BuildRequires:  python-futures

%if 0%{?rhel}==6
# things required just by python2.6 on RHEL
Requires:  python-ordereddict
%endif

%description

Trollius provides infrastructure for writing single-threaded
concurrent code using coroutines, multiplexing I/O access over sockets
and other resources, running network clients and servers, and other
related primitives.

Trollius is a portage of the asyncio project (PEP 3156) on Python
2. Trollius works on Python 2.6-3.5. It has been tested on Windows,
Linux, Mac OS X, FreeBSD and OpenIndiana.

%if 0%{?with_python3}
%package -n python3-trollius
Summary: A port of the Tulip asyncio module

%description -n python3-trollius

Trollius provides infrastructure for writing single-threaded
concurrent code using coroutines, multiplexing I/O access over sockets
and other resources, running network clients and servers, and other
related primitives.

Trollius is a portage of the asyncio project (PEP 3156) on Python
2. Trollius works on Python 2.6-3.5. It has been tested on Windows,
Linux, Mac OS X, FreeBSD and OpenIndiana.
%endif #python3

%prep
%setup -q -n %{pypiname}-%{version}

%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif

%build

%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py build
popd
%endif

%{__python2} setup.py build

%install
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
popd
%endif

%{__python2} setup.py install -O1 --skip-build --root %{buildroot}

%check

# these are currently causing koji builds to hang
#python runtests.py -v1 -x test_subprocess_kill
#%if 0%{?with_python3}
#pushd %{py3dir}
#%{__python3} runtests.py -v1 -x test_subprocess_kill
#popd
#%endif

%files
%defattr(-,root,root,-)
%doc README.rst
%{python2_sitelib}/trollius
%{python2_sitelib}/%{pypiname}-%{version}-py2.?.egg-info

%if 0%{?with_python3}
%files -n python3-trollius
%defattr(-,root,root,-)
%doc README.rst
%dir %{python3_sitelib}/trollius
%{python3_sitelib}/trollius/*.py
%{python3_sitelib}/trollius/__pycache__
%{python3_sitelib}/%{pypiname}-%{version}-py3.?.egg-info
%endif

%changelog
* Tue Feb  7 2017 Ian Wienand <iwienand@redhat.com> - 2.1-4
- Add python-six dependency (rhbz#1402775)

* Mon Dec 19 2016 Miro HronĨok <mhroncok@redhat.com> - 2.1-3
- Rebuild for Python 3.6

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Tue Jun 14 2016 Matthias Runge <mrunge@redhat.com> - 2.1-1
- update to 2.1 (rhbz#1101234)

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Tue Jul 14 2015 Ian Wienand <iwienand@redhat.com> - 2.0-1
- update to 2.0 - rhbz#1101234

* Mon Jun 15 2015 Ian Wienand <iwienand@redhat.com> - 1.0.4-2
- add python3 - rhbz#1230868

* Wed Jan  7 2015 Ian Wienand <iwienand@redhat.com> - 1.0.4-1
- update to 1.0.4
- add python-mock as build dependency for tests

* Fri Aug 15 2014 Ian Wienand <iwienand@redhat.com> - 1.0.1-1
- update to 1.0.1

* Mon Jul  7 2014 Ian Wienand <iwienand@redhat.com> - 0.4-1
- update to 0.4
- 0.3 changed module name to trollius for python3.4 compatability
  (issue #8; see README)

* Wed Apr 16 2014 Ian Wienand <iwienand@redhat.com> - 0.2-2
- fix python-ordereddict dependency typo

* Mon Mar 24 2014 Ian Wienand <iwienand@fedora19> - 0.2-1
- update to 0.2

* Tue Mar  4 2014  <iwienand@redhat.com> - 0.1.5-3
- add python-futures as build-dep
- add __python2* macros; convert to them

* Thu Feb 20 2014  <iwienand@redhat.com> - 0.1.5-2
- change license to ASL 2.0
- add defattr (from rpmlint)
- add group tag (from rpmlint)

* Tue Feb 18 2014  <iwienand@redhat.com> - 0.1.5-1
- Initial release