summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAchmad Fathoni2021-02-07 05:25:53 +0700
committerAchmad Fathoni2021-02-07 05:25:53 +0700
commit313ff5067e906bd8e4432f50c8a1b060e68979f3 (patch)
tree0aef50f74b43adbe91f41dc78986cb496f89dd04
downloadaur-313ff5067e906bd8e4432f50c8a1b060e68979f3.tar.gz
r584.151c563.1
-rw-r--r--.SRCINFO70
-rw-r--r--CMakeLists.patch10
-rw-r--r--PKGBUILD120
3 files changed, 200 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 00000000000..a436b78c5d1
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,70 @@
+pkgbase = ros-noetic-cartographer-ros-git
+ pkgdesc = ROS - Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
+ pkgver = r584.151c563
+ pkgrel = 1
+ url = https://github.com/googlecartographer/cartographer_ros
+ arch = i686
+ arch = x86_64
+ arch = aarch64
+ arch = armv7h
+ arch = armv6h
+ license = Apache 2.0
+ makedepends = cmake
+ makedepends = ros-build-tools
+ makedepends = google-glog
+ makedepends = protobuf
+ makedepends = gcc
+ makedepends = python-sphinx
+ makedepends = gflags
+ makedepends = gmock
+ makedepends = pcl
+ makedepends = ros-noetic-tf2-ros
+ makedepends = ros-noetic-cartographer-ros-msgs
+ makedepends = ros-noetic-roslib
+ makedepends = ros-noetic-eigen-conversions
+ makedepends = ros-noetic-tf2
+ makedepends = ros-noetic-pcl-conversions
+ makedepends = ros-noetic-message-runtime
+ makedepends = ros-noetic-cartographer
+ makedepends = ros-noetic-urdf
+ makedepends = ros-noetic-rosbag
+ makedepends = ros-noetic-sensor-msgs
+ makedepends = ros-noetic-geometry-msgs
+ makedepends = ros-noetic-robot-state-publisher
+ makedepends = ros-noetic-nav-msgs
+ makedepends = ros-noetic-roslaunch
+ makedepends = ros-noetic-visualization-msgs
+ makedepends = ros-noetic-tf2-eigen
+ makedepends = ros-noetic-catkin
+ makedepends = ros-noetic-std-msgs
+ makedepends = ros-noetic-roscpp
+ depends = google-glog
+ depends = gflags
+ depends = pcl
+ depends = ros-noetic-tf2-ros
+ depends = ros-noetic-cartographer-ros-msgs
+ depends = ros-noetic-roslib
+ depends = ros-noetic-eigen-conversions
+ depends = ros-noetic-tf2
+ depends = ros-noetic-pcl-conversions
+ depends = ros-noetic-message-runtime
+ depends = ros-noetic-cartographer
+ depends = ros-noetic-urdf
+ depends = ros-noetic-rosbag
+ depends = ros-noetic-sensor-msgs
+ depends = ros-noetic-geometry-msgs
+ depends = ros-noetic-robot-state-publisher
+ depends = ros-noetic-nav-msgs
+ depends = ros-noetic-roslaunch
+ depends = ros-noetic-visualization-msgs
+ depends = ros-noetic-tf2-eigen
+ depends = ros-noetic-std-msgs
+ depends = ros-noetic-roscpp
+ provides = ros-noetic-cartographer-ros
+ source = ros-noetic-cartographer-ros-git::git://github.com/cartographer-project/cartographer_ros.git
+ source = CMakeLists.patch
+ sha256sums = SKIP
+ sha256sums = 18bafe6a7b7c0a894ce2055ace65925dedab29aab0183f56ba01cb8937013b86
+
+pkgname = ros-noetic-cartographer-ros-git
+
diff --git a/CMakeLists.patch b/CMakeLists.patch
new file mode 100644
index 00000000000..2f862f99280
--- /dev/null
+++ b/CMakeLists.patch
@@ -0,0 +1,10 @@
+--- CMakeLists.txt.old 2020-06-02 22:37:39.983352068 +0200
++++ CMakeLists.txt 2020-06-02 22:37:49.753352117 +0200
+@@ -15,6 +15,7 @@
+ cmake_minimum_required(VERSION 2.8.12) # Ships with Ubuntu 14.04 (Trusty)
+
+ project(cartographer_ros)
++add_compile_options(-std=c++14)
+
+ set(PACKAGE_DEPENDENCIES
+ cartographer_ros_msgs
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 00000000000..9f3ae9af700
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,120 @@
+# Maintainer: Achmad Fathoni<fathoni.id(at)gmail.com>
+
+pkgdesc="ROS - Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations."
+url='https://github.com/googlecartographer/cartographer_ros'
+
+pkgname='ros-noetic-cartographer-ros-git'
+pkgver=r584.151c563
+arch=('i686' 'x86_64' 'aarch64' 'armv7h' 'armv6h')
+pkgrel=1
+license=('Apache 2.0')
+provides=(${pkgname::-4})
+
+ros_makedepends=(
+ ros-noetic-tf2-ros
+ ros-noetic-cartographer-ros-msgs
+ ros-noetic-roslib
+ ros-noetic-eigen-conversions
+ ros-noetic-tf2
+ ros-noetic-pcl-conversions
+ ros-noetic-message-runtime
+ ros-noetic-cartographer
+ ros-noetic-urdf
+ ros-noetic-rosbag
+ ros-noetic-sensor-msgs
+ ros-noetic-geometry-msgs
+ ros-noetic-robot-state-publisher
+ ros-noetic-nav-msgs
+ ros-noetic-roslaunch
+ ros-noetic-visualization-msgs
+ ros-noetic-tf2-eigen
+ ros-noetic-catkin
+ ros-noetic-std-msgs
+ ros-noetic-roscpp
+)
+
+makedepends=(
+ cmake
+ ros-build-tools
+ google-glog
+ protobuf
+ gcc
+ python-sphinx
+ gflags
+ gmock
+ pcl
+ ${ros_makedepends[@]}
+)
+
+ros_depends=(
+ ros-noetic-tf2-ros
+ ros-noetic-cartographer-ros-msgs
+ ros-noetic-roslib
+ ros-noetic-eigen-conversions
+ ros-noetic-tf2
+ ros-noetic-pcl-conversions
+ ros-noetic-message-runtime
+ ros-noetic-cartographer
+ ros-noetic-urdf
+ ros-noetic-rosbag
+ ros-noetic-sensor-msgs
+ ros-noetic-geometry-msgs
+ ros-noetic-robot-state-publisher
+ ros-noetic-nav-msgs
+ ros-noetic-roslaunch
+ ros-noetic-visualization-msgs
+ ros-noetic-tf2-eigen
+ ros-noetic-std-msgs
+ ros-noetic-roscpp
+)
+depends=(
+ google-glog
+ gflags
+ pcl
+ ${ros_depends[@]}
+)
+
+source=(
+ $pkgname::git://github.com/cartographer-project/cartographer_ros.git
+ CMakeLists.patch
+)
+sha256sums=('SKIP'
+'18bafe6a7b7c0a894ce2055ace65925dedab29aab0183f56ba01cb8937013b86')
+
+pkgver() {
+ cd "$pkgname"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+prepare() {
+ cd "${srcdir}/${pkgname}/cartographer_ros"
+ patch -uN CMakeLists.txt ../../CMakeLists.patch || return 1
+}
+
+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}/${pkgname}/cartographer_ros \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCATKIN_ENABLE_TESTING=0 \
+ -DCATKIN_BUILD_BINARY_PACKAGE=ON \
+ -DCMAKE_INSTALL_PREFIX=/opt/ros/noetic \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DPYTHON_INCLUDE_DIR=/usr/include/python3.9 \
+ -DPYTHON_LIBRARY=/usr/lib/libpython3.9.so \
+ -DPYTHON_BASENAME=-python3.9 \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF
+ make
+}
+
+package() {
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}/" install
+}