Rebase to 1.54.0

This commit is contained in:
Petr Machata 2013-07-27 00:45:06 +02:00
parent f0abb10476
commit 5a207d1e4a
11 changed files with 166 additions and 117 deletions

19
001-coroutine.patch Normal file
View File

@ -0,0 +1,19 @@
------------------------------------------------------------------------
r84947 | danieljames | 2013-07-03 22:57:56 +0100 (Wed, 03 Jul 2013) | 4 lines
coroutine: fix typo in Jamfile
From [84622], by olli
------------------------------------------------------------------------
--- 1_54_0/libs/coroutine/build/Jamfile.v2 (revision 84946)
+++ 1_54_0/libs/coroutine/build/Jamfile.v2 (revision 84947)
@@ -40,7 +40,7 @@
: detail/standard_stack_allocator_posix.cpp
;
-explicit yield_sources ;
+explicit allocator_sources ;
lib boost_coroutine
: allocator_sources

19
002-date-time.patch Normal file
View File

@ -0,0 +1,19 @@
------------------------------------------------------------------------
r84948 | danieljames | 2013-07-03 23:02:30 +0100 (Wed, 03 Jul 2013) | 4 lines
In C++11 the shared_ptr -> bool conversion is explicit. In custom time zone code, make the cast explicit. Fixes compilation failure in C++11
From [84626], by marshall.
------------------------------------------------------------------------
--- 1_54_0/boost/date_time/local_time/custom_time_zone.hpp (revision 84947)
+++ 1_54_0/boost/date_time/local_time/custom_time_zone.hpp (revision 84948)
@@ -64,7 +64,7 @@
//! True if zone uses daylight savings adjustments
virtual bool has_dst() const
{
- return (dst_calc_rules_); //if calc_rule is set the tz has dst
+ return (bool) dst_calc_rules_; //if calc_rule is set the tz has dst
}
//! Local time that DST starts -- NADT if has_dst is false
virtual posix_time::ptime dst_local_start_time(gregorian::greg_year y) const

16
003-log.patch Normal file
View File

@ -0,0 +1,16 @@
------------------------------------------------------------------------
r84966 | andysem | 2013-07-07 11:43:20 +0100 (Sun, 07 Jul 2013) | 1 line
Backported fix for BOOST_LOG_ONCE_BLOCK_FLAG macro definition.
------------------------------------------------------------------------
--- 1_54_0/boost/log/utility/once_block.hpp (revision 84965)
+++ 1_54_0/boost/log/utility/once_block.hpp (revision 84966)
@@ -176,7 +176,7 @@
* been executed.
*/
#define BOOST_LOG_ONCE_BLOCK_FLAG(flag_var)\
- BOOST_LOG_ONCE_BLOCK_INTERNAL(\
+ BOOST_LOG_ONCE_BLOCK_FLAG_INTERNAL(\
flag_var,\
BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_once_block_sentry_))

View File

@ -1,22 +0,0 @@
diff -up boost/cstdint.hpp\~ boost/cstdint.hpp
--- boost/cstdint.hpp~ 2013-03-07 01:46:19.000000000 +0100
+++ boost/cstdint.hpp 2013-06-25 21:56:25.930276225 +0200
@@ -41,7 +41,15 @@
// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
//
-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
+// This define has been dropped altogether in GLIBC 2.17. As of then,
+// support for long long is part of baseline requirements, and
+// [u]int64_t is always defined. See here:
+// http://sourceware.org/ml/libc-alpha/2013-01/msg00440.html
+//
+#if defined(BOOST_HAS_STDINT_H) \
+ && (!defined(__GLIBC__) \
+ || defined(__GLIBC_HAVE_LONG_LONG) \
+ || (defined __GLIBC_PREREQ && __GLIBC_PREREQ(2,17)))
// The following #include is an implementation artifact; not part of interface.
# ifdef __hpux
Diff finished. Tue Jun 25 21:56:32 2013

View File

@ -31,27 +31,3 @@ diff -urp boost_1_48_0~/boost/gil/gil_config.hpp boost_1_48_0/boost/gil/gil_conf
#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

View File

@ -1,14 +1,5 @@
--- 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

View File

