| # Copyright 1999-2022 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=7 |
| |
| inherit autotools bash-completion-r1 multilib-minimal toolchain-funcs |
| |
| DESCRIPTION="D-Bus bindings for glib" |
| HOMEPAGE="https://dbus.freedesktop.org/" |
| SRC_URI="https://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz" |
| |
| LICENSE="|| ( GPL-2 AFL-2.1 )" |
| SLOT="0" |
| KEYWORDS="*" |
| IUSE="debug static-libs test" |
| RESTRICT="!test? ( test )" |
| |
| DEPEND=" |
| >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] |
| >=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}] |
| >=sys-apps/dbus-1.8[${MULTILIB_USEDEP}] |
| " |
| RDEPEND="${DEPEND}" |
| BDEPEND=" |
| >=dev-libs/expat-2.1.0-r3 |
| >=dev-libs/glib-2.40:2 |
| >=sys-apps/dbus-1.8 |
| >=dev-util/glib-utils-2.40 |
| >=dev-util/gtk-doc-am-1.14 |
| virtual/pkgconfig |
| " # CBUILD dependencies are needed to make a native tool while cross-compiling. |
| |
| DOCS=( AUTHORS CONTRIBUTING.md NEWS README ) |
| |
| set_TBD() { |
| # out of sources build dir for make check |
| export TBD="${BUILD_DIR}-tests" |
| } |
| |
| src_prepare() { |
| default |
| eautoreconf |
| } |
| |
| multilib_src_configure() { |
| local myconf=( |
| --localstatedir="${EPREFIX}"/var |
| --enable-bash-completion |
| --disable-gtk-doc |
| $(use_enable debug asserts) |
| $(use_enable static-libs static) |
| ) |
| |
| # Configure a CBUILD directory to make a native build tool. |
| if tc-is-cross-compiler; then |
| mkdir "${BUILD_DIR}-build" || die |
| cd "${BUILD_DIR}-build" || die |
| ECONF_SOURCE="${S}" econf_build |
| myconf+=( --with-dbus-binding-tool="$PWD/dbus/dbus-binding-tool" ) |
| cd - || die |
| fi |
| |
| ECONF_SOURCE="${S}" econf "${myconf[@]}" |
| |
| ln -s "${S}"/doc/reference/html doc/reference/html || die #460042 |
| |
| if use test; then |
| set_TBD |
| mkdir "${TBD}" || die |
| cd "${TBD}" || die |
| einfo "Running configure in ${TBD}" |
| ECONF_SOURCE="${S}" econf \ |
| "${myconf[@]}" \ |
| $(use_enable test checks) \ |
| $(use_enable test tests) \ |
| $(use_enable test asserts) |
| fi |
| } |
| |
| multilib_src_compile() { |
| tc-is-cross-compiler && emake -C "${BUILD_DIR}-build" |
| |
| emake |
| |
| if use test; then |
| set_TBD |
| cd "${TBD}" || die |
| einfo "Running make in ${TBD}" |
| emake |
| fi |
| } |
| |
| multilib_src_test() { |
| set_TBD |
| cd "${TBD}" || die |
| emake check |
| } |
| |
| multilib_src_install_all() { |
| einstalldocs |
| |
| newbashcomp "${ED}"/etc/bash_completion.d/dbus-bash-completion.sh dbus-send |
| rm -r "${ED}"/etc/bash_completion.d || die |
| |
| find "${ED}" -type f -name '*.la' -delete || die |
| } |