diff options
author | Markos Chandras <hwoarang@gentoo.org> | 2012-02-04 19:31:46 +0000 |
---|---|---|
committer | Markos Chandras <hwoarang@gentoo.org> | 2012-02-04 19:31:46 +0000 |
commit | 483e3063bd43567a6c18498e9ced6d3f238a72e5 (patch) | |
tree | 90ce6123e63f802df28175c7c93f6d0c9f204074 /dev-libs/boost | |
parent | Initial import, ebuild written by me (diff) | |
download | gentoo-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/ChangeLog | 6 | ||||
-rw-r--r-- | dev-libs/boost/boost-1.48.0-r1.ebuild | 1 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.48.0-BOOST_FOREACH.patch | 69 |
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 |