Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 May 2023 11:41:08 GMT
From:      Dimitry Andric <dim@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 3792a424426e - main - graphics/ufraw: fix build with clang 16
Message-ID:  <202305181141.34IBf82b086825@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3792a424426e3174db35a7fff23815baa25d3b8c

commit 3792a424426e3174db35a7fff23815baa25d3b8c
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-05-14 18:45:20 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-05-18 11:39:45 +0000

    graphics/ufraw: fix build with clang 16
    
    Since clang 16 (and gcc 11) the default C++ standard is now gnu++17.
    Because graphics/ufraw's configure scripts and Makefiles do not
    explicitly set the C++ standard, this leads to several errors:
    
      /usr/local/include/lcms2.h:1291:44: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
      typedef cmsInt32Number (* cmsSAMPLER16)   (CMSREGISTER const cmsUInt16Number In[],
                                                 ^~~~~~~~~~~~
      /usr/local/include/lcms2.h:158:23: note: expanded from macro 'CMSREGISTER'
      #  define CMSREGISTER register
                            ^
      /usr/local/include/lcms2.h:1292:44: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
                                                 CMSREGISTER cmsUInt16Number Out[],
                                                 ^~~~~~~~~~~~
      /usr/local/include/lcms2.h:158:23: note: expanded from macro 'CMSREGISTER'
      #  define CMSREGISTER register
                            ^
      /usr/local/include/lcms2.h:1293:44: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
                                                 CMSREGISTER void * Cargo);
                                                 ^~~~~~~~~~~~
      /usr/local/include/lcms2.h:158:23: note: expanded from macro 'CMSREGISTER'
      #  define CMSREGISTER register
                            ^
      /usr/local/include/lcms2.h:1295:44: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
      typedef cmsInt32Number (* cmsSAMPLERFLOAT)(CMSREGISTER const cmsFloat32Number In[],
                                                 ^~~~~~~~~~~~
      /usr/local/include/lcms2.h:158:23: note: expanded from macro 'CMSREGISTER'
      #  define CMSREGISTER register
                            ^
      /usr/local/include/lcms2.h:1296:44: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
                                                 CMSREGISTER cmsFloat32Number Out[],
                                                 ^~~~~~~~~~~~
      /usr/local/include/lcms2.h:158:23: note: expanded from macro 'CMSREGISTER'
      #  define CMSREGISTER register
                            ^
      /usr/local/include/lcms2.h:1297:44: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
                                                 CMSREGISTER void * Cargo);
                                                 ^~~~~~~~~~~~
      /usr/local/include/lcms2.h:158:23: note: expanded from macro 'CMSREGISTER'
      #  define CMSREGISTER register
                            ^
    
    Specifically for lcms2.h, adding -DCMS_NO_REGISTER_KEYWORD to CPPFLAGS
    would be enough, but graphics/ufraw also pulls in exiv2 headers which
    make use of std::auto_ptr, another construct that has been removed from
    C++17.
    
    Add USE_CXXSTD=gnu++98 to compile for C++98 with GNU extensions instead.
    
    PR:             271424
    Approved by:    portmgr (build fix blanket)
    MFH:            2023Q2
---
 graphics/ufraw/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/graphics/ufraw/Makefile b/graphics/ufraw/Makefile
index b90aa70d278b..3a9caf1c450a 100644
--- a/graphics/ufraw/Makefile
+++ b/graphics/ufraw/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	ufraw
 PORTVERSION=	0.22.20210424
-PORTREVISION=	6
+PORTREVISION=	7
 CATEGORIES=	graphics
 
 MAINTAINER=	rodrigo@FreeBSD.org
@@ -18,6 +18,7 @@ LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
 
 USES=		autoreconf compiler:c++11-lang desktop-file-utils gettext \
 		gmake gnome jpeg pkgconfig
+USE_CXXSTD=	gnu++98
 USE_GITHUB=	yes
 GH_ACCOUNT=	sergiomb2
 GH_TAGNAME=	f34669b



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202305181141.34IBf82b086825>