# Template file for 'avahi-discover'
#
# WARNING: THIS TEMPLATE MUST BE SYNCHRONIZED WITH AVAHI. IT IS SPLITTED TO DROP
# ADDITIONAL DEPENDENCIES LIKE GTK3 AND PYGTK.
#
pkgname=avahi-discover
version=0.6.31
wrksrc="avahi-${version}"
revision=14
noarch=yes
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 --enable-python --enable-pygtk
 --enable-glib --enable-gobject --enable-gtk --enable-gtk3
 --enable-introspection"
short_desc="Service discover user interface for avahi"
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="automake libtool pkg-config intltool pygtk-devel dbus-python"
makedepends="dbus-devel libcap-devel libdaemon-devel gdbm-devel
 pygtk-devel dbus-python gtk+3-devel"
depends="avahi>=$version python avahi-python>=$version dbus-python pygtk desktop-file-utils"
pycompile_module="avahi_discover"

# Package build options
build_options="gir"
desc_option_gir="Enable support for building gobject introspection data"

# Disable gir for cross builds.
if [ -z "$CROSS_BUILD" ]; then
	build_options_default="gir"
fi

if [ "$build_option_gir" ]; then
	configure_args+=" --enable-introspection"
	makedepends+=" gobject-introspection"
else
	configure_args+=" --disable-introspection"
fi

pre_configure() {
	autoreconf -fi

	# Disable GTK deprecations and -Werror to let this build with gtk+>=3.10.
	sed -e 's,-DG_DISABLE_DEPRECATED=1,,' \
		-e 's,-DGDK_DISABLE_DEPRECATED=1,,' \
		-e 's,-DGTK_DISABLE_DEPRECATED=1,,' \
		-i avahi-ui/Makefile.in
	sed -e 's,-Werror,,g' -i configure
}

do_install() {
	mkdir -p ${wrksrc}/tmpinstall/usr/lib
	ln -s lib ${wrksrc}/tmpinstall/usr/lib32

	make DESTDIR=${wrksrc}/tmpinstall install

	# Move all required files to ${DESTDIR} now...
	vmkdir usr/bin
	vmkdir usr/share/man/man1
	vmkdir usr/share/applications
	vmkdir usr/include
	vmkdir usr/lib/pkgconfig

	for f in bvnc bssh bshell avahi-bookmarks avahi-discover avahi-discover-standalone; do
		mv ${wrksrc}/tmpinstall/usr/bin/${f} ${DESTDIR}/usr/bin
		if [ -f ${wrksrc}/tmpinstall/usr/share/man/man1/${f}.1 ]; then
			mv ${wrksrc}/tmpinstall/usr/share/man/man1/${f}.1 ${DESTDIR}/usr/share/man/man1
		fi
		if [ -f ${wrksrc}/tmpinstall/usr/share/applications/${f}.desktop ]; then
			mv ${wrksrc}/tmpinstall/usr/share/applications/${f}.desktop ${DESTDIR}/usr/share/applications
		fi
	done
	mv ${wrksrc}/tmpinstall/usr/include/avahi-g* ${DESTDIR}/usr/include
	mv ${wrksrc}/tmpinstall/usr/include/avahi-ui* ${DESTDIR}/usr/include
	mv ${wrksrc}/tmpinstall/usr/lib/python2.7 ${DESTDIR}/usr/lib
	mv ${wrksrc}/tmpinstall/usr/lib/*avahi-g* ${DESTDIR}/usr/lib
	mv ${wrksrc}/tmpinstall/usr/lib/*avahi-ui* ${DESTDIR}/usr/lib
	mv ${wrksrc}/tmpinstall/usr/lib/pkgconfig/avahi-g* ${DESTDIR}/usr/lib/pkgconfig
	mv ${wrksrc}/tmpinstall/usr/lib/pkgconfig/avahi-ui* ${DESTDIR}/usr/lib/pkgconfig
	if [ "$build_option_gir" ]; then
		mv ${wrksrc}/tmpinstall/usr/lib/girepository-1.0 ${DESTDIR}/usr/lib
		mv ${wrksrc}/tmpinstall/usr/share/gir-1.0 ${DESTDIR}/usr/share
	fi
}

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/python2.7/site-packages/avahi
	}
}

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*"
		if [ "$build_option_gir" ]; then
			vmove usr/share/gir-1.0
		fi
		vmove usr/lib/libavahi-glib.so
		vmove usr/lib/libavahi-gobject.so
	}
}

avahi-glib-libs_package() {
	short_desc="Avahi glib shared libraries"
	pkg_install() {
		vmove "usr/lib/libavahi-glib.so.*"
		vmove "usr/lib/libavahi-gobject.so.*"
		if [ "$build_option_gir" ]; then
			vmove usr/lib/girepository-1.0
		fi
	}
}

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/avahi-ui.h
		vmove usr/lib/pkgconfig/avahi-ui.pc
		vmove usr/lib/pkgconfig/avahi-ui-gtk3.pc
		vmove usr/lib/libavahi-ui-gtk3.so
		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_package() {
	short_desc="Avahi UI shared libraries"
	pkg_install() {
		vmove "usr/lib/libavahi-ui.so.*"
	}
}

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