* [bug#75037] WIP: Upgrade MuseScore to 4.4.4
@ 2024-12-22 22:45 Rovanion Luckey
0 siblings, 0 replies; only message in thread
From: Rovanion Luckey @ 2024-12-22 22:45 UTC (permalink / raw)
To: 75037
[-- Attachment #1.1: Type: text/plain, Size: 1542 bytes --]
Hi,
I have been working on and off for the last month to get MuseScore 4.4.x
packaged for Guix. I have come so far as to have the project build but not
run. The program gets partially through its startup procedure but fails
with a QML related error:
23:10:58.058 | WARN | main_thread | Qt |
> QQmlApplicationEngine failed to load component
> 23:10:58.112 | ERROR | main_thread | GuiApp::perform | error:
> qrc:/qml/platform/linux/Main.qml: module "QtQml.WorkerScript" is not
> installed
> 23:10:58.112 | WARN | main_thread | Qt |
> qrc:/qml/platform/linux/Main.qml: module "QtQml.WorkerScript" is not
> installed
> 23:10:58.112 | WARN | main_thread | Qt |
> QObject::connect(QQuickWindow, QApplication): invalid nullptr parameter
> 23:10:58.113 | INFO | main_thread | AudioOutputDeviceController::init
> | Available output devices changed, checking connection...
> 23:10:58.116 | ERROR | main_thread | GuiApp::perform | failed Qml load
If anyone has a pointer such are gracefully received. Right now it's time
for me to give up for today.
Unrelated: The largest change that's needed for this build to work is to
change build system for HarfBuzz to meson. This because the makefile based
build does not produce correct CMake-files for HarfBuzz. The attached
work-in-progress-patch creates a separate package for HarfBuzz for
convenience while developing the patch - but the build system should
probably be changed for the real HarfBuzz package in the real patch.
Cheers!
[-- Attachment #1.2: Type: text/html, Size: 1867 bytes --]
[-- Attachment #2: 0001-WIP-gnu-music-Update-to-4.4.4.patch --]
[-- Type: text/x-patch, Size: 7105 bytes --]
From 291b21f68a4248023f9da0b9820a095b7649faa6 Mon Sep 17 00:00:00 2001
Message-ID: <291b21f68a4248023f9da0b9820a095b7649faa6.1734906963.git.rovanion.luckey@gmail.com>
From: Rovanion Luckey <rovanion.luckey@gmail.com>
Date: Sun, 22 Dec 2024 23:32:21 +0100
Subject: [PATCH] WIP: gnu: music: Update to 4.4.4.
* (music): Update to 4.4.4.
Change-Id: Ia5509faad497a13e4c8b1e8d0269449fc5426f43
---
gnu/packages/gtk.scm | 40 +++++++++++++++++++++++++++++
gnu/packages/music.scm | 58 +++++++++++++++++++++++++-----------------
2 files changed, 74 insertions(+), 24 deletions(-)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ef1391e8ba..d422403dec 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -37,6 +37,7 @@
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2024 Rovanion Luckey <rovanion.luckey@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -318,6 +319,45 @@ (define-public harfbuzz
"See 'COPYING' in the distribution."))
(home-page "https://www.freedesktop.org/wiki/Software/HarfBuzz/")))
+(define-public harfbuzz-meson
+ (package
+ (name "harfbuzz")
+ (version "8.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/harfbuzz/harfbuzz"
+ "/releases/download/" version "/harfbuzz-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0izq2lpqxrf1l755nxrxkkiarywkx5j43asznankxplbxgm0358h"))))
+ (build-system meson-build-system)
+ (outputs '("out"
+ "bin")) ;160K, only hb-view depend on cairo
+ (inputs
+ (list cairo))
+ (propagated-inputs
+ ;; There are all in the Requires or Requires.private field of '.pc'.
+ (list glib graphite2 icu4c))
+ (native-inputs
+ (append (list `(,glib "bin")) ;for glib-mkenums
+ (if (target-hurd?)
+ '()
+ (list gobject-introspection))
+ (list pkg-config
+ python-wrapper
+ which)))
+ (arguments
+ (list #:configure-flags
+ #~(list "-Dgraphite2=enabled"
+ (string-append "--bindir=" #$output:bin "/bin"))))
+ (synopsis "OpenType text shaping engine")
+ (description
+ "HarfBuzz is an OpenType text shaping engine.")
+ (license (license:x11-style "file://COPYING"
+ "See 'COPYING' in the distribution."))
+ (home-page "https://www.freedesktop.org/wiki/Software/HarfBuzz/")))
+
(define-public libdatrie
(package
(name "libdatrie")
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 2fbdcf4ea9..9de1ea442c 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -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 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>
@@ -5416,7 +5416,7 @@ (define-public sfizz
(define-public musescore
(package
(name "musescore")
- (version "4.3.2")
+ (version "4.4.4")
(source
(origin
(method git-fetch)
@@ -5425,21 +5425,30 @@ (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")
+ `("-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"
+ )
;; There are tests, but no simple target to run. The command used to
;; run them is:
;;
@@ -5450,30 +5459,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))
(inputs
(list alsa-lib
freetype
`(,gtk+ "bin") ;for gtk-update-icon-cache
+ harfbuzz-meson
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
+ tinyxml2
+ qtbase
+ qtdeclarative
+ qtnetworkauth
+ qt5compat
+ qtwayland
+ qtsvg
qtx11extras
- qtxmlpatterns))
+ qtscxml))
(propagated-inputs
(list `(,alsa-plugins "pulseaudio"))) ;for libasound_module_conf_pulse.so
(synopsis "Music composition and notation software")
base-commit: 11855e1c2863c56d9a3364cdac614a529a1c7cc2
--
2.46.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2024-12-22 22:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-22 22:45 [bug#75037] WIP: Upgrade MuseScore to 4.4.4 Rovanion Luckey
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).