Blob Blame History Raw
# tests are enabled by default
%bcond_without tests

%global         srcname     google-cloud-kms
%global         forgeurl
Version:        2.11.1
%global         tag         v%{version}

Name:           python-%{srcname}
Release:        %autorelease
Summary:        Python Client for Google Cloud Key Management Service (KMS) API

License:        ASL 2.0
URL:            %forgeurl
Source0:        %forgesource
# Fix mock > unittest.mock. Made PRs to upstream and they are aware but not
# accepting patches for this right now.
Patch0:         python-google-cloud-kms-mock-fix.patch

BuildArch:      noarch

BuildRequires:  python3-devel

# NOTE(mhayden): Upstream dropped a requirement on setuptools, so these two are required.
BuildRequires:  pyproject-rpm-macros
BuildRequires:  python3-setuptools

%if %{with tests}
BuildRequires:  python3dist(cryptography)
BuildRequires:  python3dist(pem)
BuildRequires:  python3dist(pytest)
BuildRequires:  python3dist(pytest-asyncio)

%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}

%forgeautosetup -p1

%pyproject_buildrequires -r


%pyproject_save_files google

# Remove unneeded executable.
rm -f %{buildroot}/%{_bindir}/

%if %{with tests}
# 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{_,}

%files -n python3-%{srcname} -f %{pyproject_files}
%license LICENSE
%doc README.rst