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.

150 lines
3.8 KiB

# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} )
inherit cmake flag-o-matic python-any-r1 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 3rdparty/FindPythonInterpreter )
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/v${MY_PV}/${MY_P}.tar.gz"
S="${WORKDIR}/${P/_*}.src"
fi
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${PN}-1.4-openssl3.patch.xz"
LICENSE="BSD MIT"
SLOT="0"
IUSE="+alsa +dbus debug g15 jack pipewire portaudio pulseaudio multilib nls +rnnoise speech test zeroconf"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-libs/openssl-1.0.0b:0=
dev-libs/poco[util,xml,zip]
>=dev-libs/protobuf-2.2.0:=
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5[ssl]
dev-qt/qtsql:5[sqlite]
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
dev-qt/qtxml:5
>=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
x11-libs/libX11
x11-libs/libXi
alsa? ( media-libs/alsa-lib )
dbus? ( dev-qt/qtdbus:5 )
g15? ( app-misc/g15daemon:= )
jack? ( virtual/jack )
portaudio? ( media-libs/portaudio )
pulseaudio? ( media-sound/pulseaudio )
pipewire? ( media-video/pipewire )
speech? ( >=app-accessibility/speech-dispatcher-0.8.0 )
zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
dev-qt/qtconcurrent:5
dev-qt/qttest:5
>=dev-libs/boost-1.41.0
x11-base/xorg-proto
"
BDEPEND="
dev-qt/linguist-tools:5
virtual/pkgconfig
"
PATCHES=(
"${WORKDIR}/${PN}-1.4-openssl3.patch"
"${FILESDIR}/${PN}-1.4-crypto-threads.patch"
"${FILESDIR}/${PN}-1.4.230-gcc12-include-memory.patch"
"${FILESDIR}/${PN}-1.4.230-poco-link-cmake.patch"
)
pkg_setup() {
python-any-r1_pkg_setup
}
src_prepare() {
# required because of xdg.eclass also providing src_prepare
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-Dalsa="$(usex alsa)"
-Dtests="$(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)"
-Doverlay-xcompile="$(usex multilib)"
-Dpipewire="$(usex pipewire)"
-Dpulseaudio="$(usex pulseaudio)"
-Drnnoise="$(usex rnnoise)"
-Dserver="OFF"
-Dspeechd="$(usex speech)"
-Dtranslations="$(usex nls)"
-Dupdate="OFF"
-Dwarnings-as-errors="OFF"
-Dzeroconf="$(usex zeroconf)"
)
if [[ "${PV}" != 9999 ]] ; then
mycmakeargs+=( -DBUILD_NUMBER="$(ver_cut 3)" )
fi
# https://bugs.gentoo.org/832978
# fix tests (and possibly runtime issues) on arches with unsigned chars
append-cxxflags -fsigned-char
cmake_src_configure
}
src_install() {
cmake_src_install
if use amd64 && use multilib ; then
# The 32bit overlay library gets built when multilib is enabled.
# 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"
dodir ${libdir_32}
mv "${ED}"/${libdir_64}/libmumbleoverlay.x86.so* \
"${ED}"/${libdir_32}/ || die
fi
insinto /usr/share/mumble
doins -r samples
}
pkg_postinst() {
xdg_pkg_postinst
echo
elog "Visit https://wiki.mumble.info/ for futher configuration instructions."
elog "Run 'mumble-overlay <program>' to start the OpenGL overlay (after starting mumble)."
echo
}