# TwintailLauncher.spec (Native RPM Build) Name: twintaillauncher Version: 0.0.0 Release: 1%{?dist} Summary: A multi-platform launcher for your anime games (Tauri-based) License: GPL-3.0-only URL: [https://github.com/TwintailTeam/TwintailLauncher](https://github.com/TwintailTeam/TwintailLauncher) Source0: %{url}.git # Runtime dependencies Requires: cairo Requires: desktop-file-utils Requires: gdk-pixbuf2 Requires: glib2 Requires: gtk3 Requires: hicolor-icon-theme Requires: pango Requires: webkit2gtk4.1 Requires: libappindicator-gtk3 Requires: libayatana-appindicator # Build dependencies BuildRequires: git BuildRequires: openssl-devel BuildRequires: gtk3-devel BuildRequires: libappindicator-gtk3-devel BuildRequires: librsvg2-devel BuildRequires: cargo BuildRequires: nodejs BuildRequires: pkgconfig BuildRequires: clang BuildRequires: make BuildRequires: webkit2gtk4.1-devel # Important: install this package to provide webkit2gtk-4.1.pc for building %global _description TwintailLauncher — A multi-platform launcher for anime games, built using Tauri. %description %{_description} %prep %setup -q -n %{name} # Clone the repo manually since Source0 is a git repo if [ ! -d TwintailLauncher ]; then git clone --branch master %{url} TwintailLauncher fi cd TwintailLauncher echo "Version: $(git rev-list --count HEAD).$(git rev-parse --short=7 HEAD)" %build cd TwintailLauncher # Install local pnpm npm install -g pnpm # Install JS dependencies pnpm install # Build native binary (no AppImage) pnpm build:native --no-bundle %install cd TwintailLauncher # Install binary install -Dm755 src-tauri/target/release/twintaillauncher %{buildroot}%{_bindir}/twintaillauncher # Install resources dest=%{buildroot}%{_libdir}/twintaillauncher/resources install -d $dest install -Dm755 src-tauri/target/release/resources/mangohud_default.conf -t $dest install -Dm755 src-tauri/target/release/resources/hpatchz -t $dest install -Dm755 src-tauri/target/release/resources/7zr -t $dest install -Dm755 src-tauri/target/release/resources/reaper -t $dest install -Dm644 src-tauri/target/release/resources/hkrpg_patch.dll -t $dest # Install desktop entry install -Dm644 twintaillauncher.desktop %{buildroot}%{_datadir}/applications/twintaillauncher.desktop # Icons install -Dm644 src-tauri/icons/32x32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/twintaillauncher.png install -Dm644 src-tauri/icons/128x128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/twintaillauncher.png install -Dm644 src-tauri/icons/128x128@2x.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/twintaillauncher.png # License install -Dm644 LICENSE %{buildroot}%{_licensedir}/%{name} %files %license %{_licensedir}/%{name} %{_bindir}/twintaillauncher %{_datadir}/applications/twintaillauncher.desktop %{_datadir}/icons/hicolor/*/apps/twintaillauncher.png %{_libdir}/twintaillauncher/ %changelog * Thu Nov 19 2025 HappyLikeAWall - 0.0.0-1 - Initial RPM Fedora package (native binary install) - Added comment to ensure webkit2gtk4.1-devel is installed for builds