Created attachment 169753 [details] Use plain isfinite() in science/veusz During the exp-run in bug 208158, it was found that science/veusz gives errors with libc++ 3.8.0 [1]: veusz/helpers/src/qtloops/qtloops.cpp:354:10: error: no member named 'isfinite' in namespace 'std'; did you mean simply 'isfinite'? if( ! isFinite(val) ) ^~~~~~~~~~~~~ veusz/helpers/src/qtloops/isnan.h:58:24: note: expanded from macro 'isFinite' # define isFinite(_a) (std::isfinite(_a)) ^~~~~ This is because the file includes <math.h>, not <cmath>, and the isnan.h header checks whether isfinite() is a macro. Since it is a function in libc++, it attempts to use std::isfinite(), which is only defined if you include <cmath>. Fix this by letting isnan.h always use the plain isfinite() for FreeBSD. This is similar to how it always selects the plain isnan() for FreeBSD, just above that definition. [1] http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-03-22_18h30m05s/logs/errors/veusz-1.19.1_2.log
testbuilds are fine.
A commit references this bug: Author: pi Date: Fri May 13 18:29:13 UTC 2016 New revision: 415127 URL: https://svnweb.freebsd.org/changeset/ports/415127 Log: science/veusz: Fix build with libc++ 3.8.0 PR: 209094 Submitted by: dom Approved by: devel@stasyan.com (maintainer timeout) Changes: head/science/veusz/files/ head/science/veusz/files/patch-veusz_helpers_src_qtloops_isnan.h
Committed, thanks!