GSoC/GCI Archive
Google Code-in 2014 Haiku

Port Substrate screensaver to Haiku

completed by: Josef Gajdusek

mentors: Adrien Destugues - PulkoMandy

For this task you will need to figure out how to convert the screensavers over to Haiku such that they work on Haiku.  There are Haiku screensaver that you can study the source code for and perhaps use as a guide for convery these over.  Once you figure out one, the rest will probably be easy.

The substrate screensaver generates nicely looking 2D patterns on screen. It is available as an XScreensaver module, but Haiku uses screen_blanker, which is similar, but not compatible. Port the module from XScreenSaver to screen_blanker API and get it to run on Haiku.


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.

For this task, you have to create 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).