- (#205866: boost::spirit generates warnings with -Wshadow)

- (#205863: serialization lib generates warnings)
- (#204326: boost RPM missing dependencies)
- (#193465: [SIGNAL/BIND] Regressions with GCC 4.1)
- BUILD_FLAGS, add, to see actual compile line.
- REGEX_FLAGS, add, to compile regex with ICU support.
This commit is contained in:
Benjamin Kosnik 2006-11-14 11:29:37 +00:00
parent 3cbaf60746
commit 4da8270568
4 changed files with 190 additions and 3 deletions

12
boost-bind-gcc41.patch Normal file
View File

@ -0,0 +1,12 @@
Index: boost/bind.hpp
===================================================================
--- boost/bind.hpp.orig
+++ boost/bind.hpp
@@ -27,6 +27,7 @@
#include <boost/type.hpp>
#include <boost/bind/arg.hpp>
#include <boost/detail/workaround.hpp>
+#include <boost/visit_each.hpp>
// Borland-specific bug, visit_each() silently fails to produce code

View File

@ -0,0 +1,61 @@
*** boost/serialization/nvp.hpp.orig 2006-11-13 12:18:36.000000000 +0100
--- boost/serialization/nvp.hpp 2006-11-13 12:19:03.000000000 +0100
*************** struct nvp :
*** 43,51 ****
public std::pair<const char *, T *>,
public wrapper_traits<nvp<T> >
{
! explicit nvp(const char * name, T & t) :
// note: redundant cast works around borland issue
! std::pair<const char *, T *>(name, (T*)(& t))
{}
nvp(const nvp & rhs) :
// note: redundant cast works around borland issue
--- 43,51 ----
public std::pair<const char *, T *>,
public wrapper_traits<nvp<T> >
{
! explicit nvp(const char * name_, T & t) :
// note: redundant cast works around borland issue
! std::pair<const char *, T *>(name_, (T*)(& t))
{}
nvp(const nvp & rhs) :
// note: redundant cast works around borland issue
*** boost/archive/detail/iserializer.hpp.orig 2006-11-13 12:25:02.000000000 +0100
--- boost/archive/detail/iserializer.hpp 2006-11-13 12:25:43.000000000 +0100
*************** public:
*** 123,129 ****
return boost::serialization::implementation_level<T>::value
>= boost::serialization::object_class_info;
}
! virtual bool tracking(const unsigned int flags) const {
// if(0 != (flags & no_tracking))
// return false;
return boost::serialization::tracking_level<T>::value
--- 123,129 ----
return boost::serialization::implementation_level<T>::value
>= boost::serialization::object_class_info;
}
! virtual bool tracking(const unsigned int) const {
// if(0 != (flags & no_tracking))
// return false;
return boost::serialization::tracking_level<T>::value
*** boost/archive/detail/oserializer.hpp.orig 2006-11-13 12:25:06.000000000 +0100
--- boost/archive/detail/oserializer.hpp 2006-11-13 12:25:57.000000000 +0100
*************** public:
*** 115,121 ****
return boost::serialization::implementation_level<T>::value
>= boost::serialization::object_class_info;
}
! virtual bool tracking(const unsigned int flags) const {
// if(0 != (flags & no_tracking))
// return false;
return boost::serialization::tracking_level<T>::value == boost::serialization::track_always
--- 115,121 ----
return boost::serialization::implementation_level<T>::value
>= boost::serialization::object_class_info;
}
! virtual bool tracking(const unsigned int) const {
// if(0 != (flags & no_tracking))
// return false;
return boost::serialization::tracking_level<T>::value == boost::serialization::track_always

View File

@ -0,0 +1,94 @@
*** boost/spirit/core/non_terminal/impl/rule.ipp.orig 2006-11-13 11:54:53.000000000 +0100
--- boost/spirit/core/non_terminal/impl/rule.ipp 2006-11-13 11:55:31.000000000 +0100
*************** namespace boost { namespace spirit {
*** 224,230 ****
template <typename ParserT, typename ScannerT, typename AttrT>
struct concrete_parser : abstract_parser<ScannerT, AttrT>
{
! concrete_parser(ParserT const& p) : p(p) {}
virtual ~concrete_parser() {}
virtual typename match_result<ScannerT, AttrT>::type
--- 224,230 ----
template <typename ParserT, typename ScannerT, typename AttrT>
struct concrete_parser : abstract_parser<ScannerT, AttrT>
{
! concrete_parser(ParserT const& p_) : p(p_) {}
virtual ~concrete_parser() {}
virtual typename match_result<ScannerT, AttrT>::type
*** boost/spirit/core/impl/match.ipp.orig 2006-11-13 11:55:48.000000000 +0100
--- boost/spirit/core/impl/match.ipp 2006-11-13 11:57:19.000000000 +0100
*************** namespace boost { namespace spirit
*** 17,28 ****
: len(-1), val() {}
template <typename T>
! inline match<T>::match(std::size_t length)
! : len(length), val() {}
template <typename T>
! inline match<T>::match(std::size_t length, ctor_param_t val_)
! : len(length), val(val_) {}
template <typename T>
inline bool
--- 17,28 ----
: len(-1), val() {}
template <typename T>
! inline match<T>::match(std::size_t length_)
! : len(length_), val() {}
template <typename T>
! inline match<T>::match(std::size_t length_, ctor_param_t val_)
! : len(length_), val(val_) {}
template <typename T>
inline bool
*** boost/spirit/core/scanner/scanner.hpp.orig 2006-11-13 11:57:51.000000000 +0100
--- boost/spirit/core/scanner/scanner.hpp 2006-11-13 12:00:06.000000000 +0100
*************** namespace boost { namespace spirit
*** 242,263 ****
bool
at_end() const
{
! typedef typename PoliciesT::iteration_policy_t iteration_policy_t;
! return iteration_policy_t::at_end(*this);
}
value_t
operator*() const
{
! typedef typename PoliciesT::iteration_policy_t iteration_policy_t;
! return iteration_policy_t::filter(iteration_policy_t::get(*this));
}
scanner const&
operator++() const
{
! typedef typename PoliciesT::iteration_policy_t iteration_policy_t;
! iteration_policy_t::advance(*this);
return *this;
}
--- 242,260 ----
bool
at_end() const
{
! return PoliciesT::iteration_policy_t::at_end(*this);
}
value_t
operator*() const
{
! return PoliciesT::iteration_policy_t::filter(iteration_policy_t::get(*this));
}
scanner const&
operator++() const
{
! PoliciesT::iteration_policy_t::advance(*this);
return *this;
}

View File

@ -3,7 +3,7 @@
Name: boost
Summary: The Boost C++ Libraries
Version: 1.33.1
Release: 6.1
Release: 7
License: Boost Software License
URL: http://www.boost.org/
Group: System Environment/Libraries
@ -13,8 +13,11 @@ Prereq: /sbin/ldconfig
BuildRequires: libstdc++-devel python
BuildRequires: bzip2-libs
BuildRequires: bzip2-devel
BuildRequires: zlib
BuildRequires: zlib-devel
BuildRequires: python-devel
BuildRequires: libicu
BuildRequires: libicu-devel
Obsoletes: boost-doc <= 1.30.2
Obsoletes: boost-python <= 1.30.2
Patch0: boost-base.patch
@ -22,6 +25,9 @@ Patch1: boost-gcc-tools.patch
Patch2: boost-thread.patch
Patch3: boost-config-compiler-gcc.patch
Patch4: boost-runtests.patch
Patch5: boost-serialization-warnings.patch
Patch6: boost-spirit-warnings.patch
Patch7: boost-bind-gcc41.patch
%description
Boost provides free peer-reviewed portable C++ source libraries. The
@ -61,6 +67,9 @@ rm -rf $RPM_BUILD_ROOT
%patch2 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p0
%patch6 -p0
%patch7 -p0
%build
#build bjam
@ -68,10 +77,13 @@ rm -rf $RPM_BUILD_ROOT
#build boost with bjam
BJAM=`find tools/build/jam_src/ -name bjam -a -type f`
#BUILD_FLAGS="-sTOOLS=gcc -sBUILD=release <dllversion>1"
#BUILD_FLAGS="-sTOOLS=gcc -sBUILD=release"
BUILD_FLAGS="-d2 -sTOOLS=gcc -sBUILD=release"
PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]')
PYTHON_FLAGS="-sPYTHON_ROOT=/usr -sPYTHON_VERSION=$PYTHON_VERSION"
#$BJAM $PYTHON_FLAGS "-sTOOLS=gcc" "-sBUILD=release <dllversion>1" stage
$BJAM $PYTHON_FLAGS "-sTOOLS=gcc" "-sBUILD=release" stage
REGEX_FLAGS="-sHAVE_ICU=1"
$BJAM $PYTHON_FLAGS $REGEX_FLAGS $BUILD_FLAGS stage
#run tests
BOOST_ROOT=`pwd`;
@ -160,6 +172,14 @@ rm -rf $RPM_BUILD_ROOT
%{_docdir}/boost-%{version}
%changelog
* Mon Nov 13 2006 Benjamin Kosnik <bkoz@redhat.com> 1.33.1-7
- (#205866: boost::spirit generates warnings with -Wshadow)
- (#205863: serialization lib generates warnings)
- (#204326: boost RPM missing dependencies)
- (#193465: [SIGNAL/BIND] Regressions with GCC 4.1)
- BUILD_FLAGS, add, to see actual compile line.
- REGEX_FLAGS, add, to compile regex with ICU support.
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1.33.1-6.1
- rebuild