Merge pull request #607 from shr-project/jansa/lgsvl

Import upstream-able changes from lgsvl/meta-ros2 fork
This commit is contained in:
Dmitry Rozhkov 2018-10-04 16:57:24 +03:00 committed by GitHub
commit 72068b17e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
88 changed files with 1196 additions and 0 deletions

View File

@ -105,6 +105,25 @@ resolved in the past.
rely on the remote commits. In case of porting to other versions, you must
possibly revert some of those commits.
ament-cmake-core depends on python3-pyparsing which is available in
meta-python since pyro
1a373a033f482981eb59ff8d9eb7a9437fa18cd4@meta-openembedded and native
version since rocko
06eb9d658e71b6a61f2589d9618ae2ca35eaaf8b@meta-openembedded
python3-pyparsing-native depends on python3-datetime-native,
python3-debugger-native and python3-stringold-native which were added
in oe-core python3-native in pyro:
462ccb35a5de32b52ddb733d1868df6ac5426f20@openembedded-core and
800753069f667cd1664d70b3779150c467e3b3fe@openembedded-core simple
bbappend as shown in:
https://github.com/bmwcarit/meta-ros/pull/607#pullrequestreview-143981126
is enough to resolve this if you're using old pyro unsupported
release.
ros2topic (and few more recipes when ROS_USE_PYTHON3 is set to yes)
depends on python3-pyyaml which was added in
1161ab8f8dda272eb5d09917446cc5b971be1335@meta-openembedded.
cv-bridge and dependent recipes, e.g., the image-transport recipes, depend on
7568bfdd114597956a1da68746f207ec7f93a48d@openembedded-core.
For native python-numpy support, these recipes also depend on

58
classes/ament.bbclass Normal file
View File

@ -0,0 +1,58 @@
# FIXME: My intuition says that it should be enough to depend on ament-cmake-native only
# since ament-cmake has runtime dependencies on all other needed ament-cmake-* packages.
# Yet in practice all ament-based packages have to depend explicitly on the native
# ament-cmake-* packages.
DEPENDS_append = " \
ament-tools-native \
ament-cmake-native \
ament-cmake-export-definitions-native \
ament-cmake-export-dependencies-native \
ament-cmake-export-include-directories-native \
ament-cmake-export-interfaces-native \
ament-cmake-export-libraries-native \
ament-cmake-export-link-flags-native \
ament-cmake-libraries-native \
ament-cmake-python-native \
ament-cmake-target-dependencies-native \
ament-cmake-include-directories-native \
ament-cmake-test-native \
"
ROS_BPN ?= "${@d.getVar('BPN', True).replace('-', '_')}"
S = "${WORKDIR}/git/${ROS_BPN}"
EXTRA_OECMAKE_append = " -DBUILD_TESTING=OFF -DPYTHON_SOABI=cpython-35m-${TUNE_ARCH}-${TARGET_OS}${ARMPKGSFX_EABI}"
export AMENT_PREFIX_PATH="${STAGING_DIR_HOST}${prefix};${STAGING_DIR_NATIVE}${prefix}"
inherit cmake python3native
do_install_append() {
rm -rf ${D}${datadir}/${ROS_BPN}/environment
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.bash
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.sh
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.zsh
rm -f ${D}${prefix}/local_setup.bash
rm -f ${D}${prefix}/local_setup.sh
rm -f ${D}${prefix}/local_setup.zsh
rm -f ${D}${prefix}/setup.bash
rm -f ${D}${prefix}/setup.sh
rm -f ${D}${prefix}/setup.zsh
rm -f ${D}${prefix}/_order_packages.py
}
FILES_${PN} = " \
${datadir}/${ROS_BPN}/package.xml \
${datadir}/${ROS_BPN}/resource/* \
${datadir}/${ROS_BPN}/msg/* \
${datadir}/${ROS_BPN}/srv/* \
${datadir}/ament_index/* \
${libdir}/${PYTHON_DIR}/* \
${libdir}/${ROS_BPN}/* \
${libdir}/lib*.so \
"
FILES_${PN}-dev = " \
${datadir}/${ROS_BPN}/cmake/* \
${includedir} \
"

View File

@ -0,0 +1,12 @@
# Allow python3-native import target's python libs. This is a hacky sortcut.
#
# Interfaces and msgs generation involves importing rosidl_typesupport python
# libraries. But those libraries have their own dependency on a RMW implementation
# being present. The package rmw-fastrtps-cpp which provides such implementation
# also brings in dependency on rosidl-typesupport-introspecion-cpp.
# This rosidl-typesupport-introspecion-cpp being present automatically
# (through CMake-based mechanism) runs a python script importing modules from
# that package.
# If we make native versions of all these packages then we'll end up with
# a build dependency on asio-native which doesn't exist.
export PYTHONPATH="${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages"

