summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAchmad Fathoni2021-02-07 03:41:52 +0700
committerAchmad Fathoni2021-02-07 03:41:52 +0700
commita35c26af09e9605a2d66142ace1feafc7aa66df5 (patch)
tree06b99f497141362093a1a83a1701caefba1a5414
downloadaur-a35c26af09e9605a2d66142ace1feafc7aa66df5.tar.gz
r1163.fbcfa652.1
-rw-r--r--.SRCINFO44
-rw-r--r--FindGMock.patch28
-rw-r--r--PKGBUILD91
3 files changed, 163 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 00000000000..397af7c33ec
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,44 @@
+pkgbase = ros-noetic-cartographer-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 = r1163.fbcfa652
+ pkgrel = 1
+ url = https://github.com/googlecartographer/cartographer
+ arch = i686
+ arch = x86_64
+ arch = aarch64
+ arch = armv7h
+ arch = armv6h
+ license = Apache 2.0
+ makedepends = cmake
+ makedepends = ros-build-tools
+ makedepends = ros-noetic-catkin
+ makedepends = boost
+ makedepends = google-glog
+ makedepends = protobuf
+ makedepends = cairo
+ makedepends = lua52
+ makedepends = python-sphinx
+ makedepends = gcc
+ makedepends = gflags
+ makedepends = eigen
+ makedepends = ceres-solver-legacy
+ makedepends = abseil-cpp-git
+ makedepends = gmock
+ depends = boost
+ depends = google-glog
+ depends = protobuf
+ depends = cairo
+ depends = lua52
+ depends = gflags
+ depends = eigen
+ depends = ceres-solver-legacy
+ depends = abseil-cpp-git
+ provides = ros-noetic-cartographer
+ conflicts = ros-noetic-cartographer
+ source = ros-noetic-cartographer-git::git://github.com/cartographer-project/cartographer.git
+ source = FindGMock.patch
+ sha256sums = SKIP
+ sha256sums = a109c0927cff5d0a9d8ad7d0f676ce0c3af81a1aa39b88b16a030431cde2cbb4
+
+pkgname = ros-noetic-cartographer-git
+
diff --git a/FindGMock.patch b/FindGMock.patch
new file mode 100644
index 00000000000..b926468b7c0
--- /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 00000000000..481d49c602d
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,91 @@
+# Script generated with create_pkgbuild.py
+# For more information: https://github.com/ros-melodic-arch/ros-build-tools-py3
+# 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'
+
+pkgname='ros-noetic-cartographer-git'
+pkgver=r1163.fbcfa652
+arch=('i686' 'x86_64' 'aarch64' 'armv7h' 'armv6h')
+pkgrel=1
+license=('Apache 2.0')
+provides=(ros-noetic-cartographer)
+conflicts=(ros-noetic-cartographer)
+
+ros_makedepends=(ros-noetic-catkin)
+makedepends=(
+ cmake
+ ros-build-tools
+ ${ros_makedepends[@]}
+ boost
+ google-glog
+ protobuf
+ cairo
+ lua52
+ python-sphinx
+ gcc
+ gflags
+ eigen
+ ceres-solver-legacy
+ abseil-cpp-git
+ gmock
+)
+
+ros_depends=()
+depends=(
+ ${ros_depends[@]}
+ boost
+ google-glog
+ protobuf
+ cairo
+ lua52
+ gflags
+ eigen
+ ceres-solver-legacy
+ abseil-cpp-git
+)
+
+source=($pkgname::git://github.com/cartographer-project/cartographer.git FindGMock.patch)
+sha256sums=('SKIP'
+ 'a109c0927cff5d0a9d8ad7d0f676ce0c3af81a1aa39b88b16a030431cde2cbb4')
+
+pkgver() {
+ cd "$pkgname"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+prepare() {
+ cd "$srcdir/$pkgname"
+ 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/noetic/setup.bash ] && source /opt/ros/noetic/setup.bash
+
+ # Create build directory
+ [ -d ${srcdir}/build ] || mkdir ${srcdir}/build
+ cd ${srcdir}/build
+
+ rm -f ${srcdir}/${_dir}/cartographer/mapping/3d/hybrid_grid_test.cc
+
+ # Build project
+ cmake ${srcdir}/${pkgname} \
+ -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
+}