summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Henrik Bruhn2020-01-16 21:02:43 +0100
committerJan-Henrik Bruhn2020-01-16 21:02:43 +0100
commit466aa9d1f1c4e9e3292d3b59bd85f63198ff5d34 (patch)
treeeb2d7ddde4d554c81e1695414da6cc0f8f40be95
downloadaur-466aa9d1f1c4e9e3292d3b59bd85f63198ff5d34.tar.gz
Initial commit of ros melodic cartographer
-rw-r--r--.SRCINFO36
-rw-r--r--FindGMock.patch28
-rw-r--r--PKGBUILD82
3 files changed, 146 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..78a98a1c1d0a
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,36 @@
+pkgbase = ros-melodic-cartographer
+ 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 = 1.0.0
+ pkgrel = 1
+ url = https://github.com/googlecartographer/cartographer
+ arch = any
+ license = Apache 2.0
+ makedepends = cmake
+ makedepends = ros-build-tools
+ makedepends = ros-melodic-catkin
+ makedepends = boost
+ makedepends = google-glog
+ makedepends = protobuf
+ makedepends = cairo
+ makedepends = lua52
+ makedepends = python-sphinx
+ makedepends = gcc
+ makedepends = gflags
+ makedepends = eigen3
+ makedepends = ceres-solver
+ makedepends = gmock
+ depends = boost
+ depends = google-glog
+ depends = protobuf
+ depends = cairo
+ depends = lua52
+ depends = gflags
+ depends = eigen3
+ depends = ceres-solver
+ source = ros-melodic-cartographer-1.0.0.tar.gz::https://github.com/ros-gbp/cartographer-release/archive/release/melodic/cartographer/1.0.0.tar.gz
+ source = FindGMock.patch
+ sha256sums = 0b1979462b1715efc762f27bfb1b69fe659c269df96934baee12928b47b7cc9f
+ sha256sums = a109c0927cff5d0a9d8ad7d0f676ce0c3af81a1aa39b88b16a030431cde2cbb4
+
+pkgname = ros-melodic-cartographer
+
diff --git a/FindGMock.patch b/FindGMock.patch
new file mode 100644
index 000000000000..b926468b7c07
--- /dev/null
+++ b/FindGMock.patch
@@ -0,0 +1,28 @@
+diff --unified --recursive cartographer-release-release-melodic-cartographer/cmake/modules/FindGMock.cmake cartographer-release-release-melodic-cartographer.new/cmake/modules/FindGMock.cmake
+--- cartographer-release-release-melodic-cartographer/cmake/modules/FindGMock.cmake 2018-06-01 14:10:29.000000000 +0200
++++ cartographer-release-release-melodic-cartographer.new/cmake/modules/FindGMock.cmake 2020-01-16 14:53:20.965570375 +0100
+@@ -31,6 +31,15 @@
+ /usr
+ )
+
++ find_library(GTEST_LIBRARIES
++ NAMES gtest
++ PATH_SUFFIXES lib
++ )
++ find_library(GMOCK_A_LIBRARIES
++ NAMES gmock
++ PATH_SUFFIXES lib
++ )
++
+ # Find system-wide gtest header.
+ find_path(GTEST_INCLUDE_DIRS gtest/gtest.h
+ HINTS
+@@ -65,7 +74,7 @@
+
+ # System-wide installed gmock library might require pthreads.
+ find_package(Threads REQUIRED)
+- list(APPEND GMOCK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
++ list(APPEND GMOCK_LIBRARIES ${GMOCK_A_LIBRARIES} ${GTEST_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+ endif()
+
+ include(FindPackageHandleStandardArgs)
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..15b262b76cb5
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,82 @@
+# Script generated with create_pkgbuild.py
+ # For more information: https://github.com/ros-melodic-arch/ros-build-tools-py3
+ 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'
+
+ pkgname='ros-melodic-cartographer'
+ pkgver='1.0.0'
+ arch=('any')
+ pkgrel=1
+ license=('Apache 2.0')
+
+ ros_makedepends=(ros-melodic-catkin)
+ makedepends=('cmake' 'ros-build-tools'
+ ${ros_makedepends[@]}
+ boost
+ google-glog
+ protobuf
+ cairo
+ lua52
+ python-sphinx
+ gcc
+ gflags
+ eigen3
+ ceres-solver
+ gmock)
+
+ ros_depends=()
+ depends=(${ros_depends[@]}
+ boost
+ google-glog
+ protobuf
+ cairo
+ lua52
+ gflags
+ eigen3
+ ceres-solver)
+
+ # Tarball version (faster download)
+ _dir="cartographer-release-release-melodic-cartographer"
+ source=("${pkgname}-${pkgver}.tar.gz"::"https://github.com/ros-gbp/cartographer-release/archive/release/melodic/cartographer/${pkgver}.tar.gz" FindGMock.patch)
+ sha256sums=('0b1979462b1715efc762f27bfb1b69fe659c269df96934baee12928b47b7cc9f')
+
+ prepare() {
+ cd "$srcdir/$_dir"
+ patch --forward --strip=1 --input="${srcdir}/FindGMock.patch"
+ }
+
+ build() {
+ # Use ROS environment variables
+ source /usr/share/ros-build-tools/clear-ros-env.sh
+ [ -f /opt/ros/melodic/setup.bash ] && source /opt/ros/melodic/setup.bash
+
+ # Create build directory
+ [ -d ${srcdir}/build ] || mkdir ${srcdir}/build
+ cd ${srcdir}/build
+
+ # Fix Python2/Python3 conflicts
+ /usr/share/ros-build-tools/fix-python-scripts.sh -v 3 ${srcdir}/${_dir}
+
+ rm -f ${srcdir}/${_dir}/cartographer/mapping/3d/hybrid_grid_test.cc
+
+ # Build project
+ cmake ${srcdir}/${_dir} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCATKIN_ENABLE_TESTING=0 \
+ -DCATKIN_BUILD_BINARY_PACKAGE=ON \
+ -DCMAKE_INSTALL_PREFIX=/opt/ros/melodic \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DPYTHON_INCLUDE_DIR=/usr/include/python3.7m \
+ -DPYTHON_LIBRARY=/usr/lib/libpython3.7m.so \
+ -DPYTHON_BASENAME=.cpython-37m \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF
+ make
+ }
+
+ package() {
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}/" install
+ }
+
+sha256sums=('0b1979462b1715efc762f27bfb1b69fe659c269df96934baee12928b47b7cc9f'
+ 'a109c0927cff5d0a9d8ad7d0f676ce0c3af81a1aa39b88b16a030431cde2cbb4')