Blob Blame History Raw
%global srcname compreffor
%global forgeurl https://github.com/googlefonts/%{srcname}
%global tag %{version}

Name:           python-%{srcname}
Version:        0.5.1
%forgemeta
Release:        %autorelease
Summary:        CFF table subroutinizer for FontTools

License:        ASL 2.0
URL:            %{forgeurl}
Source0:        %{forgesource}
# Downstream man page
Source1:        %{srcname}.1

# Fix collections.abc import for Python 3.9 (#142)
# https://github.com/googlefonts/compreffor/pull/142
Patch0:         %{forgeurl}/commit/1ddd8416cd2e998d783def2ba392cea9c9fce346.patch

BuildRequires:  python3-devel
BuildRequires:  pyproject-rpm-macros

BuildRequires:  make
BuildRequires:  gcc-c++
# From setup.py: cython_min_version = '0.29.21'
BuildRequires:  %{py3_dist Cython} >= 0.29.21

%global common_description %{expand:
A CFF (Compact Font Format) table subroutinizer for FontTools.}

%description %{common_description}


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

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


%prep
%forgeautosetup -p1
cp -vp '%{SOURCE1}' .

# Allow newer fonttools:
sed -r -i 's/==/>=/' requirements.txt

# Remove shebangs from modules:
grep -Elr '^#!' src | xargs -r sed -r -i '1{/^#!/d}'

# Remove Cython-generated sources; we must ensure they are regenerated.
find src/cython -type f -name '*.c*' -print -delete


%generate_buildrequires
%pyproject_buildrequires -t


%build
%pyproject_wheel


%install
%pyproject_install
%pyproject_save_files %{srcname}
install -t '%{buildroot}%{_mandir}/man1' -p -m 0644 -D '%{srcname}.1'


%check
%tox


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

%{_bindir}/%{srcname}
%{_mandir}/man1/%{srcname}.1*


%changelog
%autochangelog