]> git.pld-linux.org Git - packages/crossmingw32-boost.git/commitdiff
- updated to 1.59.0 auto/th/crossmingw32-boost-1.59.0-1
authorJakub Bogusz <qboosh@pld-linux.org>
Sun, 13 Sep 2015 15:00:56 +0000 (17:00 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Sun, 13 Sep 2015 15:00:56 +0000 (17:00 +0200)
- added windows-decl patch (fixes serialization module issues with gcc)
- added context-mingw patch (updates gas/win32 support)

boost-context-mingw.patch [new file with mode: 0644]
boost-windows-decl.patch [new file with mode: 0644]
crossmingw32-boost.spec

diff --git a/boost-context-mingw.patch b/boost-context-mingw.patch
new file mode 100644 (file)
index 0000000..895d438
--- /dev/null
@@ -0,0 +1,36 @@
+--- libs/context/src/asm/jump_i386_ms_pe_gas.asm.mingw 2015-09-02 16:03:06.406321632 +0200
++++ libs/context/src/asm/jump_i386_ms_pe_gas.asm       2015-09-02 16:04:17.632915315 +0200
+@@ -138,3 +138,6 @@
+     /* indirect jump to context */
+     jmp  *%edx
++
++.section .drectve
++.ascii " -export:\"jump_fcontext\""
+--- libs/context/src/asm/jump_x86_64_ms_pe_gas.asm.mingw       2015-09-02 16:03:13.495380721 +0200
++++ libs/context/src/asm/jump_x86_64_ms_pe_gas.asm     2015-09-02 16:04:12.488872439 +0200
+@@ -223,3 +223,6 @@
+     /* indirect jump to context */
+     jmp  *%r10
+ .seh_endproc
++
++.section .drectve
++.ascii " -export:\"jump_fcontext\""
+--- libs/context/src/asm/make_i386_ms_pe_gas.asm.mingw 2015-09-02 16:03:22.486455662 +0200
++++ libs/context/src/asm/make_i386_ms_pe_gas.asm       2015-09-02 16:04:32.409038476 +0200
+@@ -122,3 +122,6 @@
+     hlt
+ .def  __exit; .scl    2;      .type   32;     .endef  /* standard C library function */
++
++.section .drectve
++.ascii " -export:\"make_fcontext\""
+--- libs/context/src/asm/make_x86_64_ms_pe_gas.asm.mingw       2015-09-02 16:03:30.631523552 +0200
++++ libs/context/src/asm/make_x86_64_ms_pe_gas.asm     2015-09-02 16:04:27.433997008 +0200
+@@ -149,3 +149,6 @@
+ .seh_endproc
+ .def  _exit;  .scl    2;      .type   32;     .endef  /* standard C library function */
++
++.section .drectve
++.ascii " -export:\"make_fcontext\""
diff --git a/boost-windows-decl.patch b/boost-windows-decl.patch
new file mode 100644 (file)
index 0000000..e6d7947
--- /dev/null
@@ -0,0 +1,318 @@
+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)
+ {
+       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
index 8e090b1e10da9dc89f7e77f860d9984275a7d27e..a379feb752fed2a0ef748b37822a8dd150209aef 100644 (file)
@@ -6,13 +6,16 @@
 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.55.0
+Version:       1.59.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: d6eef4b4cacb2183f2bf265a5a03a354
+# Source0-md5: 6aa9a5c6a4ca1016edd0ed1178e3cb87
+# https://github.com/boostorg/serialization/pull/19.patch
+Patch0:                boost-windows-decl.patch
+Patch1:                boost-context-mingw.patch
 URL:           http://www.boost.org/
 BuildRequires: crossmingw32-bzip2
 BuildRequires: crossmingw32-gcc-c++
@@ -46,7 +49,7 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                filterout_c     -f[-a-z0-9=]*
 %define                filterout_cxx   -f[-a-z0-9=]*
 
-%define                abi_tag         1_55
+%define                abi_tag         1_59
 
 %description
 The Boost web site provides free peer-reviewed portable C++ source
@@ -94,14 +97,16 @@ Boost - biblioteki DLL dla Windows.
 
 %prep
 %setup -q -n %{realname}_%{fver}
+%patch0 -p1
+%patch1 -p0
 
 echo 'using gcc : : %{target}-g++ : ' \
        '<cxxflags>"%{rpmcxxflags}"' \
        '<archiver>%{target}-ar' \
-       '<rc>%{target}-windres ;' >tools/build/v2/user-config.jam
+       '<rc>%{target}-windres ;' >tools/build/src/user-config.jam
 
 # use Windows Message Compiler, not Midnight Commander
-%{__sed} -i -e 's,mc $(MCFLAGS),%{target}-windmc $(MCFLAGS),' tools/build/v2/tools/mc.jam
+%{__sed} -i -e 's,mc $(MCFLAGS),%{target}-windmc $(MCFLAGS),' tools/build/src/tools/mc.jam
 
 %build
 ./bootstrap.sh --prefix=%{_prefix}
@@ -110,9 +115,11 @@ echo 'using gcc : : %{target}-g++ : ' \
        %{_smp_mflags} \
        -sBZIP2_BINARY=bzip2 \
        --layout=versioned \
-       %{!?with_context:--without-context --without-coroutine} \
+       %{!?with_context:--without-context --without-coroutine --without-coroutine2} \
        --without-python \
        --without-test \
+       abi=ms \
+       binary-format=pe \
        debug-symbols=on \
        inlining=on \
        link=static,shared \
@@ -142,6 +149,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_libdir}/libboost_atomic-mgw*-mt-%{abi_tag}.dll.a
 %{_libdir}/libboost_chrono-mgw*-mt-%{abi_tag}.dll.a
