# F35: Do not update past 2.11.1. F35's protobuf is too old. # tests are enabled by default %bcond_without tests %global srcname google-cloud-kms %global forgeurl https://github.com/googleapis/python-kms Version: 2.12.3 %global tag v%{version} %forgemeta Name: python-%{srcname} Release: %autorelease Summary: Python Client for Google Cloud Key Management Service (KMS) API License: ASL 2.0 URL: %forgeurl Source0: %forgesource BuildArch: noarch BuildRequires: python3-devel %if %{with tests} BuildRequires: python3dist(cryptography) BuildRequires: python3dist(pem) BuildRequires: python3dist(pytest) BuildRequires: python3dist(pytest-asyncio) %endif %global _description %{expand: Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications via the Google Cloud Key Management Service (KMS) API.} %description %{_description} %package -n python3-%{srcname} Summary: %{summary} %description -n python3-%{srcname} %{_description} %prep %forgeautosetup -p1 # Allow a slightly older protobuf. sed -i 's/"protobuf.*",/"protobuf>=3.19.4",/' setup.py # Replace mock imports with unittest.mock. grep -rl "^[[:space:]]*import mock" tests | \ xargs sed -i -E 's/^([[:space:]]*)import mock/\1from unittest import mock/' %generate_buildrequires %pyproject_buildrequires -r %build %pyproject_wheel %install %pyproject_install %pyproject_save_files google # Remove unneeded executable. rm -f %{buildroot}/%{_bindir}/fixup_kms_v1_keywords.py %if %{with tests} %check # Work around an usual pytest/PEP 420 issue where pytest can't import the # installed module. Thanks to mhroncok for the help! mv google{,_} %pytest --disable-warnings --ignore=samples tests/unit mv google{_,} %endif %files -n python3-%{srcname} -f %{pyproject_files} %license LICENSE %doc README.rst CHANGELOG.md %{python3_sitelib}/google_cloud_kms-%{version}-py%{python3_version}-nspkg.pth %changelog %autochangelog