3 %bcond_without doc # Sphinx documentation
4 %bcond_without tests # test action
6 %define module werkzeug
7 Summary: The Swiss Army knife of Python web development
8 Summary(pl.UTF-8): Scyzoryk szwajcarski programisty aplikacji WWW
9 Name: python3-%{module}
13 Group: Development/Languages/Python
14 # pypi release misses docs/_themes directory
15 ##Source0Download: https://pypi.org/simple/Werkzeug
16 #Source0: https://files.pythonhosted.org/packages/source/W/Werkzeug/Werkzeug-%{version}.tar.gz
17 #Source0Download: https://github.com/pallets/werkzeug/releases
18 Source0: https://github.com/pallets/werkzeug/archive/%{version}/werkzeug-%{version}.tar.gz
19 # Source0-md5: 3da84b7479521f8e8c2003cc4006b439
20 URL: https://werkzeug.palletsprojects.com/
21 BuildRequires: python3-devel >= 1:3.7
22 BuildRequires: python3-modules >= 1:3.7
23 BuildRequires: python3-setuptools
25 BuildRequires: python3-cryptography
26 BuildRequires: python3-ephemeral_port_reserve
27 BuildRequires: python3-greenlet
28 BuildRequires: python3-markupsafe >= 2.1.1
29 BuildRequires: python3-pyOpenSSL
30 BuildRequires: python3-pytest
31 BuildRequires: python3-pytest-timeout
32 BuildRequires: python3-pytest-xprocess
33 BuildRequires: python3-requests
35 #BuildRequires: python3-watchdog
37 BuildRequires: rpm-pythonprov
38 BuildRequires: rpmbuild(macros) >= 1.714
40 BuildRequires: python3-pallets-sphinx-themes
41 BuildRequires: python3-sphinx_issues
42 BuildRequires: python3-sphinxcontrib-log-cabinet
43 BuildRequires: sphinx-pdg-3
45 Requires: python3-modules >= 1:3.7
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 Werkzeug started as simple collection of various utilities for WSGI
51 applications and has become one of the most advanced WSGI utility
52 modules. It includes a powerful debugger, full featured request and
53 response objects, HTTP utilities to handle entity tags, cache control
54 headers, HTTP dates, cookie handling, file uploads, a powerful URL
55 routing system and a bunch of community contributed addon modules.
57 %description -l pl.UTF-8
58 Werkzeug początkowo był prostym zbiorem różnych narzędzi dla aplikacji
59 WSGI, a stał się jednym z najbardziej zaawansowanych modułów
60 narzędziowych WSGI. Zawiera potężny debugger, obiekty żądania i
61 odpowiedzi z pełną funkcjonalnością, narzędzia HTTP do obsługi
62 znaczników encji, nagłówki sterujące buforowaniem, daty HTTP, obsługę
63 ciasteczek, przesyłanie plików, potężny system trasowania URL oraz
64 wiele dodatkowych modułów udostępnionych przez społeczność.
67 Summary: Documentation for Python Werkzeug package
68 Summary(pl.UTF-8): Dokumentacja do pakietu Pythona Werkzeug
72 Documentation for Python Werkzeug package.
74 %description apidocs -l pl.UTF-8
75 Dokumentacja do pakietu Pythona Werkzeug.
78 %setup -q -n werkzeug-%{version}
85 PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \
86 PYTEST_PLUGINS=pytest_timeout,xprocess.pytest_xprocess \
87 PYTHONPATH=$(pwd)/src \
88 %{__python3} -m pytest tests -m 'not dev_server' -k 'not test_exclude_patterns'
89 # dev_server tests fail with connection refused(?)
90 # test_exclude_patterns seems to fail with sys.prefix == sys.base_prefix (?)
94 PYTHONPATH=$(pwd)/src \
95 %{__make} -C docs html \
96 SPHINXBUILD=sphinx-build-3
100 rm -rf $RPM_BUILD_ROOT
104 install -d $RPM_BUILD_ROOT%{_examplesdir}/python3-%{module}-%{version}
105 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/python3-%{module}-%{version}
106 find $RPM_BUILD_ROOT%{_examplesdir}/python3-%{module}-%{version} -name '*.py' \
107 | xargs sed -i '1s|^#!.*python\b|#!%{__python3}|'
110 rm -rf $RPM_BUILD_ROOT
113 %defattr(644,root,root,755)
114 %doc CHANGES.rst LICENSE.rst README.rst
115 %{py3_sitescriptdir}/werkzeug
116 %{py3_sitescriptdir}/Werkzeug-%{version}-py*.egg-info
117 %{_examplesdir}/python3-%{module}-%{version}
121 %defattr(644,root,root,755)
122 %doc docs/_build/html/{_images,_static,deployment,middleware,*.html,*.js}