Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
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
2 changes: 1 addition & 1 deletion .github/workflows/testpr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ jobs:
- name: Delete specific outdated cache entries
shell: bash -l {0}
run: |
# rm -rf ${{ matrix.folder_cache }}/ros-rolling-moveit-setup-srdf-plugins* 2>/dev/null || true
# rm -rf ${{ matrix.folder_cache }}/ros-rolling-moveit-ros-perception* 2>/dev/null || true
mkdir -p ${{ matrix.folder_cache }}
pixi run rattler-index fs ${{ matrix.folder_cache }}/.. --force

Expand Down
2 changes: 1 addition & 1 deletion conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
numpy:
- 2
assimp:
- 6.0.3
- 6.0.5
libprotobuf:
- 6.33.5
protobuf:
Expand Down
2 changes: 1 addition & 1 deletion patch/dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ moveit_setup_assistant:
moveit:
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"]
moveit_visual_tools:
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"]
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel"]
force_torque_sensor_broadcaster:
add_host: ["typeguard", "jinja2"]
ros_gz_sim:
Expand Down
17 changes: 17 additions & 0 deletions patch/ros-rolling-apriltag-ros.osx.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 20bdedf..4e9d53d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,8 +5,10 @@ project(apriltag_ros)
set(CMAKE_CXX_STANDARD 14)

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
- add_compile_options(-Werror -Wall -Wextra -Wpedantic)
- add_link_options("-Wl,-z,relro,-z,now,-z,defs")
+ if(NOT APPLE)
+ add_compile_options(-Werror -Wall -Wextra -Wpedantic)
+ add_link_options("-Wl,-z,relro,-z,now,-z,defs")
+ endif()
endif()

option(ASAN "use AddressSanitizer to detect memory issues" OFF)
82 changes: 0 additions & 82 deletions patch/ros-rolling-apriltag-ros.patch

This file was deleted.

