LoopPerfect / buckaroo-wishlist

Meta repo for Buckaroo package requests ✨
https://buckaroo.pm
MIT License
9 stars 0 forks source link

ar90n/msgpack11 #53

Closed njlr closed 7 years ago

njlr commented 7 years ago

ar90n/msgpack11

ar90n commented 7 years ago

If you don't mind, I want to modify the original repository for supporting Buckaroo or create pull requests for njls's repository. Is it ok?

njlr commented 7 years ago

Hi @ar90n!

To modify the original repo, all you have to do is add a BUCK file with these restrictions:

We don't currently support direct dependencies - all Buckaroo recipes must be inside a cook-book.

There is no guide on adding recipes to a cook-book yet, but I can walk you through the process here.

Buckaroo has a list of "cook-books" defined in your user folder (vim ~/.buckaroo/config.json). The official cook-book will be checked-out at ~/.buckaroo/buckaroo-recipes/. You can change any of these recipe files to tweak what Buckaroo will install.

The process is not very user-friendly yet, but it will be improved in the next version.

How to Add a Recipe to the Official Cook-book

  1. Add a BUCK file to you project's repo. It must meet the following requirements:
    • The BUCK file should be at the root of the project folder
    • It must contain a target with the same name as the recipe name (e.g. name = 'msgpack11').
    • It must have PUBLIC visibility
    • Here is an example https://github.com/ericniebler/range-v3
  2. Create a fork of the official cook-book on GitHub
  3. Checkout the fork at ~/.buckaroo/buckaroo-recipes/. You can delete the existing one; Buckaroo can recover it later
  4. Add a JSON file for the organization/owner of the library. e.g. ~/.buckaroo/buckaroo-recipes/recipes/ar90n.json. You can look at the other organization files as a reference, but here is a minimal one:
    {
    "name": "ar90n"
    }
  5. Create a folder with the same name as the organization. e.g. ~/.buckaroo/buckaroo-recipes/recipes/ar90n
  6. Create a recipe JSON file in that folder. It is easiest to copy-paste an existing recipe. The recipe file schema is documented.
  7. Create a test project to check everything is wired-up correctly. Here is an example of a test project: https://github.com/njlr/buckaroo-test-martinmoene-byte-lite
  8. The test will probably fail because of the sha256 hash-checks. The error message will give you the correct value that you can paste into the recipe file.
  9. Once the test works, commit you changes to the cook-book and make a PR on GitHub.

Sorry that it's currently so convoluted. Improving this is next on our TODO list. Please comment here if you run into any issues.