%if 0%{?fedora} > 12 || 0%{?rhel} > 6
%global with_python3 1
%endif
%if 0%{?rhel} == 5
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}
%endif
%global srcname messaging
Name: python-messaging
Version: 0.7
Release: 1%{?dist}
Summary: Python abstraction of a "message"
Group: Development/Libraries
License: ASL 2.0
URL: http://mpaladin.web.cern.ch/mpaladin/python/%{srcname}/
Source0: http://pypi.python.org/packages/source/m/%{srcname}/%{srcname}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: python2-devel
%if 0%{?with_python3}
BuildRequires: python3-devel
%endif # if with_python3
# For python < 2.6 python-siplejson is required
%if 0%{?fedora} < 11 || 0%{?rhel} <= 6
BuildRequires: python-simplejson
Requires: python-simplejson
%endif
%description
This module provides an abstraction of a "message", as used in Enterprise
Messaging Systems.
The modules include a transport independent message abstraction, a
versatile message generator and several message queues/spools to
locally store messages.
The python module messaging is compatible with the Perl
module Messaging::Message.
%if 0%{?with_python3}
%package -n python3-messaging
Summary: Python abstraction of a "message"
Group: Development/Libraries
%description -n python3-messaging
This module provides an abstraction of a "message", as used in Enterprise
Messaging Systems.
The modules include a transport independent message abstraction, a
versatile message generator and several message queues/spools to
locally store messages.
The python module messaging is compatible with the Perl
module Messaging::Message.
%endif # with_python3
%prep
%setup -q -n %{srcname}-%{version}
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|'
%endif # with_python3
find -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python}|'
%build
%{__python} setup.py build
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py build
popd
%endif # with_python3
%install
rm -rf $RPM_BUILD_ROOT
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT
popd
%endif # with_python3
%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT
%check
%{__python} setup.py test
# And remove compiled documentation.
rm -f test/*.pyc
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py test
rm -f test/*.pyc
popd
%endif # with_python3
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%doc LICENSE README.rst CHANGES example test
%{python_sitelib}/%{srcname}/
%if 0%{?rhel} != 5
%{python_sitelib}/%{srcname}-%{version}-py?.?.egg-info
%endif
%if 0%{?with_python3}
%files -n python3-messaging
%doc LICENSE README.rst CHANGES example test
%{python3_sitelib}/%{srcname}/
%{python3_sitelib}/%{srcname}-%{version}-py?.?.egg-info
%endif # with_python3
%changelog
* Mon Apr 23 2012 Massimo Paladin <massimo.paladin@gmail.com> - 0.7-1
- Upgrading to latest version 0.7.
* Tue Apr 17 2012 Massimo Paladin <massimo.paladin@gmail.com> - 0.6-1
- Upgrading to latest version 0.6.
* Mon Feb 20 2012 Massimo Paladin <Massimo.Paladin@cern.ch> - 0.5-2
- Making it compliant with guidelines.
* Mon Jan 23 2012 Massimo Paladin <Massimo.Paladin@cern.ch> - 0.5-1
- Initial packaging.