void-packages/srcpkgs/avahi-discover/template
maxice8 78b5d29cdf avahi-discover: fix cross-compilation issues.
The situation: on the 0.7 bump python-gobject was introduced as a
dependency because avahi-discover and avahi-discover-standalone bianaries aren't built without it

What went wrong: armv* arches don't have python-gobject and can't
cross-compile it so the package building just fails (funny enough it
"succeeds" sometimes, exiting 0 and not creating the package) and packages aren't made, leading to a chain
reaction where other packages like gvfs and cups-filters also fail

The fix: wrap the python-gobject dependency, avahi-discover and
avahi-discover-standalone on opt_if gir, add $(vopt_enable gir
pygobject) so the package won't try to find python-gobject

Side-effects: cross-compiled arches won't have avahi-discover and
avahi-discover-standalone binaries available to them, the avahi-discover
pacakge becomes kinda useless by itself, native compilation
arches remain unaffected
2017-10-16 14:22:58 +02:00

173 lines
5.5 KiB
Bash

# 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.7
revision=3
wrksrc="avahi-${version}"
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 --without-systemdsystemunitdir
--disable-static ssp_cv_lib=no --enable-python
--enable-glib --enable-gobject --enable-gtk --enable-gtk3
$(vopt_enable gir introspection) $(vopt_enable gir pygobject)"
short_desc="Service discover user interface for avahi"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
license="LGPL-2.1"
homepage="https://github.com/lathiat/avahi"
distfiles="${homepage}/releases/download/v${version}/avahi-${version}.tar.gz"
checksum=57a99b5dfe7fdae794e3d1ee7a62973a368e91e414bd0dfa5d84434de5b14804
hostmakedepends="automake libtool pkg-config intltool pygtk-devel
python-dbus gobject-introspection glib-devel"
makedepends="dbus-devel libcap-devel libdaemon-devel gdbm-devel
pygtk-devel python-dbus gtk+3-devel $(vopt_if gir python-gobject-devel)"
depends="avahi>=$version python avahi-python>=$version python-dbus pygtk desktop-file-utils"
pycompile_module="avahi_discover"
# Package build options
build_options="gir"
# Disable gir for cross builds.
if [ -z "$CROSS_BUILD" ]; then
build_options_default="gir"
fi
pre_configure() {
autoreconf -fi
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
vmkdir usr/share/avahi/interfaces
for f in bvnc bssh bshell avahi-bookmarks $(vopt_if gir avahi-discover) $(vopt_if gir 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
mv ${wrksrc}/tmpinstall/usr/share/avahi/interfaces/*.ui ${DESTDIR}/usr/share/avahi/interfaces
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 python-dbus"
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
if [ "$build_option_gir" ]; then
vmove usr/bin/avahi-discover-standalone
fi
vmove usr/bin/bssh
vmove usr/share/man/man1/bvnc.1
vmove usr/bin/bvnc
vmove usr/bin/bshell
}
}