Accepting request 341603 from home:namtrac:branches:devel:libraries:c_c++

- Updated to version 1.59.0:
  * New libraries: Convert, Coroutine2
  * Updated Libraries: Container, Context, Coroutine, Fusion,
    Geometry, Interprocess, Intrusive, Lexical Cast, Log, Move,
    Multi-index Containers, Predef, Program Options, Property Tree,
    Boost.Test v3, TypeIndex, Variant
  * See http://www.boost.org/users/history/version_1_59_0.html for
    complete changelog.
- context now builds on aarch64
- Import two patches from Fedora: boost-1.59-python-make_setter.patch,
  boost-1.59-test-fenv.patch
- Drop 0001-Fix-exec_file-for-Python-3-3.4.patch, 
  0002-Fix-a-regression-with-non-constexpr-types.patch, 
  boost-uuid-comparison.patch, boost-unrecognized-option.patch.
  Fixed upstream.

OBS-URL: https://build.opensuse.org/request/show/341603
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=150
This commit is contained in:
Ismail Dönmez 2015-10-30 08:46:00 +00:00 committed by Git OBS Bridge
parent e482a04250
commit 36cea59666
11 changed files with 112 additions and 343 deletions

View File

@ -1,31 +0,0 @@
From 3e405b6fd5db5615bbef241763de070118222ca7 Mon Sep 17 00:00:00 2001
From: Stefan Seefeld <stefan@seefeld.name>
Date: Thu, 9 Apr 2015 08:57:08 -0400
Subject: [PATCH] Fix exec_file for Python 3 < 3.4.
---
src/exec.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/exec.cpp b/src/exec.cpp
index 2910db7..12cdabc 100644
--- a/libs/python/src/exec.cpp
+++ b/libs/python/src/exec.cpp
@@ -86,9 +86,12 @@ object BOOST_PYTHON_DECL exec_file(str filename, object global, object local)
char *f = python::extract<char *>(filename);
// Let python open the file to avoid potential binary incompatibilities.
-#if PY_VERSION_HEX >= 0x03000000
- // See http://www.codeproject.com/Articles/820116/Embedding-Python-program-in-a-C-Cplusplus-code
+#if PY_VERSION_HEX >= 0x03400000
FILE *fs = _Py_fopen(f, "r");
+#elif PY_VERSION_HEX >= 0x03000000
+ PyObject *fo = Py_BuildValue("s", f);
+ FILE *fs = _Py_fopen(fo, "r");
+ Py_DECREF(fo);
#else
PyObject *pyfile = PyFile_FromString(f, const_cast<char*>("r"));
if (!pyfile) throw std::invalid_argument(std::string(f) + " : no such file");
--
2.1.0

View File

