# ttfx.spec — Quattro's terminal text-effects engine for Fedora. Name: ttfx Version: 0.3.1 Release: 2%{?dist} Summary: Terminal text effects as a native Rust binary License: MIT AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) URL: https://github.com/omacom-io/ttfx Source0: https://codeload.github.com/omacom-io/ttfx/tar.gz/refs/tags/v%{version}#/%{name}-%{version}.tar.gz Source1: %{name}-%{version}-vendor.tar.zst # EL10 glibc rounds pow/exp2 a few ulps off the upstream parity platform's # glibc; the bit-exact easing golden fails (4 ulps, OutExpo). Allow a small # ulp budget in the test — quantized effect output absorbs it. Patch0: ttfx-easing-goldens-ulp-tolerance.patch ExclusiveArch: x86_64 BuildRequires: cargo BuildRequires: rust BuildRequires: cargo-rpm-macros >= 24 Obsoletes: python3-terminaltexteffects < 0.15.1 %description ttfx is a fast native Rust port of TerminalTextEffects. Quattro uses it for the animated screensaver and first-run console presentation. %prep %autosetup -n %{name}-%{version} -p1 %setup -q -T -D -a 1 -n %{name}-%{version} %cargo_prep -v vendor %build %cargo_build %{cargo_license_summary} %{cargo_license} > LICENSE.dependencies %{cargo_vendor_manifest} %install install -D -m 0755 target/release/ttfx %{buildroot}%{_bindir}/ttfx install -d %{buildroot}%{_datadir}/bash-completion/completions target/release/ttfx --print-completion bash \ > %{buildroot}%{_datadir}/bash-completion/completions/ttfx install -d %{buildroot}%{_datadir}/zsh/site-functions target/release/ttfx --print-completion zsh \ > %{buildroot}%{_datadir}/zsh/site-functions/_ttfx %check %cargo_test %{buildroot}%{_bindir}/ttfx --help >/dev/null %files %license LICENSE %license NOTICE %license LICENSE.dependencies %license cargo-vendor.txt %doc README.md %{_bindir}/ttfx %{_datadir}/bash-completion/completions/ttfx %{_datadir}/zsh/site-functions/_ttfx %changelog * Mon Aug 24 2026 Axel Kaliff - 0.3.1-2 - Relax the easing golden test to an 8-ulp budget: EL10 glibc rounds pow/exp2 a few ulps off the parity platform, failing bit-exactness. * Wed Aug 12 2026 omedora - 0.3.1-1 - Package Quattro's native terminal-effects engine from source. - Build hermetically from the release Cargo.lock and ship shell completions.