diff --git a/audio/mumble-server/Makefile b/audio/mumble-server/Makefile index cf83a829fe77..1902068cdddb 100644 --- a/audio/mumble-server/Makefile +++ b/audio/mumble-server/Makefile @@ -1,72 +1,74 @@ PORTNAME= mumble-server DISTVERSION= 1.5.613 CATEGORIES= audio net MASTER_SITES= https://github.com/${PORTNAME:S/-server//}-voip/${PORTNAME:S/-server//}/releases/download/v${DISTVERSION}/ DISTNAME= ${PORTNAME:S/-server//}-${DISTVERSION} MAINTAINER= vvd@FreeBSD.org COMMENT= Server component of Mumble WWW= https://www.mumble.info/ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= boost-libs>0:devel/boost-libs LIB_DEPENDS= libabsl_base.so:devel/abseil \ libprotobuf.so:devel/protobuf USES= cmake compiler:c++17-lang pkgconfig python:build qt:5 ssl USE_CXXSTD= c++17 USE_QT= buildtools:build core dbus network qmake:build sql xml CMAKE_ON= server CMAKE_OFF= client CMAKE_ARGS= -DCMAKE_CXX_STANDARD=17 CXXFLAGS+= -Wno-deprecated-declarations USE_RC_SUBR= mumble_server SUB_LIST+= USERS="${USERS}" GROUPS="${GROUPS}" +EXTRA_PATCHES+= ${.CURDIR}/../mumble/files/patch-src_MumbleProtocol.cpp + OPTIONS_DEFINE= AVAHI DOCS ICE LTO OPTIONS_DEFAULT= AVAHI LTO MYSQL SQLITE OPTIONS_MULTI= SQL OPTIONS_MULTI_SQL= MYSQL PGSQL SQLITE AVAHI_CMAKE_BOOL= zeroconf AVAHI_LIB_DEPENDS= libdns_sd.so:net/avahi-libdns ICE_DESC= Ice Support ICE_CMAKE_BOOL= ice ICE_LIB_DEPENDS= libIce.so:devel/ice LTO_CMAKE_BOOL= lto MYSQL_USE= QT=sql-mysql:run PGSQL_USE= QT=sql-pgsql:run SQLITE_USE= QT=sql-sqlite3:run USERS= mumble-server GROUPS= mumble-server .include post-install: ${SED} -i '' -e 's|database=.*|database=/var/db/mumble-server/mumble-server.sqlite| ; \ s|;pidfile=.*|pidfile=/var/run/mumble-server/mumble-server.pid| ; \ s|;logfile=.*|logfile=/var/log/mumble-server/mumble-server.log| ; \ s|;host=.*|host=0.0.0.0|' \ ${STAGEDIR}${PREFIX}/etc/mumble/mumble-server.ini ${MV} ${STAGEDIR}${PREFIX}/etc/mumble/mumble-server.ini \ ${STAGEDIR}${PREFIX}/etc/mumble/mumble-server.ini.sample .for f in bin/mumble-server-user-wrapper share/man/man1/mumble-server-user-wrapper.1 ${RM} ${STAGEDIR}${PREFIX}/${f} .endfor do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} .for f in README.md SECURITY.md docs/additional-readmes/README.static.linux ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR} .endfor .include diff --git a/audio/mumble/files/patch-src_MumbleProtocol.cpp b/audio/mumble/files/patch-src_MumbleProtocol.cpp new file mode 100644 index 000000000000..2f05950b011a --- /dev/null +++ b/audio/mumble/files/patch-src_MumbleProtocol.cpp @@ -0,0 +1,11 @@ +--- src/MumbleProtocol.cpp.orig 2024-03-03 17:26:27 UTC ++++ src/MumbleProtocol.cpp +@@ -781,7 +781,7 @@ namespace Protocol { + } + + +- m_audioData.payload = gsl::span< byte >(payloadBegin, payloadSize); ++ m_audioData.payload = gsl::span< byte >(payloadBegin, static_cast< size_t >(payloadSize)); + + if (stream.left() == 3 * sizeof(float)) { + // If there are further bytes after the audio payload, this means that there is positional data attached to diff --git a/audio/mumble/files/patch-src_mumble_Audio.cpp b/audio/mumble/files/patch-src_mumble_Audio.cpp new file mode 100644 index 000000000000..5d7719c14c7c --- /dev/null +++ b/audio/mumble/files/patch-src_mumble_Audio.cpp @@ -0,0 +1,11 @@ +--- src/mumble/Audio.cpp.orig 2024-03-03 17:26:27 UTC ++++ src/mumble/Audio.cpp +@@ -43,7 +43,7 @@ void LoopUser::addFrame(const Mumble::Protocol::AudioD + QMutexLocker l(&qmLock); + bool restart = (qetLastFetch.elapsed() > 100); + +- long time = qetTicker.elapsed(); ++ long long time = qetTicker.elapsed(); + + float r; + if (restart) diff --git a/audio/mumble/files/patch-src_mumble_AudioOutput.cpp b/audio/mumble/files/patch-src_mumble_AudioOutput.cpp new file mode 100644 index 000000000000..04aaaa44bbb3 --- /dev/null +++ b/audio/mumble/files/patch-src_mumble_AudioOutput.cpp @@ -0,0 +1,16 @@ +--- src/mumble/AudioOutput.cpp.orig 2024-03-03 17:26:27 UTC ++++ src/mumble/AudioOutput.cpp +@@ -617,11 +617,11 @@ bool AudioOutput::mix(void *outbuff, unsigned int fram + // Mix down stereo to mono. TODO: stereo record support + // frame: for a stereo stream, the [LR] pair inside ...[LR]LRLRLR.... is a frame + for (unsigned int i = 0; i < frameCount; ++i) { +- recbuff[i] += (pfBuffer[2 * i] / 2.0f + pfBuffer[2 * i + 1] / 2.0f) * volumeAdjustment; ++ recbuff[static_cast< int >(i)] += (pfBuffer[2 * i] / 2.0f + pfBuffer[2 * i + 1] / 2.0f) * volumeAdjustment; + } + } else { + for (unsigned int i = 0; i < frameCount; ++i) { +- recbuff[i] += pfBuffer[i] * volumeAdjustment; ++ recbuff[static_cast< int >(i)] += pfBuffer[i] * volumeAdjustment; + } + } +