GSoC/GCI Archive
Google Code-in 2014 Haiku

Update the recipe for camlp5

completed by: Nav

mentors: mmu_man, Sergei Reznikov, Kacper Kasper, Adrien Destugues - PulkoMandy, humdinger

Haikuporter is our tool to fetch, patch and build source code and create Haiku packages that can then be put into a repository to be installed by the user via HaikuDepot.

When updating Haikuporter to support PackageManagement the old .bep files were renamed to .recipe but many are still missing a few required fields such as SUMMARY, ARCHITECTURES, SECONDARY_ARCHITECTURES, PROVIDES, REQUIRES, LICENSE, COPYRIGHT, etc.

For this task, you have to update an old .bep file to a haikuporter recipe, which is a kind of script that automates this process. Depending on the targeted software you may need these skills:

  • Some knowledge of C, C++, git and bash
  • Knowledge of the GNU autotools and/or cmake
  • The package may require some patching to get it to work on Haiku

Before submitting your work, make sure to test your recipe by creating a hpkg package from it with haikuporter. Haiku's Expander app can open hpkg files to inspect their contents.

Take care to include all required licenses and copyright entries.


For this task you need to have

  • Haiku installed; get a nightly image and see the Haiku Guides for more information on using Haiku. There's also a Userguide and Welcome page on your Desktop when you boot Haiku.
  • Haikuporter installed and the haikuports bitbucket cloned, see the "Getting started" wiki page.
  • Studied the haikuporter wiki.
  • Submit your work as pull request to haikuports bitbucket (see "DevelopmentModel" in the wiki).


While there is a slight learning curve to writing recipes, other GCI recipe tasks will become easier and easier the more you complete successfully.
In addition to the wiki, studying working recipes in the haikuports tree can be a big help. Besides requesting assistance by leaving a comment in this task, a trip to the main IRC channel #haiku may prove to be quicker (consider possible timezone differences with your mentors).


The target of this task is camlp5, haikuports/dev-lang/camlp5.