X-Git-Url: http://git.pld-linux.org/?p=packages%2Fpython3-requests.git;a=blobdiff_plain;f=python-requests.spec;h=03f6c5c8db6ae5fb70c66867eee11140a3b80c4d;hp=732936ad4ccfa799860bf7eb8bc733350f918d1b;hb=d27cd28;hpb=c29b18ecd6f18b7f73ed263b98d5837e9efa90ab diff --git a/python-requests.spec b/python-requests.spec index 732936a..03f6c5c 100644 --- a/python-requests.spec +++ b/python-requests.spec @@ -1,56 +1,73 @@ # # Conditional build: -%bcond_with tests # perform "make test" +%bcond_with tests # pytest tests (one test fails with pytest-httpbin 1.0.0) %bcond_without python2 # CPython 2.x module %bcond_without python3 # CPython 3.x module -%bcond_without bundled # bundled libraries -# -%define urllib3ver 1.10.4 -%define module requests + +%define urllib3_ver 1.21.1 +%define module requests +%define egg_name requests Summary: HTTP library for Python 2 Summary(pl.UTF-8): Biblioteka HTTP dla Pythona 2 Name: python-%{module} -Version: 2.7.0 +# keep 2.27.x here for python2 support +Version: 2.27.1 Release: 1 -License: Apache2 +License: Apache v2.0 Group: Development/Languages/Python -Source0: https://pypi.python.org/packages/source/r/requests/%{module}-%{version}.tar.gz -# Source0-md5: 29b173fd5fa572ec0764d1fd7b527260 -URL: http://python-requests.org -# find . -name '*.py' -exec sed -i -e 's#requests\.packages\.urllib3#urllib3#g' "{}" ";" -# find . -name '*.py' -exec sed -i -e 's#\.packages\.urllib3#urllib3#g' "{}" ";" -# find . -name '*.py' -exec sed -i -e 's#from \.packages import chardet#import charade as chardet#g' "{}" ";" -# + manual removal from setup.py -Patch0: system-charade-and-urllib3.patch -Patch1: system-cert.patch +#Source0Download: https://pypi.org/simple/requests/ +Source0: https://files.pythonhosted.org/packages/source/r/requests/%{module}-%{version}.tar.gz +# Source0-md5: bcc01b73974a305cc7c5b092e7d07004 +Patch0: system-cert.patch +Patch1: %{name}-reqs.patch +Patch2: %{name}-disable-xdist.patch +URL: https://docs.python-requests.org/ +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.713 %if %{with python2} -BuildRequires: python-modules >= 1:2.6 -%if %{without bundled} -BuildRequires: python-charade -BuildRequires: python-urllib3 >= %{urllib3ver} +BuildRequires: python-modules >= 1:2.7 +BuildRequires: python-setuptools +%if %{with tests} +BuildRequires: python-PySocks >= 1.5.8 +BuildRequires: python-certifi >= 2017.4.17 +BuildRequires: python-chardet >= 3.0.2 +BuildRequires: python-chardet < 5 +# idna 3 not supported for python2 +BuildRequires: python-idna >= 2.5 +BuildRequires: python-idna < 3 +BuildRequires: python-pytest >= 3 +BuildRequires: python-pytest-cov +BuildRequires: python-pytest-httpbin >= 0.0.7 +BuildRequires: python-pytest-mock >= 2.0.0 +BuildRequires: python-pytest-xdist +BuildRequires: python-urllib3 >= %{urllib3_ver} +BuildRequires: python-urllib3 < 1.27 %endif -%{?with_tests:BuildRequires: python-pytest >= 2.3.4} %endif %if %{with python3} -BuildRequires: python3-modules >= 1:3.2 -%if %{without bundled} -BuildRequires: python3-charade -BuildRequires: python3-urllib3 >= %{urllib3ver} +BuildRequires: python3-modules >= 1:3.6 +BuildRequires: python3-setuptools +%if %{with tests} +BuildRequires: python3-PySocks >= 1.5.8 +BuildRequires: python3-certifi >= 2017.4.17 +BuildRequires: python3-charset_normalizer >= 2 +BuildRequires: python3-charset_normalizer < 2.1 +BuildRequires: python3-idna >= 2.5 +BuildRequires: python3-idna < 4 +BuildRequires: python3-pytest >= 3 +BuildRequires: python3-pytest-cov +BuildRequires: python3-pytest-httpbin >= 0.0.7 +BuildRequires: python3-pytest-mock >= 2.0.0 +BuildRequires: python3-pytest-xdist +BuildRequires: python3-urllib3 >= %{urllib3_ver} +BuildRequires: python3-urllib3 < 1.27 %endif -%{?with_tests:BuildRequires: python3-pytest >= 2.3.4} -%endif -BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.219 -Requires: ca-certificates -Requires: python-modules >= 1:2.6 -%if %{without bundled} -Requires: python-charade -Requires: python-urllib3 >= %{urllib3ver} %endif +Suggests: ca-certificates # for python2 only to get SNI working. python3 doesn't need this -Requires: python-ndg-httpsclient -Requires: python-pyasn1 -Requires: python-pyOpenSSL +Requires: python-cryptography >= 1.3.4 +Requires: python-pyOpenSSL >= 0.14 +Requires: python-urllib3 >= 1.22-2 BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -81,12 +98,14 @@ Ten pakiet zawiera moduł dla Pythona 2.x. Summary: HTTP library for Python 3 Summary(pl.UTF-8): Biblioteka HTTP dla Pythona 3 Group: Development/Languages/Python -Requires: ca-certificates -Requires: python3-modules >= 1:3.2 -%if %{without bundled} -Requires: python3-charade -Requires: python3-urllib3 >= %{urllib3ver} -%endif +Requires: python3-modules >= 1:3.6 +Requires: python3-charset_normalizer >= 2 +# for https +Requires: python3-cryptography >= 1.3.4 +Requires: python3-idna >= 2.5 +Requires: python3-pyOpenSSL >= 0.14 +Requires: python3-urllib3 >= 1.22-2 +Suggests: ca-certificates %description -n python3-requests Requests is a HTTP library, written in Python, for human beings. @@ -113,62 +132,59 @@ Ten pakiet zawiera moduł dla Pythona 3.x. %prep %setup -q -n %{module}-%{version} -%{!?with_bundled:%patch0 -p1} +%patch0 -p1 %patch1 -p1 +%patch2 -p1 %build %if %{with python2} -%{__python} setup.py build -b py2 %{?with_tests:test} -%{?with_tests:cp requirements.txt test_requests.py py2; cd py2; PYTHONPATH=$(pwd)/lib %{__python} test_requests.py; cd ..} +%py_build + +%if %{with tests} +PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \ +PYTEST_PLUGINS="pytest_httpbin.plugin,pytest_mock" \ +%{__python} -m pytest tests +%endif %endif %if %{with python3} -%{__python3} setup.py build -b py3 %{?with_tests:test} -%{?with_tests:cp requirements.txt test_requests.py py3; cd py3; PYTHONPATH=$(pwd)/lib %{__python3} test_requests.py; cd ..} +%py3_build + +%if %{with tests} +PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \ +PYTEST_PLUGINS="pytest_httpbin.plugin,pytest_mock" \ +%{__python3} -m pytest tests +%endif %endif %install rm -rf $RPM_BUILD_ROOT %if %{with python2} -%{__python} setup.py \ - build -b py2 \ - install \ - --skip-build \ - --optimize=2 \ - --root=$RPM_BUILD_ROOT -%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir} -%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir} +%py_install + %py_postclean %endif %if %{with python3} -%{__python3} setup.py \ - build -b py3 \ - install \ - --skip-build \ - --optimize=2 \ - --root=$RPM_BUILD_ROOT +%py3_install %endif -%{__rm} $RPM_BUILD_ROOT{%{py_sitescriptdir},%{py3_sitescriptdir}}/%{module}/cacert.pem -%{!?with_bundled:%{__rm} -r $RPM_BUILD_ROOT{%{py_sitescriptdir},%{py3_sitescriptdir}}/%{module}/packages} - %clean rm -rf $RPM_BUILD_ROOT %if %{with python2} %files %defattr(644,root,root,755) -%doc HISTORY.rst README.rst +%doc HISTORY.md README.md %{py_sitescriptdir}/%{module} -%{py_sitescriptdir}/%{module}-%{version}-py*.egg-info +%{py_sitescriptdir}/%{egg_name}-%{version}-py*.egg-info %endif %if %{with python3} %files -n python3-requests %defattr(644,root,root,755) -%doc HISTORY.rst README.rst +%doc HISTORY.md README.md %{py3_sitescriptdir}/%{module} -%{py3_sitescriptdir}/%{module}-%{version}-py*.egg-info +%{py3_sitescriptdir}/%{egg_name}-%{version}-py*.egg-info %endif