View File

@ -9,6 +9,7 @@ RDEPENDS_${PN} = "\
packagegroup-ros-comm \
packagegroup-ros-kobuki \
packagegroup-ros-industrial-core \
packagegroup-ros2-world \
actionlib \
bond \
bondcpp \

View File

@ -0,0 +1,11 @@
SUMMARY = "The ROS specific CMake bits in the ament buildsystem."
HOMEPAGE = "https://github.com/ros2/ament_cmake_ros"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
SRCREV = "85f37bee18a7e139e62a84909b5677dc44281387"
SRC_URI = "git://github.com/ros2/ament_cmake_ros.git;protocol=git;"
inherit ament
BBCLASSEXTEND += "native"

View File

@ -0,0 +1,8 @@
SUMMARY = "The core of the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=17;endline=17;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-package-native ${PYTHON_PN}-pyparsing-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-package cmake"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export definitions to downstream packages in the ament buildsystem."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export dependencies to downstream packages in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core ament-cmake-libraries"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export include directories to downstream packages in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export interfaces to downstream packages in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export libraries to downstream packages in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export link flags to downstream packages in the ament buildsystem."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The functionality to order include directories according to a chain of prefixes in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The functionality to deduplicate libraries in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to use Python in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to add definitions, include directories and libraries of a package to a target in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core ament-cmake-include-directories ament-cmake-libraries"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to add tests in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,20 @@
HOMEPAGE = "https://github.com/ament/ament_cmake"
SRCREV = "af0789c46d03aabf6ee2cae360bf0487dd8a84d4"
SRC_URI = "git://github.com/ament/ament_cmake.git;protocol=git;"
inherit cmake python3native
ROS_BPN = "${@d.getVar('BPN', True).replace('-', '_')}"
S = "${WORKDIR}/git/${ROS_BPN}"
do_install_append() {
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.bash
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.sh
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.zsh
}
FILES_${PN} += "${datadir}"
BBCLASSEXTEND += "native"

View File

@ -0,0 +1,20 @@
SUMMARY = "The entry point package for the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-export-dependencies-native"
include ament-cmake.inc
RDEPENDS_${PN} += " \
ament-cmake-core \
ament-cmake-export-definitions \
ament-cmake-export-dependencies \
ament-cmake-export-include-directories \
ament-cmake-export-interfaces \
ament-cmake-export-libraries \
ament-cmake-export-link-flags \
ament-cmake-libraries \
ament-cmake-python \
ament-cmake-target-dependencies \
ament-cmake-test \
"

View File

@ -0,0 +1,9 @@
SUMMARY = "Python API to access the ament resource index."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ament-index.inc
S = "${WORKDIR}/git/ament_index_python"
inherit setuptools3

View File

@ -0,0 +1,4 @@
HOMEPAGE = "https://github.com/ament/ament_index"
SRCREV = "1df2aef4d7f1271d80082cc01aa08e13bfc58fce"
SRC_URI = "git://github.com/ament/ament_index.git;protocol=git;"

View File

@ -0,0 +1,13 @@
SUMMARY = "The parser for the manifest files in the ament buildsystem."
HOMEPAGE = "https://github.com/ament/ament_package"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRCREV = "2cc251b627607e2d8ada6fa75add45cbe86cb9d8"
SRC_URI = "git://github.com/ament/ament_package.git;protocol=git;"
S = "${WORKDIR}/git"
inherit setuptools3
BBCLASSEXTEND += "native"

View File

@ -0,0 +1,17 @@
SUMMARY = "The command line tools for the ament buildsystem."
HOMEPAGE = "https://github.com/ament/ament_tools"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
DEPENDS = "osrf-pycommon ament-package"
SRCREV = "0885dfb957260bcab00e6a626624cf4e447d19c0"
SRC_URI = "git://github.com/ament/ament_tools.git;protocol=git;"
S = "${WORKDIR}/git"
inherit setuptools3
PACKAGES_append = " ${PN}-completion"
FILES_${PN}-completion_append = " ${datadir}/ament_tools/environment"
BBCLASSEXTEND += "native"

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/common_interfaces"
SRCREV = "5372c3c98a71e05e8c7584e77ffe7b68bd08819c"
SRC_URI = "git://github.com/ros2/common_interfaces.git;protocol=git;"
inherit ament pythonpath-insane

View File

