X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=python-requests.spec;h=4811453565b18959219f837f2960aa7aea0ebda4;hb=2d606466e5a59a1fab0e77be5fde1f4940a12b57;hp=081e362c2a52c22902a197204d1fea2360afdf66;hpb=e36cf5c1c4a3bd5b3ec6023955eb9a4989af15df;p=packages%2Fpython-requests.git diff --git a/python-requests.spec b/python-requests.spec index 081e362..4811453 100644 --- a/python-requests.spec +++ b/python-requests.spec @@ -1,36 +1,61 @@ -# TODO -# - bundled external libs? packages/ contains: -# chardet/ -# chardet2/ -# oauthlib/ # # Conditional build: -%bcond_without doc # HTML documentation build +%bcond_with tests # perform "make test" +%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 -Summary: HTTP library for Python -Summary(pl.UTF-8): Biblioteka HTTP dla Pythona +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 +Version: 2.9.1 +Release: 1 +License: Apache2 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 +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 +%if %{with python2} +BuildRequires: python-modules >= 1:2.6 +%if %{without bundled} +BuildRequires: python-charade +BuildRequires: python-urllib3 >= %{urllib3ver} +%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} +%endif 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 +Requires: ca-certificates +Requires: python-modules >= 1:2.6 +%if %{without bundled} +Requires: python-charade +Requires: python-urllib3 >= %{urllib3ver} +%endif +# for python2 only to get SNI working. python3 doesn't need this +Requires: python-ndg-httpsclient +Requires: python-pyasn1 +Requires: python-pyOpenSSL 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 +64,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 +75,21 @@ 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-modules >= 1:3.2 +%if %{without bundled} +Requires: python3-charade +Requires: python3-urllib3 >= %{urllib3ver} +%endif %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 +98,67 @@ 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} +%{!?with_bundled:%patch0 -p1} +%patch1 -p1 %build -ver=$(%{__python} -c "import requests; print requests.__version__") -test "$ver" = %{version} - -mkdir py2-egg py3-egg -%{__python} setup.py build --build-base py2 -%{__python3} setup.py build --build-base py3 +%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 ..} +%endif -%if %{with doc} -%{__make} -C docs html +%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 ..} %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_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir} +%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir} %py_postclean +%endif + +%if %{with python3} +%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 AUTHORS.rst LICENSE README.rst %{?with_doc:docs/_build/html} +%doc HISTORY.rst README.rst %{py_sitescriptdir}/%{module} %{py_sitescriptdir}/%{module}-%{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.rst README.rst %{py3_sitescriptdir}/%{module} %{py3_sitescriptdir}/%{module}-%{version}-py*.egg-info +%endif