diff options
author | Sergey Popov <pinkbyte@gentoo.org> | 2015-11-07 14:39:04 +0300 |
---|---|---|
committer | Sergey Popov <pinkbyte@gentoo.org> | 2015-11-07 14:39:35 +0300 |
commit | 382adf0622c0f35113f2899f3f0e480ceec8de49 (patch) | |
tree | dcb125ef076dd08ce7f99a1268a5061577fc846a /dev-cpp/lucene++ | |
parent | dev-cpp/lucene++: drop old version (diff) | |
download | gentoo-382adf0622c0f35113f2899f3f0e480ceec8de49.tar.gz gentoo-382adf0622c0f35113f2899f3f0e480ceec8de49.tar.bz2 gentoo-382adf0622c0f35113f2899f3f0e480ceec8de49.zip |
dev-cpp/lucene++: fix building with Boost 1.58
Reported-by: Dennis Schridde <devurandom@gmx.net>
Gentoo-Bug: 560842
Package-Manager: portage-2.2.24
Diffstat (limited to 'dev-cpp/lucene++')
-rw-r--r-- | dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.58.patch | 37 | ||||
-rw-r--r-- | dev-cpp/lucene++/lucene++-3.0.7.ebuild | 2 |
2 files changed, 39 insertions, 0 deletions
diff --git a/dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.58.patch b/dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.58.patch new file mode 100644 index 000000000000..9ff33fd03005 --- /dev/null +++ b/dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.58.patch @@ -0,0 +1,37 @@ +commit 1987082cf9278a639d772b4f35a8ae2d34944177 +Author: Václav Slavík <vaclav@slavik.io> +Date: Mon May 4 18:04:46 2015 +0200 + + Fix compilation with Boost 1.58 + + 1.58 introduces strict type checking in boost::get() and while that's + good in theory, the VariantUtils code makes it impractical to use. + Instead, use relaxed_get() to get the old behavior. relaxed_get() didn't + exist in older versions of Boost, so the code must check BOOST_VERSION. + + Fixes #93. + +diff --git a/include/VariantUtils.h b/include/VariantUtils.h +index 1e6c243..5a72e59 100644 +--- a/include/VariantUtils.h ++++ b/include/VariantUtils.h +@@ -8,6 +8,7 @@ + #define VARIANTUTILS_H + + #include <boost/any.hpp> ++#include <boost/version.hpp> + #include "Lucene.h" + #include "MiscUtils.h" + +@@ -22,7 +23,11 @@ public: + + template <typename TYPE, typename VAR> + static TYPE get(VAR var) { ++#if BOOST_VERSION < 105800 + return var.type() == typeid(TYPE) ? boost::get<TYPE>(var) : TYPE(); ++#else ++ return var.type() == typeid(TYPE) ? boost::relaxed_get<TYPE>(var) : TYPE(); ++#endif + } + + template <typename TYPE, typename VAR> diff --git a/dev-cpp/lucene++/lucene++-3.0.7.ebuild b/dev-cpp/lucene++/lucene++-3.0.7.ebuild index 3bb2bb8343b1..c81426547e06 100644 --- a/dev-cpp/lucene++/lucene++-3.0.7.ebuild +++ b/dev-cpp/lucene++/lucene++-3.0.7.ebuild @@ -25,6 +25,8 @@ S="${WORKDIR}/${MY_P}" DOCS=( AUTHORS README.rst ) +PATCHES=( "${FILESDIR}/${P}-boost-1.58.patch" ) + src_configure() { local mycmakeargs=( -DENABLE_DEMO=OFF |