gentoo-ebuilds/net-libs/ignition-msgs/files/protobuf30.patch
Alexis Ballier 4aa472e56c
net-libs/ignition-msgs: bump to 5.11.1 and build with protobuf 30
Signed-off-by: Alexis Ballier <aballier@gentoo.org>
2025-06-06 14:51:42 +02:00

78 lines
3.4 KiB
Diff

See: https://github.com/gazebosim/gz-msgs/commit/22c57006798470db63e8ecaff7b49dce34d5e76f
Index: gz-msgs-ignition-msgs5_5.11.1/src/Generator.cc
===================================================================
--- gz-msgs-ignition-msgs5_5.11.1.orig/src/Generator.cc
+++ gz-msgs-ignition-msgs5_5.11.1/src/Generator.cc
@@ -71,12 +71,12 @@ bool Generator::Generate(const FileDescr
OutputDirectory *_generatorContext,
std::string * /*_error*/) const
{
- std::string headerFilename = _file->name();
+ std::string headerFilename(_file->name());
std::string delim = ".proto";
size_t pos = headerFilename.rfind(delim);
headerFilename.replace(pos, delim.size(), ".pb.h");
- std::string sourceFilename = _file->name();
+ std::string sourceFilename( _file->name());
pos = sourceFilename.rfind(delim);
sourceFilename.replace(pos, delim.size(), ".pb.cc");
@@ -142,10 +142,11 @@ bool Generator::Generate(const FileDescr
printer.Print("#endif\n", "name", "includes");
// Call the IGN_REGISTER_STATIC_MSG macro
- std::string factory = "IGN_REGISTER_STATIC_MSG(\"ign_msgs.";
- factory += _file->message_type(0)->name() + "\", " +
- _file->message_type(0)->name() +")";
- printer.Print(factory.c_str(), "name", "includes");
+ std::stringstream factory;
+ factory << "IGN_REGISTER_STATIC_MSG(\"ign_msgs.";
+ factory << _file->message_type(0)->name() << "\", " <<
+ _file->message_type(0)->name() << ")";
+ printer.Print(factory.str(), "name", "includes");
}
// Inject code in the auto-generated header files immediately before closing
@@ -156,26 +157,27 @@ bool Generator::Generate(const FileDescr
io::Printer printer(output.get(), '$');
// Define std::unique_ptr types for our messages
- std::string ptrTypes = "typedef std::unique_ptr<"
- + _file->message_type(0)->name() + "> "
- + _file->message_type(0)->name() + "UniquePtr;\n";
+ std::stringstream ptrTypes;
+ ptrTypes << "typedef std::unique_ptr<"
+ << _file->message_type(0)->name() << "> "
+ << _file->message_type(0)->name() << "UniquePtr;\n";
// Define const std::unique_ptr types for our messages
- ptrTypes += "typedef std::unique_ptr<const "
- + _file->message_type(0)->name() + "> Const"
- + _file->message_type(0)->name() + "UniquePtr;\n";
+ ptrTypes << "typedef std::unique_ptr<const "
+ << _file->message_type(0)->name() << "> Const"
+ << _file->message_type(0)->name() << "UniquePtr;\n";
// Define std::shared_ptr types for our messages
- ptrTypes += "typedef std::shared_ptr<"
- + _file->message_type(0)->name() + "> "
- + _file->message_type(0)->name() + "SharedPtr;\n";
+ ptrTypes << "typedef std::shared_ptr<"
+ << _file->message_type(0)->name() << "> "
+ << _file->message_type(0)->name() << "SharedPtr;\n";
// Define const std::shared_ptr types for our messages
- ptrTypes += "typedef std::shared_ptr<const "
- + _file->message_type(0)->name() + "> Const"
- + _file->message_type(0)->name() + "SharedPtr;\n";
+ ptrTypes << "typedef std::shared_ptr<const "
+ << _file->message_type(0)->name() << "> Const"
+ << _file->message_type(0)->name() << "SharedPtr;\n";
- printer.Print(ptrTypes.c_str(), "name", "namespace_scope");
+ printer.Print(ptrTypes.str(), "name", "namespace_scope");
}
// Pop the warning suppression stack for MSVC