From 92d693185d995fe93ebff63df531ff43c69cb922 Mon Sep 17 00:00:00 2001 From: Marc Bestmann Date: Wed, 18 Feb 2026 10:02:47 +0100 Subject: [PATCH 1/3] add canopen to build --- conda_build_config.yaml | 2 +- patch/ros-jazzy-lely-core-libraries.patch | 55 +++++++++++++++++++++++ vinca.yaml | 2 + 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 patch/ros-jazzy-lely-core-libraries.patch diff --git a/conda_build_config.yaml b/conda_build_config.yaml index 5168b0fc4..e253ec387 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -53,7 +53,7 @@ c_stdlib: - macosx_deployment_target # [osx] - vs # [win] c_stdlib_version: # [unix] - - 2.17 # [linux] + - 2.28 # [linux] - 10.13 # [osx and x86_64] - 11.0 # [osx and arm64] cxx_compiler: diff --git a/patch/ros-jazzy-lely-core-libraries.patch b/patch/ros-jazzy-lely-core-libraries.patch new file mode 100644 index 000000000..04af9ee59 --- /dev/null +++ b/patch/ros-jazzy-lely-core-libraries.patch @@ -0,0 +1,55 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 29506fe4..6fbfc480 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -8,8 +8,8 @@ include(ExternalProject) + ExternalProject_Add(upstr_lely_core_libraries # Name for custom target + #--Download step-------------- + SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/upstream +- INSTALL_DIR "${CMAKE_INSTALL_PREFIX}" # Installation prefix +- BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/build ++ INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/lely_install" # Installation prefix ++ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/lely + GIT_REPOSITORY https://gitlab.com/lely_industries/lely-core.git + GIT_TAG fb735b79cab5f0cdda45bc5087414d405ef8f3ab + TIMEOUT 60 +@@ -21,13 +21,13 @@ ExternalProject_Add(upstr_lely_core_libraries # Name for custom target + CONFIGURE_COMMAND autoreconf -i + COMMAND /configure --prefix= --disable-cython --disable-doc --disable-tests --disable-static --disable-diag + #BUILD STEP execute make +- BUILD_COMMAND $(MAKE) -C ${CMAKE_CURRENT_BINARY_DIR}/build ++ BUILD_COMMAND make -j + #INSTALL STEP do nothing as we install in main +- INSTALL_COMMAND "" ++ INSTALL_COMMAND make install VERBOSE=1 + ) + + #INSTALL lely_core_libraries - execute make install +-install(CODE "execute_process(COMMAND ${CMAKE_MAKE_PROGRAM} install VERBOSE=1 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build)") ++#install(CODE "execute_process(COMMAND ${CMAKE_MAKE_PROGRAM} install VERBOSE=1 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build)") + + set(lely_core_cmake_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + include("cmake/lely_core_libraries-extras.cmake" NO_POLICY_SCOPE) +@@ -46,6 +46,22 @@ install( + DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/ + USE_SOURCE_PERMISSIONS) + ++install( ++ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lely_install/bin/ ++ USE_SOURCE_PERMISSIONS ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ++) ++ ++install( ++ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lely_install/include/lely/ ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/lely ++) ++ ++install( ++ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lely_install/lib/ ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib ++) ++ + ament_export_include_directories(include) + ament_export_libraries(lely-can lely-co lely-coapp lely-ev lely-io2 lely-libc lely-tap lely-util) + ament_package( diff --git a/vinca.yaml b/vinca.yaml index e1a41f86a..d98b8b143 100644 --- a/vinca.yaml +++ b/vinca.yaml @@ -169,6 +169,8 @@ packages_select_by_deps: - rqt_robot_monitor + - canopen + # These packages are only built on Linux as they depend on Linux-specific API - if: linux then: From 323747e5745c01e4073b17e0e722249f7868dc8c Mon Sep 17 00:00:00 2001 From: Marc Bestmann Date: Wed, 18 Feb 2026 10:19:08 +0100 Subject: [PATCH 2/3] build canopen only on linux --- vinca.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vinca.yaml b/vinca.yaml index d98b8b143..da5819ffc 100644 --- a/vinca.yaml +++ b/vinca.yaml @@ -169,8 +169,6 @@ packages_select_by_deps: - rqt_robot_monitor - - canopen - # These packages are only built on Linux as they depend on Linux-specific API - if: linux then: @@ -199,6 +197,7 @@ packages_select_by_deps: - plansys2_tests - plansys2_tools - popf + - canopen # These packages are currently only build on Linux, but they currently only build on # Linux as trying to build them in the past on macos or Windows resulted in errors From 476a52429f134a24bb63ac5734c5b924717a0eb1 Mon Sep 17 00:00:00 2001 From: Marc Bestmann Date: Fri, 12 Jun 2026 10:47:02 +0200 Subject: [PATCH 3/3] add additional canopen packages --- vinca.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vinca.yaml b/vinca.yaml index da5819ffc..880269bae 100644 --- a/vinca.yaml +++ b/vinca.yaml @@ -198,6 +198,11 @@ packages_select_by_deps: - plansys2_tools - popf - canopen + - canopen-ros2-control + - canopen-ros2-controllers + - canopen-master-driver + - canopen-fake-slaves + - canopen-utils # These packages are currently only build on Linux, but they currently only build on # Linux as trying to build them in the past on macos or Windows resulted in errors