[pkg-boost-commits] r14688 - in boost/trunk/debian: . patches

Steven Michael Robbins smr at alioth.debian.org
Tue Dec 20 06:07:38 UTC 2011


Author: smr
Date: 2011-12-20 06:07:38 +0000 (Tue, 20 Dec 2011)
New Revision: 14688

Added:
   boost/trunk/debian/patches/foreach.patch
Modified:
   boost/trunk/debian/changelog
   boost/trunk/debian/patches/series
Log:
Fix BOOST_FOREACH build issues.

Modified: boost/trunk/debian/changelog
===================================================================
--- boost/trunk/debian/changelog	2011-12-18 00:51:28 UTC (rev 14687)
+++ boost/trunk/debian/changelog	2011-12-20 06:07:38 UTC (rev 14688)
@@ -1,3 +1,10 @@
+boost1.48 (1.48.0-2) unstable; urgency=low
+
+  * patches/foreach.patch: New.  Upstream patch to fix BOOST_FOREACH build
+    issues.  Closes: #652677.
+
+ -- Steve M. Robbins <smr at debian.org>  Tue, 20 Dec 2011 00:03:03 -0600
+
 boost1.48 (1.48.0-1) unstable; urgency=low
 
   * New upstream.  Closes: #634245.

Added: boost/trunk/debian/patches/foreach.patch
===================================================================
--- boost/trunk/debian/patches/foreach.patch	                        (rev 0)
+++ boost/trunk/debian/patches/foreach.patch	2011-12-20 06:07:38 UTC (rev 14688)
@@ -0,0 +1,72 @@
+Description: Fixes compile errors related to BOOST_FOREACH
+ Patch taken from upstream commit 75634.
+Author: Eric Niebler
+Forwarded: https://svn.boost.org/trac/boost/ticket/6131
+
+
+--- boost1.48-1.48.0.orig/boost/foreach.hpp
++++ boost1.48-1.48.0/boost/foreach.hpp
+@@ -165,7 +165,7 @@
+ //   this one works on legacy compilers. Overload boost_foreach_is_lightweight_proxy
+ //   at the global namespace for your type.
+ template<typename T>
+-inline boost::foreach::is_lightweight_proxy<T> *
++inline boost::BOOST_FOREACH::is_lightweight_proxy<T> *
+ boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
+ 
+ template<typename T>
+@@ -190,7 +190,7 @@
+ //   this one works on legacy compilers. Overload boost_foreach_is_noncopyable
+ //   at the global namespace for your type.
+ template<typename T>
+-inline boost::foreach::is_noncopyable<T> *
++inline boost::BOOST_FOREACH::is_noncopyable<T> *
+ boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
+ 
+ namespace boost
+--- boost1.48-1.48.0.orig/boost/foreach_fwd.hpp
++++ boost1.48-1.48.0/boost/foreach_fwd.hpp
+@@ -14,6 +14,8 @@
+ #ifndef BOOST_FOREACH_FWD_HPP
+ #define BOOST_FOREACH_FWD_HPP
+ 
++#include <utility> // for std::pair
++
+ // This must be at global scope, hence the uglified name
+ enum boost_foreach_argument_dependent_lookup_hack
+ {
+@@ -25,6 +27,9 @@
+ 
+ namespace foreach
+ {
++    template<typename T>
++    std::pair<T, T> in_range(T begin, T end);
++
+     ///////////////////////////////////////////////////////////////////////////////
+     // boost::foreach::tag
+     //
+@@ -46,6 +51,24 @@
+ 
+ } // namespace foreach
+ 
++// Workaround for unfortunate https://svn.boost.org/trac/boost/ticket/6131
++namespace BOOST_FOREACH
++{
++    using foreach::in_range;
++    using foreach::tag;
++
++    template<typename T>
++    struct is_lightweight_proxy
++      : foreach::is_lightweight_proxy<T>
++    {};
++
++    template<typename T>
++    struct is_noncopyable
++      : foreach::is_noncopyable<T>
++    {};
++
++} // namespace BOOST_FOREACH
++
+ } // namespace boost
+ 
+ #endif

Modified: boost/trunk/debian/patches/series
===================================================================
--- boost/trunk/debian/patches/series	2011-12-18 00:51:28 UTC (rev 14687)
+++ boost/trunk/debian/patches/series	2011-12-20 06:07:38 UTC (rev 14688)
@@ -1,3 +1,4 @@
+foreach.patch
 boost-python-examples.patch
 endian.patch
 sh4.patch




More information about the pkg-boost-commits mailing list