# -*- 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
github.setup google protobuf 3.6.1 v
maintainers {blair @blair} openmaintainer
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.tarball_from releases
distname protobuf-cpp-${version}
worksrcdir protobuf-${version}
if {${os.platform} eq "darwin" && ${os.major} < 11} {
if {[string match *clang* ${configure.compiler}] && ${configure.cxx_stdlib} eq "macports-libstdc++"} {
# GCC emulates thread-local storage
compiler.whitelist macports-gcc-7
configure.cppflags-append -DGOOGLE_PROTOBUF_NO_THREADLOCAL
# bundled libtool version doesn't recognise -stdlib
checksums rmd160 b8b80a6c7150ead6acde8285b4462957cf2c2cd3 \
sha256 b3732e471a9bb7950f090fd0457ebd2536a9ba0891b7f3785919c654fe2a2529 \
# see https://trac.macports.org/wiki/UsingTheRightCompiler
CC_FOR_BUILD=${configure.cc} \
CXX_FOR_BUILD=${configure.cxx}
configure.cflags-append -g
configure.cppflags-append -g