lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Automating LilyPond setup on Windows


From: Karlin High
Subject: Automating LilyPond setup on Windows
Date: Sat, 18 Mar 2023 16:44:45 -0500

LilyPond's current build system produces stand-alone, relocatable
Windows executables distributed in a zip folder.

Which I think approaches the ideal.

However, for the past 2 human generations or so, Windows users have
been taught they are unqualified to manage locations of software
executables. They are taught this is exclusively the installer's job,
like setup.exe or something.

There have now been several questions on the lilypond-user list with
some form of "I downloaded this zip folder, now what do I do with it?
How do I 'install' it?"

I expect such questions will continue until Windows users have an
automated way to get the executables in place.

Suggestions for improving the current-practice's documentation were made...

<https://lists.gnu.org/archive/html/lilypond-user/2023-03/msg00173.html>

...which led to a Merge Request, where I was encouraged to present an
idea separately from it.

<https://gitlab.com/lilypond/lilypond/-/merge_requests/1869#note_1314585504>

So here goes. The idea is this: Offer Windows users an optional
install script that downloads the zip folder and arranges its contents
as they would expect done by an installer.

This idea is completely separate from the build system. I am not
suggesting any changes for that.

Rather, I am looking at what the Micro text editor has. It also is a
stand-alone, relocatable executable needing no "installation" efforts.

The install script made for it is here:

<https://github.com/benweissmann/getmic.ro/blob/master/index.sh>

It is rather more elaborate than what I have in mind, but in practice
it can work like this:

$ curl https://getmic.ro | bash

For Windows, rather than such a one-liner, I am thinking more of an
"install.bat" file to download and execute. Completely optional. It
would:

* Download the LilyPond zip folder
* Extract it to a reasonable location
* Perhaps add the new LilyPond to Frescobaldi.

That could be done by using the freshly-extracted LilyPond's Python
executable to run the code Frescobaldi has for doing that.

<https://github.com/frescobaldi/frescobaldi/blob/92ad12137135b1693f6041567c81d2fa0f4ecf28/frescobaldi_app/lilypondinfo.py>

Or, maybe it would be better to have all this handled within
Frescobaldi instead?

Have Frescobaldi look up the latest version of LilyPond, and if it
doesn't exist on the user's computer, offer to download and install
it? It's been mentioned within that project:

<https://github.com/frescobaldi/frescobaldi/issues/1429>

<https://github.com/frescobaldi/frescobaldi/issues/313>

I don't plan to go further with this idea unless a good consensus
emerges for doing so.
--
Karlin High
Missouri, USA



reply via email to

[Prev in Thread] Current Thread [Next in Thread]