We got to this topic a few times now, so here's a proper thread about it. As the title suggests, I've been working on a new way to build redistributable LilyPond binaries. Right now we are using GUB for this task (see CG and https://github.com/gperciva/gub). This is _not_ (yet) a proposal to switch over, but rather my ideas about a possible replacement. So take this as a request for feedback and testing as well as general discussion.
I'm hosting a repository at https://github.com/hahnjo/lilypond-binaries/, here's the first part of the README: --- This repository contains a number of scripts to build and package binary distributions of LilyPond. The basic idea is to build static libraries and only depend on very basic dynamic libraries (such as `libc`). As a result, the binaries are forward-compatible and can be run on newer releases of the OS. To make things concrete: A binary from CentOS 7 can be executed on newer GNU/Linux distributions. This includes CentOS 8 and currently supported releases of Debian, Ubuntu, and likely others. The same holds for binaries compiled on FreeBSD 11: They run fine on the current FreeBSD 12. All of the above is implemented via portable (POSIX) shell scripts. The advantage is that there is no need for a more complex language like Python. Still, the approach currently works for GNU/Linux and FreeBSD and can likely be adapted for macOS. --- (read the full contents for more details and usage instructions) For the scripts, I'm intentionally using tarballs as a source for LilyPond. In comparison with git, this has two advantages IMO: 1) It's a self-contained file, not a tuple of git url and branch that the script needs to figure out how to update. 2) 'make dist' automatically puts configure into the archive, so the build scripts are agnostic of how it is actually generated. I've built current master for you to get an impression: https://github.com/hahnjo/lilypond-binaries/releases/tag/2020-03-11 It is using Guile 2.2 because I couldn't get Guile 1.8 to work on 64bit mingw. This implies a few known problems such as increased starting time when parsing the .scm files (around 3 seconds). Also there's no way yet to associate the .ly extension with LilyPond on Windows. I hope this could be implemented via a PowerShell script added to the zip archive, without a "real" installer. Please let me know if something doesn't work at all, but keep above limitations in mind. In particular, this is from master and not a tagged release, so it may contain new issues and I'd consider it "unstable" in general. Jonas
signature.asc
Description: This is a digitally signed message part