@ -1,233 +0,0 @@
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/boost/fusion/adapted/struct/detail/define_struct.hpp
+++ b/boost/fusion/adapted/struct/detail/define_struct.hpp
@@ -69,7 +69,7 @@
ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \
\
template<typename Seq> \
- 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<typename Seq> \
- 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/boost/fusion/adapted/struct/detail/define_struct_inline.hpp
+++ b/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_<N> 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/test/sequence/adapt_struct.cpp b/test/sequence/adapt_struct.cpp
index c0cd304..121827f 100644
--- a/libs/fusion/test/sequence/adapt_struct.cpp
+++ b/libs/fusion/test/sequence/adapt_struct.cpp
@@ -67,6 +67,17 @@ namespace ns
foo foo_;
int y;
};
+
+
+ // Testing non-constexpr compatible types
+ struct employee {
+ std::string name;
+ std::string nickname;
+
+ employee(std::string name, std::string nickname)
+ : name(name), nickname(nickname)
+ {}
+ };
}
#if BOOST_PP_VARIADICS
@@ -96,6 +107,13 @@ namespace ns
y
)
+ BOOST_FUSION_ADAPT_STRUCT(
+ ns::employee,
+ name,
+ nickname
+ )
+
+
#else // BOOST_PP_VARIADICS
BOOST_FUSION_ADAPT_STRUCT(
@@ -123,6 +141,12 @@ namespace ns
(BOOST_FUSION_ADAPT_AUTO, y)
)
+ BOOST_FUSION_ADAPT_STRUCT(
+ ns::employee,
+ (std::string, name)
+ (BOOST_FUSION_ADAPT_AUTO, nickname)
+ )
+
#endif
int
@@ -224,6 +248,15 @@ main()
BOOST_TEST(v2 >= v1);
}
+ {
+ ns::employee emp("John Doe", "jdoe");
+ std::cout << at_c<0>(emp) << std::endl;
+ std::cout << at_c<1>(emp) << std::endl;
+
+ fusion::vector<std::string, std::string> v1("John Doe", "jdoe");
+ BOOST_TEST(emp == v1);
+ }
+
return boost::report_errors();
}
diff --git a/test/sequence/define_struct.cpp b/test/sequence/define_struct.cpp
index 795fdf6..63b5a19 100644
--- a/libs/fusion/test/sequence/define_struct.cpp
+++ b/libs/fusion/test/sequence/define_struct.cpp
@@ -26,6 +26,14 @@ BOOST_FUSION_DEFINE_STRUCT(
BOOST_FUSION_DEFINE_STRUCT(BOOST_PP_EMPTY(), s, (int, m))
+// Testing non-constexpr compatible types
+BOOST_FUSION_DEFINE_STRUCT(
+ (ns),
+ employee,
+ (std::string, name)
+ (std::string, nickname)
+)
+
int
main()
{
@@ -100,6 +108,14 @@ main()
BOOST_TEST(p == make_vector(3,5));
}
+ {
+ ns::employee emp = make_list("John Doe", "jdoe");
+ std::cout << at_c<0>(emp) << std::endl;
+ std::cout << at_c<1>(emp) << std::endl;
+
+ BOOST_TEST(emp == make_vector("John Doe", "jdoe"));
+ }
+
return boost::report_errors();
}
diff --git a/test/sequence/define_struct_inline.cpp b/test/sequence/define_struct_inline.cpp
index e849ce9..d34a142 100644
--- a/libs/fusion/test/sequence/define_struct_inline.cpp
+++ b/libs/fusion/test/sequence/define_struct_inline.cpp
@@ -41,6 +41,13 @@ namespace ns
BOOST_FUSION_DEFINE_STRUCT_INLINE(s, (int, m))
BOOST_FUSION_DEFINE_STRUCT_INLINE(empty_struct, )
+
+ // Testing non-constexpr compatible types
+ BOOST_FUSION_DEFINE_STRUCT_INLINE(
+ employee,
+ (std::string, name)
+ (std::string, nickname)
+ )
}
template <typename Point>
@@ -128,6 +135,17 @@ main()
{
run_test<cls::point>(); // test with non-template enclosing class
run_test<tpl_cls<>::point>(); // test with template enclosing class
+
+ {
+ using namespace boost::fusion;
+
+ ns::employee emp = make_list("John Doe", "jdoe");
+ std::cout << at_c<0>(emp) << std::endl;
+ std::cout << at_c<1>(emp) << std::endl;
+
+ BOOST_TEST(emp == make_vector("John Doe", "jdoe"));
+ }
+
return boost::report_errors();
}

View File

@ -1,23 +1,23 @@
boost-devel
requires -boost-<targettype>
libboost_atomic1_58_0
libboost_container1_58_0
libboost_context1_58_0
libboost_coroutine1_58_0
libboost_date_time1_58_0
libboost_filesystem1_58_0
libboost_graph1_58_0
libboost_graph_parallel1_58_0
libboost_iostreams1_58_0
libboost_math1_58_0
libboost_mpi1_58_0
libboost_test1_58_0
libboost_program_options1_58_0
libboost_python1_58_0
libboost_random1_58_0
libboost_serialization1_58_0
libboost_signals1_58_0
libboost_system1_58_0
libboost_thread1_58_0
libboost_wave1_58_0
libboost_regex1_58_0
libboost_atomic1_59_0
libboost_container1_59_0
libboost_context1_59_0
libboost_coroutine1_59_0
libboost_date_time1_59_0
libboost_filesystem1_59_0
libboost_graph1_59_0
libboost_graph_parallel1_59_0
libboost_iostreams1_59_0
libboost_math1_59_0
libboost_mpi1_59_0
libboost_test1_59_0
libboost_program_options1_59_0
libboost_python1_59_0
libboost_random1_59_0
libboost_serialization1_59_0
libboost_signals1_59_0
libboost_system1_59_0
libboost_thread1_59_0
libboost_wave1_59_0
libboost_regex1_59_0

