From 1de025778af8d407aa4b82f2643b89034728da62 Mon Sep 17 00:00:00 2001 From: Dmitry Rozhkov Date: Fri, 4 Aug 2017 11:39:39 +0300 Subject: [PATCH] ros2: add initial recipes Signed-off-by: Dmitry Rozhkov Signed-off-by: Martin Jansa --- classes/ament.bbclass | 58 +++++++++++++++++++ classes/pythonpath-insane.bbclass | 12 ++++ .../ament-cmake-ros/ament-cmake-ros_git.bb | 11 ++++ .../ament-cmake/ament-cmake-core_git.bb | 8 +++ .../ament-cmake-export-definitions_git.bb | 8 +++ .../ament-cmake-export-dependencies_git.bb | 8 +++ ...nt-cmake-export-include-directories_git.bb | 8 +++ .../ament-cmake-export-interfaces_git.bb | 8 +++ .../ament-cmake-export-libraries_git.bb | 8 +++ .../ament-cmake-export-link-flags_git.bb | 8 +++ .../ament-cmake-include-directories_git.bb | 8 +++ .../ament-cmake/ament-cmake-libraries_git.bb | 8 +++ .../ament-cmake/ament-cmake-python_git.bb | 8 +++ .../ament-cmake-target-dependencies_git.bb | 8 +++ .../ament-cmake/ament-cmake-test_git.bb | 8 +++ recipes-ros2/ament-cmake/ament-cmake.inc | 20 +++++++ recipes-ros2/ament-cmake/ament-cmake_git.bb | 20 +++++++ .../ament-index/ament-index-python_git.bb | 9 +++ recipes-ros2/ament-index/ament-index.inc | 4 ++ .../ament-package/ament-package_git.bb | 13 +++++ recipes-ros2/ament-tools/ament-tools_git.bb | 17 ++++++ .../builtin-interfaces_git.bb | 18 ++++++ .../common-interfaces/common-interfaces.inc | 6 ++ .../ros2-actionlib-msgs_git.bb | 13 +++++ .../ros2-diagnostic-msgs_git.bb | 14 +++++ .../ros2-geometry-msgs_git.bb | 8 +++ .../common-interfaces/ros2-nav-msgs_git.bb | 14 +++++ .../common-interfaces/ros2-sensor-msgs_git.bb | 11 ++++ .../common-interfaces/ros2-shape-msgs_git.bb | 13 +++++ .../common-interfaces/ros2-std-msgs_git.bb | 12 ++++ .../common-interfaces/ros2-std-srvs_git.bb | 12 ++++ .../common-interfaces/ros2-stereo-msgs_git.bb | 14 +++++ .../ros2-trajectory-msgs_git.bb | 14 +++++ .../ros2-visualization-msgs_git.bb | 14 +++++ .../example-interfaces_git.bb | 27 +++++++++ .../0001-don-t-use-INSTALL_INTERFACE.patch | 28 +++++++++ recipes-ros2/fastcdr/fastcdr_git.bb | 13 +++++ .../0001-don-t-use-INSTALL_INTERFACE.patch | 29 ++++++++++ recipes-ros2/fastrtps/fastrtps_git.bb | 18 ++++++ .../osrf-pycommon/osrf-pycommon_git.bb | 13 +++++ .../packagegroups/packagegroup-ros2-demos.bb | 11 ++++ .../packagegroups/packagegroup-ros2-world.bb | 18 ++++++ .../rcl-interfaces/rcl-interfaces_git.bb | 23 ++++++++ recipes-ros2/rcl/rcl_git.bb | 14 +++++ recipes-ros2/rclcpp/rclcpp_git.bb | 14 +++++ recipes-ros2/rclpy/rclpy_git.bb | 13 +++++ recipes-ros2/rcutils/rcutils_git.bb | 15 +++++ .../rmw-fastrtps/fastrtps-cmake-module_git.bb | 5 ++ .../rmw-fastrtps/rmw-fastrtps-cpp_git.bb | 19 ++++++ recipes-ros2/rmw-fastrtps/rmw-fastrtps.inc | 6 ++ ...01-get-rid-of-poco-vendor-dependency.patch | 25 ++++++++ .../rmw-implementation_git.bb | 19 ++++++ .../rmw/rmw-implementation-cmake_git.bb | 5 ++ recipes-ros2/rmw/rmw.inc | 6 ++ recipes-ros2/rmw/rmw_git.bb | 6 ++ .../ros2-demos/ros2-demo-nodes-cpp_git.bb | 12 ++++ recipes-ros2/ros2-demos/ros2-demos.inc | 6 ++ recipes-ros2/ros2-launch/ros2-launch_git.bb | 11 ++++ recipes-ros2/ros2cli/ros2cli.inc | 4 ++ recipes-ros2/ros2cli/ros2cli_git.bb | 11 ++++ recipes-ros2/ros2cli/ros2pkg_git.bb | 11 ++++ recipes-ros2/ros2cli/ros2run_git.bb | 11 ++++ .../rosidl-default-generators_git.bb | 16 +++++ .../rosidl-default-runtime_git.bb | 14 +++++ .../0001-Drop-poco_vendor-dependency.patch | 25 ++++++++ ...rt_c-remove-redundant-target-linking.patch | 48 +++++++++++++++ .../rosidl-typesupport-c_git.bb | 11 ++++ ...rt_cpp-remove-redundant-target-linki.patch | 48 +++++++++++++++ .../rosidl-typesupport-cpp_git.bb | 8 +++ .../rosidl-typesupport/rosidl-typesupport.inc | 6 ++ .../rosidl/python-cmake-module_git.bb | 5 ++ recipes-ros2/rosidl/rosidl-cmake_git.bb | 7 +++ recipes-ros2/rosidl/rosidl-generator-c_git.bb | 15 +++++ .../rosidl/rosidl-generator-cpp_git.bb | 7 +++ .../rosidl/rosidl-generator-py_git.bb | 7 +++ recipes-ros2/rosidl/rosidl-parser_git.bb | 5 ++ .../rosidl-typesupport-interface_git.bb | 5 ++ .../rosidl-typesupport-introspection-c_git.bb | 7 +++ ...osidl-typesupport-introspection-cpp_git.bb | 15 +++++ recipes-ros2/rosidl/rosidl.inc | 6 ++ 80 files changed, 1071 insertions(+) create mode 100644 classes/ament.bbclass create mode 100644 classes/pythonpath-insane.bbclass create mode 100644 recipes-ros2/ament-cmake-ros/ament-cmake-ros_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-core_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-export-definitions_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-export-dependencies_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-export-include-directories_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-export-interfaces_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-export-libraries_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-export-link-flags_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-include-directories_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-libraries_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-python_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-target-dependencies_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake-test_git.bb create mode 100644 recipes-ros2/ament-cmake/ament-cmake.inc create mode 100644 recipes-ros2/ament-cmake/ament-cmake_git.bb create mode 100644 recipes-ros2/ament-index/ament-index-python_git.bb create mode 100644 recipes-ros2/ament-index/ament-index.inc create mode 100644 recipes-ros2/ament-package/ament-package_git.bb create mode 100644 recipes-ros2/ament-tools/ament-tools_git.bb create mode 100644 recipes-ros2/common-interfaces/builtin-interfaces_git.bb create mode 100644 recipes-ros2/common-interfaces/common-interfaces.inc create mode 100644 recipes-ros2/common-interfaces/ros2-actionlib-msgs_git.bb create mode 100644 recipes-ros2/common-interfaces/ros2-diagnostic-msgs_git.bb create mode 100644 recipes-ros2/common-interfaces/ros2-geometry-msgs_git.bb create mode 100644 recipes-ros2/common-interfaces/ros2-nav-msgs_git.bb create mode 100644 recipes-ros2/common-interfaces/ros2-sensor-msgs_git.bb create mode 100644 recipes-ros2/common-interfaces/ros2-shape-msgs_git.bb create mode 100644 recipes-ros2/common-interfaces/ros2-std-msgs_git.bb create mode 100644 recipes-ros2/common-interfaces/ros2-std-srvs_git.bb create mode 100644 recipes-ros2/common-interfaces/ros2-stereo-msgs_git.bb create mode 100644 recipes-ros2/common-interfaces/ros2-trajectory-msgs_git.bb create mode 100644 recipes-ros2/common-interfaces/ros2-visualization-msgs_git.bb create mode 100644 recipes-ros2/example-interfaces/example-interfaces_git.bb create mode 100644 recipes-ros2/fastcdr/fastcdr/0001-don-t-use-INSTALL_INTERFACE.patch create mode 100644 recipes-ros2/fastcdr/fastcdr_git.bb create mode 100644 recipes-ros2/fastrtps/fastrtps/0001-don-t-use-INSTALL_INTERFACE.patch create mode 100644 recipes-ros2/fastrtps/fastrtps_git.bb create mode 100644 recipes-ros2/osrf-pycommon/osrf-pycommon_git.bb create mode 100644 recipes-ros2/packagegroups/packagegroup-ros2-demos.bb create mode 100644 recipes-ros2/packagegroups/packagegroup-ros2-world.bb create mode 100644 recipes-ros2/rcl-interfaces/rcl-interfaces_git.bb create mode 100644 recipes-ros2/rcl/rcl_git.bb create mode 100644 recipes-ros2/rclcpp/rclcpp_git.bb create mode 100644 recipes-ros2/rclpy/rclpy_git.bb create mode 100644 recipes-ros2/rcutils/rcutils_git.bb create mode 100644 recipes-ros2/rmw-fastrtps/fastrtps-cmake-module_git.bb create mode 100644 recipes-ros2/rmw-fastrtps/rmw-fastrtps-cpp_git.bb create mode 100644 recipes-ros2/rmw-fastrtps/rmw-fastrtps.inc create mode 100644 recipes-ros2/rmw-implementation/rmw-implementation/0001-get-rid-of-poco-vendor-dependency.patch create mode 100644 recipes-ros2/rmw-implementation/rmw-implementation_git.bb create mode 100644 recipes-ros2/rmw/rmw-implementation-cmake_git.bb create mode 100644 recipes-ros2/rmw/rmw.inc create mode 100644 recipes-ros2/rmw/rmw_git.bb create mode 100644 recipes-ros2/ros2-demos/ros2-demo-nodes-cpp_git.bb create mode 100644 recipes-ros2/ros2-demos/ros2-demos.inc create mode 100644 recipes-ros2/ros2-launch/ros2-launch_git.bb create mode 100644 recipes-ros2/ros2cli/ros2cli.inc create mode 100644 recipes-ros2/ros2cli/ros2cli_git.bb create mode 100644 recipes-ros2/ros2cli/ros2pkg_git.bb create mode 100644 recipes-ros2/ros2cli/ros2run_git.bb create mode 100644 recipes-ros2/rosidl-typesupport/rosidl-default-generators_git.bb create mode 100644 recipes-ros2/rosidl-typesupport/rosidl-default-runtime_git.bb create mode 100644 recipes-ros2/rosidl-typesupport/rosidl-typesupport-c/0001-Drop-poco_vendor-dependency.patch create mode 100644 recipes-ros2/rosidl-typesupport/rosidl-typesupport-c/0001-rosidl_typesupport_c-remove-redundant-target-linking.patch create mode 100644 recipes-ros2/rosidl-typesupport/rosidl-typesupport-c_git.bb create mode 100644 recipes-ros2/rosidl-typesupport/rosidl-typesupport-cpp/0001-rosidl_typesupport_cpp-remove-redundant-target-linki.patch create mode 100644 recipes-ros2/rosidl-typesupport/rosidl-typesupport-cpp_git.bb create mode 100644 recipes-ros2/rosidl-typesupport/rosidl-typesupport.inc create mode 100644 recipes-ros2/rosidl/python-cmake-module_git.bb create mode 100644 recipes-ros2/rosidl/rosidl-cmake_git.bb create mode 100644 recipes-ros2/rosidl/rosidl-generator-c_git.bb create mode 100644 recipes-ros2/rosidl/rosidl-generator-cpp_git.bb create mode 100644 recipes-ros2/rosidl/rosidl-generator-py_git.bb create mode 100644 recipes-ros2/rosidl/rosidl-parser_git.bb create mode 100644 recipes-ros2/rosidl/rosidl-typesupport-interface_git.bb create mode 100644 recipes-ros2/rosidl/rosidl-typesupport-introspection-c_git.bb create mode 100644 recipes-ros2/rosidl/rosidl-typesupport-introspection-cpp_git.bb create mode 100644 recipes-ros2/rosidl/rosidl.inc diff --git a/classes/ament.bbclass b/classes/ament.bbclass new file mode 100644 index 0000000..3819b05 --- /dev/null +++ b/classes/ament.bbclass @@ -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" +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}/ament_index/* \ + ${libdir}/${PYTHON_DIR}/* \ + ${libdir}/${ROS_BPN}/* \ + ${libdir}/lib*.so \ +" + +FILES_${PN}-dev = " \ + ${datadir}/${ROS_BPN}/cmake/* \ + ${datadir}/${ROS_BPN}/msg/* \ + ${datadir}/${ROS_BPN}/srv/* \ + ${includedir} \ +" diff --git a/classes/pythonpath-insane.bbclass b/classes/pythonpath-insane.bbclass new file mode 100644 index 0000000..aa69886 --- /dev/null +++ b/classes/pythonpath-insane.bbclass @@ -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" diff --git a/recipes-ros2/ament-cmake-ros/ament-cmake-ros_git.bb b/recipes-ros2/ament-cmake-ros/ament-cmake-ros_git.bb new file mode 100644 index 0000000..10c1b46 --- /dev/null +++ b/recipes-ros2/ament-cmake-ros/ament-cmake-ros_git.bb @@ -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 = "0e8f0152717159bfac572745cbd143f326cbee35" +SRC_URI = "git://github.com/ros2/ament_cmake_ros.git;protocol=git;" + +inherit ament + +BBCLASSEXTEND += "native" diff --git a/recipes-ros2/ament-cmake/ament-cmake-core_git.bb b/recipes-ros2/ament-cmake/ament-cmake-core_git.bb new file mode 100644 index 0000000..9f86217 --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-core_git.bb @@ -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" + +include ament-cmake.inc + +RDEPENDS_${PN} += "ament-package cmake" diff --git a/recipes-ros2/ament-cmake/ament-cmake-export-definitions_git.bb b/recipes-ros2/ament-cmake/ament-cmake-export-definitions_git.bb new file mode 100644 index 0000000..5c89757 --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-export-definitions_git.bb @@ -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" diff --git a/recipes-ros2/ament-cmake/ament-cmake-export-dependencies_git.bb b/recipes-ros2/ament-cmake/ament-cmake-export-dependencies_git.bb new file mode 100644 index 0000000..74c506e --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-export-dependencies_git.bb @@ -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" diff --git a/recipes-ros2/ament-cmake/ament-cmake-export-include-directories_git.bb b/recipes-ros2/ament-cmake/ament-cmake-export-include-directories_git.bb new file mode 100644 index 0000000..71af8ca --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-export-include-directories_git.bb @@ -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" diff --git a/recipes-ros2/ament-cmake/ament-cmake-export-interfaces_git.bb b/recipes-ros2/ament-cmake/ament-cmake-export-interfaces_git.bb new file mode 100644 index 0000000..e89a46b --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-export-interfaces_git.bb @@ -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" diff --git a/recipes-ros2/ament-cmake/ament-cmake-export-libraries_git.bb b/recipes-ros2/ament-cmake/ament-cmake-export-libraries_git.bb new file mode 100644 index 0000000..9ea0526 --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-export-libraries_git.bb @@ -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" diff --git a/recipes-ros2/ament-cmake/ament-cmake-export-link-flags_git.bb b/recipes-ros2/ament-cmake/ament-cmake-export-link-flags_git.bb new file mode 100644 index 0000000..1015387 --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-export-link-flags_git.bb @@ -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" diff --git a/recipes-ros2/ament-cmake/ament-cmake-include-directories_git.bb b/recipes-ros2/ament-cmake/ament-cmake-include-directories_git.bb new file mode 100644 index 0000000..3469a1b --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-include-directories_git.bb @@ -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" diff --git a/recipes-ros2/ament-cmake/ament-cmake-libraries_git.bb b/recipes-ros2/ament-cmake/ament-cmake-libraries_git.bb new file mode 100644 index 0000000..cf03fd2 --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-libraries_git.bb @@ -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" diff --git a/recipes-ros2/ament-cmake/ament-cmake-python_git.bb b/recipes-ros2/ament-cmake/ament-cmake-python_git.bb new file mode 100644 index 0000000..5ca1e35 --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-python_git.bb @@ -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" diff --git a/recipes-ros2/ament-cmake/ament-cmake-target-dependencies_git.bb b/recipes-ros2/ament-cmake/ament-cmake-target-dependencies_git.bb new file mode 100644 index 0000000..4593173 --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-target-dependencies_git.bb @@ -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" diff --git a/recipes-ros2/ament-cmake/ament-cmake-test_git.bb b/recipes-ros2/ament-cmake/ament-cmake-test_git.bb new file mode 100644 index 0000000..96bbb27 --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake-test_git.bb @@ -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" diff --git a/recipes-ros2/ament-cmake/ament-cmake.inc b/recipes-ros2/ament-cmake/ament-cmake.inc new file mode 100644 index 0000000..57548c8 --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake.inc @@ -0,0 +1,20 @@ +HOMEPAGE = "https://github.com/ament/ament_cmake" + +SRCREV = "dc243d84429ccefbe3532c59a242a114eb20bad6" +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" diff --git a/recipes-ros2/ament-cmake/ament-cmake_git.bb b/recipes-ros2/ament-cmake/ament-cmake_git.bb new file mode 100644 index 0000000..f42bf2d --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake_git.bb @@ -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 \ +" diff --git a/recipes-ros2/ament-index/ament-index-python_git.bb b/recipes-ros2/ament-index/ament-index-python_git.bb new file mode 100644 index 0000000..80b76b8 --- /dev/null +++ b/recipes-ros2/ament-index/ament-index-python_git.bb @@ -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 diff --git a/recipes-ros2/ament-index/ament-index.inc b/recipes-ros2/ament-index/ament-index.inc new file mode 100644 index 0000000..20e0288 --- /dev/null +++ b/recipes-ros2/ament-index/ament-index.inc @@ -0,0 +1,4 @@ +HOMEPAGE = "https://github.com/ament/ament_index" + +SRCREV = "3ef7abab8edc308523f794e6bdfe38bbef7215a3" +SRC_URI = "git://github.com/ament/ament_index.git;protocol=git;" diff --git a/recipes-ros2/ament-package/ament-package_git.bb b/recipes-ros2/ament-package/ament-package_git.bb new file mode 100644 index 0000000..87484c2 --- /dev/null +++ b/recipes-ros2/ament-package/ament-package_git.bb @@ -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 = "778906c805fd6b3fa070c582fbb06b7a5fab03b8" +SRC_URI = "git://github.com/ament/ament_package.git;protocol=git;" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +BBCLASSEXTEND += "native" diff --git a/recipes-ros2/ament-tools/ament-tools_git.bb b/recipes-ros2/ament-tools/ament-tools_git.bb new file mode 100644 index 0000000..19d6080 --- /dev/null +++ b/recipes-ros2/ament-tools/ament-tools_git.bb @@ -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 = "d1c6bcebea9cd5d9ac171d2e226146f07c147bed" +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" diff --git a/recipes-ros2/common-interfaces/builtin-interfaces_git.bb b/recipes-ros2/common-interfaces/builtin-interfaces_git.bb new file mode 100644 index 0000000..063ef8f --- /dev/null +++ b/recipes-ros2/common-interfaces/builtin-interfaces_git.bb @@ -0,0 +1,18 @@ +SUMMARY = ">A package containing builtin message and service definitions." +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 \ + python-cmake-module \ +" + +include common-interfaces.inc diff --git a/recipes-ros2/common-interfaces/common-interfaces.inc b/recipes-ros2/common-interfaces/common-interfaces.inc new file mode 100644 index 0000000..38d9849 --- /dev/null +++ b/recipes-ros2/common-interfaces/common-interfaces.inc @@ -0,0 +1,6 @@ +HOMEPAGE = "https://github.com/ros2/common_interfaces" + +SRCREV = "474c3dbcd2175d8ce727ad6df5dce3ace4219512" +SRC_URI = "git://github.com/ros2/common_interfaces.git;protocol=git;" + +inherit ament pythonpath-insane diff --git a/recipes-ros2/common-interfaces/ros2-actionlib-msgs_git.bb b/recipes-ros2/common-interfaces/ros2-actionlib-msgs_git.bb new file mode 100644 index 0000000..32bee52 --- /dev/null +++ b/recipes-ros2/common-interfaces/ros2-actionlib-msgs_git.bb @@ -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 diff --git a/recipes-ros2/common-interfaces/ros2-diagnostic-msgs_git.bb b/recipes-ros2/common-interfaces/ros2-diagnostic-msgs_git.bb new file mode 100644 index 0000000..4d6774c --- /dev/null +++ b/recipes-ros2/common-interfaces/ros2-diagnostic-msgs_git.bb @@ -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 diff --git a/recipes-ros2/common-interfaces/ros2-geometry-msgs_git.bb b/recipes-ros2/common-interfaces/ros2-geometry-msgs_git.bb new file mode 100644 index 0000000..8d93033 --- /dev/null +++ b/recipes-ros2/common-interfaces/ros2-geometry-msgs_git.bb @@ -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 diff --git a/recipes-ros2/common-interfaces/ros2-nav-msgs_git.bb b/recipes-ros2/common-interfaces/ros2-nav-msgs_git.bb new file mode 100644 index 0000000..9d9cb8d --- /dev/null +++ b/recipes-ros2/common-interfaces/ros2-nav-msgs_git.bb @@ -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 diff --git a/recipes-ros2/common-interfaces/ros2-sensor-msgs_git.bb b/recipes-ros2/common-interfaces/ros2-sensor-msgs_git.bb new file mode 100644 index 0000000..66f7dd0 --- /dev/null +++ b/recipes-ros2/common-interfaces/ros2-sensor-msgs_git.bb @@ -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 diff --git a/recipes-ros2/common-interfaces/ros2-shape-msgs_git.bb b/recipes-ros2/common-interfaces/ros2-shape-msgs_git.bb new file mode 100644 index 0000000..2291f4c --- /dev/null +++ b/recipes-ros2/common-interfaces/ros2-shape-msgs_git.bb @@ -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 diff --git a/recipes-ros2/common-interfaces/ros2-std-msgs_git.bb b/recipes-ros2/common-interfaces/ros2-std-msgs_git.bb new file mode 100644 index 0000000..899209c --- /dev/null +++ b/recipes-ros2/common-interfaces/ros2-std-msgs_git.bb @@ -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 diff --git a/recipes-ros2/common-interfaces/ros2-std-srvs_git.bb b/recipes-ros2/common-interfaces/ros2-std-srvs_git.bb new file mode 100644 index 0000000..8a1226d --- /dev/null +++ b/recipes-ros2/common-interfaces/ros2-std-srvs_git.bb @@ -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 diff --git a/recipes-ros2/common-interfaces/ros2-stereo-msgs_git.bb b/recipes-ros2/common-interfaces/ros2-stereo-msgs_git.bb new file mode 100644 index 0000000..bd8a684 --- /dev/null +++ b/recipes-ros2/common-interfaces/ros2-stereo-msgs_git.bb @@ -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 diff --git a/recipes-ros2/common-interfaces/ros2-trajectory-msgs_git.bb b/recipes-ros2/common-interfaces/ros2-trajectory-msgs_git.bb new file mode 100644 index 0000000..0323869 --- /dev/null +++ b/recipes-ros2/common-interfaces/ros2-trajectory-msgs_git.bb @@ -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 diff --git a/recipes-ros2/common-interfaces/ros2-visualization-msgs_git.bb b/recipes-ros2/common-interfaces/ros2-visualization-msgs_git.bb new file mode 100644 index 0000000..9fedbdc --- /dev/null +++ b/recipes-ros2/common-interfaces/ros2-visualization-msgs_git.bb @@ -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 diff --git a/recipes-ros2/example-interfaces/example-interfaces_git.bb b/recipes-ros2/example-interfaces/example-interfaces_git.bb new file mode 100644 index 0000000..2702712 --- /dev/null +++ b/recipes-ros2/example-interfaces/example-interfaces_git.bb @@ -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 = "dfcbbd8ead5fc254daee76166710fdd254b902f5" +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" \ No newline at end of file diff --git a/recipes-ros2/fastcdr/fastcdr/0001-don-t-use-INSTALL_INTERFACE.patch b/recipes-ros2/fastcdr/fastcdr/0001-don-t-use-INSTALL_INTERFACE.patch new file mode 100644 index 0000000..6cea959 --- /dev/null +++ b/recipes-ros2/fastcdr/fastcdr/0001-don-t-use-INSTALL_INTERFACE.patch @@ -0,0 +1,28 @@ +From 596ed4a3481735b7d286da2701ada64e60e595cc Mon Sep 17 00:00:00 2001 +From: Dmitry Rozhkov +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 + $ $ +- $ + ) + endif() + +-- +2.9.3 + diff --git a/recipes-ros2/fastcdr/fastcdr_git.bb b/recipes-ros2/fastcdr/fastcdr_git.bb new file mode 100644 index 0000000..25ca6f7 --- /dev/null +++ b/recipes-ros2/fastcdr/fastcdr_git.bb @@ -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 = "affa48d511a36351ef24d40029db1e8217be86b1" +SRC_URI = "git://github.com/eProsima/Fast-CDR.git;protocol=git; \ + file://0001-don-t-use-INSTALL_INTERFACE.patch \ + " + +S = "${WORKDIR}/git" + +inherit cmake diff --git a/recipes-ros2/fastrtps/fastrtps/0001-don-t-use-INSTALL_INTERFACE.patch b/recipes-ros2/fastrtps/fastrtps/0001-don-t-use-INSTALL_INTERFACE.patch new file mode 100644 index 0000000..0b228a9 --- /dev/null +++ b/recipes-ros2/fastrtps/fastrtps/0001-don-t-use-INSTALL_INTERFACE.patch @@ -0,0 +1,29 @@ +From dafc5ef621f67789dd91d0bbb14018548f260b96 Mon Sep 17 00:00:00 2001 +From: Dmitry Rozhkov +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 + $ $ + $ +- $ + ) + + # Link library to external libraries. +-- +2.9.3 + diff --git a/recipes-ros2/fastrtps/fastrtps_git.bb b/recipes-ros2/fastrtps/fastrtps_git.bb new file mode 100644 index 0000000..e6112d0 --- /dev/null +++ b/recipes-ros2/fastrtps/fastrtps_git.bb @@ -0,0 +1,18 @@ +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 = "e49bbe6a18fbff509097fb3d2e0d18648e94f7c1" +SRC_URI = "git://github.com/eProsima/Fast-RTPS.git;protocol=git; \ + file://0001-don-t-use-INSTALL_INTERFACE.patch \ + " + +S = "${WORKDIR}/git" + +inherit cmake + +do_install_append() { + rm -r ${D}/usr/examples +} diff --git a/recipes-ros2/osrf-pycommon/osrf-pycommon_git.bb b/recipes-ros2/osrf-pycommon/osrf-pycommon_git.bb new file mode 100644 index 0000000..5c1ec03 --- /dev/null +++ b/recipes-ros2/osrf-pycommon/osrf-pycommon_git.bb @@ -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 = "4fca399dee4e4b888c8a9a7026bc3facde376dd5" +SRC_URI = "git://github.com/osrf/osrf_pycommon.git;protocol=git;" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +BBCLASSEXTEND += "native" diff --git a/recipes-ros2/packagegroups/packagegroup-ros2-demos.bb b/recipes-ros2/packagegroups/packagegroup-ros2-demos.bb new file mode 100644 index 0000000..4949ef9 --- /dev/null +++ b/recipes-ros2/packagegroups/packagegroup-ros2-demos.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "ros2-demos package group" +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "${PN}" + +RDEPENDS_${PN} = "\ + ros2-demo-nodes-cpp \ + ros2run \ +" diff --git a/recipes-ros2/packagegroups/packagegroup-ros2-world.bb b/recipes-ros2/packagegroups/packagegroup-ros2-world.bb new file mode 100644 index 0000000..8ccef09 --- /dev/null +++ b/recipes-ros2/packagegroups/packagegroup-ros2-world.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "ros2-world package group" +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "${PN}" + +RDEPENDS_${PN} = "\ + packagegroup-ros2-demos \ + ros2-launch \ + ros2-actionlib-msgs \ + ros2-diagnostic-msgs \ + ros2-nav-msgs \ + ros2-std-srvs \ + ros2-stereo-msgs \ + ros2-trajectory-msgs \ + ros2-visualization-msgs \ +" diff --git a/recipes-ros2/rcl-interfaces/rcl-interfaces_git.bb b/recipes-ros2/rcl-interfaces/rcl-interfaces_git.bb new file mode 100644 index 0000000..214858c --- /dev/null +++ b/recipes-ros2/rcl-interfaces/rcl-interfaces_git.bb @@ -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 = "53cd9455efebf9fc78a23cd7d20d9af2b57688f0" +SRC_URI = "git://github.com/ros2/rcl_interfaces.git;protocol=git;" + +inherit ament pythonpath-insane diff --git a/recipes-ros2/rcl/rcl_git.bb b/recipes-ros2/rcl/rcl_git.bb new file mode 100644 index 0000000..f1a41b8 --- /dev/null +++ b/recipes-ros2/rcl/rcl_git.bb @@ -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 = "a57f66b54cb220c978140cfb3d00fde09f86751f" +SRC_URI = "git://github.com/ros2/rcl.git;protocol=git;" + +inherit ament diff --git a/recipes-ros2/rclcpp/rclcpp_git.bb b/recipes-ros2/rclcpp/rclcpp_git.bb new file mode 100644 index 0000000..a024f8a --- /dev/null +++ b/recipes-ros2/rclcpp/rclcpp_git.bb @@ -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 = "9dd3d4c3c5f95972ee2ede755fec8a32587a6eef" +SRC_URI = "git://github.com/ros2/rclcpp.git;protocol=git;" + +inherit ament diff --git a/recipes-ros2/rclpy/rclpy_git.bb b/recipes-ros2/rclpy/rclpy_git.bb new file mode 100644 index 0000000..83c3f46 --- /dev/null +++ b/recipes-ros2/rclpy/rclpy_git.bb @@ -0,0 +1,13 @@ +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 = "6b217daf62f4be6b679d3b8a4946aaafff5dc2be" +SRC_URI = "git://github.com/ros2/rclpy.git;protocol=git;" + +inherit ament diff --git a/recipes-ros2/rcutils/rcutils_git.bb b/recipes-ros2/rcutils/rcutils_git.bb new file mode 100644 index 0000000..e81eed1 --- /dev/null +++ b/recipes-ros2/rcutils/rcutils_git.bb @@ -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 = "346a02b856cf457c820e5c6bcbca674932a86058" +SRC_URI = "git://github.com/ros2/rcutils.git;protocol=git;" + +inherit ament + +S = "${WORKDIR}/git" diff --git a/recipes-ros2/rmw-fastrtps/fastrtps-cmake-module_git.bb b/recipes-ros2/rmw-fastrtps/fastrtps-cmake-module_git.bb new file mode 100644 index 0000000..2c1be90 --- /dev/null +++ b/recipes-ros2/rmw-fastrtps/fastrtps-cmake-module_git.bb @@ -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 diff --git a/recipes-ros2/rmw-fastrtps/rmw-fastrtps-cpp_git.bb b/recipes-ros2/rmw-fastrtps/rmw-fastrtps-cpp_git.bb new file mode 100644 index 0000000..aabdc8b --- /dev/null +++ b/recipes-ros2/rmw-fastrtps/rmw-fastrtps-cpp_git.bb @@ -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 diff --git a/recipes-ros2/rmw-fastrtps/rmw-fastrtps.inc b/recipes-ros2/rmw-fastrtps/rmw-fastrtps.inc new file mode 100644 index 0000000..73ceb3a --- /dev/null +++ b/recipes-ros2/rmw-fastrtps/rmw-fastrtps.inc @@ -0,0 +1,6 @@ +HOMEPAGE = "https://github.com/ros2/rmw_fastrtps" + +SRCREV = "6695dcf223b5e29b6e32ecdfa8fb6006b30ed34e" +SRC_URI = "git://github.com/ros2/rmw_fastrtps.git;protocol=git;" + +inherit ament diff --git a/recipes-ros2/rmw-implementation/rmw-implementation/0001-get-rid-of-poco-vendor-dependency.patch b/recipes-ros2/rmw-implementation/rmw-implementation/0001-get-rid-of-poco-vendor-dependency.patch new file mode 100644 index 0000000..7e75207 --- /dev/null +++ b/recipes-ros2/rmw-implementation/rmw-implementation/0001-get-rid-of-poco-vendor-dependency.patch @@ -0,0 +1,25 @@ +From 0e9f364cad9082daac0d802abc690b1f59ac0243 Mon Sep 17 00:00:00 2001 +From: Dmitry Rozhkov +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 + diff --git a/recipes-ros2/rmw-implementation/rmw-implementation_git.bb b/recipes-ros2/rmw-implementation/rmw-implementation_git.bb new file mode 100644 index 0000000..1a0c49f --- /dev/null +++ b/recipes-ros2/rmw-implementation/rmw-implementation_git.bb @@ -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 = "2c75b061917def24592ae195368689187a550984" +SRC_URI = "git://github.com/ros2/rmw_implementation.git;protocol=git; \ + file://0001-get-rid-of-poco-vendor-dependency.patch;patchdir=.. \ + " + +inherit ament diff --git a/recipes-ros2/rmw/rmw-implementation-cmake_git.bb b/recipes-ros2/rmw/rmw-implementation-cmake_git.bb new file mode 100644 index 0000000..a7af3da --- /dev/null +++ b/recipes-ros2/rmw/rmw-implementation-cmake_git.bb @@ -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 diff --git a/recipes-ros2/rmw/rmw.inc b/recipes-ros2/rmw/rmw.inc new file mode 100644 index 0000000..060bba9 --- /dev/null +++ b/recipes-ros2/rmw/rmw.inc @@ -0,0 +1,6 @@ +HOMEPAGE = "https://github.com/ros2/rmw" + +SRCREV = "10ba01cbb5cf44f49bc87aff9cedf0cc29824ef1" +SRC_URI = "git://github.com/ros2/rmw.git;protocol=git;" + +inherit ament diff --git a/recipes-ros2/rmw/rmw_git.bb b/recipes-ros2/rmw/rmw_git.bb new file mode 100644 index 0000000..5f24a6a --- /dev/null +++ b/recipes-ros2/rmw/rmw_git.bb @@ -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 diff --git a/recipes-ros2/ros2-demos/ros2-demo-nodes-cpp_git.bb b/recipes-ros2/ros2-demos/ros2-demo-nodes-cpp_git.bb new file mode 100644 index 0000000..d4b4dd3 --- /dev/null +++ b/recipes-ros2/ros2-demos/ros2-demo-nodes-cpp_git.bb @@ -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 diff --git a/recipes-ros2/ros2-demos/ros2-demos.inc b/recipes-ros2/ros2-demos/ros2-demos.inc new file mode 100644 index 0000000..759acfe --- /dev/null +++ b/recipes-ros2/ros2-demos/ros2-demos.inc @@ -0,0 +1,6 @@ +HOMEPAGE = "https://github.com/ros2/demos" + +SRCREV = "16dc63380acca31eddd7cd6518a416830fa53dec" +SRC_URI = "git://github.com/ros2/demos.git;protocol=git;" + +inherit ament diff --git a/recipes-ros2/ros2-launch/ros2-launch_git.bb b/recipes-ros2/ros2-launch/ros2-launch_git.bb new file mode 100644 index 0000000..7694004 --- /dev/null +++ b/recipes-ros2/ros2-launch/ros2-launch_git.bb @@ -0,0 +1,11 @@ +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 = "499097a47e6474ebd7caf7a4b7dc4ad9c6004eee" +SRC_URI = "git://github.com/ros2/launch.git;protocol=git;" + +S = "${WORKDIR}/git/launch" + +inherit setuptools3 diff --git a/recipes-ros2/ros2cli/ros2cli.inc b/recipes-ros2/ros2cli/ros2cli.inc new file mode 100644 index 0000000..c70d3c1 --- /dev/null +++ b/recipes-ros2/ros2cli/ros2cli.inc @@ -0,0 +1,4 @@ +HOMEPAGE = "https://github.com/ros2/ros2cli" + +SRCREV = "b4037f84ac60aafb0dce0caf4416486370b3d463" +SRC_URI = "git://github.com/ros2/ros2cli.git;protocol=git;" diff --git a/recipes-ros2/ros2cli/ros2cli_git.bb b/recipes-ros2/ros2cli/ros2cli_git.bb new file mode 100644 index 0000000..fea579a --- /dev/null +++ b/recipes-ros2/ros2cli/ros2cli_git.bb @@ -0,0 +1,11 @@ +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 + +S = "${WORKDIR}/git/ros2cli" + +inherit setuptools3 + +RDEPENDS_${PN} += "rclpy python3-setuptools" diff --git a/recipes-ros2/ros2cli/ros2pkg_git.bb b/recipes-ros2/ros2cli/ros2pkg_git.bb new file mode 100644 index 0000000..fec6a07 --- /dev/null +++ b/recipes-ros2/ros2cli/ros2pkg_git.bb @@ -0,0 +1,11 @@ +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 + +S = "${WORKDIR}/git/ros2pkg" + +inherit setuptools3 + +RDEPENDS_${PN} += "ros2cli ament-index-python" diff --git a/recipes-ros2/ros2cli/ros2run_git.bb b/recipes-ros2/ros2cli/ros2run_git.bb new file mode 100644 index 0000000..423fde5 --- /dev/null +++ b/recipes-ros2/ros2cli/ros2run_git.bb @@ -0,0 +1,11 @@ +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 + +S = "${WORKDIR}/git/ros2run" + +inherit setuptools3 + +RDEPENDS_${PN} += "ros2pkg" diff --git a/recipes-ros2/rosidl-typesupport/rosidl-default-generators_git.bb b/recipes-ros2/rosidl-typesupport/rosidl-default-generators_git.bb new file mode 100644 index 0000000..b9a31af --- /dev/null +++ b/recipes-ros2/rosidl-typesupport/rosidl-default-generators_git.bb @@ -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 \ +" diff --git a/recipes-ros2/rosidl-typesupport/rosidl-default-runtime_git.bb b/recipes-ros2/rosidl-typesupport/rosidl-default-runtime_git.bb new file mode 100644 index 0000000..e517d6b --- /dev/null +++ b/recipes-ros2/rosidl-typesupport/rosidl-default-runtime_git.bb @@ -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 \ +" diff --git a/recipes-ros2/rosidl-typesupport/rosidl-typesupport-c/0001-Drop-poco_vendor-dependency.patch b/recipes-ros2/rosidl-typesupport/rosidl-typesupport-c/0001-Drop-poco_vendor-dependency.patch new file mode 100644 index 0000000..a662aa9 --- /dev/null +++ b/recipes-ros2/rosidl-typesupport/rosidl-typesupport-c/0001-Drop-poco_vendor-dependency.patch @@ -0,0 +1,25 @@ +From f39a8bd2d8ee244c310a191238c02531ff271399 Mon Sep 17 00:00:00 2001 +From: Dmitry Rozhkov +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 + diff --git a/recipes-ros2/rosidl-typesupport/rosidl-typesupport-c/0001-rosidl_typesupport_c-remove-redundant-target-linking.patch b/recipes-ros2/rosidl-typesupport/rosidl-typesupport-c/0001-rosidl_typesupport_c-remove-redundant-target-linking.patch new file mode 100644 index 0000000..19c83bb --- /dev/null +++ b/recipes-ros2/rosidl-typesupport/rosidl-typesupport-c/0001-rosidl_typesupport_c-remove-redundant-target-linking.patch @@ -0,0 +1,48 @@ +From 48838676843a951297d00831e7afaee6529cc04e Mon Sep 17 00:00:00 2001 +From: Dmitry Rozhkov +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 +| ^~~~~~~~~~ +| 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 + diff --git a/recipes-ros2/rosidl-typesupport/rosidl-typesupport-c_git.bb b/recipes-ros2/rosidl-typesupport/rosidl-typesupport-c_git.bb new file mode 100644 index 0000000..f6407bb --- /dev/null +++ b/recipes-ros2/rosidl-typesupport/rosidl-typesupport-c_git.bb @@ -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=.. \ +" diff --git a/recipes-ros2/rosidl-typesupport/rosidl-typesupport-cpp/0001-rosidl_typesupport_cpp-remove-redundant-target-linki.patch b/recipes-ros2/rosidl-typesupport/rosidl-typesupport-cpp/0001-rosidl_typesupport_cpp-remove-redundant-target-linki.patch new file mode 100644 index 0000000..200b065 --- /dev/null +++ b/recipes-ros2/rosidl-typesupport/rosidl-typesupport-cpp/0001-rosidl_typesupport_cpp-remove-redundant-target-linki.patch @@ -0,0 +1,48 @@ +From ebefa2bc4fd9dca4e61b4ae0998712d0e420c56b Mon Sep 17 00:00:00 2001 +From: Dmitry Rozhkov +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 +| ^~~~~~~~~~ +| 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 + diff --git a/recipes-ros2/rosidl-typesupport/rosidl-typesupport-cpp_git.bb b/recipes-ros2/rosidl-typesupport/rosidl-typesupport-cpp_git.bb new file mode 100644 index 0000000..82a5662 --- /dev/null +++ b/recipes-ros2/rosidl-typesupport/rosidl-typesupport-cpp_git.bb @@ -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=.." diff --git a/recipes-ros2/rosidl-typesupport/rosidl-typesupport.inc b/recipes-ros2/rosidl-typesupport/rosidl-typesupport.inc new file mode 100644 index 0000000..d74470a --- /dev/null +++ b/recipes-ros2/rosidl-typesupport/rosidl-typesupport.inc @@ -0,0 +1,6 @@ +HOMEPAGE = "https://github.com/ros2/rosidl_typesupport" + +SRCREV = "c6155e49690cfd9492cb15fe72d5c48c4c02391d" +SRC_URI = "git://github.com/ros2/rosidl_typesupport.git;protocol=git;" + +inherit ament diff --git a/recipes-ros2/rosidl/python-cmake-module_git.bb b/recipes-ros2/rosidl/python-cmake-module_git.bb new file mode 100644 index 0000000..ecc4b97 --- /dev/null +++ b/recipes-ros2/rosidl/python-cmake-module_git.bb @@ -0,0 +1,5 @@ +SUMMARY = "Provide CMake module with extra functionality for Python." +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=12c26a18c7f493fdc7e8a93b16b7c04f" + +include rosidl.inc diff --git a/recipes-ros2/rosidl/rosidl-cmake_git.bb b/recipes-ros2/rosidl/rosidl-cmake_git.bb new file mode 100644 index 0000000..195a0bf --- /dev/null +++ b/recipes-ros2/rosidl/rosidl-cmake_git.bb @@ -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" diff --git a/recipes-ros2/rosidl/rosidl-generator-c_git.bb b/recipes-ros2/rosidl/rosidl-generator-c_git.bb new file mode 100644 index 0000000..292b1be --- /dev/null +++ b/recipes-ros2/rosidl/rosidl-generator-c_git.bb @@ -0,0 +1,15 @@ +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 \ +" + +RDEPENDS_${PN}-dev += " \ + rosidl-cmake-dev \ + rosidl-typesupport-interface-dev \ +" diff --git a/recipes-ros2/rosidl/rosidl-generator-cpp_git.bb b/recipes-ros2/rosidl/rosidl-generator-cpp_git.bb new file mode 100644 index 0000000..39ae3f5 --- /dev/null +++ b/recipes-ros2/rosidl/rosidl-generator-cpp_git.bb @@ -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" diff --git a/recipes-ros2/rosidl/rosidl-generator-py_git.bb b/recipes-ros2/rosidl/rosidl-generator-py_git.bb new file mode 100644 index 0000000..f31d8f1 --- /dev/null +++ b/recipes-ros2/rosidl/rosidl-generator-py_git.bb @@ -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" diff --git a/recipes-ros2/rosidl/rosidl-parser_git.bb b/recipes-ros2/rosidl/rosidl-parser_git.bb new file mode 100644 index 0000000..579252f --- /dev/null +++ b/recipes-ros2/rosidl/rosidl-parser_git.bb @@ -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 diff --git a/recipes-ros2/rosidl/rosidl-typesupport-interface_git.bb b/recipes-ros2/rosidl/rosidl-typesupport-interface_git.bb new file mode 100644 index 0000000..fa3600c --- /dev/null +++ b/recipes-ros2/rosidl/rosidl-typesupport-interface_git.bb @@ -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 diff --git a/recipes-ros2/rosidl/rosidl-typesupport-introspection-c_git.bb b/recipes-ros2/rosidl/rosidl-typesupport-introspection-c_git.bb new file mode 100644 index 0000000..9356951 --- /dev/null +++ b/recipes-ros2/rosidl/rosidl-typesupport-introspection-c_git.bb @@ -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" diff --git a/recipes-ros2/rosidl/rosidl-typesupport-introspection-cpp_git.bb b/recipes-ros2/rosidl/rosidl-typesupport-introspection-cpp_git.bb new file mode 100644 index 0000000..012ae57 --- /dev/null +++ b/recipes-ros2/rosidl/rosidl-typesupport-introspection-cpp_git.bb @@ -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 \ +" diff --git a/recipes-ros2/rosidl/rosidl.inc b/recipes-ros2/rosidl/rosidl.inc new file mode 100644 index 0000000..88aae10 --- /dev/null +++ b/recipes-ros2/rosidl/rosidl.inc @@ -0,0 +1,6 @@ +HOMEPAGE = "https://github.com/ros2/rosidl" + +SRCREV = "c4cfbae3905bdb128378b1198fb4a581afcd2889" +SRC_URI = "git://github.com/ros2/rosidl.git;protocol=git;" + +inherit ament