Skip to content
Merged
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
3 changes: 3 additions & 0 deletions shared/patch/dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,9 @@ open3d_conversions:
# (which provides TBBConfig.cmake) -- add it explicitly so find_package(Open3D)
# can resolve its own TBB dependency.
add_host: ["tbb-devel"]
ortools_vendor:
add_host: ["eigen", "libabseil", "libprotobuf", "re2", "zlib"]
add_run: ["eigen", "libabseil", "libprotobuf", "re2", "zlib"]
pcl_ros:
add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "libboost-devel"]
plotjuggler_ros:
Expand Down
13 changes: 13 additions & 0 deletions shared/patch/ros2-fields2cover.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/cmake/F2CCompilerOptions.cmake b/cmake/F2CCompilerOptions.cmake
index 6eb7491..3f61f1d 100644
--- a/cmake/F2CCompilerOptions.cmake
+++ b/cmake/F2CCompilerOptions.cmake
@@ -4,7 +4,7 @@ function(f2c_set_compiler_options target)
target_compile_options(${target} PRIVATE /W4 /WX)
else()
target_compile_options(${target} PRIVATE
- -Wall -Wextra -Werror -pedantic
+ -Wall -Wextra -pedantic
-Wno-unused-parameter -Wno-sign-compare
)
endif()
131 changes: 131 additions & 0 deletions shared/patch/ros2-ortools-vendor.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fd967c2..0c45489 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,7 +10,13 @@ ament_vendor(
VCS_VERSION v9.9
CMAKE_ARGS
-DCMAKE_BUILD_TYPE=Release
- -DBUILD_DEPS:BOOL=ON
+ # Take all dependencies from conda-forge instead of building
+ -DBUILD_DEPS:BOOL=OFF
+ -DBUILD_ZLIB:BOOL=OFF
+ -DBUILD_absl:BOOL=OFF
+ -DBUILD_Protobuf:BOOL=OFF
+ -DBUILD_Eigen3:BOOL=OFF
+ -DBUILD_re2:BOOL=OFF
-DCMAKE_POLICY_VERSION_MINIMUM:STRING=3.5
-DBUILD_SAMPLES:BOOL=OFF
-DBUILD_EXAMPLES:BOOL=OFF
diff --git a/patches/0002-newer-abseil-protobuf.patch b/patches/0002-newer-abseil-protobuf.patch
new file mode 100644
index 0000000..1ba42e6
--- /dev/null
+++ b/patches/0002-newer-abseil-protobuf.patch
@@ -0,0 +1,106 @@
+diff --git a/ortools/base/file.cc b/ortools/base/file.cc
+index 6588bb6..0642e0b 100644
+--- a/ortools/base/file.cc
++++ b/ortools/base/file.cc
+@@ -240,7 +240,7 @@ namespace {
+ class NoOpErrorCollector : public google::protobuf::io::ErrorCollector {
+ public:
+ ~NoOpErrorCollector() override = default;
+- void AddError(int line, int column, const std::string& message) override {}
++ void RecordError(int line, int column, absl::string_view message) override {}
+ };
+ } // namespace
+
+diff --git a/ortools/base/logging.h b/ortools/base/logging.h
+index 4fdc7f8..9770766 100644
+--- a/ortools/base/logging.h
++++ b/ortools/base/logging.h
+@@ -20,6 +20,7 @@
+ #include "absl/log/check.h"
+ #include "absl/log/die_if_null.h"
+ #include "absl/log/log.h"
++#include "absl/log/vlog_is_on.h"
+ #include "absl/memory/memory.h"
+ #include "absl/status/status.h"
+ #include "absl/strings/str_cat.h"
+diff --git a/ortools/base/source_location.h b/ortools/base/source_location.h
+index ec0e295..2b0c2e9 100644
+--- a/ortools/base/source_location.h
++++ b/ortools/base/source_location.h
+@@ -32,6 +32,10 @@
+
+ #include "absl/base/config.h"
+
++#if __has_include("absl/types/source_location.h")
++// Abseil provides absl::SourceLocation itself since 2025.
++#include "absl/types/source_location.h"
++#else
+ namespace absl {
+
+ // Class representing a specific location in the source code of a program.
+@@ -116,6 +120,7 @@ class SourceLocation {
+ };
+
+ } // namespace absl
++#endif
+
+ // If a function takes an `absl::SourceLocation` parameter, pass this as the
+ // argument.
+diff --git a/ortools/base/strong_int.h b/ortools/base/strong_int.h
+index 3ec2e11..1b822bd 100644
+--- a/ortools/base/strong_int.h
++++ b/ortools/base/strong_int.h
+@@ -149,6 +149,7 @@
+
+ #include <functional>
+ #include <iosfwd>
++#include <limits>
+ #include <ostream> // NOLINT
+ #include <type_traits>
+
+diff --git a/ortools/port/proto_utils.h b/ortools/port/proto_utils.h
+index 535d634..ba0464b 100644
+--- a/ortools/port/proto_utils.h
++++ b/ortools/port/proto_utils.h
+@@ -58,7 +58,7 @@ std::string ProtoEnumToString(ProtoEnumType enum_value) {
+ "Invalid enum value of: ", enum_value, " for enum type: ",
+ google::protobuf::GetEnumDescriptor<ProtoEnumType>()->name());
+ }
+- return enum_value_descriptor->name();
++ return std::string(enum_value_descriptor->name());
+ #endif // !defined(__PORTABLE_PLATFORM__)
+ }
+
+diff --git a/ortools/util/file_util.cc b/ortools/util/file_util.cc
+index 7cae476..d486e41 100644
+--- a/ortools/util/file_util.cc
++++ b/ortools/util/file_util.cc
+@@ -163,7 +163,7 @@ absl::Status WriteProtoToFile(absl::string_view filename,
+ case ProtoWriteFormat::kJson: {
+ google::protobuf::util::JsonPrintOptions options;
+ options.add_whitespace = true;
+- options.always_print_primitive_fields = true;
++ options.always_print_fields_with_no_presence = true;
+ options.preserve_proto_field_names = true;
+ if (!google::protobuf::util::MessageToJsonString(proto, &output_string,
+ options)
+diff --git a/ortools/util/parse_proto.cc b/ortools/util/parse_proto.cc
+index 0c3a53d..e507533 100644
+--- a/ortools/util/parse_proto.cc
++++ b/ortools/util/parse_proto.cc
+@@ -36,11 +36,11 @@ class TextFormatErrorCollector : public google::protobuf::io::ErrorCollector {
+ TextFormatErrorCollector() = default;
+ ~TextFormatErrorCollector() override = default;
+
+- void AddError(int line, int column, const std::string& message) override {
+- collected_errors_.push_back({false, line, column, message});
++ void RecordError(int line, int column, absl::string_view message) override {
++ collected_errors_.push_back({false, line, column, std::string(message)});
+ }
+- void AddWarning(int line, int column, const std::string& message) override {
+- collected_errors_.push_back({true, line, column, message});
++ void RecordWarning(int line, int column, absl::string_view message) override {
++ collected_errors_.push_back({true, line, column, std::string(message)});
+ }
+
+ // Returns a string listing each collected error. When an error is associated
1 change: 1 addition & 0 deletions shared/vinca.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,7 @@ packages_select_by_deps:
- easynav_system
- easynav_tools
- easynav_vff_controller
- fields2cover
- libcamera
- mujoco_ros2_control # Isaac ROS deploy / Unitree G1 simulation; runtime uses Linux-specific files; mujoco_ros2_control_plugins needs EGL
- mujoco_ros2_control_demos # Use readlink and access at runtime linux-specific file
Expand Down
Loading