summaryrefslogtreecommitdiff
path: root/sci-libs/shogun/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-libs/shogun/files
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-libs/shogun/files')
-rw-r--r--sci-libs/shogun/files/shogun-4.1.0-remove-C-linkage.patch24
-rw-r--r--sci-libs/shogun/files/shogun-5.0.0-fix-buildsystem.patch72
2 files changed, 96 insertions, 0 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 000000000000..08edcfac97a2
--- /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/files/shogun-5.0.0-fix-buildsystem.patch b/sci-libs/shogun/files/shogun-5.0.0-fix-buildsystem.patch
new file mode 100644
index 000000000000..1eb7cd075ece
--- /dev/null
+++ b/sci-libs/shogun/files/shogun-5.0.0-fix-buildsystem.patch
@@ -0,0 +1,72 @@
+* Remove setting of user flags
+* Remove erroneous bundling of Eigen
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -33,15 +33,6 @@
+ SET(EIGEN_VERSION_MINIMUM 3.1.2)
+ SET(VIENNACL_VERSION_MINIMUM 1.5.0)
+
+-# Store system's or distribution's C[XX]FLAGS.
+-SET(SYSTEM_C_FLAGS "${CMAKE_C_FLAGS}")
+-SET(SYSTEM_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+-STRING(TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_UC)
+-IF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
+- SET(CMAKE_C_FLAGS "")
+- SET(CMAKE_CXX_FLAGS "")
+-ENDIF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
+-
+ # CCACHE
+ OPTION(ENABLE_CCACHE "Enable ccache for compilation" ON)
+ FIND_PACKAGE(CCache)
+@@ -174,24 +165,6 @@
+ SET(COMPILER_WARNINGS "-Wall -Wno-unused-parameter -Wformat -Wformat-security -Wparentheses -Wshadow -Wno-unknown-pragmas -Wno-deprecated")
+ ENDIF()
+
+-IF(CMAKE_COMPILER_IS_GNUCXX)
+- SET(RELEASE_COMPILER_FLAGS "-fexpensive-optimizations -frerun-cse-after-loop -fcse-follow-jumps -finline-functions -fschedule-insns2 -fthread-jumps -fforce-addr -fstrength-reduce -funroll-loops")
+- IF (${MACHINE} MATCHES "x86_64" OR ${MACHINE} MATCHES "i686")
+- SET(RELEASE_COMPILER_FLAGS "${RELEASE_COMPILER_FLAGS} -mfpmath=sse")
+- ENDIF()
+-ELSEIF(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
+- SET(RELEASE_COMPILER_FLAGS "-funroll-loops")
+-ENDIF()
+-SET(SWIG_CXX_COMPILER_FLAGS "-O0 -g")
+-SET(CMAKE_C_FLAGS "${COMPILER_WARNINGS} ${CMAKE_C_FLAGS}")
+-SET(CMAKE_CXX_FLAGS "${COMPILER_WARNINGS} ${CMAKE_CXX_FLAGS}")
+-SET(CMAKE_C_FLAGS_RELEASE "-O3 ${RELEASE_COMPILER_FLAGS}")
+-SET(CMAKE_CXX_FLAGS_RELEASE "-O3 ${RELEASE_COMPILER_FLAGS}")
+-SET(CMAKE_C_FLAGS_DISTRIBUTION "-O2")
+-SET(CMAKE_CXX_FLAGS_DISTRIBUTION "-O2")
+-SET(CMAKE_C_FLAGS_DEBUG "-g")
+-SET(CMAKE_CXX_FLAGS_DEBUG "-g")
+-
+ OPTION(ENABLE_COVERAGE "Enable code coverage" OFF)
+ IF(ENABLE_COVERAGE)
+ IF(NOT CMAKE_COMPILER_IS_GNUCXX)
+@@ -617,13 +590,6 @@
+ include(external/Eigen3)
+ LIST(APPEND SYSTEM_INCLUDES ${EIGEN_INCLUDE_DIR})
+ ELSE()
+- # eigen3 bug related to aliasing operators and self-storing.
+- # TODO put in proper reference and version from when this is fixed
+- IF(${EIGEN_VERSION} VERSION_GREATER 3.2.90)
+- MESSAGE(WARNING "The system Eigen3 version ${EIGEN_VERSION} is buggy, manually bundling.")
+- include(external/Eigen3)
+- ENDIF()
+-
+ LIST(APPEND SYSTEM_INCLUDES ${EIGEN_INCLUDE_DIR})
+ ENDIF()
+
+@@ -957,11 +923,6 @@
+ # Respect system's or distribution's C[XX]FLAGS.
+ OPTION(SWIG_WITH_SYSTEM_CFLAGS "Enable system's C[XX]FLAGS for compilation of swig-binaries" ON)
+
+-IF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
+- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SYSTEM_C_FLAGS}")
+- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SYSTEM_CXX_FLAGS}")
+-ENDIF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
+-
+ IF(SWIG_WITH_SYSTEM_CFLAGS)
+ SET(SWIG_CXX_COMPILER_FLAGS "${SWIG_CXX_COMPILER_FLAGS} ${SYSTEM_CXX_FLAGS}")
+ ENDIF(SWIG_WITH_SYSTEM_CFLAGS)