git: 8de7c0df7381 - main - audio/musescore3: re-introduce version 3

From: Adriaan de Groot <adridg_at_FreeBSD.org>
Date: Tue, 27 Feb 2024 18:40:52 UTC
The branch main has been updated by adridg:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8de7c0df73811438b5f49cad2d7bdba490f811d1

commit 8de7c0df73811438b5f49cad2d7bdba490f811d1
Author:     Adriaan de Groot <adridg@FreeBSD.org>
AuthorDate: 2024-02-05 20:51:54 +0000
Commit:     Adriaan de Groot <adridg@FreeBSD.org>
CommitDate: 2024-02-27 18:40:50 +0000

    audio/musescore3: re-introduce version 3
    
    Version 3 of MuseScore was, well, the decently Open-Source version of
    MuseScore. It also does engraving somewhat differently from version 4,
    and some folks prefer that.
    
    PR:             273965
    Provided by:    Keith White
---
 audio/Makefile                                     |   1 +
 audio/musescore3/Makefile                          |  88 ++++++
 audio/musescore3/distinfo                          |   5 +
 audio/musescore3/files/mscore3.desktop             |  19 ++
 audio/musescore3/files/patch-CMakeLists.txt        |  97 ++++++
 audio/musescore3/files/patch-aeolus_CMakeLists.txt |  18 ++
 audio/musescore3/files/patch-all.h                 |  27 ++
 audio/musescore3/files/patch-audio_CMakeLists.txt  |  11 +
 .../musescore3/files/patch-audio_drivers_alsa.cpp  |  10 +
 .../files/patch-audio_drivers_alsamidi.h           |  11 +
 .../files/patch-audio_drivers_mididriver.cpp       |  18 ++
 .../files/patch-audiofile_CMakeLists.txt           |  11 +
 audio/musescore3/files/patch-avsomr_CMakeLists.txt |  11 +
 audio/musescore3/files/patch-awl_CMakeLists.txt    |  20 ++
 .../musescore3/files/patch-bww2mxml_CMakeLists.txt |  11 +
 .../musescore3/files/patch-effects_CMakeLists.txt  |  11 +
 .../files/patch-fonttools_CMakeLists.txt           |  11 +
 .../files/patch-importexport_CMakeLists.txt        |  11 +
 .../files/patch-libmscore_CMakeLists.txt           |  11 +
 audio/musescore3/files/patch-main_CMakeLists.txt   |  59 ++++
 .../files/patch-miditools_CMakeLists.txt           |  20 ++
 audio/musescore3/files/patch-mscore_CMakeLists.txt |  70 +++++
 audio/musescore3/files/patch-mtest_CMakeLists.txt  |  18 ++
 audio/musescore3/files/patch-omr_CMakeLists.txt    |  11 +
 .../files/patch-thirdparty_beatroot_CMakeLists.txt |  17 +
 .../files/patch-thirdparty_ofqf_CMakeLists.txt     |  11 +
 ...h-thirdparty_qt-google-analytics_ganalytics.cpp |  11 +
 .../files/patch-thirdparty_qzip_CMakeLists.txt     |  11 +
 .../files/patch-thirdparty_rtf2html_CMakeLists.txt |  17 +
 .../patch-thirdparty_singleapp_src_CMakeLists.txt  |  11 +
 audio/musescore3/pkg-descr                         |  17 +
 audio/musescore3/pkg-plist                         | 345 +++++++++++++++++++++
 32 files changed, 1020 insertions(+)

diff --git a/audio/Makefile b/audio/Makefile
index 77214476b00d..e291b2f041df 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -505,6 +505,7 @@
     SUBDIR += muse-sequencer
     SUBDIR += musepack
     SUBDIR += musescore
+    SUBDIR += musescore3
     SUBDIR += musiccontrol
     SUBDIR += musicpc
     SUBDIR += musicpd
