From 4cbcc855382a06088e2f016f62cafdbcb7e40665 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 20 Mar 2022 00:40:44 +0000 Subject: gentoo resync : 20.03.2022 --- sci-libs/flann/Manifest | 2 + ...uild-oct-rather-than-mex-files-for-octave.patch | 81 +++++++++++++++++++ sci-libs/flann/flann-1.9.1-r5.ebuild | 94 ++++++++++++++++++++++ 3 files changed, 177 insertions(+) create mode 100644 sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch create mode 100644 sci-libs/flann/flann-1.9.1-r5.ebuild (limited to 'sci-libs/flann') diff --git a/sci-libs/flann/Manifest b/sci-libs/flann/Manifest index 8b2903604fb8..e015ffe243ed 100644 --- a/sci-libs/flann/Manifest +++ b/sci-libs/flann/Manifest @@ -1,3 +1,4 @@ +AUX flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch 3337 BLAKE2B c7d149672edd6a9870b614986ce33cf203f9954f9070c49d96d717467602cea0f07f0990b7961dda00612bc9e7f017ea5c4ce6f58d8fa7a11a37a04f509ff64a SHA512 34718d5bc357db532cdb41cbb0443ae90d53231a2b87adadbd66aafb9c456c2eb7765489f8af0362b04b2b0efadb8fb65da2c9581ee2133ad8eb7065bb47f587 AUX flann-1.9.1-cmake-3.11-1.patch 663 BLAKE2B 7162cb27a4ba6e13ac6f65752224e53be4988b3bb2ab5b8a9afbbed69a262a36c394d445fbb006afe7edbc5c9e90c339a88040eb7bee4c5c6c3209e1ba21b4ef SHA512 6d5032c30c0509951aaa5afc3f24a423d275224f67e14e0c4defbbda92ec659cef86fcfa65d72265d000f8010f0117ca2b8905f2c6f496aeef74a98dee9ffa08 AUX flann-1.9.1-cmake-3.11.patch 2998 BLAKE2B 85c6b6feb800ab1a21af86a4001b0056fda416a6b61147f614670968cca13fa2b63d06673a11a2ef72b6f0d0876539ccb68134f4817975d4b796b66a716e606d SHA512 5cdffa2da3538965c0d20fb091a13124cdc301669b622ca35a131680db8abb58cf8e02f1366604a19a5cd10dd67f14861caa1c12da3154d82d576cb8052a4b87 AUX flann-1.9.1-cuda-9.patch 850 BLAKE2B f193a6fd25a1d2cd45201d547fb444393cb82f344da6f5d1e2a012599170a412b261f6cf35d8943da7e96fd9f204991580d5ea045b43e2aa33ea5ad9fa9307d4 SHA512 0b5cad7b928319b922bdaa27d07fd38f1c359799ef9c217b6c1979f8ac9a86706e7ad1547f484aeb1db449a37693d18b2710b877483266915a869372c29ee1e4 @@ -5,4 +6,5 @@ AUX flann-1.9.1-system-lz4-pkgconfig.patch 1168 BLAKE2B 9fadff93a2d603aee3eadd72 AUX flann-1.9.1-system-lz4.patch 4934 BLAKE2B eea32abae8b13d5d0e5149c58b2639c1b6f3bbbedfa8aa91f5fb83afca4726571eb4e01eb440eb913b54f8a03124bc0266c8b039b6448bcdc0bc5e87a9512c6f SHA512 acb67eb59b400b82722f064e529fc86f43c4e16ba097a3742b5717b33fcd35a619c73ec6ea6391b23f906d4bc40a5167b56cffd0267bc2c8259b7298ad414e65 DIST flann-1.9.1.tar.gz 485391 BLAKE2B bf1e1e7feb33e939e1d0586db593bea3fdf66726fbadec63df9ed9c7bdb678babb11001769f0d041a7a569186b3d700db8b96af5eb9740615f6dfd880460f68b SHA512 0da78bb14111013318160dd3dee1f93eb6ed077b18439fd6496017b62a8a6070cc859cfb3e08dad4c614e48d9dc1da5f7c4a21726ee45896d360506da074a6f7 EBUILD flann-1.9.1-r4.ebuild 2380 BLAKE2B ee30376d1c3a968a0a92ea5bfa9062db6773b087b5ee60517d1d9dde512d48b931a91fa83c9fef49a6eb4cf8e5117cc1f77085df1913fed3875d97a9edd02786 SHA512 8d18d6a7d8e6f3f5e0cce5b0d40b258768a59254f6d20e40256ec3d46cd5c304919623cd0ed109fd053f9a55552149d6a04e7f7b6184e31fa11473fb783af39b +EBUILD flann-1.9.1-r5.ebuild 2281 BLAKE2B 1a33a7fab92e4542139cddda111c20fec37b6494f366921b9cf4110727e88cccfdeebfc7eb0b6c9138a85028776a6dd2b3efe6048a80c100f3a88702d3c4bbe8 SHA512 66eea1bb95529e2f72442657e09c391681f23a567bbd959a1f9e51fa861aec932f6b99da1f5c7d8a3e8089a2a409764aac23ebaf657a55edf45c65ea8688b45e MISC metadata.xml 972 BLAKE2B b192aee4ab043f8c3f69526727aad60e2613a6b94c5b686404593ab40213afeacde74009d305fee83c6d670d50af59207ad95189a03c53fb8193abcfdfd69c97 SHA512 77b1bf0f269cd7bd63c06442cf2cd9d1405f2a40925da469a23827a1e2461e89b8ab1b80d202ead404e7fe25f9d24a91cc4b36d775349ddd9dd50168097d3db4 diff --git a/sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch b/sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch new file mode 100644 index 000000000000..f29aef41977c --- /dev/null +++ b/sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch @@ -0,0 +1,81 @@ +From 85d2acc120b0640d02d189089bf113d351c14bba Mon Sep 17 00:00:00 2001 +From: Alexander Golubev +Date: Wed, 16 Feb 2022 21:37:55 +0300 +Subject: [PATCH] build *.oct rather than *.mex files for octave + + * build .oct filse rather than *.mex + * install the file to a sane location obtained from octave-config + * fix a build issue with a recent cmake doesn't like querying target + LOCATION + +Signed-off-by: Alexander Golubev +--- + src/matlab/CMakeLists.txt | 28 ++++++++++++++++++---------- + 1 file changed, 18 insertions(+), 10 deletions(-) + +diff --git a/src/matlab/CMakeLists.txt b/src/matlab/CMakeLists.txt +index a89b6b8..ebacaea 100755 +--- a/src/matlab/CMakeLists.txt ++++ b/src/matlab/CMakeLists.txt +@@ -16,9 +16,6 @@ endif() + + find_program(OCT_CMD mkoctfile) + +-get_property(FLANN_LIB_LOCATION TARGET flann_s PROPERTY LOCATION) +-get_filename_component(FLANN_LIB_PATH ${FLANN_LIB_LOCATION} PATH) +- + if(MEX_CMD AND MEXEXT_CMD) + + get_filename_component(MEX_REAL_CMD ${MEX_CMD} ABSOLUTE) +@@ -48,7 +45,7 @@ if(MEX_CMD AND MEXEXT_CMD) + ADD_CUSTOM_COMMAND( + OUTPUT ${MEX_FILE} + COMMAND ${MEX_REAL_CMD} +- ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${FLANN_LIB_PATH} -lflann_s ${MEX_BUILD_FLAGS} ++ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${PROJECT_BINARY_DIR}/lib -lflann_s ${MEX_BUILD_FLAGS} + DEPENDS flann_s ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp + COMMENT "Building MEX extension ${MEX_FILE}" + ) +@@ -66,11 +63,11 @@ if(MEX_CMD AND MEXEXT_CMD) + set(BUILD_MATLAB_BINDINGS OFF) + endif() + elseif(OCT_CMD) +- SET(MEX_FILE ${CMAKE_CURRENT_BINARY_DIR}/${MEX_NAME}.mex) ++ SET(MEX_FILE ${CMAKE_CURRENT_BINARY_DIR}/${MEX_NAME}.oct) + ADD_CUSTOM_COMMAND( + OUTPUT ${MEX_FILE} + COMMAND ${OCT_CMD} +- ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${FLANN_LIB_PATH} -DFLANN_STATIC -lflann_s -lgomp --mex ++ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${PROJECT_BINARY_DIR}/lib -DFLANN_STATIC -lflann_s -lgomp + DEPENDS flann_s ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp + COMMENT "Building MEX extension ${MEX_FILE}" + ) +@@ -79,10 +76,21 @@ elseif(OCT_CMD) + + FILE(GLOB MATLAB_SOURCES *.m) + +- INSTALL ( +- FILES ${MEX_FILE} ${MATLAB_SOURCES} +- DESTINATION share/flann/octave +- ) ++ find_program(OCTAVE_CONFIG_EXECUTABLE NAMES octave-config) ++ ++ if (OCTAVE_CONFIG_EXECUTABLE) ++ execute_process (COMMAND ${OCTAVE_CONFIG_EXECUTABLE} --m-site-dir ++ OUTPUT_VARIABLE OCTAVE_M_SITE_DIR ++ OUTPUT_STRIP_TRAILING_WHITESPACE) ++ ++ execute_process (COMMAND ${OCTAVE_CONFIG_EXECUTABLE} --oct-site-dir ++ OUTPUT_VARIABLE OCTAVE_OCT_SITE_DIR ++ OUTPUT_STRIP_TRAILING_WHITESPACE) ++ ++ endif() ++ ++ INSTALL (FILES ${MEX_FILE} DESTINATION ${OCTAVE_OCT_SITE_DIR}) ++ INSTALL (FILES ${MATLAB_SOURCES} DESTINATION ${OCTAVE_M_SITE_DIR}) + else() + message(WARNING "Cannot find MATLAB or Octave instalation. Make sure that the 'bin' directory from the MATLAB instalation or that mkoctfile is in PATH") + set(BUILD_MATLAB_BINDINGS OFF) +-- +2.34.1 + diff --git a/sci-libs/flann/flann-1.9.1-r5.ebuild b/sci-libs/flann/flann-1.9.1-r5.ebuild new file mode 100644 index 000000000000..788c2733be10 --- /dev/null +++ b/sci-libs/flann/flann-1.9.1-r5.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake cuda flag-o-matic toolchain-funcs + +DESCRIPTION="Fast approximate nearest neighbor searches in high dimensional spaces" +HOMEPAGE="https://github.com/mariusmuja/flann" +SRC_URI="https://github.com/mariusmuja/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86 ~amd64-linux ~x86-linux" +IUSE="cuda doc examples mpi octave openmp" + +BDEPEND=" + app-arch/unzip + doc? ( dev-tex/latex2html ) + mpi? ( app-admin/chrpath ) +" +DEPEND=" + app-arch/lz4:= + cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 ) + mpi? ( + dev-libs/boost:=[mpi] + sci-libs/hdf5[mpi] + ) + !mpi? ( !sci-libs/hdf5[mpi] ) + octave? ( >=sci-mathematics/octave-3.6.4-r1:= ) +" +RDEPEND="${DEPEND}" +# TODO: +# readd dependencies for test suite, +# requires multiple ruby dependencies + +PATCHES=( + "${FILESDIR}"/${P}-cmake-3.11{,-1}.patch # bug 678030 + "${FILESDIR}"/${P}-cuda-9.patch + "${FILESDIR}"/${P}-system-lz4.patch # bug 681898 + "${FILESDIR}"/${P}-system-lz4-pkgconfig.patch # bug 827263 + "${FILESDIR}"/${P}-build-oct-rather-than-mex-files-for-octave.patch # bug 830424 +) + +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 + + use cuda && cuda_src_prepare + + cmake_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= + -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} --linker-options \"-arsch\"" + ) + use doc && mycmakeargs+=( -DDOCDIR=share/doc/${PF} ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + find "${D}" -name 'lib*.a' -delete || die + + # bug 795828; mpicc volunterely adds some runpaths + if use mpi; then + chrpath -d "${ED}"/usr/bin/flann_mpi_{client,server} || die + fi +} -- cgit v1.2.3