diff --git a/net-dns/avahi/Manifest b/net-dns/avahi/Manifest index 599985d6ba2f0..bb6eeedcc63fb 100644 --- a/net-dns/avahi/Manifest +++ b/net-dns/avahi/Manifest @@ -1 +1,2 @@ DIST avahi-0.9_rc2.tar.gz 1076915 BLAKE2B 0aa72353b3ec9dc3e5c4a729ce81c1dcece5dd11d8a5736887aea63936417d515b91107da6e52f56dee870853d2f3943496da38a7e706e3e174ca84b3ce584c6 SHA512 29d6c9d075d0202b9da2cdf935fa04fad31ba95475ba5de086c9958d25caa405925bbd82ed439a024febf7880325e80c1a032a660284a7708c71dae9076f413b +DIST avahi-0.9_rc3.tar.gz 1092994 BLAKE2B 0ed8092353afed549247c4b884cbb9f90034cf0d508828dd7b761e2c9ea233d6f1dbf9b37044987037177644076afc694d4a02d84ed1d5bfbe66440575103724 SHA512 de4c2606ff63a22bf386fc1577621c67a3f1277071e4b4aa39c2eb3255cf7759679edfcb205cec2c89e67c798c4ab779a91971aa5dec74bcf08ed95567ae7c33 diff --git a/net-dns/avahi/avahi-0.9_rc3.ebuild b/net-dns/avahi/avahi-0.9_rc3.ebuild new file mode 100644 index 0000000000000..bac081a2541cb --- /dev/null +++ b/net-dns/avahi/avahi-0.9_rc3.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_REQ_USE="gdbm" +inherit autotools multilib-minimal python-single-r1 systemd + +DESCRIPTION="System which facilitates service discovery on a local network" +HOMEPAGE="https://avahi.org/" +SRC_URI="https://github.com/lathiat/avahi/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${PV/_/-}" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="autoipd bookmarks +dbus doc gdbm gtk howl-compat +introspection mdnsresponder-compat nls python qt6 selinux systemd test" + +REQUIRED_USE=" + bookmarks? ( python ) + howl-compat? ( dbus ) + mdnsresponder-compat? ( dbus ) + python? ( dbus gdbm ${PYTHON_REQUIRED_USE} ) + systemd? ( dbus ) +" + +RESTRICT="!test? ( test )" + +DEPEND=" + dev-libs/expat:= + dev-libs/glib:2=[${MULTILIB_USEDEP}] + dev-libs/libdaemon:= + dev-libs/libevent:=[${MULTILIB_USEDEP}] + dbus? ( sys-apps/dbus:=[${MULTILIB_USEDEP}] ) + gdbm? ( sys-libs/gdbm:=[${MULTILIB_USEDEP}] ) + gtk? ( x11-libs/gtk+:3[${MULTILIB_USEDEP}] ) + introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) + kernel_linux? ( sys-libs/libcap:= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + bookmarks? ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}] ) + dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] ) + introspection? ( dev-python/pygobject:3[${PYTHON_USEDEP}] ) + ') + ) + qt6? ( dev-qt/qtbase:6= ) + systemd? ( sys-apps/systemd:=[${MULTILIB_USEDEP}] ) +" +RDEPEND="${DEPEND} + acct-user/avahi + acct-group/avahi + acct-group/netdev + autoipd? ( + acct-user/avahi-autoipd + acct-group/avahi-autoipd + ) + selinux? ( sec-policy/selinux-avahi ) +" +BDEPEND=" + app-text/xmltoman + dev-util/glib-utils + sys-devel/gettext + virtual/pkgconfig + doc? ( app-text/doxygen ) +" + +MULTILIB_WRAPPED_HEADERS=( /usr/include/avahi-qt6/qt-watch.h ) + +PATCHES=( + "${FILESDIR}/${PN}-0.9_rc1-disable-avahi-ui-sharp.patch" # bug 769062 + "${FILESDIR}/${PN}-0.9_rc2-qt6.patch" # bug 961804 +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + sed -i \ + -e "s:\\.\\./\\.\\./\\.\\./doc/avahi-docs/html/:../../../doc/${PF}/html/:" \ + doxygen_to_devhelp.xsl || die + + eautoreconf + + # bundled manpages + multilib_copy_sources +} + +multilib_src_configure() { + local myconf=( + --disable-gtk + --disable-mono + --disable-monodoc + --disable-python-dbus + --disable-qt3 + --disable-qt4 + --disable-qt5 + --disable-static + --enable-manpages + --enable-glib + --enable-gobject + --enable-xmltoman + --localstatedir="${EPREFIX}/var" + --runstatedir="${EPREFIX}/run" + --with-distro=gentoo + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + $(use_enable dbus) + $(use_enable gdbm) + $(use_enable gtk gtk3) + $(use_enable howl-compat compat-howl) + $(use_enable mdnsresponder-compat compat-libdns_sd) + $(use_enable nls) + $(use_enable systemd libsystemd) + $(multilib_native_use_enable autoipd) + $(multilib_native_use_enable doc doxygen-doc) + $(multilib_native_use_enable introspection) + $(multilib_native_use_enable python) + $(multilib_native_use_enable test tests) + $(multilib_native_use_enable qt6) + ) + + if use python; then + myconf+=( + $(multilib_native_use_enable dbus python-dbus) + $(multilib_native_use_enable introspection pygobject) + ) + fi + + if ! multilib_is_native_abi; then + myconf+=( + # used by daemons only + --disable-libdaemon + --with-xml=none + ) + fi + + econf "${myconf[@]}" +} + +multilib_src_compile() { + emake + + multilib_is_native_abi && use doc && emake avahi.devhelp +} + +multilib_src_install() { + emake install DESTDIR="${D}" + + if ! use bookmarks || ! use python || ! use dbus; then + rm -f "${ED}"/usr/bin/avahi-bookmarks || die + fi + + # https://github.com/lathiat/avahi/issues/28 + use howl-compat && dosym avahi-compat-howl.pc /usr/$(get_libdir)/pkgconfig/howl.pc + use mdnsresponder-compat && dosym avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h + + if multilib_is_native_abi && use doc; then + docinto html + dodoc -r doxygen/html/. + insinto /usr/share/devhelp/books/avahi + doins avahi.devhelp + fi + + # The build system creates an empty "/run" directory, so we clean it up here + rmdir "${ED}"/run || die +} + +multilib_src_install_all() { + use python && python_optimize + + if use autoipd; then + insinto /lib/rcscripts/net + doins "${FILESDIR}"/autoipd.sh + + insinto /lib/netifrc/net + newins "${FILESDIR}"/autoipd-openrc.sh autoipd.sh + fi + + dodoc docs/{AUTHORS,NEWS,README,TODO} + + find "${ED}" -name '*.la' -type f -delete || die +} + +pkg_postinst() { + if use autoipd; then + elog + elog "To use avahi-autoipd to configure your interfaces with IPv4LL (RFC3927)" + elog "addresses, just set config_=( autoipd ) in /etc/conf.d/net!" + elog + fi + + systemd_reenable avahi-daemon.service +}