From aa6b137ace9bc680a69171d31af288ca4b7bbd1e Mon Sep 17 00:00:00 2001 From: Jens Rehsack Date: Tue, 28 Aug 2018 16:20:09 +0200 Subject: protobuf-c: Update 1.3.0 -> 1.3.1 Updating protobuf-c to 3.6.1: [ Robert Edmonds ] * Release 1.3.1. * Restore protobuf-2.x compatibility (#284, #285). * Use xenial and protobuf 3.6.1 in the Travis-CI environment (#332). * Convert uses of protobuf's scoped_ptr.h to C++11 std::unique_ptr, needed to compile against protobuf 3.6.1 (#320, #333). * Use AX_CXX_COMPILE_STDCXX macro to enable C++11 support in old compilers (#312, #317, #327, #334). [ Fredrik Gustafsson ] * Add std:: to some types (#294, #305, #309). [ Sam Collinson ] * Check the return value of int_range_lookup before using as an array index; it can return -1 (#315). [ Matthias Dittrich ] * Fix compilation on mingw by using explicit protoc --plugin=NAME=PATH syntax in Makefile.am (#289, #290). Removing deprecated 0001-protobuf-c-fix-compile-error-with-protobuf-3.6.0.1.patch Signed-off-by: Jens Rehsack Signed-off-by: Khem Raj --- ...c-fix-compile-error-with-protobuf-3.6.0.1.patch | 207 --------------------- .../recipes-devtools/protobuf/protobuf-c_1.3.0.bb | 37 ---- .../recipes-devtools/protobuf/protobuf-c_1.3.1.bb | 35 ++++ 3 files changed, 35 insertions(+), 244 deletions(-) delete mode 100644 meta-oe/recipes-devtools/protobuf/protobuf-c/0001-protobuf-c-fix-compile-error-with-protobuf-3.6.0.1.patch delete mode 100644 meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.0.bb create mode 100644 meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb (limited to 'meta-oe/recipes-devtools') diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-protobuf-c-fix-compile-error-with-protobuf-3.6.0.1.patch b/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-protobuf-c-fix-compile-error-with-protobuf-3.6.0.1.patch deleted file mode 100644 index e6239ee32..000000000 --- a/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-protobuf-c-fix-compile-error-with-protobuf-3.6.0.1.patch +++ /dev/null @@ -1,207 +0,0 @@ -From fb77cbce29d9ea4d4acbfd6ba72cb1cffabf649a Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Fri, 20 Jul 2018 11:47:53 +0800 -Subject: [PATCH] protobuf-c: fix compile error with protobuf 3.6.0.1 - -Upstream-Status: Backport[https://github.com/protobuf-c/protobuf-c/pull/328] - -1. protoc-c depend on protobuf, from protobuf 3.6.0.1, -scoped_array is removed, but protoc-c still use scoped_array, -caused compile error. - -2. fix compile error since missing namespace - - -Signed-off-by: Changqing Li ---- - protoc-c/c_field.cc | 2 +- - protoc-c/c_field.h | 2 +- - protoc-c/c_file.cc | 8 ++++---- - protoc-c/c_file.h | 10 +++++----- - protoc-c/c_generator.cc | 12 ++++++------ - protoc-c/c_helpers.cc | 4 +++- - protoc-c/c_message.cc | 6 +++--- - protoc-c/c_message.h | 7 ++++--- - 8 files changed, 27 insertions(+), 24 deletions(-) - -diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc -index 9fa56ef..eaa38d2 100644 ---- a/protoc-c/c_field.cc -+++ b/protoc-c/c_field.cc -@@ -189,7 +189,7 @@ void FieldGenerator::GenerateDescriptorInitializerGeneric(io::Printer* printer, - FieldGeneratorMap::FieldGeneratorMap(const Descriptor* descriptor) - : descriptor_(descriptor), - field_generators_( -- new scoped_ptr[descriptor->field_count()]) { -+ new std::unique_ptr[descriptor->field_count()]) { - // Construct all the FieldGenerators. - for (int i = 0; i < descriptor->field_count(); i++) { - field_generators_[i].reset(MakeGenerator(descriptor->field(i))); -diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h -index 91f1a03..94b2fad 100644 ---- a/protoc-c/c_field.h -+++ b/protoc-c/c_field.h -@@ -117,7 +117,7 @@ class FieldGeneratorMap { - - private: - const Descriptor* descriptor_; -- scoped_array > field_generators_; -+ std::unique_ptr[]> field_generators_; - - static FieldGenerator* MakeGenerator(const FieldDescriptor* field); - -diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc -index 9851768..6dae516 100644 ---- a/protoc-c/c_file.cc -+++ b/protoc-c/c_file.cc -@@ -83,13 +83,13 @@ FileGenerator::FileGenerator(const FileDescriptor* file, - const string& dllexport_decl) - : file_(file), - message_generators_( -- new scoped_ptr[file->message_type_count()]), -+ new std::unique_ptr[file->message_type_count()]), - enum_generators_( -- new scoped_ptr[file->enum_type_count()]), -+ new std::unique_ptr[file->enum_type_count()]), - service_generators_( -- new scoped_ptr[file->service_count()]), -+ new std::unique_ptr[file->service_count()]), - extension_generators_( -- new scoped_ptr[file->extension_count()]) { -+ new std::unique_ptr[file->extension_count()]) { - - for (int i = 0; i < file->message_type_count(); i++) { - message_generators_[i].reset( -diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h -index ed38ce4..adc2841 100644 ---- a/protoc-c/c_file.h -+++ b/protoc-c/c_file.h -@@ -98,13 +98,13 @@ class FileGenerator { - private: - const FileDescriptor* file_; - -- scoped_array > message_generators_; -- scoped_array > enum_generators_; -- scoped_array > service_generators_; -- scoped_array > extension_generators_; -+ std::unique_ptr[]> message_generators_; -+ std::unique_ptr[]> enum_generators_; -+ std::unique_ptr[]> service_generators_; -+ std::unique_ptr[]> extension_generators_; - - // E.g. if the package is foo.bar, package_parts_ is {"foo", "bar"}. -- vector package_parts_; -+ std::vector package_parts_; - - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator); - }; -diff --git a/protoc-c/c_generator.cc b/protoc-c/c_generator.cc -index a0d0cb6..c46cfe4 100644 ---- a/protoc-c/c_generator.cc -+++ b/protoc-c/c_generator.cc -@@ -80,13 +80,13 @@ namespace c { - // "foo=bar,baz,qux=corge" - // parses to the pairs: - // ("foo", "bar"), ("baz", ""), ("qux", "corge") --void ParseOptions(const string& text, vector >* output) { -- vector parts; -+void ParseOptions(const string& text, std::vector >* output) { -+ std::vector parts; - SplitStringUsing(text, ",", &parts); - - for (unsigned i = 0; i < parts.size(); i++) { - string::size_type equals_pos = parts[i].find_first_of('='); -- pair value; -+ std::pair value; - if (equals_pos == string::npos) { - value.first = parts[i]; - value.second = ""; -@@ -105,7 +105,7 @@ bool CGenerator::Generate(const FileDescriptor* file, - const string& parameter, - OutputDirectory* output_directory, - string* error) const { -- vector > options; -+ std::vector > options; - ParseOptions(parameter, &options); - - // ----------------------------------------------------------------- -@@ -149,7 +149,7 @@ bool CGenerator::Generate(const FileDescriptor* file, - - // Generate header. - { -- scoped_ptr output( -+ std::unique_ptr output( - output_directory->Open(basename + ".h")); - io::Printer printer(output.get(), '$'); - file_generator.GenerateHeader(&printer); -@@ -157,7 +157,7 @@ bool CGenerator::Generate(const FileDescriptor* file, - - // Generate cc file. - { -- scoped_ptr output( -+ std::unique_ptr output( - output_directory->Open(basename + ".c")); - io::Printer printer(output.get(), '$'); - file_generator.GenerateSource(&printer); -diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc -index b79b5b0..f4ef73d 100644 ---- a/protoc-c/c_helpers.cc -+++ b/protoc-c/c_helpers.cc -@@ -86,6 +86,8 @@ namespace c { - #pragma warning(disable:4996) - #endif - -+using std::vector; -+ - string DotsToUnderscores(const string& name) { - return StringReplace(name, ".", "_", true); - } -@@ -559,7 +561,7 @@ static int CEscapeInternal(const char* src, int src_len, char* dest, - } - string CEscape(const string& src) { - const int dest_length = src.size() * 4 + 1; // Maximum possible expansion -- scoped_array dest(new char[dest_length]); -+ std::unique_ptr dest(new char[dest_length]); - const int len = CEscapeInternal(src.data(), src.size(), - dest.get(), dest_length, false); - GOOGLE_DCHECK_GE(len, 0); -diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc -index 6b22c71..85a946e 100755 ---- a/protoc-c/c_message.cc -+++ b/protoc-c/c_message.cc -@@ -83,11 +83,11 @@ MessageGenerator::MessageGenerator(const Descriptor* descriptor, - : descriptor_(descriptor), - dllexport_decl_(dllexport_decl), - field_generators_(descriptor), -- nested_generators_(new scoped_ptr[ -+ nested_generators_(new std::unique_ptr[ - descriptor->nested_type_count()]), -- enum_generators_(new scoped_ptr[ -+ enum_generators_(new std::unique_ptr[ - descriptor->enum_type_count()]), -- extension_generators_(new scoped_ptr[ -+ extension_generators_(new std::unique_ptr[ - descriptor->extension_count()]) { - - for (int i = 0; i < descriptor->nested_type_count(); i++) { -diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h -index 8b115d1..114c2d0 100644 ---- a/protoc-c/c_message.h -+++ b/protoc-c/c_message.h -@@ -126,9 +126,10 @@ class MessageGenerator { - const Descriptor* descriptor_; - string dllexport_decl_; - FieldGeneratorMap field_generators_; -- scoped_array > nested_generators_; -- scoped_array > enum_generators_; -- scoped_array > extension_generators_; -+ -+ std::unique_ptr[]> nested_generators_; -+ std::unique_ptr[]> enum_generators_; -+ std::unique_ptr[]> extension_generators_; - - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator); - }; --- -2.7.4 - diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.0.bb b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.0.bb deleted file mode 100644 index 209bb47e8..000000000 --- a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.0.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Protocol Buffers - structured data serialisation mechanism" -DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \ -serialization format. It includes libprotobuf-c, a pure C library that \ -implements protobuf encoding and decoding, and protoc-c, a code generator that \ -converts Protocol Buffer .proto files to C descriptor code, based on the \ -original protoc. protobuf-c formerly included an RPC implementation; that code \ -has been split out into the protobuf-c-rpc project." -HOMEPAGE = "https://github.com/protobuf-c/protobuf-c" -SECTION = "console/tools" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558" - -DEPENDS = "protobuf-native protobuf" - -PV .= "+git${SRCPV}" -SRCREV = "dac1a65feac4ad72f612aab99f487056fbcf5c1a" - -SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \ - file://0001-protobuf-c-fix-compile-error-with-protobuf-3.6.0.1.patch \ -" - -S = "${WORKDIR}/git" - -#make sure c++11 is used -CXXFLAGS += "-std=c++11" -BUILD_CXXFLAGS += "-std=c++11" - -inherit autotools pkgconfig - -PACKAGE_BEFORE_PN = "${PN}-compiler" - -FILES_${PN}-compiler = "${bindir}" - -RDEPENDS_${PN}-compiler = "protobuf-compiler" -RDEPENDS_${PN}-dev += "${PN}-compiler" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb new file mode 100644 index 000000000..7ef030092 --- /dev/null +++ b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb @@ -0,0 +1,35 @@ +SUMMARY = "Protocol Buffers - structured data serialisation mechanism" +DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \ +serialization format. It includes libprotobuf-c, a pure C library that \ +implements protobuf encoding and decoding, and protoc-c, a code generator that \ +converts Protocol Buffer .proto files to C descriptor code, based on the \ +original protoc. protobuf-c formerly included an RPC implementation; that code \ +has been split out into the protobuf-c-rpc project." +HOMEPAGE = "https://github.com/protobuf-c/protobuf-c" +SECTION = "console/tools" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558" + +DEPENDS = "protobuf-native protobuf" + +PV .= "+git${SRCPV}" +SRCREV = "269771b4b45d3aba04e59569f53600003db8d9ff" + +SRC_URI = "git://github.com/protobuf-c/protobuf-c.git" + +S = "${WORKDIR}/git" + +#make sure c++11 is used +CXXFLAGS += "-std=c++11" +BUILD_CXXFLAGS += "-std=c++11" + +inherit autotools pkgconfig + +PACKAGE_BEFORE_PN = "${PN}-compiler" + +FILES_${PN}-compiler = "${bindir}" + +RDEPENDS_${PN}-compiler = "protobuf-compiler" +RDEPENDS_${PN}-dev += "${PN}-compiler" + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf