diff options
author | 2025-01-06 20:29:46 +0100 | |
---|---|---|
committer | 2025-01-06 21:32:03 +0000 | |
commit | 4db46c950246613586189689f3f05e5c6e7e0717 (patch) | |
tree | 358f2c95487531d013ec94388892d9249bf708fe /sci-libs | |
parent | virtual/perl-Module-CoreList: add 5.40.1_rc1 version (diff) | |
download | gentoo-4db46c950246613586189689f3f05e5c6e7e0717.tar.gz gentoo-4db46c950246613586189689f3f05e5c6e7e0717.tar.bz2 gentoo-4db46c950246613586189689f3f05e5c6e7e0717.zip |
sci-libs/flann: add 1.9.2_p20221027, drop 1.9.2
uses latest upstream commit
update cmake code, handle warnings
use enable_language for cuda and fix warnings in code
use find_package(Python) instead of PythonInterp
fix erroneous dependency for doc, unmask the flag
Closes: https://bugs.gentoo.org/947608
Closes: https://bugs.gentoo.org/947602
Closes: https://bugs.gentoo.org/946465
Closes: https://bugs.gentoo.org/829080
Bug: https://bugs.gentoo.org/830013
Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sci-libs')
-rw-r--r-- | sci-libs/flann/Manifest | 3 | ||||
-rw-r--r-- | sci-libs/flann/files/flann-1.9.2-system-gtest.patch | 36 | ||||
-rw-r--r-- | sci-libs/flann/flann-1.9.2_p20221027.ebuild (renamed from sci-libs/flann/flann-1.9.2.ebuild) | 88 |
3 files changed, 103 insertions, 24 deletions
diff --git a/sci-libs/flann/Manifest b/sci-libs/flann/Manifest index 96227eff8fec..14d4573ca58f 100644 --- a/sci-libs/flann/Manifest +++ b/sci-libs/flann/Manifest @@ -1,2 +1,3 @@ DIST flann-1.9.1.tar.gz 485391 BLAKE2B bf1e1e7feb33e939e1d0586db593bea3fdf66726fbadec63df9ed9c7bdb678babb11001769f0d041a7a569186b3d700db8b96af5eb9740615f6dfd880460f68b SHA512 0da78bb14111013318160dd3dee1f93eb6ed077b18439fd6496017b62a8a6070cc859cfb3e08dad4c614e48d9dc1da5f7c4a21726ee45896d360506da074a6f7 -DIST flann-1.9.2.tar.gz 34641759 BLAKE2B 92a31ac2c39e4e41c9d985735c318f800fbf65053784a3afe8301df7529cb0203f7fdde2544d0615add56fa823f7123b09ae9b3ca5277250a5a7e9c5108f6f97 SHA512 e1235383e4e3919607cd1417738220c1601342dcf908071a6f75039c45116bd558d9f0534be037b1a8ac5b4ba5b0be5b62bf1d96e44911f14b34f73d941addb2 +DIST flann-1.9.2_p20221027-patches.tar.xz 10232 BLAKE2B 197dd8b81f4a7a43472e440de58a6eb7349e247514ac32a4de9d5c4ea9304da2ab6991f9561dd15fd005a4a55b14f40e4de05b324c55c50632fe9b8cd1f18371 SHA512 04bb6ff3d645ead761b37aa1e8873dc39cc8f910112fc64a55a941a4c0ab9d70a37caf018f1cc649debff04f0ac7cbbd0eb439a8a8d03b879bcddb73979e91c3 +DIST flann-1.9.2_p20221027.tar.gz 34644592 BLAKE2B 822afa518a1efcfd552cee7c9bd9e14587a450d5ddae50c4d225453ab56d7297ca73f5b5bda153aea9ff37e736942057ae071ac41e3d26ac1aeb03a408171162 SHA512 14cd7d3249109ce66c43258f8b9d158efa3b57f654708e76751290eba25e2cb7fc8044a1d882c6b24d0cda1a8b206709acdb5338086ca1f2d60fef35f0fa85be diff --git a/sci-libs/flann/files/flann-1.9.2-system-gtest.patch b/sci-libs/flann/files/flann-1.9.2-system-gtest.patch new file mode 100644 index 000000000000..f825cf3d529b --- /dev/null +++ b/sci-libs/flann/files/flann-1.9.2-system-gtest.patch @@ -0,0 +1,36 @@ +From 4001b11f20ccfc291a355c52a090fa16e2f5a5f1 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Mon, 6 Jan 2025 16:13:09 +0100 +Subject: [PATCH] system gtest + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/cmake/flann_utils.cmake b/cmake/flann_utils.cmake +index e02a6ff..544f87a 100644 +--- a/cmake/flann_utils.cmake ++++ b/cmake/flann_utils.cmake +@@ -41,6 +41,13 @@ macro(find_hdf5) + endmacro(find_hdf5) + + ++if(BUILD_TESTS) ++enable_testing() ++find_package(GTest) ++if(GTest_FOUND) ++ set(googletest_LIBRARIES GTest::gtest) ++ add_library(googletest ALIAS GTest::gtest) ++else() + # Enable ExternalProject CMake module + include(ExternalProject) + +@@ -69,6 +76,8 @@ set(googletest_INCLUDE_DIRS ${source_dir}/googletest/include) + ExternalProject_Get_Property(googletest binary_dir) + set(googletest_LIBRARIES ${binary_dir}/lib/libgtest.a) + include_directories(${googletest_INCLUDE_DIRS}) ++endif() ++endif() + + + macro(flann_add_gtest exe src) +-- +2.47.1 diff --git a/sci-libs/flann/flann-1.9.2.ebuild b/sci-libs/flann/flann-1.9.2_p20221027.ebuild index f08ec70da1b4..d628a4efa00f 100644 --- a/sci-libs/flann/flann-1.9.2.ebuild +++ b/sci-libs/flann/flann-1.9.2_p20221027.ebuild @@ -7,36 +7,51 @@ inherit cmake cuda toolchain-funcs DESCRIPTION="Fast approximate nearest neighbor searches in high dimensional spaces" HOMEPAGE="https://github.com/flann-lib/flann" -SRC_URI="https://github.com/flann-lib/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" +COMMIT="f9caaf609d8b8cb2b7104a85cf59eb92c275a25d" +SRC_URI=" + https://github.com/flann-lib/${PN}/archive/${COMMIT}.tar.gz + -> ${P}.tar.gz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches.tar.xz +" +S="${WORKDIR}/${PN}-${COMMIT}" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86 ~amd64-linux ~x86-linux" -IUSE="cuda doc examples mpi octave openmp" +IUSE="cuda doc examples mpi octave openmp test" +RESTRICT="!test? ( test )" BDEPEND=" - app-arch/unzip - doc? ( dev-tex/latex2html ) - mpi? ( app-admin/chrpath ) + doc? ( + dev-tex/latex2html + ) + mpi? ( + app-admin/chrpath + ) " DEPEND=" app-arch/lz4:= - cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 ) + cuda? ( + dev-util/nvidia-cuda-toolkit:= + ) + examples? ( + sci-libs/hdf5:=[mpi?] + ) mpi? ( dev-libs/boost:=[mpi] - sci-libs/hdf5:=[mpi=] + sci-libs/hdf5[mpi] + ) + octave? ( + >=sci-mathematics/octave-3.6.4-r1:= ) - octave? ( >=sci-mathematics/octave-3.6.4-r1:= ) " RDEPEND="${DEPEND}" -# TODO: -# readd dependencies for test suite, -# requires multiple ruby dependencies PATCHES=( "${FILESDIR}"/${PN}-1.9.1-build-oct-rather-than-mex-files-for-octave.patch # bug 830424 "${FILESDIR}"/${PN}-1.9.2-asio-boost187.patch "${FILESDIR}"/${PN}-1.9.2-boost-config.patch + "${FILESDIR}"/${PN}-1.9.2-system-gtest.patch ) pkg_pretend() { @@ -51,39 +66,66 @@ src_prepare() { # bug #302621 use mpi && export CXX=mpicxx - use cuda && cuda_src_prepare - cmake_src_prepare + for patch in "${WORKDIR}/${P}-patches"/*; do + eapply "${patch}" + done } src_configure() { + # python bindings are split off into dev-python/pyflann local mycmakeargs=( -DCMAKE_CXX_STANDARD=17 - -DBUILD_C_BINDINGS=ON - -DBUILD_PYTHON_BINDINGS=OFF + -DBUILD_C_BINDINGS="yes" + -DBUILD_PYTHON_BINDINGS="no" -DBUILD_CUDA_LIB="$(usex cuda)" -DBUILD_EXAMPLES="$(usex examples)" -DBUILD_DOC="$(usex doc)" - -DBUILD_TESTS=OFF + -DBUILD_TESTS="$(usex test)" -DBUILD_MATLAB_BINDINGS="$(usex octave)" - -DUSE_MPI="$(usex mpi)" + -DUSE_MPI="$(usex test "$(usex mpi)")" -DUSE_OPENMP="$(usex openmp)" + -DCMAKE_BUILD_STATIC_LIBS="no" ) - # einfo "NVCCFLAGS ${NVCCFLAGS}" - use cuda && mycmakeargs+=( - # -DCUDA_NVCC_FLAGS="${NVCCFLAGS} --linker-options \"-arsch\"" - -DCUDA_NVCC_FLAGS="--compiler-bindir;$(cuda_gccdir)" - ) + if use cuda; then + cuda_add_sandbox -w + + mycmakeargs+=( + -DCMAKE_CUDA_FLAGS="-Xcudafe \"--diag_suppress=partial_override\"" + ) + export CUDAHOSTCXX="$(cuda_gccdir)" + export CUDAHOSTLD="$(tc-getCXX)" + fi + use doc && mycmakeargs+=( -DDOCDIR="share/doc/${PF}" ) cmake_src_configure } +src_compile() { + local targets=( "all" ) + + use doc && targets+=( "doc" ) + + if use test; then + targets+=( "flann_gtests" ) + if use cuda; then + targets+=( "flann_cuda_test" ) + fi + fi + + cmake_src_compile "${targets[@]}" +} + +src_test() { + # some fail when run in parallel + cmake_src_test -j1 +} + src_install() { cmake_src_install - find "${ED}" -name 'lib*.a' -delete || die # bug 795828; mpicc voluntarily adds some runpaths if use mpi; then |