forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
net-dns/avahi: drop sym link to dbus-org.freedesktop.Avahi.service, b…
…ug #567798. Package-Manager: portage-2.2.20.1
- Loading branch information
Showing
2 changed files
with
248 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,248 @@ | ||
# Copyright 1999-2015 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI="5" | ||
|
||
PYTHON_COMPAT=( python2_7 ) | ||
PYTHON_REQ_USE="gdbm" | ||
|
||
WANT_AUTOMAKE=1.11 | ||
|
||
inherit autotools eutils flag-o-matic multilib multilib-minimal mono-env \ | ||
python-r1 systemd user | ||
|
||
DESCRIPTION="System which facilitates service discovery on a local network" | ||
HOMEPAGE="http://avahi.org/" | ||
SRC_URI="http://avahi.org/download/${P}.tar.gz" | ||
|
||
LICENSE="LGPL-2.1" | ||
SLOT="0" | ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" | ||
IUSE="autoipd bookmarks dbus doc gdbm gtk gtk3 howl-compat +introspection ipv6 kernel_linux mdnsresponder-compat mono nls python qt4 selinux test utils" | ||
|
||
REQUIRED_USE=" | ||
utils? ( || ( gtk gtk3 ) ) | ||
python? ( dbus gdbm ) | ||
mono? ( dbus ) | ||
howl-compat? ( dbus ) | ||
mdnsresponder-compat? ( dbus ) | ||
" | ||
|
||
COMMON_DEPEND=" | ||
dev-libs/libdaemon | ||
dev-libs/expat | ||
>=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] | ||
gdbm? ( >=sys-libs/gdbm-1.10-r1[${MULTILIB_USEDEP}] ) | ||
qt4? ( dev-qt/qtcore:4[${MULTILIB_USEDEP}] ) | ||
gtk? ( x11-libs/gtk+:2[${MULTILIB_USEDEP}] ) | ||
gtk3? ( x11-libs/gtk+:3[${MULTILIB_USEDEP}] ) | ||
dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] ) | ||
kernel_linux? ( sys-libs/libcap ) | ||
introspection? ( dev-libs/gobject-introspection:= ) | ||
mono? ( | ||
dev-lang/mono | ||
gtk? ( dev-dotnet/gtk-sharp ) | ||
) | ||
python? ( | ||
${PYTHON_DEPS} | ||
gtk? ( dev-python/pygtk ) | ||
dbus? ( dev-python/dbus-python ) | ||
) | ||
bookmarks? ( | ||
dev-python/twisted-core | ||
dev-python/twisted-web | ||
) | ||
" | ||
|
||
DEPEND=" | ||
${COMMON_DEPEND} | ||
dev-util/intltool | ||
>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] | ||
doc? ( | ||
app-doc/doxygen | ||
) | ||
" | ||
|
||
RDEPEND=" | ||
${COMMON_DEPEND} | ||
howl-compat? ( !net-misc/howl ) | ||
mdnsresponder-compat? ( !net-misc/mDNSResponder ) | ||
selinux? ( sec-policy/selinux-avahi ) | ||
" | ||
|
||
pkg_preinst() { | ||
enewgroup netdev | ||
enewgroup avahi | ||
enewuser avahi -1 -1 -1 avahi | ||
|
||
if use autoipd; then | ||
enewgroup avahi-autoipd | ||
enewuser avahi-autoipd -1 -1 -1 avahi-autoipd | ||
fi | ||
} | ||
|
||
pkg_setup() { | ||
use mono && mono-env_pkg_setup | ||
} | ||
|
||
src_prepare() { | ||
if use ipv6; then | ||
sed -i \ | ||
-e s/use-ipv6=no/use-ipv6=yes/ \ | ||
avahi-daemon/avahi-daemon.conf || die | ||
fi | ||
|
||
sed -i\ | ||
-e "s:\\.\\./\\.\\./\\.\\./doc/avahi-docs/html/:../../../doc/${PF}/html/:" \ | ||
doxygen_to_devhelp.xsl || die | ||
|
||
# Make gtk utils optional | ||
epatch "${FILESDIR}"/${PN}-0.6.30-optional-gtk-utils.patch | ||
|
||
# Fix init scripts for >=openrc-0.9.0, bug #383641 | ||
epatch "${FILESDIR}"/${PN}-0.6.x-openrc-0.9.x-init-scripts-fixes.patch | ||
|
||
# install-exec-local -> install-exec-hook | ||
epatch "${FILESDIR}"/${P}-install-exec-hook.patch | ||
|
||
# Backport host-name-from-machine-id patch, bug #466134 | ||
epatch "${FILESDIR}"/${P}-host-name-from-machine-id.patch | ||
|
||
# Don't install avahi-discover unless ENABLE_GTK_UTILS, bug #359575 | ||
epatch "${FILESDIR}"/${P}-fix-install-avahi-discover.patch | ||
|
||
epatch "${FILESDIR}"/${P}-so_reuseport-may-not-exist-in-running-kernel.patch | ||
|
||
# allow building client without the daemon | ||
epatch "${FILESDIR}"/${P}-build-client-without-daemon.patch | ||
|
||
# Fix build under various locales, bug #501664 | ||
epatch "${FILESDIR}"/${P}-fix-locale-build.patch | ||
|
||
# Fix "Invalid response packet from host", bug #559408. | ||
epatch "${FILESDIR}"/${P}-invalid_packet.patch | ||
|
||
# Drop DEPRECATED flags, bug #384743 | ||
sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED=1::g' avahi-ui/Makefile.am || die | ||
|
||
# Fix references to Lennart's home directory, bug #466210 | ||
sed -i -e 's/\/home\/lennart\/tmp\/avahi//g' man/* || die | ||
|
||
# Bug #525832 | ||
epatch_user | ||
|
||
# Prevent .pyc files in DESTDIR | ||
>py-compile | ||
|
||
eautoreconf | ||
|
||
# bundled manpages | ||
multilib_copy_sources | ||
} | ||
|
||
src_configure() { | ||
# those steps should be done once-per-ebuild rather than per-ABI | ||
use sh && replace-flags -O? -O0 | ||
use python && python_export_best | ||
|
||
# We need to unset DISPLAY, else the configure script might have problems detecting the pygtk module | ||
unset DISPLAY | ||
|
||
multilib-minimal_src_configure | ||
} | ||
|
||
multilib_src_configure() { | ||
local myconf=( --disable-static ) | ||
|
||
if use python; then | ||
myconf+=( | ||
$(multilib_native_use_enable dbus python-dbus) | ||
$(multilib_native_use_enable gtk pygtk) | ||
) | ||
fi | ||
|
||
if use mono; then | ||
myconf+=( $(multilib_native_use_enable doc monodoc) ) | ||
fi | ||
|
||
if ! multilib_is_native_abi; then | ||
myconf+=( | ||
# used by daemons only | ||
--disable-libdaemon | ||
--with-xml=none | ||
) | ||
fi | ||
|
||
econf \ | ||
--localstatedir="${EPREFIX}/var" \ | ||
--with-distro=gentoo \ | ||
--disable-python-dbus \ | ||
--disable-pygtk \ | ||
--disable-xmltoman \ | ||
--disable-monodoc \ | ||
--enable-glib \ | ||
--enable-gobject \ | ||
$(multilib_native_use_enable test tests) \ | ||
$(multilib_native_use_enable autoipd) \ | ||
$(use_enable mdnsresponder-compat compat-libdns_sd) \ | ||
$(use_enable howl-compat compat-howl) \ | ||
$(multilib_native_use_enable doc doxygen-doc) \ | ||
$(multilib_native_use_enable mono) \ | ||
$(use_enable dbus) \ | ||
$(multilib_native_use_enable python) \ | ||
$(use_enable gtk) \ | ||
$(use_enable gtk3) \ | ||
$(use_enable nls) \ | ||
$(multilib_native_use_enable introspection) \ | ||
$(multilib_native_use_enable utils gtk-utils) \ | ||
--disable-qt3 \ | ||
$(use_enable qt4) \ | ||
$(use_enable gdbm) \ | ||
$(systemd_with_unitdir) \ | ||
"${myconf[@]}" | ||
} | ||
|
||
multilib_src_compile() { | ||
emake | ||
|
||
multilib_is_native_abi && use doc && emake avahi.devhelp | ||
} | ||
|
||
multilib_src_install() { | ||
emake install DESTDIR="${D}" | ||
use bookmarks && use python && use dbus && use gtk || \ | ||
rm -f "${ED}"/usr/bin/avahi-bookmarks | ||
|
||
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 | ||
dohtml -r doxygen/html/. || die | ||
insinto /usr/share/devhelp/books/avahi | ||
doins avahi.devhelp || die | ||
fi | ||
} | ||
|
||
multilib_src_install_all() { | ||
if use autoipd; then | ||
insinto /$(get_libdir)/rcscripts/net | ||
doins "${FILESDIR}"/autoipd.sh | ||
|
||
insinto /$(get_libdir)/netifrc/net | ||
newins "${FILESDIR}"/autoipd-openrc.sh autoipd.sh | ||
fi | ||
|
||
dodoc docs/{AUTHORS,NEWS,README,TODO} | ||
|
||
prune_libtool_files --all | ||
} | ||
|
||
pkg_postinst() { | ||
if use autoipd; then | ||
elog | ||
elog "To use avahi-autoipd to configure your interfaces with IPv4LL (RFC3927)" | ||
elog "addresses, just set config_<interface>=( autoipd ) in /etc/conf.d/net!" | ||
elog | ||
fi | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters