X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=python-requests.spec;h=7d76b8f8ba8a527caf62b4844764acba3daa003b;hb=abfa8427f749874360024a4db0ec7b31aec24d38;hp=4811453565b18959219f837f2960aa7aea0ebda4;hpb=2d606466e5a59a1fab0e77be5fde1f4940a12b57;p=packages%2Fpython-requests.git diff --git a/python-requests.spec b/python-requests.spec index 4811453..7d76b8f 100644 --- a/python-requests.spec +++ b/python-requests.spec @@ -1,56 +1,72 @@ # # 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.13 -%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.9.1 -Release: 1 -License: Apache2 +Version: 2.26.0 +Release: 3 +License: Apache v2.0 Group: Development/Languages/Python -Source0: https://pypi.python.org/packages/source/r/requests/%{module}-%{version}.tar.gz -# Source0-md5: 0b7f480d19012ec52bab78292efd976d -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: 8c745949ad3e9ae83d9927fed213db8a +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} -%endif -%{?with_tests:BuildRequires: python3-pytest >= 2.3.4} +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-chardet >= 3.0.2 +BuildRequires: python3-chardet < 5 +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 -BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.713 -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 +97,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,18 +131,25 @@ 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} -%py_build %{?with_tests:test} -%{?with_tests:cp requirements.txt test_requests.py build-2; cd build-2; PYTHONPATH=$(pwd)/lib %{__python} test_requests.py; cd ..} +%py_build + +PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \ +PYTEST_PLUGINS="pytest_httpbin.plugin,pytest_mock" \ +%{__python} -m pytest tests %endif %if %{with python3} -%py3_build %{?with_tests:test} -%{?with_tests:cp requirements.txt test_requests.py build-3; cd build-3; PYTHONPATH=$(pwd)/lib %{__python3} test_requests.py; cd ..} +%py3_build + +PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \ +PYTEST_PLUGINS="pytest_httpbin.plugin,pytest_mock" \ +%{__python3} -m pytest tests %endif %install @@ -132,8 +157,7 @@ rm -rf $RPM_BUILD_ROOT %if %{with python2} %py_install -%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir} -%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir} + %py_postclean %endif @@ -141,24 +165,21 @@ rm -rf $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