Subject: Re: bug#26956: [PATCH] Add MuseScore

From: [email-masked] (Ludovic Courtès)
Date: Thu, 18 May 2017 14:21:41 +0200

Salut Nicolas,

Nicolas Goaziou <[email-masked]> skribis:

> [email-masked] (Ludovic Courtès) writes:
>
>> Nicolas Goaziou <[email-masked]> skribis:
>>
>>> I used glib-or-gtk-build-system because, somewhere in the Makefile,
>>> there's a call to `gtk-update-icon-cache'. However, since that command
>>> cannot be found during the build process, I skip it with
>>> UPDATE_CACHE=FALSE. So, should I leave the package as-is, or add
>>> a "gtk+" input, or simply downgrade to gnu-build-system?
>>
>> Since it uses Qt, perhaps we’d better use ‘gnu-build-system’ (or
>> ‘cmake-build-system’?) no?  Would we lose something?
>
> cmake-build-system is a path I already walked. Using cmake is
> insufficient to build the package, as it fails during the install phase.
>
> IIUC, the Makefile is a wrapper that calls the cmake command, which, in
> turn, generates a new make target that the initial make call can
> process... The new target is responsible for, at the very least,
> generating the translation files.

Wonderful.  :-)

> About gnu-build-system, I don't know if we loose something. It builds
> with it. I can run the application. I thought that calling
> gtk-update-icon-cache was somehow a clue that glib-or-gtk-build-system
> would be needed, but I was wrong, if I interpret correctly your
> question.
>
> The updated patch uses gnu-build-system.

OK.

>> and moved ‘cmake’ to ‘native-inputs’.
>
> Maybe the linter could suggest it. It already told me that "qttools"
> input should be moved there, but didn't complain about "cmake".

Good idea, I’ve added “cmake” to the list.

> About the bundled freetype library: it is skipped per the cmake option.
> Should we also delete it from source in a snippet or is it fine as-is?

It’s always safer to remove it in a snippet.

I started doing that and then noticed that removing all of thirdparty/
won’t cut it.  Yet there’s quite a lot of stuff in that directory, so it
would be good to make sure we use as little as possible of this bundled
code:

$ ls /tmp/guix-build-musescore-2.1.0.drv-0/MuseScore-2.1.0/thirdparty/
beatroot  diff	intervaltree  kQOAuth  ofqf  portmidi  qzip  rtf2html  singleapp  xmlstream

For example, we could add portmidi as an input.

Could you take a look?

Thanks!

Ludo’.