Bug 224086 - audio/mumble: fails to build with boost 1.66
Summary: audio/mumble: fails to build with boost 1.66
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Mark Felder
URL:
Keywords: needs-patch
Depends on:
Blocks: 223922
  Show dependency treegraph
 
Reported: 2017-12-04 17:40 UTC by Jan Beich
Modified: 2018-01-18 20:20 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (feld)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2017-12-04 17:40:01 UTC
As part of exp-run in bug 223922 this port was found to break on Boost update. If the issue won't disappear on its own by Boost release I plan to mark the port as BROKEN. Can you check with upstream maintainer or help with a fix?

$ fetch -qo- 'https://reviews.freebsd.org/D13279?download=true' | patch -Efsp0 -d /usr/ports
$ make all deinstall install clean -C/usr/ports/devel/boost-libs
$ make -C/usr/ports/audio/mumble
[...]
AudioOutput.cpp:434:23: fatal error: expected '(' for function-style cast or type construction
                                if (std::abs<float>(front[0] * top[0] + front[1] * top[1] + front[2] * top[2]) > 0.01f) {
                                             ~~~~~^

http://package23.nyi.freebsd.org/data/103i386-default-PR223922/2017-12-02_11h06m37s/logs/errors/mumble-1.2.19_3.log
http://package22.nyi.freebsd.org/data/103amd64-default-PR223922/2017-12-02_11h06m39s/logs/errors/mumble-1.2.19_3.log
http://package22.nyi.freebsd.org/data/111amd64-default-PR223922/2017-12-03_09h31m05s/logs/errors/mumble-1.2.19_3.log
http://package23.nyi.freebsd.org/data/111i386-default-PR223922/2017-12-03_09h31m14s/logs/errors/mumble-1.2.19_3.log
Comment 1 Mark Felder freebsd_committer 2017-12-10 16:03:56 UTC
github issue opened upstream
Comment 2 Jan Beich freebsd_committer 2017-12-11 02:49:58 UTC
Here's how GCC 7.2.0 reports the error:

AudioOutput.cpp:434:18: error: expected primary-expression before 'float'
     if (std::abs<float>(front[0] * top[0] + front[1] * top[1] + front[2] * top[2]) > 0.01f) {
                  ^~~~~
Comment 4 Mark Felder freebsd_committer 2018-01-02 17:19:01 UTC
I have a backported version of the patch ready to commit
Comment 5 commit-hook freebsd_committer 2018-01-02 20:30:47 UTC
A commit references this bug:

Author: feld
Date: Tue Jan  2 20:30:39 UTC 2018
New revision: 457922
URL: https://svnweb.freebsd.org/changeset/ports/457922

Log:
  audio/mumble: add patch to fix build against boost 1.66

  PR:		224086

Changes:
  head/audio/mumble/Makefile
  head/audio/mumble/audio/
  head/audio/mumble/audio/mumble/
  head/audio/mumble/audio/mumble/files/
  head/audio/mumble/audio/mumble/files/extrapatch-fix-build-boost-1.66
Comment 6 Jan Beich freebsd_committer 2018-01-02 20:38:43 UTC
Why would a disconnected patch fix the build? If it doesn't break Boost 1.65.1 maybe apply unconditionally and regen via "make makepatch".
Comment 7 Mark Felder freebsd_committer 2018-01-02 20:41:53 UTC
(In reply to Jan Beich from comment #6)

I wanted to keep it in the git diff format and self-contained so it can be clearly understood what its purpose is and it can be ripped out as soon as they cut a new release with this properly backported.
Comment 8 Jan Beich freebsd_committer 2018-01-02 21:25:52 UTC
It seems you're missing the point, the patch...
- is disconnected -> the port will be marked BROKEN, see https://clbin.com/Ee7cV
- lacks source origin to check whether it's part of an upstream release
- uses git patch prefix/suffix without adding passing -p1
- can be regened via "make makepatch" with or without losing git format

Maybe convert to the following format:

  PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
  PATCHFILES=	<commit-in-12-hex-digits>.patch:-p1

danfe@ may complain but his arguments are weak given _GH0 distfile suffix and don't address trust issue at all. It's impossible to accidentally add a PATCHFILES to the wrong subdirectory. ;)
Comment 9 Mark Felder freebsd_committer 2018-01-03 16:14:30 UTC
oh I think I see what's going on here... I screwed up the commit. This patch was working perfectly fine in my build environment.

Also, we can't fetch the patch because it needed some slight modification for the backport. We need this to be in FILESDIR.
Comment 10 commit-hook freebsd_committer 2018-01-03 16:19:18 UTC
A commit references this bug:

Author: feld
Date: Wed Jan  3 16:18:45 UTC 2018
New revision: 457971
URL: https://svnweb.freebsd.org/changeset/ports/457971

Log:
  audio/mumble: Fix disconnected patch from last commit

  PR:		224086

Changes:
  head/audio/mumble/Makefile
  head/audio/mumble/audio/
  head/audio/mumble/files/extrapatch-fix-build-boost-1.66
Comment 11 Jan Beich freebsd_committer 2018-01-03 16:30:03 UTC
(In reply to Mark Felder from comment #9)
> we can't fetch the patch because it needed some slight
> modification for the backport.

Due to a backport of unrelated fix https://github.com/mumble-voip/mumble/commit/a221fedfd3eb ? It's not uncommon for pull requests to contain more than 1 commit. If unsure better look for a commit that auto-closes an issue which GitHub handily references. For one, try the following:

PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES=	ea861fe86743.patch:-p1