Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 538592 - media-sound/lilypond - add guile2 support
Summary: media-sound/lilypond - add guile2 support
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Karl Lindén
: 590534 (view as bug list)
Depends on:
Blocks: 587252 guile-2-porting 355355
  Show dependency tree
Reported: 2015-02-02 22:14 UTC by Arne Babenhauserheide
Modified: 2017-05-13 12:02 UTC (History)
11 users (show)

See Also:
Package list:
Runtime testing required: ---

metadata.xml (metadata.xml,603 bytes, text/xml)
2015-03-12 15:11 UTC, Arne Babenhauserheide
lilypond-2.19.15-guile2.patch (lilypond-2.19.15-guile2.patch,334 bytes, patch)
2015-03-12 15:29 UTC, Arne Babenhauserheide
Details | Diff
lilypond-2.19.15-r1.ebuild (lilypond-2.19.15-r1.ebuild,3.19 KB, text/plain)
2015-03-12 15:31 UTC, Arne Babenhauserheide
lilypond-9999.ebuild (lilypond-9999.ebuild,3.10 KB, text/plain)
2015-03-12 15:32 UTC, Arne Babenhauserheide

Note You need to log in before you can comment on or make changes to this bug.
Description Arne Babenhauserheide 2015-02-02 22:14:59 UTC
Lilypond upstream already provides experimental support for using lilypond with Guile 2.0.x, but the lilypond ebuild does not expose the --enable-guile2 flag, yet.

An ebuild could expose this flag via the USE flag guile2. Is this the right way to expose it? Should we instead make this conditional on eselect-guile or similar?

Reproducible: Always
Comment 1 Panagiotis Christopoulos (RETIRED) gentoo-dev 2015-02-13 19:54:27 UTC
Slotting guile is not an easy task, fulax tried it some years ago but there were issues. The best thing would be fixing all guile's reverse deps and have a happy guile-2 in the tree. Everything else would be an overkill.
Comment 2 Arne Babenhauserheide 2015-02-17 19:12:41 UTC
I don’t mean going the full way towards slotting guile, but rather just exposing the guile2 configure option, so those of us who use an unmasked guile-2.0.x can use lilypond.
Comment 3 Arne Babenhauserheide 2015-03-12 15:11:25 UTC
Created attachment 398742 [details]

the attached metadata.xml adds the guile2 USE flag.
Comment 4 Arne Babenhauserheide 2015-03-12 15:29:40 UTC
Created attachment 398744 [details, diff]

The attached patch (intended for the files-dir) adapts to check for guile < 2.3.0 instead of guile 1.9.0. As such guile 2.0.x and 2.1.x are treated as valid executors for guile scripts.
Comment 5 Arne Babenhauserheide 2015-03-12 15:31:27 UTC
Created attachment 398746 [details]

The attached ebuild for lilypond 2.9.15 makes lilypond build with Guile 2.0, but minimal examples like the ones on still fail: They produce an empty postscript file (with the correct number of pages but no content).
Comment 6 Arne Babenhauserheide 2015-03-12 15:32:19 UTC
Created attachment 398748 [details]

The attached ebuild for lilypond from VCS makes lilypond build with Guile 2.0, but minimal examples like the ones on still fail: They produce an empty postscript file (with the correct number of pages but no content).
Comment 7 Arne Babenhauserheide 2015-03-12 16:06:11 UTC
The attached ebuilds bail out with error when USE=guile2 is set and the guile version is <2.0.7.
Comment 8 Arne Babenhauserheide 2015-03-13 09:24:12 UTC
At the lilypond side, the tracking bug for this seems to be
Comment 9 Brian Evans (RETIRED) gentoo-dev 2016-08-05 13:28:44 UTC
*** Bug 590534 has been marked as a duplicate of this bug. ***
Comment 10 Silvio 2016-08-16 14:59:28 UTC
The problem is here yet
Comment 11 Tim Harder gentoo-dev 2016-08-19 02:15:09 UTC
Fixed in the 2.19.46.
Comment 12 Martin von Gagern 2016-08-20 16:55:55 UTC
Is this really fixed? Yes, lilypond 2.19.46 reportedly works, an it successfully compiled for me as well. But it is package masked. And the lilypond 2.18.2 ebuilds don't make their dependency explicit in the ebuild. Shouldn't they explicitely depend on <dev-scheme/guile-1.9 so that portage knows to keep older guile around if lilypond is in the selected set and lilypond 2.19 is not unmasked?

Even more strongly, as long as there is no unmasked and stabilized package for lilypond, I think you need to keep an open ticket blocking #587252 since you can't drop guile-1.8 before that (unless you propose dropping lilypond as well). Personally I'd ignore the fact that lilypond 2.19 is just a development version, and start packaging that for ~arch so that by the time 2.20 comes around we have some experience with the more recent lilypond codebase and can stabilize that more quickly. And if 2.20 takes longer than anticipated, you might even consider stabilizing 2.19 depending on how many bug reports you see for that. is worth reading. It involves details on why 2.18 probably will never work with guile 2, a hint that at least at some point lilypond devs were actually considering skipping guile 2.0 and waiting for 2.1 instead (not sure that's still the case), and that Debian is hoping for a lilypond 2.20 before the Strech freeze at the beginning of 2017. Their main concern is doing a full release cycle with a development version, but Gentoo as a rolling release distro should have fewer concerns shipping 2.19 and upgrading to 2.20 once that is out.
Comment 13 N. Andrew Walsh 2016-10-04 08:30:43 UTC
Well, from what I can see lilypond-9999 will *compile* with guile-2.*, but tests I've tried running lily on actual files fail out with errors. Recent (ie, about a month before this post) with devs indicate that there are some unresolved issues with guile upstream, and that they'll likely wait for guile-2.1 before making the switch (which might be "1-2 years", one of them said on the lilypond mailing list). 

I'll try running lily after the current emerge is done, and report back, but I'd hesitate to call this "resolved".
Comment 14 N. Andrew Walsh 2016-10-04 14:05:26 UTC
Update: as expected, trying to run lilypond-2.19.49 (which is what -9999 just installed) with guile-2.* (2.0.12 is what I have installed) returns errors about deprecated functions and fails to run on .ly files. So I wouldn't exactly call this "fixed"; can a dev please re-set this to CONFIRMED until we're sure that lilypond can run with guile-2.*?
Comment 15 Jeroen Roovers (RETIRED) gentoo-dev 2017-05-13 12:02:16 UTC
(In reply to Martin von Gagern from comment #12)
> Is this really fixed? Yes, lilypond 2.19.46 reportedly works, an it
> successfully compiled for me as well. But it is package masked.

Yes. If there are problems with the implementation, you get to file a new bug report.