File ly.spec of Package ly

Name:           ly
Version:        1.2.0
Release:        0
Summary:        TUI (ncurses-like) display manager
License:        WTFPL
Group:          System/Console
URL:            https://codeberg.org/fairyglade/%{name}
Source0:        %{name}-%{version}.tar.zst
Source1:        https://codeberg.org/fairyglade/%{name}/releases/download/v%{version}/vendor.tar.zst

BuildRequires:  zstd
BuildRequires:  zig = 0.15.1
BuildRequires:  zig-rpm-macros = 0.15.1
BuildRequires:  systemd-rpm-macros
BuildRequires:  pkgconfig(pam)
## BuildRequires:  pam-devel
## BuildRequires:  libxcb-devel
BuildRequires:  pkgconfig(xcb)

## Removes --cache-dir zig-cache which causes problems with TranslateC in build and add vendor cache
%define _zig_advanced_options --global-cache-dir vendor/

%description
A lightweight, TUI (ncurses-like) display manager for linux.

%prep
%autosetup -a1 -p1

%build 
%zig_build -Dinit_system=systemd

%install
%zig_install --global-cache-dir vendor/
mkdir -p "%{buildroot}%{_bindir}"
install -D -m 0755 res/config.ini %{buildroot}%{_sysconfdir}/ly/config.ini
install -d -m 0755 %{buildroot}%{_sysconfdir}/ly/lang
install -d -m 0755 %{buildroot}%{_sysconfdir}/ly/custom-sessions
install -D -m 0644 res/lang/*.ini %{buildroot}%{_sysconfdir}/ly/lang
install -D -m 0644 res/pam.d/ly-linux %{buildroot}%{_pam_vendordir}/ly
install -D -m 0644 res/ly.service %{buildroot}%{_unitdir}/ly.service
install -d -m 0755 %{buildroot}%{_libexecdir}/ly
install -D -m 0555 res/*setup.sh %{buildroot}%{_libexecdir}/ly

%pre
%service_add_pre ly.service

%post
%service_add_post ly.service

%preun
%service_del_preun ly.service

%postun
%service_del_postun ly.service

%files
%doc readme.md
%license license.md
%dir %{_libexecdir}/ly
%attr(0755,root,root) %dir %{_sysconfdir}/ly
%attr(0755,root,root) %dir %{_sysconfdir}/ly/lang
%attr(0755,root,root) %dir %{_sysconfdir}/ly/custom-sessions
%attr(0755,root,root) %config(noreplace) %{_sysconfdir}/ly/config.ini
%attr(0644,root,root) %config %{_sysconfdir}/ly/lang/*.ini
%attr(0644,root,root) %config %{_pam_vendordir}/ly
%attr(0555,root,root) %{_libexecdir}/ly/*setup.sh
%attr(0755,root,root) %{_bindir}/ly
%attr(0644,root,root) %{_unitdir}/ly.service

%changelog
openSUSE Build Service is sponsored by