%global pypi_name jsonschema-specifications %global pkg_name jsonschema_specifications %global with_tests 1 # Some documentation reqs are not yet packaged for EPEL %if ! 0%{?rhel} %global with_doc 1 %endif %global common_description %{expand: JSON support files from the JSON Schema Specifications (metaschemas, vocabularies, etc.), packaged for runtime access from Python as a referencing-based Schema Registry.} Name: python-%{pypi_name} Summary: JSON Schema meta-schemas and vocabularies, exposed as a Registry Version: 2023.7.1 Release: 1%{?dist} License: MIT URL: https://github.com/python-jsonschema/jsonschema-specifications Source0: %{pypi_source %{pkg_name}} BuildArch: noarch BuildRequires: python3-devel %description %{common_description} %package -n python3-%{pypi_name} Summary: %{summary} %description -n python3-%{pypi_name} %{common_description} %if 0%{?with_tests} %package -n python3-%{pypi_name}-tests Summary: Tests for the JSON Schema specifications Requires: python3-%{pypi_name} = %{version}-%{release} BuildRequires: python3dist(pytest) Requires: python3dist(pytest) %description -n python3-%{pypi_name}-tests Tests for the JSON Schema specifications %endif %if 0%{?with_doc} %package -n python3-%{pypi_name}-doc Summary: Documentation for the JSON Schema specifications Group: Documentation BuildRequires: python3dist(sphinx) BuildRequires: python3dist(sphinx-copybutton) BuildRequires: python3dist(sphinxext-opengraph) BuildRequires: python3dist(sphinxcontrib-spelling) %description -n python3-%{pypi_name}-doc Documentation for the JSON Schema specifications %endif %prep %autosetup -n %{pkg_name}-%{version} sed -i "/^file:.*/d" docs/requirements.in sed -i "/^pygments-github-lexers/d" docs/requirements.in %generate_buildrequires %if 0%{?with_doc} %pyproject_buildrequires -w docs/requirements.in %else %pyproject_buildrequires -w %endif %build %pyproject_wheel %install %pyproject_install %pyproject_save_files %{pkg_name} %if 0%{?with_doc} # generate html docs export PYTHONPATH="%{buildroot}/%{python3_sitelib}" sphinx-build-3 -b html docs docs/build/html # remove the sphinx-build-3 leftovers rm -rf docs/build/html/.{doctrees,buildinfo} %endif %if 0%{?with_tests} %check %pytest %endif %files -n python3-%{pypi_name} -f %{pyproject_files} %license COPYING %doc README.rst %exclude %{python3_sitelib}/%{pkg_name}/tests %if 0%{?with_tests} %files -n python3-%{pypi_name}-tests %license COPYING %{python3_sitelib}/%{pkg_name}/tests %endif %if 0%{?with_doc} %files -n python3-%{pypi_name}-doc %doc docs/build/html %endif %changelog * Mon Aug 07 2023 Joel Capitao - 2023.7.1-1 - Initial package.