# Original project: https://github.com/RusNor/StartWine-Launcher Name: startwine Version: 422 Release: 1%{?dist} Summary: Windows application launcher for Linux License: GPL-3.0-or-later URL: https://github.com/RusNor/StartWine-Launcher Source0: StartWine_v%{version}.tar.gz Source1: ru.launcher.StartWine.desktop # Архитектура: x86_64 (так как Rust компилируется) ExclusiveArch: x86_64 # Сборка Rust BuildRequires: cargo BuildRequires: rust BuildRequires: gcc BuildRequires: gettext BuildRequires: pkgconfig(gtk4) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gio-2.0) BuildRequires: python3-devel BuildRequires: make BuildRequires: cmake BuildRequires: libepoxy-devel BuildRequires: LibRaw-devel BuildRequires: openssl-devel BuildRequires: pkgconfig(libssl) # Запуск Requires: python3 Requires: gtk4 Requires: fuse Requires: curl Requires: yad Requires: fuse-overlayfs %description StartWine is a Windows application launcher for GNU/Linux operating systems. It includes many features, extensions, and fixes to improve performance, visuals, and usability. %prep %autosetup -n StartWine-Launcher-StartWine_v%{version} ln -sf data/img img # Удаляем Cargo.lock, если есть, чтобы пересобрать зависимости rm -f Cargo.lock %build # Не используем ./build release - он проблемный # Собираем Rust компонент напрямую export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 # Сборка через cargo (стандартный макрос Fedora) %cargo_build # Проверяем, что бинарник создался ls -la %{cargo_target_directory}/release/ if [ ! -f %{cargo_target_directory}/release/sw_start ]; then echo "ERROR: sw_start not found in %{cargo_target_directory}/release/" find %{cargo_target_directory} -name "sw_start" 2>/dev/null || true exit 1 fi %install # Создаем директории %{__mkdir_p} %{buildroot}%{_bindir} %{__mkdir_p} %{buildroot}%{_datadir}/startwine %{__mkdir_p} %{buildroot}%{_datadir}/pixmaps %{__mkdir_p} %{buildroot}%{_datadir}/applications # Устанавливаем бинарник install -Dm755 %{cargo_target_directory}/release/sw_start %{buildroot}%{_bindir}/startwine # Копируем скрипты и данные (если есть) if [ -d data/scripts ]; then cp -r data/scripts %{buildroot}%{_datadir}/startwine/ 2>/dev/null || true fi if [ -d data/runtime ]; then cp -r data/runtime %{buildroot}%{_datadir}/startwine/ 2>/dev/null || true fi if [ -d data/img ]; then cp -r data/img %{buildroot}%{_datadir}/startwine/ 2>/dev/null || true fi # Иконка if [ -f data/img/gui_icons/sw_icon.png ]; then install -Dm644 data/img/gui_icons/sw_icon.png %{buildroot}%{_datadir}/pixmaps/startwine.png fi # .desktop файл install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/applications/ru.launcher.StartWine.desktop # Делаем скрипты исполняемыми find %{buildroot}%{_datadir}/startwine -name "*.sh" -exec chmod +x {} \; 2>/dev/null || true find %{buildroot}%{_datadir}/startwine -type f -executable -exec chmod +x {} \; 2>/dev/null || true %files %{_bindir}/startwine %{_datadir}/startwine/ %{_datadir}/pixmaps/startwine.png %{_datadir}/applications/ru.launcher.StartWine.desktop %license LICENSE %doc README.md %changelog * Sun Jun 07 2026 Wik217 - 422-1 - Initial RPM release for Fedora - Built from source code (x86_64 only)