From bf83252de4dc901bde36cafdbb4038447f7cb7c3 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Mon, 31 Oct 2022 22:57:48 +0100 Subject: [PATCH] package/flann: bump to version 1.9.2 - lz4 is a mandatory dependency since https://github.com/flann-lib/flann/commit/df3fc59212660e43867cb85d5e557f5cae6d30d7 - Drop patch (not needed since https://github.com/flann-lib/flann/commit/86c92adbdea3e41d7ad371732cfe3b8231e0ecc6) - PYTHON_EXECUTABLE can be dropped since https://github.com/flann-lib/flann/commit/5f4ac506323585c1f74ef57a73962beb887e3a3b https://github.com/flann-lib/flann/blob/1.9.2/ChangeLog Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- .../0001-src-cpp-fix-cmake-3.11-build.patch | 80 ------------------- package/flann/Config.in | 1 + package/flann/flann.hash | 2 +- package/flann/flann.mk | 4 +- 4 files changed, 4 insertions(+), 83 deletions(-) delete mode 100644 package/flann/0001-src-cpp-fix-cmake-3.11-build.patch diff --git a/package/flann/0001-src-cpp-fix-cmake-3.11-build.patch b/package/flann/0001-src-cpp-fix-cmake-3.11-build.patch deleted file mode 100644 index b37bedcf6d..0000000000 --- a/package/flann/0001-src-cpp-fix-cmake-3.11-build.patch +++ /dev/null @@ -1,80 +0,0 @@ -From fa5ec96a94646492a3f908e12905b3e48a8e800b Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 18 Apr 2018 20:24:13 +0200 -Subject: [PATCH] src/cpp: fix cmake >= 3.11 build - -CMake < 3.11 doesn't support add_library() without any source file -(i.e add_library(foo SHARED)). But flann CMake use a trick that use -an empty string "" as source list (i.e add_library(foo SHARED "")). -This look like a bug in CMake < 3.11. - -With CMake >= 3.11, the new behaviour of add_library() break the -existing flann CMake code. - -From CMake Changelog [1]: -"add_library() and add_executable() commands can now be called without - any sources and will not complain as long as sources are added later - via the target_sources() command." - -Note: flann CMake code doesn't use target_sources() since no source file -are provided intentionally since the flann shared library is created by -linking with the flann_cpp_s static library with this line: - -target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) - -If you try to use "add_library(flann_cpp SHARED ${CPP_SOURCES})" (as it should -be normally done), the link fail due to already defined symbol. - -They are building the shared version using the static library "to speedup the -build time" [3] - -This issue is already reported upstream [2] with a proposed solution. - -Upstream status: Pending - -Fixes: -http://autobuild.buildroot.net/results/b2f/b2febfaf8c44ce477b3e4a5b9b976fd25e8d7454 - -[1] https://cmake.org/cmake/help/v3.11/release/3.11.html -[2] https://github.com/mariusmuja/flann/issues/369 -[3] https://github.com/mariusmuja/flann/commit/0fd62b43be2fbb0b8d791ee36290791224dc030c - -Signed-off-by: Romain Naour ---- - src/cpp/CMakeLists.txt | 4 ++-- - src/cpp/empty.cpp | 1 + - 2 files changed, 3 insertions(+), 2 deletions(-) - create mode 100644 src/cpp/empty.cpp - -diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index b44a735..a816863 100644 ---- a/src/cpp/CMakeLists.txt -+++ b/src/cpp/CMakeLists.txt -@@ -29,7 +29,7 @@ if (BUILD_CUDA_LIB) - endif() - - if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) -- add_library(flann_cpp SHARED "") -+ add_library(flann_cpp SHARED "empty.cpp") - set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX) - target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) - -@@ -85,7 +85,7 @@ if (BUILD_C_BINDINGS) - set_property(TARGET flann_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) - - if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) -- add_library(flann SHARED "") -+ add_library(flann SHARED "empty.cpp") - set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX) - target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive) - else() -diff --git a/src/cpp/empty.cpp b/src/cpp/empty.cpp -new file mode 100644 -index 0000000..40a8c17 ---- /dev/null -+++ b/src/cpp/empty.cpp -@@ -0,0 +1 @@ -+/* empty */ --- -2.14.3 - diff --git a/package/flann/Config.in b/package/flann/Config.in index 3725fc784f..180d7eae8a 100644 --- a/package/flann/Config.in +++ b/package/flann/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_FLANN bool "flann" depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LZ4 help FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces. It contains a diff --git a/package/flann/flann.hash b/package/flann/flann.hash index 543e4b483d..6eaa48c403 100644 --- a/package/flann/flann.hash +++ b/package/flann/flann.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b23b5f4e71139faa3bcb39e6bbcc76967fbaf308c4ee9d4f5bfbeceaa76cc5d3 flann-1.9.1.tar.gz +sha256 e26829bb0017f317d9cc45ab83ddcb8b16d75ada1ae07157006c1e7d601c8824 flann-1.9.2.tar.gz sha256 3993f339cc56506c62aa1eb2fb76f240ee93b738d857832899c1e207b1dc069a COPYING diff --git a/package/flann/flann.mk b/package/flann/flann.mk index 6c2e6a9e78..d1a622e685 100644 --- a/package/flann/flann.mk +++ b/package/flann/flann.mk @@ -4,18 +4,18 @@ # ################################################################################ -FLANN_VERSION = 1.9.1 +FLANN_VERSION = 1.9.2 FLANN_SITE = $(call github,mariusmuja,flann,$(FLANN_VERSION)) FLANN_INSTALL_STAGING = YES FLANN_LICENSE = BSD-3-Clause FLANN_LICENSE_FILES = COPYING +FLANN_DEPENDENCIES = host-pkgconf lz4 FLANN_CONF_OPTS = \ -DBUILD_C_BINDINGS=ON \ -DBUILD_PYTHON_BINDINGS=OFF \ -DBUILD_MATLAB_BINDINGS=OFF \ -DBUILD_EXAMPLES=$(if $(BR2_PACKAGE_FLANN_EXAMPLES),ON,OFF) \ -DUSE_OPENMP=$(if $(BR2_TOOLCHAIN_HAS_OPENMP),ON,OFF) \ - -DPYTHON_EXECUTABLE=OFF \ -DCMAKE_DISABLE_FIND_PACKAGE_HDF5=TRUE FLANN_CXXFLAGS = $(TARGET_CXXFLAGS)