See adding a package.
You should verify that the LLVM 4.0 based requirements pass. To fix the clang-tidy requirements:
cmake -DGOOFIT_TIDY_FIX=ON ..
make -j1
To run clang-format
to correct source code spacing:
./scripts/check_style.sh
GooFit is hosted as a git repository on GitHub.
If you know git and GitHub, contributing to GooFit is easy: fork and make pull requests. Use the git help and GitHub help pages or Google if you don't remember how to do something or get an error.
If you want to make a small change you can use the GitHub to edit or create files on the GitHub web page as described here. The advantage is that you don't need to know git and it's quick, the disadvantage is that you can't test your changes on your local computer, so this is not useful to code on GooFit. The built in Travis CI tests do not check CUDA code, so it is recomended that you test your code with CUDA locally as well if you are making changes to computations in GooFit.
There are many great git and github tutorials out there, e.g.:
Git is very flexible and allows different workflows, we use the one used by most scientific open-source projects as described in detail e.g. by the astropy project.
There's no point in repeating all that info specifically for GooFit here, we do hope the references above are enough to make it easy for you to learn how to contribute.
If you don't have time to learn about git and pull requests, we still do want your contribution to GooFit. In that case please make an issue on GitHub and link to your updated files or patches e.g. in gists. Note that this way you won't get credit for you contribution though in the commit history, so we prefer you make a GitHub pull request or ask for help in a GitHub issue on where you got stuck (fork -> clone -> branch -> edit -> commit -> push -> pull request) with making the pull request.
Please use Issues for suggestions, ask us questions on Gitter, and make Pull Requests when you are ready to contribute! Please also let us know if you have an interesting analysis in GooFit so we can link to it or mention it on our public page.