summaryrefslogtreecommitdiff
path: root/media-sound/musescore
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-21 02:09:25 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-21 02:09:25 +0000
commitafcb9236a72cf602364c28b9bde6648e4a7f1ca5 (patch)
tree9608aa2c881b2688207832334c938f0e38d5c71c /media-sound/musescore
parentd3419aa304ff2564036398be5e8ed4bdeaeaa007 (diff)
gentoo auto-resync : 21:01:2024 - 02:09:25
Diffstat (limited to 'media-sound/musescore')
-rw-r--r--media-sound/musescore/Manifest8
-rw-r--r--media-sound/musescore/files/musescore-4.2.0-dynamic_cast-crash.patch11
-rw-r--r--media-sound/musescore/files/musescore-4.2.0-missing-headers.patch41
-rw-r--r--media-sound/musescore/files/musescore-4.2.0-unbundle-deps.patch119
-rw-r--r--media-sound/musescore/files/musescore-4.2.0-uncompressed-man-pages.patch29
-rw-r--r--media-sound/musescore/metadata.xml1
-rw-r--r--media-sound/musescore/musescore-4.2.0.ebuild135
7 files changed, 343 insertions, 1 deletions
diff --git a/media-sound/musescore/Manifest b/media-sound/musescore/Manifest
index 14d37d9d8cdc..9b8aaea131da 100644
--- a/media-sound/musescore/Manifest
+++ b/media-sound/musescore/Manifest
@@ -2,10 +2,16 @@ AUX musescore-3.0.1-man-pages.patch 1704 BLAKE2B 51ce6a743e97965eecff31268bf774c
AUX musescore-3.6.1-rename-audioitem.patch 491 BLAKE2B 9ecdccb1e3aec15c7233baaeb07d1b962b487dfa1c88cbb1c79616e92d36fc8e0d46635b9bda851550145086bfef2bba56a53ed033325b6bd98378a9f6928bb3 SHA512 55cb0187dfe4e590ec47c772d3c820f64324d748a2b95d0529b516cd048f2862477117dd711c335fd7abf8e3693e9e0b8b60cc270aab5a5960a173fa8bd7ad85
AUX musescore-4.0.2-unbundle-deps.patch 3569 BLAKE2B 3096d1deaf3996fad39a9d2618a70daaba93886dc151a3db0623276342c7b83e045373f3ca90bc7cbcf52161cc1691635e2c7e5cc238f5bd429514d7da3cd37f SHA512 69a41c417b7e513c86ebb99c0f190293b7f2be86b2314a167351fed6f32a6fbde5a046aeff9a84bb33a080bafa2aa5b9c36344b23f5a0c3c9de2a34a13664185
AUX musescore-4.0.2-uncompressed-man-pages.patch 1751 BLAKE2B fda5f061ed181fc9ad115d7dac20d7fe4b0d22845a2519b372bd8848119591eac4a25abcbd3abbfcd6da851903fe9ba5d8962ef3e2f6344f407067cc8234be22 SHA512 bdebd3a23b1a2ab3f735e12536627096004f31e117715efee9e489e717ddc8a5dd2a045727db923c2f6969582d3c3d6136234392f229c020e1be13035072769e
+AUX musescore-4.2.0-dynamic_cast-crash.patch 342 BLAKE2B 1f36cc2648c10e8a79ad832bea2a95c963cf9dadf2d811191e31e52bd06b2087407819830b8e22132182f39dae2c21638c947964e62c11882cb743939b91951c SHA512 ba65e5a52d3b6e1d4dcc9332c03da27181d2548cfbc63e440882febca4d63230bdec451ba575513da57cdc5e02a158322dd56bf1cd373ac1afb58109ba278e4e
+AUX musescore-4.2.0-missing-headers.patch 975 BLAKE2B 4d3f078a060c516c3541a41983f31084705dc1958f3fa06817852307626ed3c07c2310d3de9a25f453f9ee068106c4a0b523031e85b52d7f76c206bfbd728d73 SHA512 783e5963b02611556c23dc556d77a6bee9182fbcdddf38c7c7e816c31298d83d44ab6a71d37092bb0f34555b58d1e8621ffca7bfc8aaff5fe919da0a1094c750
+AUX musescore-4.2.0-unbundle-deps.patch 3486 BLAKE2B 4262ad94a98dc0f425bea4309b64874e24aa40a00e1db6ccfd9240fb5801bcfd354b21a9e0d87511d8c1ed538764d6c0841edb661c95f32abc022f8792e2dca4 SHA512 39253f2882ec75aa67bd0144f6ae81aaa9a33ab629427c5feaa62414b1f9971665f67ba6743135c2a0b7bbca167b4dc4cd46f923ff3b82ee18fbc471221764a7
+AUX musescore-4.2.0-uncompressed-man-pages.patch 1556 BLAKE2B b2c032449faff891343af795dc7914c9a8f3774dee50565d1bdf7aed803b49ecf6623cc565c13a18dd021f82ed68ae7829522bd4efa5a81945a01d48ac3cb224 SHA512 9c67e752c7526106f6c0e2c6d39db2ad7844495596b519017cd609995fe76ea72ae9d93272ed1af4af43f63a0aee32915c96b73d8c07915358ce1c3adf636562
DIST MuseScore_General-0.2.0.tar.bz2 35122747 BLAKE2B 7f9cafb7912ab8c977842c51df69506d4ad3d1d37498c856978a2d5ab50a1c4fe9145a4807f8c353e6f14138704abb2bbd70c948f1621b494c6e0458c2df0184 SHA512 69eeb22e8c9d1d393a2af857baeb8e49bf2a492651d18190685c74df84a5f6b424e37077e39d9d69c117c4896ea1fbb857eba25a1fbcb6f98d53f384a55713cc
DIST musescore-3.6.2.tar.gz 69077899 BLAKE2B 4562267b2fd6498b0ba1e503a9117c2680035ccdb66f94bbd9b98ef1c37d4f9eb7d8a84cbac7726b67b9c95e4f076aaaf83087f4ded195150c42ec77462d48e8 SHA512 04ff1ddd82358c070640f81bbaa9c47c5da95aa57c56a5d1b975ad984744e0def17d5581da6bbeda1aae1c68470100d104d4f8a39ba33bf37bf8891ffcbf1d6e
DIST musescore-4.0.2.tar.gz 123962958 BLAKE2B aa31b5346a4c5cfc44f66cf266724c8439d03b449336c16a960df21201d460c21a9b645654584876cc8f20f96f7e95cc24980cda85544a2338ddb8523874fe5e SHA512 fda63124281c4e19160482dff5472889b8753f2389e3d115b2b8e23f3edb976df0912a4e554334a4fc7cc4f9a6945165a07e781fcc2eec46db373e298d9f3616
+DIST musescore-4.2.0.tar.gz 135490976 BLAKE2B 518b26a5263fc6da520cead315bbb6bf4e6a471e6bd68063a765355cef264f20722b8ad7e4207ecf58ec416240632744d70c3c1d5d58b245ce46c001a1898e72 SHA512 5494cc643e0d0bf104ed335b54f12955ce0041da93ceb81596ffdbf862b355056ca2011e3bc4ba31aa6ade08034e33fa5ad5a3b7a54bce991812894efb7f76aa
EBUILD musescore-3.6.2-r1.ebuild 3058 BLAKE2B 5352d979ff5f5f7a704f589f747d8a04900976e8da82b62cd9d65de6feede64bd78d604f38264c1a3302b3084c9a00a14f542a0c3ecbfa08d5d07bf3e8b143fe SHA512 2f07e56fe6d81bc00590839d2d5a1f30bea863a5d36aa9c5ae159b8719f39abafe08edde4a43683c24c6bf67962a2dc67696921a0a7e5d458cbfdf10f6fdf525
EBUILD musescore-4.0.2.ebuild 3238 BLAKE2B c2d958c37ecaaee685185cef2205839226e134da29219a7ce13bef26816777c44e07ac804b79225301e76466dfd7d840cd6e9ee886763d94b54e362e3575386e SHA512 8fb14f660f29a32b9b0b2cd287b0dad74859aa45ae4a46fc1bd37262d6979542250b5528eb6e7c766472f02d6014e7b6961ba67909528d2deb454bb25af2c3e3
+EBUILD musescore-4.2.0.ebuild 3212 BLAKE2B 1ce86907ce505d53c059651d20eff253133a428ea2e214b6b6de7012b1658e40127a536557f110a2fd512ab41d085b04cf99c7efe45d2bd6be86524651a7ef1c SHA512 c18791f2f64ae3e088b7f68f1d512028897df55884ca84a33494e4e4444d7129c5c0809d49e3a62a62608dfba55dad17caab32d4573d9a2f14ca20023a026ef7
EBUILD musescore-9999.ebuild 3220 BLAKE2B 663c302b8a28c087c525a3e79c930fe5af401cdfeddec7197c691ba28681d6d457d2231e338cc2db5a2327bfd797f7666332a7ee608143be6997f812baed38f5 SHA512 5f3bc962d9cf91cbc8029d270d1fb1abad34edffc62ea2bbd35ec2e9ff38ff9c71f1bdd028b65aafb6408312cc21b557eebf2728d51ae2a33ad24facafbb5d78
-MISC metadata.xml 985 BLAKE2B 96cb6ad1a75dd438aa3f2af961e6a8c2605538b1823fea3f4aa34ba981bdfc20706c563a480cc093f1c2ba6c86fd43be9e51f2fb604a1fd98f140e6213a4b54a SHA512 115b8aa8594842236e72a11b3962256db16236123e8f16010cbab46f3b74e56f024ac0ec5801ce7600915f47dfe2d2ae1abb4ec80d017329dc9ae3b6568aa6c6
+MISC metadata.xml 1071 BLAKE2B be5b19a5f93c9a3c12a57de52873a0be0d1b32d000f28189746e3b529ccf35d1df29865ac68212ef4114fcb50b542a606565795fb811257b940ae86131a425fc SHA512 52db410ccfdd0bbfc4f6e67ee275b03b8247d29fe17994a396532622a22221f890c0f8e83cac7f6ef8a6b05022f4f18d4049496caa08b0ba61f5cbc23ec8798d
diff --git a/media-sound/musescore/files/musescore-4.2.0-dynamic_cast-crash.patch b/media-sound/musescore/files/musescore-4.2.0-dynamic_cast-crash.patch
new file mode 100644
index 000000000000..0c9c43d11877
--- /dev/null
+++ b/media-sound/musescore/files/musescore-4.2.0-dynamic_cast-crash.patch
@@ -0,0 +1,11 @@
+--- a/src/engraving/style/style.cpp
++++ b/src/engraving/style/style.cpp
+@@ -42,7 +42,7 @@ using namespace mu::engraving;
+
+ const PropertyValue& MStyle::value(Sid idx) const
+ {
+- if (idx == Sid::NOSTYLE) {
++ if (idx == Sid::NOSTYLE || size_t(idx) >= m_values.size()) {
+ static PropertyValue dummy;
+ return dummy;
+ }
diff --git a/media-sound/musescore/files/musescore-4.2.0-missing-headers.patch b/media-sound/musescore/files/musescore-4.2.0-missing-headers.patch
new file mode 100644
index 000000000000..2a40ccc00c35
--- /dev/null
+++ b/media-sound/musescore/files/musescore-4.2.0-missing-headers.patch
@@ -0,0 +1,41 @@
+--- a/src/framework/ui/uimodule.h
++++ b/src/framework/ui/uimodule.h
+@@ -24,6 +24,7 @@
+ #define MU_UI_UIMODULE_H
+
+ #include "modularity/imodulesetup.h"
++#include <QtGlobal>
+
+ namespace mu::ui {
+ class UiConfiguration;
+--- a/src/framework/ui/view/interactiveprovider.h
++++ b/src/framework/ui/view/interactiveprovider.h
+@@ -26,6 +26,7 @@
+ #include <QVariant>
+ #include <QMap>
+ #include <QStack>
++#include <QEventLoop>
+
+ #include "modularity/ioc.h"
+ #include "../iinteractiveprovider.h"
+--- a/src/importexport/videoexport/internal/videowriter.cpp
++++ b/src/importexport/videoexport/internal/videowriter.cpp
+@@ -32,6 +32,8 @@
+
+ #include "log.h"
+
++#include <QPainter>
++
+ using namespace mu::iex::videoexport;
+ using namespace mu::project;
+ using namespace mu::notation;
+--- a/src/learn/view/learnpagemodel.h
++++ b/src/learn/view/learnpagemodel.h
+@@ -23,6 +23,7 @@
+ #define MU_LEARN_LEARNPAGEMODEL_H
+
+ #include <QObject>
++#include <QVariant>
+
+ #include "async/asyncable.h"
+
diff --git a/media-sound/musescore/files/musescore-4.2.0-unbundle-deps.patch b/media-sound/musescore/files/musescore-4.2.0-unbundle-deps.patch
new file mode 100644
index 000000000000..50b388814680
--- /dev/null
+++ b/media-sound/musescore/files/musescore-4.2.0-unbundle-deps.patch
@@ -0,0 +1,119 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -185,7 +185,7 @@ if (MUE_BUILD_UNIT_TESTS)
+ FULL_DOCS "List XML files outputted by google test."
+ )
+
+- add_subdirectory(thirdparty/googletest)
++ find_package(GTest REQUIRED)
+ endif(MUE_BUILD_UNIT_TESTS)
+
+ add_subdirectory(share)
+--- a/src/framework/audio/CMakeLists.txt
++++ b/src/framework/audio/CMakeLists.txt
+@@ -268,11 +268,18 @@ if (MUE_ENABLE_AUDIO_EXPORT)
+ ${CMAKE_CURRENT_LIST_DIR}/internal/soundtracks/soundtrackwriter.h
+ )
+
+- add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/lame lame)
+- add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/opusenc opusenc)
+- add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/flac flac)
++ pkg_check_modules(lame REQUIRED IMPORTED_TARGET lame)
++ pkg_check_modules(libopusenc REQUIRED IMPORTED_TARGET libopusenc)
++ pkg_check_modules(flac REQUIRED IMPORTED_TARGET flac)
++ pkg_check_modules(flacpp REQUIRED IMPORTED_TARGET flac++)
+
+- set(MODULE_LINK ${MODULE_LINK} lame opusenc flac)
++ set(MODULE_LINK
++ ${MODULE_LINK}
++ PkgConfig::lame
++ PkgConfig::libopusenc
++ PkgConfig::flac
++ PkgConfig::flacpp
++ )
+ endif()
+
+ if (ARCH_IS_X86_64)
+--- a/src/framework/audio/internal/encoders/mp3encoder.cpp
++++ b/src/framework/audio/internal/encoders/mp3encoder.cpp
+@@ -22,7 +22,7 @@
+
+ #include "mp3encoder.h"
+
+-#include "lame.h"
++#include "lame/lame.h"
+
+ using namespace mu;
+ using namespace mu::audio;
+--- a/src/framework/audio/internal/encoders/oggencoder.cpp
++++ b/src/framework/audio/internal/encoders/oggencoder.cpp
+@@ -22,7 +22,7 @@
+
+ #include "oggencoder.h"
+
+-#include "opusenc.h"
++#include "opus/opusenc.h"
+
+ #include "log.h"
+
+--- a/src/framework/global/CMakeLists.txt
++++ b/src/framework/global/CMakeLists.txt
+@@ -111,8 +111,6 @@ set(MODULE_SRC
+ ${CMAKE_CURRENT_LIST_DIR}/serialization/xmlstreamreader.h
+ ${CMAKE_CURRENT_LIST_DIR}/serialization/xmlstreamwriter.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/serialization/xmlstreamwriter.h
+- ${CMAKE_CURRENT_LIST_DIR}/thirdparty//tinyxml/tinyxml2.cpp
+- ${CMAKE_CURRENT_LIST_DIR}/thirdparty//tinyxml/tinyxml2.h
+ ${CMAKE_CURRENT_LIST_DIR}/serialization/zipreader.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/serialization/zipreader.h
+ ${CMAKE_CURRENT_LIST_DIR}/serialization/zipwriter.cpp
+@@ -130,6 +128,8 @@ set(MODULE_SRC
+ ${CMAKE_CURRENT_LIST_DIR}/concurrency/taskscheduler.h
+ )
+
++find_package(tinyxml2 REQUIRED)
++
+ if (GLOBAL_NO_INTERNAL)
+ set(MODULE_DEF ${MODULE_DEF} -DGLOBAL_NO_INTERNAL)
+ else()
+@@ -209,6 +209,7 @@ list(APPEND MODULE_INCLUDE
+ list(APPEND MODULE_LINK
+ ${FS_LIB}
+ ${Z_LIB}
++ tinyxml2::tinyxml2
+ )
+
+ if (MUE_ENABLE_CUSTOM_ALLOCATOR)
+--- a/src/framework/global/serialization/xmldom.cpp
++++ b/src/framework/global/serialization/xmldom.cpp
+@@ -21,7 +21,7 @@
+ */
+ #include "xmldom.h"
+
+-#include "thirdparty/tinyxml/tinyxml2.h"
++#include <tinyxml2.h>
+
+ #include "log.h"
+
+--- a/src/framework/global/serialization/xmlstreamreader.cpp
++++ b/src/framework/global/serialization/xmlstreamreader.cpp
+@@ -23,7 +23,7 @@
+
+ #include <cstring>
+
+-#include "thirdparty/tinyxml/tinyxml2.h"
++#include <tinyxml2.h>
+
+ #include "log.h"
+
+--- a/src/framework/testing/gtest.cmake
++++ b/src/framework/testing/gtest.cmake
+@@ -60,7 +60,7 @@ find_package(Qt5 COMPONENTS Core Gui REQUIRED)
+ target_link_libraries(${MODULE_TEST}
+ Qt5::Core
+ Qt5::Gui
+- gmock
++ GTest::gmock
+ global
+ ${MODULE_TEST_LINK}
+ )
diff --git a/media-sound/musescore/files/musescore-4.2.0-uncompressed-man-pages.patch b/media-sound/musescore/files/musescore-4.2.0-uncompressed-man-pages.patch
new file mode 100644
index 000000000000..12bcb0f2f42b
--- /dev/null
+++ b/media-sound/musescore/files/musescore-4.2.0-uncompressed-man-pages.patch
@@ -0,0 +1,29 @@
+--- a/build/cmake/SetupAppImagePackaging.cmake
++++ b/build/cmake/SetupAppImagePackaging.cmake
+@@ -99,7 +99,7 @@ configure_file(${MAN_TARGET} ${MAN_BUILD})
+ # Note: Compressing man pages is normal on Linux but not OpenBSD
+ find_program(GZIP_EXECUTABLE gzip DOC "A tool for compressing manpages (optional).")
+
+-if(GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
++if(GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD" AND false)
+ message(STATUS "Found 'gzip'. Man pages will be compressed.")
+ set(MAN_TARGET ${MAN_BUILD})
+ set(MAN_EXTENSION ${MAN_EXTENSION}.gz)
+@@ -116,7 +116,7 @@ if(GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
+ COMMAND echo "Man pages have been compressed ready for installation."
+ VERBATIM
+ )
+-else(GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
++else(GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD" AND false)
+ if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
+ message(STATUS "System is OpenBSD: Man pages will not be compressed.")
+ else(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
+@@ -127,7 +127,7 @@ else(GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
+ COMMAND echo "Man pages will be installed uncompressed."
+ VERBATIM
+ )
+-endif(GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
++endif(GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD" AND false)
+
+ # Install man pages in either compressed or uncompressed form
+ install(FILES ${MAN_BUILD} DESTINATION share/man/man1 COMPONENT doc)
diff --git a/media-sound/musescore/metadata.xml b/media-sound/musescore/metadata.xml
index c17629b67a33..bb8981f3fa8a 100644
--- a/media-sound/musescore/metadata.xml
+++ b/media-sound/musescore/metadata.xml
@@ -17,5 +17,6 @@
<flag name="sf3">Enable SoundFont 3 support using <pkg>media-libs/libvorbis</pkg></flag>
<flag name="sfz">Enable experimental SFZ sampler</flag>
<flag name="webengine">Use <pkg>dev-qt/qtwebengine</pkg> for embedded web browser</flag>
+ <flag name="video">Support exporting scores as videos using the command line</flag>
</use>
</pkgmetadata>
diff --git a/media-sound/musescore/musescore-4.2.0.ebuild b/media-sound/musescore/musescore-4.2.0.ebuild
new file mode 100644
index 000000000000..8517858ee081
--- /dev/null
+++ b/media-sound/musescore/musescore-4.2.0.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHECKREQS_DISK_BUILD=3500M
+VIRTUALX_REQUIRED="test"
+inherit cmake qmake-utils xdg check-reqs virtualx
+
+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="test video"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-qt/linguist-tools:5
+ virtual/pkgconfig
+"
+RDEPEND="
+ dev-libs/tinyxml2:=
+ dev-qt/designer:5
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qthelp:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtnetworkauth:5
+ dev-qt/qtopengl:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtquickcontrols:5
+ dev-qt/qtquickcontrols2:5
+ >=dev-qt/qtsingleapplication-2.6.1_p20171024[X]
+ dev-qt/qtsvg:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ dev-qt/qtxmlpatterns:5
+ >=media-libs/alsa-lib-1.0.0
+ media-libs/flac:=
+ >=media-libs/freetype-2.5.2
+ media-libs/libopusenc
+ media-libs/libsndfile
+ media-libs/opus
+ media-sound/lame
+ sys-libs/zlib:=
+ video? ( media-video/ffmpeg )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-uncompressed-man-pages.patch"
+ "${FILESDIR}/${P}-unbundle-deps.patch"
+ "${FILESDIR}/${P}-missing-headers.patch"
+ "${FILESDIR}/${P}-dynamic_cast-crash.patch"
+)
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]]; then
+ git-r3_src_unpack
+ unpack ${A}
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Move soundfonts to the correct directory
+ mv -v "${WORKDIR}"/sound/* "${S}"/share/sound/ || die "Failed to move soundfont files"
+
+ # Make sure we don't accidentally use bundled third party deps
+ # for which we want to use system packages instead.
+ rm -r thirdparty/{flac,googletest,lame,opus,opusenc} \
+ || die "Failed to remove unused thirdparty directories"
+}
+
+src_configure() {
+ # bug #766111
+ export PATH="$(qt5_get_bindir):${PATH}"
+
+ local mycmakeargs=(
+ -DCMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS}"
+ -DCMAKE_C_FLAGS_RELEASE="${CFLAGS}"
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_SKIP_RPATH=TRUE
+ -DMUE_BUILD_CRASHPAD_CLIENT=OFF
+ -DMUE_BUILD_UNIT_TESTS="$(usex test)"
+ -DMUE_BUILD_UPDATE_MODULE=OFF
+ -DMUE_BUILD_VIDEOEXPORT_MODULE="$(usex video)"
+ -DMUE_COMPILE_USE_CCACHE=OFF
+ -DMUE_COMPILE_USE_SYSTEM_FREETYPE=ON
+ -DMUE_DOWNLOAD_SOUNDFONT=OFF
+ -DMUSESCORE_BUILD_MODE=release
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cd "${BUILD_DIR}" || die
+ cmake_build lrelease manpages
+ cmake_src_compile
+}
+
+src_test() {
+ virtx cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ # Hack to not install bundled libraries
+ rm -rf "${ED}/usr/include" "${ED}/usr/$(get_libdir)" || die
+}