summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-electronics/gazebo')
-rw-r--r--sci-electronics/gazebo/Manifest2
-rw-r--r--sci-electronics/gazebo/files/ffmpeg6.patch40
-rw-r--r--sci-electronics/gazebo/files/protobuf.patch226
-rw-r--r--sci-electronics/gazebo/gazebo-11.13.0.ebuild (renamed from sci-electronics/gazebo/gazebo-11.12.0-r1.ebuild)2
4 files changed, 228 insertions, 42 deletions
diff --git a/sci-electronics/gazebo/Manifest b/sci-electronics/gazebo/Manifest
index b778335ec365..bec10d111a87 100644
--- a/sci-electronics/gazebo/Manifest
+++ b/sci-electronics/gazebo/Manifest
@@ -1 +1 @@
-DIST gazebo-11.12.0.tar.bz2 56542859 BLAKE2B f2da8371fa4655cc831401fcf6ceec8c82d507a93515762c078ac20a78cb4b739c9f373ef53bebc71b5d7e1c1cf4b98928b3e855fca6943a09da554ee19df1cb SHA512 8f60d432ab07084951bbe31c632f04f2fa11500441fb81fe27078a5cb5b67ba681889e1079844d44a5a30df562797d51683fd674942db9fd8c4d853e3e2c5d3e
+DIST gazebo-11.13.0.tar.bz2 56636967 BLAKE2B 7c0ef875711e832a213631d97584edc2300d25be6d538d6f2ac782ab279b6518e1fb7c59d895a1c7b92fbaec46bb0e7c505afb34f05ab2eece016f5bd15a7c3f SHA512 a77ce4a02f723c615738d11a13aa10fa5124705bc9ca95153477d8df25b296eef7d442769379d3888a9ba0f04c1e5a3e38d686e7b5eef393b91bdc78f792c390
diff --git a/sci-electronics/gazebo/files/ffmpeg6.patch b/sci-electronics/gazebo/files/ffmpeg6.patch
deleted file mode 100644
index 932d1e31c9d1..000000000000
--- a/sci-electronics/gazebo/files/ffmpeg6.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Index: gazebo-11.12.0/gazebo/common/AudioDecoder.cc
-===================================================================
---- gazebo-11.12.0.orig/gazebo/common/AudioDecoder.cc
-+++ gazebo-11.12.0/gazebo/common/AudioDecoder.cc
-@@ -364,6 +364,7 @@ bool AudioDecoder::SetFile(const std::st
- return false;
- }
-
-+#if LIBAVCODEC_VERSION_MAJOR < 60
- #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(56, 60, 100)
- if (this->codec->capabilities & AV_CODEC_CAP_TRUNCATED)
- this->codecCtx->flags |= AV_CODEC_FLAG_TRUNCATED;
-@@ -371,6 +372,7 @@ bool AudioDecoder::SetFile(const std::st
- if (this->codec->capabilities & CODEC_CAP_TRUNCATED)
- this->codecCtx->flags |= CODEC_FLAG_TRUNCATED;
- #endif
-+#endif
-
- // Open codec
- if (avcodec_open2(this->codecCtx, this->codec, nullptr) < 0)
-Index: gazebo-11.12.0/gazebo/common/Video.cc
-===================================================================
---- gazebo-11.12.0.orig/gazebo/common/Video.cc
-+++ gazebo-11.12.0/gazebo/common/Video.cc
-@@ -214,6 +214,7 @@ bool Video::Load(const std::string &_fil
- return false;
- }
-
-+#if LIBAVCODEC_VERSION_MAJOR < 60
- // Inform the codec that we can handle truncated bitstreams -- i.e.,
- // bitstreams where frame boundaries can fall in the middle of packets
- #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(56, 60, 100)
-@@ -223,6 +224,7 @@ bool Video::Load(const std::string &_fil
- if (codec->capabilities & CODEC_CAP_TRUNCATED)
- this->codecCtx->flags |= CODEC_FLAG_TRUNCATED;
- #endif
-+#endif
-
- // Open codec
- if (avcodec_open2(this->codecCtx, codec, nullptr) < 0)
diff --git a/sci-electronics/gazebo/files/protobuf.patch b/sci-electronics/gazebo/files/protobuf.patch
new file mode 100644
index 000000000000..c815d7a9aab3
--- /dev/null
+++ b/sci-electronics/gazebo/files/protobuf.patch
@@ -0,0 +1,226 @@
+From 92a44c60e4b38d147fd92ed480e33e61cc68c928 Mon Sep 17 00:00:00 2001
+From: Silvio Traversaro <silvio@traversaro.it>
+Date: Tue, 6 Jun 2023 13:50:07 +0200
+Subject: [PATCH 1/6] Support for protobuf >= 22 by using find_package(Protobuf
+ CONFIG)
+
+---
+ cmake/SearchForStuff.cmake | 49 +++++++++++++++++++++++++-----------
+ cmake/gazebo-config.cmake.in | 15 ++++++++---
+ 2 files changed, 46 insertions(+), 18 deletions(-)
+
+diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
+index b1cb3f37b3..e0fbd68274 100644
+--- a/cmake/SearchForStuff.cmake
++++ b/cmake/SearchForStuff.cmake
+@@ -25,29 +25,48 @@ if (CMAKE_BUILD_TYPE)
+ endif()
+
+ ########################################
+-if (PROTOBUF_VERSION LESS 2.3.0)
++if (DEFINED PROTOBUF_VERSION AND PROTOBUF_VERSION GREATER_EQUAL 22.0)
+ BUILD_ERROR("Incorrect version: Gazebo requires protobuf version 2.3.0 or greater")
+ endif()
+
+ ########################################
+ # The Google Protobuf library for message generation + serialization
+-find_package(Protobuf REQUIRED)
+-if (NOT PROTOBUF_FOUND)
+- BUILD_ERROR ("Missing: Google Protobuf (libprotobuf-dev)")
+-endif()
+-if (NOT PROTOBUF_PROTOC_EXECUTABLE)
+- BUILD_ERROR ("Missing: Google Protobuf Compiler (protobuf-compiler)")
+-endif()
+-if (NOT PROTOBUF_PROTOC_LIBRARY)
+- BUILD_ERROR ("Missing: Google Protobuf Compiler Library (libprotoc-dev)")
++
++# Protobuf >= 22 requires to link abseil, so we are constrained to use
++# find_package(Protobuf) and link to protobuf::libprotobuf,
++# see https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/4075#issuecomment-1569242816
++if (DEFINED PROTOBUF_VERSION AND PROTOBUF_VERSION GREATER_EQUAL 22.0)
++ set(GZ_PROTOBUF_USE_CMAKE_CONFIG_DEFAULT ON)
++else()
++ set(GZ_PROTOBUF_USE_CMAKE_CONFIG_DEFAULT OFF)
+ endif()
++option(GZ_PROTOBUF_USE_CMAKE_CONFIG "If true use protobuf-config.cmake to find protobuf" ${GZ_PROTOBUF_USE_CMAKE_CONFIG_DEFAULT})
++mark_as_advanced(GZ_PROTOBUF_USE_CMAKE_CONFIG)
+
+-if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
+- set (GZ_PROTOBUF_LIBRARY ${PROTOBUF_LIBRARY_DEBUG})
+- set (GZ_PROTOBUF_PROTOC_LIBRARY ${PROTOBUF_PROTOC_LIBRARY_DEBUG})
++if(NOT GZ_PROTOBUF_USE_CMAKE_CONFIG)
++ find_package(Protobuf REQUIRED)
++ if (NOT PROTOBUF_FOUND)
++ BUILD_ERROR ("Missing: Google Protobuf (libprotobuf-dev)")
++ endif()
++ if (NOT PROTOBUF_PROTOC_EXECUTABLE)
++ BUILD_ERROR ("Missing: Google Protobuf Compiler (protobuf-compiler)")
++ endif()
++ if (NOT PROTOBUF_PROTOC_LIBRARY)
++ BUILD_ERROR ("Missing: Google Protobuf Compiler Library (libprotoc-dev)")
++ endif()
++ if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
++ set (GZ_PROTOBUF_LIBRARY ${PROTOBUF_LIBRARY_DEBUG})
++ set (GZ_PROTOBUF_PROTOC_LIBRARY ${PROTOBUF_PROTOC_LIBRARY_DEBUG})
++ else()
++ set (GZ_PROTOBUF_LIBRARY ${PROTOBUF_LIBRARY})
++ set (GZ_PROTOBUF_PROTOC_LIBRARY ${PROTOBUF_PROTOC_LIBRARY})
++ endif()
+ else()
+- set (GZ_PROTOBUF_LIBRARY ${PROTOBUF_LIBRARY})
+- set (GZ_PROTOBUF_PROTOC_LIBRARY ${PROTOBUF_PROTOC_LIBRARY})
++ set (GZ_PROTOBUF_LIBRARY protobuf::libprotobuf)
++ set (GZ_PROTOBUF_PROTOC_LIBRARY protobuf::libprotoc)
++ if(NOT DEFINED PROTOBUF_PROTOC_LIBRARY)
++ get_target_property(PROTOBUF_PROTOC_LIBRARY protobuf::protoc LOCATION)
++ endif()
+ endif()
+
+ ########################################
+diff --git a/cmake/gazebo-config.cmake.in b/cmake/gazebo-config.cmake.in
+index 96993f93fa..ac1de2c061 100644
+--- a/cmake/gazebo-config.cmake.in
++++ b/cmake/gazebo-config.cmake.in
+@@ -166,9 +166,18 @@ list(APPEND @PKG_NAME@_INCLUDE_DIRS ${Boost_INCLUDE_DIRS})
+ list(APPEND @PKG_NAME@_LIBRARIES ${Boost_LIBRARIES})
+
+ # Find protobuf
+-find_package(Protobuf REQUIRED)
+-list(APPEND @PKG_NAME@_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIRS})
+-list(APPEND @PKG_NAME@_LIBRARIES ${PROTOBUF_LIBRARIES})
++set(GZ_PROTOBUF_USE_CMAKE_CONFIG @GZ_PROTOBUF_USE_CMAKE_CONFIG@)
++
++if(NOT GZ_PROTOBUF_USE_CMAKE_CONFIG)
++ find_package(Protobuf REQUIRED)
++ list(APPEND @PKG_NAME@_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIRS})
++ list(APPEND @PKG_NAME@_LIBRARIES ${PROTOBUF_LIBRARIES})
++else()
++ find_package(Protobuf CONFIG REQUIRED)
++ list(APPEND @PKG_NAME@_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIRS})
++ list(APPEND @PKG_NAME@_LIBRARIES protobuf::libprotoc)
++ list(APPEND @PKG_NAME@_LIBRARIES protobuf::libprotobuf)
++endif()
+
+ # Find SDFormat
+ find_package(sdformat9 REQUIRED VERSION 9.8)
+
+From 83f05b7778ff2933d8bd3b9149207dd17a20b9b4 Mon Sep 17 00:00:00 2001
+From: Silvio Traversaro <silvio@traversaro.it>
+Date: Tue, 6 Jun 2023 14:18:48 +0200
+Subject: [PATCH 2/6] Update SearchForStuff.cmake
+
+---
+ cmake/SearchForStuff.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
+index e0fbd68274..d25b7a4a63 100644
+--- a/cmake/SearchForStuff.cmake
++++ b/cmake/SearchForStuff.cmake
+@@ -25,7 +25,7 @@ if (CMAKE_BUILD_TYPE)
+ endif()
+
+ ########################################
+-if (DEFINED PROTOBUF_VERSION AND PROTOBUF_VERSION GREATER_EQUAL 22.0)
++if (PROTOBUF_VERSION LESS 2.3.0)
+ BUILD_ERROR("Incorrect version: Gazebo requires protobuf version 2.3.0 or greater")
+ endif()
+
+
+From 398e832301429b2f406a5a0e35187ca8fabd50ad Mon Sep 17 00:00:00 2001
+From: Silvio Traversaro <silvio@traversaro.it>
+Date: Tue, 6 Jun 2023 23:25:06 +0200
+Subject: [PATCH 3/6] Update SearchForStuff.cmake
+
+---
+ cmake/SearchForStuff.cmake | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
+index d25b7a4a63..2f0b53358f 100644
+--- a/cmake/SearchForStuff.cmake
++++ b/cmake/SearchForStuff.cmake
+@@ -62,6 +62,7 @@ if(NOT GZ_PROTOBUF_USE_CMAKE_CONFIG)
+ set (GZ_PROTOBUF_PROTOC_LIBRARY ${PROTOBUF_PROTOC_LIBRARY})
+ endif()
+ else()
++ find_package(Protobuf CONFIG REQUIRED)
+ set (GZ_PROTOBUF_LIBRARY protobuf::libprotobuf)
+ set (GZ_PROTOBUF_PROTOC_LIBRARY protobuf::libprotoc)
+ if(NOT DEFINED PROTOBUF_PROTOC_LIBRARY)
+
+From d46bf2353a25b38b9613b67f2567f729e133d2b7 Mon Sep 17 00:00:00 2001
+From: Silvio Traversaro <silvio@traversaro.it>
+Date: Tue, 6 Jun 2023 23:55:22 +0200
+Subject: [PATCH 4/6] Update SearchForStuff.cmake
+
+---
+ cmake/SearchForStuff.cmake | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
+index 2f0b53358f..1bbadd3c29 100644
+--- a/cmake/SearchForStuff.cmake
++++ b/cmake/SearchForStuff.cmake
+@@ -66,7 +66,9 @@ else()
+ set (GZ_PROTOBUF_LIBRARY protobuf::libprotobuf)
+ set (GZ_PROTOBUF_PROTOC_LIBRARY protobuf::libprotoc)
+ if(NOT DEFINED PROTOBUF_PROTOC_LIBRARY)
+- get_target_property(PROTOBUF_PROTOC_LIBRARY protobuf::protoc LOCATION)
++ get_target_property(PROTOBUF_PROTOC_LIBRARY_VAR protobuf::protoc LOCATION)
++ set(PROTOBUF_PROTOC_LIBRARY ${PROTOBUF_PROTOC_LIBRARY_VAR} CACHE STRING "")
++ mark_as_advanced(PROTOBUF_PROTOC_LIBRARY)
+ endif()
+ endif()
+
+
+From f372ef83b99bf2dc2f4a456ab74c7831c347ec89 Mon Sep 17 00:00:00 2001
+From: Silvio Traversaro <silvio@traversaro.it>
+Date: Wed, 7 Jun 2023 00:39:40 +0200
+Subject: [PATCH 5/6] Update SearchForStuff.cmake
+
+---
+ cmake/SearchForStuff.cmake | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
+index 1bbadd3c29..c400bee0e3 100644
+--- a/cmake/SearchForStuff.cmake
++++ b/cmake/SearchForStuff.cmake
+@@ -65,10 +65,8 @@ else()
+ find_package(Protobuf CONFIG REQUIRED)
+ set (GZ_PROTOBUF_LIBRARY protobuf::libprotobuf)
+ set (GZ_PROTOBUF_PROTOC_LIBRARY protobuf::libprotoc)
+- if(NOT DEFINED PROTOBUF_PROTOC_LIBRARY)
+- get_target_property(PROTOBUF_PROTOC_LIBRARY_VAR protobuf::protoc LOCATION)
+- set(PROTOBUF_PROTOC_LIBRARY ${PROTOBUF_PROTOC_LIBRARY_VAR} CACHE STRING "")
+- mark_as_advanced(PROTOBUF_PROTOC_LIBRARY)
++ if(NOT DEFINED PROTOBUF_PROTOC_EXECUTABLE)
++ get_target_property(PROTOBUF_PROTOC_EXECUTABLE protobuf::protoc LOCATION)
+ endif()
+ endif()
+
+
+From c4674eee1ad234d4a74bafc1d3ec401b595d3d63 Mon Sep 17 00:00:00 2001
+From: Steve Peters <computersthatmove@gmail.com>
+Date: Wed, 14 Jun 2023 09:27:16 -0700
+Subject: [PATCH 6/6] Fix whitespace
+
+Signed-off-by: Steve Peters <scpeters@openrobotics.org>
+---
+ cmake/SearchForStuff.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
+index c400bee0e3..948cf0a8a1 100644
+--- a/cmake/SearchForStuff.cmake
++++ b/cmake/SearchForStuff.cmake
+@@ -32,7 +32,7 @@ endif()
+ ########################################
+ # The Google Protobuf library for message generation + serialization
+
+-# Protobuf >= 22 requires to link abseil, so we are constrained to use
++# Protobuf >= 22 requires to link abseil, so we are constrained to use
+ # find_package(Protobuf) and link to protobuf::libprotobuf,
+ # see https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/4075#issuecomment-1569242816
+ if (DEFINED PROTOBUF_VERSION AND PROTOBUF_VERSION GREATER_EQUAL 22.0)
diff --git a/sci-electronics/gazebo/gazebo-11.12.0-r1.ebuild b/sci-electronics/gazebo/gazebo-11.13.0.ebuild
index 1ba53c80d837..801fdd8a98a1 100644
--- a/sci-electronics/gazebo/gazebo-11.12.0-r1.ebuild
+++ b/sci-electronics/gazebo/gazebo-11.13.0.ebuild
@@ -65,7 +65,7 @@ CMAKE_BUILD_TYPE=RelWithDebInfo
PATCHES=(
"${FILESDIR}/qwt2.patch"
"${FILESDIR}/cmake.patch"
- "${FILESDIR}/ffmpeg6.patch"
+ "${FILESDIR}/protobuf.patch"
)
src_configure() {