commit: d8b4b888b0b8150e20a3596c7f91b383479044b6 Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Wed Dec 3 14:47:35 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu Dec 4 11:58:52 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8b4b888
media-sound/musescore: add 4.6.4 ... and usual missing includes Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/44891 Closes: https://github.com/gentoo/gentoo/pull/44891 Signed-off-by: Sam James <sam <AT> gentoo.org> media-sound/musescore/Manifest | 1 + .../files/musescore-4.6.4-missing_includes.patch | 12 ++ media-sound/musescore/musescore-4.6.4.ebuild | 188 +++++++++++++++++++++ 3 files changed, 201 insertions(+) diff --git a/media-sound/musescore/Manifest b/media-sound/musescore/Manifest index 9f332b8e1cae..3cff8e1fd41a 100644 --- a/media-sound/musescore/Manifest +++ b/media-sound/musescore/Manifest @@ -1,2 +1,3 @@ DIST MuseScore_General-0.2.0.tar.bz2 35122747 BLAKE2B 7f9cafb7912ab8c977842c51df69506d4ad3d1d37498c856978a2d5ab50a1c4fe9145a4807f8c353e6f14138704abb2bbd70c948f1621b494c6e0458c2df0184 SHA512 69eeb22e8c9d1d393a2af857baeb8e49bf2a492651d18190685c74df84a5f6b424e37077e39d9d69c117c4896ea1fbb857eba25a1fbcb6f98d53f384a55713cc DIST musescore-4.6.3.tar.gz 159635093 BLAKE2B 8d15cd4182ea4be2d58f5a4b03d099608148bf43afc1057eb97f0003ad3acd1796aef16ee6fa44fac39343a05bf7b1236d22918119f69d40be2b5f19609d52a9 SHA512 bd8f427154613f00d5a84a949b05351ce5fa8e9ce2f37410c97762d5dd29643c2e6c5bd763a40a99f927aa61d84a3572734189f2650daae5eb3a6a51717be923 +DIST musescore-4.6.4.tar.gz 159888545 BLAKE2B f7f728558edaf7b439ff6b33922b579ea5ab73f74fd459a1a55fb8f10832cc962196213f387617b8fc92e91ea40da2b0c0bd0e53f759e08dd6010a6a22c9863b SHA512 4a1c691cad8d27f53a2e50045f7fa4a77111093b5a3a9682dd339966fc38050f1879d86d1f663e888542495538c9ad7191f09991b412c2c04b4c079b67e5fa9b diff --git a/media-sound/musescore/files/musescore-4.6.4-missing_includes.patch b/media-sound/musescore/files/musescore-4.6.4-missing_includes.patch new file mode 100644 index 000000000000..e70897d9fa90 --- /dev/null +++ b/media-sound/musescore/files/musescore-4.6.4-missing_includes.patch @@ -0,0 +1,12 @@ +PR merged https://github.com/musescore/MuseScore/pull/31333.patch +add missing include +--- a/src/print/internal/printprovider.cpp ++++ b/src/print/internal/printprovider.cpp +@@ -23,6 +23,7 @@ + + #include <QPrinter> + #include <QPrintDialog> ++#include <QWindow> + + #include "log.h" + diff --git a/media-sound/musescore/musescore-4.6.4.ebuild b/media-sound/musescore/musescore-4.6.4.ebuild new file mode 100644 index 000000000000..641d2f6280fe --- /dev/null +++ b/media-sound/musescore/musescore-4.6.4.ebuild @@ -0,0 +1,188 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# https://bugs.gentoo.org/958256, bundled fluidsynth: +# src/framework/audio/thirdparty/fluidsynth/fluidsynth-2.3.3/src/gentables/CMakeLists.txt +# upstream files are >=3.16, KDDockWidgets is 3.12 +CMAKE_QA_COMPAT_SKIP=yes +CHECKREQS_DISK_BUILD=3500M +inherit cmake flag-o-matic xdg check-reqs + +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/musescore/MuseScore.git" +else + SRC_URI=" + https://github.com/musescore/MuseScore/archive/v${PV}.tar.gz -> ${P}.tar.gz + " + KEYWORDS="~amd64 ~arm64 ~x86" + S="${WORKDIR}/MuseScore-${PV}" +fi + +DESCRIPTION="WYSIWYG Music Score Typesetter" +HOMEPAGE="https://musescore.org/" +# MuseScore_General-*.tar.bz2 packaged from https://ftp.osuosl.org/pub/musescore/soundfont/MuseScore_General/ +# It has to be repackaged because the files are not versioned, current version can be found in VERSION file there. +SRC_URI+=" https://dev.gentoo.org/~fordfrog/distfiles/MuseScore_General-0.2.0.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +IUSE="jack pipewire test video websockets" +REQUIRED_USE="?? ( jack pipewire )" +RESTRICT="!test? ( test )" + +BDEPEND=" + dev-qt/qttools:6[linguist] + virtual/pkgconfig +" +RDEPEND=" + dev-libs/pugixml + dev-qt/qtbase:6[concurrent,dbus,gui,network,opengl,widgets,xml,X] + dev-qt/qt5compat:6[qml] + dev-qt/qtdeclarative:6 + dev-qt/qtnetworkauth:6 + dev-qt/qtscxml:6 + dev-qt/qtsvg:6 + media-libs/alsa-lib + media-libs/flac:= + media-libs/freetype + media-libs/harfbuzz:= + media-libs/libopusenc + media-libs/libsndfile + media-libs/opus + media-sound/lame + virtual/zlib:= + jack? ( virtual/jack ) + pipewire? ( media-video/pipewire:= ) + video? ( media-video/ffmpeg:= ) + websockets? ( dev-qt/qtwebsockets:6 ) +" +DEPEND="${RDEPEND} + dev-libs/utfcpp + test? ( dev-cpp/gtest ) +" + +PATCHES=( + # backported from master + "${FILESDIR}/${PN}-4.5.2-ffmpeg8.patch" + "${FILESDIR}/${PN}-4.6.3-rm_tinyxml.patch" + "${FILESDIR}/${PN}-4.6.3-missing_includes.patch" + "${FILESDIR}/${PN}-4.6.4-missing_includes.patch" + # unbundle 3rd libs + "${FILESDIR}/${PN}-4.6.3-unbundle-lame.patch" + "${FILESDIR}/${PN}-4.6.3-unbundle-pugixml.patch" + "${FILESDIR}/${PN}-4.7-unbundle-gtest.patch" + "${FILESDIR}/${PN}-4.7-unbundle-utfcpp.patch" +) + +src_unpack() { + if [[ ${PV} == "9999" ]]; then + git-r3_src_unpack + unpack ${A} + else + default + fi +} + +src_prepare() { + # see https://github.com/musescore/MuseScore/issues/11572 + # keep global/thirdparty/picojson, upstream is inactive + # keep dockwindow/thirdparty/KDDockWidgets, using priv headers + # keep audio/thirdparty/fluidsynth, using priv headers + # keep audio/thirdparty/stb, one file, same as miniaudio + local rm_deps=( + audio/thirdparty/flac + audio/thirdparty/lame + audio/thirdparty/opus + audio/thirdparty/opusenc + draw/thirdparty/freetype + global/thirdparty/pugixml + global/thirdparty/tinyxml + global/thirdparty/utfcpp + testing/thirdparty/googletest + ) + + local bundle + for bundle in "${rm_deps[@]}"; do + rm -r src/framework/"${bundle}" || die + done + + cmake_src_prepare + + # Move soundfonts to the correct directory + mv -v "${WORKDIR}"/sound/* "${S}"/share/sound/ || die "Failed to move soundfont files" +} + +src_configure() { + # confuses rcc, bug #908808 + filter-lto + + local mycmakeargs=( + -DCMAKE_POSITION_INDEPENDENT_CODE=ON # https://github.com/musescore/MuseScore/issues/28797 + -DCMAKE_BUILD_TYPE="release" + -DCMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS}" + -DCMAKE_C_FLAGS_RELEASE="${CFLAGS}" + -DCMAKE_SKIP_RPATH=TRUE + -DGZIP_EXECUTABLE=OFF # avoid compressed manpages + -DMUE_BUILD_IMPEXP_VIDEOEXPORT_MODULE="$(usex video)" + -DMUE_COMPILE_USE_SYSTEM_FLAC=ON + -DMUE_COMPILE_USE_SYSTEM_FREETYPE=ON + -DMUE_COMPILE_USE_SYSTEM_OPUS=ON + -DMUE_COMPILE_USE_SYSTEM_OPUSENC=ON + -DMUE_COMPILE_USE_SYSTEM_HARFBUZZ=ON + -DMUE_DOWNLOAD_SOUNDFONT=OFF + -DMUSE_APP_BUILD_MODE="release" + -DMUSE_COMPILE_USE_COMPILER_CACHE=OFF + -DMUSE_COMPILE_USE_PCH=OFF + -DMUSE_MODULE_AUDIO_JACK="$(usex jack)" + -DMUSE_MODULE_DIAGNOSTICS_CRASHPAD_CLIENT=OFF + -DMUSE_MODULE_NETWORK_WEBSOCKET="$(usex websockets)" + -DMUSE_MODULE_UPDATE=OFF + -DMUSE_PIPEWIRE_AUDIO_DRIVER="$(usex pipewire)" + # tests + -DMUSE_ENABLE_UNIT_TESTS="$(usex test)" + -DMUE_BUILD_BRAILLE_TESTS="$(usex test)" + -DMUE_BUILD_CONVERTER_TESTS="$(usex test)" + -DMUE_BUILD_ENGRAVING_TESTS="$(usex test)" + -DMUE_BUILD_IMPORTEXPORT_TESTS="$(usex test)" + -DMUE_BUILD_NOTATION_TESTS="$(usex test)" + -DMUE_BUILD_PLAYBACK_TESTS="$(usex test)" + -DMUE_BUILD_PROJECT_TESTS="$(usex test)" + ) + cmake_src_configure +} + +src_test() { + CMAKE_SKIP_TESTS=( + # see https://github.com/musescore/MuseScore/issues/30434 + # Global_AllocatorTests* fail with gcc only, to investigate + muse_global_tests + # segfault + muse_audio_tests + # see bug #950450 too + iex_musicxml_tests + # fixed in master + converter_tests + ) + + QT_QPA_PLATFORM=offscreen cmake_src_test +} + +pkg_preinst() { + xdg_pkg_preinst + + if ! has_version "media-sound/musescore" && ! use pipewire; then + show_pipewire_warning=1 + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if [[ -n ${show_pipewire_warning} ]]; then + ewarn "PipeWire support is disabled but it's the default audio driver anyway!" + ewarn "Check your configuration." + fi +}
