X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=python-requests.spec;h=ccf72eddbc9934a2a7265d038cce2880e137706b;hb=a6e9893cacf39942c3a45e43ad20bcdffe7220e8;hp=534551967bc8e4ac41052d803fd0c07b7290f71c;hpb=b906e79c40177b4e3e71b7d7fd22cbfd5e64c13e;p=packages%2Fpython-requests.git diff --git a/python-requests.spec b/python-requests.spec index 5345519..ccf72ed 100644 --- a/python-requests.spec +++ b/python-requests.spec @@ -1,36 +1,73 @@ -# Conditional build: -%bcond_without python2 # build python 2 module -%bcond_without python3 # build python 3 module # -%define module requests -Summary: HTTP library for Python -Summary(pl.UTF-8): Biblioteka HTTP dla Pythona +# Conditional build: +%bcond_with tests # pytest tests (one test fails with pytest-httpbin 1.0.0) +%bcond_without python2 # CPython 2.x module +%bcond_with python3 # CPython 3.x module + +%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.3.0 -Release: 1 -License: Apache2 +# keep 2.27.x here for python2 support +Version: 2.27.1 +Release: 2 +License: Apache v2.0 Group: Development/Languages/Python -Source0: https://pypi.python.org/packages/source/r/requests/%{module}-%{version}.tar.gz -# Source0-md5: 7449ffdc8ec9ac37bbcd286003c80f00 -URL: http://python-requests.org -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-charade -BuildRequires: python-modules >= 1:2.6 -BuildRequires: python-urllib3 +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 %endif %if %{with python3} -BuildRequires: python3-charade -BuildRequires: python3-modules >= 3.2 -BuildRequires: python3-urllib3 +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 -BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.219 -Requires: ca-certificates -Requires: python-charade -Requires: python-modules >= 1:2.6 -Requires: python-urllib3 +%endif +Suggests: ca-certificates +# for python2 only to get SNI working. python3 doesn't need this +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) @@ -44,6 +81,8 @@ broken. It requires an enormous amount of work (even method overrides) to perform the simplest of tasks. Things shouldn't be this way. Not in Python. +This package contains Python 2.x module. + %description -l pl.UTF-8 Requests to napisana w Pythonie biblioteka HTTP dla ludzi. @@ -53,14 +92,20 @@ zapewnia większość wymaganych możliwości HTTP, ale API jest kiepskie - wymaga dużych nakładów pracy (nawet nadpisań metod) do wykonania najprostszych zadań. Nie powinno tak być. Nie w Pythonie. +Ten pakiet zawiera moduł dla Pythona 2.x. + %package -n python3-requests -Summary: HTTP library, written in Python, for human beings -Summary(pl.UTF-8): Biblioteka HTTP library napisana w Pythonie dla ludzi +Summary: HTTP library for Python 3 +Summary(pl.UTF-8): Biblioteka HTTP dla Pythona 3 Group: Development/Languages/Python -Requires: ca-certificates -Requires: python3-charade -Requires: python3-modules >= 3.2 -Requires: python3-urllib3 +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. @@ -72,6 +117,8 @@ broken. It requires an enormous amount of work (even method overrides) to perform the simplest of tasks. Things shouldn't be this way. Not in Python. +This package contains Python 3.x module. + %description -n python3-requests -l pl.UTF-8 Requests to napisana w Pythonie biblioteka HTTP dla ludzi. @@ -81,63 +128,63 @@ zapewnia większość wymaganych możliwości HTTP, ale API jest kiepskie - wymaga dużych nakładów pracy (nawet nadpisań metod) do wykonania najprostszych zadań. Nie powinno tak być. Nie w Pythonie. +Ten pakiet zawiera moduł dla Pythona 3.x. + %prep %setup -q -n %{module}-%{version} %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build %if %{with python2} -%{__python} setup.py build -b py2 +%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 +%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} -rf $RPM_BUILD_ROOT{%{py_sitescriptdir},%{py3_sitescriptdir}}/%{module}/{cacert.pem,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} -%if "%{py_ver}" > "2.4" -%{py_sitescriptdir}/%{module}-%{version}-py*.egg-info -%endif +%{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