X-Git-Url: http://git.pld-linux.org/?p=packages%2Fpython3-requests.git;a=blobdiff_plain;f=python-requests.spec;h=03f6c5c8db6ae5fb70c66867eee11140a3b80c4d;hp=081e362c2a52c22902a197204d1fea2360afdf66;hb=d27cd28;hpb=e36cf5c1c4a3bd5b3ec6023955eb9a4989af15df diff --git a/python-requests.spec b/python-requests.spec index 081e362..03f6c5c 100644 --- a/python-requests.spec +++ b/python-requests.spec @@ -1,36 +1,78 @@ -# TODO -# - bundled external libs? packages/ contains: -# chardet/ -# chardet2/ -# oauthlib/ # # Conditional build: -%bcond_without doc # HTML documentation build -# -%define module requests -Summary: HTTP library for Python -Summary(pl.UTF-8): Biblioteka HTTP dla Pythona +%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 + +%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: 1.1.0 -Release: 0.1 -License: ISC +# keep 2.27.x here for python2 support +Version: 2.27.1 +Release: 1 +License: Apache v2.0 Group: Development/Languages/Python -Source0: https://github.com/kennethreitz/requests/tarball/v%{version}/%{module}-%{version}.tar.gz -# Source0-md5: 89b4958831c4c3276ffe5d21ed53dec8 -URL: https://github.com/kennethreitz/requests -BuildRequires: python >= 1:2.6 -BuildRequires: python3 >= 3.2 +#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.219 -BuildRequires: sed >= 4.0 -%{?with_doc:BuildRequires: sphinx-pdg >= 1.0} -Requires: python-modules +BuildRequires: rpmbuild(macros) >= 1.713 +%if %{with python2} +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-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 +%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) %description -Requests is an ISC Licensed HTTP library, written in Python, for human -beings. +Requests is a HTTP library, written in Python, for human beings. Most existing Python modules for sending HTTP requests are extremely verbose and cumbersome. Python's builtin urllib2 module provides most @@ -39,9 +81,10 @@ 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, wydana na -licencji ISC. +Requests to napisana w Pythonie biblioteka HTTP dla ludzi. Większość istniejących modułów Pythona do wysyłania żądań HTTP jest zbyt gadatliwa i nieporęczna. Wbudowany w Pythona moduł urllib2 @@ -49,14 +92,23 @@ 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: 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 an ISC Licensed HTTP library, written in Python, for human -beings. +Requests is a HTTP library, written in Python, for human beings. Most existing Python modules for sending HTTP requests are extremely verbose and cumbersome. Python's builtin urllib2 module provides most @@ -65,65 +117,74 @@ 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 is an ISC Licensed HTTP library, written in Python, for human -beings. +Requests to napisana w Pythonie biblioteka HTTP dla ludzi. -Most existing Python modules for sending HTTP requests are extremely -verbose and cumbersome. Python's builtin urllib2 module provides most -of the HTTP capabilities you should need, but the API is thoroughly -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. +Większość istniejących modułów Pythona do wysyłania żądań HTTP jest +zbyt gadatliwa i nieporęczna. Wbudowany w Pythona moduł urllib2 +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. -%prep -# kennethreitz-requests-1a7c91f -%setup -q -n kennethreitz-%{module}-1a7c91f +Ten pakiet zawiera moduł dla Pythona 3.x. -# avoid "distutils.errors.DistutilsByteCompileError: byte-compiling is disabled." -%{__sed} -i -e '/PYTHONDONTWRITEBYTECODE/d' setup.py +%prep +%setup -q -n %{module}-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 %build -ver=$(%{__python} -c "import requests; print requests.__version__") -test "$ver" = %{version} +%if %{with python2} +%py_build + +%if %{with tests} +PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \ +PYTEST_PLUGINS="pytest_httpbin.plugin,pytest_mock" \ +%{__python} -m pytest tests +%endif +%endif -mkdir py2-egg py3-egg -%{__python} setup.py build --build-base py2 -%{__python3} setup.py build --build-base py3 +%if %{with python3} +%py3_build -%if %{with doc} -%{__make} -C docs html +%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 -%{__python} setup.py \ - build --build-base py2 \ - install \ - --skip-build \ - --optimize=2 \ - --root=$RPM_BUILD_ROOT - -%{__python3} setup.py \ - build --build-base py3 \ - install \ - --skip-build \ - --optimize=2 \ - --root=$RPM_BUILD_ROOT + +%if %{with python2} +%py_install %py_postclean +%endif + +%if %{with python3} +%py3_install +%endif %clean rm -rf $RPM_BUILD_ROOT +%if %{with python2} %files %defattr(644,root,root,755) -%doc AUTHORS.rst LICENSE README.rst %{?with_doc:docs/_build/html} +%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 AUTHORS.rst LICENSE README.rst %{?with_doc:docs/_build/html} +%doc HISTORY.md README.md %{py3_sitescriptdir}/%{module} -%{py3_sitescriptdir}/%{module}-%{version}-py*.egg-info +%{py3_sitescriptdir}/%{egg_name}-%{version}-py*.egg-info +%endif