From 8386d21312bf758fb2d038c81e3be3bd19f80c9c Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 31 Mar 2026 10:12:31 +0000 Subject: automatic import of ros-humble-librealsense2 --- .gitignore | 4 + 0-librealsense2-fix-threads-not-found.patch | 23 ++++++ librealsense2.spec | 118 ++++++++++++++++++++++++++++ sources | 4 + 4 files changed, 149 insertions(+) create mode 100644 0-librealsense2-fix-threads-not-found.patch create mode 100644 librealsense2.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..96c3388 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,4 @@ +/librealsense2-2.57.7.tar.gz.aa +/librealsense2-2.57.7.tar.gz.ab +/librealsense2-2.57.7.tar.gz.ac +/librealsense2-2.57.7.tar.gz.ad 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/librealsense2.spec b/librealsense2.spec new file mode 100644 index 0000000..133cdc8 --- /dev/null +++ b/librealsense2.spec @@ -0,0 +1,118 @@ +%bcond_without tests +%bcond_without weak_deps + +%define ros_distro humble + +%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 + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 2.57.7 +Release: 1%{?dist}%{?release_suffix} +Summary: Library for controlling and capturing data from the Intel(R) RealSense(TM) D400 devices. + +Url: https://github.com/realsenseai/librealsense/ +License: Apache License, Version 2.0 + +Patch1: 0-librealsense2-fix-threads-not-found.patch +Source0: %{RosPkgName}-%{version}.tar.gz.aa +Source1: %{RosPkgName}-%{version}.tar.gz.ab +Source2: %{RosPkgName}-%{version}.tar.gz.ac +Source3: %{RosPkgName}-%{version}.tar.gz.ad + +Requires: libX11-devel +Requires: mesa-libGL-devel +Requires: ros-%{ros_distro}-ros-workspace + +BuildRequires: libX11-devel +BuildRequires: mesa-libGL-devel +BuildRequires: pkgconfig +BuildRequires: libusbx-devel +BuildRequires: openssl-devel +BuildRequires: libudev-devel +BuildRequires: dkms +BuildRequires: git +BuildRequires: udev +BuildRequires: 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 +cat %{SOURCE0} %{SOURCE1} %{SOURCE2} %{SOURCE3} > %{RosPkgName}-%{version}.tar.gz +tar -xzf %{RosPkgName}-%{version}.tar.gz +%autosetup -T -D -p1 -n %{RosPkgName}-%{version} + +%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 \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_GLSL_EXTENSIONS=OFF \ + -DBUILD_GRAPHICAL_EXAMPLES=OFF \ +%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 Mar 25 2026 LibRealSense ROS Team rsswsdk@realsensecloud.onmicrosoft.com - 2.57.7-1 +- Autogenerated by ros-porting-tools diff --git a/sources b/sources new file mode 100644 index 0000000..69d48f7 --- /dev/null +++ b/sources @@ -0,0 +1,4 @@ +3f2eb47e82665b02d91c16ec8a4f970c librealsense2-2.57.7.tar.gz.aa +03c504bd14a523b4dcc774b4d6b7ca5e librealsense2-2.57.7.tar.gz.ab +78aac7a90d0fab76b3953d2f6030c8ad librealsense2-2.57.7.tar.gz.ac +a457d175f247950bd29d0716f6506067 librealsense2-2.57.7.tar.gz.ad -- cgit v1.2.3