graphics/freeimage: fix build with clang 16
Since clang 16 (and gcc 11) the default C++ standard is now gnu++17.
Because graphics/freeimage's Makefile does not explicitly set its C++
standard, this leads to several errors:
In file included from Source/FreeImage/PluginEXR.cpp:33:
In file included from Source/FreeImage/../OpenEXR/IlmImf/ImfOutputFile.h:46:
In file included from Source/OpenEXR/IlmImf/ImfHeader.h:51:
Source/OpenEXR/Imath/ImathVec.h:228:34: error: ISO C++17 does not allow dynamic exception specifications [-Wdynamic-exception-spec]
const Vec2 & normalizeExc () throw (IEX_NAMESPACE::MathExc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Source/OpenEXR/Imath/ImathVec.h:228:34: note: use 'noexcept(false)' instead
const Vec2 & normalizeExc () throw (IEX_NAMESPACE::MathExc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
noexcept(false)
Source/OpenEXR/Imath/ImathVec.h:232:37: error: ISO C++17 does not allow dynamic exception specifications [-Wdynamic-exception-spec]
Vec2<T> normalizedExc () const throw (IEX_NAMESPACE::MathExc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Source/OpenEXR/Imath/ImathVec.h:232:37: note: use 'noexcept(false)' instead
Vec2<T> normalizedExc () const throw (IEX_NAMESPACE::MathExc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
noexcept(false)Because these constructs are no longer available in C++17, add
USE_CXXSTD=gnu++14 to compile for C++14 with GNU extensions instead.
PR: 271493
Approved by: portmgr (build fix blanket)
MFH: 2023Q2