summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-03-08 11:55:48 +0000
committerCoprDistGit <infra@openeuler.org>2025-03-08 11:55:48 +0000
commit54cfefd61ad0b113ce57d36a494d3b342610ebd7 (patch)
treea5230af656c12d88cf669b036432587fe3944381
parent39f9330a2b3894ce9310b37aa84930aa964eab1a (diff)
automatic import of ros-humble-cartographeropeneuler24.03_LTS
-rw-r--r--.gitignore1
-rw-r--r--cartographer-adapt-absl.patch11
-rw-r--r--cartographer-adapt-eigen.patch40
-rw-r--r--cartographer.spec129
-rw-r--r--sources1
5 files changed, 182 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..ec317be 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..c5cdd83
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+d9a19e9f2f798c4e7445d14f0cc09eca ros-humble-cartographer_2.0.9002.orig.tar.gz