]> git.pld-linux.org Git - packages/greetd.git/blame - greetd.spec
use %cargo_objdir
[packages/greetd.git] / greetd.spec
CommitLineData
5f727173
JP
1%define crates_ver 0.8.0
2
3Summary: A login manager daemon
4Name: greetd
5Version: 0.8.0
6Release: 1
7License: GPL v3+
8Group: Applications
9Source0: https://git.sr.ht/~kennylevinsen/greetd/archive/%{version}.tar.gz
10# Source0-md5: 6c15717ca4741f5c99bba7c16846481f
11Source1: %{name}-crates-%{crates_ver}.tar.xz
2f148bcb 12# Source1-md5: 0bbfc01afb256f884be0759b58858de0
5f727173 13Source2: %{name}.pamd
2f148bcb 14Patch0: nix0.20.patch
5f727173
JP
15URL: https://git.sr.ht/~kennylevinsen/greetd
16BuildRequires: cargo
17BuildRequires: pam-devel
18BuildRequires: pkgconfig
831aa28f 19BuildRequires: rpmbuild(macros) >= 2.011
5f727173
JP
20BuildRequires: rust
21BuildRequires: scdoc
22BuildRequires: tar >= 1:1.22
23BuildRequires: xz
24Requires(postun): /usr/sbin/userdel
25Requires(pre): /bin/id
26Requires(pre): /usr/sbin/useradd
27Requires: /bin/sh
28Requires: greetd(greeter)
29Provides: user(greetd-greeter)
30BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
31
32%description
33greetd is a minimal and flexible login manager daemon that makes no
34assumptions about what you want to launch.
35
36%package greeter-agreety
37Summary: Simple, text-based greeter for greetd
38Requires: %{name} = %{version}-%{release}
39Provides: greetd(greeter)
40
41%description greeter-agreety
42Simple, text-based greeter for greetd.
43
44%prep
45%setup -q -a1
2f148bcb 46%patch0 -p1
5f727173
JP
47
48%{__mv} %{name}-%{crates_ver}/* .
49sed -i -e 's/@@VERSION@@/%{version}/' Cargo.lock
50
51export CARGO_HOME="$(pwd)/.cargo"
52
53mkdir -p "$CARGO_HOME"
54cat >.cargo/config <<EOF
55[source.crates-io]
56registry = 'https://github.com/rust-lang/crates.io-index'
57replace-with = 'vendored-sources'
58
59[source.vendored-sources]
60directory = '$PWD/vendor'
61EOF
62
63%build
64export CARGO_HOME="$(pwd)/.cargo"
65%cargo_build --frozen
66
67%{__make} -C man
68
69%install
70rm -rf $RPM_BUILD_ROOT
71
c44f7daa 72install -d $RPM_BUILD_ROOT{/etc/{greetd,pam.d},%{_bindir},%{systemdunitdir},/var/lib/greetd}
5f727173 73
831aa28f 74cp -p %{cargo_objdir}/{greetd,agreety} $RPM_BUILD_ROOT%{_bindir}
5f727173
JP
75sed -e 's/^\([#[:space:]]*\)\?user[[:space:]]*=.*/user = greetd-greeter/' config.toml > $RPM_BUILD_ROOT/etc/greetd/config.toml
76cp -p greetd.service $RPM_BUILD_ROOT%{systemdunitdir}
77cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/greetd
78
79%{__make} -C man install \
80 DESTDIR=$RPM_BUILD_ROOT \
81 MANDIR=%{_mandir}
82
83%clean
84rm -rf $RPM_BUILD_ROOT
85
86%pre
c44f7daa 87%useradd -u 343 -r -d /var/lib/greetd -s /bin/sh -c "greetd greeter user" -g nobody -G video greetd-greeter
5f727173
JP
88
89%post
90%systemd_post %{name}.service
91
92%preun
93%systemd_preun %{name}.service
94
95%postun
96if [ "$1" = "0" ]; then
97 %userremove greetd-greeter
98fi
99%systemd_reload
100
101%files
102%defattr(644,root,root,755)
103%doc README.md
104%dir /etc/greetd
105%config(noreplace) %verify(not md5 mtime size) /etc/greetd/config.toml
106%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/greetd
107%attr(755,root,root) %{_bindir}/%{name}
108%{systemdunitdir}/%{name}.service
109%{_mandir}/man1/greetd.1*
110%{_mandir}/man5/greetd.5*
111%{_mandir}/man7/greetd-ipc.7*
c44f7daa 112%attr(750,greetd-greeter,root) %dir /var/lib/greetd
5f727173
JP
113
114%files greeter-agreety
115%defattr(644,root,root,755)
116%attr(755,root,root) %{_bindir}/agreety
117%{_mandir}/man1/agreety.1*
This page took 0.113106 seconds and 4 git commands to generate.