From d1a0bf8bfc3fa43ac87eab51c9306d94b3217cfb Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 27 Aug 2024 19:13:31 +0300 Subject: [PATCH] musescore: 4.3.2 -> 4.4.0 Diff: https://github.com/musescore/MuseScore/compare/v4.3.2...v4.4.0 --- pkgs/applications/audio/musescore/default.nix | 54 ++++++++++++------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 35 insertions(+), 21 deletions(-) diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix index 479e8850872c..b90cb2da303e 100644 --- a/pkgs/applications/audio/musescore/default.nix +++ b/pkgs/applications/audio/musescore/default.nix @@ -1,6 +1,7 @@ { stdenv , lib , fetchFromGitHub +, fetchpatch , cmake , wrapQtAppsHook , pkg-config @@ -18,18 +19,16 @@ , portmidi , qtbase , qtdeclarative -, qtgraphicaleffects , flac , libopusenc , libopus , tinyxml-2 -, qtquickcontrols -, qtquickcontrols2 -, qtscript +, qt5compat +, qtwayland , qtsvg -, qtxmlpatterns +, qtscxml , qtnetworkauth -, qtx11extras +, qttools , nixosTests , darwin }: @@ -50,31 +49,48 @@ let } else portaudio; in stdenv'.mkDerivation (finalAttrs: { pname = "musescore"; - version = "4.3.2"; + version = "4.4.0"; src = fetchFromGitHub { owner = "musescore"; repo = "MuseScore"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-QjvY8R2nq/DeFDikHn9qr4aCEwzAcogQXM5vdZqhoMM="; + sha256 = "sha256-oDbOaLFmSpZ7D8E7LBxUwFwiaPcucIUj3eEp6sXR5o8="; }; + patches = [ + # https://github.com/musescore/MuseScore/pull/24247 + (fetchpatch { + name = "skip-downloading-harfbuzz.patch"; + url = "https://github.com/musescore/MuseScore/commit/686ea243d58b43eb3dff7ebdabb2e09de4d212e4.patch"; + hash = "sha256-fsb1hKFKXwBdMPh+Ek0UT3XtI8qg3ieWUQW1/XDvhmg="; + }) + # https://github.com/musescore/MuseScore/pull/24261 + (fetchpatch { + name = "allow-using-system-harfbuzz.patch"; + url = "https://github.com/musescore/MuseScore/commit/696279e362afe72db5e92f8a47aa64b3a0e86a86.patch"; + hash = "sha256-z1W2SmzUUlVL7mRR2frzUZjMEnwqkVfRVz4TufR1tDU="; + }) + # https://github.com/musescore/MuseScore/pull/24326 + (fetchpatch { + name = "fix-menubar-with-qt6.5+.patch"; + url = "https://github.com/musescore/MuseScore/pull/24326/commits/b274f13311ad0b2bce339634a006ba22fbd3379e.patch"; + hash = "sha256-ZGmjRa01CBEIxJdJYQMhdg4A9yjWdlgn0pCPmENBTq0="; + }) + ]; cmakeFlags = [ - "-DMUSESCORE_BUILD_MODE=release" + "-DMUSE_APP_BUILD_MODE=release" # Disable the build and usage of the `/bin/crashpad_handler` utility - it's # not useful on NixOS, see: # https://github.com/musescore/MuseScore/issues/15571 - "-DMUE_BUILD_CRASHPAD_CLIENT=OFF" + "-DMUSE_MODULE_DIAGNOSTICS_CRASHPAD_CLIENT=OFF" # Use our versions of system libraries "-DMUE_COMPILE_USE_SYSTEM_FREETYPE=ON" + "-DMUE_COMPILE_USE_SYSTEM_HARFBUZZ=ON" "-DMUE_COMPILE_USE_SYSTEM_TINYXML=ON" # Implies also -DMUE_COMPILE_USE_SYSTEM_OPUS=ON "-DMUE_COMPILE_USE_SYSTEM_OPUSENC=ON" "-DMUE_COMPILE_USE_SYSTEM_FLAC=ON" - # From some reason, in $src/build/cmake/SetupBuildEnvironment.cmake, - # upstream defaults to compiling to x86_64 only, unless this cmake flag is - # set - "-DMUE_COMPILE_BUILD_MACOS_APPLE_SILICON=ON" # Don't bundle qt qml files, relevant really only for darwin, but we set # this for all platforms anyway. "-DMUE_COMPILE_INSTALL_QTQML_FILES=OFF" @@ -94,6 +110,7 @@ in stdenv'.mkDerivation (finalAttrs: { nativeBuildInputs = [ wrapQtAppsHook cmake + qttools pkg-config ninja ]; @@ -114,14 +131,11 @@ in stdenv'.mkDerivation (finalAttrs: { tinyxml-2 qtbase qtdeclarative - qtgraphicaleffects - qtquickcontrols - qtquickcontrols2 - qtscript + qt5compat + qtwayland qtsvg - qtxmlpatterns + qtscxml qtnetworkauth - qtx11extras ] ++ lib.optionals stdenv.isLinux [ alsa-lib ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 30550514880d..2b2d76828461 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32071,7 +32071,7 @@ with pkgs; autoreconfHook = buildPackages.autoreconfHook269; }; - musescore = libsForQt5.callPackage ../applications/audio/musescore { }; + musescore = qt6.callPackage ../applications/audio/musescore { }; music-player = callPackage ../applications/audio/music-player { };