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

%global         srcname     google-cloud-spanner
%global         forgeurl
Version:        3.12.1
%global         tag         v%{version}

Name:           python-%{srcname}
Release:        %autorelease
Summary:        Python Client for Google Cloud Spanner

License:        ASL 2.0
URL:            %forgeurl
Source0:        %forgesource
Patch0:         python-google-cloud-spanner-mock.patch

BuildArch:      noarch

BuildRequires:  python3-devel

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

%global _description %{expand:
Python Client for Google Cloud Spanner}

%description %{_description}

%package -n python3-%{srcname}
Summary:        %{summary}

%description -n python3-%{srcname} %{_description}

%package -n python3-%{srcname}-doc
Requires:       python3-docs
BuildRequires:  python3-docs
BuildRequires:  python3dist(recommonmark)
BuildRequires:  python3dist(sphinx)
Summary:        Documentation for python-%{srcname}

%description -n python3-%{srcname}-doc
Documentation for python-%{srcname}

%forgeautosetup -p1

%pyproject_buildrequires -r


# Generate documentation.
PYTHONPATH="${PWD}:${PWD}/docs/" sphinx-build docs html %{?_smp_mflags}
rm -rf html/.{doctrees,buildinfo}

%pyproject_save_files google

%if %{with tests}
# Work around an unusual pytest/PEP 420 issue where pytest can't import the
# installed module. Thanks to mhroncok for the help!
# NOTE(mhayden): Skip the cursor tests since most of them require credentials
# which are not included in the source repo.
mv google{,_}
%pytest --disable-warnings --ignore=tests/unit/spanner_dbapi/ tests/unit
mv google{_,}

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

%files -n python3-%{srcname}-doc
%doc html