@ -0,0 +1,13 @@
SUMMARY = "A package containing some message definitions used in the implementation or actions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-std-msgs \
"
ROS_BPN = "actionlib_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,14 @@
SUMMARY = "A package containing some diagnostics related message and service definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-geometry-msgs \
ros2-std-msgs \
"
ROS_BPN = "diagnostic_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,8 @@
SUMMARY = "A package containing some geometry related message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ros2-std-msgs"
ROS_BPN = "geometry_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,14 @@
SUMMARY = "A package containing some navigation related message and service definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-std-msgs \
ros2-geometry-msgs \
"
ROS_BPN = "nav_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,11 @@
SUMMARY = "A package containing sensor message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
ros2-std-msgs \
ros2-geometry-msgs \
"
ROS_BPN = "sensor_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,13 @@
SUMMARY = "A package containing some message definitions which describe geometric shapes."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-geometry-msgs \
"
ROS_BPN = "shape_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,12 @@
SUMMARY = "A package containing some standard message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
"
ROS_BPN = "std_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,12 @@
SUMMARY = "A package containing some standard service definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
"
ROS_BPN = "std_srvs"
include common-interfaces.inc

View File

@ -0,0 +1,14 @@
SUMMARY = "A package containing some stereo camera related message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-std-msgs \
ros2-sensor-msgs \
"
ROS_BPN = "stereo_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,14 @@
SUMMARY = "A package containing some robot trajectory message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-std-msgs \
ros2-geometry-msgs \
"
ROS_BPN = "trajectory_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,14 @@
SUMMARY = "A package containing some visualization and interaction related message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-std-msgs \
ros2-geometry-msgs \
"
ROS_BPN = "visualization_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,27 @@
SUMMARY = "Contains message and service definitions used by the examples."
HOMEPAGE = "https://github.com/ros2/example_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
rosidl-default-generators \
rosidl-cmake \
rosidl-parser \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-generator-py \
rmw-implementation-cmake \
rmw \
rmw-fastrtps-cpp \
rosidl-typesupport-c \
rosidl-typesupport-cpp \
python-cmake-module \
"
SRCREV = "b9f9477cd7f368e61f81d55c5021f4c70ad1fe12"
SRC_URI = "git://github.com/ros2/example_interfaces.git;protocol=git;"
inherit ament pythonpath-insane
S = "${WORKDIR}/git"
FILES_${PN} += "${datadir}/${ROS_BPN}/mapping_rules.yaml"

View File

@ -0,0 +1,28 @@
From 596ed4a3481735b7d286da2701ada64e60e595cc Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 11 Jul 2017 12:47:41 +0300
Subject: [PATCH] don't use INSTALL_INTERFACE
The build system adds `include` as a system headers folder, but in combination
with having --sysroot option set for gcc makes gcc ignore the folder.
Upstream-Status: Inappropriate [the line is legit, but breaks in Yocto]
---
src/cpp/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
index 19029ef..119ce5e 100644
--- a/src/cpp/CMakeLists.txt
+++ b/src/cpp/CMakeLists.txt
@@ -83,7 +83,6 @@ else()
# Define public headers
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include/${PROJECT_NAME}>
- $<INSTALL_INTERFACE:include>
)
endif()
--
2.9.3

View File

@ -0,0 +1,13 @@
SUMMARY = "eProsima FastCDR library provides two serialization mechanisms. One is the standard CDR serialization mechanism, while the other is a faster implementation of it."
HOMEPAGE = "https://github.com/eProsima/Fast-CDR"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRCREV = "8d1489780cd58947e5f7104b84641f680224cdea"
SRC_URI = "git://github.com/eProsima/Fast-CDR.git;protocol=git; \
file://0001-don-t-use-INSTALL_INTERFACE.patch \
"
S = "${WORKDIR}/git"
inherit cmake

View File

