From bc40351f83d0aadb2936e570ebcfa9aecf7eef79 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Fri, 29 May 2020 10:05:30 -0400 Subject: [PATCH] avahi: restore 0.8 with split templates [ci skip] closes #22406 --- common/shlibs | 2 + srcpkgs/avahi-discover/template | 126 ++++++++++++++++++++++++------ srcpkgs/avahi-libevent-libs | 1 + srcpkgs/avahi-libevent-libs-devel | 1 + srcpkgs/avahi-python3 | 1 + srcpkgs/avahi-python3-utils | 1 + srcpkgs/avahi-qt5-libs | 1 + srcpkgs/avahi-qt5-libs-devel | 1 + srcpkgs/avahi/template | 49 ++++++++---- 9 files changed, 143 insertions(+), 40 deletions(-) create mode 120000 srcpkgs/avahi-libevent-libs create mode 120000 srcpkgs/avahi-libevent-libs-devel create mode 120000 srcpkgs/avahi-python3 create mode 120000 srcpkgs/avahi-python3-utils create mode 120000 srcpkgs/avahi-qt5-libs create mode 120000 srcpkgs/avahi-qt5-libs-devel diff --git a/common/shlibs b/common/shlibs index f5c5bed6b93..3f0f0052b6f 100644 --- a/common/shlibs +++ b/common/shlibs @@ -390,6 +390,8 @@ libdns_sd.so.1 avahi-compat-libs-0.6.25_1 libhowl.so.0 avahi-compat-libs-0.6.25_1 libavahi-ui.so.0 avahi-ui-libs-0.6.25_1 libavahi-ui-gtk3.so.0 avahi-ui-libs-gtk3-0.6.25_1 +libavahi-libevent.so.1 avahi-libevent-libs-0.8_1 +libavahi-qt5.so.1 avahi-qt5-libs-0.8_1 libmp4v2.so.2 libmp4v2-2.0.0_1 libfaac.so.0 faac-1.28_1 libfaad.so.2 faad2-2.7_1 diff --git a/srcpkgs/avahi-discover/template b/srcpkgs/avahi-discover/template index 13345b4b503..1c4249f1036 100644 --- a/srcpkgs/avahi-discover/template +++ b/srcpkgs/avahi-discover/template @@ -1,11 +1,11 @@ # Template file for 'avahi-discover' # -# WARNING: THIS TEMPLATE MUST BE SYNCHRONIZED WITH AVAHI. IT IS SPLITTED TO DROP -# ADDITIONAL DEPENDENCIES LIKE GTK3 AND PyGI. +# WARNING: THIS TEMPLATE MUST BE SYNCHRONIZED WITH AVAHI. +# IT IS SPLIT TO AVOID DEPENDENCY CYCLES WITH GTK3. # pkgname=avahi-discover -version=0.7 -revision=8 +version=0.8 +revision=2 wrksrc="avahi-${version}" build_style=gnu-configure build_helper="gir" @@ -13,30 +13,41 @@ 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 + --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 discover user interface for avahi" -maintainer="Orphaned " +short_desc="Service discovery user interface for avahi" +maintainer="Andrew J. Hesford " license="LGPL-2.1-or-later" homepage="https://github.com/lathiat/avahi" -distfiles="${homepage}/releases/download/v${version}/avahi-${version}.tar.gz" -checksum=57a99b5dfe7fdae794e3d1ee7a62973a368e91e414bd0dfa5d84434de5b14804 +### 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" -hostmakedepends="automake libtool pkg-config intltool - python-dbus gobject-introspection glib-devel" -makedepends="dbus-devel libcap-devel libdaemon-devel gdbm-devel - python-dbus gtk+-devel gtk+3-devel $(vopt_if gir python-gobject-devel)" -depends="avahi>=${version} avahi-python>=${version} - $(vopt_if gir 'gtk+3 python-gobject') desktop-file-utils" -pycompile_module="avahi_discover" +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 @@ -67,41 +78,66 @@ do_install() { 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/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-python-utils_package() { - depends="avahi-python>=$version" - python_version=2 +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 - pycompile_module="avahi" pkg_install() { - vmove usr/lib/python2.7/site-packages/avahi + 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}_${revision} avahi-glib-libs>=${version}_${revision}" + depends="avahi-libs-devel>=${version} avahi-glib-libs>=${version}_${revision}" short_desc="Avahi glib libraries - development files" pkg_install() { vmove "usr/include/avahi-g*" @@ -126,8 +162,11 @@ avahi-glib-libs_package() { } 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}" + 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 @@ -168,3 +207,40 @@ avahi-ui-utils_package() { 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*" + } +} diff --git a/srcpkgs/avahi-libevent-libs b/srcpkgs/avahi-libevent-libs new file mode 120000 index 00000000000..19fb54cd099 --- /dev/null +++ b/srcpkgs/avahi-libevent-libs @@ -0,0 +1 @@ +avahi-discover \ No newline at end of file diff --git a/srcpkgs/avahi-libevent-libs-devel b/srcpkgs/avahi-libevent-libs-devel new file mode 120000 index 00000000000..19fb54cd099 --- /dev/null +++ b/srcpkgs/avahi-libevent-libs-devel @@ -0,0 +1 @@ +avahi-discover \ No newline at end of file diff --git a/srcpkgs/avahi-python3 b/srcpkgs/avahi-python3 new file mode 120000 index 00000000000..19fb54cd099 --- /dev/null +++ b/srcpkgs/avahi-python3 @@ -0,0 +1 @@ +avahi-discover \ No newline at end of file diff --git a/srcpkgs/avahi-python3-utils b/srcpkgs/avahi-python3-utils new file mode 120000 index 00000000000..19fb54cd099 --- /dev/null +++ b/srcpkgs/avahi-python3-utils @@ -0,0 +1 @@ +avahi-discover \ No newline at end of file diff --git a/srcpkgs/avahi-qt5-libs b/srcpkgs/avahi-qt5-libs new file mode 120000 index 00000000000..19fb54cd099 --- /dev/null +++ b/srcpkgs/avahi-qt5-libs @@ -0,0 +1 @@ +avahi-discover \ No newline at end of file diff --git a/srcpkgs/avahi-qt5-libs-devel b/srcpkgs/avahi-qt5-libs-devel new file mode 120000 index 00000000000..19fb54cd099 --- /dev/null +++ b/srcpkgs/avahi-qt5-libs-devel @@ -0,0 +1 @@ +avahi-discover \ No newline at end of file diff --git a/srcpkgs/avahi/template b/srcpkgs/avahi/template index 199cbd4e057..080d04537e7 100644 --- a/srcpkgs/avahi/template +++ b/srcpkgs/avahi/template @@ -1,25 +1,34 @@ # Template file for 'avahi' pkgname=avahi -version=0.7 -revision=9 +version=0.8 +revision=2 build_style=gnu-configure -configure_args="--disable-qt3 --disable-qt4 --disable-mono --disable-monodoc +configure_args="--disable-qt3 --disable-qt4 --disable-qt5 + --disable-libevent --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-static ssp_cv_lib=no --enable-python + --disable-static ssp_cv_lib=no --enable-python --disable-pygobject --disable-glib --disable-python-dbus --disable-gobject --disable-gtk --disable-gtk3 --disable-dbm --disable-introspection --sbindir=/usr/bin - --disable-pygobject" + --with-dbus-system-address=unix:path=/run/dbus/system_bus_socket + --without-systemdsystemunitdir" short_desc="Multicast DNS Service Discovery" -maintainer="Orphaned " +maintainer="Andrew J. Hesford " license="LGPL-2.1-or-later" homepage="https://github.com/lathiat/avahi" -distfiles="${homepage}/releases/download/v${version}/avahi-${version}.tar.gz" -checksum=57a99b5dfe7fdae794e3d1ee7a62973a368e91e414bd0dfa5d84434de5b14804 +### NOTE: The Avahi 0.8 release tarball is broken; it is missing the build-db +### script. Fetching and manipulation of this file in post_extract should be +### undone in a future release that fixes this oversight. +_build_db="service-type-database/build-db" +distfiles="${homepage}/releases/download/v${version}/avahi-${version}.tar.gz + https://raw.githubusercontent.com/lathiat/${pkgname}/v${version}/${_build_db}>build-db.txt" +checksum="060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda + 83edd888ccc464ab032134a45b7ded3bc43cb1dda2cd921ff47b01949d98ed7c" +skip_extraction="build-db.txt" -hostmakedepends="pkg-config intltool python" +hostmakedepends="pkg-config intltool python3" makedepends="dbus-devel libcap-devel libdaemon-devel gdbm-devel" conf_files=" /etc/avahi/services/ssh.service @@ -30,20 +39,25 @@ conf_files=" system_accounts="avahi:23" if [ "$CROSS_BUILD" ]; then - hostmakedepends+=" automake libtool glib-devel" + hostmakedepends+=" automake libtool glib-devel gettext-devel" pre_configure() { autoreconf -if } fi post_extract() { - # Switch to /run to not depend on /var/run being a symlink. - sed -e 's,\(avahi_runtime_dir=\).*,\1\"/run\",' -i ${wrksrc}/configure + # Avahi 0.8 release accidentally left this out of the tarball + cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/build-db.txt "${_build_db}" } + post_install() { + # Python modules will be built in avahi-discover subpackage rm -rf ${DESTDIR}/usr/lib/python* + # Man page will be installed in avahi-discover subpackage + rm -f ${DESTDIR}/usr/share/man/man1/avahi-bookmarks.1 + # Set 'enable-dbus=warn' option by default to not require dbus. - sed -e 's,\#\(enable-dbus\).*,\1=warn,' -i ${DESTDIR}/etc/avahi/avahi-daemon.conf + vsed -e 's,\#\(enable-dbus\).*,\1=warn,' -i ${DESTDIR}/etc/avahi/avahi-daemon.conf vsv avahi-daemon } @@ -56,8 +70,9 @@ avahi-autoipd_package() { vmove etc/avahi/avahi-autoipd.action } } + avahi-compat-libs-devel_package() { - depends="avahi-libs-devel-${version}_${revision} avahi-compat-libs-${version}_${revision}" + 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*" @@ -66,6 +81,7 @@ avahi-compat-libs-devel_package() { vmove usr/lib/libdns_sd.so } } + avahi-compat-libs_package() { short_desc="Avahi compatiblity shared libraries" pkg_install() { @@ -73,8 +89,9 @@ avahi-compat-libs_package() { vmove "usr/lib/libdns_sd.so.*" } } + avahi-libs-devel_package() { - depends="dbus-devel avahi-libs-${version}_${revision}" + depends="dbus-devel avahi-libs>=${version}_${revision}" short_desc="Avahi core libraries - development files" pkg_install() { for f in common client core; do @@ -87,6 +104,7 @@ avahi-libs-devel_package() { vmove usr/lib/libavahi-common.so } } + avahi-libs_package() { short_desc="Avahi shared libraries" pkg_install() { @@ -95,6 +113,7 @@ avahi-libs_package() { vmove "usr/lib/libavahi-common.so.*" } } + avahi-utils_package() { short_desc="Avahi browsing, publishing and discovery utilities" pkg_install() {