Compare commits

...

3 Commits

Author SHA1 Message Date
Petr Machata 1adfb43a85 Rebase to 1.54.0 2013-07-27 00:45:06 +02:00
Petr Machata 35ae80fa25 Remove BR:chrpath, that's not necessary anymore
- we used to call chrpath explicitly, and we don't anymore
2013-07-03 16:42:06 +02:00
Petr Machata 7a2b4d58fa Build everything MT-only; ditch tagged layout 2013-06-27 17:36:23 +02:00
32 changed files with 1288 additions and 151 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

@ -0,0 +1,43 @@
diff -urp boost_1_54_0-orig/boost/algorithm/string/detail/finder.hpp boost_1_54_0/boost/algorithm/string/detail/finder.hpp
--- boost_1_54_0-orig/boost/algorithm/string/detail/finder.hpp 2013-07-23 00:47:43.933889672 +0200
+++ boost_1_54_0/boost/algorithm/string/detail/finder.hpp 2013-07-23 00:50:40.324958667 +0200
@@ -142,7 +142,6 @@ namespace boost {
ForwardIteratorT End,
std::forward_iterator_tag ) const
{
- typedef ForwardIteratorT input_iterator_type;
typedef iterator_range<ForwardIteratorT> result_type;
first_finder_type first_finder(
@@ -263,7 +262,6 @@ namespace boost {
ForwardIteratorT End,
unsigned int N) const
{
- typedef ForwardIteratorT input_iterator_type;
typedef iterator_range<ForwardIteratorT> result_type;
// Sanity check
@@ -298,7 +296,6 @@ namespace boost {
ForwardIteratorT End,
unsigned int N) const
{
- typedef ForwardIteratorT input_iterator_type;
typedef iterator_range<ForwardIteratorT> result_type;
// Sanity check
@@ -362,7 +359,6 @@ namespace boost {
unsigned int N,
std::random_access_iterator_tag )
{
- typedef ForwardIteratorT input_iterator_type;
typedef iterator_range<ForwardIteratorT> result_type;
if ( (End<=Begin) || ( static_cast<unsigned int>(End-Begin) < N ) )
@@ -436,7 +432,6 @@ namespace boost {
unsigned int N,
std::random_access_iterator_tag )
{
- typedef ForwardIteratorT input_iterator_type;
typedef iterator_range<ForwardIteratorT> result_type;
if ( (End<=Begin) || ( static_cast<unsigned int>(End-Begin) < N ) )

View File

@ -0,0 +1,21 @@
diff -up ./boost/bind/arg.hpp~ ./boost/bind/arg.hpp
--- ./boost/bind/arg.hpp~ 2007-11-25 10:07:19.000000000 -0800
+++ ./boost/bind/arg.hpp 2013-07-18 00:41:41.667412595 -0700
@@ -21,6 +21,7 @@
#include <boost/config.hpp>
#include <boost/is_placeholder.hpp>
+#include <boost/static_assert.hpp>
namespace boost
{
@@ -33,8 +34,7 @@ template< int I > struct arg
template< class T > arg( T const & /* t */ )
{
- // static assert I == is_placeholder<T>::value
- typedef char T_must_be_placeholder[ I == is_placeholder<T>::value? 1: -1 ];
+ BOOST_STATIC_ASSERT(I == is_placeholder<T>::value);
}
};

View File

@ -0,0 +1,21 @@
diff -up ./boost/concept/detail/general.hpp~ ./boost/concept/detail/general.hpp
--- ./boost/concept/detail/general.hpp~ 2010-06-08 12:31:13.000000000 -0700
+++ ./boost/concept/detail/general.hpp 2013-07-18 06:01:05.967747186 -0700
@@ -6,6 +6,7 @@
# include <boost/preprocessor/cat.hpp>
# include <boost/concept/detail/backward_compatibility.hpp>
+# include <boost/static_assert.hpp>
# ifdef BOOST_OLD_CONCEPT_SUPPORT
# include <boost/concept/detail/has_constraints.hpp>
@@ -68,7 +69,8 @@ struct requirement_<void(*)(Model)>
# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \
typedef ::boost::concepts::detail::instantiate< \
&::boost::concepts::requirement_<ModelFnPtr>::failed> \
- BOOST_PP_CAT(boost_concept_check,__LINE__)
+ BOOST_PP_CAT(boost_concept_check,__LINE__) \
+ BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
}}

View File

@ -0,0 +1,129 @@
diff -up boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S~ 2012-12-21 02:22:09.000000000 -0800
+++ boost-1.54.0/libs/context/src/asm/jump_arm_aapcs_elf_gas.S 2013-07-15 11:11:46.772543152 -0700
@@ -71,3 +71,6 @@ jump_fcontext:
@ and as first arg in context function
ldmia a2, {v1-v8,sp-pc} @ restore v1-V8,SP-PC
.size jump_fcontext,.-jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",@progbits
diff -up boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S~ 2012-09-18 02:06:47.000000000 -0700
+++ boost-1.54.0/libs/context/src/asm/jump_i386_sysv_elf_gas.S 2013-07-15 11:10:32.829144835 -0700
@@ -70,3 +70,6 @@ jump_fcontext:
jmp *%edx /* indirect jump to context */
.size jump_fcontext,.-jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",@progbits
diff -up boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S~ 2012-11-27 23:52:08.000000000 -0800
+++ boost-1.54.0/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S 2013-07-15 11:10:57.848279687 -0700
@@ -178,3 +178,6 @@ jump_fcontext:
bctr # jump to context
.size jump_fcontext, .-jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",@progbits
diff -up boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S~ 2012-11-27 23:52:08.000000000 -0800
+++ boost-1.54.0/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S 2013-07-15 11:11:07.189330597 -0700
@@ -199,3 +199,6 @@ jump_fcontext:
bctr # jump to context
.size .jump_fcontext, .-.jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",@progbits
diff -up boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S~ 2012-09-18 02:06:47.000000000 -0700
+++ boost-1.54.0/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S 2013-07-15 11:09:49.724912924 -0700
@@ -80,3 +80,6 @@ jump_fcontext:
jmp *%rcx /* indirect jump to context */
.size jump_fcontext,.-jump_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_arm_aapcs_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_arm_aapcs_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/make_arm_aapcs_elf_gas.S~ 2013-01-15 01:51:39.000000000 -0800
+++ boost-1.54.0/libs/context/src/asm/make_arm_aapcs_elf_gas.S 2013-07-15 11:11:38.626499289 -0700
@@ -74,3 +74,6 @@ finish:
mov a1, #0 @ exit code is zero
bl _exit@PLT @ exit application
.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_i386_sysv_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_i386_sysv_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/make_i386_sysv_elf_gas.S~ 2013-06-07 08:38:10.000000000 -0700
+++ boost-1.54.0/libs/context/src/asm/make_i386_sysv_elf_gas.S 2013-07-15 11:10:40.333185226 -0700
@@ -75,3 +75,6 @@ finish:
call _exit@PLT /* exit application */
hlt
.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_mips32_o32_elf_gas.S~ boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S
--- boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S~ 2012-11-27 23:52:08.000000000 -0800
+++ boost-1.54.0/libs/context/src/asm/make_mips32_o32_elf_gas.S 2013-07-15 11:12:34.392799546 -0700
@@ -83,3 +83,6 @@ finish:
jalr $t9 # exit application
.end make_fcontext
.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_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
@@ -109,3 +109,6 @@ finish:
li %r3, 0 # exit code is zero
bl _exit@plt # exit application
.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_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
@@ -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
@@ -72,3 +72,5 @@ finish:
hlt
.size make_fcontext,.-make_fcontext
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",@progbits

View File

@ -0,0 +1,13 @@
diff -up boost_1_54_0/boost/date_time/gregorian/greg_facet.hpp\~ boost_1_54_0/boost/date_time/gregorian/greg_facet.hpp
--- boost_1_54_0/boost/date_time/gregorian/greg_facet.hpp~ 2008-11-23 12:13:35.000000000 +0100
+++ boost_1_54_0/boost/date_time/gregorian/greg_facet.hpp 2013-07-22 23:44:42.834012788 +0200
@@ -215,7 +215,6 @@ namespace gregorian {
{
std::istream_iterator<std::basic_string<charT>, charT> beg(is), eos;
- typedef boost::date_time::all_date_names_put<greg_facet_config, charT> facet_def;
d = from_stream(beg, eos);
return is;
}
Diff finished. Mon Jul 22 23:44:50 2013

View File

@ -0,0 +1,100 @@
Index: boost/date_time/date_parsing.hpp
===================================================================
--- boost/date_time/date_parsing.hpp (revision 85073)
+++ boost/date_time/date_parsing.hpp (working copy)
@@ -113,7 +113,6 @@
spec_str = "mdy";
}
- typedef typename date_type::year_type year_type;
typedef typename date_type::month_type month_type;
unsigned pos = 0;
unsigned short year(0), month(0), day(0);
@@ -160,7 +159,6 @@
parse_undelimited_date(const std::string& s) {
int offsets[] = {4,2,2};
int pos = 0;
- typedef typename date_type::year_type year_type;
//typename date_type::ymd_type ymd((year_type::min)(),1,1);
unsigned short y = 0, m = 0, d = 0;
Index: boost/date_time/local_time/local_time_io.hpp
===================================================================
--- boost/date_time/local_time/local_time_io.hpp (revision 85073)
+++ boost/date_time/local_time/local_time_io.hpp (working copy)
@@ -36,7 +36,6 @@
boost::io::ios_flags_saver iflags(os);
typedef local_date_time time_type;//::utc_time_type typename
typedef date_time::time_facet<time_type, CharT> custom_time_facet;
- typedef std::time_put<CharT> std_time_facet;
std::ostreambuf_iterator<CharT> oitr(os);
if(std::has_facet<custom_time_facet>(os.getloc())) {
@@ -123,7 +122,6 @@
const boost::local_time::local_time_period& p) {
boost::io::ios_flags_saver iflags(os);
typedef boost::date_time::time_facet<local_date_time, CharT> custom_facet;
- typedef std::time_put<CharT> std_time_facet;
std::ostreambuf_iterator<CharT> oitr(os);
if (std::has_facet<custom_facet>(os.getloc())) {
std::use_facet<custom_facet>(os.getloc()).put(oitr, os, os.fill(), p);
Index: boost/date_time/posix_time/posix_time_io.hpp
===================================================================
--- boost/date_time/posix_time/posix_time_io.hpp (revision 85073)
+++ boost/date_time/posix_time/posix_time_io.hpp (working copy)
@@ -47,7 +47,6 @@
const ptime& p) {
boost::io::ios_flags_saver iflags(os);
typedef boost::date_time::time_facet<ptime, CharT> custom_ptime_facet;
- typedef std::time_put<CharT> std_ptime_facet;
std::ostreambuf_iterator<CharT> oitr(os);
if (std::has_facet<custom_ptime_facet>(os.getloc()))
std::use_facet<custom_ptime_facet>(os.getloc()).put(oitr, os, os.fill(), p);
@@ -114,7 +113,6 @@
const boost::posix_time::time_period& p) {
boost::io::ios_flags_saver iflags(os);
typedef boost::date_time::time_facet<ptime, CharT> custom_ptime_facet;
- typedef std::time_put<CharT> std_time_facet;
std::ostreambuf_iterator<CharT> oitr(os);
if (std::has_facet<custom_ptime_facet>(os.getloc())) {
std::use_facet<custom_ptime_facet>(os.getloc()).put(oitr, os, os.fill(), p);
@@ -180,7 +178,6 @@
{
boost::io::ios_flags_saver iflags(os);
typedef boost::date_time::time_facet<ptime, CharT> custom_ptime_facet;
- typedef std::time_put<CharT> std_ptime_facet;
std::ostreambuf_iterator<CharT> oitr(os);
if (std::has_facet<custom_ptime_facet>(os.getloc()))
std::use_facet<custom_ptime_facet>(os.getloc()).put(oitr, os, os.fill(), td);
Index: boost/date_time/string_convert.hpp
===================================================================
--- boost/date_time/string_convert.hpp (revision 85073)
+++ boost/date_time/string_convert.hpp (working copy)
@@ -21,7 +21,6 @@
inline
std::basic_string<OutputT> convert_string_type(const std::basic_string<InputT>& inp_str)
{
- typedef std::basic_string<InputT> input_type;
typedef std::basic_string<OutputT> output_type;
output_type result;
result.insert(result.begin(), inp_str.begin(), inp_str.end());
Index: boost/date_time/strings_from_facet.hpp
===================================================================
--- boost/date_time/strings_from_facet.hpp (revision 85073)
+++ boost/date_time/strings_from_facet.hpp (working copy)
@@ -35,7 +35,6 @@
{
typedef std::basic_string<charT> string_type;
typedef std::vector<string_type> collection_type;
- typedef std::basic_ostringstream<charT> ostream_type;
typedef std::ostreambuf_iterator<charT> ostream_iter_type;
typedef std::basic_ostringstream<charT> stringstream_type;
typedef std::time_put<charT> time_put_facet_type;
@@ -86,7 +85,6 @@
{
typedef std::basic_string<charT> string_type;
typedef std::vector<string_type> collection_type;
- typedef std::basic_ostringstream<charT> ostream_type;
typedef std::ostreambuf_iterator<charT> ostream_iter_type;
typedef std::basic_ostringstream<charT> stringstream_type;
typedef std::time_put<charT> time_put_facet_type;

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

@ -0,0 +1,11 @@
diff -urp boost_1_54_0-orig/boost/locale/boundary/segment.hpp boost_1_54_0/boost/locale/boundary/segment.hpp
--- boost_1_54_0-orig/boost/locale/boundary/segment.hpp 2013-07-23 00:47:27.020787174 +0200
+++ boost_1_54_0/boost/locale/boundary/segment.hpp 2013-07-23 00:50:40.382959016 +0200
@@ -27,7 +27,6 @@ namespace boundary {
int compare_text(LeftIterator l_begin,LeftIterator l_end,RightIterator r_begin,RightIterator r_end)
{
typedef LeftIterator left_iterator;
- typedef RightIterator right_iterator;
typedef typename std::iterator_traits<left_iterator>::value_type char_type;
typedef std::char_traits<char_type> traits;
while(l_begin!=l_end && r_begin!=r_end) {

View File

@ -0,0 +1,52 @@
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)
+++ boost/math/special_functions/beta.hpp (working copy)
@@ -1331,7 +1331,6 @@
BOOST_FPU_EXCEPTION_GUARD
typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
typedef typename policies::normalise<
Policy,
policies::promote_float<false>,
@@ -1349,7 +1348,6 @@
BOOST_FPU_EXCEPTION_GUARD
typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
typedef typename policies::normalise<
Policy,
policies::promote_float<false>,

View File

@ -0,0 +1,15 @@
diff -up boost_1_54_0/boost/math/distributions/inverse_gaussian.hpp~ boost_1_54_0/boost/math/distributions/inverse_gaussian.hpp
--- boost_1_54_0/boost/math/distributions/inverse_gaussian.hpp~ 2012-09-07 01:43:19.000000000 -0700
+++ boost_1_54_0/boost/math/distributions/inverse_gaussian.hpp 2013-07-22 03:42:15.216142075 -0700
@@ -285,10 +285,8 @@ namespace detail
// Define the distribution, using gamma_nooverflow:
typedef gamma_distribution<RealType, no_overthrow_policy> gamma_nooverflow;
+ gamma_nooverflow g(static_cast<RealType>(0.5), static_cast<RealType>(1.));
- gamma_distribution<RealType, no_overthrow_policy> g(static_cast<RealType>(0.5), static_cast<RealType>(1.));
-
- // gamma_nooverflow g(static_cast<RealType>(0.5), static_cast<RealType>(1.));
// R qgamma(0.2, 0.5, 1) 0.0320923
RealType qg = quantile(complement(g, p));
//RealType qg1 = qgamma(1.- p, 0.5, 1.0, true, false);

View File

@ -0,0 +1,11 @@
diff -urp boost_1_54_0-orig/libs/mpi/src/communicator.cpp boost_1_54_0/libs/mpi/src/communicator.cpp
--- boost_1_54_0-orig/libs/mpi/src/communicator.cpp 2013-07-23 00:48:17.317091987 +0200
+++ boost_1_54_0/libs/mpi/src/communicator.cpp 2013-07-23 00:50:40.722961078 +0200
@@ -118,7 +118,6 @@ optional<status> communicator::iprobe(in
status communicator::probe(int source, int tag) const
{
- typedef optional<status> result_type;
status stat;
BOOST_MPI_CHECK_RESULT(MPI_Probe,

View File

@ -0,0 +1,37 @@
Index: boost/mpl/print.hpp
===================================================================
--- boost/mpl/print.hpp (revision 83411)
+++ boost/mpl/print.hpp (working copy)
@@ -45,22 +45,21 @@
: mpl::identity<T>
#if defined(__MWERKS__)
, aux::print_base
-#endif
+#endif
{
#if defined(BOOST_MSVC)
enum { n = sizeof(T) + -1 };
#elif defined(__MWERKS__)
void f(int);
-#else
- enum {
- n =
-# if defined(__EDG_VERSION__)
- aux::dependent_unsigned<T>::value > -1
-# else
- sizeof(T) > -1
-# endif
- };
-#endif
+#elif defined(__EDG_VERSION__)
+ enum { n = aux::dependent_unsigned<T>::value > -1 };
+#elif defined(BOOST_GCC)
+ enum { n1 };
+ enum { n2 };
+ enum { n = n1 != n2 };
+#else
+ enum { n = sizeof(T) > -1 };
+#endif
};
#if defined(BOOST_MSVC)

View File

@ -0,0 +1,148 @@
diff -up boost_1_54_0/boost/multiprecision/detail/functions/constants.hpp~ boost_1_54_0/boost/multiprecision/detail/functions/constants.hpp
--- boost_1_54_0/boost/multiprecision/detail/functions/constants.hpp~ 2012-09-20 09:04:02.000000000 -0700
+++ boost_1_54_0/boost/multiprecision/detail/functions/constants.hpp 2013-07-22 03:31:01.145084522 -0700
@@ -81,7 +81,6 @@ template <class T>
void calc_e(T& result, unsigned digits)
{
typedef typename mpl::front<typename T::unsigned_types>::type ui_type;
- typedef typename mpl::front<typename T::float_types>::type real_type;
//
// 1100 digits in string form:
//
diff -up boost_1_54_0/boost/multiprecision/detail/functions/pow.hpp~ boost_1_54_0/boost/multiprecision/detail/functions/pow.hpp
--- boost_1_54_0/boost/multiprecision/detail/functions/pow.hpp~ 2013-03-31 09:34:50.000000000 -0700
+++ boost_1_54_0/boost/multiprecision/detail/functions/pow.hpp 2013-07-22 03:43:12.495489757 -0700
@@ -142,10 +142,6 @@ void hyp1F0(T& H1F0, const T& a, const T
// There are no checks on input range or parameter boundaries.
typedef typename boost::multiprecision::detail::canonical<int, T>::type si_type;
- typedef typename boost::multiprecision::detail::canonical<unsigned, T>::type ui_type;
- typedef typename T::exponent_type exp_type;
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
- typedef typename mpl::front<typename T::float_types>::type fp_type;
BOOST_ASSERT(&H1F0 != &x);
BOOST_ASSERT(&H1F0 != &a);
@@ -200,7 +196,6 @@ void eval_exp(T& result, const T& x)
typedef typename boost::multiprecision::detail::canonical<int, T>::type si_type;
typedef typename T::exponent_type exp_type;
typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
- typedef typename boost::multiprecision::detail::canonical<float, T>::type float_type;
// Handle special arguments.
int type = eval_fpclassify(x);
@@ -326,7 +321,6 @@ void eval_log(T& result, const T& arg)
// then let y = x - 1 and compute:
// log(x) = log(2) * n + log1p(1 + y)
//
- typedef typename boost::multiprecision::detail::canonical<int, T>::type si_type;
typedef typename boost::multiprecision::detail::canonical<unsigned, T>::type ui_type;
typedef typename T::exponent_type exp_type;
typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
@@ -409,9 +403,6 @@ inline void eval_pow(T& result, const T&
{
BOOST_STATIC_ASSERT_MSG(number_category<T>::value == number_kind_floating_point, "The pow function is only valid for floating point types.");
typedef typename boost::multiprecision::detail::canonical<int, T>::type si_type;
- typedef typename boost::multiprecision::detail::canonical<unsigned, T>::type ui_type;
- typedef typename T::exponent_type exp_type;
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
typedef typename mpl::front<typename T::float_types>::type fp_type;
if((&result == &x) || (&result == &a))
@@ -595,10 +586,7 @@ namespace detail{
template <class T>
void sinhcosh(const T& x, T* p_sinh, T* p_cosh)
{
- typedef typename boost::multiprecision::detail::canonical<int, T>::type si_type;
typedef typename boost::multiprecision::detail::canonical<unsigned, T>::type ui_type;
- typedef typename T::exponent_type exp_type;
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
typedef typename mpl::front<typename T::float_types>::type fp_type;
switch(eval_fpclassify(x))
diff -up boost_1_54_0/boost/multiprecision/detail/functions/trig.hpp~ boost_1_54_0/boost/multiprecision/detail/functions/trig.hpp
--- boost_1_54_0/boost/multiprecision/detail/functions/trig.hpp~ 2013-03-31 09:34:50.000000000 -0700
+++ boost_1_54_0/boost/multiprecision/detail/functions/trig.hpp 2013-07-22 03:44:30.512963273 -0700
@@ -17,9 +17,6 @@ void hyp0F1(T& result, const T& b, const
{
typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
- typedef typename T::exponent_type exp_type;
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
- typedef typename mpl::front<typename T::float_types>::type fp_type;
// Compute the series representation of Hypergeometric0F1 taken from
// http://functions.wolfram.com/HypergeometricFunctions/Hypergeometric0F1/06/01/01/
@@ -82,8 +79,6 @@ void eval_sin(T& result, const T& x)
typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
- typedef typename T::exponent_type exp_type;
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
typedef typename mpl::front<typename T::float_types>::type fp_type;
switch(eval_fpclassify(x))
@@ -228,8 +223,6 @@ void eval_cos(T& result, const T& x)
typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
- typedef typename T::exponent_type exp_type;
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
typedef typename mpl::front<typename T::float_types>::type fp_type;
switch(eval_fpclassify(x))
@@ -381,11 +374,7 @@ void hyp2F1(T& result, const T& a, const
// Abramowitz and Stegun 15.1.1.
// There are no checks on input range or parameter boundaries.
- typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
- typedef typename T::exponent_type exp_type;
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
- typedef typename mpl::front<typename T::float_types>::type fp_type;
T x_pow_n_div_n_fact(x);
T pochham_a (a);
@@ -443,10 +432,7 @@ template <class T>
void eval_asin(T& result, const T& x)
{
BOOST_STATIC_ASSERT_MSG(number_category<T>::value == number_kind_floating_point, "The asin function is only valid for floating point types.");
- typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
- typedef typename T::exponent_type exp_type;
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
typedef typename mpl::front<typename T::float_types>::type fp_type;
if(&result == &x)
@@ -597,8 +583,6 @@ void eval_atan(T& result, const T& x)
BOOST_STATIC_ASSERT_MSG(number_category<T>::value == number_kind_floating_point, "The atan function is only valid for floating point types.");
typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
- typedef typename T::exponent_type exp_type;
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
typedef typename mpl::front<typename T::float_types>::type fp_type;
switch(eval_fpclassify(x))
@@ -699,11 +683,7 @@ void eval_atan2(T& result, const T& y, c
return;
}
- typedef typename boost::multiprecision::detail::canonical<boost::int32_t, T>::type si_type;
typedef typename boost::multiprecision::detail::canonical<boost::uint32_t, T>::type ui_type;
- typedef typename T::exponent_type exp_type;
- typedef typename boost::multiprecision::detail::canonical<exp_type, T>::type canonical_exp_type;
- typedef typename mpl::front<typename T::float_types>::type fp_type;
switch(eval_fpclassify(y))
{
diff -up boost_1_54_0/boost/multiprecision/detail/generic_interconvert.hpp~ boost_1_54_0/boost/multiprecision/detail/generic_interconvert.hpp
--- boost_1_54_0/boost/multiprecision/detail/generic_interconvert.hpp~ 2012-12-20 09:42:14.000000000 -0800
+++ boost_1_54_0/boost/multiprecision/detail/generic_interconvert.hpp 2013-07-22 03:38:51.614906286 -0700
@@ -191,7 +191,6 @@ void generic_interconvert(To& to, const
template <class To, class From>
void generic_interconvert(To& to, const From& from, const mpl::int_<number_kind_rational>& /*to_type*/, const mpl::int_<number_kind_rational>& /*from_type*/)
{
- typedef typename component_type<number<From> >::type from_component_type;
typedef typename component_type<number<To> >::type to_component_type;
number<From> t(from);

View File

@ -0,0 +1,250 @@
diff -up boost_1_54_0/boost/numeric/ublas/detail/matrix_assign.hpp~ boost_1_54_0/boost/numeric/ublas/detail/matrix_assign.hpp
--- boost_1_54_0/boost/numeric/ublas/detail/matrix_assign.hpp~ 2010-10-19 00:01:35.000000000 -0700
+++ boost_1_54_0/boost/numeric/ublas/detail/matrix_assign.hpp 2013-07-22 04:33:26.399038120 -0700
@@ -1303,7 +1303,6 @@ namespace detail {
void matrix_swap (M &m, matrix_expression<E> &e, packed_proxy_tag, row_major_tag) {
typedef F<typename M::iterator2::reference, typename E::reference> functor_type;
// R unnecessary, make_conformant not required
- typedef typename M::size_type size_type;
typedef typename M::difference_type difference_type;
typename M::iterator1 it1 (m.begin1 ());
typename E::iterator1 it1e (e ().begin1 ());
@@ -1329,7 +1328,6 @@ namespace detail {
void matrix_swap (M &m, matrix_expression<E> &e, packed_proxy_tag, column_major_tag) {
typedef F<typename M::iterator1::reference, typename E::reference> functor_type;
// R unnecessary, make_conformant not required
- typedef typename M::size_type size_type;
typedef typename M::difference_type difference_type;
typename M::iterator2 it2 (m.begin2 ());
typename E::iterator2 it2e (e ().begin2 ());
@@ -1357,7 +1355,6 @@ namespace detail {
typedef R conformant_restrict_type;
typedef typename M::size_type size_type;
typedef typename M::difference_type difference_type;
- typedef typename M::value_type value_type;
BOOST_UBLAS_CHECK (m.size1 () == e ().size1 (), bad_size ());
BOOST_UBLAS_CHECK (m.size2 () == e ().size2 (), bad_size ());
@@ -1482,7 +1479,6 @@ namespace detail {
typedef R conformant_restrict_type;
typedef typename M::size_type size_type;
typedef typename M::difference_type difference_type;
- typedef typename M::value_type value_type;
BOOST_UBLAS_CHECK (m.size1 () == e ().size1 (), bad_size ());
BOOST_UBLAS_CHECK (m.size2 () == e ().size2 (), bad_size ());
diff -up boost_1_54_0/boost/numeric/ublas/detail/vector_assign.hpp~ boost_1_54_0/boost/numeric/ublas/detail/vector_assign.hpp
--- boost_1_54_0/boost/numeric/ublas/detail/vector_assign.hpp~ 2007-11-25 10:07:19.000000000 -0800
+++ boost_1_54_0/boost/numeric/ublas/detail/vector_assign.hpp 2013-07-22 04:32:21.774650296 -0700
@@ -379,7 +379,6 @@ namespace detail {
typedef typename V::size_type size_type;
typedef typename V::difference_type difference_type;
typedef typename V::value_type value_type;
- typedef typename V::reference reference;
#if BOOST_UBLAS_TYPE_CHECK
vector<value_type> cv (v.size ());
indexing_vector_assign<scalar_assign> (cv, v);
@@ -513,7 +512,6 @@ namespace detail {
typedef F<typename V::iterator::reference, typename E::iterator::reference> functor_type;
typedef typename V::size_type size_type;
typedef typename V::difference_type difference_type;
- typedef typename V::value_type value_type;
detail::make_conformant (v, e);
// FIXME should be a seperate restriction for E
diff -up boost_1_54_0/boost/numeric/ublas/lu.hpp~ boost_1_54_0/boost/numeric/ublas/lu.hpp
--- boost_1_54_0/boost/numeric/ublas/lu.hpp~ 2010-07-04 23:06:24.000000000 -0700
+++ boost_1_54_0/boost/numeric/ublas/lu.hpp 2013-07-22 04:40:06.634440205 -0700
@@ -63,7 +63,6 @@ namespace boost { namespace numeric { na
BOOST_UBLAS_INLINE
void swap_rows (const PM &pm, MV &mv, vector_tag) {
typedef typename PM::size_type size_type;
- typedef typename MV::value_type value_type;
size_type size = pm.size ();
for (size_type i = 0; i < size; ++ i) {
@@ -75,7 +74,6 @@ namespace boost { namespace numeric { na
BOOST_UBLAS_INLINE
void swap_rows (const PM &pm, MV &mv, matrix_tag) {
typedef typename PM::size_type size_type;
- typedef typename MV::value_type value_type;
size_type size = pm.size ();
for (size_type i = 0; i < size; ++ i) {
diff -up boost_1_54_0/boost/numeric/ublas/operation.hpp~ boost_1_54_0/boost/numeric/ublas/operation.hpp
--- boost_1_54_0/boost/numeric/ublas/operation.hpp~ 2007-11-25 10:07:19.000000000 -0800
+++ boost_1_54_0/boost/numeric/ublas/operation.hpp 2013-07-22 04:42:19.436046788 -0700
@@ -129,7 +129,6 @@ namespace boost { namespace numeric { na
const vector_expression<E2> &e2,
V &v, packed_random_access_iterator_tag, row_major_tag) {
typedef const E1 expression1_type;
- typedef const E2 expression2_type;
typedef typename V::size_type size_type;
typename expression1_type::const_iterator1 it1 (e1 ().begin1 ());
@@ -159,7 +158,6 @@ namespace boost { namespace numeric { na
const vector_expression<E2> &e2,
V &v, packed_random_access_iterator_tag, column_major_tag) {
typedef const E1 expression1_type;
- typedef const E2 expression2_type;
typedef typename V::size_type size_type;
typename expression1_type::const_iterator2 it2 (e1 ().begin2 ());
@@ -188,9 +186,7 @@ namespace boost { namespace numeric { na
axpy_prod (const matrix_expression<E1> &e1,
const vector_expression<E2> &e2,
V &v, sparse_bidirectional_iterator_tag) {
- typedef const E1 expression1_type;
typedef const E2 expression2_type;
- typedef typename V::size_type size_type;
typename expression2_type::const_iterator it (e2 ().begin ());
typename expression2_type::const_iterator it_end (e2 ().end ());
@@ -350,7 +346,6 @@ namespace boost { namespace numeric { na
axpy_prod (const vector_expression<E1> &e1,
const matrix_expression<E2> &e2,
V &v, packed_random_access_iterator_tag, column_major_tag) {
- typedef const E1 expression1_type;
typedef const E2 expression2_type;
typedef typename V::size_type size_type;
@@ -380,7 +375,6 @@ namespace boost { namespace numeric { na
axpy_prod (const vector_expression<E1> &e1,
const matrix_expression<E2> &e2,
V &v, packed_random_access_iterator_tag, row_major_tag) {
- typedef const E1 expression1_type;
typedef const E2 expression2_type;
typedef typename V::size_type size_type;
@@ -411,8 +405,6 @@ namespace boost { namespace numeric { na
const matrix_expression<E2> &e2,
V &v, sparse_bidirectional_iterator_tag) {
typedef const E1 expression1_type;
- typedef const E2 expression2_type;
- typedef typename V::size_type size_type;
typename expression1_type::const_iterator it (e1 ().begin ());
typename expression1_type::const_iterator it_end (e1 ().end ());
@@ -501,9 +493,6 @@ namespace boost { namespace numeric { na
const matrix_expression<E2> &e2,
M &m, TRI,
dense_proxy_tag, row_major_tag) {
- typedef M matrix_type;
- typedef const E1 expression1_type;
- typedef const E2 expression2_type;
typedef typename M::size_type size_type;
typedef typename M::value_type value_type;
@@ -530,11 +519,9 @@ namespace boost { namespace numeric { na
const matrix_expression<E2> &e2,
M &m, TRI,
sparse_proxy_tag, row_major_tag) {
- typedef M matrix_type;
typedef TRI triangular_restriction;
typedef const E1 expression1_type;
typedef const E2 expression2_type;
- typedef typename M::size_type size_type;
typedef typename M::value_type value_type;
#if BOOST_UBLAS_TYPE_CHECK
@@ -580,9 +567,6 @@ namespace boost { namespace numeric { na
const matrix_expression<E2> &e2,
M &m, TRI,
dense_proxy_tag, column_major_tag) {
- typedef M matrix_type;
- typedef const E1 expression1_type;
- typedef const E2 expression2_type;
typedef typename M::size_type size_type;
typedef typename M::value_type value_type;
@@ -609,11 +593,9 @@ namespace boost { namespace numeric { na
const matrix_expression<E2> &e2,
M &m, TRI,
sparse_proxy_tag, column_major_tag) {
- typedef M matrix_type;
typedef TRI triangular_restriction;
typedef const E1 expression1_type;
typedef const E2 expression2_type;
- typedef typename M::size_type size_type;
typedef typename M::value_type value_type;
#if BOOST_UBLAS_TYPE_CHECK
@@ -738,9 +720,6 @@ namespace boost { namespace numeric { na
const matrix_expression<E2> &e2,
M &m,
dense_proxy_tag, row_major_tag) {
- typedef M matrix_type;
- typedef const E1 expression1_type;
- typedef const E2 expression2_type;
typedef typename M::size_type size_type;
typedef typename M::value_type value_type;
@@ -769,9 +748,6 @@ namespace boost { namespace numeric { na
const matrix_expression<E2> &e2,
M &m,
dense_proxy_tag, column_major_tag) {
- typedef M matrix_type;
- typedef const E1 expression1_type;
- typedef const E2 expression2_type;
typedef typename M::size_type size_type;
typedef typename M::value_type value_type;
diff -up boost_1_54_0/boost/numeric/ublas/triangular.hpp~ boost_1_54_0/boost/numeric/ublas/triangular.hpp
--- boost_1_54_0/boost/numeric/ublas/triangular.hpp~ 2012-09-18 14:07:07.000000000 -0700
+++ boost_1_54_0/boost/numeric/ublas/triangular.hpp 2013-07-22 04:39:31.667230329 -0700
@@ -1859,7 +1859,6 @@ namespace boost { namespace numeric { na
void inplace_solve (const matrix_expression<E1> &e1, vector_expression<E2> &e2,
lower_tag, column_major_tag, dense_proxy_tag) {
typedef typename E2::size_type size_type;
- typedef typename E2::difference_type difference_type;
typedef typename E2::value_type value_type;
BOOST_UBLAS_CHECK (e1 ().size1 () == e1 ().size2 (), bad_size ());
@@ -1914,7 +1913,6 @@ namespace boost { namespace numeric { na
void inplace_solve (const matrix_expression<E1> &e1, vector_expression<E2> &e2,
lower_tag, column_major_tag, unknown_storage_tag) {
typedef typename E2::size_type size_type;
- typedef typename E2::difference_type difference_type;
typedef typename E2::value_type value_type;
BOOST_UBLAS_CHECK (e1 ().size1 () == e1 ().size2 (), bad_size ());
@@ -1943,7 +1941,6 @@ namespace boost { namespace numeric { na
void inplace_solve (const matrix_expression<E1> &e1, vector_expression<E2> &e2,
lower_tag, row_major_tag, dense_proxy_tag) {
typedef typename E2::size_type size_type;
- typedef typename E2::difference_type difference_type;
typedef typename E2::value_type value_type;
BOOST_UBLAS_CHECK (e1 ().size1 () == e1 ().size2 (), bad_size ());
@@ -1969,7 +1966,6 @@ namespace boost { namespace numeric { na
void inplace_solve (const matrix_expression<E1> &e1, vector_expression<E2> &e2,
lower_tag, row_major_tag, packed_proxy_tag) {
typedef typename E2::size_type size_type;
- typedef typename E2::difference_type difference_type;
typedef typename E2::value_type value_type;
BOOST_UBLAS_CHECK (e1 ().size1 () == e1 ().size2 (), bad_size ());
@@ -1998,7 +1994,6 @@ namespace boost { namespace numeric { na
void inplace_solve (const matrix_expression<E1> &e1, vector_expression<E2> &e2,
lower_tag, row_major_tag, unknown_storage_tag) {
typedef typename E2::size_type size_type;
- typedef typename E2::difference_type difference_type;
typedef typename E2::value_type value_type;
BOOST_UBLAS_CHECK (e1 ().size1 () == e1 ().size2 (), bad_size ());
@@ -2374,7 +2369,6 @@ namespace boost { namespace numeric { na
void inplace_solve (const matrix_expression<E1> &e1, matrix_expression<E2> &e2,
lower_tag, dense_proxy_tag) {
typedef typename E2::size_type size_type;
- typedef typename E2::difference_type difference_type;
typedef typename E2::value_type value_type;
BOOST_UBLAS_CHECK (e1 ().size1 () == e1 ().size2 (), bad_size ());
@@ -2435,7 +2429,6 @@ namespace boost { namespace numeric { na
void inplace_solve (const matrix_expression<E1> &e1, matrix_expression<E2> &e2,
lower_tag, unknown_storage_tag) {
typedef typename E2::size_type size_type;
- typedef typename E2::difference_type difference_type;
typedef typename E2::value_type value_type;
BOOST_UBLAS_CHECK (e1 ().size1 () == e1 ().size2 (), bad_size ());

View File

@ -0,0 +1,19 @@
diff -urp boost_1_54_0-orig/boost/property_tree/detail/xml_parser_write.hpp boost_1_54_0/boost/property_tree/detail/xml_parser_write.hpp
--- boost_1_54_0-orig/boost/property_tree/detail/xml_parser_write.hpp 2013-07-23 00:47:43.731888449 +0200
+++ boost_1_54_0/boost/property_tree/detail/xml_parser_write.hpp 2013-07-23 00:50:40.597960319 +0200
@@ -35,7 +35,6 @@ namespace boost { namespace property_tre
const xml_writer_settings<Ch> & settings
)
{
- typedef typename std::basic_string<Ch> Str;
if (separate_line)
write_xml_indent(stream,indent,settings);
stream << Ch('<') << Ch('!') << Ch('-') << Ch('-');
@@ -69,7 +68,6 @@ namespace boost { namespace property_tre
{
typedef typename Ptree::key_type::value_type Ch;
- typedef typename std::basic_string<Ch> Str;
typedef typename Ptree::const_iterator It;
bool want_pretty = settings.indent_count > 0;

View File

@ -0,0 +1,15 @@
diff -up boost_1_53_0/boost/python/to_python_value.hpp\~ boost_1_53_0/boost/python/to_python_value.hpp
--- boost_1_53_0/boost/python/to_python_value.hpp~ 2007-12-16 11:12:07.000000000 +0100
+++ boost_1_53_0/boost/python/to_python_value.hpp 2013-07-23 16:19:02.518904596 +0200
@@ -147,8 +147,8 @@ namespace detail
template <class T>
inline PyObject* registry_to_python_value<T>::operator()(argument_type x) const
{
- typedef converter::registered<argument_type> r;
# if BOOST_WORKAROUND(__GNUC__, < 3)
+ typedef converter::registered<argument_type> r;
// suppresses an ICE, somehow
(void)r::converters;
# endif
Diff finished. Tue Jul 23 16:19:05 2013

View File

@ -0,0 +1,24 @@
Index: boost/random/generate_canonical.hpp
===================================================================
--- boost/random/generate_canonical.hpp (revision 85073)
+++ boost/random/generate_canonical.hpp (working copy)
@@ -54,7 +54,6 @@
using std::floor;
BOOST_ASSERT((g.min)() == 0);
BOOST_ASSERT((g.max)() == 1);
- typedef typename URNG::result_type base_result;
std::size_t digits = std::numeric_limits<RealType>::digits;
std::size_t engine_bits = detail::generator_bits<URNG>::value();
std::size_t b = (std::min)(bits, digits);
Index: boost/random/uniform_real_distribution.hpp
===================================================================
--- boost/random/uniform_real_distribution.hpp (revision 85073)
+++ boost/random/uniform_real_distribution.hpp (working copy)
@@ -36,7 +36,6 @@
{
for(;;) {
typedef T result_type;
- typedef typename Engine::result_type base_result;
result_type numerator = static_cast<T>(eng() - (eng.min)());
result_type divisor = static_cast<T>((eng.max)() - (eng.min)());
BOOST_ASSERT(divisor > 0);

View File

@ -0,0 +1,22 @@
diff -urp boost_1_54_0-orig/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp boost_1_54_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
--- boost_1_54_0-orig/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2013-07-23 00:47:37.497850668 +0200
+++ boost_1_54_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2013-07-23 00:50:40.662960713 +0200
@@ -307,7 +307,6 @@ struct grammar_definition
#if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE)
typedef impl::grammar_helper_base<GrammarT> helper_base_t;
typedef grammar_helper_list<GrammarT> helper_list_t;
- typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
helper_list_t& helpers =
# if !defined(__GNUC__) || (__GNUC__ > 2)
diff -urp boost_1_54_0-orig/boost/spirit/home/classic/tree/parse_tree.hpp boost_1_54_0/boost/spirit/home/classic/tree/parse_tree.hpp
--- boost_1_54_0-orig/boost/spirit/home/classic/tree/parse_tree.hpp 2013-07-23 00:47:37.407850122 +0200
+++ boost_1_54_0/boost/spirit/home/classic/tree/parse_tree.hpp 2013-07-23 00:50:40.674960786 +0200
@@ -76,7 +76,6 @@ struct pt_tree_policy :
template<typename MatchAT, typename MatchBT>
static void concat(MatchAT& a, MatchBT const& b)
{
- typedef typename match_t::attr_t attr_t;
BOOST_SPIRIT_ASSERT(a && b);
std::copy(b.trees.begin(), b.trees.end(),

View File

@ -0,0 +1,11 @@
diff -up boost_1_54_0/boost/spirit/home/classic/core/primitives/primitives.hpp~ boost_1_54_0/boost/spirit/home/classic/core/primitives/primitives.hpp
--- boost_1_54_0/boost/spirit/home/classic/core/primitives/primitives.hpp~ 2008-06-22 08:05:38.000000000 -0700
+++ boost_1_54_0/boost/spirit/home/classic/core/primitives/primitives.hpp 2013-07-22 06:35:38.417914083 -0700
@@ -47,7 +47,6 @@ BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
typename parser_result<self_t, ScannerT>::type
parse(ScannerT const& scan) const
{
- typedef typename parser_result<self_t, ScannerT>::type result_t;
typedef typename ScannerT::value_t value_t;
typedef typename ScannerT::iterator_t iterator_t;

View File

@ -0,0 +1,23 @@
diff -up boost_1_54_0/boost/serialization/static_warning.hpp\~ boost_1_54_0/boost/serialization/static_warning.hpp
--- boost_1_54_0/boost/serialization/static_warning.hpp~ 2013-07-15 23:36:08.224983552 +0200
+++ boost_1_54_0/boost/serialization/static_warning.hpp 2013-07-18 19:33:36.163463409 +0200
@@ -72,6 +72,7 @@
#include <boost/mpl/bool.hpp>
#include <boost/mpl/print.hpp>
#include <boost/mpl/eval_if.hpp>
+#include <boost/static_assert.hpp>
namespace boost {
namespace serialization {
@@ -101,7 +102,8 @@ struct BOOST_SERIALIZATION_SS {};
#define BOOST_SERIALIZATION_BSW(B, L) \
typedef boost::serialization::BOOST_SERIALIZATION_SS< \
sizeof( boost::serialization::static_warning_test< B, L > ) \
- > BOOST_JOIN(STATIC_WARNING_LINE, L);
+ > BOOST_JOIN(STATIC_WARNING_LINE, L) \
+ BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE;
#define BOOST_STATIC_WARNING(B) BOOST_SERIALIZATION_BSW(B, __LINE__)
Diff finished. Fri Jul 19 01:38:59 2013

View File

@ -0,0 +1,12 @@
Index: boost/tuple/detail/tuple_basic.hpp
===================================================================
--- boost/tuple/detail/tuple_basic.hpp (revision 85075)
+++ boost/tuple/detail/tuple_basic.hpp (working copy)
@@ -225,7 +225,6 @@
get(const cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
apply<cons<HT, TT> > impl;
- typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
return impl::call(c).head;
}

View File

@ -0,0 +1,14 @@
diff -up boost_1_54_0/boost/unordered/detail/unique.hpp\~ boost_1_54_0/boost/unordered/detail/unique.hpp
--- boost_1_54_0/boost/unordered/detail/unique.hpp~ 2012-12-05 23:06:57.000000000 +0100
+++ boost_1_54_0/boost/unordered/detail/unique.hpp 2013-07-22 23:54:29.222516306 +0200
@@ -334,8 +334,6 @@ namespace boost { namespace unordered {
value_type& operator[](key_type const& k)
{
- typedef typename value_type::second_type mapped_type;
-
std::size_t key_hash = this->hash(k);
iterator pos = this->find_node(key_hash, k);
Diff finished. Mon Jul 22 23:55:15 2013

View File

@ -0,0 +1,11 @@
diff -urp boost_1_54_0-orig/boost/xpressive/regex_algorithms.hpp boost_1_54_0/boost/xpressive/regex_algorithms.hpp
--- boost_1_54_0-orig/boost/xpressive/regex_algorithms.hpp 2013-07-23 00:47:50.804931313 +0200
+++ boost_1_54_0/boost/xpressive/regex_algorithms.hpp 2013-07-23 00:50:40.721961072 +0200
@@ -303,7 +303,6 @@ namespace detail
)
{
typedef core_access<BidiIter> access;
- typedef typename iterator_value<BidiIter>::type char_type;
match_results<BidiIter> &what = *state.context_.results_ptr_;
BOOST_ASSERT(0 != re.regex_id());

View File

@ -32,17 +32,18 @@
Name: boost
Summary: The free peer-reviewed portable C++ source libraries
Version: 1.53.0
%define version_enc 1_53_0
Release: 7%{?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-mt.so
Source2: libboost_thread.so
# From the version 13 of Fedora, the Boost libraries are delivered
# with sonames equal to the Boost version (e.g., 1.41.0).
@ -83,41 +84,96 @@ BuildRequires: python-devel%{?_isa}
BuildRequires: python3-devel%{?_isa}
%endif
BuildRequires: libicu-devel%{?_isa}
BuildRequires: chrpath
# 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
Patch17: boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch
Patch18: boost-1.54.0-__GLIBC_HAVE_LONG_LONG.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
# https://svn.boost.org/trac/boost/ticket/8844
Patch23: boost-1.54.0-bind-static_assert.patch
# https://svn.boost.org/trac/boost/ticket/8847
Patch24: boost-1.54.0-concept-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/5637
Patch25: boost-1.54.0-mpl-print.patch
# https://svn.boost.org/trac/boost/ticket/8859
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
# https://svn.boost.org/trac/boost/ticket/8853
Patch31: boost-1.54.0-tuple-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8854
Patch32: boost-1.54.0-random-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8856
Patch33: boost-1.54.0-date_time-unused_typedef.patch
Patch34: boost-1.54.0-date_time-unused_typedef-2.patch
# https://svn.boost.org/trac/boost/ticket/8870
Patch35: boost-1.54.0-spirit-unused_typedef.patch
Patch36: boost-1.54.0-spirit-unused_typedef-2.patch
# https://svn.boost.org/trac/boost/ticket/8871
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
# https://svn.boost.org/trac/boost/ticket/8874
Patch42: boost-1.54.0-unordered-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8876
Patch43: boost-1.54.0-algorithm-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8877
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
# https://svn.boost.org/trac/boost/ticket/8879
Patch46: boost-1.54.0-property_tree-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8880
Patch47: boost-1.54.0-xpressive-unused_typedef.patch
# https://svn.boost.org/trac/boost/ticket/8881
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
%bcond_with tests
%bcond_with docs_generated
@ -520,15 +576,37 @@ 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 -p0
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p0
%patch26 -p1
%patch27 -p1
%patch28 -p0
%patch31 -p0
%patch32 -p0
%patch33 -p0
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
%patch49 -p1
# At least python2_version needs to be a macro so that it's visible in
# %%install as well.
@ -573,12 +651,12 @@ sed 's/%%{version}/%{version}/g' %{SOURCE2} > $(basename %{SOURCE2})
# eventually done.
echo ============================= build serial ==================
./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \
./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=single,multi debug-symbols=on pch=off \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} stage
# Build MPI parts of Boost with OpenMPI support
@ -595,8 +673,7 @@ module purge ||:
%if %{with openmpi}
%{_openmpi_load}
echo ============================= build $MPI_COMPILER ==================
# This doesn't seem to allow single-threaded builds anymore.
./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \
./b2 -d+2 -q %{?_smp_mflags} \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} stage
@ -608,7 +685,7 @@ export PATH=/bin${PATH:+:}$PATH
%if %{with mpich2}
%{_mpich2_load}
echo ============================= build $MPI_COMPILER ==================
./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \
./b2 -d+2 -q %{?_smp_mflags} \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} stage
@ -626,7 +703,6 @@ echo ============================= build Boost.Build ==================
%install
rm -rf $RPM_BUILD_ROOT
cd %{_builddir}/%{toplev_dirname}
%if %{with openmpi} || %{with mpich2}
@ -637,8 +713,10 @@ 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} --layout=tagged \
./b2 -q %{?_smp_mflags} \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
variant=release threading=multi debug-symbols=on pch=off \
@ -654,7 +732,7 @@ export PATH=/bin${PATH:+:}$PATH
%if %{with mpich2}
%{_mpich2_load}
echo ============================= install $MPI_COMPILER ==================
./b2 -q %{?_smp_mflags} --layout=tagged \
./b2 -q %{?_smp_mflags} \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
variant=release threading=multi debug-symbols=on pch=off \
@ -668,20 +746,20 @@ export PATH=/bin${PATH:+:}$PATH
%endif
echo ============================= install serial ==================
./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \
./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} \
variant=release threading=single,multi debug-symbols=on pch=off \
variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} install
# Override DSO symlink with a linker script. See the linker script
# itself for details of why we need to do this.
[ -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread-mt.so ] # Must be present
rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread-mt.so
[ -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so ] # Must be present
rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so
install -p -m 644 $(basename %{SOURCE2}) $RPM_BUILD_ROOT%{_libdir}/
echo ============================= install Boost.Build ==================
@ -858,120 +936,123 @@ rm -rf $RPM_BUILD_ROOT
%files atomic
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_atomic-mt.so.%{sonamever}
%{_libdir}/libboost_atomic.so.%{sonamever}
%files chrono
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_chrono*.so.%{sonamever}
%{_libdir}/libboost_chrono.so.%{sonamever}
%if %{with context}
%files context
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_context*.so.%{sonamever}
%{_libdir}/libboost_context.so.%{sonamever}
%endif
%files date-time
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_date_time*.so.%{sonamever}
%{_libdir}/libboost_date_time.so.%{sonamever}
%files filesystem
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_filesystem*.so.%{sonamever}
%{_libdir}/libboost_filesystem.so.%{sonamever}
%files graph
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_graph.so.%{sonamever}
%{_libdir}/libboost_graph-mt.so.%{sonamever}
%files iostreams
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_iostreams*.so.%{sonamever}
%{_libdir}/libboost_iostreams.so.%{sonamever}
%files locale
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_locale*.so.%{sonamever}
%{_libdir}/libboost_locale.so.%{sonamever}
%files math
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math*.so.%{sonamever}
%{_libdir}/libboost_math_c99.so.%{sonamever}
%{_libdir}/libboost_math_c99f.so.%{sonamever}
%{_libdir}/libboost_math_c99l.so.%{sonamever}
%{_libdir}/libboost_math_tr1.so.%{sonamever}
%{_libdir}/libboost_math_tr1f.so.%{sonamever}
%{_libdir}/libboost_math_tr1l.so.%{sonamever}
%files test
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_prg_exec_monitor*.so.%{sonamever}
%{_libdir}/libboost_unit_test_framework*.so.%{sonamever}
%{_libdir}/libboost_prg_exec_monitor.so.%{sonamever}
%{_libdir}/libboost_unit_test_framework.so.%{sonamever}
%files program-options
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_program_options*.so.%{sonamever}
%{_libdir}/libboost_program_options.so.%{sonamever}
%files python
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_python.so.%{sonamever}
%{_libdir}/libboost_python-mt.so.%{sonamever}
%if %{with python3}
%files python3
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_python3*.so.%{sonamever}
%{_libdir}/libboost_python3.so.%{sonamever}
%files python3-devel
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_python3*.so
%{_libdir}/libboost_python3.so
%endif
%files random
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_random*.so.%{sonamever}
%{_libdir}/libboost_random.so.%{sonamever}
%files regex
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_regex*.so.%{sonamever}
%{_libdir}/libboost_regex.so.%{sonamever}
%files serialization
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_serialization*.so.%{sonamever}
%{_libdir}/libboost_wserialization*.so.%{sonamever}
%{_libdir}/libboost_serialization.so.%{sonamever}
%{_libdir}/libboost_wserialization.so.%{sonamever}
%files signals
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_signals*.so.%{sonamever}
%{_libdir}/libboost_signals.so.%{sonamever}
%files system
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_system*.so.%{sonamever}
%{_libdir}/libboost_system.so.%{sonamever}
%files thread
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_thread*.so.%{sonamever}
%{_libdir}/libboost_thread.so.%{sonamever}
%files timer
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_timer*.so.%{sonamever}
%{_libdir}/libboost_timer.so.%{sonamever}
%files wave
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_wave*.so.%{sonamever}
%{_libdir}/libboost_wave.so.%{sonamever}
%files doc
%defattr(-, root, root, -)
@ -985,32 +1066,35 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_includedir}/%{name}
%{_libdir}/libboost_atomic-mt.so
%{_libdir}/libboost_chrono*.so
%{_libdir}/libboost_atomic.so
%{_libdir}/libboost_chrono.so
%if %{with context}
%{_libdir}/libboost_context*.so
%{_libdir}/libboost_context.so
%endif
%{_libdir}/libboost_date_time*.so
%{_libdir}/libboost_filesystem*.so
%{_libdir}/libboost_date_time.so
%{_libdir}/libboost_filesystem.so
%{_libdir}/libboost_graph.so
%{_libdir}/libboost_graph-mt.so
%{_libdir}/libboost_iostreams*.so
%{_libdir}/libboost_locale*.so
%{_libdir}/libboost_math*.so
%{_libdir}/libboost_prg_exec_monitor*.so
%{_libdir}/libboost_unit_test_framework*.so
%{_libdir}/libboost_program_options*.so
%{_libdir}/libboost_python-mt.so
%{_libdir}/libboost_iostreams.so
%{_libdir}/libboost_locale.so
%{_libdir}/libboost_math_tr1.so
%{_libdir}/libboost_math_tr1f.so
%{_libdir}/libboost_math_tr1l.so
%{_libdir}/libboost_math_c99.so
%{_libdir}/libboost_math_c99f.so
%{_libdir}/libboost_math_c99l.so
%{_libdir}/libboost_prg_exec_monitor.so
%{_libdir}/libboost_unit_test_framework.so
%{_libdir}/libboost_program_options.so
%{_libdir}/libboost_python.so
%{_libdir}/libboost_random*.so
%{_libdir}/libboost_regex*.so
%{_libdir}/libboost_serialization*.so
%{_libdir}/libboost_wserialization*.so
%{_libdir}/libboost_signals*.so
%{_libdir}/libboost_system*.so
%{_libdir}/libboost_thread-mt.so
%{_libdir}/libboost_timer*.so
%{_libdir}/libboost_wave*.so
%{_libdir}/libboost_random.so
%{_libdir}/libboost_regex.so
%{_libdir}/libboost_serialization.so
%{_libdir}/libboost_wserialization.so
%{_libdir}/libboost_signals.so
%{_libdir}/libboost_system.so
%{_libdir}/libboost_thread.so
%{_libdir}/libboost_timer.so
%{_libdir}/libboost_wave.so
%files static
%defattr(-, root, root, -)
@ -1029,7 +1113,7 @@ rm -rf $RPM_BUILD_ROOT
%files openmpi
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_mpi-mt.so.%{sonamever}
%{_libdir}/openmpi/lib/libboost_mpi.so.%{sonamever}
%files openmpi-devel
%defattr(-, root, root, -)
@ -1039,13 +1123,13 @@ rm -rf $RPM_BUILD_ROOT
%files openmpi-python
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_mpi_python*.so.%{sonamever}
%{_libdir}/openmpi/lib/libboost_mpi_python.so.%{sonamever}
%{_libdir}/openmpi/lib/mpi.so
%files graph-openmpi
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_graph_parallel-mt.so.%{sonamever}
%{_libdir}/openmpi/lib/libboost_graph_parallel.so.%{sonamever}
%endif
@ -1055,7 +1139,7 @@ rm -rf $RPM_BUILD_ROOT
%files mpich2
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/mpich2/lib/libboost_mpi-mt.so.%{sonamever}
%{_libdir}/mpich2/lib/libboost_mpi.so.%{sonamever}
%files mpich2-devel
%defattr(-, root, root, -)
@ -1065,13 +1149,13 @@ rm -rf $RPM_BUILD_ROOT
%files mpich2-python
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/mpich2/lib/libboost_mpi_python*.so.%{sonamever}
%{_libdir}/mpich2/lib/libboost_mpi_python.so.%{sonamever}
%{_libdir}/mpich2/lib/mpi.so
%files graph-mpich2
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/mpich2/lib/libboost_graph_parallel-mt.so.%{sonamever}
%{_libdir}/mpich2/lib/libboost_graph_parallel.so.%{sonamever}
%endif
@ -1087,6 +1171,47 @@ 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)
- Add release notes patches (001-coroutine.patch,
002-date-time.patch, 003-log.patch)
- Add many patches for silencing unused local typedef warnings
(boost-1.54.0-bind-static_assert.patch,
boost-1.54.0-concept-unused_typedef.patch,
boost-1.54.0-static_warning-unused_typedef.patch,
boost-1.54.0-math-unused_typedef.patch,
boost-1.54.0-math-unused_typedef-2.patch,
boost-1.54.0-tuple-unused_typedef.patch,
boost-1.54.0-random-unused_typedef.patch,
boost-1.54.0-date_time-unused_typedef.patch,
boost-1.54.0-date_time-unused_typedef-2.patch,
boost-1.54.0-spirit-unused_typedef.patch,
boost-1.54.0-spirit-unused_typedef-2.patch,
boost-1.54.0-numeric-unused_typedef.patch,
boost-1.54.0-multiprecision-unused_typedef.patch,
boost-1.54.0-unordered-unused_typedef.patch,
boost-1.54.0-algorithm-unused_typedef.patch,
boost-1.54.0-graph-unused_typedef.patch,
boost-1.54.0-locale-unused_typedef.patch,
boost-1.54.0-property_tree-unused_typedef.patch,
boost-1.54.0-xpressive-unused_typedef.patch,
boost-1.54.0-mpi-unused_typedef.patch,
boost-1.54.0-python-unused_typedef.patch)
- Add a patch to turn off execstack in Boost.Context
(boost-1.54.0-context-execstack.patch)
- Fix boost::mpl::print on GCC (boost-1.54.0-mpl-print.patch)
- Add symlinks for /usr/lib/libboost_{thread,locale}.so -> *-mt.so
* Wed Jun 26 2013 Petr Machata <pmachata@redhat.com> - 1.53.0-8
- There's no physical difference between single-threaded and
multi-threaded builds, except some libraries are only built in
multi-threaded mode. So build everything in multi-threaded mode,
and ditch tagged layout, which we don't need anymore.
https://bugzilla.redhat.com/show_bug.cgi?id=971956
* Wed Jun 26 2013 Petr Machata <pmachata@redhat.com> - 1.53.0-7
- Fix detection of availability of {,u}int64_t in glibc headers.
(boost-1.53.0-__GLIBC_HAVE_LONG_LONG.patch)

View File

@ -8,5 +8,5 @@
transitive one. Hence this linker script, which brings in the
Boost.System DSO. */
INPUT(libboost_thread-mt.so.%{version})
INPUT(libboost_system-mt.so.%{version})
INPUT(libboost_thread.so.%{version})
INPUT(libboost_system.so.%{version})

View File

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