Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 May 2023 18:39:40 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: b7ba1dd95f24 - main - devel/atf: fix build with clang 16
Message-ID:  <202305071839.347Ideio074716@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=b7ba1dd95f249f56f10501da5235f3f21f54e9ad

commit b7ba1dd95f249f56f10501da5235f3f21f54e9ad
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-04-24 20:15:38 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-05-07 18:38:47 +0000

    devel/atf: fix build with clang 16
    
    Since clang 16 (and gcc 11) the default C++ standard is now gnu++17.
    Because devel/atf's Makefile does not explicitly set its C++ standard,
    this leads to several errors:
    
      In file included from atf-c++/check.cpp:26:
      ./atf-c++/check.hpp:74:17: error: no template named 'auto_ptr' in namespace 'std'
          friend std::auto_ptr< check_result > exec(const atf::process::argv_array&);
                 ~~~~~^
      ./atf-c++/check.hpp:123:6: error: no template named 'auto_ptr' in namespace 'std'
      std::auto_ptr< check_result > exec(const atf::process::argv_array&);
      ~~~~^
      In file included from atf-c++/tests.cpp:26:
      ./atf-c++/tests.hpp:76:10: error: no template named 'auto_ptr' in namespace 'std'
          std::auto_ptr< tc_impl > pimpl;
          ~~~~~^
      atf-c++/check.cpp:144:6: error: no template named 'auto_ptr' in namespace 'std'
      std::auto_ptr< impl::check_result >
      ~~~~^
      atf-c++/check.cpp:153:17: error: no member named 'auto_ptr' in namespace 'std'
          return std::auto_ptr< impl::check_result >(new impl::check_result(&result));
                 ~~~~~^
      atf-c++/check.cpp:153:46: error: expected '(' for function-style cast or type construction
          return std::auto_ptr< impl::check_result >(new impl::check_result(&result));
                                ~~~~~~~~~~~~~~~~~~ ^
    
    Add USE_CXXSTD=gnu++98 to avoid these errors. While here, pet portlint.
    
    PR:             271051
    Approved by:    maintainer timeout (2 weeks)
    MFH:            2023Q2
---
 devel/atf/Makefile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/devel/atf/Makefile b/devel/atf/Makefile
index 7480d80e2f34..d1491c4528d8 100644
--- a/devel/atf/Makefile
+++ b/devel/atf/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	atf
 PORTVERSION=	0.21
+PORTREVISION=	1
 CATEGORIES=	devel
 MASTER_SITES=	https://github.com/jmmv/${PORTNAME}/releases/download/${PORTNAME}-${PORTVERSION}/ \
 		LOCAL/jmmv
@@ -12,8 +13,9 @@ LICENSE=	BSD3CLAUSE
 
 GNU_CONFIGURE=	yes
 INSTALL_TARGET=	install-strip
-USE_LDCONFIG=	yes
 USES=		libtool
+USE_CXXSTD=	gnu++11
+USE_LDCONFIG=	yes
 
 OPTIONS_DEFINE=	DOCS TEST
 OPTIONS_DEFAULT=TEST



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