mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sci-libs/shogun: Remove extern "C", fix USE="doc" generation
Gentoo-Bug: 582464 Package-Manager: portage-2.3.0_rc1
This commit is contained in:
24
sci-libs/shogun/files/shogun-4.1.0-remove-C-linkage.patch
Normal file
24
sci-libs/shogun/files/shogun-4.1.0-remove-C-linkage.patch
Normal file
@@ -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>
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user