From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- sci-libs/flann/Manifest | 15 +++ .../flann/files/flann-1.8.4-CUDA_NVCC_FLAGS.patch | 16 +++ sci-libs/flann/files/flann-1.8.4-cuda5.5.patch | 61 ++++++++++++ sci-libs/flann/files/flann-1.8.4-docdir.patch | 24 +++++ sci-libs/flann/files/flann-1.8.4-examples.patch | 35 +++++++ sci-libs/flann/files/flann-1.8.4-multilib.patch | 15 +++ sci-libs/flann/files/flann-1.8.4-options.patch | 41 ++++++++ sci-libs/flann/flann-1.8.4-r1.ebuild | 108 +++++++++++++++++++++ sci-libs/flann/flann-1.9.1.ebuild | 86 ++++++++++++++++ sci-libs/flann/flann-9999.ebuild | 102 +++++++++++++++++++ sci-libs/flann/metadata.xml | 25 +++++ 11 files changed, 528 insertions(+) create mode 100644 sci-libs/flann/Manifest create mode 100644 sci-libs/flann/files/flann-1.8.4-CUDA_NVCC_FLAGS.patch create mode 100644 sci-libs/flann/files/flann-1.8.4-cuda5.5.patch create mode 100644 sci-libs/flann/files/flann-1.8.4-docdir.patch create mode 100644 sci-libs/flann/files/flann-1.8.4-examples.patch create mode 100644 sci-libs/flann/files/flann-1.8.4-multilib.patch create mode 100644 sci-libs/flann/files/flann-1.8.4-options.patch create mode 100644 sci-libs/flann/flann-1.8.4-r1.ebuild create mode 100644 sci-libs/flann/flann-1.9.1.ebuild create mode 100644 sci-libs/flann/flann-9999.ebuild create mode 100644 sci-libs/flann/metadata.xml (limited to 'sci-libs/flann') diff --git a/sci-libs/flann/Manifest b/sci-libs/flann/Manifest new file mode 100644 index 000000000000..cbab70163276 --- /dev/null +++ b/sci-libs/flann/Manifest @@ -0,0 +1,15 @@ +AUX flann-1.8.4-CUDA_NVCC_FLAGS.patch 618 SHA256 62e8810e965e57c83b45ab1c2d2f316df7ad8dc898751df8d2fc5204ffc8cfda SHA512 8a6e385b0b36386288861bb795fda34cc636d73862c1321fc4482855dd5032179bf3ea0016bd7c51e8d6abf0da3b70f6d22058d8fd2da414db09b2e2bb662a7b WHIRLPOOL 382d0706a09a9438204dc6a0849631d858565a35d7d0521f3ea6e84bb6a965777fec1d96996391de605d83d8ce250d559d7030ccba344f8f82895075b203575f +AUX flann-1.8.4-cuda5.5.patch 2227 SHA256 c205148fe5184334f37dfed4a0c4d5beac3db2b7dbd6fa30dd16f7487a12d3f0 SHA512 628367450c5d1a45dc69817ce58e90f87602d1593244a2663703ce02967e98a1fb323ec636700bd20b9278640d89b4453330d1e08e49ebdbfffce65ab5c7ba74 WHIRLPOOL 21d21b512f64ce085ac58744dbce05a29303271569433277816d98c776dd4f5dc6696d1b61bc82f850f66e0ec72c805ac321b56a51d9491699d52986b7d2854c +AUX flann-1.8.4-docdir.patch 571 SHA256 9feb1fe865a8364babd3dc64f5f22b9de7e4a1aab02f602c05f64882e6d5f70f SHA512 ef2fc88ff254afebf75a75bebad5021ec5aa00077cf3ed3b31242a7e7c17ee872d3cff71064b6bd6ecaf7c284dba31032aa0d0f71ba6257e1ebd01513036978c WHIRLPOOL f68a4d95d59b88b0fcb3471a72e5e2464afd450bd598f117a055704b860f11bed5ce146c9766b596bb97d03ebef44fd9be1ce27978d994944b2a58ab6397166a +AUX flann-1.8.4-examples.patch 1020 SHA256 5c664f93bad2b77ec2159dc856aeb1be8b8b1b18887434b69f5a760d0b1a0f87 SHA512 5baeb594d2b4a1a8456135c9f0bec72a3182dcacbdebd398b079f13982e5e7a1722500313699ea25b7085f1dca3cab4ea355992d9014135e011452168e65fc83 WHIRLPOOL e2c2136e47be52f4ec3b9b138c95afe896928a033b16ecc1c197d7efb73489acd08570eb3952dda083f49652c70399b7ec8121351143ee7ba2ad8a74beffb153 +AUX flann-1.8.4-multilib.patch 570 SHA256 320df5839e9904a25db9f94e6283576fcef426ee4167a45cc5b729656c8df505 SHA512 1f5a72920af200f23a318b3205cce498a6f193eb8f89b85fcc9b8ef45c49b4b98143cc9cc6996821e63cdb709eeac0f13b46c129471aa82a06ec22be1f4ec8f6 WHIRLPOOL 153dc2c739d7427fa4a114390b49727adb129a9604fa045a7e2c4581f7f994fca31be031dc346b0144e828388bf02a4c8b7c843a7eab5c71fd914d7307ed81a5 +AUX flann-1.8.4-options.patch 1485 SHA256 3d547a6e4c1658a37011aefc60d4215c5dd04bc5caf6f965a6717df4bad4f4af SHA512 2335ddf683d883f0b5247b4d7e688644231c2d6a914c0d271965b0024270e77a36ccded142ab666651833712cb64a427eb753f76757cf5eb765f130b170f4251 WHIRLPOOL b7285c92c904e07fe729fe46e0689067039914eb719a0997c71e994fe523f30f0a4aab3b0d7dfab638e82cd95871ee55693f89a7dff4786a5b6e158f9e52cc27 +DIST flann-1.8.4-src.zip 561057 SHA256 dfbb9321b0d687626a644c70872a2c540b16200e7f4c7bd72f91ae032f445c08 SHA512 47ac6be66e3ec7303d28febc5a4cea2f8d1b3d81c3b7081f27cf17936074e06e91e30123569b41269a2b97c9960274dc485a575d77c1a386e8f539a76a8d3a0a WHIRLPOOL f7722d8c0a8482809920927353421ebb578464fe6746a4dba20a6c7b6f941715529d5be33aebd1726db36eae3b5d4080c6ae86b0f807e6e384af32b87735b83b +DIST flann-1.8.4-testdata.tar.xz 26744244 SHA256 4eaecf3a221ea6611e841fa2f459a17b6a5fdd633338bb5bc46c434e37667141 SHA512 f2bee5e2dfe2fbb42953df563f178b67639b62e26fc31be14e07c196ba3e84db21804e594af44991f7cf45ca5e10ff753093cf160abf33e90d19735a9a0b51cb WHIRLPOOL e49e5a594464955241ebc9bdfa908bac8b93b2fb465fc08ab73ec4d57194a8b71361ecb67985cdc641013fb8c3fb51ea2033769f41e558ab86e8f71e477b97da +DIST flann-1.9.1.tar.gz 485391 SHA256 b23b5f4e71139faa3bcb39e6bbcc76967fbaf308c4ee9d4f5bfbeceaa76cc5d3 SHA512 0da78bb14111013318160dd3dee1f93eb6ed077b18439fd6496017b62a8a6070cc859cfb3e08dad4c614e48d9dc1da5f7c4a21726ee45896d360506da074a6f7 WHIRLPOOL 40c16b3b2d8ef458676c37a246ae1c0d45d14163a42a46172283cf20a377ee43971e7cacce9d575cc7ecfa0eab01377dbd5e592e3e7ae71e74334af18ebab836 +EBUILD flann-1.8.4-r1.ebuild 2691 SHA256 2551143fc193c442bc3951b2a28e551f8efcf09a44509ec7dd4635daef242676 SHA512 1fbac04c82251e1dd9ee912128b74822a7fd7dd890f9a3272a1c6a3e37c8156623a9fd4b73c369497b0462615e8117dc6e94359f791b12d428788e596e1a6bbd WHIRLPOOL 65fe588cfbf53b8244fada11b36ce5243f7837890e11a294ce28428ea3d5e0725648d32e2558eba9aa09176736ceb215d7db6fcbe8b6513b0d76f18294430e50 +EBUILD flann-1.9.1.ebuild 2164 SHA256 bc1339ffc50e45e5465f44ff506d34171806aacea33077bb26dd033cc24ec9b1 SHA512 9cc622e6c10568df623fd7de867dc32bd6bd78b1713c65a796f20ec58de1e4e7063955386315827a4e35bd87e11acaa75c50e29cfa06b61cef17055e14fb14eb WHIRLPOOL d44f0c1bca7a07e5426fbd4b7161ffc6b81bd8d5853856b715ec30525f86a0a0e7b302680d0ee9d2cc322e26c17245f216f4af8399760a4822d2e5097dba2c1c +EBUILD flann-9999.ebuild 2449 SHA256 31f423cca0924bdb84254b81d3641108092964d23ccc16c1dd28e63cf4dee7ea SHA512 c5bd3475386f5cb7f5a0c7d71932694752a48f2f67a8052cf668424ff2fce69f0d2fbfa040b994e06942c17502bac1b3f0032f7387325d0d9c3578273c353f6b WHIRLPOOL 6f13817a23de84434591d35384d05ea4e6051f2cd7af25298979245fa3105506e42d20b31d6bfec0836294eff0e2611f6dc4dcd19859c474bf6d2758403a0272 +MISC ChangeLog 3375 SHA256 b0a1691a499a4d9752253190524cfbdaa1ef17d43152d4615a7de7f9f78aa711 SHA512 6ca6013017bc7f1d80a88b2b14b55aa66c89653c6f9ceec8a42f66b4a959729484fb5a40c072c7a2dfd78cd9c46063104d6704bd7241b0d597b38270be6701e1 WHIRLPOOL 285dd44b240e4b3fcea328bab90b80ba5db52d03e6c5cb3293940fe317fd39e35aecaab0df0b82eeb9ab123f17c30a97f6739459fe7017d86b320a399aa7fbe8 +MISC ChangeLog-2015 4122 SHA256 714363aa56cb30e781f169fe83c239f0631c33e3b6b945b02bcddfa37c70838a SHA512 0e698aa9b8353e267eb669079e02d7afdd66faa8897d43502927b93af058f2b823e7b2b9d995c89915831a75f4052437a0f257fce1e9f122d1291f7e72858d74 WHIRLPOOL 2bba80bbb4a3179ac8b28d050e0c71fc412fb7976e057b1a81b26687006040fa0e5e13a16022d56c497add6a13d2af27c24aa47ab77588bc26e0f47f3f5c876d +MISC metadata.xml 971 SHA256 68be4e47e528f96159985f757fd71a6e217a4cc5654b9622ee1b7f89270bdffe SHA512 b8416b149e26ede6d3f207d7e48316a8b880436c40c4ed5610953ceda0fee4e5b97f1b99f778678514dd115c257fb419b365ed46fdd90a19d444bca8e3e0fe03 WHIRLPOOL 20e25a61dafe4a8a9a6ac1d1ee3ad997953ae9378643bc1840b726a9aa2b2171457a7e08681333ae5cf2a784befb4b12494665f5649d2a0b47cbdbe202b3925b 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 +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.8.4-r1.ebuild b/sci-libs/flann/flann-1.8.4-r1.ebuild new file mode 100644 index 000000000000..00be826a33e5 --- /dev/null +++ b/sci-libs/flann/flann-1.8.4-r1.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit cmake-utils cuda eutils multilib toolchain-funcs + +DESCRIPTION="Fast approximate nearest neighbor searches in high dimensional spaces" +HOMEPAGE="http://www.cs.ubc.ca/research/flann/" +SRC_URI=" + http://people.cs.ubc.ca/~mariusm/uploads/FLANN/${P}-src.zip + test? ( https://dev.gentoo.org/~bicatali/distfiles/${P}-testdata.tar.xz )" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~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}"/${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 + +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_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 +} diff --git a/sci-libs/flann/flann-1.9.1.ebuild b/sci-libs/flann/flann-1.9.1.ebuild new file mode 100644 index 000000000000..cc7583379a9b --- /dev/null +++ b/sci-libs/flann/flann-1.9.1.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils cuda flag-o-matic toolchain-funcs + +DESCRIPTION="Fast approximate nearest neighbor searches in high dimensional spaces" +HOMEPAGE="http://www.cs.ubc.ca/research/flann/" +SRC_URI="https://github.com/mariusmuja/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux" +IUSE="cuda doc examples mpi openmp octave static-libs" + +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 )" +# TODO: +# readd dependencies for test suite, +# requires multiple ruby dependencies + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +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() { + append-cxxflags -std=c++11 + + # python bindings are split + # off into dev-python/pyflann + local mycmakeargs=( + -DBUILD_C_BINDINGS=ON + -DBUILD_PYTHON_BINDINGS=OFF + -DPYTHON_EXECUTABLE= + -DDOCDIR=share/doc/${PF} + -DBUILD_CUDA_LIB=$(usex cuda) + -DBUILD_EXAMPLES=$(usex examples) + -DBUILD_DOC=$(usex doc) + -DBUILD_TESTS=OFF + -DBUILD_MATLAB_BINDINGS=$(usex octave) + -DUSE_MPI=$(usex mpi) + -DUSE_OPENMP=$(usex openmp) + ) + use cuda && mycmakeargs+=( + -DCUDA_NVCC_FLAGS="${NVCCFLAGS},-arsch" + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + if ! use static-libs; then + find "${D}" -name 'lib*.a' -delete || die + fi +} diff --git a/sci-libs/flann/flann-9999.ebuild b/sci-libs/flann/flann-9999.ebuild new file mode 100644 index 000000000000..2f25498da1dc --- /dev/null +++ b/sci-libs/flann/flann-9999.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit cmake-utils cuda eutils git-r3 multilib toolchain-funcs + +DESCRIPTION="Fast approximate nearest neighbor searches in high dimensional spaces" +HOMEPAGE="http://www.cs.ubc.ca/research/flann/" +SRC_URI="test? ( https://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="" +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 ) + ) +" + +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 +} diff --git a/sci-libs/flann/metadata.xml b/sci-libs/flann/metadata.xml new file mode 100644 index 000000000000..3238be55ea69 --- /dev/null +++ b/sci-libs/flann/metadata.xml @@ -0,0 +1,25 @@ + + + + + sci@gentoo.org + Gentoo Science Project + + + FLANN is a library for performing fast approximate nearest neighbor + searches in high dimensional spaces. It contains a collection of + algorithms we found to work best for nearest neighbor search and a + system for automatically choosing the best algorithm and optimum + parameters depending on the dataset. + FLANN is written in C++ and contains bindings for the following + languages: C, MATLAB and Python. + + + Add bindings for + sci-mathematics/octave + Enable support for nVidia CUDA + + + mariusmuja/flann + + -- cgit v1.2.3