%global forgeurl https://github.com/herdrdev/herdr # Rust release builds carry no debug info by default, so an empty debuginfo # subpackage would fail the build. %global debug_package %{nil} Name: herdr Version: 0.8.2 Release: 1%{?dist} Summary: Terminal workspace manager for AI coding agents License: Apache-2.0 URL: https://herdr.dev Source0: %{forgeurl}/archive/v%{version}/%{name}-%{version}.tar.gz BuildRequires: rust BuildRequires: cargo BuildRequires: gcc # build.rs invokes `zig build` to compile the vendored libghostty-vt static # library. The vendored copy sets minimum_zig_version 0.15.2. BuildRequires: zig >= 0.15.2 # Notification sounds are played by shelling out to whichever of these is # present; the binary degrades silently if none is. pw-play ships in # pipewire-utils and is present on a default Fedora desktop anyway. Recommends: pipewire-utils # build.rs only maps x86_64 and aarch64 to Zig targets for Linux. ExclusiveArch: x86_64 aarch64 %description herdr is a terminal user interface for running and supervising multiple AI coding agents side by side. It manages panes, tracks each agent's state (working, idle, blocked on input), and notifies you when one needs attention, so several agents can be kept busy from a single terminal. %prep %autosetup -n %{name}-%{version} %build export CARGO_HOME="%{_builddir}/.cargo" # Zig needs writable cache directories and, on first run, fetches the # vendored library's own dependencies over the network. export ZIG_GLOBAL_CACHE_DIR="%{_builddir}/.cache/zig" export ZIG_LOCAL_CACHE_DIR="%{_builddir}/.cache/zig-local" %{?build_rustflags:export RUSTFLAGS="%{build_rustflags}"} cargo build --release --locked %install install -Dpm0755 target/release/%{name} %{buildroot}%{_bindir}/%{name} # Shell completions, generated by the binary we just built. BIN=target/release/%{name} install -d %{buildroot}%{_datadir}/bash-completion/completions $BIN completion bash > %{buildroot}%{_datadir}/bash-completion/completions/%{name} install -d %{buildroot}%{_datadir}/zsh/site-functions $BIN completion zsh > %{buildroot}%{_datadir}/zsh/site-functions/_%{name} install -d %{buildroot}%{_datadir}/fish/vendor_completions.d $BIN completion fish > %{buildroot}%{_datadir}/fish/vendor_completions.d/%{name}.fish %check target/release/%{name} --version %files %license LICENSE %doc README.md CHANGELOG.md %{_bindir}/%{name} %{_datadir}/bash-completion/completions/%{name} %{_datadir}/zsh/site-functions/_%{name} %{_datadir}/fish/vendor_completions.d/%{name}.fish %changelog * Fri Aug 28 2026 Your Name - 0.8.2-1 - Initial package