Bug 192175 - [patch] upgrade devel/protobuf-c to version 1.0.0
Summary: [patch] upgrade devel/protobuf-c to version 1.0.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: William Grzybowski
URL:
Keywords:
Depends on:
Blocks: 192177 192695
  Show dependency treegraph
 
Reported: 2014-07-27 19:06 UTC by Don Lewis
Modified: 2014-08-16 21:14 UTC (History)
3 users (show)

See Also:


Attachments
patch to upgrade devel/protobuf-c from 0.15 to 1.0.0 (6.99 KB, patch)
2014-07-27 19:06 UTC, Don Lewis
no flags Details | Diff
patch to upgrade devel/protobuf-c from 0.15 to 1.0.1 (6.68 KB, patch)
2014-08-15 08:33 UTC, Don Lewis
no flags Details | Diff
patch to upgrade devel/protobuf-c from 0.15 to 1.0.1 and change MAINTAINER (6.71 KB, patch)
2014-08-15 09:23 UTC, Don Lewis
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Don Lewis freebsd_committer freebsd_triage 2014-07-27 19:06:37 UTC
Created attachment 145048 [details]
patch to upgrade devel/protobuf-c from 0.15 to 1.0.0

protobuf-c version 1.0.0 has been released.  It now has a new MASTER_SITE as well.

Define LICENSE.

Add the DOCS option to the port.

Fix some portlint complaints.


The PORTREVISION of:
     converters/osm2pgsql
     net-mgmt/collectd5
     polish/libgadu


This upgrade breaks audio/umurmur.
Comment 1 John Marino freebsd_committer freebsd_triage 2014-07-27 21:45:07 UTC
notifying maintainer for approval
Comment 2 Aaron Hurt 2014-07-27 23:00:49 UTC
Approved.  Don Lewis has also volunteered to takeover maintainership of this port as he as a close relationship to one of the upstream authors.
Comment 3 William Grzybowski freebsd_committer freebsd_triage 2014-07-28 18:36:49 UTC
I don't think its reasonable to update this at the expense of breaking another port.