@ -0,0 +1,46 @@
From 50fbc5f526cea5f7dab554deb2a9256bddf8d0cc Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Tue, 10 Apr 2018 08:40:05 +0000
Subject: [PATCH] FindTinyXML2: use pkg-config to find tinyxml2
* otherwise it finds the whole path to RSS inside fastrtps and then uses
it in fastrtpsTargets.cmake which brakes users of this (e.g. rmw-fastrtps-cpp)
when they are built after fastrtps WORKDIR was already removed (e.g. with rm-work)
fastrtps/git-r0 $ grep -B 1 -A 1 work image/usr/lib/fastrtps/cmake/fastrtpsTargets.cmake
set_target_properties(fastrtps PROPERTIES
INTERFACE_LINK_LIBRARIES "-lpthread;/OE/build/oe-core/tmp-glibc/work/aarch64-oe-linux/fastrtps/git-r0/recipe-sysroot/usr/lib/libtinyxml2.so"
)
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
cmake/modules/FindTinyXML2.cmake | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/cmake/modules/FindTinyXML2.cmake b/cmake/modules/FindTinyXML2.cmake
index 24aa98a..bdb426a 100644
--- a/cmake/modules/FindTinyXML2.cmake
+++ b/cmake/modules/FindTinyXML2.cmake
@@ -4,14 +4,10 @@
option(TINYXML2_FROM_SOURCE "Integrate TinyXML2 source code inside Fast RTPS" OFF)
-find_package(TinyXML2 CONFIG QUIET)
+find_package(PkgConfig)
+pkg_check_modules(TinyXML2 REQUIRED tinyxml2)
if(TinyXML2_FOUND)
- message(STATUS "Found TinyXML2: ${TinyXML2_DIR}")
- if(NOT TINYXML2_LIBRARY AND TARGET tinyxml2)
- # in this case, we're probably using TinyXML2 version 5.0.0 or greater
- # in which case tinyxml2 is an exported target and we should use that
- set(TINYXML2_LIBRARY tinyxml2)
- endif()
+ set(TINYXML2_LIBRARY ${TinyXML2_LIBRARIES})
else()
if(THIRDPARTY)
set(TINYXML2_FROM_SOURCE ON)
--
2.7.6

View File

@ -0,0 +1,29 @@
From dafc5ef621f67789dd91d0bbb14018548f260b96 Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 11 Jul 2017 12:50:03 +0300
Subject: [PATCH] don't use INSTALL_INTERFACE
The build system adds `include` as a system headers folder, but in combination
with having --sysroot option set for gcc makes gcc ignore the folder.
Upstream-Status: Inappropriate [the line is legit, but breaks in Yocto]
---
src/cpp/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
index 40cc93d..6f66632 100644
--- a/src/cpp/CMakeLists.txt
+++ b/src/cpp/CMakeLists.txt
@@ -292,7 +292,6 @@ else()
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include/${PROJECT_NAME}>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/cpp>
- $<INSTALL_INTERFACE:include>
)
# Link library to external libraries.
--
2.9.3

View File

@ -0,0 +1,19 @@
SUMMARY = "Implementation of RTPS Standard."
HOMEPAGE = "https://github.com/eProsima/Fast-RTPS"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
DEPENDS = "asio libtinyxml2"
SRCREV = "bfb448e19bff253293e8f28ee8c3d3d78d882be2"
SRC_URI = "git://github.com/eProsima/Fast-RTPS.git;protocol=git; \
file://0001-don-t-use-INSTALL_INTERFACE.patch \
file://0001-FindTinyXML2-use-pkg-config-to-find-tinyxml2.patch \
"
S = "${WORKDIR}/git"
inherit cmake
do_install_append() {
rm -r ${D}/usr/examples
}

View File

@ -0,0 +1,13 @@
SUMMARY = "Commonly needed Python modules, used by Python software developed at OSRF."
HOMEPAGE = "https://github.com/osrf/osrf_pycommon"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=6c4db32a2fa8717faffa1d4f10136f47"
SRCREV = "e32de70e8b42dcd96bb66d29ddfb62e7fd8b795e"
SRC_URI = "git://github.com/osrf/osrf_pycommon.git;protocol=git;"
S = "${WORKDIR}/git"
inherit setuptools3
BBCLASSEXTEND += "native"

View File

@ -0,0 +1,12 @@
DESCRIPTION = "ros2-demos package group"
LICENSE = "MIT"
inherit packagegroup
PACKAGES = "${PN}"
RDEPENDS_${PN} = "\
ros2-demo-nodes-cpp \
ros2run \
ros2topic \
"

View File

@ -0,0 +1,27 @@
DESCRIPTION = "ros2-world package group"
LICENSE = "MIT"
inherit packagegroup
PACKAGES = "${PN}"
RDEPENDS_${PN} = "\
packagegroup-ros2-demos \
ros2cli \
ros2msg \
ros2run \
ros2topic \
ros2pkg \
ros2node \
ros2srv \
ros2service \
ros2-launch \
ros2-actionlib-msgs \
ros2-diagnostic-msgs \
ros2-nav-msgs \
ros2-std-srvs \
ros2-stereo-msgs \
ros2-trajectory-msgs \
ros2-visualization-msgs \
rosidl-generator-py \
"

View File