@ -81,9 +81,9 @@ diff -up boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S~ boost-1.54
diff -up boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S~ 2013-05-08 22:40:43.000000000 -0700
+++ boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S 2013-07-15 11:11:20.247400344 -0700
@@ -108,3 +108,6 @@ finish:
@@ -109,3 +109,6 @@ finish:
li %r3, 0 # exit code is zero
bl _exit@plt # exit application
.long 0 # We should never get here, so SIGILL if we do
.size make_fcontext, .-make_fcontext
+
+/* Mark that we don't need executable stack. */
@ -91,13 +91,33 @@ diff -up boost-1.54.0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S~ boost-1.54
diff -up boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S~ 2013-05-08 22:40:43.000000000 -0700
+++ boost-1.54.0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S 2013-07-15 11:11:13.400363259 -0700
@@ -130,3 +130,6 @@ finish:
nop # nop is required by the linker
.long 0 # We should never get here, so SIGILL if we do
@@ -131,3 +131,6 @@ finish:
bl _exit # exit application
nop
.size .make_fcontext, .-.make_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",@progbits
diff -up boost-1.54.0/libs/context/src/asm/make_sparc64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_sparc64_sysv_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/make_sparc64_sysv_elf_gas.S~ 2013-02-12 04:55:22.000000000 -0800
+++ boost-1.54.0/libs/context/src/asm/make_sparc64_sysv_elf_gas.S 2013-07-15 11:12:41.643838416 -0700
@@ -84,3 +84,6 @@ finish:
nop
.size make_fcontext,.-make_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",@progbits
diff -up boost-1.54.0/libs/context/src/asm/make_sparc_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_sparc_sysv_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/make_sparc_sysv_elf_gas.S~ 2013-02-12 04:55:22.000000000 -0800
+++ boost-1.54.0/libs/context/src/asm/make_sparc_sysv_elf_gas.S 2013-07-15 11:12:48.733876794 -0700
@@ -80,3 +80,6 @@ finish:
nop
.size make_fcontext,.-make_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",@progbits
diff -up boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S~ 2012-11-29 23:38:52.000000000 -0800
+++ boost-1.54.0/libs/context/src/asm/make_x86_64_sysv_elf_gas.S 2013-07-15 11:10:06.151001366 -0700

View File

@ -0,0 +1,11 @@
diff -urp boost_1_54_0-orig/boost/graph/breadth_first_search.hpp boost_1_54_0/boost/graph/breadth_first_search.hpp
--- boost_1_54_0-orig/boost/graph/breadth_first_search.hpp 2013-07-23 00:47:43.418886551 +0200
+++ boost_1_54_0/boost/graph/breadth_first_search.hpp 2013-07-23 00:50:40.339958756 +0200
@@ -64,7 +64,6 @@ namespace boost {
BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<IncidenceGraph> ));
typedef graph_traits<IncidenceGraph> GTraits;
typedef typename GTraits::vertex_descriptor Vertex;
- typedef typename GTraits::edge_descriptor Edge;
BOOST_CONCEPT_ASSERT(( BFSVisitorConcept<BFSVisitor, IncidenceGraph> ));
BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<ColorMap, Vertex> ));
typedef typename property_traits<ColorMap>::value_type ColorValue;

View File

@ -1,3 +1,35 @@
Index: boost/math/special_functions/airy.hpp
===================================================================
--- boost/math/special_functions/airy.hpp (revision 85073)
+++ boost/math/special_functions/airy.hpp (working copy)
@@ -340,13 +340,6 @@
inline T airy_ai_zero(unsigned m, const Policy& pol)
{
BOOST_FPU_EXCEPTION_GUARD
- typedef typename policies::evaluation<T, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<T>::is_integer, "Airy return type must be a floating-point type.");
return policies::checked_narrowing_cast<T, Policy>(detail::airy_ai_zero_imp<T>(m, pol), "boost::math::airy_ai_zero<%1%>(unsigned)");
}
@@ -388,13 +381,6 @@
inline T airy_bi_zero(unsigned m, const Policy& pol)
{
BOOST_FPU_EXCEPTION_GUARD
- typedef typename policies::evaluation<T, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<T>::is_integer, "Airy return type must be a floating-point type.");
return policies::checked_narrowing_cast<T, Policy>(detail::airy_bi_zero_imp<T>(m, pol), "boost::math::airy_bi_zero<%1%>(unsigned)");
}
Index: boost/math/special_functions/beta.hpp
===================================================================
--- boost/math/special_functions/beta.hpp (revision 85073)

