aboutsummaryrefslogtreecommitdiff
path: root/srcpkgs/elogind/template
blob: 3275f48acc8238ecee266d0a09586adfcf2f8179 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Template file for 'elogind'
pkgname=elogind
version=252.9
revision=2
build_style=meson
configure_args="-Dcgroup-controller=elogind -Ddefault-hierarchy=legacy
 -Ddefault-kill-user-processes=false -Dhalt-path=/usr/bin/halt
 -Dkexec-path=/usr/bin/kexec -Dman=true -Dpolkit=true
 -Dreboot-path=/usr/bin/reboot -Drootlibdir=/usr/lib
 -Drootlibexecdir=/usr/libexec/elogind"
hostmakedepends="docbook-xsl glib-devel gperf gettext libxslt
 m4 pkg-config python3-Jinja2 shadow"
makedepends="acl-devel eudev-libudev-devel libcap-devel
 libglib-devel libseccomp-devel pam-devel"
depends="dbus"
short_desc="Standalone logind fork"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-2.0-or-later, LGPL-2.0-or-later"
homepage="https://github.com/elogind/elogind"
distfiles="https://github.com/${pkgname}/${pkgname}/archive/v${version}.tar.gz"
checksum=7af8caa8225a406e77fb99c9f33dba5e1f0a94f0e1277c9d91dcfc016f116d85
conf_files="/etc/elogind/*.conf"
# tests fail differently due to containerization and kernel features
make_check=ci-skip

if [ "$XBPS_TARGET_LIBC" = "glibc" ]; then
	makedepends+=" libxcrypt-devel"
fi

if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
	configure_args+=" -Dutmp=false"
fi

pre_check() {
	# test-fs-util checks for /etc/machine-id/foo and expects ENOTDIR
	# since /etc/machine-id is expected to be a file.
	# test-id128 tries to get a id generated by dbus-uuidgen from
	# /etc/machine-id, since we don't want to add a checkdependency
	# on dbus we just provide a string generated from dbus-uuidgen
	# for use in all cases.
	echo 'dcb30309cd6c8b7cc20383d85a5c7012' > /etc/machine-id

	# test-copy searches for /etc/os-release but this file is provided
	# by runit-void, create a dummy file to avoid a dependency on runit-void
	echo 'dummy-file' > /etc/os-release
}

post_check() {
	rm -f /etc/machine-id /etc/os-release
}

post_install() {
	ln -s libelogind.pc $DESTDIR/usr/lib/pkgconfig/libsystemd.pc
	ln -s libelogind.pc $DESTDIR/usr/lib/pkgconfig/libsystemd-logind.pc
	ln -sr $DESTDIR/usr/include/elogind $DESTDIR/usr/include/systemd
	vinstall ./src/systemd/sd-id128.h 644 usr/include
	vinstall ./src/systemd/_sd-common.h 644 usr/include
	vinstall $FILESDIR/elogind.wrapper 755 usr/libexec/elogind
	vmkdir usr/lib/dracut/dracut.conf.d
	echo "install_items+=\" /usr/libexec/elogind/elogind-uaccess-command \"" >> ${DESTDIR}/usr/lib/dracut/dracut.conf.d/elogind.conf
	vsv elogind
}

elogind-devel_package() {
	depends="libelogind-${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.so"
		vmove usr/share/man/man3
		vmove usr/lib/pkgconfig
	}
}

libelogind_package() {
	short_desc+=" - elogind library"
	pkg_install() {
		 vmove "usr/lib/libelogind.so.*"
	}
}