void-packages/srcpkgs/avahi-discover/template
2020-05-30 13:33:54 +02:00

246 lines
7.8 KiB
Bash

# Template file for 'avahi-discover'
#
# WARNING: THIS TEMPLATE MUST BE SYNCHRONIZED WITH AVAHI.
# IT IS SPLIT TO AVOID DEPENDENCY CYCLES WITH GTK3.
#
pkgname=avahi-discover
version=0.8
revision=2
wrksrc="avahi-${version}"
build_style=gnu-configure
build_helper="gir"
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 --enable-xmltoman
--disable-dbm --without-systemdsystemunitdir
--with-dbus-system-address=unix:path=/run/dbus/system_bus_socket
--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 discovery user interface for avahi"
maintainer="Andrew J. Hesford <ajh@sideband.org>"
license="LGPL-2.1-or-later"
homepage="https://github.com/lathiat/avahi"
### NOTE: Avahi 0.8 release tarball is broken; see avahi template for info
distfiles="${homepage}/releases/download/v${version}/avahi-${version}.tar.gz
https://raw.githubusercontent.com/lathiat/avahi/v${version}/service-type-database/build-db>build-db.txt"
checksum="060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda
83edd888ccc464ab032134a45b7ded3bc43cb1dda2cd921ff47b01949d98ed7c"
skip_extraction="build-db.txt"
python_version=3
hostmakedepends="automake libtool pkg-config intltool gettext-devel
python3-dbus gobject-introspection glib-devel qt5-host-tools xmltoman"
makedepends="dbus-devel libcap-devel libdaemon-devel gdbm-devel libevent-devel
python3-dbus gtk+-devel gtk+3-devel qt5-devel $(vopt_if gir python3-gobject-devel)"
depends="avahi>=${version} avahi-python3>=${version}_${revision}
$(vopt_if gir 'gtk+3 python3-gobject') desktop-file-utils"
# Package build options
build_options="gir"
build_options_default="gir"
post_extract() {
# Avahi 0.8 release accidentally left this out of the tarball
cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/build-db.txt service-type-database/build-db
}
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/include/avahi-qt* ${DESTDIR}/usr/include
mv ${wrksrc}/tmpinstall/usr/include/avahi-libevent* ${DESTDIR}/usr/include
mv ${wrksrc}/tmpinstall/usr/lib/python3.8 ${DESTDIR}/usr/lib
# Python files are compatible with both 2.7 and 3.x, make both subpackages
vmkdir ${py2_lib}
vcopy ${DESTDIR}/${py3_sitelib} ${py2_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/*avahi-qt* ${DESTDIR}/usr/lib
mv ${wrksrc}/tmpinstall/usr/lib/*avahi-libevent* ${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/lib/pkgconfig/avahi-qt* ${DESTDIR}/usr/lib/pkgconfig
mv ${wrksrc}/tmpinstall/usr/lib/pkgconfig/avahi-libevent* ${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-python3-utils_package() {
depends="avahi-python3>=${version}_${revision}"
short_desc="Avahi python utilities"
archs=noarch
python_version=3
pkg_install() {
vmove usr/bin/avahi-bookmarks
vmove "usr/share/man/man1/avahi-bookmarks*"
}
}
avahi-python-utils_package() {
short_desc="Avahi python utilities - transitional dummy pkg"
depends="avahi-python3-utils>=${version}_${revision}"
archs=noarch
build_style=meta
}
avahi-python_package() {
depends="python-dbus"
short_desc="Python utility package for Avahi"
archs=noarch
pkg_install() {
vmove ${py2_sitelib}/avahi
}
}
avahi-python3_package() {
depends="python3-dbus"
short_desc="Python3 utility package for Avahi"
archs=noarch
pkg_install() {
vmove ${py3_sitelib}/avahi
}
}
avahi-glib-libs-devel_package() {
depends="avahi-libs-devel>=${version} 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}
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
}
}
avahi-qt5-libs_package() {
short_desc="Avahi Qt5 shared libraries"
pkg_install() {
vmove "usr/lib/libavahi-qt5.so.*"
}
}
avahi-qt5-libs-devel_package() {
short_desc="Avahi Qt5 shared libraries - development files"
depends="
qt5-devel avahi-libs-devel>=${version}
avahi-qt5-libs>=${version}_${revision}
"
pkg_install() {
vmove usr/lib/pkgconfig/avahi-qt5.pc
vmove usr/lib/libavahi-qt5.so
vmove usr/include/avahi-qt5
}
}
avahi-libevent-libs_package() {
short_desc="Avahi libevent integration libraries"
pkg_install() {
vmove "usr/lib/libavahi-libevent.so.*"
}
}
avahi-libevent-libs-devel_package() {
short_desc="Avahi libevent integration libraries - development files"
depends="avahi-libs-devel>=${version} avahi-libevent-libs>=${version}_${revision}"
pkg_install() {
vmove usr/lib/libavahi-libevent.so
vmove "usr/include/avahi-libevent*"
vmove "usr/lib/pkgconfig/avahi-libevent*"
}
}