Commit 1.41.0
This commit is contained in:
parent
456c3cfce0
commit
1891c7ba66
@ -1 +1 @@
|
|||||||
boost_1_39_0.tar.bz2
|
boost-1.41.0.cmake0.tar.bz2
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
--- boost/dynamic_bitset/dynamic_bitset.hpp.debug 2008-10-22 03:13:59.000000000 +0900
|
|
||||||
+++ boost/dynamic_bitset/dynamic_bitset.hpp 2009-03-23 03:36:40.000000000 +0900
|
|
||||||
@@ -1017,8 +1017,11 @@
|
|
||||||
? access_by_bytes
|
|
||||||
: access_by_blocks;
|
|
||||||
|
|
||||||
+ if (mode)
|
|
||||||
+ return do_count(m_bits.begin(), num_blocks(), Block(0),
|
|
||||||
+ static_cast<value_to_type<true> *>(0));
|
|
||||||
return do_count(m_bits.begin(), num_blocks(), Block(0),
|
|
||||||
- static_cast<value_to_type<mode> *>(0));
|
|
||||||
+ static_cast<value_to_type<false> *>(0));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
19
boost-cmake-soname.patch
Normal file
19
boost-cmake-soname.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
*** tools/build/CMake/BoostCore.cmake.orig 2010-01-12 20:01:46.006547352 -0800
|
||||||
|
--- tools/build/CMake/BoostCore.cmake 2010-01-12 20:02:54.222546929 -0800
|
||||||
|
*************** macro(boost_library_variant LIBNAME)
|
||||||
|
*** 755,761 ****
|
||||||
|
if (BUILD_SOVERSIONED)
|
||||||
|
set_target_properties(${VARIANT_LIBNAME}
|
||||||
|
PROPERTIES
|
||||||
|
! SOVERSION "${BOOST_VERSION}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif ()
|
||||||
|
--- 755,761 ----
|
||||||
|
if (BUILD_SOVERSIONED)
|
||||||
|
set_target_properties(${VARIANT_LIBNAME}
|
||||||
|
PROPERTIES
|
||||||
|
! SOVERSION "6"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif ()
|
@ -1,163 +0,0 @@
|
|||||||
Index: boost/filesystem/operations.hpp
|
|
||||||
===================================================================
|
|
||||||
--- boost/filesystem/operations.hpp (revision 52859)
|
|
||||||
+++ boost/filesystem/operations.hpp (working copy)
|
|
||||||
@@ -659,9 +659,9 @@
|
|
||||||
{ return is_symlink<wpath>( ph ); }
|
|
||||||
|
|
||||||
inline bool is_empty( const path & ph )
|
|
||||||
- { return is_empty<path>( ph ); }
|
|
||||||
+ { return boost::filesystem::is_empty<path>( ph ); }
|
|
||||||
inline bool is_empty( const wpath & ph )
|
|
||||||
- { return is_empty<wpath>( ph ); }
|
|
||||||
+ { return boost::filesystem::is_empty<wpath>( ph ); }
|
|
||||||
|
|
||||||
inline bool equivalent( const path & ph1, const path & ph2 )
|
|
||||||
{ return equivalent<path>( ph1, ph2 ); }
|
|
||||||
Index: libs/filesystem/test/path_test.cpp
|
|
||||||
===================================================================
|
|
||||||
--- libs/filesystem/test/path_test.cpp (revision 52859)
|
|
||||||
+++ libs/filesystem/test/path_test.cpp (working copy)
|
|
||||||
@@ -27,9 +27,8 @@
|
|
||||||
|
|
||||||
namespace fs = boost::filesystem;
|
|
||||||
using boost::filesystem::path;
|
|
||||||
-using boost::next;
|
|
||||||
-using boost::prior;
|
|
||||||
|
|
||||||
+
|
|
||||||
#include <boost/detail/lightweight_test.hpp>
|
|
||||||
|
|
||||||
#define PATH_CHECK( a, b ) check( a, b, __LINE__ )
|
|
||||||
@@ -480,18 +479,18 @@
|
|
||||||
|
|
||||||
itr_ck = "foo";
|
|
||||||
BOOST_TEST( *itr_ck.begin() == std::string( "foo" ) );
|
|
||||||
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
|
|
||||||
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
|
|
||||||
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
|
|
||||||
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
|
|
||||||
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
|
|
||||||
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
|
|
||||||
|
|
||||||
itr_ck = path( "/foo" );
|
|
||||||
BOOST_TEST( *itr_ck.begin() == std::string( "/" ) );
|
|
||||||
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "foo" ) );
|
|
||||||
- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
|
|
||||||
- BOOST_TEST( next( itr_ck.begin() ) == prior( itr_ck.end() ) );
|
|
||||||
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
|
|
||||||
- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "/" ) );
|
|
||||||
- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
|
|
||||||
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) );
|
|
||||||
+ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
|
|
||||||
+ BOOST_TEST( boost::next( itr_ck.begin() ) == boost::prior( itr_ck.end() ) );
|
|
||||||
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
|
|
||||||
+ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) );
|
|
||||||
+ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
|
|
||||||
|
|
||||||
itr_ck = "/foo/bar";
|
|
||||||
itr = itr_ck.begin();
|
|
||||||
@@ -1106,65 +1105,65 @@
|
|
||||||
|
|
||||||
itr_ck = path( "c:" );
|
|
||||||
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
|
|
||||||
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
|
|
||||||
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
|
|
||||||
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "c:" ) );
|
|
||||||
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
|
|
||||||
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
|
|
||||||
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "c:" ) );
|
|
||||||
|
|
||||||
itr_ck = path( "c:/" );
|
|
||||||
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
|
|
||||||
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
|
|
||||||
- BOOST_TEST( next( next( itr_ck.begin() )) == itr_ck.end() );
|
|
||||||
- BOOST_TEST( prior( prior( itr_ck.end() )) == itr_ck.begin() );
|
|
||||||
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "/" ) );
|
|
||||||
- BOOST_TEST( *prior( prior( itr_ck.end() )) == std::string( "c:" ) );
|
|
||||||
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
|
|
||||||
+ BOOST_TEST( boost::next( boost::next( itr_ck.begin() )) == itr_ck.end() );
|
|
||||||
+ BOOST_TEST( boost::prior( boost::prior( itr_ck.end() )) == itr_ck.begin() );
|
|
||||||
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "/" ) );
|
|
||||||
+ BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "c:" ) );
|
|
||||||
|
|
||||||
itr_ck = path( "c:foo" );
|
|
||||||
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
|
|
||||||
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "foo" ) );
|
|
||||||
- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
|
|
||||||
- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
|
|
||||||
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
|
|
||||||
- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "c:" ) );
|
|
||||||
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) );
|
|
||||||
+ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
|
|
||||||
+ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
|
|
||||||
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
|
|
||||||
+ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "c:" ) );
|
|
||||||
|
|
||||||
itr_ck = path( "c:/foo" );
|
|
||||||
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
|
|
||||||
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
|
|
||||||
- BOOST_TEST( *next( next( itr_ck.begin() )) == std::string( "foo" ) );
|
|
||||||
- BOOST_TEST( next( next( next( itr_ck.begin() ))) == itr_ck.end() );
|
|
||||||
- BOOST_TEST( prior( prior( prior( itr_ck.end() ))) == itr_ck.begin() );
|
|
||||||
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
|
|
||||||
- BOOST_TEST( *prior( prior( itr_ck.end() )) == std::string( "/" ) );
|
|
||||||
- BOOST_TEST( *prior( prior( prior( itr_ck.end() ))) == std::string( "c:" ) );
|
|
||||||
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
|
|
||||||
+ BOOST_TEST( *boost::next( boost::next( itr_ck.begin() )) == std::string( "foo" ) );
|
|
||||||
+ BOOST_TEST( boost::next( boost::next( boost::next( itr_ck.begin() ))) == itr_ck.end() );
|
|
||||||
+ BOOST_TEST( boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == itr_ck.begin() );
|
|
||||||
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
|
|
||||||
+ BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "/" ) );
|
|
||||||
+ BOOST_TEST( *boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == std::string( "c:" ) );
|
|
||||||
|
|
||||||
itr_ck = path( "//net" );
|
|
||||||
BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) );
|
|
||||||
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
|
|
||||||
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
|
|
||||||
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "//net" ) );
|
|
||||||
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
|
|
||||||
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
|
|
||||||
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "//net" ) );
|
|
||||||
|
|
||||||
itr_ck = path( "//net/" );
|
|
||||||
CHECK_EQUAL( *itr_ck.begin(), "//net" );
|
|
||||||
- CHECK_EQUAL( *next( itr_ck.begin() ), "/" );
|
|
||||||
- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
|
|
||||||
- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
|
|
||||||
- CHECK_EQUAL( *prior( itr_ck.end() ), "/" );
|
|
||||||
- CHECK_EQUAL( *prior(prior( itr_ck.end() )), "//net" );
|
|
||||||
+ CHECK_EQUAL( *boost::next( itr_ck.begin() ), "/" );
|
|
||||||
+ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
|
|
||||||
+ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
|
|
||||||
+ CHECK_EQUAL( *boost::prior( itr_ck.end() ), "/" );
|
|
||||||
+ CHECK_EQUAL( *boost::prior(boost::prior( itr_ck.end() )), "//net" );
|
|
||||||
|
|
||||||
itr_ck = path( "//net/foo" );
|
|
||||||
BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) );
|
|
||||||
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
|
|
||||||
- BOOST_TEST( *next(next( itr_ck.begin() )) == std::string( "foo" ) );
|
|
||||||
- BOOST_TEST( next(next(next( itr_ck.begin() ))) == itr_ck.end() );
|
|
||||||
- BOOST_TEST( prior(prior(prior( itr_ck.end() ))) == itr_ck.begin() );
|
|
||||||
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
|
|
||||||
- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "/" ) );
|
|
||||||
- BOOST_TEST( *prior(prior(prior( itr_ck.end() ))) == std::string( "//net" ) );
|
|
||||||
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
|
|
||||||
+ BOOST_TEST( *boost::next(boost::next( itr_ck.begin() )) == std::string( "foo" ) );
|
|
||||||
+ BOOST_TEST( boost::next(boost::next(boost::next( itr_ck.begin() ))) == itr_ck.end() );
|
|
||||||
+ BOOST_TEST( boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == itr_ck.begin() );
|
|
||||||
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
|
|
||||||
+ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) );
|
|
||||||
+ BOOST_TEST( *boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == std::string( "//net" ) );
|
|
||||||
|
|
||||||
itr_ck = path( "prn:" );
|
|
||||||
BOOST_TEST( *itr_ck.begin() == std::string( "prn:" ) );
|
|
||||||
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
|
|
||||||
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
|
|
||||||
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "prn:" ) );
|
|
||||||
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
|
|
||||||
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
|
|
||||||
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "prn:" ) );
|
|
||||||
} // Windows
|
|
||||||
|
|
||||||
else
|
|
@ -1,15 +0,0 @@
|
|||||||
diff -ru boost/function/function_template.hpp boost/function/function_template.hpp
|
|
||||||
--- boost/function/function_template.hpp 2009-05-10 10:31:29.000000000 +0100
|
|
||||||
+++ boost/function/function_template.hpp 2009-05-10 10:49:46.000000000 +0100
|
|
||||||
@@ -950,10 +950,10 @@
|
|
||||||
f.vtable->manager(f.functor, this->functor,
|
|
||||||
boost::detail::function::move_functor_tag);
|
|
||||||
f.vtable = 0;
|
|
||||||
-#if !defined(BOOST_NO_EXCEPTIONS)
|
|
||||||
} else {
|
|
||||||
clear();
|
|
||||||
}
|
|
||||||
+#if !defined(BOOST_NO_EXCEPTIONS)
|
|
||||||
} catch (...) {
|
|
||||||
vtable = 0;
|
|
||||||
throw;
|
|
@ -1,204 +0,0 @@
|
|||||||
Index: boost/gil/bit_aligned_pixel_reference.hpp
|
|
||||||
===================================================================
|
|
||||||
--- boost/gil/bit_aligned_pixel_reference.hpp (revision 53049)
|
|
||||||
+++ boost/gil/bit_aligned_pixel_reference.hpp (working copy)
|
|
||||||
@@ -145,7 +145,7 @@
|
|
||||||
|
|
||||||
// Construct from another compatible pixel type
|
|
||||||
bit_aligned_pixel_reference(const bit_aligned_pixel_reference& p) : _bit_range(p._bit_range) {}
|
|
||||||
- template <typename BF, typename CR> bit_aligned_pixel_reference(packed_pixel<BF,CR,Layout>& p) : _bit_range(static_cast<data_ptr_t>(&at_c<0>(p)), at_c<0>(p).first_bit()) {
|
|
||||||
+ template <typename BF, typename CR> bit_aligned_pixel_reference(packed_pixel<BF,CR,Layout>& p) : _bit_range(static_cast<data_ptr_t>(&gil::at_c<0>(p)), gil::at_c<0>(p).first_bit()) {
|
|
||||||
check_compatible<packed_pixel<BF,CR,Layout> >();
|
|
||||||
}
|
|
||||||
|
|
||||||
Index: boost/gil/color_base.hpp
|
|
||||||
===================================================================
|
|
||||||
--- boost/gil/color_base.hpp (revision 53049)
|
|
||||||
+++ boost/gil/color_base.hpp (working copy)
|
|
||||||
@@ -155,15 +155,15 @@
|
|
||||||
homogeneous_color_base(Element v0, Element v1, Element v2) : _v0(v0), _v1(v1), _v2(v2) {}
|
|
||||||
|
|
||||||
template <typename E2, typename L2> homogeneous_color_base(const homogeneous_color_base<E2,L2,3>& c) :
|
|
||||||
- _v0(at_c<mapping_transform<Layout,L2,0>::value>(c)),
|
|
||||||
- _v1(at_c<mapping_transform<Layout,L2,1>::value>(c)),
|
|
||||||
- _v2(at_c<mapping_transform<Layout,L2,2>::value>(c)) {}
|
|
||||||
+ _v0(gil::at_c<mapping_transform<Layout,L2,0>::value>(c)),
|
|
||||||
+ _v1(gil::at_c<mapping_transform<Layout,L2,1>::value>(c)),
|
|
||||||
+ _v2(gil::at_c<mapping_transform<Layout,L2,2>::value>(c)) {}
|
|
||||||
|
|
||||||
// Support for l-value reference proxy copy construction
|
|
||||||
template <typename E2, typename L2> homogeneous_color_base( homogeneous_color_base<E2,L2,3>& c) :
|
|
||||||
- _v0(at_c<mapping_transform<Layout,L2,0>::value>(c)),
|
|
||||||
- _v1(at_c<mapping_transform<Layout,L2,1>::value>(c)),
|
|
||||||
- _v2(at_c<mapping_transform<Layout,L2,2>::value>(c)) {}
|
|
||||||
+ _v0(gil::at_c<mapping_transform<Layout,L2,0>::value>(c)),
|
|
||||||
+ _v1(gil::at_c<mapping_transform<Layout,L2,1>::value>(c)),
|
|
||||||
+ _v2(gil::at_c<mapping_transform<Layout,L2,2>::value>(c)) {}
|
|
||||||
|
|
||||||
// Support for planar_pixel_iterator construction and dereferencing
|
|
||||||
template <typename P> homogeneous_color_base(P* p,bool) :
|
|
||||||
Index: boost/gil/color_base_algorithm.hpp
|
|
||||||
===================================================================
|
|
||||||
--- boost/gil/color_base_algorithm.hpp (revision 53049)
|
|
||||||
+++ boost/gil/color_base_algorithm.hpp (working copy)
|
|
||||||
@@ -101,7 +101,7 @@
|
|
||||||
template <typename ColorBase, int K> struct kth_semantic_element_reference_type {
|
|
||||||
BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c<typename ColorBase::layout_t::channel_mapping_t,K>::type::value));
|
|
||||||
typedef typename kth_element_reference_type<ColorBase,semantic_index>::type type;
|
|
||||||
- static type get(ColorBase& cb) { return at_c<semantic_index>(cb); }
|
|
||||||
+ static type get(ColorBase& cb) { return gil::at_c<semantic_index>(cb); }
|
|
||||||
};
|
|
||||||
|
|
||||||
/// \brief Specifies the return type of the constant semantic_at_c<K>(color_base);
|
|
||||||
@@ -109,7 +109,7 @@
|
|
||||||
template <typename ColorBase, int K> struct kth_semantic_element_const_reference_type {
|
|
||||||
BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c<typename ColorBase::layout_t::channel_mapping_t,K>::type::value));
|
|
||||||
typedef typename kth_element_const_reference_type<ColorBase,semantic_index>::type type;
|
|
||||||
- static type get(const ColorBase& cb) { return at_c<semantic_index>(cb); }
|
|
||||||
+ static type get(const ColorBase& cb) { return gil::at_c<semantic_index>(cb); }
|
|
||||||
};
|
|
||||||
|
|
||||||
/// \brief A mutable accessor to the K-th semantic element of a color base
|
|
||||||
Index: boost/gil/image_view_factory.hpp
|
|
||||||
===================================================================
|
|
||||||
--- boost/gil/image_view_factory.hpp (revision 53049)
|
|
||||||
+++ boost/gil/image_view_factory.hpp (working copy)
|
|
||||||
@@ -102,7 +102,7 @@
|
|
||||||
BOOST_STATIC_ASSERT((!is_planar<HomogeneousView>::value && view_is_basic<HomogeneousView>::value));
|
|
||||||
BOOST_STATIC_ASSERT((boost::is_pointer<typename HomogeneousView::x_iterator>::value));
|
|
||||||
|
|
||||||
- return &at_c<0>(view(0,0));
|
|
||||||
+ return &gil::at_c<0>(view(0,0));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// \ingroup ImageViewConstructors
|
|
||||||
@@ -430,7 +430,7 @@
|
|
||||||
typedef typename type::xy_locator locator_t;
|
|
||||||
typedef typename type::x_iterator x_iterator_t;
|
|
||||||
typedef typename iterator_adaptor_get_base<x_iterator_t>::type x_iterator_base_t;
|
|
||||||
- x_iterator_t sit(x_iterator_base_t(&at_c<K>(src(0,0))),src.pixels().pixel_size());
|
|
||||||
+ x_iterator_t sit(x_iterator_base_t(&gil::at_c<K>(src(0,0))),src.pixels().pixel_size());
|
|
||||||
return type(src.dimensions(),locator_t(sit, src.pixels().row_size()));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@@ -444,7 +444,7 @@
|
|
||||||
typedef typename view_type<channel_t, gray_layout_t, false, false, view_is_mutable<View>::value>::type type;
|
|
||||||
static type make(const View& src) {
|
|
||||||
typedef typename type::x_iterator x_iterator_t;
|
|
||||||
- return interleaved_view(src.width(),src.height(),(x_iterator_t)&at_c<K>(src(0,0)), src.pixels().row_size());
|
|
||||||
+ return interleaved_view(src.width(),src.height(),(x_iterator_t)&gil::at_c<K>(src(0,0)), src.pixels().row_size());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -494,7 +494,7 @@
|
|
||||||
template <typename P> kth_channel_deref_fn(const kth_channel_deref_fn<K,P>&) {}
|
|
||||||
|
|
||||||
result_type operator()(argument_type srcP) const {
|
|
||||||
- return result_type(at_c<K>(srcP));
|
|
||||||
+ return result_type(gil::at_c<K>(srcP));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Index: boost/gil/packed_pixel.hpp
|
|
||||||
===================================================================
|
|
||||||
--- boost/gil/packed_pixel.hpp (revision 53049)
|
|
||||||
+++ boost/gil/packed_pixel.hpp (working copy)
|
|
||||||
@@ -81,7 +81,7 @@
|
|
||||||
}
|
|
||||||
packed_pixel(int chan0, int chan1, int chan2) : _bitfield(0) {
|
|
||||||
BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==3));
|
|
||||||
- at_c<0>(*this)=chan0; at_c<1>(*this)=chan1; at_c<2>(*this)=chan2;
|
|
||||||
+ gil::at_c<0>(*this)=chan0; gil::at_c<1>(*this)=chan1; gil::at_c<2>(*this)=chan2;
|
|
||||||
}
|
|
||||||
packed_pixel(int chan0, int chan1, int chan2, int chan3) : _bitfield(0) {
|
|
||||||
BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==4));
|
|
||||||
Index: boost/gil/pixel.hpp
|
|
||||||
===================================================================
|
|
||||||
--- boost/gil/pixel.hpp (revision 53049)
|
|
||||||
+++ boost/gil/pixel.hpp (working copy)
|
|
||||||
@@ -143,11 +143,11 @@
|
|
||||||
|
|
||||||
private:
|
|
||||||
static void check_gray() { BOOST_STATIC_ASSERT((is_same<typename Layout::color_space_t, gray_t>::value)); }
|
|
||||||
- template <typename Channel> void assign(const Channel& chan, mpl::false_) { check_gray(); at_c<0>(*this)=chan; }
|
|
||||||
- template <typename Channel> bool equal (const Channel& chan, mpl::false_) const { check_gray(); return at_c<0>(*this)==chan; }
|
|
||||||
+ template <typename Channel> void assign(const Channel& chan, mpl::false_) { check_gray(); gil::at_c<0>(*this)=chan; }
|
|
||||||
+ template <typename Channel> bool equal (const Channel& chan, mpl::false_) const { check_gray(); return gil::at_c<0>(*this)==chan; }
|
|
||||||
public:
|
|
||||||
- pixel& operator= (channel_t chan) { check_gray(); at_c<0>(*this)=chan; return *this; }
|
|
||||||
- bool operator==(channel_t chan) const { check_gray(); return at_c<0>(*this)==chan; }
|
|
||||||
+ pixel& operator= (channel_t chan) { check_gray(); gil::at_c<0>(*this)=chan; return *this; }
|
|
||||||
+ bool operator==(channel_t chan) const { check_gray(); return gil::at_c<0>(*this)==chan; }
|
|
||||||
};
|
|
||||||
|
|
||||||
/////////////////////////////
|
|
||||||
Index: boost/gil/planar_pixel_iterator.hpp
|
|
||||||
===================================================================
|
|
||||||
--- boost/gil/planar_pixel_iterator.hpp (revision 53049)
|
|
||||||
+++ boost/gil/planar_pixel_iterator.hpp (working copy)
|
|
||||||
@@ -109,8 +109,8 @@
|
|
||||||
reference operator->() const { return **this; }
|
|
||||||
|
|
||||||
// PERFORMANCE_CHECK: Remove?
|
|
||||||
- bool operator< (const planar_pixel_iterator& ptr) const { return at_c<0>(*this)< at_c<0>(ptr); }
|
|
||||||
- bool operator!=(const planar_pixel_iterator& ptr) const { return at_c<0>(*this)!=at_c<0>(ptr); }
|
|
||||||
+ bool operator< (const planar_pixel_iterator& ptr) const { return gil::at_c<0>(*this)< gil::at_c<0>(ptr); }
|
|
||||||
+ bool operator!=(const planar_pixel_iterator& ptr) const { return gil::at_c<0>(*this)!=gil::at_c<0>(ptr); }
|
|
||||||
private:
|
|
||||||
friend class boost::iterator_core_access;
|
|
||||||
|
|
||||||
@@ -119,8 +119,8 @@
|
|
||||||
void advance(ptrdiff_t d) { static_transform(*this,*this,std::bind2nd(detail::plus_asymmetric<ChannelPtr,ptrdiff_t>(),d)); }
|
|
||||||
reference dereference() const { return this->template deref<reference>(); }
|
|
||||||
|
|
||||||
- ptrdiff_t distance_to(const planar_pixel_iterator& it) const { return at_c<0>(it)-at_c<0>(*this); }
|
|
||||||
- bool equal(const planar_pixel_iterator& it) const { return at_c<0>(*this)==at_c<0>(it); }
|
|
||||||
+ ptrdiff_t distance_to(const planar_pixel_iterator& it) const { return gil::at_c<0>(it)-gil::at_c<0>(*this); }
|
|
||||||
+ bool equal(const planar_pixel_iterator& it) const { return gil::at_c<0>(*this)==gil::at_c<0>(it); }
|
|
||||||
};
|
|
||||||
|
|
||||||
namespace detail {
|
|
||||||
Index: libs/gil/test/pixel.cpp
|
|
||||||
===================================================================
|
|
||||||
--- libs/gil/test/pixel.cpp (revision 53049)
|
|
||||||
+++ libs/gil/test/pixel.cpp (working copy)
|
|
||||||
@@ -34,8 +34,9 @@
|
|
||||||
// Testing pixel references and values, pixel operations, color conversion
|
|
||||||
|
|
||||||
using namespace boost::gil;
|
|
||||||
-using namespace std;
|
|
||||||
+using std::swap;
|
|
||||||
using namespace boost;
|
|
||||||
+
|
|
||||||
void error_if(bool condition);
|
|
||||||
|
|
||||||
struct increment {
|
|
||||||
@@ -63,8 +64,8 @@
|
|
||||||
|
|
||||||
// test homogeneous algorithms - fill, max, min
|
|
||||||
static const int num_chan = num_channels<typename C2::pixel_t>::value;
|
|
||||||
- static_fill(C2::_pixel, at_c<0>(C1::_pixel)+1);
|
|
||||||
- error_if(at_c<0>(C2::_pixel) != at_c<num_chan-1>(C2::_pixel));
|
|
||||||
+ static_fill(C2::_pixel, gil::at_c<0>(C1::_pixel)+1);
|
|
||||||
+ error_if(gil::at_c<0>(C2::_pixel) != gil::at_c<num_chan-1>(C2::_pixel));
|
|
||||||
|
|
||||||
C2::_pixel = C1::_pixel;
|
|
||||||
error_if(static_max(C2::_pixel) != static_max(C1::_pixel));
|
|
||||||
@@ -107,7 +108,7 @@
|
|
||||||
error_if(C1::_pixel!=C2::_pixel);
|
|
||||||
|
|
||||||
static_generate(C2::_pixel, set_to_one());
|
|
||||||
- error_if(at_c<0>(C2::_pixel) != 1);
|
|
||||||
+ error_if(gil::at_c<0>(C2::_pixel) != 1);
|
|
||||||
|
|
||||||
// Test swap if both are mutable and if their value type is the same
|
|
||||||
// (We know the second one is mutable)
|
|
||||||
@@ -313,7 +314,7 @@
|
|
||||||
bgr8_pixel_t bgr8(rgb8);
|
|
||||||
error_if(bgr8[0] == rgb8[0]);
|
|
||||||
error_if(dynamic_at_c(bgr8,0) == dynamic_at_c(rgb8,0));
|
|
||||||
- error_if(at_c<0>(bgr8) == at_c<0>(rgb8));
|
|
||||||
+ error_if(gil::at_c<0>(bgr8) == gil::at_c<0>(rgb8));
|
|
||||||
error_if(semantic_at_c<0>(bgr8) != semantic_at_c<0>(rgb8));
|
|
||||||
error_if(get_color(bgr8,blue_t()) != get_color(rgb8,blue_t()));
|
|
||||||
|
|
12
boost-graph-compile.patch
Normal file
12
boost-graph-compile.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
*** boost/graph/distributed/detail/mpi_process_group.ipp.orig 2009-12-16 15:46:32.410223363 -0800
|
||||||
|
--- boost/graph/distributed/detail/mpi_process_group.ipp 2009-12-16 15:47:28.700348300 -0800
|
||||||
|
***************
|
||||||
|
*** 19,24 ****
|
||||||
|
--- 19,25 ----
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <cassert>
|
||||||
|
+ #include <cstdio>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <boost/graph/parallel/detail/untracked_pair.hpp>
|
||||||
|
#include <numeric>
|
@ -1,15 +0,0 @@
|
|||||||
diff -up boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp.ossl10 boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp
|
|
||||||
--- boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp.ossl10 2008-08-09 03:59:54.000000000 +0200
|
|
||||||
+++ boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp 2009-08-26 11:26:25.000000000 +0200
|
|
||||||
@@ -67,7 +67,11 @@ public:
|
|
||||||
// Create a new context implementation.
|
|
||||||
void create(impl_type& impl, context_base::method m)
|
|
||||||
{
|
|
||||||
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
|
||||||
+ const ::SSL_METHOD* ssl_method = 0;
|
|
||||||
+#else
|
|
||||||
::SSL_METHOD* ssl_method = 0;
|
|
||||||
+#endif
|
|
||||||
switch (m)
|
|
||||||
{
|
|
||||||
case context_base::sslv2:
|
|
@ -1,160 +0,0 @@
|
|||||||
Index: /trunk/boost/python/object_core.hpp
|
|
||||||
===================================================================
|
|
||||||
--- /trunk/boost/python/object_core.hpp (revision 45918)
|
|
||||||
+++ /trunk/boost/python/object_core.hpp (revision 47846)
|
|
||||||
@@ -42,4 +42,10 @@
|
|
||||||
|
|
||||||
namespace boost { namespace python {
|
|
||||||
+
|
|
||||||
+namespace detail
|
|
||||||
+{
|
|
||||||
+ class kwds_proxy;
|
|
||||||
+ class args_proxy;
|
|
||||||
+}
|
|
||||||
|
|
||||||
namespace converter
|
|
||||||
@@ -103,4 +109,9 @@
|
|
||||||
# define BOOST_PP_ITERATION_PARAMS_1 (3, (1, BOOST_PYTHON_MAX_ARITY, <boost/python/object_call.hpp>))
|
|
||||||
# include BOOST_PP_ITERATE()
|
|
||||||
+
|
|
||||||
+ detail::args_proxy operator* () const;
|
|
||||||
+ object operator()(detail::args_proxy const &args) const;
|
|
||||||
+ object operator()(detail::args_proxy const &args,
|
|
||||||
+ detail::kwds_proxy const &kwds) const;
|
|
||||||
|
|
||||||
// truth value testing
|
|
||||||
@@ -417,4 +428,60 @@
|
|
||||||
//
|
|
||||||
|
|
||||||
+namespace detail
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+class call_proxy
|
|
||||||
+{
|
|
||||||
+public:
|
|
||||||
+ call_proxy(object target) : m_target(target) {}
|
|
||||||
+ operator object() const { return m_target;}
|
|
||||||
+
|
|
||||||
+ private:
|
|
||||||
+ object m_target;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+class kwds_proxy : public call_proxy
|
|
||||||
+{
|
|
||||||
+public:
|
|
||||||
+ kwds_proxy(object o = object()) : call_proxy(o) {}
|
|
||||||
+};
|
|
||||||
+class args_proxy : public call_proxy
|
|
||||||
+{
|
|
||||||
+public:
|
|
||||||
+ args_proxy(object o) : call_proxy(o) {}
|
|
||||||
+ kwds_proxy operator* () const { return kwds_proxy(*this);}
|
|
||||||
+};
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+template <typename U>
|
|
||||||
+detail::args_proxy api::object_operators<U>::operator* () const
|
|
||||||
+{
|
|
||||||
+ object_cref2 x = *static_cast<U const*>(this);
|
|
||||||
+ return detail::args_proxy(x);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+template <typename U>
|
|
||||||
+object api::object_operators<U>::operator()(detail::args_proxy const &args) const
|
|
||||||
+{
|
|
||||||
+ U const& self = *static_cast<U const*>(this);
|
|
||||||
+ PyObject *result = PyObject_Call(get_managed_object(self, tag),
|
|
||||||
+ args.operator object().ptr(),
|
|
||||||
+ 0);
|
|
||||||
+ return object(detail::new_reference(result));
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+template <typename U>
|
|
||||||
+object api::object_operators<U>::operator()(detail::args_proxy const &args,
|
|
||||||
+ detail::kwds_proxy const &kwds) const
|
|
||||||
+{
|
|
||||||
+ U const& self = *static_cast<U const*>(this);
|
|
||||||
+ PyObject *result = PyObject_Call(get_managed_object(self, tag),
|
|
||||||
+ args.operator object().ptr(),
|
|
||||||
+ kwds.operator object().ptr());
|
|
||||||
+ return object(detail::new_reference(result));
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
inline object::object()
|
|
||||||
: object_base(python::incref(Py_None))
|
|
||||||
Index: /trunk/libs/python/test/object.cpp
|
|
||||||
===================================================================
|
|
||||||
--- /trunk/libs/python/test/object.cpp (revision 45918)
|
|
||||||
+++ /trunk/libs/python/test/object.cpp (revision 47846)
|
|
||||||
@@ -187,4 +187,9 @@
|
|
||||||
return s.slice(2,-1).slice(1,-1) == "lo, wor";
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+object test_call(object c, object args, object kwds)
|
|
||||||
+{
|
|
||||||
+ return c(*args, **kwds);
|
|
||||||
+}
|
|
||||||
|
|
||||||
bool check_binary_operators()
|
|
||||||
@@ -378,4 +383,5 @@
|
|
||||||
def("test_not_item", test_not_item);
|
|
||||||
|
|
||||||
+ def("test_call", test_call);
|
|
||||||
def("check_binary_operators", check_binary_operators);
|
|
||||||
def("check_inplace", check_inplace);
|
|
||||||
Index: /trunk/libs/python/test/object.py
|
|
||||||
===================================================================
|
|
||||||
--- /trunk/libs/python/test/object.py (revision 45918)
|
|
||||||
+++ /trunk/libs/python/test/object.py (revision 47846)
|
|
||||||
@@ -135,5 +135,10 @@
|
|
||||||
Operators
|
|
||||||
|
|
||||||
-
|
|
||||||
+>>> def print_args(*args, **kwds):
|
|
||||||
+... print args, kwds
|
|
||||||
+>>> test_call(print_args, (0, 1, 2, 3), {'a':'A'})
|
|
||||||
+(0, 1, 2, 3) {'a': 'A'}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
>>> assert check_binary_operators()
|
|
||||||
|
|
||||||
Index: /trunk/libs/python/doc/v2/object.html
|
|
||||||
===================================================================
|
|
||||||
--- /trunk/libs/python/doc/v2/object.html (revision 45918)
|
|
||||||
+++ /trunk/libs/python/doc/v2/object.html (revision 47846)
|
|
||||||
@@ -656,4 +656,9 @@
|
|
||||||
object operator()(A0 const&, A1 const&,...An const&) const;
|
|
||||||
|
|
||||||
+ detail::args_proxy operator* () const;
|
|
||||||
+ object operator()(detail::args_proxy const &args) const;
|
|
||||||
+ object operator()(detail::args_proxy const &args,
|
|
||||||
+ detail::kwds_proxy const &kwds) const;
|
|
||||||
+
|
|
||||||
// truth value testing
|
|
||||||
//
|
|
||||||
@@ -705,4 +710,23 @@
|
|
||||||
a2,...aN)</dt>
|
|
||||||
</dl>
|
|
||||||
+
|
|
||||||
+<pre>
|
|
||||||
+object operator()(detail::args_proxy const &args) const;
|
|
||||||
+</pre>
|
|
||||||
+<dl class="function-semantics">
|
|
||||||
+ <dt><b>Effects:</b>
|
|
||||||
+ call object with arguments given by the tuple <varname>args</varname></dt>
|
|
||||||
+</dl>
|
|
||||||
+<pre>
|
|
||||||
+object operator()(detail::args_proxy const &args,
|
|
||||||
+ detail::kwds_proxy const &kwds) const;
|
|
||||||
+</pre>
|
|
||||||
+<dl class="function-semantics">
|
|
||||||
+ <dt><b>Effects:</b>
|
|
||||||
+ call object with arguments given by the tuple <varname>args</varname>, and named
|
|
||||||
+ arguments given by the dictionary <varname>kwds</varname></dt>
|
|
||||||
+</dl>
|
|
||||||
+
|
|
||||||
+
|
|
||||||
<pre>
|
|
||||||
operator bool_type() const;
|
|
@ -1,136 +0,0 @@
|
|||||||
Index: /trunk/libs/python/test/enum.py
|
|
||||||
===================================================================
|
|
||||||
--- /trunk/libs/python/test/enum.py (revision 36256)
|
|
||||||
+++ /trunk/libs/python/test/enum.py (revision 53660)
|
|
||||||
@@ -5,6 +5,6 @@
|
|
||||||
>>> from enum_ext import *
|
|
||||||
|
|
||||||
->>> identity(color.red)
|
|
||||||
-enum_ext.color.red
|
|
||||||
+>>> identity(color.red) # in case of duplicated enums it always take the last enum
|
|
||||||
+enum_ext.color.blood
|
|
||||||
|
|
||||||
>>> identity(color.green)
|
|
||||||
@@ -14,6 +14,6 @@
|
|
||||||
enum_ext.color.blue
|
|
||||||
|
|
||||||
->>> identity(color(1))
|
|
||||||
-enum_ext.color.red
|
|
||||||
+>>> identity(color(1)) # in case of duplicated enums it always take the last enum
|
|
||||||
+enum_ext.color.blood
|
|
||||||
|
|
||||||
>>> identity(color(2))
|
|
||||||
@@ -29,5 +29,5 @@
|
|
||||||
|
|
||||||
>>> identity(red)
|
|
||||||
-enum_ext.color.red
|
|
||||||
+enum_ext.color.blood
|
|
||||||
|
|
||||||
>>> identity(green)
|
|
||||||
@@ -43,8 +43,16 @@
|
|
||||||
>>> c = colorized()
|
|
||||||
>>> c.x
|
|
||||||
-enum_ext.color.red
|
|
||||||
+enum_ext.color.blood
|
|
||||||
>>> c.x = green
|
|
||||||
>>> c.x
|
|
||||||
enum_ext.color.green
|
|
||||||
+>>> red == blood
|
|
||||||
+True
|
|
||||||
+>>> red == green
|
|
||||||
+False
|
|
||||||
+>>> hash(red) == hash(blood)
|
|
||||||
+True
|
|
||||||
+>>> hash(red) == hash(green)
|
|
||||||
+False
|
|
||||||
'''
|
|
||||||
|
|
||||||
Index: /trunk/libs/python/test/enum.cpp
|
|
||||||
===================================================================
|
|
||||||
--- /trunk/libs/python/test/enum.cpp (revision 24614)
|
|
||||||
+++ /trunk/libs/python/test/enum.cpp (revision 53660)
|
|
||||||
@@ -13,5 +13,5 @@
|
|
||||||
using namespace boost::python;
|
|
||||||
|
|
||||||
-enum color { red = 1, green = 2, blue = 4 };
|
|
||||||
+enum color { red = 1, green = 2, blue = 4, blood = 1 };
|
|
||||||
|
|
||||||
#if BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
|
|
||||||
@@ -35,4 +35,5 @@
|
|
||||||
.value("green", green)
|
|
||||||
.value("blue", blue)
|
|
||||||
+ .value("blood", blood)
|
|
||||||
.export_values()
|
|
||||||
;
|
|
||||||
Index: /trunk/libs/python/src/object/enum.cpp
|
|
||||||
===================================================================
|
|
||||||
--- /trunk/libs/python/src/object/enum.cpp (revision 41521)
|
|
||||||
+++ /trunk/libs/python/src/object/enum.cpp (revision 53660)
|
|
||||||
@@ -15,5 +15,5 @@
|
|
||||||
#include <structmember.h>
|
|
||||||
|
|
||||||
-namespace boost { namespace python { namespace objects {
|
|
||||||
+namespace boost { namespace python { namespace objects {
|
|
||||||
|
|
||||||
struct enum_object
|
|
||||||
@@ -44,5 +44,5 @@
|
|
||||||
if (name == 0)
|
|
||||||
return 0;
|
|
||||||
-
|
|
||||||
+
|
|
||||||
return PyString_FromFormat("%s.%s.%s", mod, self_->ob_type->tp_name, name);
|
|
||||||
}
|
|
||||||
@@ -140,4 +140,5 @@
|
|
||||||
d["__slots__"] = tuple();
|
|
||||||
d["values"] = dict();
|
|
||||||
+ d["names"] = dict();
|
|
||||||
|
|
||||||
object module_name = module_prefix();
|
|
||||||
@@ -146,7 +147,7 @@
|
|
||||||
if (doc)
|
|
||||||
d["__doc__"] = doc;
|
|
||||||
-
|
|
||||||
+
|
|
||||||
object result = (object(metatype))(name, make_tuple(base), d);
|
|
||||||
-
|
|
||||||
+
|
|
||||||
scope().attr(name) = result;
|
|
||||||
|
|
||||||
@@ -168,5 +169,5 @@
|
|
||||||
= const_cast<converter::registration&>(
|
|
||||||
converter::registry::lookup(id));
|
|
||||||
-
|
|
||||||
+
|
|
||||||
converters.m_class_object = downcast<PyTypeObject>(this->ptr());
|
|
||||||
converter::registry::insert(to_python, id);
|
|
||||||
@@ -187,21 +188,22 @@
|
|
||||||
dict d = extract<dict>(this->attr("values"))();
|
|
||||||
d[value] = x;
|
|
||||||
-
|
|
||||||
+
|
|
||||||
// Set the name field in the new enum instanec
|
|
||||||
enum_object* p = downcast<enum_object>(x.ptr());
|
|
||||||
Py_XDECREF(p->name);
|
|
||||||
p->name = incref(name.ptr());
|
|
||||||
+
|
|
||||||
+ dict names_dict = extract<dict>(this->attr("names"))();
|
|
||||||
+ names_dict[x.attr("name")] = x;
|
|
||||||
}
|
|
||||||
|
|
||||||
void enum_base::export_values()
|
|
||||||
{
|
|
||||||
- dict d = extract<dict>(this->attr("values"))();
|
|
||||||
- list values = d.values();
|
|
||||||
+ dict d = extract<dict>(this->attr("names"))();
|
|
||||||
+ list items = d.items();
|
|
||||||
scope current;
|
|
||||||
-
|
|
||||||
- for (unsigned i = 0, max = len(values); i < max; ++i)
|
|
||||||
- {
|
|
||||||
- api::setattr(current, object(values[i].attr("name")), values[i]);
|
|
||||||
- }
|
|
||||||
+
|
|
||||||
+ for (unsigned i = 0, max = len(items); i < max; ++i)
|
|
||||||
+ api::setattr(current, items[i][0], items[i][1]);
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
|||||||
diff -up /home/petr/fedora/boost/F-12/boost_1_39_0/boost/python/detail/translate_exception.hpp\~ /home/petr/fedora/boost/F-12/boost_1_39_0/boost/python/detail/translate_exception.hpp
|
|
||||||
--- boost_1_39_0/boost/python/detail/translate_exception.hpp~ 2004-08-20 13:10:24.000000000 +0200
|
|
||||||
+++ boost_1_39_0/boost/python/detail/translate_exception.hpp 2009-11-16 23:30:23.000000000 +0100
|
|
||||||
@@ -9,6 +9,7 @@
|
|
||||||
|
|
||||||
# include <boost/call_traits.hpp>
|
|
||||||
# include <boost/type_traits/add_const.hpp>
|
|
||||||
+# include <boost/type_traits/add_reference.hpp>
|
|
||||||
|
|
||||||
# include <boost/function/function0.hpp>
|
|
||||||
|
|
||||||
|
|
||||||
Diff finished. Mon Nov 16 23:30:41 2009
|
|
@ -1,106 +0,0 @@
|
|||||||
Index: /trunk/libs/python/test/test_builtin_converters.py
|
|
||||||
===================================================================
|
|
||||||
--- /trunk/libs/python/test/test_builtin_converters.py (revision 40714)
|
|
||||||
+++ /trunk/libs/python/test/test_builtin_converters.py (revision 54919)
|
|
||||||
@@ -4,4 +4,22 @@
|
|
||||||
r"""
|
|
||||||
>>> from builtin_converters_ext import *
|
|
||||||
+
|
|
||||||
+# Use ctypes to get native C type sizes
|
|
||||||
+>>> from ctypes import sizeof, c_char, c_short, c_int, c_long, c_longlong
|
|
||||||
+>>> def test_values_signed(t):
|
|
||||||
+... base = 2 ** (8 * sizeof(t) - 1)
|
|
||||||
+... return [[-base, -1, 1, base - 1], [-base - 1, base]]
|
|
||||||
+>>> def test_values_unsigned(t):
|
|
||||||
+... base = 2 ** (8 * sizeof(t))
|
|
||||||
+... return [[1, base - 1], [-1L, -1, base]]
|
|
||||||
+>>> def should_pass(method, values):
|
|
||||||
+... result = map(method, values)
|
|
||||||
+... if result != values:
|
|
||||||
+... print "Got %s but expected %s" % (result, values)
|
|
||||||
+>>> def test_overflow(method, values):
|
|
||||||
+... for v in values:
|
|
||||||
+... try: method(v)
|
|
||||||
+... except OverflowError: pass
|
|
||||||
+... else: print "OverflowError expected"
|
|
||||||
|
|
||||||
# Synthesize idendity functions in case long long not supported
|
|
||||||
@@ -63,13 +81,35 @@
|
|
||||||
|
|
||||||
show that we have range checking.
|
|
||||||
-
|
|
||||||
->>> try: rewrap_value_unsigned_short(-42)
|
|
||||||
-... except OverflowError: pass
|
|
||||||
-... else: print 'expected an OverflowError!'
|
|
||||||
-
|
|
||||||
->>> try: rewrap_value_int(sys.maxint * 2)
|
|
||||||
-... except OverflowError: pass
|
|
||||||
-... else: print 'expected an OverflowError!'
|
|
||||||
-
|
|
||||||
+
|
|
||||||
+>>> should_pass(rewrap_value_signed_char, test_values_signed(c_char)[0])
|
|
||||||
+>>> should_pass(rewrap_value_short, test_values_signed(c_short)[0])
|
|
||||||
+>>> should_pass(rewrap_value_int, test_values_signed(c_int)[0])
|
|
||||||
+>>> should_pass(rewrap_value_long, test_values_signed(c_long)[0])
|
|
||||||
+>>> should_pass(rewrap_value_long_long, test_values_signed(c_longlong)[0])
|
|
||||||
+
|
|
||||||
+>>> should_pass(rewrap_value_unsigned_char, test_values_unsigned(c_char)[0])
|
|
||||||
+>>> should_pass(rewrap_value_unsigned_short, test_values_unsigned(c_short)[0])
|
|
||||||
+>>> should_pass(rewrap_value_unsigned_int, test_values_unsigned(c_int)[0])
|
|
||||||
+>>> should_pass(rewrap_value_unsigned_long, test_values_unsigned(c_long)[0])
|
|
||||||
+>>> should_pass(rewrap_value_unsigned_long_long,
|
|
||||||
+... test_values_unsigned(c_longlong)[0])
|
|
||||||
+
|
|
||||||
+>>> test_overflow(rewrap_value_signed_char, test_values_signed(c_char)[1])
|
|
||||||
+>>> test_overflow(rewrap_value_short, test_values_signed(c_short)[1])
|
|
||||||
+>>> test_overflow(rewrap_value_int, test_values_signed(c_int)[1])
|
|
||||||
+>>> test_overflow(rewrap_value_long, test_values_signed(c_long)[1])
|
|
||||||
+>>> test_overflow(rewrap_value_long_long, test_values_signed(c_longlong)[1])
|
|
||||||
+
|
|
||||||
+>>> test_overflow(rewrap_value_unsigned_char, test_values_unsigned(c_char)[1])
|
|
||||||
+>>> test_overflow(rewrap_value_unsigned_short, test_values_unsigned(c_short)[1])
|
|
||||||
+>>> test_overflow(rewrap_value_unsigned_int, test_values_unsigned(c_int)[1])
|
|
||||||
+>>> test_overflow(rewrap_value_unsigned_long, test_values_unsigned(c_long)[1])
|
|
||||||
+
|
|
||||||
+# Exceptionally for PyLong_AsUnsignedLongLong(), a negative value raises
|
|
||||||
+# TypeError on Python versions prior to 2.7
|
|
||||||
+>>> for v in test_values_unsigned(c_longlong)[1]:
|
|
||||||
+... try: rewrap_value_unsigned_long_long(v)
|
|
||||||
+... except (OverflowError, TypeError): pass
|
|
||||||
+... else: print "OverflowError or TypeError expected"
|
|
||||||
|
|
||||||
>>> assert abs(rewrap_value_float(4.2) - 4.2) < .000001
|
|
||||||
Index: /trunk/libs/python/src/converter/builtin_converters.cpp
|
|
||||||
===================================================================
|
|
||||||
--- /trunk/libs/python/src/converter/builtin_converters.cpp (revision 52299)
|
|
||||||
+++ /trunk/libs/python/src/converter/builtin_converters.cpp (revision 54919)
|
|
||||||
@@ -156,8 +156,25 @@
|
|
||||||
static T extract(PyObject* intermediate)
|
|
||||||
{
|
|
||||||
- return numeric_cast<T>(
|
|
||||||
- PyLong_Check(intermediate)
|
|
||||||
- ? PyLong_AsUnsignedLong(intermediate)
|
|
||||||
- : PyInt_AS_LONG(intermediate));
|
|
||||||
+ if (PyLong_Check(intermediate)) {
|
|
||||||
+ // PyLong_AsUnsignedLong() checks for negative overflow, so no
|
|
||||||
+ // need to check it here.
|
|
||||||
+ unsigned long result = PyLong_AsUnsignedLong(intermediate);
|
|
||||||
+ if (PyErr_Occurred())
|
|
||||||
+ throw_error_already_set();
|
|
||||||
+ return numeric_cast<T>(result);
|
|
||||||
+ } else {
|
|
||||||
+ // None of PyInt_AsUnsigned*() functions check for negative
|
|
||||||
+ // overflow, so use PyInt_AS_LONG instead and check if number is
|
|
||||||
+ // negative, issuing the exception appropriately.
|
|
||||||
+ long result = PyInt_AS_LONG(intermediate);
|
|
||||||
+ if (PyErr_Occurred())
|
|
||||||
+ throw_error_already_set();
|
|
||||||
+ if (result < 0) {
|
|
||||||
+ PyErr_SetString(PyExc_OverflowError, "can't convert negative"
|
|
||||||
+ " value to unsigned");
|
|
||||||
+ throw_error_already_set();
|
|
||||||
+ }
|
|
||||||
+ return numeric_cast<T>(result);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
};
|
|
@ -1,168 +0,0 @@
|
|||||||
*** tools/regression/src/run_tests.sh.orig 2007-07-31 19:44:25.000000000 -0500
|
|
||||||
--- tools/regression/src/run_tests.sh 2007-08-01 12:17:25.000000000 -0500
|
|
||||||
***************
|
|
||||||
*** 15,21 ****
|
|
||||||
# This can be either a non-exitent directory or an already complete Boost
|
|
||||||
# source tree.
|
|
||||||
#
|
|
||||||
! boost_root="$HOME/CVSROOTs/Boost/boost_regression"
|
|
||||||
|
|
||||||
#
|
|
||||||
# Wether to fetch the most current Boost code from CVS (yes/no):
|
|
||||||
--- 15,21 ----
|
|
||||||
# This can be either a non-exitent directory or an already complete Boost
|
|
||||||
# source tree.
|
|
||||||
#
|
|
||||||
! boost_root="/usr/src/redhat/BUILD/boost_1_34_1"
|
|
||||||
|
|
||||||
#
|
|
||||||
# Wether to fetch the most current Boost code from CVS (yes/no):
|
|
||||||
*************** test_tools=gcc
|
|
||||||
*** 42,58 ****
|
|
||||||
toolset=gcc
|
|
||||||
|
|
||||||
#
|
|
||||||
- # "comment_path" is the path to an html-file describing the test environment.
|
|
||||||
- # The content of this file will be embedded in the status pages being produced.
|
|
||||||
- #
|
|
||||||
- comment_path="$boost_root/../regression_comment.html"
|
|
||||||
- #
|
|
||||||
# "test_dir" is the relative path to the directory to run the tests in,
|
|
||||||
# defaults to "status" and runs all the tests, but could be a sub-directory
|
|
||||||
# for example "libs/regex/test" to run the regex tests alone.
|
|
||||||
#
|
|
||||||
test_dir="status"
|
|
||||||
|
|
||||||
|
|
||||||
### DEFAULTS ARE OK FOR THESE.
|
|
||||||
|
|
||||||
--- 42,59 ----
|
|
||||||
toolset=gcc
|
|
||||||
|
|
||||||
#
|
|
||||||
# "test_dir" is the relative path to the directory to run the tests in,
|
|
||||||
# defaults to "status" and runs all the tests, but could be a sub-directory
|
|
||||||
# for example "libs/regex/test" to run the regex tests alone.
|
|
||||||
#
|
|
||||||
test_dir="status"
|
|
||||||
|
|
||||||
+ #
|
|
||||||
+ # "comment_path" is the path to an html-file describing the test environment.
|
|
||||||
+ # The content of this file will be embedded in the status pages being produced.
|
|
||||||
+ #
|
|
||||||
+ comment_path="$boost_root/$test_dir/regression_comment.html"
|
|
||||||
+
|
|
||||||
|
|
||||||
### DEFAULTS ARE OK FOR THESE.
|
|
||||||
|
|
||||||
*************** exe_suffix=
|
|
||||||
*** 71,76 ****
|
|
||||||
--- 72,80 ----
|
|
||||||
#
|
|
||||||
bjam="$boost_root/tools/jam/src/bin/bjam$exe_suffix"
|
|
||||||
|
|
||||||
+ # bjam options
|
|
||||||
+ bjam_flags="--layout=system variant=release -sICU_PATH=/usr --user-config=$boost_root/user-config.jam"
|
|
||||||
+
|
|
||||||
#
|
|
||||||
# "process_jam_log", and "compiler_status" paths to built helper programs:
|
|
||||||
# The location of the executables of the regression help programs. These
|
|
||||||
*************** else
|
|
||||||
*** 98,103 ****
|
|
||||||
--- 102,115 ----
|
|
||||||
fi
|
|
||||||
export BOOST_BUILD_PATH
|
|
||||||
|
|
||||||
+ # For shared objects.
|
|
||||||
+ old_ld_library_path=$LD_LIBRARY_PATH
|
|
||||||
+ old_ld_run_path=$LD_RUN_PATH
|
|
||||||
+ LD_LIBRARY_PATH="$boost_root/stage/lib:$old_ld_library_path"
|
|
||||||
+ LD_RUN_PATH="$boost_root/stage/lib:$old_ld_run_path"
|
|
||||||
+ export LD_LIBRARY_PATH
|
|
||||||
+ export LD_RUN_PATH
|
|
||||||
+
|
|
||||||
#
|
|
||||||
# STEP 0:
|
|
||||||
#
|
|
||||||
*************** fi
|
|
||||||
*** 126,137 ****
|
|
||||||
# STEP 1:
|
|
||||||
# rebuild bjam if required:
|
|
||||||
#
|
|
||||||
! echo building bjam:
|
|
||||||
! cd "$boost_root/tools/jam/src" && \
|
|
||||||
! LOCATE_TARGET=bin sh ./build.sh
|
|
||||||
! if test $? != 0 ; then
|
|
||||||
! echo "bjam build failed."
|
|
||||||
! exit 256
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
--- 138,152 ----
|
|
||||||
# STEP 1:
|
|
||||||
# rebuild bjam if required:
|
|
||||||
#
|
|
||||||
! echo "finding or building bjam":
|
|
||||||
! if test ! -f "$bjam" ; then
|
|
||||||
! echo "building bjam":
|
|
||||||
! cd "$boost_root/tools/jam/src" && \
|
|
||||||
! LOCATE_TARGET=bin sh ./build.sh
|
|
||||||
! if test $? != 0 ; then
|
|
||||||
! echo "bjam build failed."
|
|
||||||
! exit 256
|
|
||||||
! fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
*************** fi
|
|
||||||
*** 139,146 ****
|
|
||||||
# rebuild the regression test helper programs if required:
|
|
||||||
#
|
|
||||||
echo building regression test helper programs:
|
|
||||||
! cd "$boost_root/tools/regression/build" && \
|
|
||||||
! "$bjam" $toolset release
|
|
||||||
if test $? != 0 ; then
|
|
||||||
echo "helper program build failed."
|
|
||||||
exit 256
|
|
||||||
--- 154,160 ----
|
|
||||||
# rebuild the regression test helper programs if required:
|
|
||||||
#
|
|
||||||
echo building regression test helper programs:
|
|
||||||
! cd "$boost_root/tools/regression/build" && "$bjam" $bjam_flags $toolset
|
|
||||||
if test $? != 0 ; then
|
|
||||||
echo "helper program build failed."
|
|
||||||
exit 256
|
|
||||||
*************** for tool in $test_tools ; do
|
|
||||||
*** 158,164 ****
|
|
||||||
#
|
|
||||||
echo running the $tool regression tests:
|
|
||||||
cd "$boost_root/$test_dir"
|
|
||||||
! "$bjam" $tool --dump-tests 2>&1 | tee regress.log
|
|
||||||
|
|
||||||
#
|
|
||||||
# STEP 4:
|
|
||||||
--- 172,180 ----
|
|
||||||
#
|
|
||||||
echo running the $tool regression tests:
|
|
||||||
cd "$boost_root/$test_dir"
|
|
||||||
! echo "<p> begin time: " `date` "</p>" >> "$comment_path"
|
|
||||||
! "$bjam" $bjam_flags $tool --dump-tests 2>&1 | tee regress.log
|
|
||||||
! echo "<p> end time: " `date` "</p>" >> "$comment_path"
|
|
||||||
|
|
||||||
#
|
|
||||||
# STEP 4:
|
|
||||||
*************** if test $? != 0 ; then
|
|
||||||
*** 185,190 ****
|
|
||||||
--- 201,212 ----
|
|
||||||
exit 256
|
|
||||||
fi
|
|
||||||
|
|
||||||
+ # cleanup
|
|
||||||
+ LD_LIBRARY_PATH="$old_ld_library_path"
|
|
||||||
+ LD_RUN_PATH="$old_ld_run_path"
|
|
||||||
+ export LD_LIBRARY_PATH
|
|
||||||
+ export LD_RUN_PATH
|
|
||||||
+
|
|
||||||
echo "done!"
|
|
||||||
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
*** tools/build/v2/tools/gcc.jam.orig 2009-05-05 12:45:31.000000000 -0700
|
|
||||||
--- tools/build/v2/tools/gcc.jam 2009-05-05 12:48:23.000000000 -0700
|
|
||||||
*************** if [ os.name ] != NT && [ os.name ] != O
|
|
||||||
*** 355,361 ****
|
|
||||||
# OSF does have an option called -soname but it does not seem to work as
|
|
||||||
# expected, therefore it has been disabled.
|
|
||||||
HAVE_SONAME = "" ;
|
|
||||||
! SONAME_OPTION = -h ;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
--- 355,362 ----
|
|
||||||
# OSF does have an option called -soname but it does not seem to work as
|
|
||||||
# expected, therefore it has been disabled.
|
|
||||||
HAVE_SONAME = "" ;
|
|
||||||
! SONAME_OPTION = -soname ;
|
|
||||||
! SONAME_VERSION = _FEDORA_SONAME ;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
*************** rule link.dll ( targets * : sources * :
|
|
||||||
*** 793,799 ****
|
|
||||||
# Differs from 'link' above only by -shared.
|
|
||||||
actions link.dll bind LIBRARIES
|
|
||||||
{
|
|
||||||
! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
|
|
||||||
}
|
|
||||||
|
|
||||||
rule setup-threading ( targets * : sources * : properties * )
|
|
||||||
--- 794,800 ----
|
|
||||||
# Differs from 'link' above only by -shared.
|
|
||||||
actions link.dll bind LIBRARIES
|
|
||||||
{
|
|
||||||
! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
|
|
||||||
}
|
|
||||||
|
|
||||||
rule setup-threading ( targets * : sources * : properties * )
|
|
@ -1,11 +0,0 @@
|
|||||||
diff -ru boost/spirit/home/classic/iterator/multi_pass.hpp boost/spirit/home/classic/iterator/multi_pass.hpp
|
|
||||||
--- boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:38:36.000000000 +0000
|
|
||||||
+++ boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:39:41.000000000 +0000
|
|
||||||
@@ -12,7 +12,6 @@
|
|
||||||
#include <boost/throw_exception.hpp>
|
|
||||||
#include <deque>
|
|
||||||
#include <iterator>
|
|
||||||
-#include <iostream>
|
|
||||||
#include <algorithm> // for std::swap
|
|
||||||
#include <exception> // for std::exception
|
|
||||||
#include <boost/limits.hpp>
|
|
@ -1,19 +0,0 @@
|
|||||||
*** tools/build/v2/tools/gcc.jam.orig 2008-11-17 16:26:39.000000000 -0800
|
|
||||||
--- tools/build/v2/tools/gcc.jam 2008-11-17 16:31:08.000000000 -0800
|
|
||||||
*************** toolset.flags gcc.compile PCH_FILE <pch>
|
|
||||||
*** 292,298 ****
|
|
||||||
|
|
||||||
# Declare flags and action for compilation.
|
|
||||||
toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
|
|
||||||
! toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
|
|
||||||
toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
|
|
||||||
|
|
||||||
toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
|
|
||||||
--- 292,298 ----
|
|
||||||
|
|
||||||
# Declare flags and action for compilation.
|
|
||||||
toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
|
|
||||||
! toolset.flags gcc.compile OPTIONS <optimization>speed : "_FEDORA_OPT_FLAGS" ;
|
|
||||||
toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
|
|
||||||
|
|
||||||
toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
|
|
@ -1,36 +0,0 @@
|
|||||||
*** Jamroot.orig 2009-05-06 12:46:31.000000000 -0700
|
|
||||||
--- Jamroot 2009-05-06 18:18:17.000000000 -0700
|
|
||||||
*************** rule tag ( name : type ? : property-set
|
|
||||||
*** 344,350 ****
|
|
||||||
else
|
|
||||||
{
|
|
||||||
local result = [ common.format-name
|
|
||||||
! <base>
|
|
||||||
-$(BUILD_ID)
|
|
||||||
: $(name) : $(type) : $(property-set) ] ;
|
|
||||||
|
|
||||||
--- 344,350 ----
|
|
||||||
else
|
|
||||||
{
|
|
||||||
local result = [ common.format-name
|
|
||||||
! <base> <threading>
|
|
||||||
-$(BUILD_ID)
|
|
||||||
: $(name) : $(type) : $(property-set) ] ;
|
|
||||||
|
|
||||||
*************** rule tag ( name : type ? : property-set
|
|
||||||
*** 356,362 ****
|
|
||||||
# suffixes either. Pgi compilers can not accept library with version
|
|
||||||
# suffix.
|
|
||||||
if $(type) = SHARED_LIB &&
|
|
||||||
! ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) &&
|
|
||||||
! ( [ $(property-set).get <toolset> ] in pgi ) )
|
|
||||||
{
|
|
||||||
result = $(result).$(BOOST_VERSION) ;
|
|
||||||
--- 356,362 ----
|
|
||||||
# suffixes either. Pgi compilers can not accept library with version
|
|
||||||
# suffix.
|
|
||||||
if $(type) = SHARED_LIB &&
|
|
||||||
! ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix linux ) &&
|
|
||||||
! ( [ $(property-set).get <toolset> ] in pgi ) )
|
|
||||||
{
|
|
||||||
result = $(result).$(BOOST_VERSION) ;
|
|
391
boost.spec
391
boost.spec
@ -1,37 +1,43 @@
|
|||||||
|
# Support for documentation installation
|
||||||
|
# As the %%doc macro erases the target directory, namely
|
||||||
|
# $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}, manually installed
|
||||||
|
# documentation must be saved into a temporary dedicated directory.
|
||||||
|
%define boost_docdir __tmp_docdir
|
||||||
|
|
||||||
|
# Support for long double
|
||||||
%define disable_long_double 0
|
%define disable_long_double 0
|
||||||
%ifarch %{arm}
|
%ifarch %{arm}
|
||||||
%define disable_long_double 1
|
%define disable_long_double 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: boost
|
Name: boost
|
||||||
Summary: The Boost C++ Libraries
|
Summary: The free peer-reviewed portable C++ source libraries
|
||||||
Version: 1.39.0
|
Version: 1.41.0
|
||||||
Release: 11%{?dist}
|
Release: 2%{?dist}
|
||||||
License: Boost
|
License: Boost
|
||||||
URL: http://www.boost.org/
|
URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
Source: http://downloads.sourceforge.net/project/boost/boost/1.39.0/boost_1_39_0.tar.bz2
|
%define full_version %{name}-%{version}.cmake0
|
||||||
Obsoletes: boost-doc <= 1.30.2
|
Source: %{full_version}.tar.bz2
|
||||||
Obsoletes: boost-python <= 1.30.2
|
|
||||||
Provides: boost-doc = %{version}-%{release}
|
|
||||||
|
|
||||||
# boost is an "umbrella" package that pulls in all other boost components
|
# boost is an "umbrella" package that pulls in all other boost components
|
||||||
Requires: boost-date-time = %{version}-%{release}
|
Requires: boost-date-time = %{version}-%{release}
|
||||||
Requires: boost-filesystem = %{version}-%{release}
|
Requires: boost-filesystem = %{version}-%{release}
|
||||||
Requires: boost-graph = %{version}-%{release}
|
Requires: boost-graph = %{version}-%{release}
|
||||||
Requires: boost-iostreams = %{version}-%{release}
|
Requires: boost-iostreams = %{version}-%{release}
|
||||||
Requires: boost-math = %{version}-%{release}
|
Requires: boost-mpi = %{version}-%{release}
|
||||||
Requires: boost-test = %{version}-%{release}
|
|
||||||
Requires: boost-program-options = %{version}-%{release}
|
Requires: boost-program-options = %{version}-%{release}
|
||||||
Requires: boost-python = %{version}-%{release}
|
Requires: boost-python = %{version}-%{release}
|
||||||
Requires: boost-regex = %{version}-%{release}
|
Requires: boost-regex = %{version}-%{release}
|
||||||
Requires: boost-serialization = %{version}-%{release}
|
Requires: boost-serialization = %{version}-%{release}
|
||||||
Requires: boost-signals = %{version}-%{release}
|
Requires: boost-signals = %{version}-%{release}
|
||||||
Requires: boost-system = %{version}-%{release}
|
Requires: boost-system = %{version}-%{release}
|
||||||
|
Requires: boost-test = %{version}-%{release}
|
||||||
Requires: boost-thread = %{version}-%{release}
|
Requires: boost-thread = %{version}-%{release}
|
||||||
Requires: boost-wave = %{version}-%{release}
|
Requires: boost-wave = %{version}-%{release}
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
BuildRequires: cmake
|
||||||
BuildRequires: libstdc++-devel
|
BuildRequires: libstdc++-devel
|
||||||
BuildRequires: bzip2-libs
|
BuildRequires: bzip2-libs
|
||||||
BuildRequires: bzip2-devel
|
BuildRequires: bzip2-devel
|
||||||
@ -39,33 +45,13 @@ BuildRequires: zlib-devel
|
|||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
BuildRequires: libicu-devel
|
BuildRequires: libicu-devel
|
||||||
BuildRequires: chrpath
|
BuildRequires: chrpath
|
||||||
|
BuildRequires: mpich2-devel
|
||||||
|
|
||||||
# Fedora-centric patch.
|
Patch0: boost-graph-compile.patch
|
||||||
Patch0: boost-version-override.patch
|
Patch1: boost-cmake-soname.patch
|
||||||
Patch1: boost-use-rpm-optflags.patch
|
|
||||||
Patch2: boost-run-tests.patch
|
|
||||||
Patch3: boost-soname.patch
|
|
||||||
|
|
||||||
# Upstream status unknown.
|
|
||||||
Patch4: boost-unneccessary_iostreams.patch
|
|
||||||
Patch5: boost-bitset.patch
|
|
||||||
Patch6: boost-function_template.patch
|
|
||||||
Patch7: boost-fs_gcc44.patch
|
|
||||||
Patch8: boost-openssl-1.0.patch
|
|
||||||
|
|
||||||
# These patches are taken from post-1.39.0 SVN (i.e. are all upstream
|
|
||||||
# and will likely go away when we rebase).
|
|
||||||
Patch9: boost-gil_gcc44.patch
|
|
||||||
Patch10: boost-python_call_operator.patch
|
|
||||||
Patch11: boost-python_enums.patch
|
|
||||||
Patch12: boost-python_uint.patch
|
|
||||||
|
|
||||||
# Not upstream
|
|
||||||
Patch13: boost-python_translate_exception.patch
|
|
||||||
|
|
||||||
%bcond_with tests
|
%bcond_with tests
|
||||||
%bcond_with docs_generated
|
%bcond_with docs_generated
|
||||||
%define sonamever 5
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Boost provides free peer-reviewed portable C++ source libraries. The
|
Boost provides free peer-reviewed portable C++ source libraries. The
|
||||||
@ -115,21 +101,24 @@ Runtime support for Boost.IOStreams, a framework for defining streams,
|
|||||||
stream buffers and i/o filters.
|
stream buffers and i/o filters.
|
||||||
|
|
||||||
%package math
|
%package math
|
||||||
Summary: Runtime component of boost math library
|
Summary: Stub that used to contain boost math library
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
|
|
||||||
%description math
|
%description math
|
||||||
|
|
||||||
Runtime support Boost.Math, a library of math and numeric tools.
|
This package is a stub that used to contain runtime component of boost
|
||||||
|
math library. Now that boost math library is header-only, this
|
||||||
|
package is empty. It's kept around only so that during yum-assisted
|
||||||
|
update, old libraries from boost-math package aren't left around.
|
||||||
|
|
||||||
%package test
|
%package mpi
|
||||||
Summary: Runtime component of boost test library
|
Summary: Runtime component of boost mpi library
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
|
|
||||||
%description test
|
%description mpi
|
||||||
|
|
||||||
Runtime support for simple program testing, full unit testing, and for
|
Runtime support for Boost MPI, library providing a clean C++ API over
|
||||||
program execution monitoring.
|
the OpenMPI implementation of MPI.
|
||||||
|
|
||||||
%package program-options
|
%package program-options
|
||||||
Summary: Runtime component of boost program_options library
|
Summary: Runtime component of boost program_options library
|
||||||
@ -187,15 +176,14 @@ Runtime component of Boost operating system support library, including
|
|||||||
the diagnostics support that will be part of the C++0x standard
|
the diagnostics support that will be part of the C++0x standard
|
||||||
library.
|
library.
|
||||||
|
|
||||||
%package wave
|
%package test
|
||||||
Summary: Runtime component of boost C99/C++ preprocessing library
|
Summary: Runtime component of boost test library
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
|
|
||||||
%description wave
|
%description test
|
||||||
|
|
||||||
Runtime support for the Boost.Wave library, a Standards conformant,
|
Runtime support for simple program testing, full unit testing, and for
|
||||||
and highly configurable implementation of the mandated C99/C++
|
program execution monitoring.
|
||||||
preprocessor functionality.
|
|
||||||
|
|
||||||
%package thread
|
%package thread
|
||||||
Summary: Runtime component of boost thread library
|
Summary: Runtime component of boost thread library
|
||||||
@ -208,6 +196,16 @@ functions for managing multiple threads of execution, and for
|
|||||||
synchronizing data between the threads or providing separate copies of
|
synchronizing data between the threads or providing separate copies of
|
||||||
data specific to individual threads.
|
data specific to individual threads.
|
||||||
|
|
||||||
|
%package wave
|
||||||
|
Summary: Runtime component of boost C99/C++ preprocessing library
|
||||||
|
Group: System Environment/Libraries
|
||||||
|
|
||||||
|
%description wave
|
||||||
|
|
||||||
|
Runtime support for the Boost.Wave library, a Standards conformant,
|
||||||
|
and highly configurable implementation of the mandated C99/C++
|
||||||
|
preprocessor functionality.
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: The Boost C++ headers and shared development libraries
|
Summary: The Boost C++ headers and shared development libraries
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
@ -228,243 +226,286 @@ Provides: boost-devel-static = %{version}-%{release}
|
|||||||
Static Boost C++ libraries.
|
Static Boost C++ libraries.
|
||||||
|
|
||||||
%package doc
|
%package doc
|
||||||
Summary: The Boost C++ html docs
|
Summary: HTML documentation for the Boost C++ libraries
|
||||||
Group: Documentation
|
Group: Documentation
|
||||||
|
%if 0%{?fedora} >= 10
|
||||||
|
BuildArch: noarch
|
||||||
|
%endif
|
||||||
Provides: boost-python-docs = %{version}-%{release}
|
Provides: boost-python-docs = %{version}-%{release}
|
||||||
|
|
||||||
%description doc
|
%description doc
|
||||||
HTML documentation files for Boost C++ libraries.
|
This package contains the documentation in the HTML format of the Boost C++
|
||||||
|
libraries. The documentation provides the same content as that on the Boost
|
||||||
|
web page (http://www.boost.org/doc/libs/1_40_0).
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}_1_39_0
|
%setup -q -n %{full_version}
|
||||||
%patch0 -p0
|
%patch0 -p0
|
||||||
sed 's/_FEDORA_OPT_FLAGS/%{optflags}/' %{PATCH1} | %{__patch} -p0 --fuzz=0
|
#%patch1 -p0
|
||||||
%patch2 -p0
|
|
||||||
sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH3} | %{__patch} -p0 --fuzz=0
|
|
||||||
%patch4 -p0
|
|
||||||
%patch5 -p0
|
|
||||||
%patch6 -p0
|
|
||||||
%patch7 -p0
|
|
||||||
%patch8 -p1
|
|
||||||
%patch9 -p0
|
|
||||||
%patch10 -p2
|
|
||||||
%patch11 -p2
|
|
||||||
%patch12 -p2
|
|
||||||
%patch13 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
BOOST_ROOT=`pwd`
|
%{__mkdir_p} build
|
||||||
export BOOST_ROOT
|
cd build
|
||||||
|
|
||||||
# build make tools, ie bjam, necessary for building libs, docs, and testing
|
# Support for building tests.
|
||||||
(cd tools/jam/src && ./build.sh)
|
%define boost_testflags -DBUILD_TESTS="NONE"
|
||||||
BJAM=`find tools/jam/src/ -name bjam -a -type f`
|
%if %{with tests}
|
||||||
|
%define boost_testflags -DBUILD_TESTS="ALL"
|
||||||
CONFIGURE_FLAGS="--with-toolset=gcc"
|
|
||||||
PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]')
|
|
||||||
PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION"
|
|
||||||
REGEX_FLAGS="--with-icu"
|
|
||||||
./bootstrap.sh $CONFIGURE_FLAGS $PYTHON_FLAGS $REGEX_FLAGS
|
|
||||||
|
|
||||||
BUILD_VARIANTS="variant=release threading=single,multi debug-symbols=on"
|
|
||||||
BUILD_FLAGS="-d2 --layout=system $BUILD_VARIANTS"
|
|
||||||
%if %{disable_long_double}
|
|
||||||
LONG_DOUBLE_FLAGS="--disable-long-double"
|
|
||||||
%endif
|
%endif
|
||||||
$BJAM $BUILD_FLAGS $LONG_DOUBLE_FLAGS %{?_smp_mflags} stage
|
|
||||||
|
|
||||||
# build docs, requires a network connection for docbook XSLT stylesheets
|
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \
|
||||||
%if %{with docs_generated}
|
-DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF ..
|
||||||
cd ./doc
|
make VERBOSE=1 %{?_smp_mflags}
|
||||||
chmod +x ../tools/boostbook/setup_boostbook.sh
|
cd %{_builddir}/%{full_version}
|
||||||
../tools/boostbook/setup_boostbook.sh
|
|
||||||
USER_CFG=$BOOST_ROOT/tools/build/v2/user-config.jam
|
|
||||||
$BOOST_ROOT/$BJAM --v2 -sICU_PATH=/usr --user-config=$USER_CFG html
|
|
||||||
cd ..
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
%if %{with tests}
|
%if %{with tests}
|
||||||
echo "<p>" `uname -a` "</p>" > status/regression_comment.html
|
cd build
|
||||||
echo "" >> status/regression_comment.html
|
|
||||||
echo "<p>" `g++ --version` "</p>" >> status/regression_comment.html
|
|
||||||
echo "" >> status/regression_comment.html
|
|
||||||
|
|
||||||
cd tools/regression/build
|
# Standard test with CMake, depends on installed boost-test.
|
||||||
#$BOOST_ROOT/$BJAM
|
ctest --verbose --output-log testing.log
|
||||||
cd ../test
|
if [ -f testing.log ]; then
|
||||||
#python ./test.py
|
echo "" >> testing.log
|
||||||
cd ../../..
|
echo `date` >> testing.log
|
||||||
|
echo "" >> testing.log
|
||||||
results1=status/cs-`uname`.html
|
echo `uname -a` >> testing.log
|
||||||
results2=status/cs-`uname`-links.html
|
echo "" >> testing.log
|
||||||
email=benjamin.kosnik@gmail.com
|
echo `g++ --version` >> testing.log
|
||||||
if [ -f $results1 ] && [ -f $results2 ]; then
|
echo "" >> testing.log
|
||||||
echo "sending results starting"
|
|
||||||
testdate=`date +%Y%m%d`
|
testdate=`date +%Y%m%d`
|
||||||
testarch=`uname -m`
|
testarch=`uname -m`
|
||||||
results=boost-results-$testdate-$testarch.tar.bz2
|
email=benjamin.kosnik@gmail.com
|
||||||
tar -cvf boost-results-$testdate-$testarch.tar $results1 $results2
|
bzip2 -f testing.log
|
||||||
bzip2 -f boost-results-$testdate-$testarch.tar
|
echo "sending results starting"
|
||||||
echo | mutt -s "$testdate boost regression $testarch" -a $results $email
|
echo | mutt -s "$testdate boost test $testarch" -a testing.log.bz2 $email
|
||||||
echo "sending results finished"
|
echo "sending results finished"
|
||||||
else
|
else
|
||||||
echo "error sending results"
|
echo "error with results"
|
||||||
fi
|
fi
|
||||||
|
cd %{_builddir}/%{full_version}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
%{__rm} -rf $RPM_BUILD_ROOT
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_libdir}
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_includedir}
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
|
|
||||||
|
|
||||||
# install lib
|
cd %{_builddir}/%{full_version}/build
|
||||||
for i in `find stage -type f -name \*.a`; do
|
DESTDIR=$RPM_BUILD_ROOT make VERBOSE=1 install
|
||||||
NAME=`basename $i`;
|
|
||||||
install -p -m 0644 $i $RPM_BUILD_ROOT%{_libdir}/$NAME;
|
|
||||||
done;
|
|
||||||
for i in `find stage -type f -name \*.so`; do
|
|
||||||
NAME=$i;
|
|
||||||
SONAME=$i.%{sonamever};
|
|
||||||
VNAME=$i.%{version};
|
|
||||||
base=`basename $i`;
|
|
||||||
NAMEbase=$base;
|
|
||||||
SONAMEbase=$base.%{sonamever};
|
|
||||||
VNAMEbase=$base.%{version};
|
|
||||||
mv $i $VNAME;
|
|
||||||
|
|
||||||
# remove rpath
|
# Suppress the wrongly generated mpi.so library
|
||||||
chrpath --delete $VNAME;
|
# (it is temporary until upstream Boost-CMake fixes that)
|
||||||
|
%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/mpi.so
|
||||||
|
|
||||||
ln -s $VNAMEbase $SONAME;
|
# Kill any debug library versions that may show up un-invited.
|
||||||
ln -s $VNAMEbase $NAME;
|
%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/*-d.*
|
||||||
install -p -m 755 $VNAME $RPM_BUILD_ROOT%{_libdir}/$VNAMEbase;
|
|
||||||
|
|
||||||
mv $SONAME $RPM_BUILD_ROOT%{_libdir}/$SONAMEbase;
|
# Prepare the place to temporary store the generated documentation
|
||||||
mv $NAME $RPM_BUILD_ROOT%{_libdir}/$NAMEbase;
|
%{__rm} -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html
|
||||||
done;
|
|
||||||
|
|
||||||
# install include files
|
# Install documentation files (HTML pages) within the temporary place
|
||||||
find %{name} -type d | while read a; do
|
cd %{_builddir}/%{full_version}
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_includedir}/$a
|
DOCPATH=%{boost_docdir}
|
||||||
find $a -mindepth 1 -maxdepth 1 -type f \
|
|
||||||
| xargs -r install -m 644 -p -t $RPM_BUILD_ROOT%{_includedir}/$a
|
|
||||||
done
|
|
||||||
|
|
||||||
# install doc files
|
|
||||||
DOCPATH=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/
|
|
||||||
find libs doc more -type f \( -name \*.htm -o -name \*.html \) \
|
find libs doc more -type f \( -name \*.htm -o -name \*.html \) \
|
||||||
| sed -n '/\//{s,/[^/]*$,,;p}' \
|
| sed -n '/\//{s,/[^/]*$,,;p}' \
|
||||||
| sort -u > tmp-doc-directories
|
| sort -u > tmp-doc-directories
|
||||||
sed "s:^:$DOCPATH:" tmp-doc-directories | xargs -r mkdir -p
|
sed "s:^:$DOCPATH/:" tmp-doc-directories \
|
||||||
cat tmp-doc-directories | while read a; do
|
| xargs --no-run-if-empty %{__install} -d
|
||||||
find $a -mindepth 1 -maxdepth 1 -name \*.htm\* \
|
cat tmp-doc-directories | while read tobeinstalleddocdir; do
|
||||||
| xargs install -m 644 -p -t $DOCPATH$a
|
find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -name \*.htm\* \
|
||||||
|
| xargs %{__install} -p -m 644 -t $DOCPATH/$tobeinstalleddocdir
|
||||||
done
|
done
|
||||||
rm tmp-doc-directories
|
%{__rm} -f tmp-doc-directories
|
||||||
install -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html
|
%{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html
|
||||||
|
|
||||||
# remove scripts used to generate include files
|
# Remove scripts used to generate include files
|
||||||
find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm {} \;
|
find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{__rm} -f {} \;
|
||||||
|
|
||||||
|
# Remove cmake configuration files used to build the Boost libraries
|
||||||
|
find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \;
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
%{__rm} -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
%post date-time -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun date-time -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post filesystem -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun filesystem -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post graph -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun graph -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post iostreams -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun iostreams -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post mpi -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun mpi -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post program-options -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun program-options -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post python -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun python -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post regex -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun regex -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post serialization -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun serialization -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post signals -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun signals -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post system -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun system -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post test -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun test -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post thread -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun thread -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post wave -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun wave -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
|
|
||||||
%files date-time
|
%files date-time
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_date_time*.so.%{version}
|
%{_libdir}/libboost_date_time*.so.%{version}
|
||||||
%{_libdir}/libboost_date_time*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files filesystem
|
%files filesystem
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_filesystem*.so.%{version}
|
%{_libdir}/libboost_filesystem*.so.%{version}
|
||||||
%{_libdir}/libboost_filesystem*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files graph
|
%files graph
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_graph*.so.%{version}
|
%{_libdir}/libboost_graph*.so.%{version}
|
||||||
%{_libdir}/libboost_graph*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files iostreams
|
%files iostreams
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_iostreams*.so.%{version}
|
%{_libdir}/libboost_iostreams*.so.%{version}
|
||||||
%{_libdir}/libboost_iostreams*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files math
|
%files math
|
||||||
%defattr(-, root, root, -)
|
|
||||||
%{_libdir}/libboost_math*.so.%{version}
|
|
||||||
%{_libdir}/libboost_math*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files test
|
%files test
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_prg_exec_monitor*.so.%{version}
|
%{_libdir}/libboost_prg_exec_monitor*.so.%{version}
|
||||||
%{_libdir}/libboost_prg_exec_monitor*.so.%{sonamever}
|
|
||||||
%{_libdir}/libboost_unit_test_framework*.so.%{version}
|
%{_libdir}/libboost_unit_test_framework*.so.%{version}
|
||||||
%{_libdir}/libboost_unit_test_framework*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files program-options
|
%files program-options
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_program_options*.so.%{version}
|
%{_libdir}/libboost_program_options*.so.%{version}
|
||||||
%{_libdir}/libboost_program_options*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files python
|
%files python
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_python*.so.%{version}
|
%{_libdir}/libboost_python*.so.%{version}
|
||||||
%{_libdir}/libboost_python*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files regex
|
%files regex
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_regex*.so.%{version}
|
%{_libdir}/libboost_regex*.so.%{version}
|
||||||
%{_libdir}/libboost_regex*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files serialization
|
%files serialization
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_serialization*.so.%{version}
|
%{_libdir}/libboost_serialization*.so.%{version}
|
||||||
%{_libdir}/libboost_serialization*.so.%{sonamever}
|
|
||||||
%{_libdir}/libboost_wserialization*.so.%{version}
|
%{_libdir}/libboost_wserialization*.so.%{version}
|
||||||
%{_libdir}/libboost_wserialization*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files signals
|
%files signals
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_signals*.so.%{version}
|
%{_libdir}/libboost_signals*.so.%{version}
|
||||||
%{_libdir}/libboost_signals*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files system
|
%files system
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_system*.so.%{version}
|
%{_libdir}/libboost_system*.so.%{version}
|
||||||
%{_libdir}/libboost_system*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files thread
|
%files thread
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_thread*.so.%{version}
|
%{_libdir}/libboost_thread*.so.%{version}
|
||||||
%{_libdir}/libboost_thread*.so.%{sonamever}
|
|
||||||
|
|
||||||
%files wave
|
%files wave
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_wave*.so.%{version}
|
%{_libdir}/libboost_wave*.so.%{version}
|
||||||
%{_libdir}/libboost_wave*.so.%{sonamever}
|
|
||||||
|
%files mpi
|
||||||
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
|
%{_libdir}/libboost_mpi*.so.%{version}
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
%doc %{_docdir}/%{name}-%{version}
|
%doc %{boost_docdir}/*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
%{_includedir}/boost
|
%doc LICENSE_1_0.txt
|
||||||
|
%{_includedir}/%{name}
|
||||||
%{_libdir}/*.so
|
%{_libdir}/*.so
|
||||||
|
%{_datadir}/%{name}-%{version}
|
||||||
|
%{_datadir}/cmake/%{name}/BoostConfig*.cmake
|
||||||
|
|
||||||
%files static
|
%files static
|
||||||
%defattr(-, root, root, -)
|
%defattr(-, root, root, -)
|
||||||
|
%doc LICENSE_1_0.txt
|
||||||
%{_libdir}/*.a
|
%{_libdir}/*.a
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 14 2010 Petr Machata <pmachata@redhat.com> - 1.41.0-2
|
||||||
|
- Replace a boost-math subpackage with a stub
|
||||||
|
- Drop _cmake_lib_suffix and CMAKE_INSTALL_PREFIX magic, the rpm macro
|
||||||
|
does that for us
|
||||||
|
- Drop LICENSE from the umbrella package
|
||||||
|
- Drop obsolete Obsoletes: boost-python and boost-doc <= 1.30.2
|
||||||
|
|
||||||
|
* Tue Jan 12 2010 Benjamin Kosnik <bkoz@redhat.com> - 1.41.0-1
|
||||||
|
- Don't package generated debug libs, even with
|
||||||
|
(-DCMAKE_BUILD_TYPE=RelWithDebInfo | Release).
|
||||||
|
- Update and include boost-cmake-soname.patch.
|
||||||
|
- Uncomment ctest.
|
||||||
|
- Fix up --with tests to run tests.
|
||||||
|
|
||||||
|
* Sat Dec 19 2009 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.41.0-0.7
|
||||||
|
- Switched off the delivery into a versioned sub-directory
|
||||||
|
|
||||||
|
* Thu Dec 17 2009 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.41.0-0.6
|
||||||
|
- Boost-CMake upstream integration
|
||||||
|
|
||||||
|
* Wed Dec 16 2009 Benjamin Kosnik <bkoz@redhat.com> - 1.41.0-0.5
|
||||||
|
- Rebase to 1.41.0
|
||||||
|
- Set build type to RelWithDebInfo
|
||||||
|
- Resolves: #533922
|
||||||
|
|
||||||
|
* Mon Nov 16 2009 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.40.0-1
|
||||||
|
- Add support for the Boost.MPI sub-package
|
||||||
|
- Build with CMake (https://svn.boost.org/trac/boost/wiki/CMake)
|
||||||
|
- Resolves: #529563
|
||||||
|
|
||||||
* Mon Nov 16 2009 Petr Machata <pmachata@redhat.com> - 1.39.0-11
|
* Mon Nov 16 2009 Petr Machata <pmachata@redhat.com> - 1.39.0-11
|
||||||
- Move comment in Patch13 out of line
|
- Move comment in Patch13 out of line
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user