git: 6a58ef80a134 - main - graphics/freeimage: fix build with clang 16
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 18 May 2023 21:37:14 UTC
The branch main has been updated by dim:
URL: https://cgit.FreeBSD.org/ports/commit/?id=6a58ef80a134804463b7f9de82503bdb681b46c1
commit 6a58ef80a134804463b7f9de82503bdb681b46c1
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-05-18 15:08:08 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-05-18 21:35:52 +0000
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
---
graphics/freeimage/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/graphics/freeimage/Makefile b/graphics/freeimage/Makefile
index 04ac430f0d73..4dc5f8448d26 100644
--- a/graphics/freeimage/Makefile
+++ b/graphics/freeimage/Makefile
@@ -1,6 +1,6 @@
PORTNAME= freeimage
PORTVERSION= 3.18.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/Source%20Distribution/${PORTVERSION}
DISTNAME= FreeImage${PORTVERSION:S/.//g}
@@ -21,6 +21,7 @@ BROKEN_mips= fails to compile: section referenced in discarded section
BROKEN_mips64= fails to compile: opcode not supported on this processor: mips3 (mips3) 'madd $4,$5'
USES= cpe dos2unix gmake zip
+USE_CXXSTD= gnu++14
CPE_VENDOR= ${PORTNAME}_project
DOS2UNIX_FILES= Source/LibOpenJPEG/opj_malloc.h \
Source/LibRawLite/dcraw/dcraw.c \