# Template file for 'NetworkManager'
# when updating to 1.24 or newer, drop the compat
# patch in gnome-control-center and rebuild it
pkgname=NetworkManager
version=1.22.10
revision=2
build_style=meson
build_helper="gir qemu"
configure_args="-Dpolkit_agent=true -Dsystemd_journal=false
 -Dlibaudit=no -Dovs=false -Dlibnm_glib=true -Dselinux=false
 -Dmodify_system=true -Dpolkit_agent=true -Dsystemdsystemunitdir=no
 -Dpppd=/usr/bin/pppd -Dqt=false
 -Dsession_tracking_consolekit=false
 -Dpppd_plugin_dir=/usr/lib/pppd/2.4.7 -Dresolvconf=/usr/bin/resolvconf
 -Ddhclient=/usr/bin/dhclient -Dkernel_firmware_dir=/usr/lib/firmware
 -Ddnsmasq=/usr/bin/dnsmasq -Ddbus_conf_dir=/etc/dbus-1/system.d
 -Ddhcpcd=/usr/bin/dhcpcd -Diptables=/usr/bin/iptables
 -Diwd=true
 -Dudev_dir=/usr/lib/udev -Dintrospection=$(vopt_if gir true false)
 -Dvapi=$(vopt_if vala true false)
 -Dsession_tracking=$(vopt_if elogind elogind no)
 -Dsuspend_resume=$(vopt_if elogind elogind upower)
 -Dconfig_dhcp_default=internal"
hostmakedepends="gettext-devel glib-devel libxslt-devel pkg-config
 intltool dbus-glib-devel jansson-devel $(vopt_if vala vala)
 $(vopt_if gir 'python3-gobject')"
makedepends="libuuid-devel nss-devel dbus-glib-devel libgudev-devel
 libnl3-devel polkit-devel ppp-devel iptables-devel libcurl-devel
 ModemManager-devel readline-devel libndp-devel newt-devel jansson-devel
 libpsl-devel eudev-libudev-devel mobile-broadband-provider-info
 $(vopt_if gir libgirepository-devel) $(vopt_if elogind elogind-devel)"
depends="dbus iproute2 openresolv wpa_supplicant mobile-broadband-provider-info"
short_desc="Network Management daemon"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="GPL-2.0-or-later"
homepage="https://wiki.gnome.org/Projects/NetworkManager"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
checksum=2b29ccc1531ba7ebba95a97f40c22b963838e8b6833745efe8e6fb71fd8fca77
lib32disabled=yes
conf_files="/etc/${pkgname}/${pkgname}.conf"
make_dirs="
 /etc/NetworkManager/system-connections 0755 root root
 /etc/NetworkManager/dispatcher.d/pre-up.d 0750 root root
 /etc/NetworkManager/dispatcher.d/pre-down.d 0750 root root
 /etc/NetworkManager/VPN 0755 root root
 /var/lib/NetworkManager 0755 root root
"

case "$XBPS_TARGET_MACHINE" in
	*-musl)
			CFLAGS+=" -DRTLD_DEEPBIND=0"
			# Fail to build on musl
			configure_args+=" -Dtests=no"
		;;
esac

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

pre_configure() {
	if [ "$CROSS_BUILD" ]; then
		# Replace the values from our patch into the system itself
		vsed -i \
			-e "s|@XBPS_CROSS_BASE@|${XBPS_CROSS_BASE}|g" \
			-e "s|@XBPS_TARGET_QEMU_MACHINE@|${XBPS_TARGET_QEMU_MACHINE}|" \
			libnm/meson.build
	fi
}

post_install() {
	vinstall ${FILESDIR}/${pkgname}.conf 644 etc/${pkgname}
	vinstall ${FILESDIR}/50-org.freedesktop.NetworkManager.rules 644 \
		/usr/share/polkit-1/rules.d
	vsv ${pkgname}
}

libnm_package() {
	short_desc+=" - shared libraries"
	pkg_install() {
		vmove "usr/lib/*.so.*"
		if [ "$build_option_gir" ]; then
			vmove usr/lib/girepository-1.0
		fi
	}
}
NetworkManager-devel_package() {
	depends="dbus-glib-devel libnm-${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		vmove "usr/lib/*.so"
		if [ "$build_option_gir" ]; then
			vmove usr/share/gir-1.0
		fi
		if [ "$build_option_vala" ]; then
			vmove usr/share/vala
		fi
	}
}
