8 releases (stable)

1.1.0+21.5 Sep 2, 2022
1.0.5+3.19.3 Jan 28, 2022
1.0.1+3.19.1 Dec 23, 2021
0.1.0+3.19.1 Dec 22, 2021

#108 in Network programming

Download history 36435/week @ 2023-12-14 29645/week @ 2023-12-21 25407/week @ 2023-12-28 44377/week @ 2024-01-04 42677/week @ 2024-01-11 50737/week @ 2024-01-18 43335/week @ 2024-01-25 42781/week @ 2024-02-01 36217/week @ 2024-02-08 35956/week @ 2024-02-15 41056/week @ 2024-02-22 38815/week @ 2024-02-29 36147/week @ 2024-03-07 39251/week @ 2024-03-14 38661/week @ 2024-03-21 34240/week @ 2024-03-28

155,025 downloads per month
Used in 116 crates (27 directly)

Apache-2.0

14MB
287K SLoC

C++ 209K SLoC // 0.1% comments Shell 25K SLoC // 0.2% comments M4 25K SLoC // 0.2% comments Bitbake 12K SLoC // 0.0% comments Python 5K SLoC // 0.4% comments Automake 3.5K SLoC // 0.1% comments Bazel 2.5K SLoC // 0.1% comments Visual Studio Project 2.5K SLoC Java 742 SLoC // 0.1% comments Go 308 SLoC // 0.1% comments Ruby 283 SLoC // 0.1% comments Visual Studio Solution 188 SLoC Objective-C 178 SLoC // 0.3% comments PHP 104 SLoC Dart 90 SLoC // 0.1% comments Emacs Lisp 87 SLoC // 0.5% comments Vim Script 72 SLoC // 0.2% comments Xcode Config 33 SLoC // 0.7% comments Rust 27 SLoC // 0.5% comments

Contains (autotools obfuscated code, 770KB) protobuf/configure, (autotools obfuscated code, 625KB) configure, (autotools obfuscated code, 620KB) configure, (autotools obfuscated code, 115KB) configure, (obscure autoconf code, 9KB) protobuf/configure.ac, (obscure autoconf code, 1KB) configure.ac and 2 more.

protobuf-src

crates.io CI Rust Documentation

Rust build system integration with libprotobuf, the C++ implementation of Protocol Buffers, Google's data interchange format.

View documentation.

Installation

# Cargo.toml
[dependencies]
protobuf-src = "1.1.0"

lib.rs:

Build system integration with libprotobuf, the C++ implementation of Protocol Buffers, Google's data interchange format.

Maintainership

This crate is maintained by Materialize. Contributions are encouraged:

Details

This crate builds a vendored copy of libprotobuf and protoc using Cargo's support for custom build scripts. It is not intended for direct consumption, but as a dependency for other crates that need libprotobuf or protoc available, like prost-build.

protobuf-src is currently bundling protobuf v3.19.1.

To use this crate, declare a dependency or dev-dependency on protobuf-src. Then, in the build script for your crate, the environment variable DEP_PROTOBUF_SRC_ROOT will point to the directory in which the bundled copy of protobuf has been installed. You can build and link another C/C++ library against this copy of libprotobuf or generate Rust bindings and link Rust code against this copy of libprotobuf.

If you simply need to invoke the vendored protoc binary, protoc returns the path to pass to std::process::Command.

Dependencies