diff options
Diffstat (limited to 'media-sound/mumble')
-rw-r--r-- | media-sound/mumble/mumble-9999.ebuild | 117 |
1 files changed, 39 insertions, 78 deletions
diff --git a/media-sound/mumble/mumble-9999.ebuild b/media-sound/mumble/mumble-9999.ebuild index d821055f5f3c..48fccfb70b68 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 } |