*/*: [QA] Fix trivial cases of MissingTestRestrict
[gentoo.git] / net-libs / qxmpp / qxmpp-9999.ebuild
index 21806f48a186ca86d6c720508e73459c2779c98a..b1973ffc3cced35436de717862d4b29e38d8df2a 100644 (file)
@@ -1,11 +1,11 @@
-# Copyright 1999-2017 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,52 +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_configure(){
-       local conf_speex
-       local conf_theora
-       local conf_vpx
+src_prepare() {
+       # requires network connection, bug #623708
+       sed -e "/qxmppiceconnection/d" \
+               -i tests/CMakeLists.txt || die "failed to drop single test"
 
-       use opus && conf_opus="QXMPP_USE_OPUS=1"
-       use speex && conf_speex="QXMPP_USE_SPEEX=1"
-       use theora && conf_theora="QXMPP_USE_THEORA=1"
-       use vpx && conf_vpx="QXMPP_USE_VPX=1"
+       cmake-utils_src_prepare
+}
 
-       eqmake5 "${S}"/qxmpp.pro "PREFIX=${EPREFIX}/usr" "LIBDIR=$(get_libdir)" "${conf_opus}" "${conf_speex}" "${conf_theora}" "${conf_vpx}"
+src_configure() {
+       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
-}