-From d635772bc306b69ec6ad22313d673d0333f863a1 Mon Sep 17 00:00:00 2001
-From: Edward Diener <eldiener@tropicsoft.com>
-Date: Mon, 20 Jul 2015 23:35:19 -0400
-Subject: [PATCH 1/5] Added missing decl attribute
-
----
- src/archive_exception.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/archive_exception.cpp b/src/archive_exception.cpp
-index b850f89..38c6c9c 100644
---- a/libs/serialization/src/archive_exception.cpp
-+++ b/libs/serialization/src/archive_exception.cpp
-@@ -21,6 +21,7 @@
- namespace boost {
- namespace archive {
-
-+BOOST_ARCHIVE_DECL
- unsigned int
- archive_exception::append(unsigned int l, const char * a){
- while(l < (sizeof(m_buffer) - 1)){
-
-From 0386df9cba448c6256d18fc542b8f21cec626dee Mon Sep 17 00:00:00 2001
-From: Edward Diener <eldiener@tropicsoft.com>
-Date: Mon, 20 Jul 2015 23:36:46 -0400
-Subject: [PATCH 2/5] Move inline function out of line since it is being
- exported/imported. This fixes a problem with gcc.
-
----
- include/boost/archive/detail/basic_oarchive.hpp | 4 +---
- src/basic_oarchive.cpp | 5 +++++
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/include/boost/archive/detail/basic_oarchive.hpp b/include/boost/archive/detail/basic_oarchive.hpp
-index 702c560..03ad17b 100644
---- a/boost/archive/detail/basic_oarchive.hpp
-+++ b/boost/archive/detail/basic_oarchive.hpp
-@@ -61,9 +61,7 @@ class BOOST_SYMBOL_VISIBLE basic_oarchive :
- protected:
- BOOST_ARCHIVE_DECL basic_oarchive(unsigned int flags = 0);
- BOOST_ARCHIVE_DECL boost::archive::detail::helper_collection &
-- get_helper_collection(){
-- return *this;
-- }
-+ get_helper_collection();
- // account for bogus gcc warning
- #if defined(__GNUC__)
- virtual
-diff --git a/src/basic_oarchive.cpp b/src/basic_oarchive.cpp
-index c99baeb..18522af 100644
---- a/libs/serialization/src/basic_oarchive.cpp
-+++ b/libs/serialization/src/basic_oarchive.cpp
-@@ -454,6 +454,11 @@ BOOST_ARCHIVE_DECL void
- basic_oarchive::end_preamble(){
- }
-
-+BOOST_ARCHIVE_DECL helper_collection &
-+basic_oarchive::get_helper_collection(){
-+ return *this;
-+}
-+
- } // namespace detail
- } // namespace archive
- } // namespace boost
-
-From 6b906b43618eea9d783128ec0f4524df89c1dcc8 Mon Sep 17 00:00:00 2001
-From: Edward Diener <eldiener@tropicsoft.com>
-Date: Mon, 27 Jul 2015 17:47:21 -0400
-Subject: [PATCH 3/5] Add copy constructor
-
----
- include/boost/archive/archive_exception.hpp | 1 +
- src/archive_exception.cpp | 12 +++++++++++-
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/include/boost/archive/archive_exception.hpp b/include/boost/archive/archive_exception.hpp
-index 1159d27..fabcdb5 100644
---- a/boost/archive/archive_exception.hpp
-+++ b/boost/archive/archive_exception.hpp
-@@ -87,6 +87,7 @@ class BOOST_SYMBOL_VISIBLE archive_exception :
- const char * e1 = NULL,
- const char * e2 = NULL
- ) BOOST_NOEXCEPT;
-+ BOOST_ARCHIVE_DECL archive_exception(archive_exception const &) BOOST_NOEXCEPT ;
- virtual BOOST_ARCHIVE_DECL ~archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ;
- virtual BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ;
- };
-diff --git a/src/archive_exception.cpp b/src/archive_exception.cpp
-index 38c6c9c..94aae50 100644
---- a/libs/serialization/src/archive_exception.cpp
-+++ b/libs/serialization/src/archive_exception.cpp
-@@ -14,6 +14,7 @@
-
- #include <exception>
- #include <string>
-+#include <cstring>
-
- #define BOOST_ARCHIVE_SOURCE
- #include <boost/archive/archive_exception.hpp>
-@@ -110,13 +111,22 @@ archive_exception::archive_exception(
- break;
- }
- }
-+
-+BOOST_ARCHIVE_DECL
-+archive_exception::archive_exception(archive_exception const & oth) BOOST_NOEXCEPT :
-+ code(oth.code)
-+{
-+ std::memcpy(m_buffer,oth.m_buffer,sizeof m_buffer);
-+}
-+
- BOOST_ARCHIVE_DECL
- archive_exception::~archive_exception() BOOST_NOEXCEPT_OR_NOTHROW {}
-
- BOOST_ARCHIVE_DECL const char *
--archive_exception::what( ) const BOOST_NOEXCEPT_OR_NOTHROW {
-+archive_exception::what() const BOOST_NOEXCEPT_OR_NOTHROW {
- return m_buffer;
- }
-+
- BOOST_ARCHIVE_DECL
- archive_exception::archive_exception() BOOST_NOEXCEPT :
- code(no_exception)
-
-From 643fff144cee5b518cd7b07d8a619564c0b8b1d1 Mon Sep 17 00:00:00 2001
-From: Edward Diener <eldiener@tropicsoft.com>
-Date: Fri, 31 Jul 2015 06:46:14 -0400
-Subject: [PATCH 4/5] Changes for wide character serialization
-
----
- include/boost/archive/detail/interface_oarchive.hpp | 2 +-
- include/boost/archive/polymorphic_iarchive.hpp | 4 ++--
- include/boost/archive/polymorphic_oarchive.hpp | 4 ++--
- include/boost/archive/xml_archive_exception.hpp | 2 ++
- src/archive_exception.cpp | 1 +
- src/xml_archive_exception.cpp | 12 ++++++++++++
- 6 files changed, 20 insertions(+), 5 deletions(-)
-
-diff --git a/include/boost/archive/detail/interface_oarchive.hpp b/include/boost/archive/detail/interface_oarchive.hpp
-index 187013b..ad067f8 100644
---- a/boost/archive/detail/interface_oarchive.hpp
-+++ b/boost/archive/detail/interface_oarchive.hpp
-@@ -29,7 +29,7 @@ namespace boost {
- namespace archive {
- namespace detail {
-
--class BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_pointer_oserializer;
-+class BOOST_SYMBOL_VISIBLE basic_pointer_oserializer;
-
- template<class Archive>
- class interface_oarchive
-diff --git a/include/boost/archive/polymorphic_iarchive.hpp b/include/boost/archive/polymorphic_iarchive.hpp
-index 7f19410..57fda71 100644
---- a/boost/archive/polymorphic_iarchive.hpp
-+++ b/boost/archive/polymorphic_iarchive.hpp
-@@ -43,8 +43,8 @@ namespace serialization {
- } // namespace serialization
- namespace archive {
- namespace detail {
-- class BOOST_ARCHIVE_DECL basic_iarchive;
-- class BOOST_ARCHIVE_DECL basic_iarchive;
-+ class BOOST_SYMBOL_VISIBLE basic_iarchive;
-+ class BOOST_SYMBOL_VISIBLE basic_iserializer;
- }
-
- class polymorphic_iarchive;
-diff --git a/include/boost/archive/polymorphic_oarchive.hpp b/include/boost/archive/polymorphic_oarchive.hpp
-index aa30b2a..bf543b0 100644
---- a/boost/archive/polymorphic_oarchive.hpp
-+++ b/boost/archive/polymorphic_oarchive.hpp
-@@ -42,8 +42,8 @@ namespace serialization {
- } // namespace serialization
- namespace archive {
- namespace detail {
-- class BOOST_ARCHIVE_DECL basic_oarchive;
-- class BOOST_ARCHIVE_DECL basic_oserializer;
-+ class BOOST_SYMBOL_VISIBLE basic_oarchive;
-+ class BOOST_SYMBOL_VISIBLE basic_oserializer;
- }
-
- class polymorphic_oarchive;
-diff --git a/include/boost/archive/xml_archive_exception.hpp b/include/boost/archive/xml_archive_exception.hpp
-index b07f9a0..45e4731 100644
---- a/boost/archive/xml_archive_exception.hpp
-+++ b/boost/archive/xml_archive_exception.hpp
-@@ -45,6 +45,8 @@ class BOOST_SYMBOL_VISIBLE xml_archive_exception :
- const char * e1 = NULL,
- const char * e2 = NULL
- );
-+ BOOST_ARCHIVE_DECL xml_archive_exception(xml_archive_exception const &) ;
-+ BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ;
- };
-
- }// namespace archive
-diff --git a/src/archive_exception.cpp b/src/archive_exception.cpp
-index 94aae50..5ff4b5f 100644
---- a/libs/serialization/src/archive_exception.cpp
-+++ b/libs/serialization/src/archive_exception.cpp
-@@ -114,6 +114,7 @@ archive_exception::archive_exception(
-
- BOOST_ARCHIVE_DECL
- archive_exception::archive_exception(archive_exception const & oth) BOOST_NOEXCEPT :
-+ std::exception(oth),
- code(oth.code)
+--- boost_1_61_0/boost/detail/utf8_codecvt_facet.hpp.orig 2016-05-05 23:11:21.000000000 +0200
++++ boost_1_61_0/boost/detail/utf8_codecvt_facet.hpp 2016-05-14 10:06:25.157699390 +0200
+@@ -113,7 +113,7 @@
+ public std::codecvt<wchar_t, char, std::mbstate_t>
{
- std::memcpy(m_buffer,oth.m_buffer,sizeof m_buffer);
-diff --git a/src/xml_archive_exception.cpp b/src/xml_archive_exception.cpp
-index c1431e2..37144d3 100644
---- a/libs/serialization/src/xml_archive_exception.cpp
-+++ b/libs/serialization/src/xml_archive_exception.cpp
-@@ -51,6 +51,18 @@ xml_archive_exception::xml_archive_exception(
- break;
- }
- }
-+
-+BOOST_ARCHIVE_DECL
-+xml_archive_exception::xml_archive_exception(xml_archive_exception const & oth) :
-+ archive_exception(oth)
-+ {
-+ }
-+
-+BOOST_ARCHIVE_DECL const char *
-+xml_archive_exception::what() const BOOST_NOEXCEPT_OR_NOTHROW
-+ {
-+ return archive_exception::what();
-+ }
-
- } // archive
- } // boost
-
-From 1f769b8cd914fceb981fe6a15309e1e5e5b67958 Mon Sep 17 00:00:00 2001
-From: Edward Diener <eldiener@tropicsoft.com>
-Date: Sun, 2 Aug 2015 17:48:11 -0400
-Subject: [PATCH 5/5] Backed out some unnecessary changes for the build. The
- main change is the exporting/importing of the destructor, which does nothing,
- for xml_archive_exception.
-
----
- include/boost/archive/detail/interface_oarchive.hpp | 2 +-
- include/boost/archive/polymorphic_iarchive.hpp | 4 ++--
- include/boost/archive/polymorphic_oarchive.hpp | 4 ++--
- include/boost/archive/xml_archive_exception.hpp | 2 +-
- src/xml_archive_exception.cpp | 6 +-----
- 5 files changed, 7 insertions(+), 11 deletions(-)
-
-diff --git a/include/boost/archive/detail/interface_oarchive.hpp b/include/boost/archive/detail/interface_oarchive.hpp
-index ad067f8..187013b 100644
---- a/boost/archive/detail/interface_oarchive.hpp
-+++ b/boost/archive/detail/interface_oarchive.hpp
-@@ -29,7 +29,7 @@ namespace boost {
- namespace archive {
- namespace detail {
-
--class BOOST_SYMBOL_VISIBLE basic_pointer_oserializer;
-+class BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_pointer_oserializer;
-
- template<class Archive>
- class interface_oarchive
-diff --git a/include/boost/archive/polymorphic_iarchive.hpp b/include/boost/archive/polymorphic_iarchive.hpp
-index 57fda71..b465bb1 100644
---- a/boost/archive/polymorphic_iarchive.hpp
-+++ b/boost/archive/polymorphic_iarchive.hpp
-@@ -43,8 +43,8 @@ namespace serialization {
- } // namespace serialization
- namespace archive {
- namespace detail {
-- class BOOST_SYMBOL_VISIBLE basic_iarchive;
-- class BOOST_SYMBOL_VISIBLE basic_iserializer;
-+ class BOOST_ARCHIVE_DECL basic_iarchive;
-+ class BOOST_ARCHIVE_DECL basic_iserializer;
- }
-
- class polymorphic_iarchive;
-diff --git a/include/boost/archive/polymorphic_oarchive.hpp b/include/boost/archive/polymorphic_oarchive.hpp
-index bf543b0..aa30b2a 100644
---- a/boost/archive/polymorphic_oarchive.hpp
-+++ b/boost/archive/polymorphic_oarchive.hpp
-@@ -42,8 +42,8 @@ namespace serialization {
- } // namespace serialization
- namespace archive {
- namespace detail {
-- class BOOST_SYMBOL_VISIBLE basic_oarchive;
-- class BOOST_SYMBOL_VISIBLE basic_oserializer;
-+ class BOOST_ARCHIVE_DECL basic_oarchive;
-+ class BOOST_ARCHIVE_DECL basic_oserializer;
- }
-
- class polymorphic_oarchive;
-diff --git a/include/boost/archive/xml_archive_exception.hpp b/include/boost/archive/xml_archive_exception.hpp
-index 45e4731..82c53ef 100644
---- a/boost/archive/xml_archive_exception.hpp
-+++ b/boost/archive/xml_archive_exception.hpp
-@@ -46,7 +46,7 @@ class BOOST_SYMBOL_VISIBLE xml_archive_exception :
- const char * e2 = NULL
- );
- BOOST_ARCHIVE_DECL xml_archive_exception(xml_archive_exception const &) ;
-- BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ;
-+ virtual BOOST_ARCHIVE_DECL ~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ;
- };
-
- }// namespace archive
-diff --git a/src/xml_archive_exception.cpp b/src/xml_archive_exception.cpp
-index 37144d3..f4bf896 100644
---- a/libs/serialization/src/xml_archive_exception.cpp
-+++ b/libs/serialization/src/xml_archive_exception.cpp
-@@ -58,11 +58,7 @@ xml_archive_exception::xml_archive_exception(xml_archive_exception const & oth)
- {
- }
-
--BOOST_ARCHIVE_DECL const char *
--xml_archive_exception::what() const BOOST_NOEXCEPT_OR_NOTHROW
-- {
-- return archive_exception::what();
-- }
-+BOOST_ARCHIVE_DECL xml_archive_exception::~xml_archive_exception() BOOST_NOEXCEPT_OR_NOTHROW {}
-
- } // archive
- } // boost
+ public:
+- BOOST_UTF8_DECL explicit utf8_codecvt_facet(std::size_t no_locale_manage=0)
++ explicit utf8_codecvt_facet(std::size_t no_locale_manage=0)
+ : std::codecvt<wchar_t, char, std::mbstate_t>(no_locale_manage)
+ {}
+ virtual ~utf8_codecvt_facet(){}
+--- boost_1_61_0/libs/serialization/build/Jamfile.v2.orig 2016-05-05 23:14:17.000000000 +0200
++++ boost_1_61_0/libs/serialization/build/Jamfile.v2 2016-05-15 07:59:08.364394013 +0200
+@@ -80,7 +80,6 @@
+ xml_iarchive
+ xml_oarchive
+ xml_archive_exception
+- codecvt_null
+ utf8_codecvt_facet
+ singleton
+ ;
+@@ -93,6 +92,7 @@
+ xml_wgrammar
+ xml_wiarchive
+ xml_woarchive
++ codecvt_null
+ ;
+
+ lib boost_serialization
+# TODO: fix serialization
#
# Conditional build:
%bcond_without context # Boost Context and dependent modules [gas+PE not supported by upstream]
+%bcond_with serialization # Boost Serialization [broken for MinGW in 1.61: https://svn.boost.org/trac/boost/ticket/12205]
#
%define realname boost
Summary: The Boost C++ Libraries - MinGW32 cross version
Summary(pl.UTF-8): Biblioteki C++ "Boost" - wersja skrośna dla MinGW32
Name: crossmingw32-%{realname}
-Version: 1.59.0
+Version: 1.61.0
%define fver %(echo %{version} | tr . _)
Release: 1
License: Boost Software License and others
Group: Development/Libraries
Source0: http://downloads.sourceforge.net/boost/%{realname}_%{fver}.tar.bz2
-# Source0-md5: 6aa9a5c6a4ca1016edd0ed1178e3cb87
-# https://github.com/boostorg/serialization/pull/19.patch
+# Source0-md5: 6095876341956f65f9d35939ccea1a9f
Patch0: boost-windows-decl.patch
-Patch1: boost-context-mingw.patch
URL: http://www.boost.org/
BuildRequires: crossmingw32-bzip2
BuildRequires: crossmingw32-gcc-c++
%define filterout_c -f[-a-z0-9=]*
%define filterout_cxx -f[-a-z0-9=]*
-%define abi_tag 1_59
+%define abi_tag 1_61
%description
The Boost web site provides free peer-reviewed portable C++ source
%prep
%setup -q -n %{realname}_%{fver}
%patch0 -p1
-%patch1 -p0
echo 'using gcc : : %{target}-g++ : ' \
'<cxxflags>"%{rpmcxxflags}"' \
--layout=versioned \
%{!?with_context:--without-context --without-coroutine --without-coroutine2} \
--without-python \
+ %{!?with_serialization:--without-serialization} \
--without-test \
abi=ms \
binary-format=pe \
%{_libdir}/libboost_program_options-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_random-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_regex-mgw*-mt-%{abi_tag}.dll.a
-%{_libdir}/libboost_serialization-mgw*-mt-%{abi_tag}.dll.a
+%{?with_serialization:%{_libdir}/libboost_serialization-mgw*-mt-%{abi_tag}.dll.a}
%{_libdir}/libboost_signals-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_system-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_thread_win32-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_timer-mgw*-mt-%{abi_tag}.dll.a
+%{_libdir}/libboost_type_erasure-mgw*-mt-%{abi_tag}.dll.a
%{_libdir}/libboost_wave-mgw*-mt-%{abi_tag}.dll.a
-%{_libdir}/libboost_wserialization-mgw*-mt-%{abi_tag}.dll.a
+%{?with_serialization:%{_libdir}/libboost_wserialization-mgw*-mt-%{abi_tag}.dll.a}
# static-only
%{_libdir}/libboost_exception-mgw*-mt-%{abi_tag}.a
+%{_libdir}/libboost_unit_test_framework-mgw*-mt-%{abi_tag}.a
%{_includedir}/boost
%files static
%{_libdir}/libboost_program_options-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_random-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_regex-mgw*-mt-%{abi_tag}.a
-%{_libdir}/libboost_serialization-mgw*-mt-%{abi_tag}.a
+%{?with_serialization:%{_libdir}/libboost_serialization-mgw*-mt-%{abi_tag}.a}
%{_libdir}/libboost_signals-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_system-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_thread_win32-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_timer-mgw*-mt-%{abi_tag}.a
+%{_libdir}/libboost_type_erasure-mgw*-mt-%{abi_tag}.a
%{_libdir}/libboost_wave-mgw*-mt-%{abi_tag}.a
-%{_libdir}/libboost_wserialization-mgw*-mt-%{abi_tag}.a
+%{?with_serialization:%{_libdir}/libboost_wserialization-mgw*-mt-%{abi_tag}.a}
%files dll
%defattr(644,root,root,755)
%{_dlldir}/libboost_program_options-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_random-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_regex-mgw*-mt-%{abi_tag}.dll
-%{_dlldir}/libboost_serialization-mgw*-mt-%{abi_tag}.dll
+%{?with_serialization:%{_dlldir}/libboost_serialization-mgw*-mt-%{abi_tag}.dll}
%{_dlldir}/libboost_signals-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_system-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_thread_win32-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_timer-mgw*-mt-%{abi_tag}.dll
+%{_dlldir}/libboost_type_erasure-mgw*-mt-%{abi_tag}.dll
%{_dlldir}/libboost_wave-mgw*-mt-%{abi_tag}.dll
-%{_dlldir}/libboost_wserialization-mgw*-mt-%{abi_tag}.dll
+%{?with_serialization:%{_dlldir}/libboost_wserialization-mgw*-mt-%{abi_tag}.dll}