]> git.pld-linux.org Git - packages/python3-requests.git/blobdiff - python-requests.spec
- updated to 2.27.1
[packages/python3-requests.git] / python-requests.spec
index b1d4103944d78e4c3ef423e6689b66b56d3f7ff8..03f6c5c8db6ae5fb70c66867eee11140a3b80c4d 100644 (file)
-# TODO
-# - bundled external libs? packages/ contains:
-#   chardet/
-#   chardet2/
-#   oauthlib/
-%define        module  requests
-Summary:       HTTP library for Python
+#
+# Conditional build:
+%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:       0.13.3
+# keep 2.27.x here for python2 support
+Version:       2.27.1
 Release:       1
-License:       ISC
+License:       Apache v2.0
 Group:         Development/Languages/Python
-Source0:       https://github.com/kennethreitz/requests/tarball/v%{version}/%{name}-%{version}.tgz
-# Source0-md5: d843cf4378a754bbdb4af865b02225b9
-URL:           https://github.com/kennethreitz/requests
+#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
-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
+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.
+
+This package contains Python 2.x module.
+
+%description -l pl.UTF-8
+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
+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 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 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
 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.
+to perform the simplest of tasks. Things shouldn't be this way. Not in
+Python.
 
-Things shouldn't be this way. Not in Python.
+This package contains Python 3.x module.
 
-%prep
-%setup -qc
-mv *-%{module}-*/* .
+%description -n python3-requests -l pl.UTF-8
+Requests to napisana w Pythonie biblioteka HTTP dla ludzi.
 
-# fix version in module
-# tarball for 0.13.3 contains 0.13.2:
-#./HISTORY.rst:0.13.2 (2012-06-28)
-#./requests/__init__.py:__version__ = '0.13.2'
-#./requests/__init__.py:__build__ = 0x001302
-%{__sed} -i -e 's/0\.13\.2/0.13.3/; s/0x001302/0x001302/' requests/__init__.py
+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.
+
+Ten pakiet zawiera moduł dla Pythona 3.x.
+
+%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
 
-%{__python} setup.py build
+%if %{with python3}
+%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
-%{__python} setup.py 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 README.rst LICENSE  docs
+%doc HISTORY.md README.md
 %{py_sitescriptdir}/%{module}
-%if "%{py_ver}" > "2.4"
-%{py_sitescriptdir}/%{module}-*.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.md README.md
+%{py3_sitescriptdir}/%{module}
+%{py3_sitescriptdir}/%{egg_name}-%{version}-py*.egg-info
 %endif
This page took 0.124156 seconds and 4 git commands to generate.