Chris Yate writes: > At a brief look over GUB, the really big question in my mind is why on > earth it seems to want to build *everything*.
That's mostly fault. > A Lilypond build tool for all platforms = a great idea. Thanks. I developed GUB together with Han-Wen and it was our 4th iteration of a cross-build system written for LilyPond. > A Lilypond build tool for all platforms to which someone's added half > a dozen extra unrelated targets (possibly very large ones such as > OpenOffice) = a terrible idea. Thanks! GUB was the first to be so generic that it could be used for other projects as well, with almost no cost. I hoped for GUB to be adopted by other projects, so that we would share maintenance and development effort on it. It is (or was?) actively used by GNU Denemo, so that's where the GTK+ stuff comes from and at the time I worked on go-oo (the predecessor to LibreOffice) so I hooked that in too. The idea was: once such a project uses this, others will join. Apparently, I did not succeed in bringing easy cross builds to other projects and with as a consequence I also failed in sharing maintenance load. So, please remove any OpenOffice references and depnedencies (git will remember anyway). You may want to check with the GNU Denemo team before removing their dependencies. > If I did anything to "fix" it, it would be to strip it right back to a > tool that does _one_ job well. And I don't know whether that's likely > to be popular thing (although correct me if I'm wrong there)... I think GUB is beyond fixing, simply because it's community is too small. > ... because IMHO a build tool that takes 24+ hours to rebuild after > making tweaks to it --and that's on a high spec machine-- is not a > very useful tool. There are reasons for this. GUB's aim was to find the sweet spot between complete OS independency/separation (fedora/debian/whatnot) and reproducibility. It fails at both of these requirements, but I maintain that it was a fair effort. If you want to be OS-independent and reliable, you'll have to build your own toolchain. I am currently working on Guix/GuixSD and have implemented a MinGW cross build facility that can cross build Guile which has been reviewed and will be merged soon. I have patches that will cross build LilyPond and all its dependencies, some of those need cleanups and they need to be reviewed. Using Guix as a LilyPond build system presents a whole new set of problems/questions, but it would solve the biggest problems with GUB. It has an active community, so effort is shared. It is very well documented and a whole lot more mature, better designed. It has /full/ OS separation; produces bit-reproducible binaries. And it has a system of using binary substitutes: cross builds do not need to take longer than other builds. Greetings, Jan -- Jan Nieuwenhuizen <[email protected]> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