@ -0,0 +1,26 @@
SUMMARY = "The ROS client library common interfaces."
HOMEPAGE = "https://github.com/ros2/rcl_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
rosidl-default-generators \
rosidl-cmake \
rosidl-parser \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-generator-py \
rmw-implementation-cmake \
rmw \
rmw-fastrtps-cpp \
rosidl-typesupport-c \
rosidl-typesupport-cpp \
python-cmake-module \
"
SRCREV = "22340f5828a8ea54675d47bef604d7c51fc9e101"
SRC_URI = "git://github.com/ros2/rcl_interfaces.git;protocol=git;"
ROS_BPN = "builtin_interfaces"
inherit ament pythonpath-insane

View File

@ -0,0 +1,23 @@
SUMMARY = "The ROS client library common interfaces."
HOMEPAGE = "https://github.com/ros2/rcl_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=11;endline=11;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
rosidl-default-generators \
rosidl-cmake \
rosidl-parser \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-generator-py \
rmw-implementation-cmake \
rmw \
rmw-fastrtps-cpp \
rosidl-typesupport-c \
rosidl-typesupport-cpp \
python-cmake-module \
"
SRCREV = "22340f5828a8ea54675d47bef604d7c51fc9e101"
SRC_URI = "git://github.com/ros2/rcl_interfaces.git;protocol=git;"
inherit ament pythonpath-insane

View File

@ -0,0 +1,14 @@
SUMMARY = "The ROS client library common implementation."
HOMEPAGE = "https://github.com/ros2/rcl_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
ament-cmake-ros \
rcl-interfaces \
rmw-implementation \
"
SRCREV = "b41d4e333e2b977f7c93a18009cd93a8db5e87f0"
SRC_URI = "git://github.com/ros2/rcl.git;protocol=git;"
inherit ament

View File

@ -0,0 +1,14 @@
SUMMARY = "The ROS client library in C++."
HOMEPAGE = "https://github.com/ros2/rcl_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rcl \
"
SRCREV = "bea1a52e24eaea0ad141a4d13dfa4606fcf190e7"
SRC_URI = "git://github.com/ros2/rclcpp.git;protocol=git;"
inherit ament pythonpath-insane

View File

@ -0,0 +1,15 @@
SUMMARY = "Package containing the Python client."
HOMEPAGE = "https://github.com/ros2/rclpy"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
python-cmake-module \
rcl \
"
SRCREV = "018b9fbf1c66f1c1c488510e0caa299fb0223277"
SRC_URI = "git://github.com/ros2/rclpy.git;protocol=git;"
RDEPENDS_${PN} += "${PYTHON_PN}-multiprocessing"
inherit ament

View File

@ -0,0 +1,15 @@
SUMMARY = "Package containing various utility types and functions for C."
HOMEPAGE = "https://github.com/ros2/rcutils"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
python3-empy \
python3-empy-native \
"
SRCREV = "85043d2da60cae000ea8137ab3eaff78d2ff2d42"
SRC_URI = "git://github.com/ros2/rcutils.git;protocol=git;"
inherit ament
S = "${WORKDIR}/git"

View File

@ -0,0 +1,5 @@
SUMMARY = "Provide CMake module to find eProsima FastRTPS."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rmw-fastrtps.inc

View File

@ -0,0 +1,19 @@
SUMMARY = "Implement the ROS middleware interface using eProsima FastRTPS static code generation in C++."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
ament-cmake-ros \
rcutils \
fastrtps-cmake-module \
fastrtps \
fastcdr \
rmw \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-typesupport-introspection-c \
rosidl-typesupport-introspection-cpp \
rosidl-cmake \
"
include rmw-fastrtps.inc

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/rmw_fastrtps"
SRCREV = "640d7de7e2af1a4281ba910d0ed6702e337ed48c"
SRC_URI = "git://github.com/ros2/rmw_fastrtps.git;protocol=git;"
inherit ament

View File

@ -0,0 +1,25 @@
From 0e9f364cad9082daac0d802abc690b1f59ac0243 Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 11 Jul 2017 12:53:38 +0300
Subject: [PATCH] get rid of poco-vendor dependency
Upstream-Status: Inappropriate [poco is provided by OE]
---
rmw_implementation/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/rmw_implementation/CMakeLists.txt b/rmw_implementation/CMakeLists.txt
index c23861e..e9ed54f 100644
--- a/rmw_implementation/CMakeLists.txt
+++ b/rmw_implementation/CMakeLists.txt
@@ -16,7 +16,6 @@ find_package(ament_cmake REQUIRED)
find_package(rcutils REQUIRED)
# provides FindPoco.cmake and Poco on platforms without it
-find_package(poco_vendor)
find_package(Poco COMPONENTS Foundation)
find_package(rmw_implementation_cmake REQUIRED)
--
2.9.3

View File