59 changes: 18 additions & 41 deletions patch/ros-rolling-foxglove-bridge.osx.patch
Original file line number Diff line number Diff line change
@@ -1,31 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 71deedd3..15821a4e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -86,9 +86,15 @@ target_include_directories(foxglove_cpp_shared SYSTEM
target_sources(foxglove_cpp_shared PRIVATE ${FOXGLOVE_SDK_SOURCES})
# Import the prebuilt C shared library from the fetched SDK
add_library(foxglove-shared SHARED IMPORTED)
-set_target_properties(foxglove-shared PROPERTIES
- IMPORTED_LOCATION ${foxglove_sdk_SOURCE_DIR}/lib/libfoxglove.so
-)
+if(APPLE)
+ set_target_properties(foxglove-shared PROPERTIES
+ IMPORTED_LOCATION ${foxglove_sdk_SOURCE_DIR}/lib/libfoxglove.dylib
+ )
+else()
+ set_target_properties(foxglove-shared PROPERTIES
+ IMPORTED_LOCATION ${foxglove_sdk_SOURCE_DIR}/lib/libfoxglove.so
+ )
+endif()
target_link_libraries(foxglove_cpp_shared PRIVATE foxglove-shared)
set_target_properties(foxglove_cpp_shared PROPERTIES
INSTALL_RPATH "$ORIGIN"
diff --git a/src/ros2_foxglove_bridge.cpp b/src/ros2_foxglove_bridge.cpp
index 2229aadc..9431dbdd 100644
index 601db6c..fc18e1c 100644
--- a/src/ros2_foxglove_bridge.cpp
+++ b/src/ros2_foxglove_bridge.cpp
@@ -479,7 +479,7 @@ void FoxgloveBridge::updateAdvertisedTopics(
@@ -492,7 +492,7 @@ void FoxgloveBridge::updateAdvertisedTopics(
const TopicAndDatatype topicAndSchemaName = {topic, schemaName};
if (latestTopics.find(topicAndSchemaName) == latestTopics.end()) {
const auto channelId = channel.id();
Expand All @@ -34,7 +11,7 @@ index 2229aadc..9431dbdd 100644
topic.c_str(), schemaName.c_str());
// Remove any active subscriptions for this channel
_subscriptions.erase(channelId);
@@ -549,7 +549,7 @@ void FoxgloveBridge::updateAdvertisedTopics(
@@ -562,7 +562,7 @@ void FoxgloveBridge::updateAdvertisedTopics(
}

const ChannelId channelId = channelResult.value().id();
Expand All @@ -43,7 +20,7 @@ index 2229aadc..9431dbdd 100644
topic.c_str());
_channels.insert({channelId, std::move(channelResult.value())});
}
@@ -814,7 +814,7 @@ void FoxgloveBridge::subscribeConnectionGraph(bool subscribe) {
@@ -827,7 +827,7 @@ void FoxgloveBridge::subscribeConnectionGraph(bool subscribe) {
}

void FoxgloveBridge::subscribe(ChannelId channelId, const foxglove::ClientMetadata& client) {
Expand All @@ -52,7 +29,7 @@ index 2229aadc..9431dbdd 100644
channelId, client.id);
createOrIncrementSubscription(channelId, client.id, false, client.sink_id);
}
@@ -867,7 +867,7 @@ void FoxgloveBridge::createOrIncrementSubscriptionLocked(ChannelId channelId, Cl
@@ -880,7 +880,7 @@ void FoxgloveBridge::createOrIncrementSubscriptionLocked(ChannelId channelId, Cl
std::optional<SinkId> sinkId) {
auto channelIt = _channels.find(channelId);
if (channelIt == _channels.end()) {
Expand All @@ -61,7 +38,7 @@ index 2229aadc..9431dbdd 100644
channelId);
return;
}
@@ -898,7 +898,7 @@ void FoxgloveBridge::createOrIncrementSubscriptionLocked(ChannelId channelId, Cl
@@ -911,7 +911,7 @@ void FoxgloveBridge::createOrIncrementSubscriptionLocked(ChannelId channelId, Cl
auto [it, inserted] = _subscriptions.emplace(channelId, std::move(channelSub));
subIt = it;

Expand All @@ -70,7 +47,7 @@ index 2229aadc..9431dbdd 100644
topic.c_str(), datatype.c_str(), channelId);
}

@@ -922,7 +922,7 @@ void FoxgloveBridge::createOrIncrementSubscriptionLocked(ChannelId channelId, Cl
@@ -935,7 +935,7 @@ void FoxgloveBridge::createOrIncrementSubscriptionLocked(ChannelId channelId, Cl
}

void FoxgloveBridge::unsubscribe(ChannelId channelId, const foxglove::ClientMetadata& client) {
Expand All @@ -79,7 +56,7 @@ index 2229aadc..9431dbdd 100644
channelId, client.id);
removeOrDecrementSubscription(channelId, client.id, false);
}
@@ -938,7 +938,7 @@ void FoxgloveBridge::removeOrDecrementSubscriptionLocked(ChannelId channelId, Cl
@@ -951,7 +951,7 @@ void FoxgloveBridge::removeOrDecrementSubscriptionLocked(ChannelId channelId, Cl
auto subIt = _subscriptions.find(channelId);
if (subIt == _subscriptions.end()) {
RCLCPP_ERROR(this->get_logger(),
Expand All @@ -88,7 +65,7 @@ index 2229aadc..9431dbdd 100644
clientId, channelId);
return;
}
@@ -953,7 +953,7 @@ void FoxgloveBridge::removeOrDecrementSubscriptionLocked(ChannelId channelId, Cl
@@ -966,7 +966,7 @@ void FoxgloveBridge::removeOrDecrementSubscriptionLocked(ChannelId channelId, Cl
// If no more subscribers, destroy the ROS subscription
if (subIt->second.wsClientIds.empty() && subIt->second.gatewayClientIds.empty()) {
RCLCPP_INFO(this->get_logger(),
Expand All @@ -97,7 +74,7 @@ index 2229aadc..9431dbdd 100644
_subscriptions.erase(subIt);
}
}
@@ -1092,7 +1092,7 @@ void FoxgloveBridge::clientUnadvertise(ClientId clientId, ChannelId clientChanne
@@ -1105,7 +1105,7 @@ void FoxgloveBridge::clientUnadvertise(ClientId clientId, ChannelId clientChanne

const auto& publisher = it->second.publisher;
RCLCPP_INFO(this->get_logger(),
Expand All @@ -106,7 +83,7 @@ index 2229aadc..9431dbdd 100644
publisher->get_topic_name(), publisher->get_subscription_count(), clientChannelId);

_clientAdvertisedTopics.erase(it);
@@ -1460,13 +1460,13 @@ void FoxgloveBridge::gatewaySubscribe(uint32_t clientId,
@@ -1585,13 +1585,13 @@ void FoxgloveBridge::gatewaySubscribe(uint32_t clientId,
auto sinkId = _gateway->sinkId();
if (!sinkId.has_value()) {
RCLCPP_WARN(this->get_logger(),
Expand All @@ -122,7 +99,7 @@ index 2229aadc..9431dbdd 100644
channel.id(), std::string(channel.topic()).c_str(), clientId);
createOrIncrementSubscription(channel.id(), clientId, true, sinkId);
}
@@ -1474,7 +1474,7 @@ void FoxgloveBridge::gatewaySubscribe(uint32_t clientId,
@@ -1599,7 +1599,7 @@ void FoxgloveBridge::gatewaySubscribe(uint32_t clientId,
void FoxgloveBridge::gatewayUnsubscribe(uint32_t clientId,
const foxglove::ChannelDescriptor& channel) {
RCLCPP_INFO(this->get_logger(),
Expand All @@ -131,7 +108,7 @@ index 2229aadc..9431dbdd 100644
channel.id(), std::string(channel.topic()).c_str(), clientId);
removeOrDecrementSubscription(channel.id(), clientId, true);
}
@@ -1489,7 +1489,7 @@ void FoxgloveBridge::gatewayClientAdvertise(uint32_t clientId,
@@ -1614,7 +1614,7 @@ void FoxgloveBridge::gatewayClientAdvertise(uint32_t clientId,

ChannelAndClientId key = {channelId, clientId};
if (_gatewayClientAdvertisedTopics.find(key) != _gatewayClientAdvertisedTopics.end()) {
Expand All @@ -140,7 +117,7 @@ index 2229aadc..9431dbdd 100644
clientId, channelId, topicName.c_str());
return;
}
@@ -1506,7 +1506,7 @@ void FoxgloveBridge::gatewayClientAdvertise(uint32_t clientId,
@@ -1631,7 +1631,7 @@ void FoxgloveBridge::gatewayClientAdvertise(uint32_t clientId,

if (topicType.empty()) {
RCLCPP_ERROR(this->get_logger(),
Expand All @@ -149,7 +126,7 @@ index 2229aadc..9431dbdd 100644
clientId, channelId, topicName.c_str());
return;
}
@@ -1514,12 +1514,12 @@ void FoxgloveBridge::gatewayClientAdvertise(uint32_t clientId,
@@ -1639,12 +1639,12 @@ void FoxgloveBridge::gatewayClientAdvertise(uint32_t clientId,
try {
auto ad = createClientPublisher(topicName, topicType, encoding, schemaData, schemaLen);
RCLCPP_INFO(this->get_logger(),
Expand All @@ -164,7 +141,7 @@ index 2229aadc..9431dbdd 100644
clientId, channelId, topicName.c_str(), ex.what());
}
}
@@ -1533,13 +1533,13 @@ void FoxgloveBridge::gatewayClientUnadvertise(uint32_t clientId,
@@ -1658,13 +1658,13 @@ void FoxgloveBridge::gatewayClientUnadvertise(uint32_t clientId,

auto it = _gatewayClientAdvertisedTopics.find(key);
if (it == _gatewayClientAdvertisedTopics.end()) {
Expand All @@ -180,7 +157,7 @@ index 2229aadc..9431dbdd 100644
channelId, it->second.topicName.c_str());
_gatewayClientAdvertisedTopics.erase(it);

@@ -1563,7 +1563,7 @@ void FoxgloveBridge::gatewayClientMessage(uint32_t clientId,
@@ -1688,7 +1688,7 @@ void FoxgloveBridge::gatewayClientMessage(uint32_t clientId,
auto it = _gatewayClientAdvertisedTopics.find(key);
if (it == _gatewayClientAdvertisedTopics.end()) {
RCLCPP_ERROR(this->get_logger(),
Expand All @@ -189,7 +166,7 @@ index 2229aadc..9431dbdd 100644
channelId);
return;
}
@@ -1574,7 +1574,7 @@ void FoxgloveBridge::gatewayClientMessage(uint32_t clientId,
@@ -1699,7 +1699,7 @@ void FoxgloveBridge::gatewayClientMessage(uint32_t clientId,
try {
publishClientData(ad, data, dataLen);
} catch (const std::exception& ex) {
Expand Down
44 changes: 22 additions & 22 deletions patch/ros-rolling-foxglove-bridge.patch
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9285c891..d8b058ab 100644
index 8ee07c2..7426013 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -62,6 +62,18 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aar
@@ -98,6 +98,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 "b949295e80eb1a9bb356e657b9c2579c886717fac290c4e48a5e9846063bf2e8")
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
+ set(FOXGLOVE_SDK_PLATFORM "aarch64-apple-darwin")
+ set(FOXGLOVE_SDK_SHA "1c6a32fc25c3a29eb9f3c5156f9c82970a8714523ffc3893ea4e852b977ee1e5")
+ 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 "12249d4b2f16c3ff661f21d19603fb33a82888f0391576269f31f9cc1a4cb7a8")
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")
+ set(FOXGLOVE_SDK_PLATFORM "aarch64-pc-windows-msvc")
+ set(FOXGLOVE_SDK_SHA "5d4999f3231fbf06c6c54eee00db9cab5c8a96d043dcf143a401c72bf2efec01")
+ 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 "58c3c5e945623bc02b596f748c82e1c8b82daef7871f11f600ff1a606ac9295d")
else()
message(FATAL_ERROR "Unsupported platform/architecture combination: ${CMAKE_SYSTEM_PROCESSOR}-${CMAKE_SYSTEM_NAME}")
endif()
@@ -157,6 +169,12 @@ target_link_libraries(foxglove_bridge_component
set(FOXGLOVE_SDK_PLATFORM "x86_64-unknown-linux-gnu")
set(FOXGLOVE_SDK_SHA "0b9d348df3a8e98d2c2cee2360cc9f52e83bb3445044debd771d1b46dc358be4")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
+ set(FOXGLOVE_SDK_PLATFORM "aarch64-apple-darwin")
+ set(FOXGLOVE_SDK_SHA "c9dfa5061d72795af2620c2840a85e695b9dacce19475eaec8caf0102c4940ef")
+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 "3531502efd958be3f9dca06a099c167512dd3006b98ac3eecf8250d376eaa16b")
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")
+ set(FOXGLOVE_SDK_PLATFORM "aarch64-pc-windows-msvc")
+ set(FOXGLOVE_SDK_SHA "da293bf4dac2b973b7c72d1d368932f7f4f989fcac9311d529b93c7d2b84eae9")
+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 "09d2ff5dbb6a5216a303f9470fbec186c0ebd849713570d6b8145a9d22d804af")
else()
message(FATAL_ERROR "Unsupported platform/architecture combination: ${CMAKE_SYSTEM_PROCESSOR}-${CMAKE_SYSTEM_NAME}")
endif()
@@ -202,6 +214,12 @@ target_link_libraries(foxglove_bridge_component
rosx_introspection::rosx_introspection
)

Expand All @@ -33,9 +33,9 @@ index 9285c891..d8b058ab 100644
+
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 ef72c9c1..ed857459 100644
index ef72c9c..ed85745 100644
--- a/src/message_definition_cache.cpp
+++ b/src/message_definition_cache.cpp
@@ -3,6 +3,7 @@
Expand Down
Loading
Loading