Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/LoopPerfect/buckaroo
The decentralized package manager for C++ and friends 🏝️
https://github.com/LoopPerfect/buckaroo
buck buckaroo c-plus-plus cpp package-manager reproducible-builds
Last synced: 26 days ago
JSON representation
The decentralized package manager for C++ and friends 🏝️
- Host: GitHub
- URL: https://github.com/LoopPerfect/buckaroo
- Owner: LoopPerfect
- License: mit
- Created: 2017-02-06T15:37:19.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T02:05:03.000Z (about 2 years ago)
- Last Synced: 2024-08-03T12:01:23.156Z (4 months ago)
- Topics: buck, buckaroo, c-plus-plus, cpp, package-manager, reproducible-builds
- Language: F#
- Homepage: https://buckaroo.pm
- Size: 2.87 MB
- Stars: 932
- Watchers: 20
- Forks: 33
- Open Issues: 62
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-code-for-gamedev - buckaroo
README
# Buckaroo
The decentralized package manager for C++ and friends.
[![](https://img.shields.io/travis/LoopPerfect/buckaroo/buckaroo-redux.svg)](https://travis-ci.org/LoopPerfect/buckaroo) [![](https://img.shields.io/appveyor/ci/njlr/buckaroo/buckaroo-redux.svg)](https://ci.appveyor.com/project/njlr/buckaroo)
[![](https://img.shields.io/badge/docs-wiki-blue.svg)](https://github.com/LoopPerfect/buckaroo/wiki)## Why Buckaroo?
Package managers like Yarn and Cargo have shown how productive developers can be when they can easily integrate a large ecosystem of projects. Buckaroo fills this gap for C++.
The Buckaroo workflow looks like this:
```bash=
# Create your project file
$ buckaroo init# Install dependencies
$ buckaroo add github.com/buckaroo-pm/boost-thread@branch=master# Run your code
$ buck run :my-app
```We have an [FAQ](https://github.com/LoopPerfect/buckaroo/wiki/FAQ).
### Package Registries
Pull dependencies directly from GitHub, BitBucket, GitLab, hosted Git and HTTP. [How?](https://github.com/LoopPerfect/buckaroo/wiki/Git-as-a-Package-Registry)
### IDE Integrations
Support for major IDEs and tools. Integration guides can be found in [the docs](https://github.com/LoopPerfect/buckaroo/wiki/).
### Features
C++ has unique requirements, so Buckaroo is a highly sophisticated piece of software.
* Pull dependencies directly from GitHub, BitBucket, GitLab, hosted Git and HTTP
* Fully reproducible builds and dependency resolution
* Completely decentralized - there is no central server or publishing process
* Allows any build configuration (even on a package-by-package basis)
* Private and public dependencies to avoid "dependency hell"
* Multiple libraries per package, so tools like Lerna are unnecessary
* Pull individual packages out of mono-repos
* Full support for semantic versioning (but only when you want it!)
* Live at head! Move fast by depending directly on Git branches, but in a controlled way
* Blazing fast resolution using clever heuristics
* Version equivalency checks to reduce dependency conflicts
* TOML configuration files for convenient editing by computers and humans
* Works offline (with a populated cache)
* Enable Upgrade Bot to keep everything up-to-date with a single click### Get Started
Please refer to [the Wiki](https://github.com/LoopPerfect/buckaroo/wiki) for [installation instructions](https://github.com/LoopPerfect/buckaroo/wiki/installation)! ✌️
#### Quick Install
Buckaroo is shipped as a self-contained executable, so all you need to do is download the bundle from the [releases page](https://github.com/LoopPerfect/buckaroo/releases).
##### Linux
```bash
$ wget https://github.com/LoopPerfect/buckaroo/releases/download/v2.2.0/buckaroo-linux -O buckaroo
$ chmod +x ./buckaroo
$ ./buckaroo
```##### macOS
With Homebrew:
```bash
$ brew install loopperfect/lp/buckaroo
```Or without Homebrew:
```bash
$ wget https://github.com/LoopPerfect/buckaroo/releases/download/v2.2.0/buckaroo-macos -O buckaroo
$ chmod +x ./buckaroo
$ ./buckaroo
```##### Windows
You can use the [Chocolatey package](https://chocolatey.org/packages/buckaroo):
```bash
choco install buckaroo
```Or, download [buckaroo.exe](https://github.com/LoopPerfect/buckaroo/releases/download/v2.0.3/buckaroo-windows.exe) from the [releases page](https://github.com/LoopPerfect/buckaroo/releases/v2.2.0).
### How Buckaroo Works
The Buckaroo model is very simple. Packages live in source-control, and a manifest file is used to describe dependencies. This points to further manifests to create a dependency graph. Buckaroo works directly over Git and HTTP.
Head over to [the Wiki](https://github.com/LoopPerfect/buckaroo/wiki) for more detailed information.
## Attribution
SVG graphics in diagrams are made by [Freepik](http://www.freepik.com/) from [www.flaticon.com](https://www.flaticon.com/) and are licensed by [Creative Commons BY 3.0](http://creativecommons.org/licenses/by/3.0/).