dev-libs/libdbusmenu: Bump to 16.04.0, fix tests, EAPI=6
authorMichał Górny <mgorny@gentoo.org>
Mon, 17 Jul 2017 19:59:16 +0000 (21:59 +0200)
committerMichał Górny <mgorny@gentoo.org>
Sun, 6 Aug 2017 13:54:06 +0000 (15:54 +0200)
dev-libs/libdbusmenu/Manifest
dev-libs/libdbusmenu/libdbusmenu-16.04.0.ebuild [new file with mode: 0644]

index 3bd215e27f4415aeebd1610639f470aa763ce659..7449b4cae504c965ebaf441deebd3890c71fb795 100644 (file)
@@ -1 +1,2 @@
 DIST libdbusmenu-12.10.2.tar.gz 735730 SHA256 9d6ad4a0b918b342ad2ee9230cce8a095eb601cb0cee6ddc1122d0481f9d04c9 SHA512 cf2e50dc3adbf35d0a4ccdd62a3efd9fae2d079b8d06e6522b70f077f89ac2cf72188e380f476e38d184b69549e90b801bf1e32174fa94bbe612dd52aec94496 WHIRLPOOL 3e75fd0bcbadcff8f4e4cd3a2be33a3aa7cf715413b1a67c5430b9420a965d64db2d988fa5c21fc42c6458ad4ed479c400b28b8a94074cb7223ab0a03ad985eb
+DIST libdbusmenu-16.04.0.tar.gz 760376 SHA256 b9cc4a2acd74509435892823607d966d424bd9ad5d0b00938f27240a1bfa878a SHA512 ee9654ac4ed94bdebc94a6db83b126784273a417a645b2881b2ba676a5f67d7fc95dd2bb37bfb0890aa47299ed73cb21ed7de8b75f3fed6b69bfd39065062241 WHIRLPOOL 0242614bf02ad9028e0a9c697dd7bf5ad35665b6fd73eaad9669345f8800e841cacb7912ffeb9ee38b7b3568b6d8141a42e4aee2f292e5df2b9a9cab77d869e4
diff --git a/dev-libs/libdbusmenu/libdbusmenu-16.04.0.ebuild b/dev-libs/libdbusmenu/libdbusmenu-16.04.0.ebuild
new file mode 100644 (file)
index 0000000..5b4dc1f
--- /dev/null
@@ -0,0 +1,149 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+VALA_MIN_API_VERSION=0.16
+VALA_USE_DEPEND=vapigen
+PYTHON_COMPAT=( python2_7 )
+VIRTUALX_REQUIRED=manual
+
+inherit flag-o-matic multilib-minimal python-single-r1 vala virtualx \
+       xdg-utils
+
+DESCRIPTION="Library to pass menu structure across DBus"
+HOMEPAGE="https://launchpad.net/dbusmenu"
+SRC_URI="https://launchpad.net/${PN/lib}/${PV%.*}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE="debug gtk gtk3 +introspection test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+       >=dev-libs/dbus-glib-0.100[${MULTILIB_USEDEP}]
+       >=dev-libs/glib-2.35.4[${MULTILIB_USEDEP}]
+       dev-libs/libxml2[${MULTILIB_USEDEP}]
+       ${PYTHON_DEPS}
+       gtk? ( x11-libs/gtk+:2[introspection?,${MULTILIB_USEDEP}] )
+       gtk3? ( >=x11-libs/gtk+-3.2:3[introspection?,${MULTILIB_USEDEP}] )
+       introspection? ( >=dev-libs/gobject-introspection-1 )
+       !<${CATEGORY}/${PN}-0.5.1-r200"
+# tests also have optional dep on valgrind which we do not enforce
+DEPEND="${RDEPEND}
+       app-text/gnome-doc-utils
+       dev-util/intltool
+       sys-devel/gettext
+       virtual/pkgconfig[${MULTILIB_USEDEP}]
+       introspection? ( $(vala_depend) )
+       test? (
+               >=dev-libs/json-glib-0.13.4[${MULTILIB_USEDEP}]
+               >=dev-util/dbus-test-runner-15.04.0_p100
+               gtk? ( ${VIRTUALX_DEPEND} )
+               gtk3? ( ${VIRTUALX_DEPEND} )
+       )"
+
+pkg_setup() {
+       xdg_environment_reset
+       python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       if use introspection; then
+               vala_src_prepare
+               export VALA_API_GEN="${VAPIGEN}"
+       fi
+       python_fix_shebang tools
+
+       eapply_user
+}
+
+multilib_src_configure() {
+       append-flags -Wno-error #414323
+
+       local myconf=(
+               --cache-file="${BUILD_DIR}"/config.cache
+               --disable-gtk
+               --disable-static
+               # dumper extra tool is only for GTK+-2.x
+               --disable-dumper
+               $(multilib_native_use_enable introspection)
+               $(multilib_native_use_enable introspection vala)
+               $(use_enable debug massivedebugging)
+               $(use_enable test tests)
+       )
+       local ECONF_SOURCE=${S}
+       econf "${myconf[@]}"
+
+       GTK_VARIANTS=( $(usex gtk 2 '') $(usex gtk3 3 '') )
+       local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
+       local top_builddir=${BUILD_DIR}
+
+       gtk_configure() {
+               local gtkconf=(
+                       "${myconf[@]}"
+                       --enable-gtk
+                       --with-gtk="${MULTIBUILD_VARIANT}"
+               )
+               mkdir -p "${BUILD_DIR}" || die
+               cd "${BUILD_DIR}" || die
+               econf "${gtkconf[@]}"
+
+               rm -r libdbusmenu-glib || die
+               ln -s "${top_builddir}"/libdbusmenu-glib libdbusmenu-glib || die
+       }
+       [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant gtk_configure
+}
+
+gtk_emake() {
+       emake -C "${BUILD_DIR}"/libdbusmenu-gtk "${@}"
+       multilib_is_native_abi && \
+               emake -C "${BUILD_DIR}"/docs/libdbusmenu-gtk "${@}"
+}
+
+multilib_src_compile() {
+       emake
+
+       local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
+       [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant \
+               gtk_emake
+}
+
+multilib_src_test() {
+       emake check
+
+       gtk_test() {
+               # please keep the list of GTK+ tests up-to-date
+               emake -C "${BUILD_DIR}"/tests check \
+                       TESTS="test-gtk-objects-test test-gtk-label
+                               test-gtk-shortcut test-gtk-reorder test-gtk-remove"
+       }
+       local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
+       [[ ${GTK_VARIANTS[@]} ]] && virtx multibuild_foreach_variant \
+               gtk_test
+}
+
+multilib_src_install() {
+       emake -j1 DESTDIR="${D}" install
+
+       local MULTIBUILD_VARIANTS=( "${GTK_VARIANTS[@]}" )
+       [[ ${GTK_VARIANTS[@]} ]] && multibuild_foreach_variant \
+               gtk_emake -j1 install DESTDIR="${D}"
+}
+
+multilib_src_install_all() {
+       einstalldocs
+       find "${D}" -name '*.la' -delete || die
+}
+
+pkg_preinst() {
+       # kill old symlinks that Portage will preserve and break install
+       if [[ -L ${EROOT}/usr/share/gtk-doc/html/libdbusmenu-glib ]]; then
+               rm -v "${EROOT}/usr/share/gtk-doc/html/libdbusmenu-glib" || die
+       fi
+       if [[ -L ${EROOT}/usr/share/gtk-doc/html/libdbusmenu-gtk ]]; then
+               rm -v "${EROOT}/usr/share/gtk-doc/html/libdbusmenu-gtk" || die
+       fi
+}