%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: 1.0.3 Release: 3%{?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 %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. %package -n python2-oauthlib Summary: An implementation of the OAuth request-signing logic Group: Development/Libraries %{?python_provide:%python_provide python2-oauthlib} BuildRequires: python2-devel BuildRequires: python2-setuptools BuildRequires: python2-nose BuildRequires: python2-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 %description -n python2-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. %if 0%{?with_python3} %package -n python3-oauthlib Summary: An implementation of the OAuth request-signing logic Group: Development/Libraries %{?python_provide:%python_provide python3-oauthlib} 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 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 %build %py2_build %if 0%{?with_python3} %py3_build %endif %install %py2_install %if 0%{?with_python3} %py3_install %endif %check %{__python2} setup.py test %if 0%{?with_python3} %{__python3} setup.py test %endif %files -n python2-oauthlib %doc README.rst %license LICENSE %{python2_sitelib}/%{modname}/ %{python2_sitelib}/%{modname}-%{version}* %if 0%{?with_python3} %files -n python3-oauthlib %doc README.rst %license LICENSE %{python3_sitelib}/%{modname}/ %{python3_sitelib}/%{modname}-%{version}-* %endif %changelog * Tue Jul 19 2016 Fedora Release Engineering - 1.0.3-3 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Tue Jun 28 2016 Ralph Bean - 1.0.3-2 - Modernize python macros. * Sun Apr 10 2016 Kevin Fenzi - 1.0.3-1 - Update to 1.0.3 - Add python2 provides (fixes bug #1313235 and #1314349) * Thu Feb 04 2016 Fedora Release Engineering - 0.7.2-5.20150520git514cad7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Nov 10 2015 Fedora Release Engineering - 0.7.2-4.20150520git514cad7 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 * Thu Jun 18 2015 Fedora Release Engineering - 0.7.2-3.20150520git514cad7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * 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