%define _debugsource_template %{nil} %define debug_package %{nil} %bcond_with vendored %global app_id com.github.sachesi.leyen Name: leyen Version: 0.2.8 Release: 1%{?dist} Summary: umu-launcher GUI for managing Wine/Proton games License: GPL-3.0-or-later URL: https://github.com/sachesi/leyen Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz %if %{with vendored} Source1: %{name}-%{version}-vendor.tar.zst %endif BuildRequires: cargo BuildRequires: rust >= 1.85 BuildRequires: gcc BuildRequires: pkgconfig(gtk4) BuildRequires: pkgconfig(libadwaita-1) BuildRequires: desktop-file-utils Requires: curl Requires: tar Requires: hicolor-icon-theme Recommends: mangohud Recommends: gamemode Recommends: winetricks %description Leyen is a modern GTK4/libadwaita frontend for managing Wine/Proton games using umu-launcher. It supports per-game Proton selection, custom Wine prefixes, MangoHud, GameMode, NTSync, WoW64, and a built-in dependency installer for Visual C++, .NET, DirectX, and more. %prep %autosetup -n %{name}-%{version} rm -f rust-toolchain.toml %if %{with vendored} # Source1: # make copr # # It must contain: # vendor/ # .cargo/config.toml # # The config must be generated with: # cargo vendor vendor > .cargo/config.toml tar -xaf %{SOURCE1} test -d vendor test -f .cargo/config.toml %endif %build export CARGO_HOME="$PWD/.cargo-home" export RUSTFLAGS="%{?build_rustflags}" # Optional local-only Cargo target cache. # The Makefile passes this only for local binary RPM builds: # make rpm # make ba # make rpm-local # make ba-local # # COPR and SRPM builds do not use it. %if 0%{?_cargo_target_dir:1} export CARGO_TARGET_DIR="%{_cargo_target_dir}" %endif %if %{with vendored} export CARGO_NET_OFFLINE=true cargo build --release --frozen --offline %else cargo build --release %endif %install %if 0%{?_cargo_target_dir:1} install -Dpm 0755 "%{_cargo_target_dir}/release/%{name}" \ %{buildroot}%{_bindir}/%{name} %else install -Dpm 0755 target/release/%{name} \ %{buildroot}%{_bindir}/%{name} %endif install -Dpm 0644 assets/usr/share/applications/%{app_id}.desktop \ %{buildroot}%{_datadir}/applications/%{app_id}.desktop install -Dpm 0644 assets/usr/share/icons/hicolor/256x256/apps/%{app_id}.svg \ %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{app_id}.svg # Shell completions. Source files live under assets/ using canonical filesystem # layout; install Bash completion as "leyen" for bash-completion lookup. install -Dpm 0644 assets/usr/share/bash-completion/completions/leyen.bash \ %{buildroot}%{_datadir}/bash-completion/completions/%{name} install -Dpm 0644 assets/usr/share/fish/vendor_completions.d/leyen.fish \ %{buildroot}%{_datadir}/fish/vendor_completions.d/%{name}.fish install -Dpm 0644 assets/usr/share/zsh/site-functions/_leyen \ %{buildroot}%{_datadir}/zsh/site-functions/_%{name} %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{app_id}.desktop test -x %{buildroot}%{_bindir}/%{name} test -f %{buildroot}%{_datadir}/bash-completion/completions/%{name} test -f %{buildroot}%{_datadir}/fish/vendor_completions.d/%{name}.fish test -f %{buildroot}%{_datadir}/zsh/site-functions/_%{name} %files %license LICENSE* %doc README* docs/ %{_bindir}/%{name} %{_datadir}/applications/%{app_id}.desktop %{_datadir}/icons/hicolor/256x256/apps/%{app_id}.svg %{_datadir}/bash-completion/completions/%{name} %{_datadir}/fish/vendor_completions.d/%{name}.fish %{_datadir}/zsh/site-functions/_%{name} %changelog * Thu Apr 30 2026 sachesi - 0.2.3-1 - Bump version to 0.2.3 * Sun Apr 26 2026 sachesi - 0.2.2-5 - Add optional local-only Cargo target cache support for faster iterative RPM builds * Sun Apr 26 2026 sachesi - 0.2.2-4 - Make vendored mode conditional and default-enabled for COPR offline rebuilds - Allow local online builds with --without vendored - Install Bash completion under canonical bash-completion command name * Sun Apr 26 2026 sachesi - 0.2.2-3 - Update packaging * Sun Apr 26 2026 sachesi - 0.2.2-2 - Update packaging - Update completions - Fix version * Sun Apr 26 2026 sachesi - 0.2.2-1 - UI: hide unavailable MangoHud and GameMode toggles - Bump version to 0.2.2 * Sun Apr 26 2026 sachesi - 0.2.1-1 - Modify README, add documentation - Add pregenerated Bash, Fish, and Zsh completions under assets * Sun Apr 26 2026 sachesi - 0.2.0-1 - Rework dependency management around tracked prefix state and profiles - Add group, game, and global dependency tools with managed-prefix ownership - Add menu entry naming updates and pick-and-run prefix tools * Sat Apr 25 2026 sachesi - 0.1.5-1 - Add desktop integration for per-game menu launchers via leyen run - Store managed game and group icons under hicolor app icon paths - Add menu toggle actions to game settings tools * Sat Apr 25 2026 sachesi - 0.1.4-1 - Add managed game and group icons with desktop asset packaging - Refine library sorting, running-game promotion, and card icon rendering - Make custom prefix overrides opt-in in add and edit dialogs * Sat Apr 25 2026 sachesi - 0.1.3-1 - Recheck runtime tracking, CLI flow, and packaging helper docs - Tighten download transport defaults for runtime fetches * Sat Apr 25 2026 sachesi - 0.1.2-1 - Bump release version to 0.1.2 * Fri Apr 24 2026 sachesi - 0.1.0-1 - COPR/local workflow - Use GitHub tag archive Source0 with %%autosetup * Wed Apr 01 2026 sachesi - 0.1.0-1 - Initial Fedora spec file