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

Name:           python-compreffor
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:        compreffor.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:  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-compreffor
Summary:        %{summary}

%description -n python3-compreffor %{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 compreffor
install -t '%{buildroot}%{_mandir}/man1' -p -m 0644 -D 'compreffor.1'


%check
%tox


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

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


%changelog
%autochangelog