+%{_libdir}/libboost_container-mgw*-mt-%{abi_tag}.dll.a
 %{?with_context:%{_libdir}/libboost_context-mgw*-mt-%{abi_tag}.dll.a}
 %{?with_context:%{_libdir}/libboost_coroutine-mgw*-mt-%{abi_tag}.dll.a}
 %{_libdir}/libboost_date_time-mgw*-mt-%{abi_tag}.dll.a
@@ -175,6 +183,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_libdir}/libboost_atomic-mgw*-mt-%{abi_tag}.a
 %{_libdir}/libboost_chrono-mgw*-mt-%{abi_tag}.a
+%{_libdir}/libboost_container-mgw*-mt-%{abi_tag}.a
 %{?with_context:%{_libdir}/libboost_context-mgw*-mt-%{abi_tag}.a}
 %{?with_context:%{_libdir}/libboost_coroutine-mgw*-mt-%{abi_tag}.a}
 %{_libdir}/libboost_date_time-mgw*-mt-%{abi_tag}.a
@@ -205,8 +214,9 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_dlldir}/libboost_atomic-mgw*-mt-%{abi_tag}.dll
 %{_dlldir}/libboost_chrono-mgw*-mt-%{abi_tag}.dll
-%{?with_context:%{_libdir}/libboost_context-mgw*-mt-%{abi_tag}.dll}
-%{?with_context:%{_libdir}/libboost_coroutine-mgw*-mt-%{abi_tag}.dll}
+%{_dlldir}/libboost_container-mgw*-mt-%{abi_tag}.dll
+%{?with_context:%{_dlldir}/libboost_context-mgw*-mt-%{abi_tag}.dll}
+%{?with_context:%{_dlldir}/libboost_coroutine-mgw*-mt-%{abi_tag}.dll}
 %{_dlldir}/libboost_date_time-mgw*-mt-%{abi_tag}.dll
 %{_dlldir}/libboost_filesystem-mgw*-mt-%{abi_tag}.dll
 %{_dlldir}/libboost_graph-mgw*-mt-%{abi_tag}.dll
This page took 0.149233 seconds and 4 git commands to generate.