## START: Set by rpmautospec
## (rpmautospec version 0.3.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 1;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

%bcond_without tests

%global         srcname     google-cloud-kms
%global         forgeurl    https://github.com/googleapis/python-kms
Version:        2.17.0
%global         tag         v%{version}
%forgemeta

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

License:        Apache-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


%check
%pyproject_check_import -e google.cloud.kms*

%if %{with tests}
# NOTE(mhayden): Setting PYTHONUSERBASE as a hack for PEP 420 namespaces.
# Thanks to churchyard for the fix.
PYTHONUSERBASE=%{buildroot}%{_prefix} \
    %pytest tests/unit
%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
* Tue May 16 2023 Major Hayden <major@redhat.com> - 2.17.0-1
- Update to 2.17.0 rhbz#2207627

* Thu Apr 06 2023 Major Hayden <major@redhat.com> - 2.16.1-1
- Update to 2.16.1 rhbz#2182510

* Mon Mar 27 2023 Major Hayden <major@redhat.com> - 2.16.0-1
- Update to 2.16.0 rhbz#2182133

* Wed Mar 01 2023 Major Hayden <major@redhat.com> - 2.15.0-1
- Update to 2.15.0 rhbz#2173119

* Tue Feb 21 2023 Major Hayden <major@redhat.com> - 2.14.1-1
- Update to 2.14.1

* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Wed Oct 19 2022 Major Hayden <major@redhat.com> - 2.12.3-1
- Update to 2.12.3 rhbz#2131867

* Mon Jul 25 2022 fkolwa <fkolwa@redhat.com> - 2.12.0-1
- Update to 2.12.0 rhbz#2107233

* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Tue Jun 28 2022 Python Maint <python-maint@redhat.com> - 2.11.2-2
- Rebuilt for Python 3.11

* Mon Jun 13 2022 Major Hayden <major@redhat.com> - 2.11.2-1
- Update to 2.11.2

* Tue Mar 08 2022 Major Hayden <major@mhtx.net> - 2.11.1-1
- Update to 2.11.1

* Fri Feb 04 2022 Major Hayden <major@mhtx.net> - 2.11.0-1
- Update to 2.11.0

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Tue Nov 02 2021 Major Hayden <major@mhtx.net> - 2.10.1-1
- Update to 2.10.1

* Tue Oct 19 2021 Major Hayden <major@mhtx.net> - 2.10.0-1
- Update to 2.10.0

* Tue Oct 12 2021 Major Hayden <major@mhtx.net> - 2.9.0-1
- Update to 2.9.0

* Fri Oct 01 2021 Major Hayden <major@mhtx.net> - 2.8.0-1
- Update to 2.8.0

* Thu Sep 30 2021 Major Hayden <major@mhtx.net> - 2.7.0-1
- Update to 2.7.0

* Mon Sep 27 2021 Major Hayden <major@mhtx.net> - 2.6.1-1
- Update to 2.6.1

* Fri Sep 17 2021 Major Hayden <major@mhtx.net> - 2.6.0-3
- Fix tests with PEP 420 workaround

* Thu Sep 09 2021 Major Hayden <major@mhtx.net> - 2.6.0-2
- Move to rpmautospec

* Tue Aug 31 2021 Major Hayden <major@mhtx.net> - 2.6.0-1
- Update to 2.6.0

* Tue Aug 24 2021 Major Hayden <major@mhtx.net> - 2.5.0-1
- Initial import (#1996872)