Bug 219279

Summary: graphics/animorph: fails to build with lang/gcc6 or later
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Raphael Kubo da Costa <rakuco>
Status: Closed FIXED    
Severity: Affects Only Me CC: amdmi3, gerald, rakuco
Priority: --- Flags: rakuco: maintainer-feedback-
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219281
Bug Depends on:    
Bug Blocks: 219275    

Description Jan Beich freebsd_committer freebsd_triage 2017-05-14 17:44:26 UTC
In file included from /usr/include/string.h:37:0,
                 from /usr/include/memory.h:34,
                 from xmlParser.cpp:104:
xmlParser.cpp: In function 'char* stringDup(const char*, int)':
xmlParser.cpp:464:36: error: cast from 'std::nullptr_t' to 'char' loses precision [-fpermissive]
         lpszNew[cbData] = (XMLCHAR)NULL;
                                    ^
gmake[3]: *** [Makefile:362: xmlParser.lo] Error 1

build log: http://sprunge.us/EHDf
Comment 1 commit-hook freebsd_committer freebsd_triage 2017-08-01 16:59:30 UTC
A commit references this bug:

Author: rakuco
Date: Tue Aug  1 16:58:58 UTC 2017
New revision: 447032
URL: https://svnweb.freebsd.org/changeset/ports/447032

Log:
  Explicitly build with -std=gnu++03.

  The port fails to build with C++11 and later. GCC 6 uses -std=gnu++14 by
  default, and fails like this:

  xmlParser.cpp: In function 'char* stringDup(const char*, int)':
  xmlParser.cpp:464:36: error: cast from 'std::nullptr_t' to 'char' loses precision [-fpermissive]
           lpszNew[cbData] = (XMLCHAR)NULL;

  Since this version of animorph is from 2007 and the code has completely changed
  upstream (it does not even use C++ anymore), there is little point in fixing
  the code instead of just making it build like it did before.

  PR:		219279
  Approved by:	portmgr (blanket approval)

Changes:
  head/graphics/animorph/Makefile