Re: git: b56d0bc41af7 - main - devel/libcutl: Explain why USE_CXXSTD=c++11 is used

From: Raphael Kubo da Costa <rakuco_at_FreeBSD.org>
Date: Thu, 06 Jul 2023 08:34:57 UTC
On Wed, 2023-07-05 at 13:39 +0200, Rainer Hurling wrote:
> Hi Raphael,
> 
> This also helps me for games/eboard. I had been looking around for
> some 
> time and had not found a solution yet. I will also use parts of your 
> explanation :)
> 
> Many thanks and best wishes,
> Rainer
> 
> 
> Am 05.07.23 um 11:13 schrieb Nuno Teixeira:
> > Hello Raphael,
> > 
> > Really nice and explaining comment on std c++11 fixes. I will use
> > same 
> > comment on ports needed it to work in clang 16, e.g., net-p2p/amule
> > that 
> > needs it.
> > 
> > Just a question, should a PORTREVISION bump reccomended when we set
> > USE_CXXSTD=c++11?

Hi both,

Glad to be of help! Overall, this looks like a variation of what we had
in the past especially when clang switched to C++11 by default and a
lot of ports broke.

Specifically in these 2 cases in case it helps:
* games/eboard seems to be failing because it defines an enum called
`variant` while also doing `using namespace std`, which breaks because
C++17 has std::variant.
* net-p2p/amule uses the `register` keyword in a bunch of places
(including some autogenerated flex/bison ones that are part of the
tree), and it has been removed/deprecated in C++17.

As for a PORTREVISION bump: it _could_ be the case that the generated
files differ now, as in the past the default standard was gnu++14
rather than c++11. For leaf ports like these two I don't think the
difference really matters, but I've been semi-abstent for so long that
portmgr@ or someone more active may have a better guideline.