%global tag v1.3.1 %global pkg_version 1.3.1 # Disable debug package as Zig's build-id format often conflicts with RPM's check-buildroot %global debug_package %{nil} %global _missing_build_ids_terminate_build 0 Name: ly Version: %{pkg_version} Release: 1%{?dist} Summary: A lightweight TUI display manager for Linux and BSD License: WTFPL URL: https://github.com/fairyglade/ly Source0: %{url}/archive/%{tag}/%{name}-%{tag}.tar.gz BuildRequires: zig BuildRequires: systemd-devel BuildRequires: pam-devel BuildRequires: libxcb-devel Requires: pam Requires: xauth Requires: systemd %description Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD. It features a matrix animation and a simple, clean interface. %prep %autosetup -n %{name}-%{pkg_version} %build # Use a local cache to ensure the build environment remains isolated export ZIG_GLOBAL_CACHE_DIR=$(pwd)/.zig-cache zig build -Doptimize=ReleaseSafe -Dinit_system=systemd --summary all %install # 1. Install the binary manually from the zig output folder install -D -p -m 0755 zig-out/bin/ly %{buildroot}%{_bindir}/ly # 2. Install the configuration file install -D -p -m 0644 res/config.ini %{buildroot}%{_sysconfdir}/ly/config.ini # 3. Install the systemd service file # Note: In 1.3.1, the service file is typically located in res/ install -D -p -m 0644 res/ly.service %{buildroot}%{_unitdir}/ly.service # 4. Install the language/data files mkdir -p %{buildroot}%{_datadir}/ly cp -r res/lang %{buildroot}%{_datadir}/ly/ %post %systemd_post ly.service %preun %systemd_preun ly.service %postun %systemd_postun_with_restart ly.service %files %license license.md %doc readme.md %{_bindir}/ly %dir %{_sysconfdir}/ly %config(noreplace) %{_sysconfdir}/ly/config.ini %{_unitdir}/ly.service %{_datadir}/ly/ %changelog * Sat Jan 31 2026 Your Name - 1.3.1-1 - Initial build for Fedora 43 - Fixed missing build-id error by disabling debug_package - Explicitly defined install paths for Ly 1.3.1 resources