diff --git a/README.md b/README.md index 7ef7ff9..b51f804 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/classes/ament.bbclass b/classes/ament.bbclass new file mode 100644 index 0000000..ed1b57f --- /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 -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} \ +" 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-ros/packagegroups/packagegroup-ros-world.bb b/recipes-ros/packagegroups/packagegroup-ros-world.bb index 5fcb4e6..445efc8 100644 --- a/recipes-ros/packagegroups/packagegroup-ros-world.bb +++ b/recipes-ros/packagegroups/packagegroup-ros-world.bb @@ -9,6 +9,7 @@ RDEPENDS_${PN} = "\ packagegroup-ros-comm \ packagegroup-ros-kobuki \ packagegroup-ros-industrial-core \ + packagegroup-ros2-world \ actionlib \ bond \ bondcpp \ 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..41574e5 --- /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 = "85f37bee18a7e139e62a84909b5677dc44281387" +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..973a061 --- /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 ${PYTHON_PN}-pyparsing-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..a80678b --- /dev/null +++ b/recipes-ros2/ament-cmake/ament-cmake.inc @@ -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" 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..ece7e8e --- /dev/null +++ b/recipes-ros2/ament-index/ament-index.inc @@ -0,0 +1,4 @@ +HOMEPAGE = "https://github.com/ament/ament_index" + +SRCREV = "1df2aef4d7f1271d80082cc01aa08e13bfc58fce" +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..0c6c3f9 --- /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 = "2cc251b627607e2d8ada6fa75add45cbe86cb9d8" +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..4169ffd --- /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 = "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" diff --git a/recipes-ros2/common-interfaces/common-interfaces.inc b/recipes-ros2/common-interfaces/common-interfaces.inc new file mode 100644 index 0000000..b370bb7 --- /dev/null +++ b/recipes-ros2/common-interfaces/common-interfaces.inc @@ -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 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..4016ff5 --- /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 = "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" 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..244bf46 --- /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 = "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 diff --git a/recipes-ros2/fastrtps/fastrtps/0001-FindTinyXML2-use-pkg-config-to-find-tinyxml2.patch b/recipes-ros2/fastrtps/fastrtps/0001-FindTinyXML2-use-pkg-config-to-find-tinyxml2.patch new file mode 100644 index 0000000..8782a9c --- /dev/null +++ b/recipes-ros2/fastrtps/fastrtps/0001-FindTinyXML2-use-pkg-config-to-find-tinyxml2.patch @@ -0,0 +1,46 @@ +From 50fbc5f526cea5f7dab554deb2a9256bddf8d0cc Mon Sep 17 00:00:00 2001 +From: Martin Jansa +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 +--- + 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 + 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..9225383 --- /dev/null +++ b/recipes-ros2/fastrtps/fastrtps_git.bb @@ -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 +} 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..b467ef6 --- /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 = "e32de70e8b42dcd96bb66d29ddfb62e7fd8b795e" +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..dc6894e --- /dev/null +++ b/recipes-ros2/packagegroups/packagegroup-ros2-demos.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "ros2-demos package group" +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "${PN}" + +RDEPENDS_${PN} = "\ + ros2-demo-nodes-cpp \ + ros2run \ + ros2topic \ +" diff --git a/recipes-ros2/packagegroups/packagegroup-ros2-world.bb b/recipes-ros2/packagegroups/packagegroup-ros2-world.bb new file mode 100644 index 0000000..d76ada4 --- /dev/null +++ b/recipes-ros2/packagegroups/packagegroup-ros2-world.bb @@ -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 \ +" diff --git a/recipes-ros2/rcl-interfaces/builtin-interfaces_git.bb b/recipes-ros2/rcl-interfaces/builtin-interfaces_git.bb new file mode 100644 index 0000000..285a7a6 --- /dev/null +++ b/recipes-ros2/rcl-interfaces/builtin-interfaces_git.bb @@ -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 + 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..0deb39b --- /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 = "22340f5828a8ea54675d47bef604d7c51fc9e101" +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..93c608f --- /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 = "b41d4e333e2b977f7c93a18009cd93a8db5e87f0" +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..ae25aa1 --- /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 = "bea1a52e24eaea0ad141a4d13dfa4606fcf190e7" +SRC_URI = "git://github.com/ros2/rclcpp.git;protocol=git;" + +inherit ament pythonpath-insane diff --git a/recipes-ros2/rclpy/rclpy_git.bb b/recipes-ros2/rclpy/rclpy_git.bb new file mode 100644 index 0000000..468a088 --- /dev/null +++ b/recipes-ros2/rclpy/rclpy_git.bb @@ -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 diff --git a/recipes-ros2/rcutils/rcutils_git.bb b/recipes-ros2/rcutils/rcutils_git.bb new file mode 100644 index 0000000..6e3d668 --- /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 = "85043d2da60cae000ea8137ab3eaff78d2ff2d42" +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..b1e4ace --- /dev/null +++ b/recipes-ros2/rmw-fastrtps/rmw-fastrtps.inc @@ -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 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..9416144 --- /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 = "856611439680209e46d0f4fc4c79d62e7c29867d" +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..ecafe15 --- /dev/null +++ b/recipes-ros2/rmw/rmw.inc @@ -0,0 +1,6 @@ +HOMEPAGE = "https://github.com/ros2/rmw" + +SRCREV = "4c39335411910f1e8d6cb49352b44fef6052455d" +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..5a3beff --- /dev/null +++ b/recipes-ros2/ros2-demos/ros2-demos.inc @@ -0,0 +1,6 @@ +HOMEPAGE = "https://github.com/ros2/demos" + +SRCREV = "ac2db5662a45029c1e2205aefdb93302cadc0f43" +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..dbcc7b2 --- /dev/null +++ b/recipes-ros2/ros2-launch/ros2-launch_git.bb @@ -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 diff --git a/recipes-ros2/ros2cli/ros2cli.inc b/recipes-ros2/ros2cli/ros2cli.inc new file mode 100644 index 0000000..c7b6328 --- /dev/null +++ b/recipes-ros2/ros2cli/ros2cli.inc @@ -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}" diff --git a/recipes-ros2/ros2cli/ros2cli_git.bb b/recipes-ros2/ros2cli/ros2cli_git.bb new file mode 100644 index 0000000..4339e72 --- /dev/null +++ b/recipes-ros2/ros2cli/ros2cli_git.bb @@ -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/" diff --git a/recipes-ros2/ros2cli/ros2msg_git.bb b/recipes-ros2/ros2cli/ros2msg_git.bb new file mode 100644 index 0000000..0bdff6a --- /dev/null +++ b/recipes-ros2/ros2cli/ros2msg_git.bb @@ -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 diff --git a/recipes-ros2/ros2cli/ros2node_git.bb b/recipes-ros2/ros2cli/ros2node_git.bb new file mode 100644 index 0000000..59efc02 --- /dev/null +++ b/recipes-ros2/ros2cli/ros2node_git.bb @@ -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 diff --git a/recipes-ros2/ros2cli/ros2pkg_git.bb b/recipes-ros2/ros2cli/ros2pkg_git.bb new file mode 100644 index 0000000..58d1a62 --- /dev/null +++ b/recipes-ros2/ros2cli/ros2pkg_git.bb @@ -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" diff --git a/recipes-ros2/ros2cli/ros2run_git.bb b/recipes-ros2/ros2cli/ros2run_git.bb new file mode 100644 index 0000000..7752136 --- /dev/null +++ b/recipes-ros2/ros2cli/ros2run_git.bb @@ -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" diff --git a/recipes-ros2/ros2cli/ros2service_git.bb b/recipes-ros2/ros2cli/ros2service_git.bb new file mode 100644 index 0000000..621ad45 --- /dev/null +++ b/recipes-ros2/ros2cli/ros2service_git.bb @@ -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 diff --git a/recipes-ros2/ros2cli/ros2srv_git.bb b/recipes-ros2/ros2cli/ros2srv_git.bb new file mode 100644 index 0000000..a88bce6 --- /dev/null +++ b/recipes-ros2/ros2cli/ros2srv_git.bb @@ -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 diff --git a/recipes-ros2/ros2cli/ros2topic_git.bb b/recipes-ros2/ros2cli/ros2topic_git.bb new file mode 100644 index 0000000..c6518be --- /dev/null +++ b/recipes-ros2/ros2cli/ros2topic_git.bb @@ -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" 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..1f2301c --- /dev/null +++ b/recipes-ros2/rosidl-typesupport/rosidl-typesupport.inc @@ -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 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..c60d93f --- /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=10;endline=10;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..2af8b56 --- /dev/null +++ b/recipes-ros2/rosidl/rosidl-generator-c_git.bb @@ -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 \ +" 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..5966529 --- /dev/null +++ b/recipes-ros2/rosidl/rosidl.inc @@ -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