diff --git a/boost-gil_gcc44-2.patch b/boost-gil_gcc44-2.patch new file mode 100644 index 0000000..59ddbe0 --- /dev/null +++ b/boost-gil_gcc44-2.patch @@ -0,0 +1,159 @@ +Index: /trunk/boost/gil/color_base.hpp +=================================================================== +--- /trunk/boost/gil/color_base.hpp (revision 54725) ++++ /trunk/boost/gil/color_base.hpp (revision 58777) +@@ -86,5 +86,5 @@ + operator Element () const { return _v0; } + +- template homogeneous_color_base(const homogeneous_color_base& c) : _v0(at_c<0>(c)) {} ++ template homogeneous_color_base(const homogeneous_color_base& c) : _v0(gil::at_c<0>(c)) {} + }; + +@@ -108,11 +108,11 @@ + + template homogeneous_color_base(const homogeneous_color_base& c) : +- _v0(at_c::value>(c)), +- _v1(at_c::value>(c)) {} ++ _v0(gil::at_c::value>(c)), ++ _v1(gil::at_c::value>(c)) {} + + // Support for l-value reference proxy copy construction + template homogeneous_color_base( homogeneous_color_base& c) : +- _v0(at_c::value>(c)), +- _v1(at_c::value>(c)) {} ++ _v0(gil::at_c::value>(c)), ++ _v1(gil::at_c::value>(c)) {} + + // Support for planar_pixel_iterator construction and dereferencing +@@ -213,15 +213,15 @@ + + template homogeneous_color_base(const homogeneous_color_base& c) : +- _v0(at_c::value>(c)), +- _v1(at_c::value>(c)), +- _v2(at_c::value>(c)), +- _v3(at_c::value>(c)) {} ++ _v0(gil::at_c::value>(c)), ++ _v1(gil::at_c::value>(c)), ++ _v2(gil::at_c::value>(c)), ++ _v3(gil::at_c::value>(c)) {} + + // Support for l-value reference proxy copy construction + template homogeneous_color_base( homogeneous_color_base& c) : +- _v0(at_c::value>(c)), +- _v1(at_c::value>(c)), +- _v2(at_c::value>(c)), +- _v3(at_c::value>(c)) {} ++ _v0(gil::at_c::value>(c)), ++ _v1(gil::at_c::value>(c)), ++ _v2(gil::at_c::value>(c)), ++ _v3(gil::at_c::value>(c)) {} + + // Support for planar_pixel_iterator construction and dereferencing +@@ -279,17 +279,17 @@ + + template homogeneous_color_base(const homogeneous_color_base& c) : +- _v0(at_c::value>(c)), +- _v1(at_c::value>(c)), +- _v2(at_c::value>(c)), +- _v3(at_c::value>(c)), +- _v4(at_c::value>(c)) {} ++ _v0(gil::at_c::value>(c)), ++ _v1(gil::at_c::value>(c)), ++ _v2(gil::at_c::value>(c)), ++ _v3(gil::at_c::value>(c)), ++ _v4(gil::at_c::value>(c)) {} + + // Support for l-value reference proxy copy construction + template homogeneous_color_base( homogeneous_color_base& c) : +- _v0(at_c::value>(c)), +- _v1(at_c::value>(c)), +- _v2(at_c::value>(c)), +- _v3(at_c::value>(c)), +- _v4(at_c::value>(c)) {} ++ _v0(gil::at_c::value>(c)), ++ _v1(gil::at_c::value>(c)), ++ _v2(gil::at_c::value>(c)), ++ _v3(gil::at_c::value>(c)), ++ _v4(gil::at_c::value>(c)) {} + + // Support for planar_pixel_iterator construction and dereferencing +Index: /trunk/boost/gil/bit_aligned_pixel_reference.hpp +=================================================================== +--- /trunk/boost/gil/bit_aligned_pixel_reference.hpp (revision 54725) ++++ /trunk/boost/gil/bit_aligned_pixel_reference.hpp (revision 58777) +@@ -170,6 +170,6 @@ + private: + static void check_gray() { BOOST_STATIC_ASSERT((is_same::value)); } +- template void assign(const Channel& chan, mpl::false_) const { check_gray(); at_c<0>(*this)=chan; } +- template bool equal (const Channel& chan, mpl::false_) const { check_gray(); return at_c<0>(*this)==chan; } ++ template void assign(const Channel& chan, mpl::false_) const { check_gray(); gil::at_c<0>(*this)=chan; } ++ template bool equal (const Channel& chan, mpl::false_) const { check_gray(); return gil::at_c<0>(*this)==chan; } + }; + +Index: /trunk/boost/gil/extension/dynamic_image/reduce.hpp +=================================================================== +--- /trunk/boost/gil/extension/dynamic_image/reduce.hpp (revision 37609) ++++ /trunk/boost/gil/extension/dynamic_image/reduce.hpp (revision 58777) +@@ -60,5 +60,5 @@ + template + struct at_c, K> { +- static const std::size_t value=size::value - order::type>::type::value +1; ++ static const std::size_t value=size::value - order::type>::type::value +1; + typedef size_t type; + }; +Index: /trunk/boost/gil/gil_concept.hpp +=================================================================== +--- /trunk/boost/gil/gil_concept.hpp (revision 57980) ++++ /trunk/boost/gil/gil_concept.hpp (revision 58777) +@@ -619,5 +619,5 @@ + + #if !defined(_MSC_VER) || _MSC_VER > 1310 +- CR cr=at_c(cb); ignore_unused_variable_warning(cr); ++ CR cr=gil::at_c(cb); ignore_unused_variable_warning(cr); + #endif + +@@ -656,6 +656,6 @@ + + #if !defined(_MSC_VER) || _MSC_VER > 1310 +- CR r=at_c<0>(cb); +- at_c<0>(cb)=r; ++ CR r=gil::at_c<0>(cb); ++ gil::at_c<0>(cb)=r; + #endif + } +Index: /trunk/boost/gil/planar_pixel_iterator.hpp +=================================================================== +--- /trunk/boost/gil/planar_pixel_iterator.hpp (revision 54725) ++++ /trunk/boost/gil/planar_pixel_iterator.hpp (revision 58777) +@@ -185,5 +185,5 @@ + template + inline std::ptrdiff_t memunit_distance(const planar_pixel_iterator& p1, const planar_pixel_iterator& p2) { +- return memunit_distance(at_c<0>(p1),at_c<0>(p2)); ++ return memunit_distance(gil::at_c<0>(p1),gil::at_c<0>(p2)); + } + +Index: /trunk/boost/gil/packed_pixel.hpp +=================================================================== +--- /trunk/boost/gil/packed_pixel.hpp (revision 58302) ++++ /trunk/boost/gil/packed_pixel.hpp (revision 58777) +@@ -78,5 +78,5 @@ + packed_pixel(int chan0, int chan1) : _bitfield(0) { + BOOST_STATIC_ASSERT((num_channels::value==2)); +- at_c<0>(*this)=chan0; at_c<1>(*this)=chan1; ++ gil::at_c<0>(*this)=chan0; gil::at_c<1>(*this)=chan1; + } + packed_pixel(int chan0, int chan1, int chan2) : _bitfield(0) { +@@ -107,9 +107,9 @@ + // Support for assignment/equality comparison of a channel with a grayscale pixel + static void check_gray() { BOOST_STATIC_ASSERT((is_same::value)); } +- template void assign(const Channel& chan, mpl::false_) { check_gray(); at_c<0>(*this)=chan; } +- template bool equal (const Channel& chan, mpl::false_) const { check_gray(); return at_c<0>(*this)==chan; } ++ template void assign(const Channel& chan, mpl::false_) { check_gray(); gil::at_c<0>(*this)=chan; } ++ template bool equal (const Channel& chan, mpl::false_) const { check_gray(); return gil::at_c<0>(*this)==chan; } + public: +- packed_pixel& operator= (int chan) { check_gray(); at_c<0>(*this)=chan; return *this; } +- bool operator==(int chan) const { check_gray(); return at_c<0>(*this)==chan; } ++ packed_pixel& operator= (int chan) { check_gray(); gil::at_c<0>(*this)=chan; return *this; } ++ bool operator==(int chan) const { check_gray(); return gil::at_c<0>(*this)==chan; } + }; + diff --git a/boost.spec b/boost.spec index 413112e..37470b7 100644 --- a/boost.spec +++ b/boost.spec @@ -4,7 +4,7 @@ Name: boost Summary: The Boost C++ Libraries Version: 1.37.0 -Release: 8%{?dist} +Release: 9%{?dist} License: Boost URL: http://www.boost.org/ Group: System Environment/Libraries @@ -32,6 +32,7 @@ Patch7: boost-1_37_0-smp.patch Patch8: boost-bitset.patch Patch9: boost-fs_gcc44.patch Patch10: boost-gil_gcc44.patch +Patch11: boost-gil_gcc44-2.patch %description Boost provides free peer-reviewed portable C++ source libraries. The @@ -82,6 +83,7 @@ sed 's/!!!SMP_FLAGS!!!/%{?_smp_mflags}/' %{PATCH7} | %{__patch} -p1 --fuzz=0 %patch8 -p1 %patch9 -p0 %patch10 -p0 +%patch11 -p2 %build BOOST_ROOT=`pwd` @@ -214,6 +216,10 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-%{version} %changelog +* Wed Jan 27 2010 Petr Machata - 1.37.0-9 +- More GCC 4.4 name resolution fixes for GIL +- Resolves: #526834 + * Wed Oct 14 2009 Petr Machata - 1.37.0-8 - GCC 4.4 name resolution fixes for GIL - Resolves: #526834