commit: d6b394196ce6917c5abb05623d9534703b1cf8d1 Author: sin-ack <sin-ack <AT> protonmail <DOT> com> AuthorDate: Sun May 4 16:35:04 2025 +0000 Commit: Kenton Groombridge <concord <AT> gentoo <DOT> org> CommitDate: Sun May 4 17:32:52 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d6b39419
net-voip/mumble: add upstream patch for GCC 15 Link: https://github.com/mumble-voip/mumble/commit/f4259722553335d79e9d28948ab7bdb00293a5ec Closes: https://bugs.gentoo.org/947988 Signed-off-by: sin-ack <sin-ack <AT> protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/41933 Closes: https://github.com/gentoo/gentoo/pull/41933 Signed-off-by: Kenton Groombridge <concord <AT> gentoo.org> .../mumble-1.5.735-Fix-building-with-GCC-15.patch | 36 +++++ net-voip/mumble/mumble-1.5.735-r1.ebuild | 160 +++++++++++++++++++++ 2 files changed, 196 insertions(+) diff --git a/net-voip/mumble/files/mumble-1.5.735-Fix-building-with-GCC-15.patch b/net-voip/mumble/files/mumble-1.5.735-Fix-building-with-GCC-15.patch new file mode 100644 index 000000000000..4bd4623da82d --- /dev/null +++ b/net-voip/mumble/files/mumble-1.5.735-Fix-building-with-GCC-15.patch @@ -0,0 +1,36 @@ +From f4259722553335d79e9d28948ab7bdb00293a5ec Mon Sep 17 00:00:00 2001 +From: Carl George <[email protected]> +Date: Tue, 8 Apr 2025 23:25:52 -0500 +Subject: [PATCH] BUILD(overlay): Fix building with GCC 15 + +C23 added the bool keyword, which results in an error if you try to +define an identifier named bool and then build with GCC 15. We can use +stdbool.h to define bool instead. + +https://gcc.gnu.org/gcc-15/porting_to.html#c23-new-keywords +--- + overlay_gl/overlay.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/overlay_gl/overlay.c b/overlay_gl/overlay.c +index 680241e1bbb..bf3051e540f 100644 +--- a/overlay_gl/overlay.c ++++ b/overlay_gl/overlay.c +@@ -14,6 +14,7 @@ + #include <pwd.h> + #include <semaphore.h> + #include <stdarg.h> ++#include <stdbool.h> + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +@@ -37,9 +38,6 @@ + + # include <link.h> + +-typedef unsigned char bool; +-# define true 1 +-# define false 0 + #elif defined(TARGET_MAC) + # include <AGL/agl.h> + # include <Carbon/Carbon.h> diff --git a/net-voip/mumble/mumble-1.5.735-r1.ebuild b/net-voip/mumble/mumble-1.5.735-r1.ebuild new file mode 100644 index 000000000000..2bdceb35c548 --- /dev/null +++ b/net-voip/mumble/mumble-1.5.735-r1.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake flag-o-matic multilib 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" + + # needed for the included 3rdparty license script, + # even if these components may not be compiled in + EGIT_SUBMODULES=( + '-*' + 3rdparty/cmake-compiler-flags + 3rdparty/FindPythonInterpreter + 3rdparty/flag-icons + 3rdparty/minhook + 3rdparty/renamenoise + 3rdparty/speexdsp + 3rdparty/tracy + ) +else + if [[ "${PV}" == *_pre* ]] ; then + SRC_URI="https://dev.gentoo.org/~concord/distfiles/${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/_*}" + fi + KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +fi + +LICENSE="BSD MIT" +SLOT="0" +IUSE="+alsa debug g15 jack pipewire portaudio pulseaudio multilib nls +rnnoise speech test zeroconf" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-cpp/ms-gsl + >=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/qtdbus: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 ) + g15? ( app-misc/g15daemon:= ) + jack? ( virtual/jack ) + portaudio? ( media-libs/portaudio ) + pulseaudio? ( media-libs/libpulse ) + pipewire? ( media-video/pipewire ) + speech? ( >=app-accessibility/speech-dispatcher-0.8.0 ) + zeroconf? ( net-dns/avahi[mdnsresponder-compat] ) +" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-cpp/nlohmann_json + dev-qt/qtconcurrent:5 + dev-qt/qttest:5 + dev-libs/boost + x11-base/xorg-proto +" +BDEPEND=" + dev-qt/linguist-tools:5 + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.5.735-Fix-building-with-GCC-15.patch +) + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + sed '/TRACY_ON_DEMAND/s@ ON @ OFF @' -i src/CMakeLists.txt || die + + # required because of xdg.eclass also providing src_prepare + cmake_src_prepare +} + +src_configure() { + + local mycmakeargs=( + -Dalsa="$(usex alsa)" + -Dbundled-gsl="OFF" + -Dbundled-json="OFF" + -Dbundled-speex="OFF" + -Dg15="$(usex g15)" + -Djackaudio="$(usex jack)" + -Doverlay="ON" + -Dportaudio="$(usex portaudio)" + -Doverlay-xcompile="$(usex multilib)" + -Dpipewire="$(usex pipewire)" + -Dpulseaudio="$(usex pulseaudio)" + -Drenamenoise="$(usex rnnoise)" + -Dserver="OFF" + -Dspeechd="$(usex speech)" + -Dtests="$(usex test)" + -Dtracy="OFF" + -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 +}
