Name: ly Version: 1.3.1 # Update this to the latest tag (e.g., 1.0.2 or 1.1.0) Release: 1%{?dist} Summary: A lightweight TUI display manager for Linux and BSD # The project is licensed under the WTFPL License: WTFPL URL: https://github.com/fairyglade/ly Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz BuildRequires: zig BuildRequires: systemd-devel BuildRequires: pam-devel BuildRequires: libxcb-devel # Runtime requirements Requires: pam Requires: xauth Requires: systemd %description Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD. It supports X and has basic Wayland support. It features a matrix animation and a simple, clean interface. %prep %autosetup %build # Fedora's zig packaging usually provides macros, but here is the manual build call # We disable the "v_build" (which downloads things) and use local caches if needed. zig build -Doptimize=ReleaseSafe -Dinit_system=systemd %install # The Zig build system doesn't always handle 'install' to a buildroot perfectly via CLI # So we manually place the files or use the zig build's install step with a prefix DESTDIR=%{buildroot} zig build install --prefix /usr -Dinit_system=systemd # Ly usually puts things in /etc/ly, ensure it exists mkdir -p %{buildroot}%{_sysconfdir}/ly cp res/config.ini %{buildroot}%{_sysconfdir}/ly/config.ini # Install the systemd service file manually if the zig build didn't place it correctly mkdir -p %{buildroot}%{_unitdir} cp res/ly.service %{buildroot}%{_unitdir}/ly.service %post %systemd_post ly@.service %preun %systemd_preun ly@.service %postun %systemd_postun_with_restart ly@.service %files %license LICENSE %doc README.md %{_bindir}/ly %dir %{_sysconfdir}/ly %config(noreplace) %{_sysconfdir}/ly/config.ini %{_unitdir}/ly@.service # Ly often installs a 'lang' directory for translations %{_datadir}/ly/ %changelog * Fri Jan 30 2026 Your Name - 1.0.2-1 - Initial packaging for Fedora 43 - Switched to Zig build systemzig build install --prefix /usr -Dinit_system=systemd