package/protozero: new package

Minimalistic protocol buffer decoder and encoder in C++.
Designed for high performance. Suitable for writing zero copy
parsers and encoders with minimal need for run-time allocation
of memory.

Low-level: this is designed to be a building block for writing
a very customized decoder for a stable protobuf schema. If your
protobuf schema is changing frequently or lazy decoding is not
critical for your application then this approach offers
no value: just use the C++ API that can be generated with
the Google Protobufs protoc program.

https://github.com/mapbox/protozero

Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Maxim Kochetkov 2021-04-15 18:03:54 +03:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 51d55fc132
commit fceec33568
5 changed files with 43 additions and 0 deletions

View File

@ -1840,6 +1840,7 @@ N: Max Filippov <jcmvbkbc@gmail.com>
F: arch/Config.in.xtensa
N: Maxim Kochetkov <fido_max@inbox.ru>
F: package/protozero/
F: package/timescaledb/
N: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>

View File

@ -1966,6 +1966,7 @@ endif
source "package/poco/Config.in"
source "package/protobuf/Config.in"
source "package/protobuf-c/Config.in"
source "package/protozero/Config.in"
source "package/qhull/Config.in"
source "package/qlibc/Config.in"
source "package/riemann-c-client/Config.in"

View File

@ -0,0 +1,20 @@
config BR2_PACKAGE_PROTOZERO
bool "protozero"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
help
Minimalistic protocol buffer decoder and encoder in C++.
Designed for high performance. Suitable for writing zero copy
parsers and encoders with minimal need for run-time allocation
of memory.
Low-level: this is designed to be a building block for writing
a very customized decoder for a stable protobuf schema. If
your protobuf schema is changing frequently or lazy decoding
is not critical for your application then this approach offers
no value: just use the C++ API that can be generated with
the Google Protobufs protoc program.
https://github.com/mapbox/protozero
comment "protozero needs a toolchain w/ C++, gcc >= 4.7"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7

View File

@ -0,0 +1,4 @@
# Locally calculated
sha256 beffbdfab060854fd770178a8db9c028b5b6ee4a059a2fed82c46390a85f3f31 protozero-1.7.0.tar.gz
sha256 1f4d477e3c2d74d8706c8f05437bd86804abe46853b1f233ce1549a4de76fa49 LICENSE.md
sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE.from_folly

View File

@ -0,0 +1,17 @@
################################################################################
#
# protozero
#
################################################################################
PROTOZERO_VERSION = 1.7.0
PROTOZERO_SITE = $(call github,mapbox,protozero,v$(PROTOZERO_VERSION))
PROTOZERO_LICENSE = BSD-2-Clause, Apache-2.0
PROTOZERO_LICENSE_FILES = LICENSE.md LICENSE.from_folly
PROTOZERO_INSTALL_STAGING = YES
ifeq ($(BR2_PACKAGE_PROTOBUF),y)
PROTOZERO_DEPENDENCIES += protobuf
endif
$(eval $(cmake-package))