summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2013-12-07 19:10:23 +0000
committerJustin Lecher <jlec@gentoo.org>2013-12-07 19:10:23 +0000
commita37fcc4661713f437da516150a889334ff4f7759 (patch)
tree9f90a2d6a767340c0f4513430454e76f9fd63754 /sci-libs/flann
parentUpdate SRC_URI. (diff)
downloadgentoo-2-a37fcc4661713f437da516150a889334ff4f7759.tar.gz
gentoo-2-a37fcc4661713f437da516150a889334ff4f7759.tar.bz2
gentoo-2-a37fcc4661713f437da516150a889334ff4f7759.zip
sci-libs/flann: Fix compilation problem with cuda; depend on fixed octave version for gcc-4.8, #492488; patch cmake and send patches upstream instead of sedding, add missing deps; use cuda.eclass; fix HOMEPAGE
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key B9D4F231BD1558AB!)
Diffstat (limited to 'sci-libs/flann')
-rw-r--r--sci-libs/flann/ChangeLog14
-rw-r--r--sci-libs/flann/files/flann-1.8.4-CUDA_NVCC_FLAGS.patch16
-rw-r--r--sci-libs/flann/files/flann-1.8.4-cuda5.5.patch61
-rw-r--r--sci-libs/flann/files/flann-1.8.4-docdir.patch24
-rw-r--r--sci-libs/flann/files/flann-1.8.4-examples.patch35
-rw-r--r--sci-libs/flann/files/flann-1.8.4-multilib.patch15
-rw-r--r--sci-libs/flann/files/flann-1.8.4-options.patch41
-rw-r--r--sci-libs/flann/flann-1.7.1.ebuild6
-rw-r--r--sci-libs/flann/flann-1.8.4-r1.ebuild (renamed from sci-libs/flann/flann-1.8.4.ebuild)52
-rw-r--r--sci-libs/flann/flann-9999.ebuild111
10 files changed, 348 insertions, 27 deletions
diff --git a/sci-libs/flann/ChangeLog b/sci-libs/flann/ChangeLog
index 2352512f6b41..0c0e13870729 100644
--- a/sci-libs/flann/ChangeLog
+++ b/sci-libs/flann/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for sci-libs/flann
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/flann/ChangeLog,v 1.20 2013/12/01 19:05:59 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/flann/ChangeLog,v 1.21 2013/12/07 19:10:22 jlec Exp $
+
+*flann-9999 (07 Dec 2013)
+*flann-1.8.4-r1 (07 Dec 2013)
+
+ 07 Dec 2013; Justin Lecher <jlec@gentoo.org> flann-1.7.1.ebuild,
+ -flann-1.8.4.ebuild, +flann-1.8.4-r1.ebuild, +flann-9999.ebuild,
+ +files/flann-1.8.4-CUDA_NVCC_FLAGS.patch, +files/flann-1.8.4-cuda5.5.patch,
+ +files/flann-1.8.4-docdir.patch, +files/flann-1.8.4-examples.patch,
+ +files/flann-1.8.4-multilib.patch, +files/flann-1.8.4-options.patch:
+ Fix compilation problem with cuda; depend on fixed octave version for
+ gcc-4.8, #492488; patch cmake and send patches upstream instead of sedding,
+ add missing deps; use cuda.eclass; fix HOMEPAGE
01 Dec 2013; Justin Lecher <jlec@gentoo.org> flann-1.8.4.ebuild:
only depend on hdf5 with USE=mpi and tests, #492584; thanks nikoli for the
diff --git a/sci-libs/flann/files/flann-1.8.4-CUDA_NVCC_FLAGS.patch b/sci-libs/flann/files/flann-1.8.4-CUDA_NVCC_FLAGS.patch
new file mode 100644
index 000000000000..1a068af28351
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-CUDA_NVCC_FLAGS.patch
@@ -0,0 +1,16 @@
+ src/cpp/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
+index 8e72409..a4b35b1 100644
+--- a/src/cpp/CMakeLists.txt
++++ b/src/cpp/CMakeLists.txt
+@@ -15,7 +15,7 @@ endif()
+ set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC FLANN_USE_CUDA)
+
+ if (BUILD_CUDA_LIB)
+- SET(CUDA_NVCC_FLAGS -DFLANN_USE_CUDA)
++ SET(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-DFLANN_USE_CUDA")
+ if(CMAKE_COMPILER_IS_GNUCC)
+ set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-Xcompiler;-fPIC;-arch=sm_13" )
+ if (NVCC_COMPILER_BINDIR)
diff --git a/sci-libs/flann/files/flann-1.8.4-cuda5.5.patch b/sci-libs/flann/files/flann-1.8.4-cuda5.5.patch
new file mode 100644
index 000000000000..046b3252c36f
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-cuda5.5.patch
@@ -0,0 +1,61 @@
+ src/cpp/flann/util/cuda/result_set.h | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/cpp/flann/util/cuda/result_set.h b/src/cpp/flann/util/cuda/result_set.h
+index 9ac8111..324ca1e 100644
+--- a/src/cpp/flann/util/cuda/result_set.h
++++ b/src/cpp/flann/util/cuda/result_set.h
+@@ -54,7 +54,7 @@ struct SingleResultSet
+ DistanceType bestDist;
+ const DistanceType epsError;
+
+- __device__
++ __device__ __host__
+ SingleResultSet( DistanceType eps ) : bestIndex(-1),bestDist(INFINITY), epsError(eps){ }
+
+ __device__
+@@ -129,7 +129,7 @@ struct KnnResultSet
+ const DistanceType epsError;
+
+
+- __device__
++ __device__ __host__
+ KnnResultSet(int knn, bool sortResults, DistanceType eps) : foundNeighbors(0),largestHeapDist(INFINITY),k(knn), sorted(sortResults), epsError(eps){ }
+
+ // __host__ __device__
+@@ -229,7 +229,7 @@ struct CountingRadiusResultSet
+ DistanceType radius_sq_;
+ int max_neighbors_;
+
+- __device__
++ __device__ __host__
+ CountingRadiusResultSet(DistanceType radius, int max_neighbors) : count_(0),radius_sq_(radius), max_neighbors_(max_neighbors){ }
+
+ __device__
+@@ -279,7 +279,7 @@ struct RadiusKnnResultSet
+ // int count_;
+
+
+- __device__
++ __device__ __host__
+ RadiusKnnResultSet(DistanceType radius, int knn, int* segment_starts, bool sortResults) : foundNeighbors(0),largestHeapDist(radius),k(knn), sorted(sortResults), radius_sq_(radius),segment_starts_(segment_starts) { }
+
+ // __host__ __device__
+@@ -381,7 +381,7 @@ struct KnnRadiusResultSet
+ const DistanceType radius_sq;
+
+
+- __device__
++ __device__ __host__
+ KnnRadiusResultSet(int knn, bool sortResults, DistanceType eps, DistanceType radius) : foundNeighbors(0),largestHeapDist(radius),k(knn), sorted(sortResults), epsError(eps),radius_sq(radius){ }
+
+ // __host__ __device__
+@@ -484,7 +484,7 @@ struct RadiusResultSet
+ int count_;
+ bool sorted_;
+
+- __device__
++ __device__ __host__
+ RadiusResultSet(DistanceType radius, int* segment_starts, bool sorted) : radius_sq_(radius), segment_starts_(segment_starts), count_(0), sorted_(sorted){ }
+
+ __device__
diff --git a/sci-libs/flann/files/flann-1.8.4-docdir.patch b/sci-libs/flann/files/flann-1.8.4-docdir.patch
new file mode 100644
index 000000000000..4b16684de14d
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-docdir.patch
@@ -0,0 +1,24 @@
+ doc/CMakeLists.txt | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 2d8eb24..aeac8ed 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -1,4 +1,8 @@
+ find_package(LATEX)
++
++if (NOT DOCDIR)
++ set(DOCDIR share/doc/flann)
++endif ()
+
+ if (EXISTS ${PDFLATEX_COMPILER} AND EXISTS ${BIBTEX_COMPILER})
+ include(${PROJECT_SOURCE_DIR}/cmake/UseLATEX.cmake)
+@@ -14,6 +18,6 @@ endif()
+
+ install(
+ FILES manual.pdf
+- DESTINATION share/doc/flann
++ DESTINATION ${DOCDIR}
+ OPTIONAL
+ )
diff --git a/sci-libs/flann/files/flann-1.8.4-examples.patch b/sci-libs/flann/files/flann-1.8.4-examples.patch
new file mode 100644
index 000000000000..b3346b35f73c
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-examples.patch
@@ -0,0 +1,35 @@
+From 3922081fbd6710f4b72421069f6bf24dc37d35a8 Mon Sep 17 00:00:00 2001
+From: Casey Goodlett <casey.goodlett@kitware.com>
+Date: Thu, 8 Aug 2013 18:42:45 -0400
+Subject: [PATCH] Option to disable example building
+
+---
+ CMakeLists.txt | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5b19367..410a8f9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,6 +53,7 @@ option(BUILD_C_BINDINGS "Build C bindings" ON)
+ option(BUILD_PYTHON_BINDINGS "Build Python bindings" ON)
+ option(BUILD_MATLAB_BINDINGS "Build Matlab bindings" ON)
+ option(BUILD_CUDA_LIB "Build CUDA library" OFF)
++option(BUILD_EXAMPLES "Build examples" ON)
+ option(USE_OPENMP "Use OpenMP multi-threading" ON)
+ option(USE_MPI "Use MPI" OFF)
+
+@@ -154,7 +155,9 @@ endif()
+
+ add_subdirectory( cmake )
+ add_subdirectory( src )
+-add_subdirectory( examples )
++if (BUILD_EXAMPLES)
++ add_subdirectory( examples )
++endif(BUILD_EXAMPLES)
+ add_subdirectory( test )
+ add_subdirectory( doc )
+
+--
+1.8.5.1
+
diff --git a/sci-libs/flann/files/flann-1.8.4-multilib.patch b/sci-libs/flann/files/flann-1.8.4-multilib.patch
new file mode 100644
index 000000000000..17a9d65dd778
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-multilib.patch
@@ -0,0 +1,15 @@
+ cmake/flann_utils.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/flann_utils.cmake b/cmake/flann_utils.cmake
+index 1a10939..afe4742 100644
+--- a/cmake/flann_utils.cmake
++++ b/cmake/flann_utils.cmake
+@@ -1,6 +1,6 @@
+ macro(GET_OS_INFO)
+ string(REGEX MATCH "Linux" OS_IS_LINUX ${CMAKE_SYSTEM_NAME})
+- set(FLANN_LIB_INSTALL_DIR "lib")
++ set(FLANN_LIB_INSTALL_DIR "lib${LIB_SUFFIX}")
+ set(FLANN_INCLUDE_INSTALL_DIR
+ "include/${PROJECT_NAME_LOWER}-${FLANN_MAJOR_VERSION}.${FLANN_MINOR_VERSION}")
+ endmacro(GET_OS_INFO)
diff --git a/sci-libs/flann/files/flann-1.8.4-options.patch b/sci-libs/flann/files/flann-1.8.4-options.patch
new file mode 100644
index 000000000000..dd212aca66a4
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-options.patch
@@ -0,0 +1,41 @@
+ CMakeLists.txt | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 410a8f9..b6244a4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -54,6 +54,8 @@ option(BUILD_PYTHON_BINDINGS "Build Python bindings" ON)
+ option(BUILD_MATLAB_BINDINGS "Build Matlab bindings" ON)
+ option(BUILD_CUDA_LIB "Build CUDA library" OFF)
+ option(BUILD_EXAMPLES "Build examples" ON)
++option(BUILD_TESTS "Build tests" ON)
++option(BUILD_DOC "Build documentation" ON)
+ option(USE_OPENMP "Use OpenMP multi-threading" ON)
+ option(USE_MPI "Use MPI" OFF)
+
+@@ -158,8 +160,12 @@ add_subdirectory( src )
+ if (BUILD_EXAMPLES)
+ add_subdirectory( examples )
+ endif(BUILD_EXAMPLES)
+-add_subdirectory( test )
+-add_subdirectory( doc )
++if (BUILD_TESTS)
++ add_subdirectory( test )
++endif (BUILD_TESTS)
++if (BUILD_DOC)
++ add_subdirectory( doc )
++endif (BUILD_DOC)
+
+
+ # CPACK options
+@@ -202,6 +208,9 @@ include(CPack)
+ message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}")
+ message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
+ message(STATUS "Building C bindings: ${BUILD_C_BINDINGS}")
++message(STATUS "Building examples: ${BUILD_EXAMPLES}")
++message(STATUS "Building tests: ${BUILD_TESTS}")
++message(STATUS "Building documentation: ${BUILD_DOC}")
+ message(STATUS "Building python bindings: ${BUILD_PYTHON_BINDINGS}")
+ message(STATUS "Building matlab bindings: ${BUILD_MATLAB_BINDINGS}")
+ message(STATUS "Building CUDA library: ${BUILD_CUDA_LIB}")
diff --git a/sci-libs/flann/flann-1.7.1.ebuild b/sci-libs/flann/flann-1.7.1.ebuild
index 4ef2177e2d21..1e3669b93853 100644
--- a/sci-libs/flann/flann-1.7.1.ebuild
+++ b/sci-libs/flann/flann-1.7.1.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/flann/flann-1.7.1.ebuild,v 1.4 2012/08/03 17:33:35 bicatali Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/flann/flann-1.7.1.ebuild,v 1.5 2013/12/07 19:10:22 jlec Exp $
EAPI=3
@@ -9,7 +9,7 @@ PYTHON_DEPEND="python? 2:2.5"
inherit cmake-utils eutils python
DESCRIPTION="Library for performing fast approximate nearest neighbor searches in high dimensional spaces"
-HOMEPAGE="http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN/"
+HOMEPAGE="http://www.cs.ubc.ca/research/flann/"
SRC_URI="http://people.cs.ubc.ca/~mariusm/uploads/FLANN/${P}-src.zip
test? ( http://dev.gentoo.org/~dilfridge/distfiles/${PN}-1.6.10-testdata.tar.xz )"
diff --git a/sci-libs/flann/flann-1.8.4.ebuild b/sci-libs/flann/flann-1.8.4-r1.ebuild
index e1f543b3db73..cf012d9f79e6 100644
--- a/sci-libs/flann/flann-1.8.4.ebuild
+++ b/sci-libs/flann/flann-1.8.4-r1.ebuild
@@ -1,13 +1,13 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/flann/flann-1.8.4.ebuild,v 1.3 2013/12/01 19:05:59 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/flann/flann-1.8.4-r1.ebuild,v 1.1 2013/12/07 19:10:22 jlec Exp $
EAPI=5
-inherit cmake-utils eutils multilib toolchain-funcs
+inherit cmake-utils cuda eutils multilib toolchain-funcs
DESCRIPTION="Library for performing fast approximate nearest neighbor searches in high dimensional spaces"
-HOMEPAGE="http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN/"
+HOMEPAGE="http://www.cs.ubc.ca/research/flann/"
SRC_URI="
http://people.cs.ubc.ca/~mariusm/uploads/FLANN/${P}-src.zip
test? ( http://dev.gentoo.org/~bicatali/distfiles/${P}-testdata.tar.xz )"
@@ -15,22 +15,33 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
-IUSE="cuda doc mpi openmp octave python static-libs test"
+IUSE="cuda doc examples mpi openmp octave static-libs test"
RDEPEND="
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 )
mpi? (
sci-libs/hdf5[mpi]
dev-libs/boost[mpi]
)
- octave? ( sci-mathematics/octave )"
+ !mpi? ( !sci-libs/hdf5[mpi] )
+ octave? ( >=sci-mathematics/octave-3.6.4-r1 )"
DEPEND="${RDEPEND}
app-arch/unzip
+ doc? ( dev-tex/latex2html )
test? (
dev-cpp/gtest
cuda? ( sci-libs/hdf5 )
)
"
-PDEPEND="python? ( ~dev-python/pyflann-${PV} )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-examples.patch
+ "${FILESDIR}"/${P}-options.patch
+ "${FILESDIR}"/${P}-CUDA_NVCC_FLAGS.patch
+ "${FILESDIR}"/${P}-cuda5.5.patch
+ "${FILESDIR}"/${P}-multilib.patch
+ "${FILESDIR}"/${P}-docdir.patch
+)
S="${WORKDIR}"/${P}-src
@@ -45,11 +56,7 @@ pkg_setup() {
src_prepare() {
# bug #302621
- has_version sci-libs/hdf5[mpi] && export CXX=mpicxx
- # gentoo doc directory respected
- sed -i \
- -e "s:share/doc/flann:share/doc/${PF}:" \
- doc/CMakeLists.txt || die
+ use mpi && export CXX=mpicxx
# produce pure octave files
# octave gentoo installation for .m files respected
sed -i \
@@ -59,19 +66,8 @@ src_prepare() {
-e 's:share/flann/octave:share/octave/site/m:' \
-e "/CUSTOM_TARGET/a\INSTALL(FILES \${MEX_FILE} DESTINATION libexec/octave/site/oct/${CHOST})" \
src/matlab/CMakeLists.txt || die
- # do not compile examples by default
- sed -i \
- -e '/add_subdirectory.*examples/d' \
- CMakeLists.txt || die
- # compile tests only when requested
- use test || sed -i -e '/add_subdirectory.*test/d' CMakeLists.txt
- # avoid automatic installation of pdf
- use doc || sed -i -e '/doc/d' CMakeLists.txt
use cuda && cuda_src_prepare
- sed \
- -e "/FLANN_LIB_INSTALL_DIR/s:lib:$(get_libdir):g" \
- -i cmake/flann_utils.cmake || die
cmake-utils_src_prepare
}
@@ -81,11 +77,19 @@ src_configure() {
-DBUILD_C_BINDINGS=ON
-DBUILD_PYTHON_BINDINGS=OFF
-DPYTHON_EXECUTABLE=
+ -DDOCDIR=share/doc/${PF}
$(cmake-utils_use_build cuda CUDA_LIB)
+ $(cmake-utils_use_build examples)
+ $(cmake-utils_use_build doc)
+ $(cmake-utils_use_build test TESTS)
$(cmake-utils_use_build octave MATLAB_BINDINGS)
$(cmake-utils_use_use mpi)
$(cmake-utils_use_use openmp)
)
+ use cuda && \
+ mycmakeargs+=(
+ -DCUDA_NVCC_FLAGS="${NVCCFLAGS},-arsch"
+ )
cmake-utils_src_configure
}
@@ -99,5 +103,7 @@ src_test() {
src_install() {
cmake-utils_src_install
dodoc README.md
- use static-libs || find "${ED}" -name 'lib*.a' -exec rm -rf '{}' '+'
+ if ! use static-libs; then
+ find "${ED}" -name 'lib*.a' -exec rm -rf '{}' '+' || die
+ fi
}
diff --git a/sci-libs/flann/flann-9999.ebuild b/sci-libs/flann/flann-9999.ebuild
new file mode 100644
index 000000000000..294f73dd3c96
--- /dev/null
+++ b/sci-libs/flann/flann-9999.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/flann/flann-9999.ebuild,v 1.1 2013/12/07 19:10:22 jlec Exp $
+
+EAPI=5
+
+inherit cmake-utils cuda eutils git-r3 multilib toolchain-funcs
+
+DESCRIPTION="Library for performing fast approximate nearest neighbor searches in high dimensional spaces"
+HOMEPAGE="http://www.cs.ubc.ca/research/flann/"
+SRC_URI="test? ( http://dev.gentoo.org/~bicatali/distfiles/${PN}-1.8.4-testdata.tar.xz )"
+EGIT_REPO_URI="https://github.com/mariusmuja/flann.git"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="cuda doc examples mpi openmp octave static-libs test"
+
+RDEPEND="
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 )
+ mpi? (
+ sci-libs/hdf5[mpi]
+ dev-libs/boost[mpi]
+ )
+ !mpi? ( !sci-libs/hdf5[mpi] )
+ octave? ( >=sci-mathematics/octave-3.6.4-r1 )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ doc? ( dev-tex/latex2html )
+ test? (
+ dev-cpp/gtest
+ cuda? ( sci-libs/hdf5 )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.4-options.patch
+ "${FILESDIR}"/${PN}-1.8.4-CUDA_NVCC_FLAGS.patch
+ "${FILESDIR}"/${PN}-1.8.4-cuda5.5.patch
+ "${FILESDIR}"/${PN}-1.8.4-multilib.patch
+ "${FILESDIR}"/${PN}-1.8.4-docdir.patch
+)
+
+pkg_setup() {
+ if use openmp; then
+ if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp ; then
+ ewarn "OpenMP is not available in your current selected gcc"
+ die "need openmp capable gcc"
+ fi
+ fi
+}
+
+src_unpack() {
+ default
+ git-r3_src_unpack
+}
+
+src_prepare() {
+ # bug #302621
+ use mpi && export CXX=mpicxx
+
+ # produce pure octave files
+ # octave gentoo installation for .m files respected
+ sed -i \
+ -e 's/--mex//' \
+ -e 's/\.mex/\.oct/' \
+ -e '/FILES/s/${MEX_FILE}//' \
+ -e 's:share/flann/octave:share/octave/site/m:' \
+ -e "/CUSTOM_TARGET/a\INSTALL(FILES \${MEX_FILE} DESTINATION libexec/octave/site/oct/${CHOST})" \
+ src/matlab/CMakeLists.txt || die
+ use cuda && cuda_src_prepare
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ # python bindings are split
+ local mycmakeargs=(
+ -DBUILD_C_BINDINGS=ON
+ -DBUILD_PYTHON_BINDINGS=OFF
+ -DPYTHON_EXECUTABLE=
+ -DDOCDIR=share/doc/${PF}
+ $(cmake-utils_use_build cuda CUDA_LIB)
+ $(cmake-utils_use_build examples)
+ $(cmake-utils_use_build doc)
+ $(cmake-utils_use_build test TESTS)
+ $(cmake-utils_use_build octave MATLAB_BINDINGS)
+ $(cmake-utils_use_use mpi)
+ $(cmake-utils_use_use openmp)
+ )
+ use cuda && \
+ mycmakeargs+=(
+ -DCUDA_NVCC_FLAGS="${NVCCFLAGS},-arsch"
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ ln -s "${WORKDIR}"/testdata/* test/ || die
+ # -j1 to avoid obversubscribing jobs
+ LD_LIBRARY_PATH="${BUILD_DIR}/lib" \
+ cmake-utils_src_compile -j1 test
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README.md
+ if ! use static-libs; then
+ find "${ED}" -name 'lib*.a' -exec rm -rf '{}' '+' || die
+ fi
+}