# 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_without doc_pdf Name: python-sure Version: 2.0.0 Release: %autorelease Summary: Idiomatic assertion toolkit with human-friendly failure messages License: GPLv3+ URL: https://github.com/gabrielfalcao/sure Source0: %{url}/archive/%{version}/sure-%{version}.tar.gz # Trivial downstream man page for (nearly pointless) executable Source1: sure.1 # Python 3.10 workaround # In test_context_is_not_optional(), only check the exception type # https://github.com/gabrielfalcao/sure/issues/169 Patch0: python3.10-workaround.patch BuildArch: noarch BuildRequires: python3-devel # TODO: remove mock dependency from install_requires # https://fedoraproject.org/wiki/Changes/DeprecatePythonMock # https://github.com/gabrielfalcao/sure/pull/161 # Test dependencies # TODO: remove the test dependency on nose # https://fedoraproject.org/wiki/Changes/DeprecateNose BuildRequires: python3dist(nose) # development.txt: pytest==6.2.4 BuildRequires: python3dist(pytest) # development.txt: pytest-cov==2.12.1 # (We don’t need coverage reports, but it is easier to add the dependency than # to patch setup.cfg.) BuildRequires: python3dist(pytest-cov) # Documentation dependencies %if %{with doc_pdf} BuildRequires: make # development.txt: Sphinx==2.3.1 BuildRequires: python3dist(sphinx) # development.txt: sphinx-rtd-theme==0.4.3 BuildRequires: python3dist(sphinx-rtd-theme) BuildRequires: python3-docs BuildRequires: python3-sphinx-latex BuildRequires: latexmk %endif %global common_description %{expand: An idiomatic testing library for python with powerful and flexible assertions created by Gabriel Falcão. Sure’s developer experience is inspired and modeled after RSpec Expectations and should.js.} %description %{common_description} %package -n python3-sure Summary: %{summary} %description -n python3-sure %{common_description} %package doc Summary: Documentation for Sure Requires: python3-docs %description doc %{common_description} %prep %autosetup -p1 -n sure-%{version} # Use local inventories in intersphinx mappings. # # Currently, python-redis does not package the Sphinx documentation, so we # remove that mapping: # 'redis': ('https://redis-py.readthedocs.io/en/latest/', None) sed -r -i \ -e 's|https://docs.python.org/3?|/%{_docdir}/python3-docs/html|' \ -e '/redis.*https.*readthedocs/d' \ docs/source/conf.py cp -p '%{SOURCE1}' . %generate_buildrequires %pyproject_buildrequires -r %build %pyproject_wheel %if %{with doc_pdf} PYTHONPATH="${PWD}" %make_build -C docs latex SPHINXOPTS='%{?_smp_mflags}' %make_build -C docs/build/latex LATEXMKOPTS='-quiet' %endif %install %pyproject_install %pyproject_save_files sure install -t '%{buildroot}%{_mandir}/man1' -D -p -m 0644 sure.1 %check %pytest %files -n python3-sure -f %{pyproject_files} %{_bindir}/sure %{_mandir}/man1/sure.1* %files doc %license COPYING %doc CHANGELOG.md %doc README.rst %doc TODO.rst %if %{with doc_pdf} %doc docs/build/latex/Sure.pdf %endif %changelog %autochangelog