[mingw-boost] update to 1.53.0

sailer sailer at fedoraproject.org
Sun Mar 3 10:28:44 UTC 2013


commit 99c8a3c3b51c727040fbf26adcf491e282079291
Author: Thomas Sailer <t.sailer at alumni.ethz.ch>
Date:   Sun Mar 3 11:28:01 2013 +0100

    update to 1.53.0

 .gitignore                       |    1 +
 boost-1.50.0-attribute.patch     |   90 --------------------------------------
 boost-1.50.0-signals-erase.patch |   23 ----------
 boost-1.53.0-attribute.patch     |   57 ++++++++++++++++++++++++
 boost-1.53.0-context.patch       |   66 ++++++++++++++++++++++++++++
 mingw-boost.spec                 |   28 +++++-------
 sources                          |    3 +-
 7 files changed, 136 insertions(+), 132 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 974e001..f39d21b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@ boost-1.41.0.cmake0.tar.bz2
 /boost_1_47_0.tar.bz2
 /boost_1_48_0.tar.bz2
 /boost_1_50_0.tar.bz2
+/boost_1_53_0.tar.bz2
diff --git a/boost-1.53.0-attribute.patch b/boost-1.53.0-attribute.patch
new file mode 100644
index 0000000..e17f9e7
--- /dev/null
+++ b/boost-1.53.0-attribute.patch
@@ -0,0 +1,57 @@
+diff -urp boost_1_48_0~/boost/config/compiler/gcc.hpp boost_1_48_0/boost/config/compiler/gcc.hpp
+--- boost_1_48_0~/boost/config/compiler/gcc.hpp	2012-01-16 16:15:14.643239525 +0100
++++ boost_1_48_0/boost/config/compiler/gcc.hpp	2012-01-16 16:21:24.072247987 +0100
+@@ -120,13 +120,13 @@
+      // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment,
+      // so does not define _WIN32 or its variants.
+ #    define BOOST_HAS_DECLSPEC
+-#    define BOOST_SYMBOL_EXPORT __attribute__((dllexport))
+-#    define BOOST_SYMBOL_IMPORT __attribute__((dllimport))
++#    define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__))
++#    define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))
+ #  else
+-#    define BOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
++#    define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
+ #    define BOOST_SYMBOL_IMPORT
+ #  endif
+-#  define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
++#  define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
+ #else
+ // config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined  
+ #  define BOOST_SYMBOL_EXPORT
+diff -urp boost_1_48_0~/boost/gil/gil_config.hpp boost_1_48_0/boost/gil/gil_config.hpp
+--- boost_1_48_0~/boost/gil/gil_config.hpp	2012-01-16 16:15:29.883239865 +0100
++++ boost_1_48_0/boost/gil/gil_config.hpp	2012-01-16 16:17:49.096243036 +0100
+@@ -32,7 +32,7 @@
+ #if   defined(_MSC_VER)
+ #    define GIL_FORCEINLINE __forceinline
+ #elif defined(__GNUC__) && __GNUC__ > 3
+-#    define GIL_FORCEINLINE inline __attribute__ ((always_inline))
++#    define GIL_FORCEINLINE inline __attribute__ ((__always_inline__))
+ #else
+ #    define GIL_FORCEINLINE inline
+ #endif
+diff -urp boost_1_48_0~/boost/optional/optional.hpp boost_1_48_0/boost/optional/optional.hpp
+--- boost_1_48_0~/boost/optional/optional.hpp	2012-01-16 16:15:29.743239804 +0100
++++ boost_1_48_0/boost/optional/optional.hpp	2012-01-16 16:17:47.488242994 +0100
+@@ -127,7 +127,7 @@ class aligned_storage
+     union
+     // This works around GCC warnings about breaking strict aliasing rules when casting storage address to T*
+ #if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
+-    __attribute__((may_alias))
++    __attribute__((__may_alias__))
+ #endif
+     dummy_u
+     {
+diff -up /home/ant/rpm/BUILD/boost_1_53_0/boost/random/detail/integer_log2.hpp\~ /home/ant/rpm/BUILD/boost_1_53_0/boost/random/detail/integer_log2.hpp
+--- boost_1_53_0/boost/random/detail/integer_log2.hpp~	2013-01-25 18:06:07.000000000 +0100
++++ boost_1_53_0/boost/random/detail/integer_log2.hpp	2013-02-07 17:37:53.000000000 +0100
+@@ -27,7 +27,7 @@ namespace detail {
+ #elif defined(BOOST_MSVC)
+ #define BOOST_RANDOM_DETAIL_CONSTEXPR __forceinline
+ #elif defined(__GNUC__) && __GNUC__ >= 4
+-#define BOOST_RANDOM_DETAIL_CONSTEXPR inline __attribute__((const)) __attribute__((always_inline))
++#define BOOST_RANDOM_DETAIL_CONSTEXPR inline __attribute__((__const__)) __attribute__((__always_inline__))
+ #else
+ #define BOOST_RANDOM_DETAIL_CONSTEXPR inline
+ #endif
diff --git a/boost-1.53.0-context.patch b/boost-1.53.0-context.patch
new file mode 100644
index 0000000..2f80f07
--- /dev/null
+++ b/boost-1.53.0-context.patch
@@ -0,0 +1,66 @@
+--- boost_1_53_0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S.orig	2013-02-11 14:03:46.631005713 -0600
++++ boost_1_53_0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S	2013-02-11 14:06:52.704815403 -0600
+@@ -78,7 +78,7 @@
+ 
+     # call align_stack, R3 contains address at 16 byte boundary after return
+     # == pointer to fcontext_t and address of context stack
+-    rlwinm  %r3, %r3, 0, 0, 27
++    clrrwi  %r3, %r3, 4
+ 
+     stw     %r0, 92(%r3)        # save address of context stack (base) in fcontext_t
+     stw     %r4, 96(%r3)        # save context stack size in fcontext_t
+@@ -87,12 +87,10 @@
+     subi    %r0, %r3, 64        # reserve 64 bytes (linkage + parameter area), R4 % 16 == 0
+     stw     %r0, 76(%r3)        # save address in R3 as stack pointer for context function
+ 
+-    mflr    %r0                 # load LR
+     bl      1f                  # jump to label 1
+ 1:
+     mflr    %r4                      # load LR into R4
+     addi    %r4, %r4, finish - 1b    # compute abs address of label finish
+-    mtlr    %r0                      # restore LR
+     stw     %r4, 84(%r3)             # save address of finish as return address for context function
+                                      # entered after context function returns
+ 
+@@ -108,4 +106,5 @@
+ 
+     li      %r3,  0             # exit code is zero
+     bl      _exit at plt           # exit application
++    .long   0                   # We should never get here, so SIGILL if we do
+ .size make_fcontext, .-make_fcontext
+
+--- boost_1_53_0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S.orig	2013-02-11 14:03:43.726849715 -0600
++++ boost_1_53_0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S	2013-02-11 14:22:48.202839078 -0600
+@@ -99,21 +99,19 @@
+ 
+     # call align_stack, R3 contains address at 16 byte boundary after return
+     # == pointer to fcontext_t and address of context stack
+-    rlwinm  %r3, %r3, 0, 0, 59
++    clrrdi  %r3, %r3, 4
+ 
+     std     %r0, 184(%r3)       # save address of context stack (base) in fcontext_t
+     std     %r4, 192(%r3)       # save context stack size in fcontext_t
+     std     %r5, 176(%r3)       # save address of context function in fcontext_t
+ 
+-    subf    %r0, %r3, 64        # 64 bytes on stack for parameter area (== 8 registers)
++    subi    %r0, %r3, 64        # 64 bytes on stack for parameter area (== 8 registers)
+     std     %r0, 152(%r3)       # save the stack base
+ 
+-    mflr    %r0                 # load LR
+     bl      1f                  # jump to label 1
+ 1:
+     mflr    %r4                      # load LR into R4
+     addi    %r4, %r4, finish - 1b    # compute abs address of label finish
+-    mtlr    %r0                      # restore LR
+     std     %r4, 168(%r3)            # save address of finish as return address for context function
+                                      # entered after context function returns
+ 
+@@ -128,5 +126,7 @@
+     stwu    %r1, -32(%r1)       # allocate stack space, SP % 16 == 0
+ 
+     li      %r3,  0             # set return value to zero
+-    bl      _exit at plt           # exit application
++    bl      _exit               # exit application
++    nop                         # nop is required by the linker
++    .long   0                   # We should never get here, so SIGILL if we do
+ .size .make_fcontext, .-.make_fcontext
diff --git a/mingw-boost.spec b/mingw-boost.spec
index 8fb6836..1456e3d 100644
--- a/mingw-boost.spec
+++ b/mingw-boost.spec
@@ -2,11 +2,9 @@
 
 %global name1 boost
 Name:           mingw-%{name1}
-Version:        1.50.0
-%global version_enc 1_50_0
-%global dllboostver 1_50
-%global dllgccver gcc47
-Release:        2%{?dist}
+Version:        1.53.0
+%global version_enc 1_53_0
+Release:        1%{?dist}
 Summary:        MinGW Windows port of Boost C++ Libraries
 
 %global toplev_dirname %{name1}_%{version_enc}
@@ -16,10 +14,6 @@ Group:          Development/Libraries
 URL:            http://www.boost.org
 Source0:        http://downloads.sourceforge.net/%{name1}/%{toplev_dirname}.tar.bz2
 
-# The patch may break c++03, and there is therefore no plan yet to include
-# it upstream: https://svn.boost.org/trac/boost/ticket/4999
-Patch2:         boost-1.50.0-signals-erase.patch
-
 # https://svn.boost.org/trac/boost/ticket/6150
 Patch4:         boost-1.50.0-fix-non-utf8-files.patch
 
@@ -34,24 +28,22 @@ Patch7:         boost-1.50.0-foreach.patch
 
 # https://bugzilla.redhat.com/show_bug.cgi?id=781859
 # The following tickets have still to be fixed by upstream.
-# https://svn.boost.org/trac/boost/ticket/6406 fixed, but only in Boost-1.51.0
 # https://svn.boost.org/trac/boost/ticket/6408
 # https://svn.boost.org/trac/boost/ticket/6410
 # https://svn.boost.org/trac/boost/ticket/6413
-# https://svn.boost.org/trac/boost/ticket/6415
-Patch9:         boost-1.50.0-attribute.patch
+Patch9: boost-1.53.0-attribute.patch
 
 # https://bugzilla.redhat.com/show_bug.cgi?id=783660
 # https://svn.boost.org/trac/boost/ticket/6459 fixed
 Patch10:        boost-1.50.0-long-double-1.patch
 
-# https://bugzilla.redhat.com/show_bug.cgi?id=784654
-Patch12:        boost-1.50.0-polygon.patch
-
 # https://bugzilla.redhat.com/show_bug.cgi?id=828856
 # https://bugzilla.redhat.com/show_bug.cgi?id=828857
 Patch15:        boost-1.50.0-pool.patch
 
+# https://bugzilla.redhat.com/show_bug.cgi?id=909888
+Patch16: boost-1.53.0-context.patch
+
 Patch1000:      boost-mingw.patch
 
 BuildArch:      noarch
@@ -142,14 +134,13 @@ mv %{toplev_dirname} win32
 
 pushd win32
 # Fixes
-%patch2 -p1
 %patch4 -p1
 %patch5 -p1
 %patch7 -p2
 %patch9 -p1
 %patch10 -p1
-%patch12 -p3
 %patch15 -p0
+%patch16 -p1
 %patch1000 -p0 -b .mingw
 popd
 
@@ -516,6 +507,9 @@ mv $RPM_BUILD_ROOT%{mingw64_libdir}/*.dll $RPM_BUILD_ROOT%{mingw64_bindir}
 %{mingw64_libdir}/libboost_test_exec_monitor.a
 
 %changelog
+* Sun Mar  3 2013 Thomas Sailer <t.sailer at alumni.ethz.ch> - 1.53.0-1
+- update to 1.53.0
+
 * Sun Jan 27 2013 Erik van Pienbroek <epienbro at fedoraproject.org> - 1.50.0-2
 - Rebuild against mingw-gcc 4.8 (win64 uses SEH exceptions now)
 
diff --git a/sources b/sources
index d3159dd..faa245c 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-d1e9a7a7f532bb031a3c175d86688d95  boost_1_48_0.tar.bz2
-52dd00be775e689f55a987baebccc462  boost_1_50_0.tar.bz2
+a00d22605d5dbcfb4c9936a9b35bc4c2  boost_1_53_0.tar.bz2


More information about the scm-commits mailing list