# Template file for 'NetworkManager'
pkgname=NetworkManager
version=1.14.4
revision=4
build_style=gnu-configure
configure_args="--without-dhcpcd --with-dhclient=/usr/bin/dhclient
 --with-system-ca-path=/etc/ssl/certs --enable-more-warnings=no
 --with-crypto=gnutls --disable-static --enable-ppp --with-nmtui
 --with-udev-dir=/usr/lib/udev $(vopt_enable gir introspection)
 --with-kernel-firmware-dir=/usr/lib/firmware --disable-ifcfg-rh
 --with-pppd-plugin-dir=/usr/lib/pppd/2.4.7 --enable-modify-system
 --with-modem-manager-1 --with-resolvconf=/usr/bin/resolvconf
 --with-session-tracking=$(vopt_if elogind elogind consolekit)
 --with-suspend-resume=$(vopt_if elogind elogind consolekit)
 --with-libnm-glib --disable-ifupdown
 --with-systemdsystemunitdir=no --enable-polkit-agent --enable-tests=no
 --with-systemd-journal=no --with-systemd-logind=no --disable-gtk-doc
 --with-dbus-sys-dir=/etc/dbus-1/system.d
 --sbindir=/usr/bin --enable-concheck --with-libpsl
 --with-dnsmasq=/usr/bin/dnsmasq --with-config-dhcp-default=dhclient
 ac_cv_file__etc_redhat_release=no ac_cv_file__etc_gentoo_release=no
 ac_cv_file__etc_fedora_release=no ac_cv_file__etc_mandriva_release=no
 ac_cv_file__etc_SuSE_release=no ac_cv_file__etc_debian_version=no"
short_desc="Network Management daemon"
maintainer="Rasmus Thomsen <rasmus.thomsen@protonmail.com>"
license="GPL-2.0-or-later"
homepage="https://wiki.gnome.org/Projects/NetworkManager"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
checksum=35a3ede4c7d12d6212033c9e44cb82b7692f38063b53a067567f02f5937c8c18

# gtk-doc generation is disabled but gtkdocisze is required by autogen.sh
hostmakedepends="automake bluez dbus-glib-devel dhclient gettext-devel
 glib-devel gnutls-devel gtk-doc intltool iproute2 iptables libtool
 libxslt-devel pkg-config $(vopt_if gir 'gobject-introspection')
 $(vopt_if gir 'python-gobject') wpa_supplicant"
makedepends="libuuid-devel gnutls-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
 $(vopt_if gir libgirepository-devel) $(vopt_if elogind elogind-devel)"
# Install host dependency to read the soname. Should be the same on
# host and target.
hostmakedepends+=" jansson-devel"
depends="dbus dhclient iproute2 openresolv wpa_supplicant"

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+=" -DHAVE_SECURE_GETENV -Dsecure_getenv=getenv"
			CFLAGS+=" -D__USE_POSIX199309 -DRTLD_DEEPBIND=0"
		;;
esac

# Package build options
build_options="gir elogind"
if [ -z "$CROSS_BUILD" ]; then
	build_options_default+=" gir"
fi

pre_configure() {
	NOCONFIGURE=1 ./autogen.sh

	# Full switch to /run to not depend on /var/run being a symlink.
	sed -e 's,^nmrundir=.*$,nmrundir=\"/run/\$PACKAGE\",' -i configure

	# Fsckd-up check for gi ?
	sed -e 's,! "$PYTHON" -c ,"$PYTHON" -c,' -i configure
}

do_check() {
	# src/settings/plugins/ibft/tests/test-ibft errors out in chroot
	:
}

post_install() {
	vinstall ${FILESDIR}/${pkgname}.conf 644 etc/${pkgname}
	# remove unused stuff
	rm -rf ${DESTDIR}/etc/init.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
	}
}
