[bug#75037,gnome-team,v3,2/2] gnu: musescore: Update to 4.4.4.
Commit Message
I've attached an updated version 3 of the music.scm patch.
Den ons 8 jan. 2025 kl 13:01 skrev Liliana Marie Prikler <
liliana.prikler@gmail.com>:
> Am Mittwoch, dem 01.01.2025 um 19:37 +0100 schrieb Rovanion Luckey:
> > - (base32
> > "1hx0l6d7avyfbh88hwn01h9q51mgd9zix91q2kgg1ax73pqxhfs2"))
> > - (modules '((guix build utils)))
> > - (snippet
> > - '(begin
> > - ;; Delete precompiled binaries.
> > - (delete-file-recursively
> > "src/diagnostics/crashpad_handler")
> > - (substitute* "src/diagnostics/CMakeLists.txt"
> > - (("install") "#install"))))))
> > + (base32
> > "0cjp1sp50pwmrgvpxjxg849s0vsvk2vcb66ym617nvlj761h0ngz"))
> > + (modules '((guix build utils)))))
> This change is undocumented. If you do drop the snippet (is it really
> safe to?), then you can also drop the modules.
>
As far as I can tell, yes. This step is superseeded by the flag
-DMUSE_MODULE_DIAGNOSTICS_CRASHPAD_CLIENT=OFF.
> (build-system qt-build-system)
> > (arguments
> > - `(#:configure-flags
> > - `("-DDOWNLOAD_SOUNDFONT=OFF"
> > - "-DBUILD_DIAGNOSTICS=OFF"
> > - "-DMUSESCORE_BUILD_CONFIG=release"
> > - "-DUSE_SYSTEM_FREETYPE=ON")
> > + `(#:qtbase ,qtbase
> Is this flag needed? Anyway, new flags should be documented…
Yes, Musescore will crash on startup otherwise as it would be linked
against the wrong qtbase. Added a comment.
It's of course a bit insane that the qt-build-system doesn't pick up the
qt-base passed as arguments for the package, but that is what it is.
> + #:configure-flags
> > + `("-DMUSE_APP_BUILD_MODE=release"
> > + ;; Disable the build and usage of the
> > `/bin/crashpad_handler` utility -
> > + ;; it does automatic crash reporting and is distributed as
> > a
> > + ;; pre-compiled binary in the source-tree of MuseScore:
> > + ;; https://github.com/musescore/MuseScore/issues/15571
> > + ;; Renamed from MUE_BUILD_CRASHPAD_CLIENT,
> > MUE_BUILD_DIAGNOSTICS_MODULE
> > + ;;
> >
> https://github.com/musescore/MuseScore/commit/6f269e8b072cca36cb76eb016cb60c1c1c2b9906
> > + "-DMUSE_MODULE_DIAGNOSTICS_CRASHPAD_CLIENT=OFF"
> > + ;; Use Guix' versions of system libraries.
> > + "-DMUE_COMPILE_USE_SYSTEM_FREETYPE=ON"
> > + "-DMUE_COMPILE_USE_SYSTEM_HARFBUZZ=ON"
> > + "-DMUE_COMPILE_USE_SYSTEM_TINYXML=ON"
> > + "-DMUE_COMPILE_USE_SYSTEM_OPUSENC=ON" ; Ipmlies -
> > DMUE_COMPILE_USE_SYSTEM_OPUS=ON
> > + "-DMUE_COMPILE_USE_SYSTEM_FLAC=ON"
> > + ;; Disable download of soundfont during build.
> > + "-DDOWNLOAD_SOUNDFONT=OFF"
> > + ;; Don't bundle Qt QML files, relevant really only for
> > Darwin.
> > + ;; "-DMUE_COMPILE_INSTALL_QTQML_FILES=OFF"
> > + )
> … as should changes here.
I clearified the comment spanning multiple lines and hopefully understood
the meaning of document correctly when I added some text to the commit
message.
Is everything renamed from MUSE to MUE or
> are these typos?
>
Yes, renamed.
Also, parentheses are social animals, they like to group together :)
> > ;; There are tests, but no simple target to run. The command
> > used to
> > ;; run them is:
> > ;;
> > @@ -5404,30 +5414,31 @@ (define-public musescore
> > ;; So we simply skip them.
> > #:tests? #f))
> > (native-inputs
> > - (list git-minimal pkg-config qttools-5))
> > + (list git-minimal pkg-config qttools))
> Write this out in the ChangeLog.
>
Sure.
> (inputs
> > (list alsa-lib
> > freetype
> > `(,gtk+ "bin") ;for gtk-update-icon-cache
> > + harfbuzz-meson
> Whoopsie, this can be regular harfbuzz with the new 1/2.
>
Fixed.
> jack-1
> > lame
> > libogg
> > + libopusenc
> > libsndfile
> > libvorbis
> > portaudio
> > portmidi
> > pulseaudio
> > python
> > - qtbase-5
> > - qtdeclarative-5
> > - qtgraphicaleffects
> > - qtnetworkauth-5
> > - qtquickcontrols-5
> > - qtquickcontrols2-5
> > - qtscript
> > - qtsvg-5
> > - qtx11extras
> > - qtxmlpatterns))
> > + qt5compat
> > + qtbase
> > + qtdeclarative
> > + qtnetworkauth
> > + qtscxml
> > + qtshadertools
> > + qtsvg
> > + qtwayland
> > + tinyxml2))
> Write these out in the ChangeLog.
Done.
> (propagated-inputs
> > (list `(,alsa-plugins "pulseaudio"))) ;for
> > libasound_module_conf_pulse.so
> > (synopsis "Music composition and notation software")
>
> Cheers
>
Thanks for the review, hope this one fits the bill.
From a098362bde076d983e73b25c2fd56f871b287368 Mon Sep 17 00:00:00 2001
Message-ID: <a098362bde076d983e73b25c2fd56f871b287368.1736516712.git.rovanion.luckey@gmail.com>
From: Rovanion Luckey <rovanion.luckey@gmail.com>
Date: Wed, 1 Jan 2025 19:37:57 +0100
Subject: [PATCH] gnu: musescore: Update to 4.4.4.
* gnu/packages/music.scm (musescore): Update to 4.4.4.
[source]<origin>: Remove snippet to delete precompiled binaries,
superseeded by flag "-DMUSE_MODULE_DIAGNOSTICS_CRASHPAD_CLIENT=OFF". The
directory src/diagnostics/crashpad_handler no longer exists.
[arguments]<#:configure-flags>: Decreased the number of vendored
libraries by four.
[inputs]: Move to Qt 6. Add the now unvendored libraries: flac, harfbuzz,
libopusenc and tinyxml2.
Change-Id: Ib5da630b73889625054f88b1e86af1e9666e6e93
---
gnu/packages/music.scm | 64 +++++++++++++++++++++++++-----------------
1 file changed, 38 insertions(+), 26 deletions(-)
@@ -38,7 +38,7 @@
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2021 Frank Pursel <frank.pursel@gmail.com>
-;;; Copyright © 2021 Rovanion Luckey <rovanion.luckey@gmail.com>
+;;; Copyright © 2021, 2024, 2025 Rovanion Luckey <rovanion.luckey@gmail.com>
;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
@@ -5424,7 +5424,7 @@ (define-public sfizz
(define-public musescore
(package
(name "musescore")
- (version "4.3.2")
+ (version "4.4.4")
(source
(origin
(method git-fetch)
@@ -5433,21 +5433,31 @@ (define-public musescore
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1hx0l6d7avyfbh88hwn01h9q51mgd9zix91q2kgg1ax73pqxhfs2"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Delete precompiled binaries.
- (delete-file-recursively "src/diagnostics/crashpad_handler")
- (substitute* "src/diagnostics/CMakeLists.txt"
- (("install") "#install"))))))
+ (base32 "0cjp1sp50pwmrgvpxjxg849s0vsvk2vcb66ym617nvlj761h0ngz"))
+ (modules '((guix build utils)))))
(build-system qt-build-system)
(arguments
- `(#:configure-flags
- `("-DDOWNLOAD_SOUNDFONT=OFF"
- "-DBUILD_DIAGNOSTICS=OFF"
- "-DMUSESCORE_BUILD_CONFIG=release"
- "-DUSE_SYSTEM_FREETYPE=ON")
+ `(;; In order for qt-build-system to build against qt-base 6 and not 5.
+ #:qtbase ,qtbase
+ #:configure-flags
+ `("-DMUSE_APP_BUILD_MODE=release"
+ ;; Disable the build and usage of the `/bin/crashpad_handler` utility -
+ ;; it does automatic crash reporting and is distributed as a
+ ;; pre-compiled binary in the source-tree of MuseScore:
+ ;; https://github.com/musescore/MuseScore/issues/15571
+ ;; Renamed from MUE_BUILD_CRASHPAD_CLIENT, MUE_BUILD_DIAGNOSTICS_MODULE
+ ;; https://github.com/musescore/MuseScore/commit/6f269e8b072cca36cb76eb016cb60c1c1c2b9906
+ "-DMUSE_MODULE_DIAGNOSTICS_CRASHPAD_CLIENT=OFF"
+ ;;; These five lines asks that Guix' versions of system libraries are used.
+ "-DMUE_COMPILE_USE_SYSTEM_FREETYPE=ON"
+ "-DMUE_COMPILE_USE_SYSTEM_HARFBUZZ=ON"
+ "-DMUE_COMPILE_USE_SYSTEM_TINYXML=ON"
+ "-DMUE_COMPILE_USE_SYSTEM_OPUSENC=ON" ; Ipmlies -DMUE_COMPILE_USE_SYSTEM_OPUS=ON
+ "-DMUE_COMPILE_USE_SYSTEM_FLAC=ON"
+ ;; Disable download of soundfont during build.
+ "-DDOWNLOAD_SOUNDFONT=OFF"
+ ;; Don't bundle Qt QML files, relevant really only for Darwin.
+ "-DMUE_COMPILE_INSTALL_QTQML_FILES=OFF")
;; There are tests, but no simple target to run. The command used to
;; run them is:
;;
@@ -5458,30 +5468,32 @@ (define-public musescore
;; So we simply skip them.
#:tests? #f))
(native-inputs
- (list git-minimal pkg-config qttools-5))
+ (list git-minimal pkg-config qttools))
(inputs
(list alsa-lib
+ flac
freetype
`(,gtk+ "bin") ;for gtk-update-icon-cache
+ harfbuzz
jack-1
lame
libogg
+ libopusenc
libsndfile
libvorbis
portaudio
portmidi
pulseaudio
python
- qtbase-5
- qtdeclarative-5
- qtgraphicaleffects
- qtnetworkauth-5
- qtquickcontrols-5
- qtquickcontrols2-5
- qtscript
- qtsvg-5
- qtx11extras
- qtxmlpatterns))
+ qt5compat
+ qtbase
+ qtdeclarative
+ qtnetworkauth
+ qtscxml
+ qtshadertools
+ qtsvg
+ qtwayland
+ tinyxml2))
(propagated-inputs
(list `(,alsa-plugins "pulseaudio"))) ;for libasound_module_conf_pulse.so
(synopsis "Music composition and notation software")
base-commit: 461d773adead955e2daead70cee4415f7f0f00be
prerequisite-patch-id: 7a77c9e2af02bf1a414a08e0380a523af0074899
--
2.46.0