Add: flann
This commit is contained in:
parent
7a264eb32c
commit
440368c051
BIN
1.9.2.tar.gz
Normal file
BIN
1.9.2.tar.gz
Normal file
Binary file not shown.
43
flann-1.9.1-fixpyflann.patch
Normal file
43
flann-1.9.1-fixpyflann.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
diff -up ./src/python/CMakeLists.txt.fixpyflann ./src/python/CMakeLists.txt
|
||||||
|
--- ./src/python/CMakeLists.txt.fixpyflann 2016-08-04 19:20:50.000000000 -0400
|
||||||
|
+++ ./src/python/CMakeLists.txt 2020-08-05 22:23:54.069400292 -0400
|
||||||
|
@@ -5,8 +5,8 @@ install( FILES ${CMAKE_CURRENT_BINARY_DI
|
||||||
|
|
||||||
|
|
||||||
|
# python instalation
|
||||||
|
-if (PYTHON_EXECUTABLE)
|
||||||
|
- install(CODE "execute_process(
|
||||||
|
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install
|
||||||
|
- WORKING_DIRECTORY \"${CMAKE_CURRENT_SOURCE_DIR}\")")
|
||||||
|
-endif()
|
||||||
|
+#if (PYTHON_EXECUTABLE)
|
||||||
|
+# install(CODE "execute_process(
|
||||||
|
+# COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install
|
||||||
|
+# WORKING_DIRECTORY \"${CMAKE_CURRENT_SOURCE_DIR}\")")
|
||||||
|
+#endif()
|
||||||
|
diff -up ./src/python/pyflann/flann_ctypes.py.fixpyflann ./src/python/pyflann/flann_ctypes.py
|
||||||
|
--- ./src/python/pyflann/flann_ctypes.py.fixpyflann 2020-08-05 22:23:54.070400287 -0400
|
||||||
|
+++ ./src/python/pyflann/flann_ctypes.py 2020-08-05 22:26:17.075653702 -0400
|
||||||
|
@@ -150,7 +150,7 @@ def load_flann_library():
|
||||||
|
|
||||||
|
root_dir = os.path.abspath(os.path.dirname(__file__))
|
||||||
|
|
||||||
|
- libnames = ['libflann.so']
|
||||||
|
+ libnames = ['libflann.so.1.9']
|
||||||
|
libdir = 'lib'
|
||||||
|
if sys.platform == 'win32':
|
||||||
|
libnames = ['flann.dll', 'libflann.dll']
|
||||||
|
@@ -161,12 +161,7 @@ def load_flann_library():
|
||||||
|
for libname in libnames:
|
||||||
|
try:
|
||||||
|
#print 'Trying ',os.path.join(root_dir,'lib',libname)
|
||||||
|
- flannlib = cdll[os.path.join(root_dir, libdir, libname)]
|
||||||
|
- return flannlib
|
||||||
|
- except Exception:
|
||||||
|
- pass
|
||||||
|
- try:
|
||||||
|
- flannlib = cdll[os.path.join(root_dir, 'build', libdir, libname)]
|
||||||
|
+ flannlib = cdll[os.path.join(root_dir,libname)]
|
||||||
|
return flannlib
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
10
flann-fix-lz4.patch
Normal file
10
flann-fix-lz4.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- flann-1.9.2/cmake/flann.pc.in_org 2023-05-04 10:17:19.820048147 +0800
|
||||||
|
+++ flann-1.9.2/cmake/flann.pc.in 2023-05-04 10:17:35.060271401 +0800
|
||||||
|
@@ -8,6 +8,6 @@
|
||||||
|
Description: @PKG_DESC@
|
||||||
|
Version: @FLANN_VERSION@
|
||||||
|
Requires: @PKG_EXTERNAL_DEPS@
|
||||||
|
-Libs: -L${libdir} @LZ4_STATIC_LDFLAGS@ -lflann -lflann_cpp
|
||||||
|
+Libs: -L${libdir} -llz4 -lflann -lflann_cpp
|
||||||
|
Cflags: -I${includedir}
|
||||||
|
|
||||||
11
flann-libdir.patch
Normal file
11
flann-libdir.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- flann-1.9.2/CMakeLists.txt.orig 2021-04-12 09:15:28.000000000 +0200
|
||||||
|
+++ flann-1.9.2/CMakeLists.txt 2023-01-17 18:18:25.687565563 +0100
|
||||||
|
@@ -164,7 +164,7 @@ else()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# install and export variables
|
||||||
|
-set(config_install_dir "lib/cmake/${PROJECT_NAME}")
|
||||||
|
+set(config_install_dir "lib${LIB_SUFFIX}/cmake/${PROJECT_NAME}")
|
||||||
|
set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
|
||||||
|
set(version_config "${generated_dir}/flann-config-version.cmake")
|
||||||
|
set(project_config "${generated_dir}/flann-config.cmake")
|
||||||
18
flann-python.patch
Normal file
18
flann-python.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
--- flann-1.7.1-src/src/python/CMakeLists.txt.orig 2011-12-23 12:16:09.000000000 +0100
|
||||||
|
+++ flann-1.7.1-src/src/python/CMakeLists.txt 2012-02-02 17:07:06.212529926 +0100
|
||||||
|
@@ -1,12 +1,12 @@
|
||||||
|
configure_file( setup.py.tpl setup.py )
|
||||||
|
|
||||||
|
-install( DIRECTORY pyflann DESTINATION share/flann/python )
|
||||||
|
-install( FILES ${CMAKE_CURRENT_BINARY_DIR}/setup.py DESTINATION share/flann/python )
|
||||||
|
+#install( DIRECTORY pyflann DESTINATION share/flann/python )
|
||||||
|
+#install( FILES ${CMAKE_CURRENT_BINARY_DIR}/setup.py DESTINATION share/flann/python )
|
||||||
|
|
||||||
|
|
||||||
|
# python instalation
|
||||||
|
if (PYTHON_EXECUTABLE)
|
||||||
|
install(CODE "execute_process(
|
||||||
|
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install
|
||||||
|
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install --optimize=2 --root=\$ENV{DESTDIR} --prefix=${CMAKE_INSTALL_PREFIX}
|
||||||
|
WORKING_DIRECTORY \"${CMAKE_CURRENT_SOURCE_DIR}\")")
|
||||||
|
endif()
|
||||||
123
flann.spec
Normal file
123
flann.spec
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
%global srcname flann
|
||||||
|
%global soversion 1.9
|
||||||
|
|
||||||
|
Name: flann
|
||||||
|
Version: 1.9.2
|
||||||
|
Release: 1%{?dist}
|
||||||
|
Summary: Fast Library for Approximate Nearest Neighbors
|
||||||
|
|
||||||
|
License: BSD
|
||||||
|
URL: http://www.cs.ubc.ca/research/flann
|
||||||
|
Source0: %{version}.tar.gz
|
||||||
|
|
||||||
|
Patch0: flann-1.9.1-fixpyflann.patch
|
||||||
|
Patch1: %{name}-libdir.patch
|
||||||
|
Patch2: flann-fix-lz4.patch
|
||||||
|
|
||||||
|
Requires: lz4
|
||||||
|
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: cmake
|
||||||
|
BuildRequires: zlib-devel
|
||||||
|
|
||||||
|
BuildRequires: hdf5-devel
|
||||||
|
BuildRequires: gtest-devel
|
||||||
|
|
||||||
|
BuildRequires: latex2html
|
||||||
|
BuildRequires: texlive-bibtex
|
||||||
|
BuildRequires: texlive-latex
|
||||||
|
BuildRequires: texlive-tetex
|
||||||
|
BuildRequires: gtest-devel
|
||||||
|
BuildRequires: gmock-devel
|
||||||
|
BuildRequires: lz4-devel
|
||||||
|
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
|
||||||
|
%description
|
||||||
|
FLANN is a library for performing fast approximate nearest neighbor searches
|
||||||
|
in high dimensional spaces. It contains a collection of algorithms found
|
||||||
|
to work best for nearest neighbor search and a system for automatically
|
||||||
|
choosing the best algorithm and optimum parameters depending on the data sets.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development headers and libraries for flann
|
||||||
|
Requires: lz4-devel
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
# flann/flann_mpi.hpp requires boost/mpi.hpp, which is a convenience header
|
||||||
|
# inside of the boost-devel package
|
||||||
|
Requires: boost-devel
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Development headers and libraries for flann.
|
||||||
|
|
||||||
|
%package static
|
||||||
|
Summary: Static libraries for flann
|
||||||
|
Requires: lz4-devel
|
||||||
|
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description static
|
||||||
|
Static libraries for flann.
|
||||||
|
|
||||||
|
%package -n python3-flann
|
||||||
|
Summary: Python bindings for flann
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: python3-numpy
|
||||||
|
%{?python_provide:%python_provide python3-%{srcname}}
|
||||||
|
|
||||||
|
%description -n python3-flann
|
||||||
|
Python 3 bindings for flann
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
mkdir build && cd build
|
||||||
|
%cmake -DBUILD_MATLAB_BINDINGS=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON_BINDINGS=ON ..
|
||||||
|
%make_build
|
||||||
|
%make_build doc
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install -C build
|
||||||
|
rm -rf %{buildroot}%{_datadir}/%{name}/python
|
||||||
|
|
||||||
|
# install the python bindings
|
||||||
|
cp -r src/python/pyflann build/src/python
|
||||||
|
cp -r build/src/python src/python3
|
||||||
|
|
||||||
|
cp build/src/python/setup.py src/python3
|
||||||
|
|
||||||
|
pushd src/python3
|
||||||
|
%{__python3} setup.py install --prefix=/usr --root=%{buildroot} --install-lib=%{python3_sitearch}
|
||||||
|
popd
|
||||||
|
|
||||||
|
# get rid of duplicate shared libraries
|
||||||
|
rm -rf %{buildroot}%{python3_sitearch}/pyflann/lib
|
||||||
|
# Remove example binaries
|
||||||
|
rm -rf %{buildroot}%{_bindir}*
|
||||||
|
# Remove installed documentation, we'll install it later with the doc macro
|
||||||
|
rm -rf %{buildroot}%{_datadir}/doc/flann
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc doc/manual.pdf
|
||||||
|
%{_libdir}/*.so.%{version}
|
||||||
|
%{_libdir}/*.so.%{soversion}
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_libdir}/*.so
|
||||||
|
%{_libdir}/pkgconfig/*
|
||||||
|
%{_includedir}/flann
|
||||||
|
%{_libdir}/cmake/flann
|
||||||
|
|
||||||
|
%files static
|
||||||
|
%{_libdir}/*.a
|
||||||
|
|
||||||
|
%files -n python3-%{srcname}
|
||||||
|
%{python3_sitearch}/pyflann
|
||||||
|
%{python3_sitearch}/flann-%{version}*.egg-info
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon May 1 2023 will_niutao <niutao2@huawei.com> - 1.9.2-1
|
||||||
|
- Init for openEuler
|
||||||
Loading…
x
Reference in New Issue
Block a user