You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-sound/mumble/mumble-1.3.0_rc2.ebuild

161 lines
3.7 KiB

# 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
https://dl.mumble.info/${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
}