summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-03-08 14:08:58 +0000
committerCoprDistGit <infra@openeuler.org>2025-03-08 14:08:58 +0000
commit2429462c079b72264f9fad2d1a9aacc5fa446f2a (patch)
tree4ec842023dc10a399adaf0e60aa555a51382314d
parentf7fdcceddbc3ae9b626c053c036a5200c0a0b5dd (diff)
automatic import of ros-humble-librealsense2openeuler24.03_LTS
-rw-r--r--.gitignore1
-rw-r--r--0-librealsense2-add-riscv-arch.patch21
-rw-r--r--0-librealsense2-fix-threads-not-found.patch23
-rw-r--r--disable-lto.patch13
-rw-r--r--librealsense2.spec112
-rw-r--r--sources1
6 files changed, 171 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..eab655d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..49a7d9e
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+93da90ac8c06db434e7a47f18efe2e6e ros-humble-librealsense2_2.51.1.orig.tar.gz