Use https by default
[gentoo.git] / sci-libs / flann / flann-9999.ebuild
1 # Copyright 1999-2013 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 EAPI=5
6
7 inherit cmake-utils cuda eutils git-r3 multilib toolchain-funcs
8
9 DESCRIPTION="Library for performing fast approximate nearest neighbor searches in high dimensional spaces"
10 HOMEPAGE="http://www.cs.ubc.ca/research/flann/"
11 SRC_URI="test? ( https://dev.gentoo.org/~bicatali/distfiles/${PN}-1.8.4-testdata.tar.xz )"
12 EGIT_REPO_URI="https://github.com/mariusmuja/flann.git"
13
14 LICENSE="BSD"
15 SLOT="0"
16 KEYWORDS=""
17 IUSE="cuda doc examples mpi openmp octave static-libs test"
18
19 RDEPEND="
20         cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 )
21         mpi? (
22                 sci-libs/hdf5[mpi]
23                 dev-libs/boost[mpi]
24         )
25         !mpi? ( !sci-libs/hdf5[mpi] )
26         octave? ( >=sci-mathematics/octave-3.6.4-r1 )"
27 DEPEND="${RDEPEND}
28         app-arch/unzip
29         doc? ( dev-tex/latex2html )
30         test? (
31                 dev-cpp/gtest
32                 cuda? ( sci-libs/hdf5 )
33         )
34 "
35
36 PATCHES=(
37         "${FILESDIR}"/${PN}-1.8.4-options.patch
38         "${FILESDIR}"/${PN}-1.8.4-CUDA_NVCC_FLAGS.patch
39         "${FILESDIR}"/${PN}-1.8.4-cuda5.5.patch
40         "${FILESDIR}"/${PN}-1.8.4-multilib.patch
41         "${FILESDIR}"/${PN}-1.8.4-docdir.patch
42 )
43
44 pkg_setup() {
45         if use openmp; then
46                 if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp ; then
47                         ewarn "OpenMP is not available in your current selected gcc"
48                         die "need openmp capable gcc"
49                 fi
50         fi
51 }
52
53 src_unpack() {
54         default
55         git-r3_src_unpack
56 }
57
58 src_prepare() {
59         # bug #302621
60         use mpi && export CXX=mpicxx
61
62         # produce pure octave files
63         # octave gentoo installation for .m files respected
64         sed -i \
65                 -e 's/--mex//' \
66                 -e 's/\.mex/\.oct/' \
67                 -e '/FILES/s/${MEX_FILE}//' \
68                 -e 's:share/flann/octave:share/octave/site/m:' \
69                 -e "/CUSTOM_TARGET/a\INSTALL(FILES \${MEX_FILE} DESTINATION libexec/octave/site/oct/${CHOST})" \
70                 src/matlab/CMakeLists.txt || die
71         use cuda && cuda_src_prepare
72
73         cmake-utils_src_prepare
74 }
75
76 src_configure() {
77         # python bindings are split
78         local mycmakeargs=(
79                 -DBUILD_C_BINDINGS=ON
80                 -DBUILD_PYTHON_BINDINGS=OFF
81                 -DPYTHON_EXECUTABLE=
82                 -DDOCDIR=share/doc/${PF}
83                 $(cmake-utils_use_build cuda CUDA_LIB)
84                 $(cmake-utils_use_build examples)
85                 $(cmake-utils_use_build doc)
86                 $(cmake-utils_use_build test TESTS)
87                 $(cmake-utils_use_build octave MATLAB_BINDINGS)
88                 $(cmake-utils_use_use mpi)
89                 $(cmake-utils_use_use openmp)
90         )
91         use cuda && \
92                 mycmakeargs+=(
93                 -DCUDA_NVCC_FLAGS="${NVCCFLAGS},-arsch"
94                 )
95         cmake-utils_src_configure
96 }
97
98 src_test() {
99         ln -s "${WORKDIR}"/testdata/* test/ || die
100         # -j1 to avoid obversubscribing jobs
101         LD_LIBRARY_PATH="${BUILD_DIR}/lib" \
102                 cmake-utils_src_compile -j1 test
103 }
104
105 src_install() {
106         cmake-utils_src_install
107         dodoc README.md
108         if ! use static-libs; then
109                 find "${ED}" -name 'lib*.a' -exec rm -rf '{}' '+' || die
110         fi
111 }