3.2.3 Other repositories

We have a few other code repositories.


There is a separate repository for general administrative scripts, as well as pictures and media files for the website. People interested in working on the website should download this repository, and set their $LILYPOND_WEB_MEDIA_GIT environment variable to point to that repository.


To configure an environment variable in bash (the default for most GNU/Linux distributions),

export LILYPOND_WEB_MEDIA_GIT=$HOME/dir/of/lilypond-extra/

Be aware that lilypond-extra is the definitive source for some binary files - in particular PDF versions of papers concerning LilyPond. To add further PDFs of this sort, all that is necessary is to add the PDF to lilypond-extra and then add a reference to it in the documentation. The file will then be copied to the website when make website is run.

However, pictures that are also used in the documentation build are mastered in the main git repository. If any of these is changed, it should be updated in git, and then the updates copied to lilypond-extra.

Grand Unified Builder (GUB)

Another item of interest might be the Grand Unified Builder, our cross-platform building tool. Since it is used by other projects as well, it is not stored in our gub repository. For more info, see http://lilypond.org/gub.

There are two locations for this repository: the version being used to build lilypond, which is at


and the original version by Jan Nieuwenhuizen, kept at



Our binary releases on MacOS X and Windows contain a lightweight text editor.

To make any modifications the Windows editor, you will need to do the following:

  1. Clone the git repository from https://github.com/gperciva/lilypad
  2. Make changes to the source, and check it compiles. In a Windows environment MinGW provides both a Git installation and a gcc compiler. This can be obtained from http://www.mingw.org/
  3. Update the version which is contained in the ‘rsrc.rc’. Check this compiles, too.
  4. Commit the changes with an informative commit message.
  5. Push the changes to github. You will need to use syntax similiar to this:
    git push https://UserName@github.com/gperciva/lilypad.git

    You will need to have push access to the git repository for this to be successful.

  6. Make a tarball of the source code to be used by GUB by pulling the updated repository from GitHub. Ensure that the tarball has the correct Version number.
  7. Copy the tarball to http://lilypond.org/download/gub-sources/lilypad/. You will need to have SSH access to lilypond.org. If you do not, contact the Release Manager via the lilypond-devel mailing list.
  8. Update GUB to make it use the new tarball by editing ‘gub/specs/lilypad.py’ and changing the source = line to point to the new source.
  9. Push this updated ‘lilypad.py’ version to the GUB repository on GitHub.
  10. Test the changes with a new GUB compile.

yet more repositories

There are a few other repositories floating around, which will hopefully be documented in the near future.

LilyPond — Contributor’s Guide v2.19.15 (development-branch).