Page MenuHomePhabricator

Deploy Lilypond 2.24 with cairo support to shellbox containers
Open, MediumPublic

Description

Could serviceops please update the LilyPond binary accessible to MediaWiki?

To unblock the parent task, we need either a Debian package for LilyPond 2.24 patched to include Cairo support, or a container with the upstream tarball.

LilyPond currently runs on the shellbox cluster, it doesn't have its own special cluster.

Event Timeline

In the task description, @Jonathanischoice wrote:

We need either option 1 or 3 from this comment on T49578 to be done to enable SVG output for the Score extension. Option 2 (backport Lilypond 2.24 to Buster) is no longer tenable since Buster is now in ELTS per comment from PuckNZ.

I strongly recommend option 3 (use upstream release tarball) which can be done easily on an existing Buster shellbox, without having to build Lilypond or a new Bookworm shellbox (although, this option will also work on a rebuilt Bookworm or Trixie shellbox). Upstream Lilypond now do compiled tarball releases, and installation is described in the Score extension README. This involves downloading and extracting the (presumably x86_64) tarball from the upstream 2.24.4 release page into /usr/local/lilypond (or wherever makes sense) and symlinking Lilypond's binaries into /usr/local/bin and/or configuring the two Score extension variables $wgScoreLilyPond and $wgScoreAbc2Ly to point to the binaries as appropriate.

I do not recommend option 1 (rebuild the Lilypond shellbox with Bookworm and use the Debian packages) because the Bookworm Debian packages of Lilypond 2.24 are still broken (missing libcairo build flag). Using these packages with the Score extension configured for SVG output results in an error caused by Lilypond exiting with:
fatal error: compiled without CAIRO_BACKEND
Fixed Lilypond 2.24 packages for Bookworm might possibly appear in backports one day, but I really don't think we should wait around for who knows how long, given the total lack of communication on the relevant Debian bug from the package maintainer.

I removed this text because it's really up to the implementer to decide what is easiest. I know serviceops have a lot of experience and tooling to apply patches to Debian packages and to keep those packages up to date after the patch has been applied. For the purposes of the parent task, we don't need it to be easy, we just need it to be done.

@Jonathanischoice, is it a hard requirement to use 2.24 or is 2.25 also acceptable?

Well 2.24 is the current stable releases, and 2.25 is the dev stream. I'm not sure if it's a good idea to use 2.25 until there's at least an RC, or a 2.26 stable release? Sorry, I'm not familiar enough with what the 2.25 new features are, or breaking changes (if any).

Well 2.24 is the current stable releases, and 2.25 is the dev stream. I'm not sure if it's a good idea to use 2.25 until there's at least an RC, or a 2.26 stable release? Sorry, I'm not familiar enough with what the 2.25 new features are, or breaking changes (if any).

Right, sorry, I forgot that they were using odd/even version numbers.

Matrix raised the priority of this task from Low to Medium.Jun 17 2025, 11:07 AM
Matrix subscribed.

Changing to medium; likely T371176 and making Score more usable in dark mode depend on this task.

Thank you - improving PDF output on T181322 also depends on this.

What is the status of using Lilypond 2.24 on Debian Bookworm? I upgraded my system and now MW with Score based on Lylpond doesnt work. I cant use a shellbox and dont know how to solve this. Any Ideas? Thx

@TasteOfIT: Please see T401184#11060340 and bring this up in a support forum as our issue tracker is not meant for support requests for third-party installations ("I cant use a shellbox and dont know how to solve this."). Thanks for your understanding.

@akosiaris Do you have any suggestions for getting this task un-stuck?

@akosiaris Do you have any suggestions for getting this task un-stuck?

It needs to be scheduled by the team. I 'll bring it to the attention of their manager.

What is the status of using Lilypond 2.24 on Debian Bookworm? I upgraded my system and now MW with Score based on Lylpond doesnt work. I cant use a shellbox and dont know how to solve this. Any Ideas? Thx

For the non-WMF use case this can be solved by moving to Debian Trixie: https://tracker.debian.org/news/1550057/accepted-lilypond-2244-1-source-into-unstable/ enabled it in Debian unstable in July 2024, so this the Cairo backend is enabled in the Lilypond releasse in Debian Trixie.