Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/reznikmm/protobuf
The Google Protocol Buffers implementation in Ada
https://github.com/reznikmm/protobuf
ada compiler protobuf
Last synced: 3 months ago
JSON representation
The Google Protocol Buffers implementation in Ada
- Host: GitHub
- URL: https://github.com/reznikmm/protobuf
- Owner: reznikmm
- License: mit
- Created: 2020-04-19T06:48:37.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-17T16:42:28.000Z (almost 2 years ago)
- Last Synced: 2024-07-31T20:42:40.894Z (6 months ago)
- Topics: ada, compiler, protobuf
- Language: Ada
- Homepage:
- Size: 379 KB
- Stars: 30
- Watchers: 6
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-ada - protobuf - A Google Protocol Buffers implementation in Ada, using [matreshka]. (Libraries / Format Readers, Writers and Checkers)
README
# protobuf
[![Build Status](https://github.com/reznikmm/protobuf/workflows/Build/badge.svg)](https://github.com/reznikmm/protobuf/actions)
[![Copr build status](https://copr.fedorainfracloud.org/coprs/reznik/ada/package/ada-protobuf/status_image/last_build.png)](https://copr.fedorainfracloud.org/coprs/reznik/ada)> A Google Protocol Buffers implementation in Ada
## Install
The preferred installation method is compiling from sources. Just checkout repository and run:
```
make all install PREFIX=/path/to/install
```You can also build with [Alire](https://alire.ada.dev/):
alr build
If you distribute a crate that doesn't require Protobuf compiler then
you may depend just on `protobuf_runtime`. The corresponding `alire.toml`
is located in `packages/protobuf_runtime` directory.There is also [a precompiled RPM for Fedora Linux](https://copr.fedorainfracloud.org/coprs/reznik/ada/).
### Dependencies
It depends on
* [matreshka](https://github.com/godunko/matreshka) - the Matreshka framework.
* [ada_pretty](https://github.com/reznikmm/ada-pretty) - an Ada pretty printing library.
* [protoc](https://github.com/protocolbuffers/protobuf) - the protobuf compiler.## Usage
Launch `protoc` with `--ada_out=` option having `protoc-gen-ada` in
the `PATH`.Example:
```
PATH=.objs/compiler/:$PATH protoc --ada_out=/tmp/ /usr/include/google/protobuf/descriptor.proto
```See more details in [Ada Generated Code](docs/generated_code.md) document.
## Maintainer
[@MaximReznik](https://github.com/reznikmm).
## Contribute
Feel free to dive in!
[Open an issue](https://github.com/reznikmm/protobuf/issues/new)
or submit PRs.## Support
If you find this open source project useful, you may provide me a small support
on [Patreon](https://www.patreon.com/ada_ru).## License
[MIT](LICENSE) © Maxim Reznik