diff --git a/audio/musescore3/Makefile b/audio/musescore3/Makefile
new file mode 100644
index 000000000000..0f57c947ae54
--- /dev/null
+++ b/audio/musescore3/Makefile
@@ -0,0 +1,88 @@
+PORTNAME=	${GH_PROJECT:tl}3
+DISTVERSIONPREFIX=	v
+DISTVERSION=	3.6.2
+CATEGORIES=	audio
+
+MAINTAINER=	adridg@FreeBSD.org
+COMMENT=	Free music composition & notation software (legacy version)
+WWW=		https://musescore.org/
+
+LICENSE=	GPLv2
+LICENSE_FILE=	${WRKSRC}/LICENSE.GPL
+
+LIB_DEPENDS=	libmp3lame.so:audio/lame \
+		libsndfile.so:audio/libsndfile \
+		libvorbis.so:audio/libvorbis \
+		libogg.so:audio/libogg \
+		libfreetype.so:print/freetype2
+
+USES=		cmake compiler:c++11-lib desktop-file-utils localbase \
+		pkgconfig qt:5 shared-mime-info
+USE_QT=		concurrent core declarative designer graphicaleffects gui \
+		help location network opengl printsupport \
+		quickcontrols2 scripttools sql svg testlib \
+		webchannel widgets xml xmlpatterns \
+		buildtools:build linguisttools:build qmake:build uitools:build
+
+USE_GITHUB=	yes
+GH_PROJECT=	MuseScore
+GH_ACCOUNT=	musescore
+
+
+# Each release gets a subdir containing the distfiles for that release,
+# so hope that scanning the parent dir finds new ones.
+#
+# Note needs PORTVERSION:R once there is a .minor version
+DATADIR=	${PREFIX}/share/mscore-${PORTVERSION:R}
+
+ALL_TARGET=	lrelease manpages all
+
+CMAKE_OFF=	BUILD_PORTMIDI BUILD_PCH MSCORE_UNSTABLE
+CMAKE_ON=	USE_SYSTEM_FREETYPE
+CMAKE_BUILD_TYPE=	release
+
+# WebEngine is only available on i386/amd64, amd ppc64 starting FreeBSD 13.0.
+# If enabled on arches that don't have WebEngine, the build breaks.
+OPTIONS_DEFINE=		ALSA JACK PORTAUDIO PULSEAUDIO WEBENGINE
+OPTIONS_DEFAULT=	PORTAUDIO
+OPTIONS_DEFAULT_amd64=	WEBENGINE
+OPTIONS_DEFAULT_i386=	WEBENGINE
+
+WEBENGINE_DESC=		Use WebEngine in the welcome panel
+
+ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
+ALSA_CMAKE_BOOL=	BUILD_ALSA HAS_MIDI
+JACK_LIB_DEPENDS=	libjack.so:audio/jack
+JACK_CMAKE_BOOL=	BUILD_JACK
+PORTAUDIO_LIB_DEPENDS=	libportaudio.so:audio/portaudio
+PORTAUDIO_CMAKE_BOOL=	BUILD_PORTAUDIO
+PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
+PULSEAUDIO_CMAKE_BOOL=	BUILD_PULSEAUDIO
+WEBENGINE_USE=		qt=webengine
+WEBENGINE_CMAKE_BOOL=	BUILD_WEBENGINE
+
+post-install:
+	${MV} ${STAGEDIR}${PREFIX}/bin/mscore ${STAGEDIR}${PREFIX}/bin/mscore3
+	${RM} ${STAGEDIR}${PREFIX}/bin/musescore
+	${LN} -s mscore3 ${STAGEDIR}${PREFIX}/bin/musescore3
+	${MV} ${STAGEDIR}${PREFIX}/man/man1/mscore.1.gz ${STAGEDIR}${PREFIX}/man/man1/mscore3.1.gz
+	${RM} ${STAGEDIR}${PREFIX}/man/man1/musescore.1.gz
+	${LN} -s mscore3.1.gz ${STAGEDIR}${PREFIX}/man/man1/musescore3.1.gz
+	${RM} ${STAGEDIR}${DATADIR}/sound/MuseScore_General.sf3
+	${INSTALL_DATA} ${DISTDIR}/MuseScore_General.sf3 ${STAGEDIR}${DATADIR}/sound/
+	${FIND} ${STAGEDIR}${PREFIX} -name mscore.png -execdir ${MV} mscore.png mscore3.png \;
+	${RM} ${STAGEDIR}${PREFIX}/share/applications/mscore.desktop
+	${INSTALL_DATA} ${FILESDIR}/mscore3.desktop ${STAGEDIR}${PREFIX}/share/applications/
+
+.include <bsd.port.pre.mk>
+
+DISTFILES+=	MuseScore_General.sf3:sfont
+MASTER_SITES+=	https://ftp.osuosl.org/pub/musescore/soundfont/MuseScore_General/:sfont
+EXTRACT_ONLY=	${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}_GH0${EXTRACT_SUFX}
+
+.if ${CHOSEN_COMPILER_TYPE} == clang
+CXXFLAGS+=	-Wno-inconsistent-missing-override
+.endif
+
+.include <bsd.port.post.mk>
+
diff --git a/audio/musescore3/distinfo b/audio/musescore3/distinfo
new file mode 100644
index 000000000000..c3a4441c62f0
--- /dev/null
+++ b/audio/musescore3/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1695147689
+SHA256 (MuseScore_General.sf3) = 5b85b6c2c61d10b2b91cddd41efcce7b25cd31c8271d511c73afafbef20b6fa3
+SIZE (MuseScore_General.sf3) = 39900972
+SHA256 (musescore-MuseScore-v3.6.2_GH0.tar.gz) = c37acc6d7a316f04925265d2d22a35d715888580e16eff846e9b621954133c45
+SIZE (musescore-MuseScore-v3.6.2_GH0.tar.gz) = 69077899
diff --git a/audio/musescore3/files/mscore3.desktop b/audio/musescore3/files/mscore3.desktop
new file mode 100644
index 000000000000..6199d95268cb
--- /dev/null
+++ b/audio/musescore3/files/mscore3.desktop
@@ -0,0 +1,19 @@
+[Desktop Entry]
+Version=1.0
+Name=MuseScore 3.6
+GenericName=Music notation
+GenericName[de]=Notensatz
+GenericName[fr]=Notation musicale
+Comment=Create, play and print sheet music
+Comment[ru]=Визуальный редактор нотных партитур
+Comment[fr]=Gravure de partitions musicales
+Exec=mscore3 %F
+Icon=mscore3
+StartupNotify=true
+StartupWMClass=mscore
+Terminal=false
+Type=Application
+Categories=Qt;Audio;Sequencer;Midi;AudioVideoEditing;Music;AudioVideo;
+Keywords=music;notation;composition;composing;arranging;making;sheet music;music notation software;lead sheet;leadsheet;score;full score;scorewriter;MIDI;musicxml;playback;instrument;
+Keywords[de]=Musik;Noten;Musiknoten;Komposition;Komponieren;Arrangieren;Notenblatt;Notenblätter;Notationsprogramm;Musiknotationsprogramm;Musiknotation;Tabulatur;MIDI;musicxml;Instrument;
+MimeType=application/x-musescore;application/x-musescore+xml;application/vnd.recordare.musicxml;application/vnd.recordare.musicxml+xml;audio/midi;application/x-bww;application/x-biab;application/x-capella;audio/x-gtp;application/x-musedata;application/x-overture;audio/x-ptb;application/x-sf2;application/x-sf3;
diff --git a/audio/musescore3/files/patch-CMakeLists.txt b/audio/musescore3/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..ab903adb9122
--- /dev/null
+++ b/audio/musescore3/files/patch-CMakeLists.txt
@@ -0,0 +1,97 @@
+--- CMakeLists.txt.orig	2023-09-19 20:26:02.967705000 +0000
++++ CMakeLists.txt	2023-09-19 20:26:07.529933000 +0000
+@@ -25,7 +25,7 @@
+ include(build/functions.cmake) # library of CMake functions ("fn__" namespace)
+ 
+ # Print Qt version or fail the build if Qt (qmake) is not in PATH.
+-fn__require_program(QMAKE Qt --version "https://musescore.org/en/handbook/developers-handbook/compilation" qmake)
++fn__require_program(QMAKE Qt --version "https://musescore.org/en/handbook/developers-handbook/compilation" qmake-qt5)
+ 
+ # Libraries linked via full path no longer produce linker search paths.
+ cmake_policy(SET CMP0003 NEW)
+@@ -108,7 +108,7 @@
+ add_definitions(-DMUSESCORE_REVISION="${MUSESCORE_REVISION}")
+ 
+ # Setup version number and general build settings
+-SET(MUSESCORE_BUILD_CONFIG "dev" CACHE STRING "Build config")
++SET(MUSESCORE_BUILD_CONFIG "release" CACHE STRING "Build config")
+ # Possible MUSESCORE_BUILD_CONFIG values:
+ # - dev     - for development/nightly builds
+ # - testing - for testing versions (alpha, beta, RC)
+@@ -157,7 +157,7 @@
+ option(USE_SYSTEM_FREETYPE "Use system FreeType"          OFF) # requires freetype >= 2.5.2, does not work on win
+ option(USE_SYSTEM_POPPLER  "Use system Poppler for OMR"   OFF)
+ option(BUILD_LAME    "Enable MP3 export"                  ON)  # Requires libmp3lame, call CMake with -DBUILD_LAME="OFF" to disable
+-option(DOWNLOAD_SOUNDFONT "Download the latest soundfont version as part of the build process" ON)
++option(DOWNLOAD_SOUNDFONT "Download the latest soundfont version as part of the build process" OFF)
+ 
+ # licence incompatibility, must never be distributed
+ set(OCR OFF)
+@@ -629,6 +629,38 @@
+       set_target_properties(oggdll PROPERTIES IMPORTED_IMPLIB ${OGG_LIBRARY})
+    else (MINGW OR MSVC)
+       set(SNDFILE_LIB sndfile)
++      message(STATUS "Looking for support libraries")
++      PKGCONFIG1(sndfile 1.0 SNDFILE_INCDIR SNDFILE_LIBDIR SNDFILE_LIB SNDFILE_CPP)
++      PKGCONFIG1(ogg 1.0 OGG_INCDIR OGG_LIBDIR OGG_LIB OGG_CPP)
++      PKGCONFIG1(vorbis 1.0 VORBIS_INCDIR VORBIS_LIBDIR VORBIS_LIB VORBIS_CPP)
++      message(STATUS "sndfile=${SNDFILE_LIBDIR} ogg=${OGG_LIBDIR} vorbis=${VORBIS_LIBDIR}")
++      if (SNDFILE_LIB)
++        find_library(_l sndfile PATHS ${SNDFILE_LIBDIR})
++        if (_l)
++          add_library(sndfile UNKNOWN IMPORTED)
++          set_target_properties(sndfile PROPERTIES
++            IMPORTED_LOCATION ${_l}
++            INTERFACE_INCLUDE_DIRECTORIES ${SNDFILE_INCDIR})
++        endif()
++      endif()
++      if (OGG_LIB)
++        find_library(_l ogg PATHS ${OGG_LIBDIR})
++        if (_l)
++          add_library(ogg UNKNOWN IMPORTED)
++          set_target_properties(ogg PROPERTIES
++            IMPORTED_LOCATION ${_l}
++            INTERFACE_INCLUDE_DIRECTORIES ${OGG_INCDIR})
++        endif()
++      endif()
++      if (VORBIS_LIB)
++        find_library(_l vorbis PATHS ${VORBIS_LIBDIR})
++        if (_l)
++          add_library(vorbis UNKNOWN IMPORTED)
++          set_target_properties(vorbis PROPERTIES
++            IMPORTED_LOCATION ${_l}
++            INTERFACE_INCLUDE_DIRECTORIES ${VORBIS_INCDIR})
++        endif()
++      endif()
+    endif (MINGW OR MSVC)
+    set(OGG_LIB ogg)
+ 
+@@ -733,7 +765,7 @@
+             )
+     endif (GZIP_EXECUTABLE AND NOT CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
+     # Install man pages in either compressed or uncompressed form
+-    install( FILES ${MAN_BUILD} DESTINATION share/man/man1 COMPONENT doc)
++    install( FILES ${MAN_BUILD} DESTINATION man/man1 COMPONENT doc)
+     # Create symlink alias for man pages so `man musescore` = `man mscore`
+     find_program( LN_EXECUTABLE ln DOC "A tool for creating symbolic link aliases (optional)." )
+     if (LN_EXECUTABLE)
+@@ -744,7 +776,7 @@
+             COMMAND ${LN_EXECUTABLE} -sf "${MAN_FULL_NAME}" "${MAN_FULL_ALIAS}"
+             COMMAND echo 'Symlink alias: ${MAN_FULL_ALIAS} -> ${MAN_FULL_NAME}'
+             )
+-        install( FILES ${PROJECT_BINARY_DIR}/${MAN_FULL_ALIAS} DESTINATION share/man/man1 COMPONENT doc)
++        install( FILES ${PROJECT_BINARY_DIR}/${MAN_FULL_ALIAS} DESTINATION man/man1 COMPONENT doc)
+      else (LN_EXECUTABLE)
+          message(STATUS "'ln' not found (it is optional). No symlink aliases will be created.")
+      endif (LN_EXECUTABLE)
+@@ -771,8 +803,8 @@
+ # MSVC does not require these targets, as all.h is not copied and the
+ #   PCH generation is done per-project
+ if (NOT MSVC)
+-   ADD_CUSTOM_TARGET(mops1 DEPENDS ${PROJECT_BINARY_DIR}/all.h)
+-   ADD_CUSTOM_TARGET(mops2 DEPENDS ${PCH})
++   ADD_CUSTOM_TARGET(mops1 DEPENDS ) # ${PROJECT_BINARY_DIR}/all.h)
++   ADD_CUSTOM_TARGET(mops2 DEPENDS ) # ${PCH})
+ endif (NOT MSVC)
+ 
+ ##
diff --git a/audio/musescore3/files/patch-aeolus_CMakeLists.txt b/audio/musescore3/files/patch-aeolus_CMakeLists.txt
new file mode 100644
index 000000000000..13b6cc99642a
--- /dev/null
+++ b/audio/musescore3/files/patch-aeolus_CMakeLists.txt
@@ -0,0 +1,18 @@
+--- aeolus/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ aeolus/CMakeLists.txt
+@@ -43,13 +43,13 @@ if (NOT MSVC)
+    set_target_properties (
+       aeolus
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties (
+       aeolus
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} ${PCH_FORCE_USE}"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h ${PCH_FORCE_USE}"
+       )
+ endif (NOT MSVC)   
+ 
diff --git a/audio/musescore3/files/patch-all.h b/audio/musescore3/files/patch-all.h
new file mode 100644
index 000000000000..312cdeb669ac
--- /dev/null
+++ b/audio/musescore3/files/patch-all.h
@@ -0,0 +1,27 @@
+--- all.h.orig	2021-02-06 15:14:17 UTC
++++ all.h
+@@ -34,12 +34,12 @@
+    #define _HAS_AUTO_PTR_ETC 1
+ #endif
+ 
+-#include <stdio.h>
+-#include <limits.h>
++#include <cstdio>
++#include <climits>
+ #include <map>
+ #include <set>
+ #include <deque>
+-#include <errno.h>
++#include <cerrno>
+ #include <fcntl.h>
+ // VStudio does not have <unistd.h>, <io.h> & <process.h> replace many functions from it...
+ #if (defined (_MSCVER) || defined (_MSC_VER))
+@@ -48,7 +48,7 @@
+ #else
+    #include <unistd.h>
+ #endif
+-#include <math.h>
++#include <cmath>
+ #include <array>
+ #include <functional>
+ #include <memory>
diff --git a/audio/musescore3/files/patch-audio_CMakeLists.txt b/audio/musescore3/files/patch-audio_CMakeLists.txt
new file mode 100644
index 000000000000..e9121c16bfb0
--- /dev/null
+++ b/audio/musescore3/files/patch-audio_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- audio/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ audio/CMakeLists.txt
+@@ -61,7 +61,7 @@ if (NOT MSVC)
+    set_target_properties (
+       ${MODULE}
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties (
diff --git a/audio/musescore3/files/patch-audio_drivers_alsa.cpp b/audio/musescore3/files/patch-audio_drivers_alsa.cpp
new file mode 100644
index 000000000000..6894e7f3b4ac
--- /dev/null
+++ b/audio/musescore3/files/patch-audio_drivers_alsa.cpp
@@ -0,0 +1,10 @@
+--- audio/drivers/alsa.cpp.orig	2022-01-29 16:19:41 UTC
++++ audio/drivers/alsa.cpp
+@@ -616,6 +616,7 @@ AlsaAudio::~AlsaAudio()
+       {
+       stop();
+       delete alsa;
++      delete midiDriver;
+       }
+ 
+ //---------------------------------------------------------
diff --git a/audio/musescore3/files/patch-audio_drivers_alsamidi.h b/audio/musescore3/files/patch-audio_drivers_alsamidi.h
new file mode 100644
index 000000000000..97cf379f80ec
--- /dev/null
+++ b/audio/musescore3/files/patch-audio_drivers_alsamidi.h
@@ -0,0 +1,11 @@
+--- audio/drivers/alsamidi.h.orig	2022-01-29 22:16:06 UTC
++++ audio/drivers/alsamidi.h
+@@ -47,7 +47,7 @@ class AlsaMidiDriver : public MidiDriver {
+ 
+    public:
+       AlsaMidiDriver(Seq* s);
+-      virtual ~AlsaMidiDriver() {}
++      ~AlsaMidiDriver();
+       virtual bool init();
+       virtual Port registerOutPort(const QString& name);
+       virtual Port registerInPort(const QString& name);
diff --git a/audio/musescore3/files/patch-audio_drivers_mididriver.cpp b/audio/musescore3/files/patch-audio_drivers_mididriver.cpp
new file mode 100644
index 000000000000..448f6158424e
--- /dev/null
+++ b/audio/musescore3/files/patch-audio_drivers_mididriver.cpp
@@ -0,0 +1,18 @@
+--- audio/drivers/mididriver.cpp.orig	2022-01-29 16:09:37 UTC
++++ audio/drivers/mididriver.cpp
+@@ -112,8 +112,14 @@ static const unsigned int outCap = SND_SEQ_PORT_CAP_SU
+ //---------------------------------------------------------
+ 
+ AlsaMidiDriver::AlsaMidiDriver(Seq* s)
+-   : MidiDriver(s)
++    : MidiDriver(s), alsaSeq(0)
+       {
++      }
++
++AlsaMidiDriver::~AlsaMidiDriver()
++      {
++      if (alsaSeq)
++            snd_seq_close(alsaSeq);
+       }
+ 
+ //---------------------------------------------------------
diff --git a/audio/musescore3/files/patch-audiofile_CMakeLists.txt b/audio/musescore3/files/patch-audiofile_CMakeLists.txt
new file mode 100644
index 000000000000..5625180e5eca
--- /dev/null
+++ b/audio/musescore3/files/patch-audiofile_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- audiofile/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ audiofile/CMakeLists.txt
+@@ -40,7 +40,7 @@ if (NOT MSVC)
+    set_target_properties (
+       audiofile
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties (
diff --git a/audio/musescore3/files/patch-avsomr_CMakeLists.txt b/audio/musescore3/files/patch-avsomr_CMakeLists.txt
new file mode 100644
index 000000000000..a841f77d0dfb
--- /dev/null
+++ b/audio/musescore3/files/patch-avsomr_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- avsomr/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ avsomr/CMakeLists.txt
+@@ -72,7 +72,7 @@ if (NOT MSVC)
+    set_target_properties (
+       avsomr
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties (
diff --git a/audio/musescore3/files/patch-awl_CMakeLists.txt b/audio/musescore3/files/patch-awl_CMakeLists.txt
new file mode 100644
index 000000000000..516e1a565e1a
--- /dev/null
+++ b/audio/musescore3/files/patch-awl_CMakeLists.txt
@@ -0,0 +1,20 @@
+--- awl/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ awl/CMakeLists.txt
+@@ -51,7 +51,7 @@ if (NOT MSVC)
+    set_target_properties (
+       awl
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties (
+@@ -107,7 +107,7 @@ else (NOT MSVC)
+    set_target_properties (
+       awlplugin
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -D_GNU_SOURCE -D_REENTRANT -DHAVE_CONFIG_H -DQT_PLUGIN -DQT_SHARED -DQT_NO_DEBUG"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -D_GNU_SOURCE -D_REENTRANT -DHAVE_CONFIG_H -DQT_PLUGIN -DQT_SHARED -DQT_NO_DEBUG"
+       )
+ endif (NOT MSVC)   
+ 
diff --git a/audio/musescore3/files/patch-bww2mxml_CMakeLists.txt b/audio/musescore3/files/patch-bww2mxml_CMakeLists.txt
new file mode 100644
index 000000000000..1810fa96fcab
--- /dev/null
+++ b/audio/musescore3/files/patch-bww2mxml_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- bww2mxml/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ bww2mxml/CMakeLists.txt
+@@ -47,7 +47,7 @@ if (NOT MINGW AND NOT APPLE AND NOT MSVC)
+    set_target_properties (
+          bww2mxml
+          PROPERTIES
+-            COMPILE_FLAGS "-x c++ -include ${PROJECT_BINARY_DIR}/all.h -g -Wall -Wextra -Winvalid-pch"
++            COMPILE_FLAGS "-x c++ -include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+          )
+ 
+    target_link_libraries(bww2mxml
diff --git a/audio/musescore3/files/patch-effects_CMakeLists.txt b/audio/musescore3/files/patch-effects_CMakeLists.txt
new file mode 100644
index 000000000000..992d227f262f
--- /dev/null
+++ b/audio/musescore3/files/patch-effects_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- effects/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ effects/CMakeLists.txt
+@@ -52,7 +52,7 @@ if (NOT MSVC)
+    set_target_properties (
+       effects
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties (
diff --git a/audio/musescore3/files/patch-fonttools_CMakeLists.txt b/audio/musescore3/files/patch-fonttools_CMakeLists.txt
new file mode 100644
index 000000000000..70bf18374d27
--- /dev/null
+++ b/audio/musescore3/files/patch-fonttools_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- fonttools/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ fonttools/CMakeLists.txt
+@@ -20,7 +20,7 @@ add_executable(
+ target_link_libraries(genft ${QT_LIBRARIES} -lfreetype)
+ 
+ if (NOT MSVC)
+-   set_target_properties(genft PROPERTIES COMPILE_FLAGS "-I/usr/include/freetype2 -g -Wall -Wextra -Winvalid-pch")
++   set_target_properties(genft PROPERTIES COMPILE_FLAGS "-I/usr/include/freetype2 -Wall -Wextra -Winvalid-pch")
+ else (NOT MSVC)
+    set_target_properties (
+       genft
diff --git a/audio/musescore3/files/patch-importexport_CMakeLists.txt b/audio/musescore3/files/patch-importexport_CMakeLists.txt
new file mode 100644
index 000000000000..25a3a89770ea
--- /dev/null
+++ b/audio/musescore3/files/patch-importexport_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- importexport/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ importexport/CMakeLists.txt
+@@ -69,7 +69,7 @@ if (NOT MSVC)
+    set_target_properties (
+       ${MODULE}
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties (
diff --git a/audio/musescore3/files/patch-libmscore_CMakeLists.txt b/audio/musescore3/files/patch-libmscore_CMakeLists.txt
new file mode 100644
index 000000000000..bbe228a0e1d7
--- /dev/null
+++ b/audio/musescore3/files/patch-libmscore_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- libmscore/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ libmscore/CMakeLists.txt
+@@ -127,7 +127,7 @@ if (NOT MSVC)
+    set_target_properties (
+       libmscore
+       PROPERTIES
+-         COMPILE_FLAGS "-g ${PCH_INCLUDE} -Wall -Wextra -Winvalid-pch -Woverloaded-virtual ${COVERAGE_OPTIONS}"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch -Woverloaded-virtual ${COVERAGE_OPTIONS}"
+       )
+ else (NOT MSVC)
+    set_target_properties (
diff --git a/audio/musescore3/files/patch-main_CMakeLists.txt b/audio/musescore3/files/patch-main_CMakeLists.txt
new file mode 100644
index 000000000000..4c10078a57d8
--- /dev/null
+++ b/audio/musescore3/files/patch-main_CMakeLists.txt
@@ -0,0 +1,59 @@
+--- main/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ main/CMakeLists.txt
+@@ -113,13 +113,13 @@ if (MINGW)
+    if(CMAKE_BUILD_TYPE MATCHES "DEBUG")
+      set_target_properties( mscore
+         PROPERTIES
+-           COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
++           COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
+            LINK_FLAGS "-mwindows -mconsole -L ${QT_INSTALL_LIBS}"
+         )
+    else(CMAKE_BUILD_TYPE MATCHES "DEBUG")
+      set_target_properties( mscore
+           PROPERTIES
+-             COMPILE_FLAGS "${PCH_INCLUDE} -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
++             COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
+              LINK_FLAGS "-Wl,-S -mwindows -L ${QT_INSTALL_LIBS}"
+           )
+    endif(CMAKE_BUILD_TYPE MATCHES "DEBUG")
+@@ -227,7 +227,7 @@ else (MINGW)
+ 
+    if ( NOT MSVC )
+       ## install qwebengine core
+-      if (NOT APPLE AND USE_WEBENGINE)
++      if (YOU_CANT_SERIOUSLY_SUGGEST_TO_COPY_WEBENGINE_EXECUTABLES_AROUND)
+          install(PROGRAMS
+             ${QT_INSTALL_LIBEXECS}/QtWebEngineProcess
+             DESTINATION bin
+@@ -240,12 +240,12 @@ else (MINGW)
+             ${QT_INSTALL_TRANSLATIONS}/qtwebengine_locales
+             DESTINATION lib/qt5/translations
+             )
+-      endif(NOT APPLE AND USE_WEBENGINE)
++      endif(YOU_CANT_SERIOUSLY_SUGGEST_TO_COPY_WEBENGINE_EXECUTABLES_AROUND)
+ 
+       set_target_properties (
+          mscore
+          PROPERTIES
+-            COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wno-overloaded-virtual -Winvalid-pch"
++            COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wno-overloaded-virtual -Winvalid-pch"
+          )
+ 
+       if (APPLE)
+@@ -324,14 +324,14 @@ else (MINGW)
+       if(CMAKE_BUILD_TYPE MATCHES "REL*")
+         set_target_properties( mscore
+            PROPERTIES
+-              COMPILE_FLAGS "${PCH_INCLUDE} ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
++              COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
+               LINK_FLAGS    "/LIBPATH:${QT_INSTALL_LIBS} ${all_library_paths}"
+               LINK_FLAGS "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup"
+            )
+       else(CMAKE_BUILD_TYPE MATCHES "REL*")
+         set_target_properties( mscore
+            PROPERTIES
+-              COMPILE_FLAGS "${PCH_INCLUDE} ${QT_DEFINITIONS} /DQT_SVG_LIB /DQT_GUI_LIB /DQT_XML_LIB /DQT_CORE_LIB"
++              COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h ${QT_DEFINITIONS} /DQT_SVG_LIB /DQT_GUI_LIB /DQT_XML_LIB /DQT_CORE_LIB"
+               LINK_FLAGS    "/LIBPATH:${QT_INSTALL_LIBS} ${all_library_paths}"
+               LINK_FLAGS "/SUBSYSTEM:CONSOLE"
+            )
diff --git a/audio/musescore3/files/patch-miditools_CMakeLists.txt b/audio/musescore3/files/patch-miditools_CMakeLists.txt
new file mode 100644
index 000000000000..ecf6ec0447b8
--- /dev/null
+++ b/audio/musescore3/files/patch-miditools_CMakeLists.txt
@@ -0,0 +1,20 @@
+--- miditools/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ miditools/CMakeLists.txt
+@@ -14,7 +14,7 @@ add_executable (smf2xml smf2xml.cpp xmlwriter.cpp midi
+ 
+ if (NOT MSVC)
+    set_target_properties(smf2xml
+-      PROPERTIES COMPILE_FLAGS "-g -Wall -Wextra"
++      PROPERTIES COMPILE_FLAGS "-Wall -Wextra"
+       )
+ else (NOT MSVC)
+    set_target_properties (smf2xml
+@@ -31,7 +31,7 @@ add_executable (xml2smf xml2smf.cpp xmlreader.cpp midi
+ if (NOT MSVC)
+    set_target_properties (
+       xml2smf
+-      PROPERTIES COMPILE_FLAGS "-g -Wall -Wextra"
++      PROPERTIES COMPILE_FLAGS "-Wall -Wextra"
+       )
+ else (NOT MSVC)
+    set_target_properties (
diff --git a/audio/musescore3/files/patch-mscore_CMakeLists.txt b/audio/musescore3/files/patch-mscore_CMakeLists.txt
new file mode 100644
index 000000000000..d509e90a820f
--- /dev/null
+++ b/audio/musescore3/files/patch-mscore_CMakeLists.txt
@@ -0,0 +1,70 @@
+--- mscore/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ mscore/CMakeLists.txt
+@@ -147,7 +147,7 @@ if (APPLE)
+       set_target_properties (
+          cocoabridge
+          PROPERTIES
+-         COMPILE_FLAGS "-g -Wall -Wextra -Winvalid-pch  -include ${PROJECT_SOURCE_DIR}/all.h"
++         COMPILE_FLAGS "-Wall -Wextra -Winvalid-pch  -include ${PROJECT_SOURCE_DIR}/all.h"
+          )
+ else (APPLE)
+       set(INCS "")
+@@ -354,13 +354,13 @@ if (MINGW)
+    if(CMAKE_BUILD_TYPE MATCHES "DEBUG")
+      set_target_properties( mscoreapp
+         PROPERTIES
+-           COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
++           COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
+            LINK_FLAGS "-mwindows -mconsole -L ${QT_INSTALL_LIBS}"
+         )
+    else(CMAKE_BUILD_TYPE MATCHES "DEBUG")
+      set_target_properties( mscoreapp
+           PROPERTIES
+-             COMPILE_FLAGS "${PCH_INCLUDE} -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
++             COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
+              LINK_FLAGS "-Wl,-S -mwindows -L ${QT_INSTALL_LIBS}"
+           )
+    endif(CMAKE_BUILD_TYPE MATCHES "DEBUG")
+@@ -394,7 +394,7 @@ else (MINGW)
+          )
+ 
+        if (USE_SYSTEM_FREETYPE)
+-            target_link_libraries(mscoreapp freetype)
++            target_link_libraries(mscoreapp ${FREETYPE_LIBRARIES})
+        else (USE_SYSTEM_FREETYPE)
+             target_link_libraries(mscoreapp mscore_freetype)
+        endif (USE_SYSTEM_FREETYPE)
+@@ -424,7 +424,7 @@ else (MINGW)
+       set_target_properties (
+          mscoreapp
+          PROPERTIES
+-            COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wno-overloaded-virtual -Winvalid-pch"
++            COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wno-overloaded-virtual -Winvalid-pch"
+          )
+ 
+       if (OMR)
+@@ -469,13 +469,13 @@ else (MINGW)
+       if(CMAKE_BUILD_TYPE MATCHES "REL*")
+         set_target_properties( mscoreapp
+            PROPERTIES
+-              COMPILE_FLAGS "${PCH_INCLUDE} ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
++              COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h ${QT_DEFINITIONS} -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB"
+               LINK_FLAGS    "/LIBPATH:${QT_INSTALL_LIBS} ${all_library_paths}"
+            )
+       else(CMAKE_BUILD_TYPE MATCHES "REL*")
+         set_target_properties( mscoreapp
+            PROPERTIES
+-              COMPILE_FLAGS "${PCH_INCLUDE} ${QT_DEFINITIONS} /DQT_SVG_LIB /DQT_GUI_LIB /DQT_XML_LIB /DQT_CORE_LIB"
++              COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h ${QT_DEFINITIONS} /DQT_SVG_LIB /DQT_GUI_LIB /DQT_XML_LIB /DQT_CORE_LIB"
+               LINK_FLAGS    "/LIBPATH:${QT_INSTALL_LIBS} ${all_library_paths}"
+            )
+       endif(CMAKE_BUILD_TYPE MATCHES "REL*")
+@@ -542,7 +542,7 @@ else (NOT MSVC)
+    set_target_properties (
+       inspectorplugin
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -D_GNU_SOURCE -D_REENTRANT -DHAVE_CONFIG_H -DQT_PLUGIN -DQT_SVG_LIB -DQT_SHARED -DQT_NO_DEBUG"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -D_GNU_SOURCE -D_REENTRANT -DHAVE_CONFIG_H -DQT_PLUGIN -DQT_SVG_LIB -DQT_SHARED -DQT_NO_DEBUG"
+       )
+ endif (NOT MSVC)
+ 
diff --git a/audio/musescore3/files/patch-mtest_CMakeLists.txt b/audio/musescore3/files/patch-mtest_CMakeLists.txt
new file mode 100644
index 000000000000..11e46ba596e9
--- /dev/null
+++ b/audio/musescore3/files/patch-mtest_CMakeLists.txt
@@ -0,0 +1,18 @@
+--- mtest/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ mtest/CMakeLists.txt
+@@ -144,12 +144,12 @@ set(CMAKE_CXX_FLAGS         "${CMAKE_CXX_FLAGS} ${Qt5W
+ string(REPLACE ";" ";-I" INC "${QT_INCLUDES}")
+ 
+ if (APPLE AND (CMAKE_VERSION VERSION_LESS "3.5.0"))
+-      set(TESTUTILS_COMPILE_FLAGS "-include all.h -D TESTROOT=\\\\\"${PROJECT_SOURCE_DIR}\\\\\" -g -Wall -Wextra")
++      set(TESTUTILS_COMPILE_FLAGS "-include all.h -D TESTROOT=\\\\\"${PROJECT_SOURCE_DIR}\\\\\" -Wall -Wextra")
+ else (APPLE AND (CMAKE_VERSION VERSION_LESS "3.5.0"))
+       if (MSVC)
+-            set(TESTUTILS_COMPILE_FLAGS "${PCH_INCLUDE}  /D TESTROOT=\\\"${PROJECT_SOURCE_DIR}\\\"")
++            set(TESTUTILS_COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h  /D TESTROOT=\\\"${PROJECT_SOURCE_DIR}\\\"")
+       else (MSVC)
+-            set(TESTUTILS_COMPILE_FLAGS "-include all.h -D TESTROOT=\\\"${PROJECT_SOURCE_DIR}\\\" -g -Wall -Wextra")
++            set(TESTUTILS_COMPILE_FLAGS "-include all.h -D TESTROOT=\\\"${PROJECT_SOURCE_DIR}\\\" -Wall -Wextra")
+       endif (MSVC)
+ endif (APPLE AND (CMAKE_VERSION VERSION_LESS "3.5.0"))
+ 
diff --git a/audio/musescore3/files/patch-omr_CMakeLists.txt b/audio/musescore3/files/patch-omr_CMakeLists.txt
new file mode 100644
index 000000000000..f40060e823df
--- /dev/null
+++ b/audio/musescore3/files/patch-omr_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- omr/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ omr/CMakeLists.txt
+@@ -48,7 +48,7 @@ if (NOT MSVC)
+    set_target_properties (
+       omr
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch -Wno-unused-private-field"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch -Wno-unused-private-field"
+       )
+ else (NOT MSVC)
+    set_target_properties (
diff --git a/audio/musescore3/files/patch-thirdparty_beatroot_CMakeLists.txt b/audio/musescore3/files/patch-thirdparty_beatroot_CMakeLists.txt
new file mode 100644
index 000000000000..2f9827c13c65
--- /dev/null
+++ b/audio/musescore3/files/patch-thirdparty_beatroot_CMakeLists.txt
@@ -0,0 +1,17 @@
+--- thirdparty/beatroot/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ thirdparty/beatroot/CMakeLists.txt
+@@ -15,12 +15,12 @@ add_library (
+ if (NOT MSVC)
+    set_target_properties( beatroot
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties ( beatroot
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} /wd4267"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h /wd4267"
+       )
+ endif (NOT MSVC)   
+ 
diff --git a/audio/musescore3/files/patch-thirdparty_ofqf_CMakeLists.txt b/audio/musescore3/files/patch-thirdparty_ofqf_CMakeLists.txt
new file mode 100644
index 000000000000..cb8a25f8acfb
--- /dev/null
+++ b/audio/musescore3/files/patch-thirdparty_ofqf_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- thirdparty/ofqf/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ thirdparty/ofqf/CMakeLists.txt
+@@ -42,7 +42,7 @@ if (NOT MSVC)
+    set_target_properties (
+       ofqf
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties (
diff --git a/audio/musescore3/files/patch-thirdparty_qt-google-analytics_ganalytics.cpp b/audio/musescore3/files/patch-thirdparty_qt-google-analytics_ganalytics.cpp
new file mode 100644
index 000000000000..e28a6ff478ae
--- /dev/null
+++ b/audio/musescore3/files/patch-thirdparty_qt-google-analytics_ganalytics.cpp
@@ -0,0 +1,11 @@
+--- thirdparty/qt-google-analytics/ganalytics.cpp.orig	2021-01-27 17:12:14 UTC
++++ thirdparty/qt-google-analytics/ganalytics.cpp
+@@ -381,7 +381,7 @@ QString GAnalytics::Private::getSystemInfo()
+             .arg(QAndroidJniObject::getStaticObjectField<jstring>("android/os/Build", "ID").toString())
+             .arg(QAndroidJniObject::getStaticObjectField<jstring>("android/os/Build", "BRAND").toString());
+ }
+-#elif defined(Q_OS_LINUX)
++#elif defined(Q_OS_UNIX)
+ #include <sys/utsname.h>
+ 
+ /**
diff --git a/audio/musescore3/files/patch-thirdparty_qzip_CMakeLists.txt b/audio/musescore3/files/patch-thirdparty_qzip_CMakeLists.txt
new file mode 100644
index 000000000000..950b4affd581
--- /dev/null
+++ b/audio/musescore3/files/patch-thirdparty_qzip_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- thirdparty/qzip/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ thirdparty/qzip/CMakeLists.txt
+@@ -35,7 +35,7 @@ if (NOT MSVC)
+    set_target_properties (
+       qzip
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties (
diff --git a/audio/musescore3/files/patch-thirdparty_rtf2html_CMakeLists.txt b/audio/musescore3/files/patch-thirdparty_rtf2html_CMakeLists.txt
new file mode 100644
index 000000000000..272d6de2b48c
--- /dev/null
+++ b/audio/musescore3/files/patch-thirdparty_rtf2html_CMakeLists.txt
@@ -0,0 +1,17 @@
+--- thirdparty/rtf2html/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ thirdparty/rtf2html/CMakeLists.txt
+@@ -43,12 +43,12 @@ add_library (
+ if (NOT MSVC)
+    set_target_properties( rtf2html
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties ( rtf2html
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} /wd4267"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h /wd4267"
+       )
+ endif (NOT MSVC)   
+ 
diff --git a/audio/musescore3/files/patch-thirdparty_singleapp_src_CMakeLists.txt b/audio/musescore3/files/patch-thirdparty_singleapp_src_CMakeLists.txt
new file mode 100644
index 000000000000..6e4458bf9f72
--- /dev/null
+++ b/audio/musescore3/files/patch-thirdparty_singleapp_src_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- thirdparty/singleapp/src/CMakeLists.txt.orig	2021-01-27 17:12:14 UTC
++++ thirdparty/singleapp/src/CMakeLists.txt
+@@ -37,7 +37,7 @@ if (NOT MSVC)
+    set_target_properties (
+       qtsingleapp
+       PROPERTIES
+-         COMPILE_FLAGS "${PCH_INCLUDE} -g -Wall -Wextra -Winvalid-pch"
++         COMPILE_FLAGS "-include ${PROJECT_BINARY_DIR}/all.h -Wall -Wextra -Winvalid-pch"
+       )
+ else (NOT MSVC)
+    set_target_properties (
diff --git a/audio/musescore3/pkg-descr b/audio/musescore3/pkg-descr
new file mode 100644
index 000000000000..7201bd82f331
--- /dev/null
+++ b/audio/musescore3/pkg-descr
@@ -0,0 +1,17 @@
+MuseScore is a free cross-platform WYSIWYG music notation program
+that offers a cost-effective alternative to commercial programs
+such as Sibelius and Finale.
+You can print beautifully engraved sheet music or save it as PDF
+or MIDI file.
+
+Some highlights:
+
+ * WYSIWYG, notes are entered on a "virtual note sheet"
+ * Unlimited number of staves
+ * Up to four voices per staff
+ * Easy and fast note entry with your keyboard, mouse, or MIDI keyboard
+ * Integrated sequencer and FluidSynth software synthesizer
+ * Import and export of MusicXML and Standard MIDI Files
+ * Available for Windows, Mac and Linux
+ * Translated in 43 languages
+ * GNU GPL licensed
diff --git a/audio/musescore3/pkg-plist b/audio/musescore3/pkg-plist
new file mode 100644
index 000000000000..bc3030f10dbf
--- /dev/null
+++ b/audio/musescore3/pkg-plist
@@ -0,0 +1,345 @@
+bin/mscore3
+bin/musescore3
+man/man1/mscore3.1.gz
+man/man1/musescore3.1.gz
+share/applications/mscore3.desktop
+share/icons/hicolor/128x128/apps/mscore3.png
+share/icons/hicolor/16x16/apps/mscore3.png
+share/icons/hicolor/24x24/apps/mscore3.png
+share/icons/hicolor/32x32/apps/mscore3.png
+share/icons/hicolor/48x48/apps/mscore3.png
+share/icons/hicolor/48x48/mimetypes/application-vnd.recordare.musicxml+xml.png
+share/icons/hicolor/48x48/mimetypes/application-vnd.recordare.musicxml.png
+share/icons/hicolor/48x48/mimetypes/application-x-musescore+xml.png
+share/icons/hicolor/48x48/mimetypes/application-x-musescore.png
+share/icons/hicolor/512x512/apps/mscore3.png
+share/icons/hicolor/64x64/apps/mscore3.png
+share/icons/hicolor/96x96/apps/mscore3.png
+share/icons/hicolor/scalable/apps/mscore.svg
+share/icons/hicolor/scalable/mimetypes/application-vnd.recordare.musicxml+xml.svg
+share/icons/hicolor/scalable/mimetypes/application-vnd.recordare.musicxml.svg
+share/icons/hicolor/scalable/mimetypes/application-x-musescore+xml.svg
+share/icons/hicolor/scalable/mimetypes/application-x-musescore.svg
+share/metainfo/org.musescore.MuseScore.appdata.xml
+share/mime/packages/musescore.xml
+%%DATADIR%%/demos/Brassed_Up.mscx
+%%DATADIR%%/demos/Dawn.mscx
+%%DATADIR%%/demos/Dynamic_Strings.mscx
+%%DATADIR%%/demos/Fugue_1.mscx
+%%DATADIR%%/demos/Reunion.mscz
+%%DATADIR%%/demos/Unclaimed_Gift.mscx
+%%DATADIR%%/instruments/instruments.xml
+%%DATADIR%%/instruments/orders.xml
+%%DATADIR%%/locale/instruments_af.qm
+%%DATADIR%%/locale/instruments_ar.qm
+%%DATADIR%%/locale/instruments_ar_DZ.qm
+%%DATADIR%%/locale/instruments_ar_EG.qm
+%%DATADIR%%/locale/instruments_ar_SD.qm
+%%DATADIR%%/locale/instruments_ast.qm
+%%DATADIR%%/locale/instruments_be.qm
+%%DATADIR%%/locale/instruments_bg.qm
+%%DATADIR%%/locale/instruments_br.qm
+%%DATADIR%%/locale/instruments_ca.qm
+%%DATADIR%%/locale/instruments_ca@valencia.qm
+%%DATADIR%%/locale/instruments_cs.qm
+%%DATADIR%%/locale/instruments_cy.qm
+%%DATADIR%%/locale/instruments_da.qm
+%%DATADIR%%/locale/instruments_de.qm
+%%DATADIR%%/locale/instruments_el.qm
+%%DATADIR%%/locale/instruments_en_GB.qm
+%%DATADIR%%/locale/instruments_en_US.qm
+%%DATADIR%%/locale/instruments_eo.qm
+%%DATADIR%%/locale/instruments_es.qm
+%%DATADIR%%/locale/instruments_et.qm
+%%DATADIR%%/locale/instruments_eu.qm
+%%DATADIR%%/locale/instruments_fa.qm
+%%DATADIR%%/locale/instruments_fi.qm
+%%DATADIR%%/locale/instruments_fil.qm
+%%DATADIR%%/locale/instruments_fo.qm
+%%DATADIR%%/locale/instruments_fr.qm
+%%DATADIR%%/locale/instruments_ga.qm
+%%DATADIR%%/locale/instruments_gd.qm
*** 284 LINES SKIPPED ***