summaryrefslogtreecommitdiff
path: root/sci-libs/shogun
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2016-06-05 13:29:57 +0200
committerDavid Seifert <soap@gentoo.org>2016-06-05 13:35:06 +0200
commitefdc6db355ea52656faded3e4408d9a89d527379 (patch)
tree9f1dcc91e23c353cfe8ca8015f4f42be148b19a5 /sci-libs/shogun
parentde912338b44d1f7d96c81fcf85e21d8f7fa7d7a4 (diff)
downloadgentoo-efdc6db355ea52656faded3e4408d9a89d527379.tar.gz
gentoo-efdc6db355ea52656faded3e4408d9a89d527379.tar.xz
sci-libs/shogun: Remove extern "C", fix USE="doc" generation
Gentoo-Bug: 582464 Package-Manager: portage-2.3.0_rc1
Diffstat (limited to 'sci-libs/shogun')
-rw-r--r--sci-libs/shogun/files/shogun-4.1.0-remove-C-linkage.patch24
-rw-r--r--sci-libs/shogun/shogun-4.1.0.ebuild3
2 files changed, 26 insertions, 1 deletions
diff --git a/sci-libs/shogun/files/shogun-4.1.0-remove-C-linkage.patch b/sci-libs/shogun/files/shogun-4.1.0-remove-C-linkage.patch
new file mode 100644
index 00000000000..08edcfac97a
--- /dev/null
+++ b/sci-libs/shogun/files/shogun-4.1.0-remove-C-linkage.patch
@@ -0,0 +1,24 @@
+Prevent C linkage errors due to templates in extern "C" blocks:
+* /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cpp_type_traits.h:85:3: error: template with C linkage
+* template<bool>
+* ^
+* /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cpp_type_traits.h:89:3: error: template specialization with C linkage
+* template<>
+* ^
+extern "C" blocks can be removed in shogun, as R internally correctly protects C symbols
+
+--- shogun-4.1.0/src/interfaces/r_modular/sg_print_functions.cpp
++++ shogun-4.1.0/src/interfaces/r_modular/sg_print_functions.cpp
+@@ -1,4 +1,3 @@
+-extern "C" {
+ #include <R.h>
+ #include <Rinternals.h>
+ #include <Rdefines.h>
+@@ -7,7 +6,6 @@
+ #include <Rinterface.h>
+ #include <R_ext/RS.h>
+ #include <R_ext/Error.h>
+-}
+
+ #include <shogun/base/SGObject.h>
+ #include <stdio.h>
diff --git a/sci-libs/shogun/shogun-4.1.0.ebuild b/sci-libs/shogun/shogun-4.1.0.ebuild
index 651f7bbc865..3258b84c830 100644
--- a/sci-libs/shogun/shogun-4.1.0.ebuild
+++ b/sci-libs/shogun/shogun-4.1.0.ebuild
@@ -78,6 +78,7 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}"/${P}-fix-buildsystem.patch
+ "${FILESDIR}"/${P}-remove-C-linkage.patch
)
pkg_setup() {
@@ -123,5 +124,5 @@ src_configure() {
src_compile() {
cmake-utils_src_compile
- use doc && emake -C doc
+ use doc && emake -C "${BUILD_DIR}"/doc
}