summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhirui Dai2023-10-09 15:35:26 -0700
committerZhirui Dai2023-10-09 15:35:26 -0700
commit80c700f420473d86c511e2b0bfcffb2035730e76 (patch)
treeb1bc762027d2039e20d74006d0d0152014285d1e
downloadaur-ros-noetic-hector-mapping.tar.gz
0.5.2
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD74
-rw-r--r--eigen.patch12
3 files changed, 112 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..0e06b8f9bc00
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,26 @@
+pkgbase = ros-noetic-hector-mapping
+ pkgdesc = ROS - hector_mapping is an SLAM approach that can be used without odometry as well as on platforms that exhibit roll/pitch motion (of the sensor, the platform or both).
+ pkgver = 0.5.2
+ pkgrel = 1
+ url = https://wiki.ros.org/hector_mapping
+ arch = x86_64
+ license = BSD
+ makedepends = cmake
+ makedepends = ros-build-tools
+ makedepends = ros-noetic-catkin
+ depends = ros-noetic-roscpp
+ depends = ros-noetic-nav-msgs
+ depends = ros-noetic-visualization-msgs
+ depends = ros-noetic-tf
+ depends = ros-noetic-message-filters
+ depends = ros-noetic-laser-geometry
+ depends = ros-noetic-message-generation
+ depends = ros-noetic-message-runtime
+ depends = eigen
+ depends = boost
+ source = ros-noetic-hector-mapping-0.5.2.tar.gz::https://github.com/tu-darmstadt-ros-pkg/hector_slam/archive/0.5.2.tar.gz
+ source = eigen.patch
+ sha256sums = c4c94b75062c1849c720b6c21d9fdea8dbd14e96a17c0ee80c630f3c8ea740fd
+ sha256sums = 8b3c532af9520440ccd9c693fb71c1138734f1b8c7ea46011d7ad94f865b1c48
+
+pkgname = ros-noetic-hector-mapping
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b5f15da7bbc8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,74 @@
+pkgdesc="ROS - hector_mapping is an SLAM approach that can be used without odometry as well as on platforms that exhibit roll/pitch motion (of the sensor, the platform or both)."
+url='https://wiki.ros.org/hector_mapping'
+
+pkgname='ros-noetic-hector-mapping'
+pkgver='0.5.2'
+arch=('x86_64')
+pkgrel=1
+license=('BSD')
+
+ros_makedepends=(
+ ros-noetic-catkin
+)
+
+makedepends=(
+ cmake
+ ros-build-tools
+ ${ros_makedepends[@]}
+)
+
+ros_depends=(
+ ros-noetic-roscpp
+ ros-noetic-nav-msgs
+ ros-noetic-visualization-msgs
+ ros-noetic-tf
+ ros-noetic-message-filters
+ ros-noetic-laser-geometry
+ ros-noetic-message-generation
+ ros-noetic-message-runtime
+)
+
+depends=(
+ ${ros_depends[@]}
+ eigen
+ boost
+)
+
+_dir="hector_slam-${pkgver}/hector_mapping"
+source=(
+ "${pkgname}-${pkgver}.tar.gz::https://github.com/tu-darmstadt-ros-pkg/hector_slam/archive/${pkgver}.tar.gz"
+ "eigen.patch"
+)
+sha256sums=(
+ 'c4c94b75062c1849c720b6c21d9fdea8dbd14e96a17c0ee80c630f3c8ea740fd'
+ '8b3c532af9520440ccd9c693fb71c1138734f1b8c7ea46011d7ad94f865b1c48'
+)
+
+prepare() {
+ cd "${srcdir}/${_dir}"
+ patch -Np0 -i "${srcdir}/eigen.patch"
+
+}
+
+build() {
+ # Use ROS environment variables
+ source /usr/share/ros-build-tools/clear-ros-env.sh
+ [ -f /opt/ros/noetic/setup.bash ] && source /opt/ros/noetic/setup.bash
+
+ # Create build directory
+ [ -d ${srcdir}/build ] || mkdir ${srcdir}/build
+ cd ${srcdir}/build
+
+ # Build project
+ cmake ${srcdir}/${_dir} \
+ -DCATKIN_BUILD_BINARY_PACKAGE=ON \
+ -DCMAKE_INSTALL_PREFIX=/opt/ros/noetic \
+ -DPYTHON_EXECUTABLE=/usr/bin/python \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF
+ make
+}
+
+package() {
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}/" install
+}
diff --git a/eigen.patch b/eigen.patch
new file mode 100644
index 000000000000..1df67057c700
--- /dev/null
+++ b/eigen.patch
@@ -0,0 +1,12 @@
+--- CMakeLists.txt 2021-04-08 09:17:08.000000000 -0700
++++ CMakeLists.txt 2023-10-09 15:27:54.234607731 -0700
+@@ -14,6 +14,9 @@
+ find_package(Boost REQUIRED COMPONENTS thread)
+
+ find_package(Eigen3 REQUIRED)
++if (NOT DEFINED EIGEN3_INCLUDE_DIRS)
++ get_target_property(EIGEN3_INCLUDE_DIRS Eigen3::Eigen INTERFACE_INCLUDE_DIRECTORIES)
++endif ()
+
+ #######################################
+ ## Declare ROS messages and services ##