Any kind of contribution is welcome, but will require a GitHub account (GitHub is pretty awesome though). If you're unfamiliar with git version control, I suggest you spend a few minutes with this tutorial. The basic workflow is:
- make contribution locally
brew edit <package>
orbrew create http://example.com/<package>-0.1.0.tar.gz
- test, e.g.
brew install <package>
,brew test <package>
- conforms to style?
brew audit <package>
- fork homebrew-hep
cp /usr/local/Library/Formula/<package>.rb /path/to/your/repo
git commit <package>.rb && git push
- open pull request
The Homebrew files which control the package installations are written in Ruby. I realise that this is a language unfamiliar to most high energy physicists, so I am willing to help people to add new packages. If you are struggling with a contribution or have a package request, please open an issue to discuss.
This might be as simple as updating the url
and sha256
variables, but check the dependencies haven't changed and it still builds.
You can add a new dependency with depends_on
, and then usually pass the location to the configure
script (see the Herwig formula for an example). You can also add other options with option
. Again, it's a good idea to browse existing formulae for ideas, and even search through the main Homebrew repository.
- The
brew create http://example.com/foo-0.1.0.tar.gz
command will download the source tarball and create a template formula for you in the Homebrew repository:/usr/local/Library/Formula/foo.rb
. - You will need to edit the formula:
brew edit foo
. Homebrew maintains a guide on writing formulae. It might also be a good idea to browse other HEP formulae or the main Homebrew repository.