summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <hwoarang@gentoo.org>2012-02-04 19:31:46 +0000
committerMarkos Chandras <hwoarang@gentoo.org>2012-02-04 19:31:46 +0000
commit483e3063bd43567a6c18498e9ced6d3f238a72e5 (patch)
tree90ce6123e63f802df28175c7c93f6d0c9f204074 /dev-libs/boost
parentInitial import, ebuild written by me (diff)
downloadgentoo-2-483e3063bd43567a6c18498e9ced6d3f238a72e5.tar.gz
gentoo-2-483e3063bd43567a6c18498e9ced6d3f238a72e5.tar.bz2
gentoo-2-483e3063bd43567a6c18498e9ced6d3f238a72e5.zip
Backport fix for BOOST_FOREACH from upstream.
(Portage version: 2.2.0_alpha84/cvs/Linux x86_64)
Diffstat (limited to 'dev-libs/boost')
-rw-r--r--dev-libs/boost/ChangeLog6
-rw-r--r--dev-libs/boost/boost-1.48.0-r1.ebuild1
-rw-r--r--dev-libs/boost/files/boost-1.48.0-BOOST_FOREACH.patch69
3 files changed, 75 insertions, 1 deletions
diff --git a/dev-libs/boost/ChangeLog b/dev-libs/boost/ChangeLog
index 30952e33dfc9..80772b74145b 100644
--- a/dev-libs/boost/ChangeLog
+++ b/dev-libs/boost/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-libs/boost
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v 1.235 2012/01/23 22:23:22 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/boost/ChangeLog,v 1.236 2012/02/04 19:31:46 hwoarang Exp $
+
+ 04 Feb 2012; Markos Chandras <hwoarang@gentoo.org>
+ +files/boost-1.48.0-BOOST_FOREACH.patch, boost-1.48.0-r1.ebuild:
+ Backport fix for BOOST_FOREACH from upstream.
*boost-1.48.0-r1 (23 Jan 2012)
diff --git a/dev-libs/boost/boost-1.48.0-r1.ebuild b/dev-libs/boost/boost-1.48.0-r1.ebuild
index 5e043fbd1020..0bd4150fcdfe 100644
--- a/dev-libs/boost/boost-1.48.0-r1.ebuild
+++ b/dev-libs/boost/boost-1.48.0-r1.ebuild
@@ -118,6 +118,7 @@ pkg_setup() {
}
src_prepare() {
+ epatch "${FILESDIR}/${P}-BOOST_FOREACH.patch"
epatch "${FILESDIR}/${P}-mpi_python3.patch"
epatch "${FILESDIR}/${P}-respect_python-buildid.patch"
epatch "${FILESDIR}/${P}-support_dots_in_python-buildid.patch"
diff --git a/dev-libs/boost/files/boost-1.48.0-BOOST_FOREACH.patch b/dev-libs/boost/files/boost-1.48.0-BOOST_FOREACH.patch
new file mode 100644
index 000000000000..02f7a013fbb8
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.48.0-BOOST_FOREACH.patch
@@ -0,0 +1,69 @@
+https://svn.boost.org/trac/boost/ticket/6131
+https://svn.boost.org/trac/boost/changeset/75540
+
+--- boost/foreach_fwd.hpp
++++ 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
+--- boost/foreach.hpp
++++ 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