commit:     e10a816f22b00a9a87481df79977234b45af7748
Author:     Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
AuthorDate: Sat Sep 19 12:03:02 2020 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Nov 16 23:47:59 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e10a816f

media-sound/mumble: Update/Fix live ebuild

Upstream now has dropped qmake and uses only cmake.
Updated the ebuild to use cmake instead of qmake.

Also added tests.

Closes: https://bugs.gentoo.org/741716
Closes: https://github.com/gentoo/gentoo/pull/17468
Signed-off-by: Sebastian Parborg <darkdefende <AT> gmail.com>
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 media-sound/mumble/mumble-9999.ebuild | 117 ++++++++++++----------------------
 1 file changed, 39 insertions(+), 78 deletions(-)

diff --git a/media-sound/mumble/mumble-9999.ebuild 
b/media-sound/mumble/mumble-9999.ebuild
index d821055f5f3..48fccfb70b6 100644
--- a/media-sound/mumble/mumble-9999.ebuild
+++ b/media-sound/mumble/mumble-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-inherit desktop multilib-build qmake-utils xdg
+inherit cmake xdg
 
 DESCRIPTION="Mumble is an open source, low-latency, high quality voice chat 
software"
 HOMEPAGE="https://wiki.mumble.info";
@@ -26,7 +26,8 @@ fi
 
 LICENSE="BSD MIT"
 SLOT="0"
-IUSE="+alsa +dbus debug g15 jack libressl +opus oss pch portaudio pulseaudio 
+rnnoise speech zeroconf"
+IUSE="+alsa +dbus debug g15 jack libressl portaudio pulseaudio nls +rnnoise 
speech test zeroconf"
+RESTRICT="!test? ( test )"
 
 RDEPEND="
        dev-qt/qtcore:5
@@ -38,6 +39,7 @@ RDEPEND="
        dev-qt/qtxml:5
        >=dev-libs/protobuf-2.2.0:=
        >=media-libs/libsndfile-1.0.20[-minimal]
+       >=media-libs/opus-1.3.1
        >=media-libs/speex-1.2.0
        media-libs/speexdsp
        sys-apps/lsb-release
@@ -49,7 +51,6 @@ RDEPEND="
        jack? ( virtual/jack )
        !libressl? ( >=dev-libs/openssl-1.0.0b:0= )
        libressl? ( dev-libs/libressl )
-       opus? ( >=media-libs/opus-1.0.1 )
        portaudio? ( media-libs/portaudio )
        pulseaudio? ( media-sound/pulseaudio )
        speech? ( >=app-accessibility/speech-dispatcher-0.8.0 )
@@ -64,94 +65,54 @@ BDEPEND="
        virtual/pkgconfig
 "
 
-# NB: qmake does not support multilib but it's fine to configure
-# for the native ABI here
-src_configure() {
-       myuse() {
-               [[ -n "${1}" ]] || die "myuse: No use option given"
-               use ${1} || echo no-${1}
-       }
-
-       local conf_add=(
-               bundled-celt
-               no-bundled-opus
-               no-bundled-speex
-               no-embed-qt-translations
-               no-server
-               no-update
-               $(myuse alsa)
-               $(myuse dbus)
-               $(usex debug 'symbols debug' release)
-               $(myuse g15)
-               $(usex jack '' no-jackaudio)
-               $(myuse opus)
-               $(myuse oss)
-               $(myuse portaudio)
-               $(myuse pulseaudio)
-               $(myuse rnnoise)
-               $(usex speech '' no-speechd)
-               $(usex zeroconf '' no-bonjour)
-       )
-
-       use pch || conf_add+=( no-pch )
-
-       eqmake5 "${S}/main.pro" -recursive \
-               CONFIG+="${conf_add[*]}" \
-               DEFINES+="PLUGIN_PATH=/usr/$(get_libdir)/mumble"
+src_prepare() {
+        # required because of xdg.eclass also providing src_prepare
+        cmake_src_prepare
 }
 
-multilib_src_compile() {
-       local emake_args=(
-               # place libmumble* in a subdirectory
-               DESTDIR_ADD="/${MULTILIB_ABI_FLAG}"
-               {C,L}FLAGS_ADD="$(get_abi_CFLAGS)"
+src_configure() {
+
+       local mycmakeargs=(
+               "-Dalsa=$(usex alsa)"
+               "-DBUILD_TESTING=$(usex test)"
+               "-Dbundled-celt=ON"
+               "-Dbundled-opus=OFF"
+               "-Dbundled-speex=OFF"
+               "-Ddbus=$(usex dbus)"
+               "-Dg15=$(usex g15)"
+               "-Djackaudio=$(usex jack)"
+               "-Doverlay=ON"
+               "-Dportaudio=$(usex portaudio)"
+               "-Dpulseaudio=$(usex pulseaudio)"
+               "-Drnnoise=$(usex rnnoise)"
+               "-Dserver=OFF"
+               "-Dspeechd=$(usex speech)"
+               "-Dtranslations=$(usex nls)"
+               "-Dupdate=OFF"
+               "-Dzeroconf=$(usex zeroconf)"
        )
-       # build only overlay library for other ABIs
-       multilib_is_native_abi || emake_args+=( -C overlay_gl )
-       emake "${emake_args[@]}"
-       emake clean
-}
 
-src_compile() {
-       multilib_foreach_abi multilib_src_compile
-}
-
-multilib_src_install() {
-       local dir=$(usex debug debug release)
-       insinto /usr/$(get_libdir)/${PN}
-       doins "${dir}/${MULTILIB_ABI_FLAG}"/libmumble.so*
-       if multilib_is_native_abi; then
-               dobin "${dir}"/mumble
-               doins "${dir}"/libcelt0.so* "${dir}"/plugins/lib*.so*
-       fi
+       cmake_src_configure
 }
 
 src_install() {
-       multilib_foreach_abi multilib_src_install
-
-       dodoc CHANGES README.md
-       dobin scripts/mumble-overlay
-
-       insinto /usr/share/services
-       doins scripts/mumble.protocol
-
-       domenu scripts/mumble.desktop
-
-       doicon -s scalable icons/mumble.svg
-
-       doman man/mumble-overlay.1
-       doman man/mumble.1
-}
-
-pkg_preinst() {
-       xdg_pkg_preinst
+       cmake_src_install
+
+       if use amd64 ; then
+               # The 32bit overlay library gets automatically built and 
installed on x86_64 platforms.
+               # Install it into the correct 32bit lib dir.
+               local libdir_64="/usr/$(get_libdir)/mumble"
+               local libdir_32="/usr/$(get_abi_var LIBDIR x86)/mumble"
+               mkdir -p ${D}/{$libdir_32} || die
+               mv ${D}/${libdir_64}/libmumbleoverlay.x86.so* 
${D}/${libdir_32}/ || die
+       fi
 }
 
 pkg_postinst() {
        xdg_pkg_postinst
        echo
        elog "Visit https://wiki.mumble.info/ for futher configuration 
instructions."
-       elog "Run mumble-overlay to start the OpenGL overlay (after starting 
mumble)."
+       elog "Run 'mumble-overlay <program>' to start the OpenGL overlay (after 
starting mumble)."
        echo
 }
 

Reply via email to