@ -0,0 +1,19 @@
SUMMARY = "The decision which ROS middleware implementation should be used for C++."
HOMEPAGE = "https://github.com/ros2/example_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
rcutils \
rmw \
rmw-implementation-cmake \
rmw-fastrtps-cpp \
poco \
"
SRCREV = "856611439680209e46d0f4fc4c79d62e7c29867d"
SRC_URI = "git://github.com/ros2/rmw_implementation.git;protocol=git; \
file://0001-get-rid-of-poco-vendor-dependency.patch;patchdir=.. \
"
inherit ament

View File

@ -0,0 +1,5 @@
SUMMARY = "CMake functions which can discover and enumerate available implementations."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=11;endline=11;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rmw.inc

6
recipes-ros2/rmw/rmw.inc Normal file
View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/rmw"
SRCREV = "4c39335411910f1e8d6cb49352b44fef6052455d"
SRC_URI = "git://github.com/ros2/rmw.git;protocol=git;"
inherit ament

View File

@ -0,0 +1,6 @@
SUMMARY = "Contains the ROS middleware API."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "rcutils ament-cmake-ros"
include rmw.inc

View File

@ -0,0 +1,12 @@
SUMMARY = "C++ nodes which were previously in the ros2/examples repository but are now just used for demo purposes."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
example-interfaces \
rclcpp \
ros2-sensor-msgs \
"
ROS_BPN = "demo_nodes_cpp"
include ros2-demos.inc

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/demos"
SRCREV = "ac2db5662a45029c1e2205aefdb93302cadc0f43"
SRC_URI = "git://github.com/ros2/demos.git;protocol=git;"
inherit ament

View File

@ -0,0 +1,13 @@
SUMMARY = "The ROS launch tool."
HOMEPAGE = "https://github.com/ros2/launch"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
SRCREV = "90181d102362028eb88f225f2b3377f51dc74526"
SRC_URI = "git://github.com/ros2/launch.git;protocol=git;"
S = "${WORKDIR}/git/launch"
RDEPENDS_${PN} += "${PYTHON_PN}-asyncio"
inherit setuptools3

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/ros2cli"
SRCREV = "df36377ff44695b43390dccf2df5a7bffd012e61"
SRC_URI = "git://github.com/ros2/ros2cli.git;protocol=git;"
S = "${WORKDIR}/git/${PN}"

View File

@ -0,0 +1,10 @@
SUMMARY = "Framework for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3
RDEPENDS_${PN} += "rclpy python3-setuptools ${PYTHON_PN}-xmlrpc ${PYTHON_PN}-pydoc"
FILES_${PN} += "${datadir}/ament_index/"

View File

@ -0,0 +1,7 @@
SUMMARY = "The msg command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3

View File

@ -0,0 +1,7 @@
SUMMARY = "The node command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3

View File

@ -0,0 +1,9 @@
SUMMARY = "The pkg command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3
RDEPENDS_${PN} += "ros2cli ament-index-python"

View File

@ -0,0 +1,9 @@
SUMMARY = "The run command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3
RDEPENDS_${PN} += "ros2pkg"

View File

@ -0,0 +1,7 @@
SUMMARY = "The service command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3

View File

@ -0,0 +1,7 @@
SUMMARY = "The srv command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3

View File

@ -0,0 +1,9 @@
SUMMARY = "The run command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3
RDEPENDS_${PN} += "ros2msg ${PYTHON_PN}-pyyaml"

View File

@ -0,0 +1,16 @@
SUMMARY = "A configuration package defining the default ROS interface generators."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl-typesupport.inc
# TODO: add missing 'buildtool_export_depend' values from package.xml
RDEPENDS_${PN}-dev += " \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-generator-py \
rosidl-typesupport-c \
rosidl-typesupport-cpp \
rosidl-typesupport-introspection-c \
rosidl-typesupport-introspection-cpp \
"

View File

@ -0,0 +1,14 @@
SUMMARY = "A configuration package defining the runtime for the ROS interfaces."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl-typesupport.inc
RDEPENDS_${PN}-dev += " \
rosidl-generator-cpp-dev \
rosidl-generator-py-dev \
rosidl-typesupport-c-dev \
rosidl-typesupport-cpp-dev \
rosidl-typesupport-introspection-c-dev \
rosidl-typesupport-introspection-cpp-dev \
"

View File

