%global srcname beanquery Name: python-%{srcname} Version: 0.1.0 Release: %autorelease Summary: Customizable lightweight SQL query tool for Beancount License: GPL-2.0-only URL: https://github.com/beancount/beanquery # PyPI tarball doesn't include the parser source Source: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-docs BuildRequires: sed %global _description %{expand: Beanquery is a customizable and extensible lightweight SQL query tool that works on tabular data, including Beancount ledger data.} %description %_description %package -n %{srcname} Summary: %{summary} Requires: python3-%{srcname} = %{version}-%{release} %description -n %{srcname} %_description %package -n python3-%{srcname} Summary: %{summary} %description -n python3-%{srcname} %_description %package -n %{srcname}-doc Summary: Documentation and examples for %{srcname} Requires: python3-docs %description -n %{srcname}-doc %_description This package contains additional documentation and examples for %{srcname}. %prep %autosetup -p1 -n %{srcname}-%{version} # Relax tatsu version pin sed -i 's/tatsu >= 5.7.4, < 5.8.0/tatsu >= 5.7.4/' pyproject.toml # Remove pregenerated parser rm beanquery/parser/parser.py # Use local intersphinx inventory sed -r \ -e 's|https://docs.python.org/3|%{_docdir}/python3-docs/html|' \ -i docs/conf.py %generate_buildrequires %pyproject_buildrequires -x docs %build tatsu -o beanquery/parser/parser.py beanquery/parser/bql.ebnf %pyproject_wheel sphinx-build -b html docs build/docs %install %pyproject_install %pyproject_save_files -l %{srcname} # Remove spurious directory rm -r %{buildroot}%{python3_sitelib}/docs/ %check %pytest -v %files -n %{srcname} %doc README.rst %{_bindir}/bean-query %files -n %{srcname}-doc %license LICENSE %doc build/docs %files -n python3-%{srcname} -f %{pyproject_files} %changelog %autochangelog