diff --git a/repositories/patches/BUILD.bazel b/repositories/patches/BUILD.bazel new file mode 100644 index 00000000..e69de29b diff --git a/repositories/patches/rmw_cyclonedds-fix-typesupport-conditions-bug.patch b/repositories/patches/rmw_cyclonedds-fix-typesupport-conditions-bug.patch new file mode 100644 index 00000000..993e665a --- /dev/null +++ b/repositories/patches/rmw_cyclonedds-fix-typesupport-conditions-bug.patch @@ -0,0 +1,27 @@ +diff --git a/rmw_cyclonedds_cpp/src/serdata.cpp b/rmw_cyclonedds_cpp/src/serdata.cpp +index 05b3286..b3382cc 100644 +--- a/rmw_cyclonedds_cpp/src/serdata.cpp ++++ b/rmw_cyclonedds_cpp/src/serdata.cpp +@@ -60,14 +60,16 @@ using ResponseTypeSupport_cpp = rmw_cyclonedds_cpp::ResponseTypeSupport< + rosidl_typesupport_introspection_cpp::ServiceMembers, + rosidl_typesupport_introspection_cpp::MessageMembers>; + +-static bool using_introspection_c_typesupport(const char * typesupport_identifier) +-{ +- return typesupport_identifier == rosidl_typesupport_introspection_c__identifier; ++static bool using_introspection_c_typesupport( ++ const char* typesupport_identifier) { ++ return !std::string(typesupport_identifier) ++ .compare(rosidl_typesupport_introspection_c__identifier); + } + +-static bool using_introspection_cpp_typesupport(const char * typesupport_identifier) +-{ +- return typesupport_identifier == rosidl_typesupport_introspection_cpp::typesupport_identifier; ++static bool using_introspection_cpp_typesupport( ++ const char* typesupport_identifier) { ++ return !std::string(typesupport_identifier) ++ .compare(rosidl_typesupport_introspection_cpp::typesupport_identifier); + } + + void * create_message_type_support( diff --git a/repositories/repositories.bzl b/repositories/repositories.bzl index 91300852..65ef99b7 100644 --- a/repositories/repositories.bzl +++ b/repositories/repositories.bzl @@ -220,5 +220,8 @@ def ros2_repositories(): build_file = "@com_github_mvukov_rules_ros2//repositories:rmw_cyclonedds.BUILD.bazel", sha256 = "5995d8ae3613126ee5b68db68d0c1c4a6caa8eec3fb0a269921a16fa1a810af6", strip_prefix = "rmw_cyclonedds-0.7.6", + patch_args = ["-p1"], + patches=["@com_github_mvukov_rules_ros2//repositories/patches:rmw_cyclonedds-fix-typesupport-conditions-bug.patch"], urls = ["https://github.com/ros2/rmw_cyclonedds/archive/0.7.6.tar.gz"], ) + \ No newline at end of file