10 stable releases

2.1.0+27.1 Jul 22, 2024
2.0.1+26.1 May 23, 2024
1.1.0+21.5 Sep 2, 2022
1.0.5+3.19.3 Jan 28, 2022
0.1.0+3.19.1 Dec 22, 2021

#148 in Encoding

Download history 36949/week @ 2024-08-04 35594/week @ 2024-08-11 32816/week @ 2024-08-18 33698/week @ 2024-08-25 30176/week @ 2024-09-01 29812/week @ 2024-09-08 20152/week @ 2024-09-15 26587/week @ 2024-09-22 25913/week @ 2024-09-29 28296/week @ 2024-10-06 31785/week @ 2024-10-13 31641/week @ 2024-10-20 37135/week @ 2024-10-27 33925/week @ 2024-11-03 35360/week @ 2024-11-10 29449/week @ 2024-11-17

137,490 downloads per month
Used in 126 crates (31 directly)

Apache-2.0

37MB
787K SLoC

C++ 321K SLoC // 0.1% comments C# 150K SLoC // 0.1% comments Java 86K SLoC // 0.2% comments C 64K SLoC // 0.1% comments Objective-C 52K SLoC // 0.1% comments Bazel 29K SLoC // 0.1% comments Python 24K SLoC // 0.3% comments Bitbake 22K SLoC // 0.0% comments PHP 17K SLoC // 0.3% comments Ruby 7K SLoC // 0.1% comments Rust 6.5K SLoC // 0.1% comments Kotlin 2.5K SLoC // 0.1% comments Shell 2K SLoC // 0.2% comments Lua 1.5K SLoC // 0.1% comments Swift 351 SLoC // 0.1% comments Go 308 SLoC // 0.1% comments Dart 183 SLoC // 0.0% comments Batch 159 SLoC // 0.3% comments Emacs Lisp 86 SLoC // 0.5% comments Vim Script 72 SLoC // 0.2% comments Visual Studio Solution 54 SLoC AWK 34 SLoC // 0.1% comments Objective-C++ 16 SLoC // 0.6% comments PowerShell 9 SLoC // 0.4% comments M4 8 SLoC NuGet Config 7 SLoC

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 = "2.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