mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-16 14:29:05 -07:00
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
This commit is contained in:
37
dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.58.patch
Normal file
37
dev-cpp/lucene++/files/lucene++-3.0.7-boost-1.58.patch
Normal file
@@ -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>
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user