Bug 209094 - science/veusz: Fix build with libc++ 3.8.0
Summary: science/veusz: Fix build with libc++ 3.8.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Kurt Jaeger
URL:
Keywords:
Depends on:
Blocks: 208158
  Show dependency treegraph
 
Reported: 2016-04-27 12:03 UTC by Dimitry Andric
Modified: 2016-05-13 18:30 UTC (History)
2 users (show)

See Also:
pi: maintainer-feedback-


Attachments
Use plain isfinite() in science/veusz (1.10 KB, patch)
2016-04-27 12:03 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer 2016-04-27 12:03:30 UTC
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
Comment 1 Kurt Jaeger freebsd_committer 2016-05-13 18:28:28 UTC
testbuilds are fine.
Comment 2 commit-hook freebsd_committer 2016-05-13 18:30:13 UTC
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
Comment 3 Kurt Jaeger freebsd_committer 2016-05-13 18:30:26 UTC
Committed, thanks!