View File

@ -0,0 +1,25 @@
From f410fbd64d887e2a8824f968b0533588489b5430 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely <jwakely@redhat.com>
Date: Wed, 2 Sep 2015 13:02:12 +0100
Subject: [PATCH] Python: Fix condition for make_setter overload.
This fixes the regression caused by 42e7d7b.
Fixes #39
---
include/boost/python/data_members.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/boost/python/data_members.hpp b/include/boost/python/data_members.hpp
index 139bde3..5d3309c 100644
--- a/boost/python/data_members.hpp
+++ b/boost/python/data_members.hpp
@@ -305,7 +305,7 @@ inline object make_setter(D& x)
return detail::make_setter(x, default_call_policies(), is_member_pointer<D>(), 0);
}
-# if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
+# if !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
template <class D>
inline object make_setter(D const& x)
{

View File

@ -0,0 +1,32 @@
commit 2f3b98e640c25fe45ae691a5aa950745380b983e
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Mon Sep 14 15:05:24 2015 +0100
Do not qualify <fenv.h> names that might be macros.
diff --git a/include/boost/test/impl/execution_monitor.ipp b/include/boost/test/impl/execution_monitor.ipp
index 3a9e779..8b319df 100644
--- a/boost/test/impl/execution_monitor.ipp
+++ b/boost/test/impl/execution_monitor.ipp
@@ -1380,8 +1380,8 @@ enable( unsigned mask )
return ~old_cw & BOOST_FPE_ALL;
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
- ::feclearexcept(BOOST_FPE_ALL);
- int res = ::feenableexcept( mask );
+ feclearexcept(BOOST_FPE_ALL);
+ int res = feenableexcept( mask );
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
#else
/* Not Implemented */
@@ -1417,8 +1417,8 @@ disable( unsigned mask )
return ~old_cw & BOOST_FPE_ALL;
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
- ::feclearexcept(BOOST_FPE_ALL);
- int res = ::fedisableexcept( mask );
+ feclearexcept(BOOST_FPE_ALL);
+ int res = fedisableexcept( mask );
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
#else
/* Not Implemented */

View File

@ -1,15 +0,0 @@
Index: boost_1_58_0/tools/build/src/tools/gcc.jam
===================================================================
--- boost_1_58_0.orig/tools/build/src/tools/gcc.jam
+++ boost_1_58_0/tools/build/src/tools/gcc.jam
@@ -453,10 +453,6 @@ rule setup-address-model ( targets * : s
local arch = [ feature.get-values architecture : $(properties) ] ;
if $(arch) != arm
{
- if $(model) = 32
- {
- option = -m32 ;
- }
}
# For darwin, the model can be 32_64. darwin.jam will handle that
# on its own.

View File

@ -1,24 +0,0 @@
From fc32eea4ac9e514a7d210306cd9fa3a017dfe02c Mon Sep 17 00:00:00 2001
From: VemundH <vehandel@online.no>
Date: Tue, 30 Sep 2014 21:53:45 +0200
Subject: [PATCH] remove incorrect casts
see https://github.com/boostorg/uuid/pull/5
---
include/boost/uuid/detail/uuid_x86.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/boost/uuid/detail/uuid_x86.hpp b/include/boost/uuid/detail/uuid_x86.hpp
index 1a329b0..5a2cdec 100644
--- a/boost/uuid/detail/uuid_x86.hpp
+++ b/boost/uuid/detail/uuid_x86.hpp
@@ -100,7 +100,7 @@ inline bool operator< (uuid const& lhs, uuid const& rhs) BOOST_NOEXCEPT
cmp = (cmp - 1u) ^ cmp;
rcmp = (rcmp - 1u) ^ rcmp;
- return static_cast< uint16_t >(cmp) < static_cast< uint16_t >(rcmp);
+ return cmp < rcmp;
}
} // namespace uuids

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Fri Oct 23 11:29:11 UTC 2015 - idonmez@suse.com
- Updated to version 1.59.0:
* New libraries: Convert, Coroutine2
* Updated Libraries: Container, Context, Coroutine, Fusion,
Geometry, Interprocess, Intrusive, Lexical Cast, Log, Move,
Multi-index Containers, Predef, Program Options, Property Tree,
Boost.Test v3, TypeIndex, Variant
* See http://www.boost.org/users/history/version_1_59_0.html for
complete changelog.
- context now builds on aarch64
- Import two patches from Fedora: boost-1.59-python-make_setter.patch,
boost-1.59-test-fenv.patch
- Drop 0001-Fix-exec_file-for-Python-3-3.4.patch,
0002-Fix-a-regression-with-non-constexpr-types.patch,
boost-uuid-comparison.patch, boost-unrecognized-option.patch.
Fixed upstream.
-------------------------------------------------------------------
Thu Jun 11 08:26:58 UTC 2015 - idonmez@suse.com

