media-sound/mumble: Revbump for multilib libmumble.so*
authorLars Wendler <polynomial-c@gentoo.org>
Wed, 19 Jun 2019 15:14:40 +0000 (17:14 +0200)
committerLars Wendler <polynomial-c@gentoo.org>
Wed, 19 Jun 2019 15:15:03 +0000 (17:15 +0200)
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
media-sound/mumble/mumble-1.3.0_rc1-r1.ebuild [new file with mode: 0644]

diff --git a/media-sound/mumble/mumble-1.3.0_rc1-r1.ebuild b/media-sound/mumble/mumble-1.3.0_rc1-r1.ebuild
new file mode 100644 (file)
index 0000000..30b2055
--- /dev/null
@@ -0,0 +1,159 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop multilib-build qmake-utils xdg
+
+DESCRIPTION="Mumble is an open source, low-latency, high quality voice chat software"
+HOMEPAGE="https://wiki.mumble.info"
+if [[ "${PV}" == 9999 ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/mumble-voip/mumble.git"
+       EGIT_SUBMODULES=( '-*' celt-0.7.0-src celt-0.11.0-src themes/Mumble 3rdparty/rnnoise-src )
+else
+       if [[ "${PV}" == *_pre* ]] ; then
+               SRC_URI="https://dev.gentoo.org/~polynomial-c/dist/${P}.tar.xz"
+       else
+               MY_PV="${PV/_/-}"
+               MY_P="${PN}-${MY_PV}"
+               SRC_URI="https://github.com/mumble-voip/mumble/releases/download/${MY_PV}/${MY_P}.tar.gz"
+               S="${WORKDIR}/${P/_*}"
+       fi
+       KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="BSD MIT"
+SLOT="0"
+IUSE="+alsa +dbus debug g15 jack libressl +opus oss pch portaudio pulseaudio +rnnoise speech zeroconf"
+
+RDEPEND="
+       dev-qt/qtcore:5
+       dev-qt/qtgui:5
+       dev-qt/qtnetwork:5
+       dev-qt/qtsql:5[sqlite]
+       dev-qt/qtsvg:5
+       dev-qt/qtwidgets:5
+       dev-qt/qtxml:5
+       >=dev-libs/protobuf-2.2.0:=
+       >=media-libs/libsndfile-1.0.20[-minimal]
+       >=media-libs/speex-1.2.0
+       media-libs/speexdsp
+       sys-apps/lsb-release
+       x11-libs/libX11
+       x11-libs/libXi
+       alsa? ( media-libs/alsa-lib )
+       dbus? ( dev-qt/qtdbus:5 )
+       g15? ( app-misc/g15daemon )
+       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 )
+       zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
+"
+DEPEND="${RDEPEND}
+       >=dev-libs/boost-1.41.0
+       x11-base/xorg-proto
+"
+BDEPEND="
+       dev-qt/linguist-tools:5
+       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"
+}
+
+multilib_src_compile() {
+       local emake_args=(
+               # place libmumble* in a subdirectory
+               DESTDIR_ADD="/${MULTILIB_ABI_FLAG}"
+               {C,L}FLAGS_ADD="$(get_abi_CFLAGS)"
+       )
+       # 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)
+       dolib.so "${dir}/${MULTILIB_ABI_FLAG}"/libmumble.so*
+       if multilib_is_native_abi; then
+               dobin "${dir}"/mumble
+               dolib.so "${dir}"/libcelt0.so* "${dir}"/plugins/lib*.so*
+       fi
+}
+
+src_install() {
+       multilib_foreach_abi multilib_src_install
+
+       newdoc README.Linux README
+       dodoc CHANGES
+       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
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+       echo
+       elog "Visit http://mumble.sourceforge.net/ for futher configuration instructions."
+       elog "Run mumble-overlay to start the OpenGL overlay (after starting mumble)."
+       echo
+}
+
+pkg_postrm() {
+       xdg_pkg_postrm
+}