View File

@ -32,14 +32,15 @@
Name: boost
Summary: The free peer-reviewed portable C++ source libraries
Version: 1.53.0
%define version_enc 1_53_0
Release: 12%{?dist}
Version: 1.54.0
%define version_enc 1_54_0
Release: 1%{?dist}
License: Boost and MIT and Python
%define toplev_dirname %{name}_%{version_enc}
URL: http://www.boost.org
Group: System Environment/Libraries
Source0: http://downloads.sourceforge.net/%{name}/%{toplev_dirname}.tar.bz2
Source1: ver.py
Source2: libboost_thread.so
@ -87,36 +88,29 @@ BuildRequires: libicu-devel%{?_isa}
# https://svn.boost.org/trac/boost/ticket/6150
Patch4: boost-1.50.0-fix-non-utf8-files.patch
# Add a manual page for the sole executable, namely bjam, based on the
# on-line documentation:
# Add a manual page for bjam, based on the on-line documentation:
# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
Patch5: boost-1.48.0-add-bjam-man-page.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=756005
# https://svn.boost.org/trac/boost/ticket/6131
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/6408
# https://svn.boost.org/trac/boost/ticket/6410
# The following tickets have yet to be fixed by upstream.
# https://svn.boost.org/trac/boost/ticket/6413
# https://svn.boost.org/trac/boost/ticket/8849
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=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
# https://bugzilla.redhat.com/show_bug.cgi?id=977098
# https://svn.boost.org/trac/boost/ticket/8731
Patch18: boost-1.54.0-__GLIBC_HAVE_LONG_LONG.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=984346
# https://svn.boost.org/trac/boost/ticket/7242
Patch17: boost-1.53.0-static_assert-unused_typedef.patch
# Upstream patches posted as release notes:
# http://www.boost.org/users/history/version_1_54_0.html
Patch19: 001-coroutine.patch
Patch20: 002-date-time.patch
Patch21: 003-log.patch
# https://svn.boost.org/trac/boost/ticket/8826
Patch22: boost-1.54.0-context-execstack.patch
@ -136,8 +130,6 @@ Patch26: boost-1.54.0-static_warning-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8855
Patch27: boost-1.54.0-math-unused_typedef.patch
Patch28: boost-1.54.0-math-unused_typedef-2.patch
Patch29: boost-1.53.0-fpclassify-unused_typedef.patch
Patch30: boost-1.53.0-math-unused_typedef-3.patch
# https://svn.boost.org/trac/boost/ticket/8853
Patch31: boost-1.54.0-tuple-unused_typedef.patch
@ -159,11 +151,6 @@ Patch37: boost-1.54.0-numeric-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8872
Patch38: boost-1.54.0-multiprecision-unused_typedef.patch
# These are already fixed in 1.54.0+
Patch39: boost-1.53.0-lexical_cast-unused_typedef.patch
Patch40: boost-1.53.0-regex-unused_typedef.patch
Patch41: boost-1.53.0-thread-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8874
Patch42: boost-1.54.0-unordered-unused_typedef.patch
@ -171,7 +158,7 @@ Patch42: boost-1.54.0-unordered-unused_typedef.patch
Patch43: boost-1.54.0-algorithm-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8877
Patch44: boost-1.53.0-graph-unused_typedef.patch
Patch44: boost-1.54.0-graph-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8878
Patch45: boost-1.54.0-locale-unused_typedef.patch
@ -188,10 +175,6 @@ Patch48: boost-1.54.0-mpi-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8888
Patch49: boost-1.54.0-python-unused_typedef.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=977098
# https://svn.boost.org/trac/boost/ticket/8731
Patch50: boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch
%bcond_with tests
%bcond_with docs_generated
@ -635,15 +618,14 @@ a number of significant features and is now developed independently
%prep
%setup -q -n %{toplev_dirname}
# Fixes
%patch4 -p1
%patch5 -p1
%patch7 -p2
%patch9 -p1
%patch10 -p1
%patch15 -p0
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
@ -651,8 +633,6 @@ a number of significant features and is now developed independently
%patch26 -p1
%patch27 -p1
%patch28 -p0
%patch29 -p1
%patch30 -p1
%patch31 -p0
%patch32 -p0
%patch33 -p0
@ -661,9 +641,6 @@ a number of significant features and is now developed independently
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p1
@ -672,7 +649,6 @@ a number of significant features and is now developed independently
%patch47 -p1
%patch48 -p1
%patch49 -p1
%patch50 -p0
# At least python2_version needs to be a macro so that it's visible in
# %%install as well.
@ -720,7 +696,7 @@ echo ============================= build serial ==================
./b2 -d+2 -q %{?_smp_mflags} \
--without-mpi --without-graph_parallel --build-dir=serial \
%if !%{with context}
--without-context \
--without-context --without-coroutine \
%endif
variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} stage
@ -769,7 +745,6 @@ echo ============================= build Boost.Build ==================
%install
rm -rf $RPM_BUILD_ROOT
cd %{_builddir}/%{toplev_dirname}
%if %{with openmpi} || %{with mpich}
@ -780,6 +755,8 @@ module purge ||:
%if %{with openmpi}
%{_openmpi_load}
# XXX We want to extract this from RPM flags
# b2 instruction-set=i686 etc.
echo ============================= install $MPI_COMPILER ==================
./b2 -q %{?_smp_mflags} \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
@ -814,7 +791,7 @@ echo ============================= install serial ==================
./b2 -d+2 -q %{?_smp_mflags} \
--without-mpi --without-graph_parallel --build-dir=serial \
%if !%{with context}
--without-context \
--without-context --without-coroutine \
%endif
--prefix=$RPM_BUILD_ROOT%{_prefix} \
--libdir=$RPM_BUILD_ROOT%{_libdir} \
@ -827,15 +804,6 @@ echo ============================= install serial ==================
rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so
install -p -m 644 $(basename %{SOURCE2}) $RPM_BUILD_ROOT%{_libdir}/
# Add symlinks libboost_{thread,locale,atomic}.so -> *-mt.so
# https://bugzilla.redhat.com/show_bug.cgi?id=971956
ln -s libboost_thread-mt.so $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so
ln -s libboost_locale-mt.so $RPM_BUILD_ROOT%{_libdir}/libboost_locale.so
ln -s libboost_atomic-mt.so $RPM_BUILD_ROOT%{_libdir}/libboost_atomic.so
# Check that we didn't forget about anything.
find $RPM_BUILD_ROOT%{_libdir} -maxdepth 1 -name libboost_\*-mt.so \
| while read a; do test -e ${a/-mt/} || exit 1; done
echo ============================= install Boost.Build ==================
(cd tools/build/v2
./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install
@ -1249,6 +1217,25 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/bjam.1*
%changelog
* Thu Jul 18 2013 Petr Machata <pmachata@redhat.com> - 1.54.0-1
- Rebase to 1.54.0
- Boost.Coroutine is only enabled if Boost.Context is
- Drop boost-1.53-context.patch (interesting parts now upstream)
- Drop boost-1.50.0-foreach.patch (#define foreach now discouraged)
- Drop several unused typedef patches that are now upstream.
(boost-1.53.0-static_assert-unused_typedef.patch,
boost-1.53.0-fpclassify-unused_typedef.patch,
boost-1.53.0-math-unused_typedef-3.patch,
boost-1.53.0-lexical_cast-unused_typedef.patch,
boost-1.53.0-regex-unused_typedef.patch,
boost-1.53.0-thread-unused_typedef.patch)
- Add release notes patches (001-coroutine.patch,
002-date-time.patch, 003-log.patch)
- Add additional unused typedefs in Boost.Math
(boost-1.54.0-math-unused_typedef-2.patch)
- Drop symlinks from libboost_{thread,locale,atomic}.so -> *-mt.so,
which we don't need anymore, as we ditched the tagged layout.
* Fri Jul 26 2013 Petr Machata <pmachata@redhat.com> - 1.53.0-12
- There's no physical difference between single-threaded and
multi-threaded builds, except some libraries are only built in

View File

@ -1 +1 @@
a00d22605d5dbcfb4c9936a9b35bc4c2 boost_1_53_0.tar.bz2
15cb8c0803064faef0c4ddf5bc5ca279 boost_1_54_0.tar.bz2