@ -0,0 +1,25 @@
From f39a8bd2d8ee244c310a191238c02531ff271399 Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 4 Jul 2017 11:30:59 +0300
Subject: [PATCH] Drop poco_vendor dependency
Upstream-Status: Inappropriate [poco is provided by OE]
---
rosidl_typesupport_c/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/rosidl_typesupport_c/CMakeLists.txt b/rosidl_typesupport_c/CMakeLists.txt
index 887bbb3..4cced24 100644
--- a/rosidl_typesupport_c/CMakeLists.txt
+++ b/rosidl_typesupport_c/CMakeLists.txt
@@ -17,7 +17,6 @@ endif()
find_package(ament_cmake REQUIRED)
# provides FindPoco.cmake and Poco on platforms without it
-find_package(poco_vendor)
find_package(Poco COMPONENTS Foundation)
find_package(rosidl_generator_c REQUIRED)
--
2.9.3

View File

@ -0,0 +1,48 @@
From 48838676843a951297d00831e7afaee6529cc04e Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 18 Jul 2017 10:19:37 +0300
Subject: [PATCH] rosidl_typesupport_c: remove redundant target linking
It's enough that CMakeLists.txt contains
link_directories(${Poco_LIBRARY_DIR})
The line
target_link_libraries(${PROJECT_NAME} ${Poco_LIBRARIES})
also adds Poco's include dir (which is /usr/include) as a system one
and that leads to triggering the bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129 in gcc >= v6.
| /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot-native/usr/bin/x86_64-refkit-linux/x86_64-refkit-linux-g++ -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot -DPOCO_NO_AUTOMATIC_LIBS -DROSIDL_TYPESUPPORT_C_USE_POCO -Drosidl_typesupport_c_EXPORTS -I/home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-c/rosidl_typesupport_c/include -isystem /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot/usr/include -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0=/usr/src/debug/rosidl-typesupport-c/git-r0 -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot= -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -fvisibility-inlines-hidden -fPIC -Wall -Wextra -Wpedantic -std=gnu++14 -o CMakeFiles/rosidl_typesupport_c.dir/src/type_support_dispatch.cpp.o -c /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-c/rosidl_typesupport_c/src/type_support_dispatch.cpp
| In file included from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot/usr/include/c++/7.1.0/ext/string_conversions.h:41:0,
| from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot/usr/include/c++/7.1.0/bits/basic_string.h:6159,
| from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot/usr/include/c++/7.1.0/string:52,
| from /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-c/rosidl_typesupport_c/src/type_support_dispatch.hpp:23,
| from /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-c/rosidl_typesupport_c/src/type_support_dispatch.cpp:15:
| /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot/usr/include/c++/7.1.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
| #include_next <stdlib.h>
| ^~~~~~~~~~
| compilation terminated.
Upstream-Status: Inappropriate [isn't reproducible in upstream official builds]
---
rosidl_typesupport_c/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/rosidl_typesupport_c/CMakeLists.txt b/rosidl_typesupport_c/CMakeLists.txt
index 4cced24..ceb8456 100644
--- a/rosidl_typesupport_c/CMakeLists.txt
+++ b/rosidl_typesupport_c/CMakeLists.txt
@@ -45,7 +45,6 @@ target_include_directories(${PROJECT_NAME}
PUBLIC
include ${Poco_INCLUDE_DIRS}
)
-target_link_libraries(${PROJECT_NAME} ${Poco_LIBRARIES})
ament_target_dependencies(${PROJECT_NAME} "rosidl_generator_c")
ament_export_libraries(${PROJECT_NAME})
--
2.9.3

View File

@ -0,0 +1,11 @@
SUMMARY = "Generate the type support for C messages."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "poco rosidl-generator-c rosidl-cmake"
include rosidl-typesupport.inc
SRC_URI += " \
file://0001-Drop-poco_vendor-dependency.patch;patchdir=.. \
file://0001-rosidl_typesupport_c-remove-redundant-target-linking.patch;patchdir=.. \
"

View File

@ -0,0 +1,48 @@
From ebefa2bc4fd9dca4e61b4ae0998712d0e420c56b Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 18 Jul 2017 10:50:57 +0300
Subject: [PATCH] rosidl_typesupport_cpp: remove redundant target linking
It's enough that CMakeLists.txt contains
link_directories(${Poco_LIBRARY_DIR})
The line
target_link_libraries(${PROJECT_NAME} ${Poco_LIBRARIES})
also adds Poco's include dir (which is /usr/include) as a system one
and that leads to triggering the bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129 in gcc >= v6.
| /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot-native/usr/bin/x86_64-refkit-linux/x86_64-refkit-linux-g++ -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot -DPOCO_NO_AUTOMATIC_LIBS -DROSIDL_TYPESUPPORT_CPP_USE_POCO -Drosidl_typesupport_cpp_EXPORTS -I/home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-cpp/rosidl_typesupport_cpp/include -isystem /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot/usr/include -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0=/usr/src/debug/rosidl-typesupport-cpp/git-r0 -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot= -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -fvisibility-inlines-hidden -fPIC -Wall -Wextra -Wpedantic -std=gnu++14 -o CMakeFiles/rosidl_typesupport_cpp.dir/src/type_support_dispatch.cpp.o -c /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-cpp/rosidl_typesupport_cpp/src/type_support_dispatch.cpp
| In file included from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot/usr/include/c++/7.1.0/ext/string_conversions.h:41:0,
| from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot/usr/include/c++/7.1.0/bits/basic_string.h:6159,
| from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot/usr/include/c++/7.1.0/string:52,
| from /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-cpp/rosidl_typesupport_cpp/src/type_support_dispatch.hpp:23,
| from /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-cpp/rosidl_typesupport_cpp/src/service_type_support_dispatch.cpp:17:
| /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot/usr/include/c++/7.1.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
| #include_next <stdlib.h>
| ^~~~~~~~~~
| compilation terminated.
Upstream-Status: Inappropriate [isn't reproducible in upstream official builds]
---
rosidl_typesupport_cpp/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/rosidl_typesupport_cpp/CMakeLists.txt b/rosidl_typesupport_cpp/CMakeLists.txt
index f0ab0b8..7012311 100644
--- a/rosidl_typesupport_cpp/CMakeLists.txt
+++ b/rosidl_typesupport_cpp/CMakeLists.txt
@@ -43,7 +43,6 @@ target_include_directories(${PROJECT_NAME}
PUBLIC
include ${Poco_INCLUDE_DIRS}
)
-target_link_libraries(${PROJECT_NAME} ${Poco_LIBRARIES})
ament_target_dependencies(${PROJECT_NAME} "rosidl_generator_c")
ament_export_libraries(${PROJECT_NAME})
--
2.9.3

View File

@ -0,0 +1,8 @@
SUMMARY = "Generate the type support for C++ messages."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "poco rosidl-generator-c rosidl-cmake"
include rosidl-typesupport.inc
SRC_URI += "file://0001-rosidl_typesupport_cpp-remove-redundant-target-linki.patch;patchdir=.."

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/rosidl_typesupport"
SRCREV = "aa94c5724d05bd264a11f2d9aa0383b2e8b87001"
SRC_URI = "git://github.com/ros2/rosidl_typesupport.git;protocol=git;"
inherit ament

View File

@ -0,0 +1,5 @@
SUMMARY = "Provide CMake module with extra functionality for Python."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc

View File

@ -0,0 +1,7 @@
SUMMARY = "The CMake functionality to invoke code generation for ROS interface files."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc
RDEPENDS_${PN} += "rosidl-parser"

View File

@ -0,0 +1,17 @@
SUMMARY = "Generate the ROS interfaces in C++."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "rosidl-typesupport-interface"
include rosidl.inc
RDEPENDS_${PN} += " \
rosidl-parser \
${PYTHON_PN}-json \
${PYTHON_PN}-empy \
"
RDEPENDS_${PN}-dev += " \
rosidl-cmake-dev \
rosidl-typesupport-interface-dev \
"

View File

@ -0,0 +1,7 @@
SUMMARY = "Generate the ROS interfaces in C++."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc
RDEPENDS_${PN} += "rosidl-parser"

View File

@ -0,0 +1,7 @@
SUMMARY = "Generate the ROS interfaces in Python."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc
RDEPENDS_${PN} += "rmw-implementation rmw-implementation-cmake rosidl-generator-c rosidl-parser"

View File

@ -0,0 +1,5 @@
SUMMARY = "The parser for ROS interface files."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc

View File

@ -0,0 +1,5 @@
SUMMARY = "The interface for rosidl typesupport packages."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc

View File

@ -0,0 +1,7 @@
SUMMARY = "Generate the message type support for dynamic message construction in C."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc
RDEPENDS_${PN} += "rosidl-cmake rosidl-generator-c rosidl-parser"

View File

@ -0,0 +1,15 @@
SUMMARY = "Generate the message type support for dynamic message construction in C++."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "rosidl-cmake rosidl-generator-c rosidl-typesupport-introspection-c"
include rosidl.inc
RDEPENDS_${PN} = " \
rosidl-cmake \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-parser \
rosidl-typesupport-interface \
rosidl-typesupport-introspection-c \
"

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/rosidl"
SRCREV = "8a19b290a04b36136bcf931cb4a983ab587b4db6"
SRC_URI = "git://github.com/ros2/rosidl.git;protocol=git;branch=ardent;"
inherit ament