Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions distros/humble/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,8 @@ cuda_compiler:
cuda_compiler_version:
- None
- 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
# pyqt-builder 1.20 defaults to sip ABI 12.20 / 13.13, which needs sip >=6.16
# (python_qt_binding / qt_gui_cpp keep sip <6.16); 1.18 targets 12.15 / 13.8.
# libopencv 5.0.0 builds for openexr 3.5 need qt6-main >= 6.12, but pyqt6 6.11 (via
# qt6-multimedia 6.11) still requires qt6-main 6.11: stay on openexr 3.4 until pyqt6 is rebuilt
cuda_compiler_version_min:
- None # [not ((linux and (x86_64 or aarch64)) or win64)]
- 12.9 # [((linux and (x86_64 or aarch64)) or win64)]
Expand Down Expand Up @@ -894,6 +894,8 @@ openblas:
- 0.3.*
openexr:
- '3.4'
# pyqt-builder 1.20 defaults to sip ABI 12.20 / 13.13, which needs sip >=6.16
# (python_qt_binding / qt_gui_cpp keep sip <6.16); 1.18 targets 12.15 / 13.8.
openh264:
- 2.6.0
openjpeg:
Expand Down
6 changes: 4 additions & 2 deletions distros/jazzy/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,8 @@ cuda_compiler:
cuda_compiler_version:
- None
- 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
# pyqt-builder 1.20 defaults to sip ABI 12.20 / 13.13, which needs sip >=6.16
# (python_qt_binding / qt_gui_cpp keep sip <6.16); 1.18 targets 12.15 / 13.8.
# libopencv 5.0.0 builds for openexr 3.5 need qt6-main >= 6.12, but pyqt6 6.11 (via
# qt6-multimedia 6.11) still requires qt6-main 6.11: stay on openexr 3.4 until pyqt6 is rebuilt
cuda_compiler_version_min:
- None # [not ((linux and (x86_64 or aarch64)) or win64)]
- 12.9 # [((linux and (x86_64 or aarch64)) or win64)]
Expand Down Expand Up @@ -894,6 +894,8 @@ openblas:
- 0.3.*
openexr:
- '3.4'
# pyqt-builder 1.20 defaults to sip ABI 12.20 / 13.13, which needs sip >=6.16
# (python_qt_binding / qt_gui_cpp keep sip <6.16); 1.18 targets 12.15 / 13.8.
openh264:
- 2.6.0
openjpeg:
Expand Down
179 changes: 178 additions & 1 deletion distros/lyrical/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,181 @@ full_rebuild: false
#
# Remember that dependents are not rebuilt automatically: evict them as well if
# they must pick up the change.
evict_cache: []
evict_cache: # TEMPORARY (#60): reset to [] before merging
# gz_ros2_control: its Windows environment hook points at bin/ (RoboStack/robostack#104)
- gz_ros2_control
# the generator's rosidl_runtime_rs 0.7 pin (rosidl_buffer sequence layout,
# RoboStack/ros-lyrical#17), and every package that generates interfaces,
# since each ships its generated Rust crate
- rosidl_generator_rs
- ackermann-msgs
- action-msgs
- actuator-msgs
- apriltag-msgs
- automatika-embodied-agents
- automatika-ros-sugar
- autoware-adapi-v1-msgs
- autoware-adapi-version-msgs
- autoware-auto-msgs
- autoware-common-msgs
- autoware-control-msgs
- autoware-internal-debug-msgs
- autoware-internal-localization-msgs
- autoware-internal-metric-msgs
- autoware-internal-msgs
- autoware-internal-perception-msgs
- autoware-internal-planning-msgs
- autoware-localization-msgs
- autoware-map-msgs
- autoware-motion-velocity-planner
- autoware-perception-msgs
- autoware-planning-msgs
- autoware-sensing-msgs
- autoware-system-msgs
- autoware-v2x-msgs
- autoware-vehicle-msgs
- bond
- builtin-interfaces
- can-msgs
- cartographer-ros-msgs
- cascade-lifecycle-msgs
- cm-executors
- composition-interfaces
- control-msgs
- controller-manager-msgs
- data-tamer-msgs
- diagnostic-msgs
- dwb-msgs
- easynav-interfaces
- easynav-routes-maps-manager
- event-camera-msgs
- example-interfaces
- ffmpeg-image-transport-msgs
- foxglove-msgs
- geographic-msgs
- geometric-shapes
- geometry-msgs
- gps-msgs
- graph-msgs
- grid-map-msgs
- irobot-create-msgs
- libstatistics-collector
- lifecycle-msgs
- livox-ros-driver2
- logging-demo
- map-msgs
- marine-acoustic-msgs
- marker-msgs
- mavros-msgs
- microstrain-inertial-driver
- microstrain-inertial-msgs
- mocap4r2-control-msgs
- mocap4r2-marker-viz-srvs
- mocap4r2-msgs
- mocap4r2-robot-gt-msgs
- motion-capture-tracking-interfaces
- moveit-msgs
- moveit-task-constructor-msgs
- mujoco-ros2-control-msgs
- nav-2d-msgs
- nav-msgs
- nav2-msgs
- navmap-ros-interfaces
- nmea-msgs
- object-recognition-msgs
- octomap-msgs
- ouster-ros
- ouster-sensor-msgs
- pal-statistics-msgs
- pcl-msgs
- pendulum-msgs
- plansys2-msgs
- plotjuggler-msgs
- point-cloud-interfaces
- polygon-msgs
- py-trees-ros-interfaces
- radar-msgs
- rcl-interfaces
- rclcpp
- rclpy-message-converter
- rclpy-message-converter-msgs
- realsense2-camera-msgs
- resource-retriever-interfaces
- rmf-building-map-msgs
- rmf-dispenser-msgs
- rmf-door-msgs
- rmf-fleet-msgs
- rmf-ingestor-msgs
- rmf-lift-msgs
- rmf-obstacle-msgs
- rmf-reservation-msgs
- rmf-site-map-msgs
- rmf-task-msgs
- rmf-traffic-msgs
- rmf-visualization-msgs
- rmf-visualization-schedule
- rmw-dds-common
- robot-localization
- ros-core
- ros-gz-interfaces
- ros2-medkit-msgs
- ros2-socketcan-msgs
- ros2cli-test-interfaces
- rosapi-msgs
- rosbag2-interfaces
- rosbag2-performance-benchmarking-msgs
- rosbag2-test-msgdefs
- rosbridge-msgs
- rosbridge-test-msgs
- rosgraph-monitor-msgs
- rosgraph-msgs
- rosidl-default-generators
- rqt-moveit
- rqt-py-common
- rqt-robot-monitor
- rslidar-msg
- rtcm-msgs
- rviz-2d-overlay-msgs
- sbg-driver
- sensor-msgs
- septentrio-gnss-driver
- service-msgs
- shape-msgs
- sick-safetyscanners2-interfaces
- sick-scan-xd
- simulation-interfaces
- slam-toolbox
- slg-msgs
- spatio-temporal-voxel-layer
- statistics-msgs
- std-msgs
- std-srvs
- stereo-msgs
- system-modes-msgs
- teleop-tools-msgs
- test-msgs
- tf2-msgs
- theora-image-transport
- topic-tools
- topic-tools-interfaces
- trajectory-msgs
- turtlebot3-msgs
- turtlesim-msgs
- twist-mux-msgs
- type-description-interfaces
- ublox-msgs
- ublox-ubx-interfaces
- ublox-ubx-msgs
- udp-msgs
- unique-identifier-msgs
- ur-dashboard-msgs
- ur-msgs
- urg-node
- urg-node-msgs
- usb-cam
- velodyne-msgs
- vision-msgs
- visualization-msgs
- webots-ros2-msgs
- yasmin-msgs
- zed-msgs
5 changes: 3 additions & 2 deletions distros/lyrical/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ cuda_compiler:
cuda_compiler_version:
- None
- 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
# libopencv 5.0.0 builds for openexr 3.5 need qt6-main >= 6.12, but pyqt6 6.11 (via
# qt6-multimedia 6.11) still requires qt6-main 6.11: stay on openexr 3.4 until pyqt6 is rebuilt
cuda_compiler_version_min:
- None # [not ((linux and (x86_64 or aarch64)) or win64)]
- 12.9 # [((linux and (x86_64 or aarch64)) or win64)]
Expand Down Expand Up @@ -916,7 +918,7 @@ oneloop:
openblas:
- 0.3.*
openexr:
- 3.4
- '3.4'
openh264:
- 2.6.0
openjpeg:
Expand Down Expand Up @@ -1002,7 +1004,6 @@ python:
python_impl:
- cpython

