#
# Conditional build:
-%bcond_without tests # do not perform "make test"
+%bcond_with tests # test target [Pipfile file missing as of 2.19.1]
%bcond_without python2 # CPython 2.x module
%bcond_without python3 # CPython 3.x module
-%bcond_without bundled # Bundle Libraries
-#
-%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.5.0
-Release: 1
-License: Apache2
+Version: 2.23.0
+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: b8bf3ddca75e7ecf1b6776da1e6e3385
-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
-Patch2: requests-test.patch
+#Source0Download: https://pypi.org/simple/requests/
+Source0: https://files.pythonhosted.org/packages/source/r/requests/%{module}-%{version}.tar.gz
+# Source0-md5: abfdc28db1065bbd0bc32592ac9d27a6
+Patch0: system-cert.patch
+URL: http://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 >= 1.9.1
+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 < 4
+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
+BuildRequires: python-pytest-xdist
+BuildRequires: python-urllib3 >= %{urllib3_ver}
+BuildRequires: python-urllib3 < 1.26
%endif
-%{?with_tests:BuildRequires: python-pytest}
%endif
%if %{with python3}
-BuildRequires: python3-modules >= 1:3.2
-%if %{without bundled}
-BuildRequires: python3-charade
-BuildRequires: python3-urllib3 >= 1.9.1
+BuildRequires: python3-modules >= 1:3.5
+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 < 4
+BuildRequires: python3-idna >= 2.5
+BuildRequires: python3-idna < 3
+BuildRequires: python3-pytest >= 3
+BuildRequires: python3-pytest-cov
+BuildRequires: python3-pytest-httpbin >= 0.0.7
+BuildRequires: python3-pytest-mock
+BuildRequires: python3-pytest-xdist
+BuildRequires: python3-urllib3 >= %{urllib3_ver}
+BuildRequires: python3-urllib3 < 1.26
%endif
-%{?with_tests:BuildRequires: python3-pytest}
-%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 >= 1.9.1
%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)
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 >= 1.9.1
-%endif
+Requires: python3-modules >= 1:3.5
+# for https
+Requires: python3-cryptography >= 1.3.4
+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.
%prep
%setup -q -n %{module}-%{version}
-%{!?with_bundled:%patch0 -p1}
-%patch1 -p1
-%patch2 -p1
+%patch0 -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 %{?with_tests:test}
%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 %{?with_tests:test}
%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_install
%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
%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
-%{!?with_bundled:%{__rm} -rf $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