# Template file for 'avahi'
pkgname=avahi
version=0.6.31
revision=11
build_style=gnu-configure
configure_args="--disable-qt3 --disable-qt4 --disable-mono --disable-monodoc
 --disable-doxygen-doc --enable-compat-libdns_sd --enable-compat-howl
 --with-xml=expat --with-avahi-user=avahi --with-avahi-group=avahi
 --with-avahi-priv-access-group=network --with-autoipd-user=avahi
 --with-autoipd-group=avahi --with-distro=none --disable-xmltoman
 --disable-dbm --with-systemdsystemunitdir=/usr/lib/systemd/system
 --disable-static ssp_cv_lib=no"
short_desc="Multicast DNS Service Discovery"
maintainer="Juan RP <xtraeme@gmail.com>"
license="LGPL-2.1"
homepage="http://www.avahi.org"
distfiles="$homepage/download/avahi-$version.tar.gz"
checksum=8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48

hostmakedepends="pkg-config intltool"
makedepends="dbus-devel libcap-devel libdaemon-devel gdbm-devel dbus-python pygtk-devel
 gtk+3-devel>=3.6.0_5 gobject-introspection"

if [ "$CROSS_BUILD" ]; then
	# XXX glib, gtk, introspection and python
	hostmakedepends+=" automake gettext-devel glib-devel intltool"
	makedepends="dbus-devel libcap-devel libdaemon-devel gdbm-devel"
	configure_args+=" --disable-glib --disable-gobject
		--disable-gtk --disable-gtk3 --disable-introspection
		--disable-python --disable-pygtk"
	pre_configure() {
		autoreconf -fi
	}
fi

# XXX disabled packages in cross builds.
if [ -z "$CROSS_BUILD" ]; then

avahi-discover_package() {
	depends="avahi>=$version python avahi-python>=$version dbus-python pygtk desktop-file-utils"
	short_desc="Service discover user interface for avahi"
	noarch=yes
	pycompile_module="avahi_discover"
	pkg_install() {
		vmove usr/bin/avahi-discover
		vmove "usr/share/man/man1/avahi-discover*"
		vmove usr/share/applications/avahi-discover.desktop
		vmove usr/lib/python2.7/site-packages/avahi_discover
		vmove usr/share/avahi/interfaces/avahi-discover.ui
	}
}

avahi-glib-libs_package() {
	short_desc="Avahi glib shared libraries"
	pkg_install() {
		vmove "usr/lib/libavahi-glib.so*"
		vmove "usr/lib/libavahi-gobject.so*"
		vmove "usr/lib/girepository*"
	}
}

avahi-glib-libs-devel_package() {
	depends="avahi-libs-devel-${version}_${revision} avahi-glib-libs-${version}_${revision}"
	short_desc="Avahi glib libraries -- development files"
	pkg_install() {
		vmove "usr/include/avahi-g*"
		vmove "usr/lib/pkgconfig/avahi-g*"
		vmove "usr/share/gir-*"
	}
}

avahi-ui-libs_package() {
	short_desc="Avahi UI shared libraries"
	pkg_install() {
		vmove "usr/lib/libavahi-ui.so*"
	}
}

avahi-ui-libs-gtk3_package() {
	short_desc="Avahi UI GTK+3 shared libraries"
	pkg_install() {
		vmove "usr/lib/libavahi-ui-gtk3.so*"
	}
}

avahi-ui-libs-devel_package() {
	depends="gtk+-devel gtk+3-devel avahi-libs-devel-${version}_${revision}
		avahi-ui-libs-${version}_${revision} avahi-ui-libs-gtk3-${version}_${revision}"
	short_desc="Avahi UI libraries -- development files"
	pkg_install() {
		vmove "usr/include/avahi-ui*"
		vmove usr/lib/pkgconfig
	}
}

avahi-ui-utils_package() {
	depends="desktop-file-utils avahi>=$version"
	short_desc="Avahi GTK+ utilities"
	pkg_install() {
		vmove "usr/bin/b*" usr/bin
		vmove "usr/share/man/man1/b*"
		vmove usr/share/applications
		vmove usr/bin/avahi-discover-standalone
	}
}

avahi-python-utils_package() {
	noarch=yes
	depends="avahi-python>=$version"
	short_desc="Avahi python utilities"
	pkg_install() {
		vmove usr/bin/avahi-bookmarks
		vmove "usr/share/man/man1/avahi-bookmarks*"
	}
}

avahi-python_package() {
	depends="python dbus-python"
	short_desc="Python utility package for Avahi"
	noarch=yes
	pycompile_module="avahi"
	pkg_install() {
		vmove "usr/lib/python*"
	}
}

fi # !CROSS_BUILD

avahi-autoipd_package() {
	depends="net-tools"
	short_desc="Avahi IPv4LL network address configuration daemon"
	pkg_install() {
		vmove usr/sbin/avahi-autoipd
		vmove "usr/share/man/man8/avahi-autoipd*"
		vmove etc/avahi/avahi-autoipd.action
	}
}

avahi-compat-libs_package() {
	short_desc="Avahi compatiblity shared libraries"
	pkg_install() {
		vmove "usr/lib/libhowl.so*"
		vmove "usr/lib/libdns_sd.so*"
	}
}

avahi-compat-libs-devel_package() {
	depends="avahi-libs-devel-${version}_${revision} avahi-compat-libs-${version}_${revision}"
	short_desc="Avahi compat libraries -- development files"
	pkg_install() {
		vmove "usr/include/avahi-compat*"
		vmove "usr/lib/pkgconfig/avahi-compat*"
	}
}

avahi-libs_package() {
	short_desc="Avahi shared libraries"
	pkg_install() {
		vmove "usr/lib/libavahi-client.so*"
		vmove "usr/lib/libavahi-core.so*"
		vmove "usr/lib/libavahi-common.so*"
	}
}

avahi-libs-devel_package() {
	depends="dbus-devel avahi-libs-${version}_${revision}"
	short_desc="Avahi core libraries -- development files"
	pkg_install() {
		for f in common client core; do
			vmove usr/include/avahi-${f}
		done
		vmove usr/lib/pkgconfig/avahi-core.pc
		vmove usr/lib/pkgconfig/avahi-client.pc
	}
}

avahi-utils_package() {
	short_desc="Avahi browsing, publishing and discovery utilities"
	pkg_install() {
		for f in browse publish resolve set-host-name; do
			vmove "usr/bin/avahi-${f}*"
			vmove "usr/share/man/man1/avahi-${f}*"
		done
	}
}

avahi_package() {
	systemd_services="avahi-daemon.service on"
	conf_files="
		/etc/avahi/services/ssh.service
		/etc/avahi/services/sftp-ssh.service
		/etc/avahi/avahi-daemon.conf
		/etc/avahi/hosts
		/etc/avahi/avahi-dnsconfd.action"
	depends="dbus"
	pkg_install() {
		vmove etc
		vmove usr
	}
}
