Name: prefixer Version: 1.4.1 Release: 4%{?dist} Summary: Modern Proton prefix management CLI License: GPL-3.0-only URL: https://github.com/wojtmic/prefixer Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: %{name}-%{version}-rpm-assets.tar.gz BuildArch: noarch BuildRequires: python3-devel >= 3.13 BuildRequires: pyproject-rpm-macros Recommends: xdg-utils Recommends: wine %global _description %{expand: Prefixer is a command-line tool for managing Steam Proton prefixes. It offers fuzzy game-name matching, direct prefix modification, Steam integration, and a modular declarative JSON5 tweak format as a friendlier alternative to manually remembering Steam app IDs or running legacy prefix tools.} %description %{_description} %prep %autosetup -n %{name}-%{version} tar -xaf %{SOURCE1} # Fedora packages move faster than upstream exact-compatible pins. # Relax only dependency metadata; installed runtime code is unchanged. %if 0%{?fedora} >= 44 sed -i \ -e 's/"vdf~=3\.4"/"vdf>=3.4"/' \ -e 's/"json5~=0\.12\.1"/"json5>=0.12.1"/' \ -e 's/"requests~=2\.32\.5"/"requests>=2.32.5"/' \ -e 's/"click~=8\.2\.1"/"click>=8.2.1"/' \ pyproject.toml %else # Fedora 43 has older Click/RapidFuzz than upstream asks for. # Keep dependency names, but remove version floors so DNF can resolve distro packages. sed -i \ -e 's/"vdf~=3\.4"/"vdf"/' \ -e 's/"json5~=0\.12\.1"/"json5"/' \ -e 's/"requests~=2\.32\.5"/"requests"/' \ -e 's/"click~=8\.2\.1"/"click"/' \ -e 's/"rapidfuzz>=3\.14\.3"/"rapidfuzz"/' \ pyproject.toml %endif %generate_buildrequires %pyproject_buildrequires -r %build %pyproject_wheel %install %pyproject_install %pyproject_save_files %{name} install -Dpm 0644 assets/usr/share/bash-completion/completions/prefixer \ %{buildroot}%{_datadir}/bash-completion/completions/prefixer install -Dpm 0644 assets/usr/share/fish/vendor_completions.d/prefixer.fish \ %{buildroot}%{_datadir}/fish/vendor_completions.d/prefixer.fish install -Dpm 0644 assets/usr/share/zsh/site-functions/_prefixer \ %{buildroot}%{_datadir}/zsh/site-functions/_prefixer %check %pyproject_check_import PYTHONPATH=%{buildroot}%{python3_sitelib}:%{buildroot}%{python3_sitearch} \ %{buildroot}%{_bindir}/prefixer --help >/dev/null %files -f %{pyproject_files} %license LICENSE %doc README.md CHANGELOG.md CONTRIBUTING.md %{_bindir}/prefixer %{_datadir}/bash-completion/completions/prefixer %{_datadir}/fish/vendor_completions.d/prefixer.fish %{_datadir}/zsh/site-functions/_prefixer %changelog * Sun Apr 26 2026 sachesi - 1.4.1-4 - Add pregenerated Bash, Fish, and Zsh completions under assets * Sun Apr 26 2026 sachesi - 1.4.1-3 - Relax Click and RapidFuzz dependency metadata further on Fedora 43 * Sun Apr 26 2026 sachesi - 1.4.1-2 - Relax upstream Python dependency pins for Fedora/COPR buildroots * Sun Apr 26 2026 sachesi - 1.4.1-1 - Initial RPM package for Prefixer 1.4.1