From 61c1d2cf56df696a9f0942c45f63e23bab19a689 Mon Sep 17 00:00:00 2001
From: Tobias Fischer <info@tobiasfischer.info>
Date: Mon, 30 Dec 2024 14:16:25 +1000
Subject: [PATCH] A bunch more patches

---
 patch/ros-jazzy-gz-math-vendor.patch      | 13 +++++++++
 patch/ros-jazzy-gz-msgs-vendor.patch      | 13 +++++++++
 patch/ros-jazzy-gz-physics-vendor.patch   | 13 +++++++++
 patch/ros-jazzy-gz-plugin-vendor.patch    | 13 +++++++++
 patch/ros-jazzy-gz-sensors-vendor.patch   | 13 +++++++++
 patch/ros-jazzy-gz-transport-vendor.patch | 13 +++++++++
 patch/ros-jazzy-gz-utils-vendor.patch     | 13 +++++++++
 patch/ros-jazzy-plotjuggler.patch         | 33 ++++++++++++-----------
 8 files changed, 108 insertions(+), 16 deletions(-)
 create mode 100644 patch/ros-jazzy-gz-math-vendor.patch
 create mode 100644 patch/ros-jazzy-gz-msgs-vendor.patch
 create mode 100644 patch/ros-jazzy-gz-physics-vendor.patch
 create mode 100644 patch/ros-jazzy-gz-plugin-vendor.patch
 create mode 100644 patch/ros-jazzy-gz-sensors-vendor.patch
 create mode 100644 patch/ros-jazzy-gz-transport-vendor.patch
 create mode 100644 patch/ros-jazzy-gz-utils-vendor.patch

diff --git a/patch/ros-jazzy-gz-math-vendor.patch b/patch/ros-jazzy-gz-math-vendor.patch
new file mode 100644
index 00000000..e5a1c5d6
--- /dev/null
+++ b/patch/ros-jazzy-gz-math-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bacf717..69ead8b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -36,7 +36,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+   set(VERSION_MATCH "")
+ endif()
+ 
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+ 
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+   SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/patch/ros-jazzy-gz-msgs-vendor.patch b/patch/ros-jazzy-gz-msgs-vendor.patch
new file mode 100644
index 00000000..7b6340ff
--- /dev/null
+++ b/patch/ros-jazzy-gz-msgs-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a234d6c..1bc36ea 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -37,7 +37,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+   set(VERSION_MATCH "")
+ endif()
+ 
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+ 
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+   SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/patch/ros-jazzy-gz-physics-vendor.patch b/patch/ros-jazzy-gz-physics-vendor.patch
new file mode 100644
index 00000000..d6352aa3
--- /dev/null
+++ b/patch/ros-jazzy-gz-physics-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3b0b5e4..fa007d8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,7 +41,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+   set(VERSION_MATCH "")
+ endif()
+ 
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+ 
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+   SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/patch/ros-jazzy-gz-plugin-vendor.patch b/patch/ros-jazzy-gz-plugin-vendor.patch
new file mode 100644
index 00000000..bd4b6df7
--- /dev/null
+++ b/patch/ros-jazzy-gz-plugin-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ed2578e..cb5c72a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -36,7 +36,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+   set(VERSION_MATCH "")
+ endif()
+ 
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+ 
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+   SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/patch/ros-jazzy-gz-sensors-vendor.patch b/patch/ros-jazzy-gz-sensors-vendor.patch
new file mode 100644
index 00000000..9aa287b6
--- /dev/null
+++ b/patch/ros-jazzy-gz-sensors-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1fba7c8..c82aaa5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -42,7 +42,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+   set(VERSION_MATCH "")
+ endif()
+ 
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+ 
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+   SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/patch/ros-jazzy-gz-transport-vendor.patch b/patch/ros-jazzy-gz-transport-vendor.patch
new file mode 100644
index 00000000..01ccc875
--- /dev/null
+++ b/patch/ros-jazzy-gz-transport-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d0d7a23..77f334f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,7 +38,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+   set(VERSION_MATCH "")
+ endif()
+ 
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+ 
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+   SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/patch/ros-jazzy-gz-utils-vendor.patch b/patch/ros-jazzy-gz-utils-vendor.patch
new file mode 100644
index 00000000..fdaa4012
--- /dev/null
+++ b/patch/ros-jazzy-gz-utils-vendor.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 264ab97..acc88cd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,7 +34,7 @@ if(NOT $ENV{GZ_RELAX_VERSION_MATCH} STREQUAL "")
+   set(VERSION_MATCH "")
+ endif()
+ 
+-find_package(${LIB_NAME_FULL} ${VERSION_MATCH} ${LIB_VER} COMPONENTS all QUIET)
++find_package(${LIB_NAME_FULL} COMPONENTS all QUIET)
+ 
+ ament_vendor(${LIB_NAME_UNDERSCORE}_vendor
+   SATISFIED ${${LIB_NAME_FULL}_FOUND}
diff --git a/patch/ros-jazzy-plotjuggler.patch b/patch/ros-jazzy-plotjuggler.patch
index 6cd32fa4..827cdb51 100644
--- a/patch/ros-jazzy-plotjuggler.patch
+++ b/patch/ros-jazzy-plotjuggler.patch
@@ -469,11 +469,12 @@ diff --git a/3rdparty/Qt-Advanced-Docking/CMakeLists.txt b/3rdparty/Qt-Advanced-
 index 6b650f1b..82c58edb 100644
 --- a/3rdparty/Qt-Advanced-Docking/CMakeLists.txt
 +++ b/3rdparty/Qt-Advanced-Docking/CMakeLists.txt
-@@ -67,7 +67,8 @@ target_link_libraries(qt_advanced_docking PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets
+@@ -67,7 +67,9 @@ target_link_libraries(qt_advanced_docking PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets
  
  if(UNIX AND NOT APPLE)
      target_link_libraries(qt_advanced_docking PUBLIC Qt5::X11Extras)
 -        target_link_libraries(qt_advanced_docking PRIVATE xcb)
++    find_package(XCB REQUIRED)
 +    target_link_libraries(qt_advanced_docking PRIVATE ${XCB_LIBRARIES})
 +    target_include_directories(qt_advanced_docking SYSTEM PUBLIC ${XCB_INCLUDE_DIRS})
  endif()
@@ -608,18 +609,18 @@ index 0bb68ebe..20855338 100644
 --- a/3rdparty/sol/sol.hpp
 +++ b/3rdparty/sol/sol.hpp
 @@ -6747,12 +6747,9 @@ namespace sol {
- 		/// one.
- 		///
- 		/// \group emplace
--		template <class... Args>
--		T& emplace(Args&&... args) noexcept {
--			static_assert(std::is_constructible<T, Args&&...>::value, "T must be constructible with Args");
--
--			*this = nullopt;
--			this->construct(std::forward<Args>(args)...);
-+		T& emplace(T& arg) noexcept {
-+				m_value = &arg;
-+				return **this;
- 		}
- 
- 		/// Swaps this optional with the other.
+ 		/// one.
+ 		///
+ 		/// \group emplace
+-		template <class... Args>
+-		T& emplace(Args&&... args) noexcept {
+-			static_assert(std::is_constructible<T, Args&&...>::value, "T must be constructible with Args");
+-
+-			*this = nullopt;
+-			this->construct(std::forward<Args>(args)...);
++		T& emplace(T& arg) noexcept {
++				m_value = &arg;
++				return **this;
+ 		}
+ 
+ 		/// Swaps this optional with the other.