From 0ce09a361d4da0f7c9324ce6fc2aa5a4b50a7f1c Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Mon, 31 Aug 2015 18:28:05 +0100 Subject: [PATCH] Add patch for Boost.Fusion bug. --- ...-regression-with-non-constexpr-types.patch | 98 +++++++++++++++++++ boost.spec | 9 +- 2 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 0002-Fix-a-regression-with-non-constexpr-types.patch diff --git a/0002-Fix-a-regression-with-non-constexpr-types.patch b/0002-Fix-a-regression-with-non-constexpr-types.patch new file mode 100644 index 0000000..03d028e --- /dev/null +++ b/0002-Fix-a-regression-with-non-constexpr-types.patch @@ -0,0 +1,98 @@ +diff --git a/include/boost/fusion/adapted/struct/detail/define_struct.hpp b/include/boost/fusion/adapted/struct/detail/define_struct.hpp +index 2554292..ce3737e 100644 +--- a/include/boost/fusion/adapted/struct/detail/define_struct.hpp ++++ b/include/boost/fusion/adapted/struct/detail/define_struct.hpp +@@ -69,7 +69,7 @@ + ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ + \ + template \ +- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ ++ BOOST_FUSION_GPU_ENABLED \ + self_type& \ + operator=(Seq const& seq) \ + { \ +@@ -128,7 +128,7 @@ + ATTRIBUTE_TUPEL_SIZE, \ + ATTRIBUTES_SEQ) \ + \ +- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ ++ BOOST_FUSION_GPU_ENABLED \ + NAME() \ + : BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ +@@ -137,7 +137,7 @@ + ATTRIBUTES_SEQ) \ + {} \ + \ +- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ ++ BOOST_FUSION_GPU_ENABLED \ + NAME(self_type const& other_self) \ + : BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ +@@ -147,7 +147,7 @@ + {} \ + \ + template \ +- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ ++ BOOST_FUSION_GPU_ENABLED \ + NAME(Seq const& seq \ + BOOST_PP_IF( \ + BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ +@@ -167,7 +167,7 @@ + #define BOOST_FUSION_DEFINE_STRUCT_CTOR_1( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ + \ +- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ ++ BOOST_FUSION_GPU_ENABLED \ + explicit \ + NAME(boost::call_traits< \ + BOOST_PP_TUPLE_ELEM( \ +@@ -180,7 +180,7 @@ + #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1( \ + TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ + \ +- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ ++ BOOST_FUSION_GPU_ENABLED \ + explicit \ + NAME(typename boost::call_traits< \ + typename boost::fusion::detail::get_first_arg< \ +@@ -217,7 +217,7 @@ + #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N( \ + TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ + \ +- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ ++ BOOST_FUSION_GPU_ENABLED \ + NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I, \ +@@ -245,7 +245,7 @@ + #define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ + \ +- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ ++ BOOST_FUSION_GPU_ENABLED \ + NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \ +diff --git a/include/boost/fusion/adapted/struct/detail/define_struct_inline.hpp b/include/boost/fusion/adapted/struct/detail/define_struct_inline.hpp +index a5a3ae0..a037ffe 100644 +--- a/include/boost/fusion/adapted/struct/detail/define_struct_inline.hpp ++++ b/include/boost/fusion/adapted/struct/detail/define_struct_inline.hpp +@@ -66,7 +66,7 @@ + #define BOOST_FUSION_IGNORE_2(ARG1, ARG2) + + #define BOOST_FUSION_MAKE_COPY_CONSTRUCTOR(NAME, ATTRIBUTES_SEQ) \ +- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ ++ BOOST_FUSION_GPU_ENABLED \ + NAME(BOOST_PP_SEQ_FOR_EACH_I( \ + BOOST_FUSION_MAKE_CONST_REF_PARAM, \ + ~, \ +@@ -337,7 +337,7 @@ + typedef boost::mpl::int_ index; \ + typedef boost_fusion_detail_Seq sequence_type; \ + \ +- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ ++ BOOST_FUSION_GPU_ENABLED \ + BOOST_FUSION_ITERATOR_NAME(NAME)(boost_fusion_detail_Seq& seq) \ + : seq_(seq) \ + BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES( \ diff --git a/boost.spec b/boost.spec index afaebc6..8cd63ae 100644 --- a/boost.spec +++ b/boost.spec @@ -32,7 +32,7 @@ Name: boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.58.0 %define version_enc 1_58_0 -Release: 7%{?dist} +Release: 8%{?dist} License: Boost and MIT and Python %define toplev_dirname %{name}_%{version_enc} @@ -135,6 +135,9 @@ Patch69: boost-1.58-ublas-inlines.patch Patch70: 0001-Changes-required-for-aarch64-support-in-boost-config.patch +#http://www.boost.org/patches/1_58_0/0002-Fix-a-regression-with-non-constexpr-types.patch +Patch80: 0002-Fix-a-regression-with-non-constexpr-types.patch + %bcond_with tests %bcond_with docs_generated @@ -624,6 +627,7 @@ a number of significant features and is now developed independently %patch68 -p1 %patch69 -p2 %patch70 -p1 +%patch80 -p2 # At least python2_version needs to be a macro so that it's visible in # %%install as well. @@ -1242,6 +1246,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/bjam.1* %changelog +* Mon Aug 31 2015 Jonathan Wakely 1.58.0-8 +- Add patch for Boost.Fusion bug. + * Fri Aug 21 2015 Marcin Juszkiewicz - 1.58.0-7 - Re-enable boost::context on AArch64.