ayu@commun.jp do you think we could get umurmur working with protobuf 1.0.0?
Comment 4 Don Lewis freebsd_committer freebsd_triage 2014-07-28 19:02:06 UTC
(In reply to William Grzybowski from comment #3)
> I don't think its reasonable to update this at the expense of breaking
> another port.
> 
> ayu@commun.jp do you think we could get umurmur working with protobuf 1.0.0?

I preemptively files a PR with a couple of potential patches for umurmur:
<https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192177>
Comment 5 Don Lewis freebsd_committer freebsd_triage 2014-07-28 19:06:53 UTC
Also, a note should be added to ports/UPDATING about the shared library version bump.  The PORTREVISION bumps for the dependent ports should help with that.

In theory, both versions of protobuf-c could coexist, but I think that's overly complicated.
Comment 6 Don Lewis freebsd_committer freebsd_triage 2014-08-15 08:25:22 UTC
I just submitted a patch to upgrade the audio/umurmur port to version 0.2.15, which is the latest upstream version.  It requires protobuf-c version 1.0.x.  See PR 192177.
Comment 7 Don Lewis freebsd_committer freebsd_triage 2014-08-15 08:33:29 UTC
Created attachment 145805 [details]
patch to upgrade devel/protobuf-c from 0.15 to 1.0.1

The protobuf-c upstream has released version 1.0.1.

ChangeLog:

protobuf-c (1.0.1)

  [ Robert Edmonds ]
  * Explicitly set the .data field of ProtobufCBinaryData's to NULL when
    unpacking a zero length byte string (Issue #157).

protobuf-c (1.0.0)

  [ Andrei Nigmatulin ]
  * Append "u", "ull", and "ll" integer literal suffixes for uint32, uint64,
    and int64 default values in generated code, in order to avoid "integer
    constant is so large that it is unsigned" compiler warnings.
    (Issue #136.)

  * Revert the problematic hash-based required field detection.
    (Related to Issue #60, #79, #137.)

  * Replace the 'packed' member of ProtobufCFieldDescriptor with a 'flags'
    word. Define flags for packed and deprecated fields. (Issue #138.)

  [ Dave Benson ]
  * Treat a "length-prefixed" wire-type message for a repeated field as
    packed-repeated whenever it makes sense (for all types other than
    messages, strings, and bytes).

  * Switch to New BSD license.

  * Add protobuf_c_message_check().

  * Compile error in packing 64-bit versions on some platforms
    (srobbins99: Issue #68 Comment 1).

  * Fix for memory error if the required-field check fails. See Issue #63
    for demo (w/ nice test case by dror.harari).

  * Add PROTOBUF_C_{MAJOR,MINOR} for compile-time checks and
    protobuf_c_{major,minor} for checks about the running library
    (Issue #53).

  * Use a small constant-size hash-table instead of alloca() for detecting
    required fields, and it also prevents us from using too much stack, etc.
    (Related to Issue #60, #79).

  * Add a macro to ensure enums are the size of ints (Issue #69).

  [ Ilya Lipnitskiy ]
  * Travis-CI integration.

  * Add source .proto filename to generated files.

  * Add protobuf-c version to protoc-c --version output (Issue #52).

  * For embedded submessage fields, merge multiple instances of the same
    field, per the protobuf documentation (Issue #91).

  * Don't print unpack errors by default.

  * Optionally allow running the test suite under valgrind with ./configure
    --enable-valgrind-tests. (Based on valgrind-tests.m4 from gnulib.)

  [ Kevin Lyda ]
  * Autoconf portability fixes.

  * Add doxygen detection and make targets to the build system.

  * Doxygen documentation for the libprotobuf-c public API (Issue #132).

  [ Nick Galbreath ]
  * Prevent possible overflow on 64-bit systems (Issue #106).

  [ Robert Edmonds ]
  * Remove CMake (Issue #87).

  * Modernize the build system.
    - Don't generate any diagnostics when building the build system with
      modern autotools (Issue #89).

    - Use the PKG_CHECK_MODULES macro to locate protobuf.

    - Use the AC_C_BIGENDIAN macro to detect endianness, rather than custom
      code.

    - Use the automake silent-rules option so the build output is actually
      readable.

    - Generate our own pkg-config .pc files.

  * Reorganize the source tree. This affects the public protobuf-c header
    path, which is now <protobuf-c/protobuf-c.h>. A compatibility symlink from
    <google/protobuf-c/> to <protobuf-c/> has been installed so that existing
    code will continue to compile. New code should at some point begin using
    the new include path, i.e., "#include <protobuf-c/protobuf-c.h>" rather
    than "#include <google/protobuf-c/protobuf-c.h>".

  * The RPC code has been split out into a separate project, protobuf-c-rpc.

  * Fix a potential use of an unitialized value in protobuf_c_message_unpack()
    and several memory leaks in protoc-c, discovered by a commercial static code
    analysis tool.

  * Bump the libprotobuf-c SONAME.

  * Begin versioning the library's symbols. (Based on ld-version-script.m4
    from gnulib.)

  * Preserve case in enum value names generated by protoc-c (Issue #129).
    Reported by Oleg Efimov.

  * Add library functions protobuf_c_version() and protobuf_c_version_string()
    for retrieving the version of the compiled library, and header macros
    PROTOBUF_C_VERSION and PROTOBUF_C_VERSION_STRING for retrieving the
    version of the header file. This replaces the interfaces for retrieving
    the protobuf-c version numbers in Issue #53.

  * Add a version guard that ensures that the output of protoc-c is only
    compiled against a protobuf-c header file from the exact same protobuf-c
    release.

  * Add a --enable-code-coverage option to configure, which enables a
    "make check-code-coverage" build target. This generates a code coverage
    report and requires the lcov tool to be installed.

  * Remove the old DocBook documentation in doc/c-code-generator.{html,xml}.
    Relevant material has been updated and incorporated into the Doxygen
    documentation in the protobuf-c header file.

  * Remove the protobuf_c_default_allocator and protobuf_c_system_allocator
    global variables from the exported library interface. All exported library
    functions that need to perform dynamic memory allocation receive a
    user-provided ProtobufCAllocator* parameter. If this parameter is NULL,
    the system's default memory allocator will be used.

    Client code that previously passed "&protobuf_c_system_allocator" to
    protobuf-c library functions taking a ProtobufCAllocator* argument should
    be updated to pass "NULL" instead.

    Client code that previously overrode protobuf_c_default_allocator with
    custom allocation functions and passed NULL as the ProtobufCAllocator*
    argument to protobuf-c library functions should be updated to instead
    enclose the custom allocation functions in a ProtobufCAllocator struct and
    pass this object to protobuf-c library functions taking a
    ProtobufCAllocator* parameter.

  * Update copyright and license statements throughout. The original
    protobuf code released by Google was relicensed from Apache-2.0 to
    BSD-3-Clause. Dave Benson also converted his license from BSD-3-Clause
    to BSD-2-Clause.

  [ Tomasz Wasilczyk ]
  * Don't export protobuf_c_message_init_generic() as an external symbol.

  * Don't use C++ style comments in C code.

  * Fix -Wcast-align warnings when compiled with clang.
Comment 8 Don Lewis freebsd_committer freebsd_triage 2014-08-15 09:23:49 UTC
Created attachment 145807 [details]
patch to upgrade devel/protobuf-c from 0.15 to 1.0.1 and change MAINTAINER

In the last patch I neglected to change MAINTAINER to myself as per comment #2.
Comment 9 commit-hook freebsd_committer freebsd_triage 2014-08-16 21:04:58 UTC
A commit references this bug:

Author: wg
Date: Sat Aug 16 21:04:54 UTC 2014
New revision: 365134
URL: http://svnweb.freebsd.org/changeset/ports/365134

Log:
  devel/protobuf-c: update to 1.0.1

  - Bump port revision due to shlib change
  - Add DOCS option
  - Pass maintainership to submitter

  PR:		192175
  Submitted by:	truckman
  Approved by:	maintainer

Changes:
  head/converters/osm2pgsql/Makefile
  head/devel/protobuf-c/Makefile
  head/devel/protobuf-c/distinfo
  head/devel/protobuf-c/pkg-descr
  head/devel/protobuf-c/pkg-plist
  head/net-mgmt/collectd5/Makefile
  head/polish/libgadu/Makefile