%global tag v1.3.1 %global pkg_version 1.3.1 %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 display manager. It features a simple interface and supports both X and Wayland. %prep %autosetup -n %{name}-%{pkg_version} %build export ZIG_GLOBAL_CACHE_DIR=$(pwd)/.zig-cache # Build the project - this generates the service file into zig-out/ zig build -Doptimize=ReleaseSafe -Dinit_system=systemd --summary all %install # 1. Install the binary 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 GENERATED systemd service # Zig 1.3.1+ places the generated service here: install -D -p -m 0644 zig-out/lib/systemd/system/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 - Fixed path for generated ly.service in zig-out directory