git: 8b109070f7a1 - main - devel/cbang: fix the build with clang 16
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 25 Jun 2023 20:58:11 UTC
The branch main has been updated by thierry: URL: https://cgit.FreeBSD.org/ports/commit/?id=8b109070f7a17b38b78a4c21b080d02650f9f65e commit 8b109070f7a17b38b78a4c21b080d02650f9f65e Author: Thierry Thomas <thierry@FreeBSD.org> AuthorDate: 2023-06-25 20:53:26 +0000 Commit: Thierry Thomas <thierry@FreeBSD.org> CommitDate: 2023-06-25 20:58:08 +0000 devel/cbang: fix the build with clang 16 Do not force clang 15, but apply a patch provided by dim@ for the first error, and other patches from boost upstream, pointed out by dim@ in https://github.com/CauldronDevelopmentLLC/cbang/issues/119#issuecomment-1606232478 PR: 271047 --- devel/cbang/Makefile | 13 ++---------- .../patch-src_boost_boost_container__hash_hash.hpp | 23 ++++++++++++++++++++++ ...meric_conversion_detail_int__float__mixture.hpp | 23 ++++++++++++++++++++++ ...ost_numeric_conversion_detail_sign__mixture.hpp | 23 ++++++++++++++++++++++ ...ric_conversion_detail_udt__builtin__mixture.hpp | 23 ++++++++++++++++++++++ 5 files changed, 94 insertions(+), 11 deletions(-) diff --git a/devel/cbang/Makefile b/devel/cbang/Makefile index 366723807e85..7fa4ead2f66e 100644 --- a/devel/cbang/Makefile +++ b/devel/cbang/Makefile @@ -36,6 +36,7 @@ MAKE_ARGS+= cc="${CC}" \ cxx="${CXX}" \ ccflags="${CCFLAGS}" \ cxxflags="${CXXFLAGS}" \ + cxxstd="c++17" \ libpath="/lib" \ sharedlib=1 \ prefix="${STAGEDIR}${PREFIX}" \ @@ -51,16 +52,6 @@ PLIST_SUB= VER=${LIBVER} TEST_WRKSRC= ${WRKSRC}/tests DO_MAKE_TEST= ${SETENV} ${TEST_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${TEST_ARGS} -.include <bsd.port.pre.mk> - -.if ${COMPILER_VERSION} >= 160 -# See https://github.com/CauldronDevelopmentLLC/cbang/issues/119 -BUILD_DEPENDS+= clang15:devel/llvm15 -CPP= clang-cpp15 -CC= clang15 -CXX= clang++15 -.endif - pre-configure: ${REINPLACE_CMD} -e 's|%%PYTHON_CMD%%|${PYTHON_CMD}|' \ ${TEST_WRKSRC}/testHarness @@ -82,4 +73,4 @@ post-install: do-test: (cd ${TEST_WRKSRC} && ${DO_MAKE_TEST} && ./testHarness) -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/devel/cbang/files/patch-src_boost_boost_container__hash_hash.hpp b/devel/cbang/files/patch-src_boost_boost_container__hash_hash.hpp new file mode 100644 index 000000000000..13713185011f --- /dev/null +++ b/devel/cbang/files/patch-src_boost_boost_container__hash_hash.hpp @@ -0,0 +1,23 @@ +--- src/boost/boost/container_hash/hash.hpp.orig 2023-03-09 16:36:47 UTC ++++ src/boost/boost/container_hash/hash.hpp +@@ -118,20 +118,12 @@ namespace boost + { + namespace hash_detail + { +-#if defined(_HAS_AUTO_PTR_ETC) && !_HAS_AUTO_PTR_ETC + template <typename T> + struct hash_base + { + typedef T argument_type; + typedef std::size_t result_type; + }; +-#else +-#pragma GCC diagnostic push +-#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +- template <typename T> +- struct hash_base : std::unary_function<T, std::size_t> {}; +-#pragma GCC diagnostic pop +-#endif + + struct enable_hash_value { typedef std::size_t type; }; + diff --git a/devel/cbang/files/patch-src_boost_boost_numeric_conversion_detail_int__float__mixture.hpp b/devel/cbang/files/patch-src_boost_boost_numeric_conversion_detail_int__float__mixture.hpp new file mode 100644 index 000000000000..0ed51bc4eab0 --- /dev/null +++ b/devel/cbang/files/patch-src_boost_boost_numeric_conversion_detail_int__float__mixture.hpp @@ -0,0 +1,23 @@ +--- src/boost/boost/numeric/conversion/detail/int_float_mixture.hpp.orig 2023-03-09 16:36:47 UTC ++++ src/boost/boost/numeric/conversion/detail/int_float_mixture.hpp +@@ -16,15 +16,15 @@ + #include "boost/numeric/conversion/int_float_mixture_enum.hpp" + #include "boost/numeric/conversion/detail/meta.hpp" + +-#include "boost/mpl/integral_c.hpp" ++#include "boost/type_traits/integral_constant.hpp" + + namespace boost { namespace numeric { namespace convdetail + { + // Integral Constants for 'IntFloatMixture' +- typedef mpl::integral_c<int_float_mixture_enum, integral_to_integral> int2int_c ; +- typedef mpl::integral_c<int_float_mixture_enum, integral_to_float> int2float_c ; +- typedef mpl::integral_c<int_float_mixture_enum, float_to_integral> float2int_c ; +- typedef mpl::integral_c<int_float_mixture_enum, float_to_float> float2float_c ; ++ typedef boost::integral_constant<int_float_mixture_enum, integral_to_integral> int2int_c ; ++ typedef boost::integral_constant<int_float_mixture_enum, integral_to_float> int2float_c ; ++ typedef boost::integral_constant<int_float_mixture_enum, float_to_integral> float2int_c ; ++ typedef boost::integral_constant<int_float_mixture_enum, float_to_float> float2float_c ; + + // Metafunction: + // diff --git a/devel/cbang/files/patch-src_boost_boost_numeric_conversion_detail_sign__mixture.hpp b/devel/cbang/files/patch-src_boost_boost_numeric_conversion_detail_sign__mixture.hpp new file mode 100644 index 000000000000..7d5876ed2468 --- /dev/null +++ b/devel/cbang/files/patch-src_boost_boost_numeric_conversion_detail_sign__mixture.hpp @@ -0,0 +1,23 @@ +--- src/boost/boost/numeric/conversion/detail/sign_mixture.hpp.orig 2023-03-09 16:36:47 UTC ++++ src/boost/boost/numeric/conversion/detail/sign_mixture.hpp +@@ -16,15 +16,15 @@ + #include "boost/numeric/conversion/sign_mixture_enum.hpp" + #include "boost/numeric/conversion/detail/meta.hpp" + +-#include "boost/mpl/integral_c.hpp" ++#include "boost/type_traits/integral_constant.hpp" + + namespace boost { namespace numeric { namespace convdetail + { + // Integral Constants for 'SignMixture' +- typedef mpl::integral_c<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ; +- typedef mpl::integral_c<sign_mixture_enum, signed_to_signed> sig2sig_c ; +- typedef mpl::integral_c<sign_mixture_enum, signed_to_unsigned> sig2unsig_c ; +- typedef mpl::integral_c<sign_mixture_enum, unsigned_to_signed> unsig2sig_c ; ++ typedef boost::integral_constant<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ; ++ typedef boost::integral_constant<sign_mixture_enum, signed_to_signed> sig2sig_c ; ++ typedef boost::integral_constant<sign_mixture_enum, signed_to_unsigned> sig2unsig_c ; ++ typedef boost::integral_constant<sign_mixture_enum, unsigned_to_signed> unsig2sig_c ; + + // Metafunction: + // diff --git a/devel/cbang/files/patch-src_boost_boost_numeric_conversion_detail_udt__builtin__mixture.hpp b/devel/cbang/files/patch-src_boost_boost_numeric_conversion_detail_udt__builtin__mixture.hpp new file mode 100644 index 000000000000..0683f76f2cdd --- /dev/null +++ b/devel/cbang/files/patch-src_boost_boost_numeric_conversion_detail_udt__builtin__mixture.hpp @@ -0,0 +1,23 @@ +--- src/boost/boost/numeric/conversion/detail/udt_builtin_mixture.hpp.orig 2023-03-09 16:36:47 UTC ++++ src/boost/boost/numeric/conversion/detail/udt_builtin_mixture.hpp +@@ -15,15 +15,15 @@ + #include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp" + #include "boost/numeric/conversion/detail/meta.hpp" + +-#include "boost/mpl/integral_c.hpp" ++#include "boost/type_traits/integral_constant.hpp" + + namespace boost { namespace numeric { namespace convdetail + { + // Integral Constants for 'UdtMixture' +- typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ; +- typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_udt> builtin2udt_c ; +- typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_builtin> udt2builtin_c ; +- typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_udt> udt2udt_c ; ++ typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ; ++ typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_udt> builtin2udt_c ; ++ typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_builtin> udt2builtin_c ; ++ typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_udt> udt2udt_c ; + + // Metafunction: + //