*/*: [QA] Fix trivial cases of MissingTestRestrict
[gentoo.git] / net-libs / qxmpp / qxmpp-9999.ebuild
index d9226e906b6646b1cbdad74017dfb870831b17c1..b1973ffc3cced35436de717862d4b29e38d8df2a 100644 (file)
@@ -1,11 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
 
 EGIT_REPO_URI="https://github.com/qxmpp-project/qxmpp"
 
-inherit git-r3 qmake-utils
+inherit git-r3 cmake-utils
 
 DESCRIPTION="A cross-platform C++ XMPP client library based on the Qt framework"
 HOMEPAGE="https://github.com/qxmpp-project/qxmpp/"
@@ -14,6 +14,7 @@ LICENSE="LGPL-2.1"
 SLOT="0"
 KEYWORDS=""
 IUSE="debug doc opus +speex test theora vpx"
+RESTRICT="!test? ( test )"
 
 RDEPEND="
        dev-qt/qtcore:5
@@ -22,49 +23,41 @@ RDEPEND="
        opus? ( media-libs/opus )
        speex? ( media-libs/speex )
        theora? ( media-libs/libtheora )
-       vpx? ( media-libs/libvpx )
+       vpx? ( media-libs/libvpx:= )
 "
 DEPEND="${RDEPEND}
+       dev-util/cmake
        test? ( dev-qt/qttest:5 )
+       doc? ( app-doc/doxygen )
 "
 
-src_prepare(){
-       if ! use doc; then
-               sed -i \
-                       -e '/SUBDIRS/s/doc//' \
-                       -e '/INSTALLS/d' \
-                       qxmpp.pro || die "sed for removing docs failed"
-       fi
-       if ! use test; then
-               sed -i -e '/SUBDIRS/s/tests//' \
-                       qxmpp.pro || die "sed for removing tests failed"
-       fi
-       # There is no point in building examples. Also, they require dev-qt/qtgui
-       sed -i -e '/SUBDIRS/s/examples//' \
-                       qxmpp.pro || die "sed for removing examples failed"
-       default_src_prepare
+src_prepare() {
+       # requires network connection, bug #623708
+       sed -e "/qxmppiceconnection/d" \
+               -i tests/CMakeLists.txt || die "failed to drop single test"
+
+       cmake-utils_src_prepare
 }
 
 src_configure() {
-       eqmake5 "${S}"/qxmpp.pro \
-               PREFIX="${EPREFIX}/usr" \
-               LIBDIR="$(get_libdir)" \
-               QXMPP_USE_OPUS=$(usex opus 1 0) \
-               QXMPP_USE_SPEEX=$(usex speex 1 0) \
-               QXMPP_USE_THEORA=$(usex theora 1 0) \
-               QXMPP_USE_VPX=$(usex vpx 1 0)
+       local mycmakeargs=(
+               -DBUILD_DOCUMENTATION=$(usex doc)
+               -DBUILD_EXAMPLES=OFF
+               -DBUILD_TESTS=$(usex test)
+               -DWITH_OPUS=$(usex opus)
+               -DWITH_SPEEX=$(usex speex)
+               -DWITH_THEORA=$(usex theora)
+               -DWITH_VPX=$(usex vpx)
+       )
+
+       cmake-utils_src_configure
 }
 
 src_install() {
-       emake INSTALL_ROOT="${D}" install
-       einstalldocs
+       cmake-utils_src_install
+
        if use doc; then
                # Use proper path for documentation
                mv "${ED}"/usr/share/doc/${PN} "${ED}"/usr/share/doc/${PF} || die "doc mv failed"
        fi
 }
-
-src_test() {
-       MAKEOPTS="-j1" # random tests fail otherwise
-       default_src_test
-}