# Generated by rust2rpm 28 %bcond check 1 %global crate brtr Name: rust-brtr Version: 0.3.0 Release: 5%{?dist} Summary: Lightweight, regex-based browser router for Linux License: MIT URL: https://crates.io/crates/brtr # Workaround: https://codeberg.org/bcow/brtr/issues/9 # Source: %{crates_source} Source: https://static.crates.io/crates/%{crate}/%{crate}-%{version}.crate # We need the actual compilers since we aren't using the macro-driven build BuildRequires: cargo BuildRequires: rust BuildRequires: desktop-file-utils BuildRequires: gcc %global _description %{expand: A lightweight, regex-based browser router for Linux.} %description %{_description} %package -n %{crate} Summary: %{summary} License: MIT %description -n %{crate} %{_description} %prep # Standard setup, but we SKIP %cargo_prep because it forces offline mode %autosetup -n %{crate}-%{version} -p1 %build # Use raw cargo. The --release flag is important for performance. cargo build --release %install # Since we aren't using %cargo_install (which expects RPM-packaged crates), # we manually install the binary from the target directory. install -Dpm 0755 target/release/%{crate} %{buildroot}%{_bindir}/%{crate} # Install .desktop file install -Dpm 0644 brtr.desktop %{buildroot}%{_datadir}/applications/brtr.desktop # Install Icon install -Dpm 0644 doc/icon.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/brtr.png # Install Examples mkdir -p %{buildroot}%{_docdir}/%{crate}/examples cp -rp examples/* %{buildroot}%{_docdir}/%{crate}/examples/ %check %if %{with check} # Run tests online cargo test %endif desktop-file-validate %{buildroot}%{_datadir}/applications/brtr.desktop %files -n %{crate} %license LICENSE %doc README.md %doc CHANGELOG.md %doc %{_docdir}/%{crate}/examples/ %{_bindir}/brtr %{_datadir}/applications/brtr.desktop %{_datadir}/icons/hicolor/256x256/apps/brtr.png %changelog %autochangelog