View File

@ -16,11 +16,11 @@
#
%define ver 1.58.0
%define file_version 1_58_0
%define ver 1.59.0
%define file_version 1_59_0
%define docs_version 1.56.0
%define short_version 1_56
%define lib_appendix 1_58_0
%define lib_appendix 1_59_0
#Only define to 1 to generate the man pages
%define build_docs 0
@ -40,7 +40,7 @@
%endif
# context hasn't been ported to most architectures yet
%ifarch %ix86 x86_64 %arm mips ppc ppc64 ppc64le
%ifarch %ix86 x86_64 %arm aarch64 mips ppc ppc64 ppc64le
%define build_context 1
%else
%define build_context 0
@ -72,7 +72,7 @@
%endif
Name: boost
Version: 1.58.0
Version: 1.59.0
Release: 0
Summary: Boost C++ Libraries
License: BSL-1.0
@ -91,12 +91,10 @@ Patch4: boost-pool_check_overflow.patch
Patch5: boost-strict_aliasing.patch
Patch6: boost-use_std_xml_catalog.patch
Patch7: boost-rpmoptflags-only.patch
Patch9: 0001-Fix-exec_file-for-Python-3-3.4.patch
Patch10: 0002-Fix-a-regression-with-non-constexpr-types.patch
Patch11: boost-aarch64-flags.patch
Patch12: boost-uuid-comparison.patch
Patch13: boost-disable-pch-on-aarch64.patch
Patch14: boost-unrecognized-option.patch
Patch9: boost-aarch64-flags.patch
Patch10: boost-disable-pch-on-aarch64.patch
Patch11: boost-1.59-python-make_setter.patch
Patch12: boost-1.59-test-fenv.patch
BuildRequires: chrpath
BuildRequires: dos2unix
BuildRequires: fdupes
@ -433,8 +431,7 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {}
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
#stupid build machinery copies .orig files
find . -name \*.orig -exec rm {} +
@ -585,9 +582,8 @@ dos2unix libs/ptr_container/doc/tutorial_example.html \
libs/parameter/doc/html/reference.html \
libs/parameter/doc/html/index.html \
libs/iostreams/doc/tree/tree.js \
libs/graph/doc/lengauer_tarjan_dominator.htm \
libs/test/test/test_files/errors_handling_test.pattern \
libs/test/test/test_files/result_report_test.pattern
libs/graph/doc/lengauer_tarjan_dominator.htm
find . -name \*.htm\* -o -name \*.gif -o -name \*.css -o -name \*.jpg -o -name \*.png -o -name \*.ico | \
tar --files-from=%{S:4} -cf - --files-from=- | tar -C %{buildroot}%{_docdir} -xf -
rm -rf %{buildroot}%{_docdir}/boost

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fdfc204fc33ec79c99b9a74944c3e54bd78be4f7f15e260c0e2700a36dc7d3e5
size 70394057

3
boost_1_59_0.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca
size 70389425