Blame python-google-cloud-dms.spec

d235e68
%bcond_without tests
d235e68
d235e68
%global         srcname     google-cloud-dms
9afd2f6
%global         reponame    google-cloud-python
d235e68
d235e68
Name:           python-%{srcname}
c1480bd
Version:        1.7.2
d235e68
Release:        %autorelease
d235e68
Summary:        Python SDK for Google Cloud Database Migration Service
d235e68
75ef77f
License:        Apache-2.0
9afd2f6
URL:            https://github.com/googleapis/google-cloud-python
9afd2f6
Source0:        %{url}/archive/refs/tags/%{srcname}-v%{version}.tar.gz
d235e68
d235e68
BuildArch:      noarch
d235e68
d235e68
BuildRequires:  python3-devel
d235e68
d235e68
%if %{with tests}
d235e68
BuildRequires:  python3dist(pytest)
d235e68
BuildRequires:  python3dist(pytest-asyncio)
d235e68
%endif
d235e68
d235e68
%global _description %{expand:
d235e68
Cloud Database Migration Service: simplifies migrations to Cloud SQL.}
d235e68
d235e68
%description %{_description}
d235e68
d235e68
d235e68
%package -n python3-%{srcname}
d235e68
Summary:        %{summary}
d235e68
d235e68
%description -n python3-%{srcname} %{_description}
d235e68
d235e68
d235e68
%prep
9afd2f6
# Upstream buries the package into a subdirectory. 😭
9afd2f6
%setup -c -T
9afd2f6
tar xzf %{SOURCE0} --strip-components=3 \
9afd2f6
    %{reponame}-%{srcname}-v%{version}/packages/%{srcname}
d235e68
2d7650d
# Allow a slightly older protobuf.
2d7650d
sed -i 's/"protobuf.*",/"protobuf>=3.19.4",/' setup.py
2d7650d
b1eccef
# Replace mock imports with unittest.mock.
b1eccef
grep -rl "^[[:space:]]*import mock" tests | \
b1eccef
    xargs sed -i -E 's/^([[:space:]]*)import mock/\1from unittest import mock/'
b1eccef
d235e68
d235e68
%generate_buildrequires
75ef77f
%pyproject_buildrequires
d235e68
d235e68
d235e68
%build
d235e68
%pyproject_wheel
d235e68
d235e68
d235e68
%install
d235e68
%pyproject_install
d235e68
%pyproject_save_files google
d235e68
d235e68
# Remove unnecessary scripts.
d235e68
rm -f %{buildroot}%{_bindir}/fixup*
d235e68
d235e68
d235e68
%check
86df3ac
%pyproject_check_import -e 'google.cloud.clouddms*'
75ef77f
75ef77f
%if %{with tests}
75ef77f
# NOTE(mhayden): Setting PYTHONUSERBASE as a hack for PEP 420 namespaces.
75ef77f
# Thanks to churchyard for the fix.
75ef77f
PYTHONUSERBASE=%{buildroot}%{_prefix} \
75ef77f
    %pytest tests/unit
d235e68
%endif
d235e68
d235e68
d235e68
%files -n python3-%{srcname} -f %{pyproject_files}
d235e68
%doc README.rst CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.rst SECURITY.md
d235e68
%{python3_sitelib}/google_cloud_dms-%{version}-py%{python3_version}-nspkg.pth
d235e68
d235e68
d235e68
%changelog
d235e68
%autochangelog