diff --git a/meta-ros2-jazzy/recipes-bbappends/rosbag2-storage-mcap/mcap-vendor/0001-CMakeLists.txt-fix-dependency-issue-for-bitbake.patch b/meta-ros2-jazzy/recipes-bbappends/rosbag2-storage-mcap/mcap-vendor/0001-CMakeLists.txt-fix-dependency-issue-for-bitbake.patch new file mode 100644 index 00000000000..551c9e866a1 --- /dev/null +++ b/meta-ros2-jazzy/recipes-bbappends/rosbag2-storage-mcap/mcap-vendor/0001-CMakeLists.txt-fix-dependency-issue-for-bitbake.patch @@ -0,0 +1,57 @@ +From 08f03200ea9cd7990a10c1cf5c868dc46013f5d0 Mon Sep 17 00:00:00 2001 +From: Jiaxing Shi +Date: Mon, 19 Aug 2024 15:39:15 +0800 +Subject: [PATCH] CMakeLists.txt: fix dependency issue for bitbake + +--- + CMakeLists.txt | 16 ++++++---------- + 1 file changed, 6 insertions(+), 10 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0b121ba58..af01f7687 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,8 +5,8 @@ project(mcap_vendor LANGUAGES C CXX) + find_package(ament_cmake REQUIRED) + find_package(liblz4_vendor REQUIRED) + find_package(lz4 REQUIRED) +-find_package(zstd_vendor REQUIRED) +-find_package(zstd REQUIRED) ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(ZSTD libzstd REQUIRED) + + # Avoid DOWNLOAD_EXTRACT_TIMESTAMP warning for CMake >= 3.24 + if (POLICY CMP0135) +@@ -32,17 +32,13 @@ endif() + + ## Define vendor macro + macro(build_mcap_vendor) +- include(FetchContent) +- fetchcontent_declare(mcap +- URL https://github.com/foxglove/mcap/archive/refs/tags/releases/cpp/v1.1.0.tar.gz +- URL_HASH SHA1=3220ddd900d987575ae1066254dd97cdec877a26 # v1.1.0 +- ) +- fetchcontent_makeavailable(mcap) ++ + + add_library(mcap SHARED + src/main.cpp + ) +- ++ set(lz4_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lz4) ++ set(mcap_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/mcap) + set(_mcap_include_dir ${mcap_SOURCE_DIR}/cpp/mcap/include) + file(GLOB _mcap_installed_headers ${_mcap_include_dir}/mcap/*.hpp) + +@@ -50,7 +46,7 @@ macro(build_mcap_vendor) + "$" + "$" + ) +- target_link_libraries(mcap LZ4::lz4 zstd::zstd) ++ target_link_libraries(mcap LZ4::lz4) + + install( + FILES ${_mcap_installed_headers} +-- +2.25.1 + diff --git a/meta-ros2-jazzy/recipes-bbappends/rosbag2-storage-mcap/mcap-vendor_0.26.1-2.bbappend b/meta-ros2-jazzy/recipes-bbappends/rosbag2-storage-mcap/mcap-vendor_0.26.1-2.bbappend index 40f67f2a87d..4f6eec9618b 100644 --- a/meta-ros2-jazzy/recipes-bbappends/rosbag2-storage-mcap/mcap-vendor_0.26.1-2.bbappend +++ b/meta-ros2-jazzy/recipes-bbappends/rosbag2-storage-mcap/mcap-vendor_0.26.1-2.bbappend @@ -8,10 +8,10 @@ SRC_URI = " \ git://github.com/foxglove/mcap.git;protocol=https;name=mcap;destsuffix=git/mcap;branch=main;lfs=0 \ git://github.com/lz4/lz4.git;protocol=https;name=lz4;destsuffix=git/lz4;branch=release \ git://github.com/facebook/zstd.git;protocol=https;name=zstd;destsuffix=git/zstd;branch=release \ - file://0001-CMakeLists.txt-fetch-dependencies-with-bitbake-fetch.patch\ + file://0001-CMakeLists.txt-fix-dependency-issue-for-bitbake.patch \ " -SRCREV_release = "af39b2f386c10c86cd74f4f78c908e46a0b0ae66" +SRCREV_release = "2ce1de2ab0cdc0d2827d6e8b8b442c479d46dbc3" # releases/cpp/v1.1.0 SRCREV_mcap = "95b0c957463de7a56ec113f9b80c85f0d6a02d11" # v1.9.3 diff --git a/meta-ros2-jazzy/recipes-bbappends/rosbag2/rosbag2-compression-zstd/0001-CMakeLists.txt-drop-dependency-on-zstd_vendor.patch b/meta-ros2-jazzy/recipes-bbappends/rosbag2/rosbag2-compression-zstd/0001-CMakeLists.txt-drop-dependency-on-zstd_vendor.patch deleted file mode 100644 index 16fc44454e1..00000000000 --- a/meta-ros2-jazzy/recipes-bbappends/rosbag2/rosbag2-compression-zstd/0001-CMakeLists.txt-drop-dependency-on-zstd_vendor.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 60d575bc2f4bc060fb0dfcadb1ffdc55cd293d3b Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Fri, 26 Jun 2020 07:30:46 -0700 -Subject: [PATCH] CMakeLists.txt: drop dependency on zstd_vendor - -* zstd should be good enough - -Upstream-Status: Pending - -Signed-off-by: Martin Jansa - ---- - CMakeLists.txt | 31 +++++++++++++++++++++++-------- - 1 file changed, 23 insertions(+), 8 deletions(-) - -Index: git/CMakeLists.txt -=================================================================== ---- git.orig/CMakeLists.txt -+++ git/CMakeLists.txt -@@ -25,8 +25,8 @@ find_package(ament_cmake REQUIRED) - find_package(pluginlib REQUIRED) - find_package(rcpputils REQUIRED) - find_package(rosbag2_compression REQUIRED) --find_package(zstd_vendor REQUIRED) --find_package(zstd REQUIRED) -+find_package(PkgConfig REQUIRED) -+pkg_check_modules(ZSTD libzstd REQUIRED) - - add_library(${PROJECT_NAME} SHARED - src/rosbag2_compression_zstd/compression_utils.cpp -@@ -39,7 +39,6 @@ target_include_directories(${PROJECT_NAM - target_link_libraries(${PROJECT_NAME} - rcpputils::rcpputils - rosbag2_compression::rosbag2_compression -- zstd::zstd - ) - target_compile_definitions(${PROJECT_NAME} PRIVATE ROSBAG2_COMPRESSION_ZSTD_BUILDING_DLL) - pluginlib_export_plugin_description_file(rosbag2_compression plugin_description.xml) -@@ -61,10 +60,26 @@ ament_export_libraries(${PROJECT_NAME}) - - # Export modern CMake targets - ament_export_targets(export_${PROJECT_NAME}) -- --# order matters here, first vendor, then zstd --ament_export_dependencies(rcpputils rosbag2_compression zstd_vendor zstd) -- -+# don't export zstd as we don't provide zstd from zstd-vendor and rosbag2-{py,transport} would fail with: -+# CMake Error at TOPDIR/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/rosbag2-py/0.6.0-1-r0/recipe-sysroot/usr/share/rosbag2_compression/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package): -+# By not providing "Findzstd.cmake" in CMAKE_MODULE_PATH this project has -+# asked CMake to find a package configuration file provided by "zstd", but -+# CMake did not find one. -+# -+# Could not find a package configuration file provided by "zstd" with any of -+# the following names: -+# -+# zstdConfig.cmake -+# zstd-config.cmake -+# -+# Add the installation prefix of "zstd" to CMAKE_PREFIX_PATH or set -+# "zstd_DIR" to a directory containing one of the above files. If "zstd" -+# provides a separate development package or SDK, be sure it has been -+# installed. -+# Call Stack (most recent call first): -+# TOPDIR/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/rosbag2-py/0.6.0-1-r0/recipe-sysroot/usr/share/rosbag2_compression/cmake/rosbag2_compressionConfig.cmake:41 (include) -+# CMakeLists.txt:21 (find_package) -+ament_export_dependencies(pluginlib rcpputils rcutils rosbag2_cpp rosbag2_storage) - - if(BUILD_TESTING) - find_package(ament_cmake_gmock REQUIRED) diff --git a/meta-ros2-jazzy/recipes-bbappends/rosbag2/rosbag2-compression-zstd_0.26.1-2.bbappend b/meta-ros2-jazzy/recipes-bbappends/rosbag2/rosbag2-compression-zstd_0.26.1-2.bbappend deleted file mode 100644 index 60f28ad9fdf..00000000000 --- a/meta-ros2-jazzy/recipes-bbappends/rosbag2/rosbag2-compression-zstd_0.26.1-2.bbappend +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2020 LG Electronics, Inc. - -FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" -SRC_URI += "file://0001-CMakeLists.txt-drop-dependency-on-zstd_vendor.patch" - -# PN package in zstd-vendor is empty and not created, remove runtime dependency on it -ROS_EXEC_DEPENDS:remove = "zstd-vendor" - -inherit pkgconfig