# Sphinx-generated HTML documentation is not suitable for packaging; see
# https://bugzilla.redhat.com/show_bug.cgi?id=2006555 for discussion.
#
# We can generate PDF documentation as a substitute.
%bcond doc_pdf 1
Name: python-simple-websocket
Version: 1.0.0
Release: 2%{?dist}
Summary: Simple WebSocket server and client for Python
BuildArch: noarch
License: MIT
URL: https://github.com/miguelgrinberg/simple-websocket
Source0: https://github.com/miguelgrinberg/simple-websocket/archive/refs/tags/v%{version}/simple-websocket-%{version}.tar.gz
# Patch out test coverage analysis
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
Patch0: omit-coverage-tests.patch
BuildRequires: python3-devel
# Documentation
%if %{with doc_pdf}
BuildRequires: make
BuildRequires: python3dist(sphinx)
BuildRequires: python3-sphinx-latex
BuildRequires: latexmk
%endif
%description
Simple WebSocket server and client for Python
%package -n python3-simple-websocket
Summary: %{summary}
%description -n python3-simple-websocket
Simple WebSocket server and client for Python.
%package doc
Summary: Documentation for simple-websocket
%description doc
Documentation for simple-websocket.
%prep
%autosetup -p1 -n simple-websocket-%{version}
%generate_buildrequires
%pyproject_buildrequires -t
%build
%pyproject_wheel
%if %{with doc_pdf}
PYTHONPATH="${PWD}/src" %make_build -C docs latex \
SPHINXOPTS='-j%{?_smp_build_ncpus}'
%make_build -C docs/_build/latex LATEXMKOPTS='-quiet'
%endif
%install
%pyproject_install
%pyproject_save_files simple_websocket
%check
%pytest
%files -n python3-simple-websocket -f %{pyproject_files}
%license LICENSE
%files doc
%doc CHANGES.md
%doc README.md
%if %{with doc_pdf}
%doc docs/_build/latex/simple-websocket.pdf
%endif
%doc examples/
%changelog
* Tue Oct 17 2023 Sandro Mani - 1.0.0-2
- Use GitHub source
- Builds docs
- Ship examples as docs
* Tue Oct 17 2023 Sandro Mani - 1.0.0-1
- Initial package