%bcond tests 1 %bcond docs %{undefined rhel} Name: python-service-identity Version: 24.2.0 Release: 2%{?dist} Summary: Service identity verification for pyOpenSSL & cryptography License: MIT URL: https://github.com/pyca/service-identity Source: %{pypi_source service_identity} # Downstream-only patch to remove coverage[toml] test dependency Patch: 0001-Remove-coverage-toml-test-dependency.patch # Downstream-only patch to remove hatch-fancy-pypi-readme build-system dependency Patch: 0002-Remove-hatch-fancy-pypi-readme-build-system-dependency.patch BuildArch: noarch BuildRequires: python3-devel %global common_description %{expand: Use this package if you want to verify that a PyCA cryptography certificate is valid for a certain hostname or IP address, or if you use pyOpenSSL and don’t want to be MITMed, or if you want to inspect certificates from either for service IDs. service-identity aspires to give you all the tools you need for verifying whether a certificate is valid for the intended purposes. In the simplest case, this means host name verification. However, service-identity implements RFC 6125 fully.} %description %{common_description} %package -n python3-service-identity Summary: %{summary} %description -n python3-service-identity %{common_description} %package doc Summary: Documentation for %{name} %description doc %{common_description} This is the documentation package for %{name}. %pyproject_extras_subpkg -n python3-service-identity idna %prep %autosetup -p1 -n service_identity-%{version} %generate_buildrequires %pyproject_buildrequires %{?with_tests:-x tests,idna} %{?with_docs:-x docs} %build %pyproject_wheel %install %pyproject_install %pyproject_save_files -l service_identity %if %{with docs} # Previously the docs were built with PYTHONPATH=%%{pyproject_build_lib}, but # that macro is now deprecated. It also only works with setuptools, and # upstream switched to hatchling. Building the docs relies on the library # being installed, so we have to do it here in %%install instead of in %%build. PYTHONPATH=%{buildroot}%{python3_sitelib} sphinx-build docs html # remove the sphinx-build leftovers rm -rf html/.{doctrees,buildinfo} %endif %check %if %{with tests} %pytest -v %else %pyproject_check_import %endif %files -n python3-service-identity -f %{pyproject_files} %doc README.md %if %{with docs} %files doc %doc html %license LICENSE %endif %changelog