# Template file for 'gdm'
pkgname=gdm
version=48.0
revision=2
build_helper="gir"
build_style=meson
configure_args="
 -Ddefault-pam-config=arch -Dat-spi-registryd-dir=/usr/libexec
 -Dtcp-wrappers=false -Dscreenshot-dir=/var/lib/gdm/greeter
 -Dplymouth=enabled -Dxauth-dir=/run/gdm -Dpid-file=/run/gdm/gdm.pid
 -Dsystemd-journal=false -Dinitial-vt=7 -Dwayland-support=true
 -Dselinux=disabled -Dlibaudit=disabled -Dgdm-xsession=true
 -Ddefault-path=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
 -Dsystemdsystemunitdir=/usr/lib/systemd/system
 -Dsystemduserunitdir=/usr/lib/systemd/user
 -Dlogind-provider=elogind"
hostmakedepends="dconf gettext itstool pkg-config"
makedepends="accountsservice-devel elogind-devel gettext-devel glib-devel
 iso-codes libSM-devel libcanberra-devel nss-devel pam-devel upower-devel
 plymouth-devel libgudev-devel polkit-devel"
depends="gnome-settings-daemon gnome-shell gnome-session gnome-themes-extra
 gsettings-desktop-schemas xorg-server xorg-server-xwayland xrdb"
checkdepends="check-devel"
short_desc="GNOME Display Manager"
maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-2.0-or-later"
homepage="https://wiki.gnome.org/Projects/GDM"
# FIXME: dead link
#changelog="https://gitlab.gnome.org/GNOME/gdm/-/raw/gnome-48/NEWS"
changelog="https://gitlab.gnome.org/GNOME/gdm/-/raw/main/NEWS"
distfiles="${GNOME_SITE}/gdm/${version%%.*}/gdm-${version}.tar.xz"
checksum=1bc06daff093ec7b5e37ecb4f92e5da3474a1b1ba076edb9151ee967d1c30adf

conf_files="
	/etc/gdm/custom.conf
	/etc/pam.d/gdm-autologin
	/etc/pam.d/gdm-fingerprint
	/etc/pam.d/gdm-launch-environment
	/etc/pam.d/gdm-password
	/etc/pam.d/gdm-smartcard"
make_dirs="
	/usr/share/gdm/env.d 0755 root root
	/etc/gdm/env.d 0755 root root"
# Create the 'gdm' system user/group.
system_accounts="gdm"
gdm_homedir="/var/lib/gdm"

# Package build options
build_options="gir"
build_options_default="gir"

if [ "$CROSS_BUILD" ]; then
	hostmakedepends+=" glib-devel pam-devel"
fi

post_install() {
	for f in $DESTDIR/etc/pam.d/*; do
		if grep -q "pam_systemd.so" "$f"; then
			vsed -i "s/pam_systemd\.so/pam_elogind.so/" "$f"
		fi
	done

	# runit service
	vsv gdm
}

libgdm_package() {
	short_desc+=" - runtime libraries"
	pkg_install() {
		vmove "usr/lib/*.so.*"
	}
}

gdm-devel_package() {
	depends="libgdm>=${version}_${revision} elogind-devel"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		if [ "$build_option_gir" ]; then
			vmove usr/share/gir-1.0
		fi
		vmove "usr/lib/*.so"
	}
}
