Closed haasn closed 5 years ago
Alternatively, mumble could be made to work with the system-wide libcelt. (Current version: 0.11.3)
@haasn I've made a patch which essentially allows to remove bundled celt from the ebuild and add it as a system-wide dependency. Here's the changes to the ebuild:
diff --git a/media-sound/mumble/mumble-9999.ebuild b/media-sound/mumble/mumble-9999.ebuild
index e75beaeaaec..39bd2a461c0 100644
--- a/media-sound/mumble/mumble-9999.ebuild
+++ b/media-sound/mumble/mumble-9999.ebuild
@@ -10,7 +10,7 @@ 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 )
+ EGIT_SUBMODULES=( '-*' themes/Mumble 3rdparty/rnnoise-src )
else
MY_P="${PN}-${PV/_/~}"
SRC_URI="https://mumble.info/snapshot/${MY_P}.tar.gz"
@@ -31,6 +31,7 @@ RDEPEND="
dev-qt/qtwidgets:5
dev-qt/qtxml:5
>=dev-libs/protobuf-2.2.0:=
+ >=media-libs/celt-0.7.0
>=media-libs/libsndfile-1.0.20[-minimal]
>=media-libs/speex-1.2.0
media-libs/speexdsp
@@ -63,7 +64,7 @@ src_configure() {
}
local conf_add=(
- bundled-celt
+ no-bundled-celt
no-bundled-opus
no-bundled-speex
no-embed-qt-translations
@@ -112,7 +113,7 @@ src_install() {
doman man/mumble-overlay.1
doman man/mumble.1
- dolib.so "${dir}"/libmumble.so* "${dir}"/libcelt0.so* "${dir}"/plugins/lib*.so*
+ dolib.so "${dir}"/libmumble.so* "${dir}"/plugins/lib*.so*
}
pkg_postinst() {
Additionally, you need the following patch from my mumble branch: https://github.com/kakra/mumble/commit/0ab097b31e66bcd65cf9419ba7732503a558d04c
In #3521 you can read that this may break compatibility with some peers, so please do your tests before using this version. If you're only using private mumble servers, everything should be fine, I guess.
Workaround by @kakra not needed anymore since Gentoo has removed the systemwide libcelt. #3521 Issue can be closed.
Excellent, thank you for the info!
When building mumble (via the gentoo-9999 ebuild), it refuses to merge because of file collisions against libcelt0.so:
Configuration:
The bundled CELT should probably be linked statically and/or installed to a special subdirectory to avoid conflicting system-wide libraries.
Note: This might affect other files as well, a few seem fishy:
libl4d2
,liblink
andlibrl
in particular seem out of place.