%if 0%{?fedora} %global with_python3 1 %endif %if 0%{?rhel} && 0%{?rhel} <= 7 %{!?__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 %global commit 514cad74bde4cd7781b496155058a79507245798 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global checkout 20150520git%{shortcommit} %global gh_owner idan %global gh_project oauthlib %global modname oauthlib Name: python-oauthlib Version: 0.7.2 Release: 2.%{checkout}%{?dist} Summary: An implementation of the OAuth request-signing logic Group: Development/Libraries License: BSD URL: http://pypi.python.org/pypi/oauthlib #Source0: http://pypi.python.org/packages/source/o/%{modname}/%{modname}-%{version}.tar.gz Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{commit}/%{gh_project}-%{commit}.tar.gz BuildArch: noarch BuildRequires: python2-devel BuildRequires: python-setuptools BuildRequires: python-nose BuildRequires: python-unittest2 BuildRequires: python-mock BuildRequires: python-blinker BuildRequires: python-jwt >= 1.0 %if 0%{?rhel} && 0%{?rhel} <= 6 BuildRequires: python-crypto2.6 Requires: python-crypto2.6 %else BuildRequires: python-crypto >= 2.6 Requires: python-crypto >= 2.6 %endif %if 0%{?with_python3} BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-nose BuildRequires: python3-crypto >= 2.6 BuildRequires: python3-mock BuildRequires: python3-blinker BuildRequires: python3-jwt >= 1.0 %endif %description OAuthLib is a generic utility which implements the logic of OAuth without assuming a specific HTTP request object or web framework. Use it to graft OAuth client support onto your favorite HTTP library, or provider support onto your favourite web framework. If you're a maintainer of such a library, write a thin veneer on top of OAuthLib and get OAuth support for very little effort. %if 0%{?with_python3} %package -n python3-oauthlib Summary: An implementation of the OAuth request-signing logic Group: Development/Libraries Requires: python3-crypto >= 2.6 %description -n python3-oauthlib OAuthLib is a generic utility which implements the logic of OAuth without assuming a specific HTTP request object or web framework. Use it to graft OAuth client support onto your favorite HTTP library, or provider support onto your favourite web framework. If you're a maintainer of such a library, write a thin veneer on top of OAuthLib and get OAuth support for very little effort. %endif %prep #%%setup -q -n %{modname}-%{version} %setup -q -n %{gh_project}-%{commit} # python-unittest2 is now provided by "python" package and python-unittest is retired # adapt setup.py to reflect this fact downstream sed -i "s/'unittest2', //" setup.py # Remove bundled egg-info in case it exists rm -rf %{modname}.egg-info # Make sure that setuptools knows to pick up the correct version of # python-crypto on epel/rhel... awk 'NR==1{print "import __main__; __main__.__requires__ = __requires__ = [\"pycrypto>=2.6\"]; import pkg_resources"}1' setup.py > setup.py.tmp mv setup.py.tmp setup.py %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} %endif %build %{__python2} setup.py build %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py build popd %endif %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 %{__python2} setup.py test %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py test popd %endif %files %doc README.rst LICENSE %{python2_sitelib}/%{modname}/ %{python2_sitelib}/%{modname}-%{version}* %if 0%{?with_python3} %files -n python3-oauthlib %doc README.rst LICENSE %{python3_sitelib}/%{modname}/ %{python3_sitelib}/%{modname}-%{version}-* %endif %changelog * Wed Feb 18 2015 Ralph Bean - 0.7.2-2.20150520git514cad7 - new version, from a git checkout - Replace our patch with a sed statement. * Sat Jun 07 2014 Fedora Release Engineering - 0.6.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Wed May 14 2014 Bohuslav Kabrda - 0.6.0-5 - Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 * Fri Apr 11 2014 Ralph Bean - 0.6.0-4 - Use forward-compat python-crypto2.6 package for el6. * Tue Jan 21 2014 Ralph Bean - 0.6.0-3 - Compat macros for el6. * Fri Nov 01 2013 Ralph Bean - 0.6.0-2 - Modernized python2 rpmmacros. * Thu Oct 31 2013 Ralph Bean - 0.6.0-1 - Initial package for Fedora