# ros-lyrical specific (distros/lyrical/distro.yaml)
python_min:
# minimum supported python version per CFEP-25
# bump to next minor version when we drop python versions
Expand Down
7 changes: 1 addition & 6 deletions distros/lyrical/distro.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,4 @@
# (everything else is shared, see the README).
channel_name: robostack-lyrical
upload_target: prefix
conda_forge_pinning_version: 2026.10.09.13.11.31
conda_forge_migrations: [elfutils0196, giflib6, go_macos, gsl28, gstreamer128, hdf52, libboost190, libhwloc2150, proj99, urdfdom6]
pinning_overrides:
# libopencv 5.0.0 builds for openexr 3.5 need qt6-main >= 6.12, but pyqt6 6.11 (via
# qt6-multimedia 6.11) still requires qt6-main 6.11: stay on openexr 3.4 until pyqt6 is rebuilt
openexr: ['3.4']
rosdistro_sync: lyrical/2026-10-05
35 changes: 12 additions & 23 deletions distros/lyrical/patch/dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,17 @@ pcl_conversions:
pinocchio:
add_host: ["eigen-abi-devel"]
plotjuggler:
add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace"]
# PlotJuggler 3.17 is Qt5-only (find_package(Qt5 ...)); the Qt rosdep keys map to Qt6 here
remove_host: ["qt6-main"]
remove_run: ["qt6-main"]
add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace", "qt-main"]
add_run: ["qt-main"]
plotjuggler_ros:
# Qt5-only like plotjuggler, which it links
remove_host: ["qt6-main"]
remove_run: ["qt6-main"]
add_host: ["qt-main"]
add_run: ["qt-main"]
py_trees:
add_host: ["hatchling"]
py_trees_js:
Expand Down Expand Up @@ -167,26 +177,8 @@ ros_ign_gazebo:
add_host: ["ros2-std-msgs", "ros2-rclcpp", "${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"]
ros_ign_interfaces:
add_host: ["ros2-rcl-interfaces"]
ros_image_to_qimage:
# Qt6, like rqt_gui_cpp (patch/ros2-ros-image-to-qimage.patch)
remove_host: ["qt-main"]
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"]
rqt_gui_cpp:
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"]
rqt_image_overlay:
# Qt6, like rqt_gui_cpp (patch/ros2-rqt-image-overlay.patch)
remove_host: ["qt-main"]
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"]
rqt_image_overlay_layer:
# Qt6, like rqt_gui_cpp (patch/ros2-rqt-image-overlay-layer.patch)
remove_host: ["qt-main"]
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"]
rqt_image_view:
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"]
remove_host: ["qt-main"]
rqt_mocap4r2_control:
remove_host: ["qt-main"]
remove_run: ["qt-main"]
rtabmap:
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ceres-solver", "libboost-devel", "${{ 'libdc1394' if not win }}", "libusb", "vtk"]
rviz_ogre_vendor:
Expand All @@ -201,10 +193,7 @@ sdformat_vendor:
add_run: ["sdformat"]
slam_toolbox:
add_build: ["${{ 'qt6-main' if (build_platform != target_platform) }}"]
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "blas-devel", "ceres-solver", "qt6-main"]
add_run: ["qt6-main"]
remove_host: ["qt-main"]
remove_run: ["qt-main"]
add_host: ["blas-devel", "ceres-solver"]
spatio_temporal_voxel_layer:
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "openvdb"]
spdlog_vendor:
Expand Down
25 changes: 6 additions & 19 deletions distros/lyrical/patch/ros2-foxglove-bridge.patch
Original file line number Diff line number Diff line change
@@ -1,39 +1,26 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6171894..f285973 100644
index 64c1274..774140a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -97,6 +97,18 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarc
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
set(FOXGLOVE_SDK_PLATFORM "x86_64-unknown-linux-gnu")
set(FOXGLOVE_SDK_SHA "4790dad26adaced1a5f81530ed406bab7b60aa202a868eb78cfc04976b9ce6d7")
set(FOXGLOVE_SDK_SHA "1a0d8e03a885f01ae7cfb08dc9076090ba2cf8a15b7f46dda11451e2e2758978")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
+ set(FOXGLOVE_SDK_PLATFORM "aarch64-apple-darwin")
+ set(FOXGLOVE_SDK_SHA "70c6e59cf757ac0480912c13cb2c630a3839de34eba428ef717411dae6b1688e")
+ set(FOXGLOVE_SDK_SHA "7b7a86a659a86544f23bed793b7913ad71c3f6c595233bbdb20d3968a3ce5a3a")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ set(FOXGLOVE_SDK_PLATFORM "x86_64-apple-darwin")
+ set(FOXGLOVE_SDK_SHA "c6092c615523d462a9d3779313b8c033cf923ce30a43dc5305d48fe4f6d26988")
+ set(FOXGLOVE_SDK_SHA "5bae49cac58fb423217e9214452c22faa95b51f5bda7c04469fb1649f8b74ce5")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")
+ set(FOXGLOVE_SDK_PLATFORM "aarch64-pc-windows-msvc")
+ set(FOXGLOVE_SDK_SHA "b88abb1bc2c5e230db65cd3d608174f005b3b4563b1c0b2e33db05bc3a2b528b")
+ set(FOXGLOVE_SDK_SHA "8d067b5af329f808142a750e939799bfccb27926ff72b62da54e5280af002d3b")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
+ set(FOXGLOVE_SDK_PLATFORM "x86_64-pc-windows-msvc")
+ set(FOXGLOVE_SDK_SHA "ae4ac0f4ab9eb998542a5626cd7870ba011824499fe33fa86936e82ed6502185")
+ set(FOXGLOVE_SDK_SHA "ea4db36121adb0ee61315442ea43603136c6910b4d82814688f507cd6f7fdd3b")
else()
message(FATAL_ERROR "Unsupported platform/architecture combination: ${CMAKE_SYSTEM_PROCESSOR}-${CMAKE_SYSTEM_NAME}")
endif()
@@ -201,6 +213,12 @@ target_link_libraries(foxglove_bridge_component
rosx_introspection::rosx_introspection
)

+if(APPLE)
+ find_library(COREFOUNDATION_FRAMEWORK CoreFoundation REQUIRED)
+ find_library(SECURITY_FRAMEWORK Security REQUIRED)
+ target_link_libraries(foxglove_bridge_component ${COREFOUNDATION_FRAMEWORK} ${SECURITY_FRAMEWORK})
+endif()
+
rclcpp_components_register_nodes(foxglove_bridge_component "foxglove_bridge::FoxgloveBridge")
enable_strict_compiler_warnings(foxglove_bridge_component)
set_target_properties(foxglove_bridge_component PROPERTIES
diff --git a/src/message_definition_cache.cpp b/src/message_definition_cache.cpp
index cf2864e..9124c80 100644
--- a/src/message_definition_cache.cpp
Expand Down
Loading