diff options
author | CoprDistGit <infra@openeuler.org> | 2025-03-08 11:55:48 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2025-03-08 11:55:48 +0000 |
commit | 54cfefd61ad0b113ce57d36a494d3b342610ebd7 (patch) | |
tree | a5230af656c12d88cf669b036432587fe3944381 | |
parent | 39f9330a2b3894ce9310b37aa84930aa964eab1a (diff) |
automatic import of ros-humble-cartographeropeneuler24.03_LTS
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | cartographer-adapt-absl.patch | 11 | ||||
-rw-r--r-- | cartographer-adapt-eigen.patch | 40 | ||||
-rw-r--r-- | cartographer.spec | 129 | ||||
-rw-r--r-- | sources | 1 |
5 files changed, 182 insertions, 0 deletions
@@ -0,0 +1 @@ +/ros-humble-cartographer_2.0.9002.orig.tar.gz diff --git a/cartographer-adapt-absl.patch b/cartographer-adapt-absl.patch new file mode 100644 index 0000000..ef52a9a --- /dev/null +++ b/cartographer-adapt-absl.patch @@ -0,0 +1,11 @@ +diff -Naur ros-humble-cartographer-2.0.9002_org/CMakeLists.txt ros-humble-cartographer-2.0.9002/CMakeLists.txt +--- ros-humble-cartographer-2.0.9002_org/CMakeLists.txt 2022-04-20 08:00:55.000000000 +0800 ++++ ros-humble-cartographer-2.0.9002/CMakeLists.txt 2023-10-25 10:04:53.000000000 +0800 +@@ -30,6 +30,7 @@ + google_enable_testing() + + find_package(absl REQUIRED) ++add_definitions(-DABSL_LEGACY_THREAD_ANNOTATIONS) + set(BOOST_COMPONENTS iostreams) + if(WIN32) + list(APPEND BOOST_COMPONENTS zlib) diff --git a/cartographer-adapt-eigen.patch b/cartographer-adapt-eigen.patch new file mode 100644 index 0000000..d63f3b6 --- /dev/null +++ b/cartographer-adapt-eigen.patch @@ -0,0 +1,40 @@ +--- ros-humble-cartographer-2.0.9002/cartographer/mapping/internal/range_data_collator_test.cc 2022-04-20 08:00:55.000000000 +0800 ++++ ros-humble-cartographer-2.0.9002/cartographer/mapping/internal/range_data_collator_test.cc 2023-09-12 11:39:48.000000000 +0800 +@@ -31,7 +31,7 @@ + double duration = common::ToSeconds(common::FromUniversal(to) - + common::FromUniversal(from)); + sensor::TimedPointCloudData result{ +- common::FromUniversal(to), Eigen::Vector3f(0., 1., 2.), {}, {}}; ++ common::FromUniversal(to), Eigen::Vector3f(0., 1., 2.), {{Eigen::Vector3f::Zero(),0}}, {}}; + result.ranges.reserve(kNumSamples); + for (int i = 0; i < kNumSamples; ++i) { + double fraction = static_cast<double>(i) / (kNumSamples - 1); +@@ -92,7 +92,7 @@ + const std::string sensor_id = "single_sensor"; + RangeDataCollator collator({sensor_id}); + sensor::TimedPointCloudData empty_data{ +- common::FromUniversal(300), {}, {}, {}}; ++ common::FromUniversal(300), Eigen::Vector3f::Zero(), {{Eigen::Vector3f::Zero(),0}}, {}}; + auto output_0 = collator.AddRangeData(sensor_id, empty_data); + EXPECT_EQ(output_0.time, empty_data.time); + EXPECT_EQ(output_0.ranges.size(), empty_data.ranges.size()); +--- ros-humble-cartographer-2.0.9002/cartographer/sensor/internal/test_helpers.h 2022-04-20 08:00:55.000000000 +0800 ++++ ros-humble-cartographer-2.0.9002/cartographer/sensor/internal/test_helpers.h 2023-09-12 12:25:49.000000000 +0800 +@@ -47,7 +47,7 @@ + const std::string& sensor_id, int time) { + return CollatorInput{ + trajectory_id, +- MakeDispatchable(sensor_id, ImuData{common::FromUniversal(time)}), ++ MakeDispatchable(sensor_id, ImuData{common::FromUniversal(time),Eigen::Vector3d::Zero(),Eigen::Vector3d::Zero()}), + CollatorOutput{trajectory_id, sensor_id, common::FromUniversal(time)}}; + } + static CollatorInput CreateTimedPointCloudData(int trajectory_id, +@@ -58,7 +58,7 @@ + MakeDispatchable( + sensor_id, + TimedPointCloudData{ +- common::FromUniversal(time), Eigen::Vector3f::Zero(), {}}), ++ common::FromUniversal(time), Eigen::Vector3f::Zero(), {{Eigen::Vector3f::Zero(),0}}}), + CollatorOutput{trajectory_id, sensor_id, common::FromUniversal(time)}}; + } + static CollatorInput CreateOdometryData(int trajectory_id, diff --git a/cartographer.spec b/cartographer.spec new file mode 100644 index 0000000..518676c --- /dev/null +++ b/cartographer.spec @@ -0,0 +1,129 @@ +%bcond_without tests +%bcond_without weak_deps + +%global debug_package %{nil} +%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 cartographer +%define ros_distro humble + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 2.0.9002 +Release: 3%{?dist}%{?release_suffix} +Summary: ROS cartographer package + +Url: https://github.com/cartographer-project/cartographer +License: Apache 2.0 +Source0: %{name}_%{version}.orig.tar.gz +Patch0: cartographer-adapt-eigen.patch +Patch1: cartographer-adapt-absl.patch + +Requires: boost-devel +Requires: eigen3-devel +Requires: abseil-cpp-devel +Requires: cairo-devel +Requires: ceres-solver-devel +Requires: gflags-devel +Requires: glog-devel +Requires: lua-devel +Requires: protobuf-devel +Requires: ros-%{ros_distro}-ros-workspace + +BuildRequires: boost-devel +BuildRequires: eigen3-devel +BuildRequires: abseil-cpp-devel +BuildRequires: cairo-devel +BuildRequires: ceres-solver-devel +BuildRequires: gflags-devel +BuildRequires: glog-devel +BuildRequires: lua-devel +BuildRequires: protobuf-devel +BuildRequires: git +BuildRequires: gmock-devel +BuildRequires: gtest-devel +BuildRequires: python3-sphinx +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 + + Cartographer is a system that provides real-time simultaneous localization + and mapping (SLAM) in 2D and 3D across multiple platforms and sensor + configurations. + + +%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 \ +%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 Sep 12 2023 simonaxi <18701881329@163.com> - 2.0.9002-3 +- fix: adapter absl patch +* Wed Sep 12 2023 davidhan008 <619409713@qq.com> - 2.0.9002-2 +- add: cartographer adapt eigen patch +* Thu May 04 2023 Chris Lalancette clalancette@openrobotics.org - 2.0.9002-1 +- Autogenerated by ros-porting-tools @@ -0,0 +1 @@ +d9a19e9f2f798c4e7445d14f0cc09eca ros-humble-cartographer_2.0.9002.orig.tar.gz |