This package provides a code generator and runtime libraries to use
Protocol Buffers from pure C (not C++).
It uses a modified version of protoc called protoc-c.
===> The following configuration options are available for protobuf-c-1.5.2:
DOCS=on: Build and/or install documentation
DOXYGEN=on: Build documentation with Doxygen
===> Use 'make config' to modify these settings
devel/protobuf-c: update to 1.5.2
Update protobuf-c to version 1.5.2:
* Chase compatibility issues with Google protobuf 30.0-rc1 by @edmonds
in #762
* protoc-gen-c: Explicitly construct strings where needed for protobuf
30.x by @edmonds in #768
Add autoreconf.
Add a small patch to fix the symbol versioning bug. The patch will
be submitted upstream as well.
Fetch GitHub release tarball. (truckman)
PR: 298768
Sponsored by: DomainTools LLC
*/*: Bump all devel/protobuf consumers
They must always be bumped after devel/protobuf because it include
following files whose filenames contain %%PORTVERSION%%. Consequently,
the shlib will always change when PORTVERSION is increased.
lib/libprotobuf-lite.so.%%PORTVERSION%%.0
lib/libprotobuf.so.%%PORTVERSION%%.0
lib/libprotoc.so.%%PORTVERSION%%.0
Approved by: portmgr (blanket; fixing consumers)
devel/protobuf-c: fix symbol versioning support detection
This is a real bug and it stems from protobuf-c ABI changes that
removed symbol versioning incorrectly and unexpectedly when packages
started getting built with more recent llvm (specifically lld). So
older packages of protobuf-c with the same PKGNAME are different
than packages built with newer llvm. This explains run-time linker
problems like the one reported in this bug - even when users
innocently just install some package updates. This can cause project
package builders to generate packages that are different without
changing PKGNAME.
The root cause for this issue with protobuf-c is that the configure
test for symbol versioning support broke after recent lld changes
that are stricter about undefined symbols.
(Only the first 15 lines of the commit message are shown above )
devel/protobuf-c: Add devel/abseil to LIB_DEPENDS
The libabsl*.so libraries are direct dependencies, so add
devel/abseil to LIB_DEPENDS.
PR: 282012
Reported by: Tatsuki Makino <tatsuki_makino@hotmail.com>
Sponsored by: DomainTools LLC
devel/protobuf-c: Update to 1.4.1
- Use upstream release archive as recommended by Porters Handbook
USE_GITHUB section
- Do some minor rework of port to improve readability and some
minor cleanups
PR: 265191
Approved by: truckman (maintainer timeout, 6+ weeks)
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
devel: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* "Waitman Gobble" <uzimac@da3m0n8t3r.com>
* <jkoshy@FreeBSD.org>
* Aaron Dalton <aaron@FreeBSD.org>
* Aaron Dalton <aaron@daltons.ca>
* Aaron H. K. Diep <ahkdiep@gmail.com>
* Aaron Hurt <ahurt@anbcs.com>
* Abel Chow <abel_chow@yahoo.com>
* Adam McLaurin
* Adam Saponara <as@php.net>
* Adam Weinberger <adamw@FreeBSD.org>
* Ade Lovett <ade@FreeBSD.org>
(Only the first 15 lines of the commit message are shown above )
devel/protobuf-c: Upgrade to version 1.4.0:
[ Ilya Lipnitsky ]
* c_message.cc: Resolve name conflict between certain enums and oneofs
(#427).
* protobuf-c.h: Fix Windows DLL export issue with the
protobuf_c_empty_string symbol (#428).
* Standardize pkg-config for use by autotools and cmake, fix cmake tests
(#425).
* protobuf-c.c: Cast %lu args to unsigned long int (#429).
* protoc-c: Remove leading underscores from structs (#430).
* protoc-c: Fix shared lib build on windows, migrate from Travis CI to
GitHub Actions (#459).
* protobuf-c: Don't use ProtobufCWireType internally (#463).
* protoc-c: Add custom options support (#466).
(Only the first 15 lines of the commit message are shown above )
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Upgrade devel/protobuf-c to version 1.3.2:
[ Robert Edmonds ]
* Release 1.3.2.
* Use protobuf 3.7.1 in the Travis-CI environment (#368).
* Fix test suite build failure on newer versions of protobuf (#369).
[ Ilya Lipnitskiy ]
* Fix proto3 repeated scalar field default packing behavior (#330, #377).
[ Adam Cozzette ]
* Fix out-of-bounds read in scan_length_prefixed_data() (#375, #376).
(Only the first 15 lines of the commit message are shown above )
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Upgrade devel/protobuf-c to version 1.3.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).
(Only the first 15 lines of the commit message are shown above )
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Add compiler:c++11-lang to USES to unbreak protobuf-c build on Tier-2
FreeBSD architectures that use ancient gcc as their base compiler.
No PORTREVISION bump since there is no change on architectures where
protobuf-c already builds.
PR: 225662
Submitted by: devel@stasyan.com
Sponsored by: Farsight Security, Inc.
Upgrade protobuf-c to version 1.3.0:
[ Robert Edmonds ]
* Release 1.3.0.
* Add test case for the issue in #220 (#254).
* Fix issue #251, "Bad enums with multiple oneofs" (#256).
* Add warning flags to my_CFLAGS (#257).
* Fix namespace errors when compiled with latest protobuf (#280).
* Bump minimum required header version for proto3 syntax (#282).
(Only the first 15 lines of the commit message are shown above )
Upgrade protobuf-c to version 1.2.1:
protobuf-c (1.2.1)
[ Robert Edmonds ]
* Release 1.2.1.
[ Paolo Borelli ]
* protoc-c: Generate code that uses the universal zero initializer {0} when
initializing a oneof union (#187, #205).
PR: 206863
Submitted by: olgeni
Sponsored by: Farsight Security, Inc.
USE_GITHUB: For the new support, fix DISTNAME to be more consistent.
When using GH_TAGNAME the DISTNAME would have GH_PROJECT and GH_ACCOUNT in
it. When not using GH_TAGNAME it would not have this. Now both cases
will add in the GH_PROJECT and GH_ACCOUNT.
Add special care to ensure that the DISTVERSION is not added in twice. If
a port does GH_TAGNAME=v${PORTVERSION} it will be added in twice though. For
that case DISTVERSIONPREFIX=v should be set and no GH_TAGNAME should be used.
empty() is used rather than (!defined || !${}) to support fmake.
The purpose of setting DISTNAME at all in these cases is to make it more clear
that the distfile is from *GITHUB* and to avoid collisions if a project were
to be renamed or moved. Without adding in GH_PROJECT and GH_ACCOUNT then there
are real risks that collisions on filenames would happen on renamed or moved
projects, which is fairly common. A GITHUB-generated file may not match
a custom-rolled or git-archive-rolled distfile.
PR: 199069
With hat: portmgr
Testing done: All USE_GITHUB ports without GH_COMMIT were
checksum/fetch/extract/WRKSRC tested.
Convert to USE_GITHUB. This requires USES=autoreconf, but eliminates
the need for USES=pathfix as well as a patch.
Differential Revision: https://reviews.freebsd.org/D2234
Approved by: mat (mentor)
Sponsored by: Farsight Security, Inc.
Upgrade to version 1.1.0:
protobuf-c (1.1.0)
[ Robert Edmonds ]
* Release 1.1.0.
[ Ilya Lipnitskiy ]
* Fix a bug when merging optional byte fields.
* Documentation updates.
* Implement oneof support (Issue #174). Protobuf 2.6.0 or newer is now
required to build protobuf-c.
(Only the first 15 lines of the commit message are shown above )
- Update to 2.6.0
- Update MASTER_SITES
- Add my LOCAL to MASTER_SITES
- Use USE_CSTD
- Use MAKE_CMD
- Reformat pkg-descr
- Update WWW
- Take maintainership
- Bump PORTREVISION for devel/protobuf shlib change
Changes: https://code.google.com/p/protobuf/source/browse/trunk/CHANGES.txt
When linking a library libA with a library libB using libtool, if libB.la
exists, libtool will add all libraries libB.la refers to (dependency_libs
field) to the linker command line and store them in the dependency_libs
field of libA.la. So everything that subsequently links with libA will also
link to these extra libraries. This causes too much overlinking.
This commit modifies Mk/Uses/libtool.mk so it empties the dependency_libs
field in .la libraries during staging. However, because .la libraries have
very limited use when dependency_libs is empty it makes sense to completely
remove them during staging.
So with this commit USES=libtool is modified to remove .la libraries and a
new form (USES=libtool:keepla) is introduced in case they need to be kept
(dependency_libs is still emptied).
(Only the first 15 lines of the commit message are shown above )
- Add LDFLAGS to CONFIGURE_ENV and MAKE_ENV (as it was done with LDFLAGS)
- Fix all ports that add {CPP,LD}FLAGS to *_ENV to modify flags instead
PR: 157936
Submitted by: myself
Exp-runs by: pav
Approved by: pav
Add protobuf-c 0.15, this package provides a code generator and runtime
libraries to use Protocol Buffers from pure C (not C++).
PR: ports/157099
Submitted by: Aaron Hurt <ahurt at anbcs.com>