# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
description Encode data in an efficient yet extensible format.
Google Protocol Buffers are a flexible, efficient, \
automated mechanism for serializing structured data -- \
think XML, but smaller, faster, and simpler. You \
define how you want your data to be structured once, \
then you can use special generated source code to \
easily write and read your structured data to and from \
a variety of data streams and using a variety of \
languages. You can even update your data structure \
without breaking deployed programs that are compiled \
against the "old" format. You specify how you want \
the information you're serializing to be structured by \
defining protocol buffer message types in .proto \
files. Each protocol buffer message is a small \
logical record of information, containing a series of \
github.setup google protobuf ${version} v
github.tarball_from releases
homepage https://github.com/google/protobuf
master_sites https://github.com/google/protobuf/releases/download/v${version}
distfiles protobuf-python-${version}.tar.gz
worksrcdir protobuf-${version}
checksums sha256 13d3c15ebfad8c28bee203dd4a0f6e600d2a7d2243bac8b5d0e517466500fcae \
rmd160 b2a7574a89fca44cf2b218aa29048909d9aed796
if {${name} ne ${subport}} {
depends_build port:py${python.version}-setuptools \
port:py${python.version}-absl
depends_lib port:protobuf3-cpp
worksrcdir ${worksrcdir}/python
# tricks to force the right -stdlib setting
# and to put a needed CXX flag on the 10.6 build
# see https://trac.macports.org/ticket/56482
patchfiles-append patch-py-protobuf3-settings.diff
if {[string match *clang* ${configure.compiler}]} {