commit:     83bc28d639c2c463b3026d8a5bfde30aed03d434
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Sun Dec 21 07:00:32 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Dec 22 11:30:14 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83bc28d6

media-sound/musescore: Bump to 4.6.5

Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/45118
Closes: https://github.com/gentoo/gentoo/pull/45118
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-sound/musescore/Manifest               |   1 +
 media-sound/musescore/musescore-4.6.5.ebuild | 188 +++++++++++++++++++++++++++
 2 files changed, 189 insertions(+)

diff --git a/media-sound/musescore/Manifest b/media-sound/musescore/Manifest
index 3cff8e1fd41a..55952e9ba15f 100644
--- a/media-sound/musescore/Manifest
+++ b/media-sound/musescore/Manifest
@@ -1,3 +1,4 @@
 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
+DIST musescore-4.6.5.tar.gz 159873358 BLAKE2B 
736b625f7d5a96bee589221ccc8063e3591040e4152156103884d354a9b9f428099c0840564bb89d630627e55c9ef58eb48dd4c942cc4864fa6b0b89faeaf9bb
 SHA512 
fdecdf641b61d17f8039e3f8a1f60b3b17ddf7dc8ceb46365dfb9c447f140a3731850356580b8bcab8d305dee3662c701c7ad0110424c452d881789fe3a72e24

diff --git a/media-sound/musescore/musescore-4.6.5.ebuild 
b/media-sound/musescore/musescore-4.6.5.ebuild
new file mode 100644
index 000000000000..641d2f6280fe
--- /dev/null
+++ b/media-sound/musescore/musescore-4.6.5.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
+}

Reply via email to