diff options
author | CoprDistGit <infra@openeuler.org> | 2025-03-08 14:08:58 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2025-03-08 14:08:58 +0000 |
commit | 2429462c079b72264f9fad2d1a9aacc5fa446f2a (patch) | |
tree | 4ec842023dc10a399adaf0e60aa555a51382314d | |
parent | f7fdcceddbc3ae9b626c053c036a5200c0a0b5dd (diff) |
automatic import of ros-humble-librealsense2openeuler24.03_LTS
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | 0-librealsense2-add-riscv-arch.patch | 21 | ||||
-rw-r--r-- | 0-librealsense2-fix-threads-not-found.patch | 23 | ||||
-rw-r--r-- | disable-lto.patch | 13 | ||||
-rw-r--r-- | librealsense2.spec | 112 | ||||
-rw-r--r-- | sources | 1 |
6 files changed, 171 insertions, 0 deletions
@@ -0,0 +1 @@ +/ros-humble-librealsense2_2.51.1.orig.tar.gz diff --git a/0-librealsense2-add-riscv-arch.patch b/0-librealsense2-add-riscv-arch.patch new file mode 100644 index 0000000..7afc70f --- /dev/null +++ b/0-librealsense2-add-riscv-arch.patch @@ -0,0 +1,21 @@ +--- + CMake/unix_config.cmake | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/CMake/unix_config.cmake b/CMake/unix_config.cmake +index 4ec81bb..ecb2c8c 100644 +--- a/CMake/unix_config.cmake ++++ b/CMake/unix_config.cmake +@@ -16,6 +16,9 @@ macro(os_set_flags) + elseif(${MACHINE} MATCHES "powerpc64(le)?-linux-gnu") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftree-vectorize") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftree-vectorize") ++ elseif(${MACHINE} MATCHES "riscv-*") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=rv64ifd") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=rv64ifd") + else() + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mssse3") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3") +-- +2.43.0 + diff --git a/0-librealsense2-fix-threads-not-found.patch b/0-librealsense2-fix-threads-not-found.patch new file mode 100644 index 0000000..e985607 --- /dev/null +++ b/0-librealsense2-fix-threads-not-found.patch @@ -0,0 +1,23 @@ +--- + CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8f80c78..0b11b78 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,6 +4,11 @@ project(librealsense2 LANGUAGES CXX C) + + # Allow librealsense2 and all of the nested project to include the main repo folder + set(REPO_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) ++set(CMAKE_THREAD_LIBS_INIT "-lpthread") ++set(CMAKE_HAVE_THREADS_LIBRARY 1) ++set(CMAKE_USE_WIN32_THREADS_INIT 0) ++set(CMAKE_USE_PTHREADS_INIT 1) ++set(THREADS_PREFER_PTHREAD_FLAG ON) + include_directories(${REPO_ROOT}) + + include(CMake/lrs_options.cmake) +-- +2.43.0 + diff --git a/disable-lto.patch b/disable-lto.patch new file mode 100644 index 0000000..3cb487f --- /dev/null +++ b/disable-lto.patch @@ -0,0 +1,13 @@ +diff --git a/CMake/unix_config.cmake b/CMake/unix_config.cmake +index b496cf0..f5383d4 100644 +--- a/CMake/unix_config.cmake ++++ b/CMake/unix_config.cmake +@@ -21,7 +21,7 @@ macro(os_set_flags) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=rv64ifd") + else() + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mssse3") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3 -flto") + set(LRS_TRY_USE_AVX true) + endif(${MACHINE} MATCHES "arm-*") + diff --git a/librealsense2.spec b/librealsense2.spec new file mode 100644 index 0000000..3d5aa42 --- /dev/null +++ b/librealsense2.spec @@ -0,0 +1,112 @@ +%bcond_without tests +%bcond_without weak_deps + +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') +%global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$ +%global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$ + +%define RosPkgName librealsense2 +%define ros_distro humble + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 2.51.1 +Release: 2%{?dist}%{?release_suffix} +Summary: ROS librealsense2 package + +Url: https://github.com/IntelRealSense/librealsense/ +License: Apache License, Version 2.0 +Source0: %{name}_%{version}.orig.tar.gz + +Patch1: 0-librealsense2-fix-threads-not-found.patch +Patch2: 0-librealsense2-add-riscv-arch.patch +Patch3: disable-lto.patch + +Requires: ros-%{ros_distro}-ros-workspace + +BuildRequires: pkgconfig +BuildRequires: libusbx-devel +BuildRequires: openssl-devel +BuildRequires: libudev-devel +BuildRequires: dkms +BuildRequires: udev +BuildRequires: ros-%{ros_distro}-ament-cmake +BuildRequires: ros-%{ros_distro}-ros-workspace + +%if 0%{?with_tests} +%endif + +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description + + Library for controlling and capturing data from the Intel(R) RealSense(TM) D400 devices. + + +%prep +%autosetup -p1 + +%build +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +mkdir -p .obj-%{_target_platform} && cd .obj-%{_target_platform} +%cmake3 \ + -UINCLUDE_INSTALL_DIR \ + -ULIB_INSTALL_DIR \ + -USYSCONF_INSTALL_DIR \ + -USHARE_INSTALL_PREFIX \ + -ULIB_SUFFIX \ + -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \ + -DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DCMAKE_EXE_LINKER_FLAGS=-latomic \ +%if !0%{?with_tests} + -DBUILD_TESTING=OFF \ +%endif + .. + +%make_build + +%install +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +%make_install -C .obj-%{_target_platform} + +%if 0%{?with_tests} +%check +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +# Look for a Makefile target with a name indicating that it runs tests +TEST_TARGET=$(%__make -qp -C .obj-%{_target_platform} | sed "s/^\(test\|check\):.*/\\1/;t f;d;:f;q0") +if [ -n "$TEST_TARGET" ]; then +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +CTEST_OUTPUT_ON_FAILURE=1 \ + %make_build -C .obj-%{_target_platform} $TEST_TARGET || echo "RPM TESTS FAILED" +else echo "RPM TESTS SKIPPED"; fi +%endif + +%files +/opt/ros/%{ros_distro} + +%changelog +* Wed Jan 31 2024 zhtianyu zhangtianyu@iscas.ac.cn - 2.51.1-2 +- Add riscv arch + +* Thu May 04 2023 LibRS ROS Team librs.ros@intel.com - 2.51.1-1 +- Autogenerated by ros-porting-tools @@ -0,0 +1 @@ +93da90ac8c06db434e7a47f18efe2e6e ros-humble-librealsense2_2.51.1.orig.tar.gz |