From: Ryan Hill Date: Fri, 2 Oct 2015 01:41:14 +0000 (-0600) Subject: media-sound/mumble: Fix build with GCC 4.9. X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=49ba2f7bae64d3a75f414c682f9703626a6fd9e7;p=gentoo.git media-sound/mumble: Fix build with GCC 4.9. Gentoo-Bug: https://bugs.gentoo.org/532180 Package-Manager: portage-2.2.22 Signed-off-by: Ryan Hill --- diff --git a/media-sound/mumble/files/mumble-1.2.8-gcc49.patch b/media-sound/mumble/files/mumble-1.2.8-gcc49.patch new file mode 100644 index 000000000000..cecb3d3fab84 --- /dev/null +++ b/media-sound/mumble/files/mumble-1.2.8-gcc49.patch @@ -0,0 +1,26 @@ +https://bugs.gentoo.org/532180 + +Avoid "jump to label crosses initialization" error. + + Move variable "buffer" into the while loop to avoid a compile error + with g++ 4.9.0. + + Although earlier compiler versions did accept the code, jumping into the + scope of an variable length array is not allowed: + http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gcc/Variable-Length.html + + +--- a/src/mumble/OSS.cpp ++++ b/src/mumble/OSS.cpp +@@ -243,9 +243,9 @@ void OSSInput::run() { + eMicFormat = SampleShort; + initializeMixer(); + +- short buffer[iMicLength]; +- + while (bRunning) { ++ short buffer[iMicLength]; ++ + int len = static_cast(iMicLength * iMicChannels * sizeof(short)); + ssize_t l = read(fd, buffer, len); + if (l != len) { diff --git a/media-sound/mumble/mumble-1.2.8.ebuild b/media-sound/mumble/mumble-1.2.8.ebuild index e457a05d5cca..a0282bf6efa2 100644 --- a/media-sound/mumble/mumble-1.2.8.ebuild +++ b/media-sound/mumble/mumble-1.2.8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -47,6 +47,7 @@ DEPEND="${RDEPEND} PATCHES=( "${FILESDIR}"/${PN}-1.2.4-speech-dispatcher.patch + "${FILESDIR}"/${PN}-1.2.8-gcc49.patch ) S="${WORKDIR}/${MY_P}"