From 44689b187b48f311573f00a4b0449622a0153c64 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Nov 11 2020 16:42:38 +0000 Subject: Unbundle the Campania font. - Convert font packaging to the latest guidelines. - Add -edit-reset patch to fix broken icon paths. --- diff --git a/65-marcsabatella-campania-fonts.conf b/65-marcsabatella-campania-fonts.conf new file mode 100644 index 0000000..c1376d2 --- /dev/null +++ b/65-marcsabatella-campania-fonts.conf @@ -0,0 +1,11 @@ + + + + + + campania + + Campania + + + diff --git a/65-mscore-bc-fonts.conf b/65-mscore-bc-fonts.conf new file mode 100644 index 0000000..eaecc05 --- /dev/null +++ b/65-mscore-bc-fonts.conf @@ -0,0 +1,11 @@ + + + + + + mscore-bc + + MScore-BC + + + diff --git a/65-mscore-fonts.conf b/65-mscore-fonts.conf new file mode 100644 index 0000000..240b374 --- /dev/null +++ b/65-mscore-fonts.conf @@ -0,0 +1,11 @@ + + + + + + mscore + + MScore + + + diff --git a/65-mscore-gootville-fonts.conf b/65-mscore-gootville-fonts.conf new file mode 100644 index 0000000..39570e5 --- /dev/null +++ b/65-mscore-gootville-fonts.conf @@ -0,0 +1,11 @@ + + + + + + gootville + + Gootville + + + diff --git a/65-mscore-mscoretab-fonts.conf b/65-mscore-mscoretab-fonts.conf new file mode 100644 index 0000000..0fd56a4 --- /dev/null +++ b/65-mscore-mscoretab-fonts.conf @@ -0,0 +1,11 @@ + + + + + + mscoretab + + MScoreTab + + + diff --git a/65-mscore-mscoretext-fonts.conf b/65-mscore-mscoretext-fonts.conf new file mode 100644 index 0000000..5051a4c --- /dev/null +++ b/65-mscore-mscoretext-fonts.conf @@ -0,0 +1,11 @@ + + + + + + mscoretext + + MScoreText + + + diff --git a/65-mscore-musejazz-fonts.conf b/65-mscore-musejazz-fonts.conf new file mode 100644 index 0000000..542ea25 --- /dev/null +++ b/65-mscore-musejazz-fonts.conf @@ -0,0 +1,11 @@ + + + + + + musejazz + + MuseJazz + + + diff --git a/mscore-3.4.2-separate-commonfiles.patch b/mscore-3.4.2-separate-commonfiles.patch index 560199d..72570de 100644 --- a/mscore-3.4.2-separate-commonfiles.patch +++ b/mscore-3.4.2-separate-commonfiles.patch @@ -1,17 +1,17 @@ ---- MuseScore-3.4.2/libmscore/figuredbass.cpp.orig 2020-02-06 14:13:07.000000000 -0700 -+++ MuseScore-3.4.2/libmscore/figuredbass.cpp 2020-02-07 14:32:46.893838253 -0700 -@@ -1626,7 +1626,7 @@ bool FiguredBass::readConfigFile(const Q +--- MuseScore-3.5.2/libmscore/figuredbass.cpp.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/libmscore/figuredbass.cpp 2020-10-23 10:25:02.819745001 -0600 +@@ -1639,7 +1639,7 @@ bool FiguredBass::readConfigFile(const Q path = rpath + QString("/fonts_figuredbass.xml"); } #else - path = ":/fonts/fonts_figuredbass.xml"; -+ path = "/usr/share/fonts/mscore/fonts_figuredbass.xml"; ++ path = "/usr/share/fonts/mscore-bc-fonts/fonts_figuredbass.xml"; #endif g_FBFonts.clear(); } ---- MuseScore-3.4.2/libmscore/mscore.cpp.orig 2020-02-06 14:13:07.000000000 -0700 -+++ MuseScore-3.4.2/libmscore/mscore.cpp 2020-02-11 19:31:51.855823910 -0700 -@@ -348,7 +348,7 @@ void MScore::init() +--- MuseScore-3.5.2/libmscore/mscore.cpp.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/libmscore/mscore.cpp 2020-10-23 10:24:03.218817267 -0600 +@@ -354,7 +354,7 @@ void MScore::init() // do not load application specific fonts // for MAC, they are in Resources/fonts // @@ -20,19 +20,19 @@ static const char* fonts[] = { ":/fonts/musejazz/MuseJazzText.otf", ":/fonts/campania/Campania.otf", ---- MuseScore-3.4.2/libmscore/stafftype.cpp.orig 2020-02-06 14:13:07.000000000 -0700 -+++ MuseScore-3.4.2/libmscore/stafftype.cpp 2020-02-07 14:32:46.895838221 -0700 -@@ -1203,7 +1203,7 @@ bool StaffType::readConfigFile(const QSt +--- MuseScore-3.5.2/libmscore/stafftype.cpp.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/libmscore/stafftype.cpp 2020-10-23 10:25:52.109675231 -0600 +@@ -1177,7 +1177,7 @@ bool StaffType::readConfigFile(const QSt path = rpath + QString("/fonts_tablature.xml"); } #else - path = ":/fonts/fonts_tablature.xml"; -+ path = "/usr/share/fonts/mscore/fonts_tablature.xml"; ++ path = "/usr/share/fonts/mscore-mscoretab-fonts/fonts_tablature.xml"; #endif _durationFonts.clear(); _fretFonts.clear(); ---- MuseScore-3.4.2/libmscore/sym.cpp.orig 2020-02-06 14:13:07.000000000 -0700 -+++ MuseScore-3.4.2/libmscore/sym.cpp 2020-02-07 14:32:46.896838204 -0700 +--- MuseScore-3.5.2/libmscore/sym.cpp.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/libmscore/sym.cpp 2020-10-23 10:27:45.766509976 -0600 @@ -34,10 +34,10 @@ namespace Ms { static const int FALLBACK_FONT = 0; // Bravura @@ -42,9 +42,9 @@ - ScoreFont("Gonville", "Gootville", ":/fonts/gootville/", "Gootville.otf" ), - ScoreFont("MuseJazz", "MuseJazz", ":/fonts/musejazz/", "MuseJazz.otf" ), + ScoreFont("Bravura", "Bravura", INSTPREFIX "/share/fonts/steinberg-bravura-fonts/", "Bravura.otf" ), -+ ScoreFont("Emmentaler", "MScore", INSTPREFIX "/share/fonts/mscore/", "mscore.ttf" ), -+ ScoreFont("Gonville", "Gootville", INSTPREFIX "/share/fonts/mscore/gootville/", "Gootville.otf" ), -+ ScoreFont("MuseJazz", "MuseJazz", INSTPREFIX "/share/fonts/mscore/musejazz/", "MuseJazz.otf" ), ++ ScoreFont("Emmentaler", "MScore", INSTPREFIX "/share/fonts/mscore-fonts/", "mscore.ttf" ), ++ ScoreFont("Gonville", "Gootville", INSTPREFIX "/share/fonts/mscore-gootville-fonts/", "Gootville.otf" ), ++ ScoreFont("MuseJazz", "MuseJazz", INSTPREFIX "/share/fonts/mscore-musejazz-fonts/", "MuseJazz.otf" ), }; std::array ScoreFont::_mainSymCodeTable { {0} }; diff --git a/mscore-3.4.2-unbundle.patch b/mscore-3.4.2-unbundle.patch deleted file mode 100644 index c773a9a..0000000 --- a/mscore-3.4.2-unbundle.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- MuseScore-3.4.2/mscore/musescorefonts-Bravura.qrc.orig 2020-02-06 14:13:07.000000000 -0700 -+++ MuseScore-3.4.2/mscore/musescorefonts-Bravura.qrc 2020-02-07 14:44:34.119305068 -0700 -@@ -1,6 +1,6 @@ - - -- ../fonts/bravura/Bravura.otf -- ../fonts/bravura/BravuraText.otf -+ /usr/share/fonts/steinberg-bravura-fonts/Bravura.otf -+ /usr/share/fonts/steinberg-bravuratext-fonts/BravuraText.otf - - ---- MuseScore-3.4.2/mscore/musescorefonts-Free.qrc.orig 2020-02-06 14:13:07.000000000 -0700 -+++ MuseScore-3.4.2/mscore/musescorefonts-Free.qrc 2020-02-07 14:44:34.120305051 -0700 -@@ -1,8 +1,8 @@ - - -- ../fonts/FreeSerifBold.ttf -- ../fonts/FreeSerifItalic.ttf -- ../fonts/FreeSerifBoldItalic.ttf -- ../fonts/FreeSans.ttf -+ /usr/share/fonts/gnu-free/FreeSerifBold.ttf -+ /usr/share/fonts/gnu-free/FreeSerifItalic.ttf -+ /usr/share/fonts/gnu-free/FreeSerifBoldItalic.ttf -+ /usr/share/fonts/gnu-free/FreeSans.ttf - - ---- MuseScore-3.4.2/mscore/musescorefonts-FreeSerif.qrc.orig 2020-02-06 14:13:07.000000000 -0700 -+++ MuseScore-3.4.2/mscore/musescorefonts-FreeSerif.qrc 2020-02-07 14:44:34.120305051 -0700 -@@ -1,5 +1,5 @@ - - -- ../fonts/FreeSerif.ttf -+ /usr/share/fonts/gnu-free/FreeSerif.ttf - - ---- MuseScore-3.4.2/mscore/musescore.h.orig 2020-02-06 14:13:07.000000000 -0700 -+++ MuseScore-3.4.2/mscore/musescore.h 2020-02-07 14:44:34.120305051 -0700 -@@ -22,7 +22,7 @@ - - #include "config.h" - #include "globals.h" --#include "singleapp/src/QtSingleApplication" -+#include - #include "updatechecker.h" - #include "libmscore/musescoreCore.h" - #include "libmscore/score.h" ---- MuseScore-3.4.2/mscore/musescore.qrc.orig 2020-02-06 14:13:07.000000000 -0700 -+++ MuseScore-3.4.2/mscore/musescore.qrc 2020-02-07 14:44:34.121305035 -0700 -@@ -3,7 +3,7 @@ - data/icons/edit.svg - ../fonts/mscore/metadata.json - ../fonts/gootville/metadata.json -- ../fonts/bravura/metadata.json -+ /usr/share/SMuFL/Fonts/bravura/bravura_metadata.json - ../fonts/musejazz/metadata.json - ../fonts/smufl/classes.json - ../fonts/smufl/ranges.json ---- MuseScore-3.4.2/mtest/mtest.qrc.orig 2020-02-06 14:13:07.000000000 -0700 -+++ MuseScore-3.4.2/mtest/mtest.qrc 2020-02-07 14:44:34.121305035 -0700 -@@ -3,7 +3,7 @@ - - ../fonts/mscore/metadata.json - ../fonts/gootville/metadata.json -- ../fonts/bravura/metadata.json -+ /usr/share/SMuFL/Fonts/bravura/bravura_metadata.json - ../fonts/musejazz/metadata.json - ../fonts/smufl/glyphnames.json - ../fonts/fonts_tablature.xml diff --git a/mscore-3.5.1-fix-qmake-path.patch b/mscore-3.5.1-fix-qmake-path.patch index c0dd347..c3d0857 100644 --- a/mscore-3.5.1-fix-qmake-path.patch +++ b/mscore-3.5.1-fix-qmake-path.patch @@ -1,5 +1,5 @@ ---- MuseScore-3.5.1/build/FindQt5.cmake.orig 2020-10-06 05:31:23.000000000 -0600 -+++ MuseScore-3.5.1/build/FindQt5.cmake 2020-10-06 15:05:05.100390661 -0600 +--- MuseScore-3.5.2/build/FindQt5.cmake.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/build/FindQt5.cmake 2020-10-23 10:30:35.847262666 -0600 @@ -45,7 +45,7 @@ endforeach() include_directories(${QT_INCLUDES}) @@ -9,8 +9,8 @@ set(_qmake_vars QT_INSTALL_ARCHDATA QT_INSTALL_BINS ---- MuseScore-3.5.1/CMakeLists.txt.orig 2020-10-06 05:31:23.000000000 -0600 -+++ MuseScore-3.5.1/CMakeLists.txt 2020-10-06 15:08:11.037176542 -0600 +--- MuseScore-3.5.2/CMakeLists.txt.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/CMakeLists.txt 2020-10-23 10:30:35.848262665 -0600 @@ -25,7 +25,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.3.0) include(build/functions.cmake) # library of CMake functions ("fn__" namespace) diff --git a/mscore-3.5.2-edit-reset.patch b/mscore-3.5.2-edit-reset.patch new file mode 100644 index 0000000..fdc23e5 --- /dev/null +++ b/mscore-3.5.2-edit-reset.patch @@ -0,0 +1,38 @@ +--- MuseScore-3.5.2/mscore/editstyle.ui.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/mscore/editstyle.ui 2020-11-11 08:53:48.741111423 -0700 +@@ -9963,7 +9963,7 @@ + + + +- data/icons/edit-reset.svg ++ :/data/icons/edit-reset.svg + + + +@@ -10022,7 +10022,7 @@ + + + +- data/icons/edit-reset.svg ++ :/data/icons/edit-reset.svg + + + +@@ -10429,7 +10429,7 @@ + + + +- data/icons/edit-reset.svgdata/icons/edit-reset.svg ++ :/data/icons/edit-reset.svg:/data/icons/edit-reset.svg + + + +@@ -10457,7 +10457,7 @@ + + + +- data/icons/edit-reset.svgdata/icons/edit-reset.svg ++ :/data/icons/edit-reset.svg:/data/icons/edit-reset.svg + + + diff --git a/mscore-3.5.2-unbundle.patch b/mscore-3.5.2-unbundle.patch new file mode 100644 index 0000000..ac27e8b --- /dev/null +++ b/mscore-3.5.2-unbundle.patch @@ -0,0 +1,138 @@ +--- MuseScore-3.5.2/mscore/musescorefonts-Bravura.qrc.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/mscore/musescorefonts-Bravura.qrc 2020-10-23 10:31:48.583156882 -0600 +@@ -1,6 +1,6 @@ + + +- ../fonts/bravura/Bravura.otf +- ../fonts/bravura/BravuraText.otf ++ /usr/share/fonts/steinberg-bravura-fonts/Bravura.otf ++ /usr/share/fonts/steinberg-bravuratext-fonts/BravuraText.otf + + +--- MuseScore-3.5.2/mscore/musescorefonts-Campania.qrc.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/mscore/musescorefonts-Campania.qrc 2020-10-23 10:31:48.584156880 -0600 +@@ -1,5 +1,5 @@ + + +- ../fonts/campania/Campania.otf ++ /usr/share/fonts/marcsabatella-campania-fonts/Campania.otf + + +--- MuseScore-3.5.2/mscore/musescorefonts-Free.qrc.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/mscore/musescorefonts-Free.qrc 2020-10-23 10:31:48.585156878 -0600 +@@ -1,8 +1,8 @@ + + +- ../fonts/FreeSerifBold.ttf +- ../fonts/FreeSerifItalic.ttf +- ../fonts/FreeSerifBoldItalic.ttf +- ../fonts/FreeSans.ttf ++ /usr/share/fonts/gnu-free/FreeSerifBold.ttf ++ /usr/share/fonts/gnu-free/FreeSerifItalic.ttf ++ /usr/share/fonts/gnu-free/FreeSerifBoldItalic.ttf ++ /usr/share/fonts/gnu-free/FreeSans.ttf + + +--- MuseScore-3.5.2/mscore/musescorefonts-FreeSerif.qrc.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/mscore/musescorefonts-FreeSerif.qrc 2020-10-23 10:31:48.585156878 -0600 +@@ -1,5 +1,5 @@ + + +- ../fonts/FreeSerif.ttf ++ /usr/share/fonts/gnu-free/FreeSerif.ttf + + +--- MuseScore-3.5.2/mscore/musescorefonts-Gootville.qrc.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/mscore/musescorefonts-Gootville.qrc 2020-10-23 11:28:32.546568047 -0600 +@@ -1,6 +1,6 @@ + + +- ../fonts/gootville/Gootville.otf +- ../fonts/gootville/GootvilleText.otf ++ ../fonts/mscore-gootville-fonts/Gootville.otf ++ ../fonts/mscore-gootville-fonts/GootvilleText.otf + + +--- MuseScore-3.5.2/mscore/musescorefonts-MScore.qrc.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/mscore/musescorefonts-MScore.qrc 2020-10-23 11:30:55.289332582 -0600 +@@ -1,8 +1,8 @@ + + +- ../fonts/mscore/mscore.ttf +- ../fonts/mscore/MScoreText.ttf +- ../fonts/mscoreTab.ttf +- ../fonts/mscore-BC.ttf ++ ../fonts/mscore-fonts/mscore.ttf ++ ../fonts/mscore-mscoretext-fonts/MScoreText.ttf ++ ../fonts/mscore-mscoretab-fonts/mscoreTab.ttf ++ ../fonts/mscore-bc-fonts/mscore-BC.ttf + + +--- MuseScore-3.5.2/mscore/musescorefonts-MuseJazz.qrc.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/mscore/musescorefonts-MuseJazz.qrc 2020-10-23 11:31:49.480243166 -0600 +@@ -1,6 +1,6 @@ + + +- ../fonts/musejazz/MuseJazz.otf +- ../fonts/musejazz/MuseJazzText.otf ++ ../fonts/mscore-musejazz-fonts/MuseJazz.otf ++ ../fonts/mscore-musejazz-fonts/MuseJazzText.otf + + +--- MuseScore-3.5.2/mscore/musescore.h.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/mscore/musescore.h 2020-10-23 10:31:48.586156877 -0600 +@@ -22,7 +22,7 @@ + + #include "config.h" + #include "globals.h" +-#include "singleapp/src/QtSingleApplication" ++#include + #include "updatechecker.h" + #include "libmscore/musescoreCore.h" + #include "libmscore/score.h" +--- MuseScore-3.5.2/mscore/musescore.qrc.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/mscore/musescore.qrc 2020-11-10 16:27:13.375946461 -0700 +@@ -1,15 +1,15 @@ + + + data/icons/edit.svg +- ../fonts/mscore/metadata.json +- ../fonts/gootville/metadata.json +- ../fonts/bravura/metadata.json +- ../fonts/musejazz/metadata.json ++ ../fonts/mscore-fonts/metadata.json ++ ../fonts/mscore-gootville-fonts/metadata.json ++ /usr/share/fonts/steinberg-bravura-fonts/metadata.json ++ ../fonts/mscore-musejazz-fonts/metadata.json + ../fonts/smufl/classes.json + ../fonts/smufl/ranges.json + ../fonts/smufl/glyphnames.json +- ../fonts/fonts_tablature.xml +- ../fonts/fonts_figuredbass.xml ++ ../fonts/mscore-mscoretab-fonts/fonts_tablature.xml ++ ../fonts/mscore-bc-fonts/fonts_figuredbass.xml + ../share/instruments/instruments.xml + ../share/themes/style_light_fusion.css + ../share/themes/style_dark_fusion.css +--- MuseScore-3.5.2/mtest/mtest.qrc.orig 2020-10-16 15:14:42.000000000 -0600 ++++ MuseScore-3.5.2/mtest/mtest.qrc 2020-11-10 16:28:30.431106473 -0700 +@@ -1,13 +1,13 @@ + + + +- ../fonts/mscore/metadata.json +- ../fonts/gootville/metadata.json +- ../fonts/bravura/metadata.json +- ../fonts/musejazz/metadata.json ++ ../fonts/mscore-fonts/metadata.json ++ ../fonts/mscore-gootville-fonts/metadata.json ++ /usr/share/fonts/steinberg-bravura-fonts/metadata.json ++ ../fonts/mscore-musejazz-fonts/metadata.json + ../fonts/smufl/glyphnames.json +- ../fonts/fonts_tablature.xml +- ../fonts/fonts_figuredbass.xml ++ ../fonts/mscore-mscoretab-fonts/fonts_tablature.xml ++ ../fonts/mscore-bc-fonts/fonts_figuredbass.xml + + ../share/instruments/instruments.xml + diff --git a/mscore.spec b/mscore.spec index 36348fe..5d8e29f 100644 --- a/mscore.spec +++ b/mscore.spec @@ -1,35 +1,103 @@ -%global fontfamilyname %{name} +%global upname MuseScore %global shortver 3.5 Name: mscore Summary: Music Composition & Notation Software Version: %{shortver}.2 -Release: 2%{?dist} -# rtf2html is LGPLv2+ -# paper4.png paper5.png are LGPLv3 -# the rest is GPLv2 -# Soundfont is MIT +Release: 3%{?dist} +# The MuseScore project itself is GPLv2. Other licenses in play: +# - rtf2html is LGPLv2+ +# - paper4.png and paper5.png are LGPLv3 +# - Soundfont is MIT License: GPLv2 and LGPLv2+ and LGPLv3 and MIT URL: https://musescore.org/ -Source0: https://github.com/musescore/MuseScore/archive/v%{version}/MuseScore-%{version}.tar.gz + +%global foundry %{name} +%global fontdocs fonts/README.md + +%global fontfamily1 MScore +%global fontsummary1 MuseScore base music font +%global fontlicense1 GPLv3+ with exceptions +%global fonts1 fonts/mscore/mscore.ttf +%global fontconfs1 %{SOURCE11} +%global fontdescription1 %{expand: +This package contains the base MuseScore music font. It is derived from +the Emmentaler font created for Lilypond, but has been modified for +MuseScore.} + +%global fontfamily2 MScoreText +%global fontsummary2 MuseScore base text font +%global fontlicense2 OFL +%global fonts2 fonts/mscore/MScoreText.ttf +%global fontconfs2 %{SOURCE12} +%global fontdescription2 %{expand: +This package contains the base MuseScore text font.} + +%global fontfamily3 Gootville +%global fontsummary3 Derivative of the Gonville font +%global fontlicense3 OFL +%global fonts3 fonts/gootville/*.otf +%global fontconfs3 %{SOURCE13} +%global fontdescription3 %{expand: +Gootville is a derivative of the Gonville font created by Simon Tatham +for Lilypond. The two fonts have common graphic aspects, but the +registration, glyph order, and other aspects of Gootville have been +modified for MuseScore.} +%global fontdocs3 fonts/gootville/readme.txt + +%global fontfamily4 MScore-BC +%global fontsummary4 Font with Basso Continuo digits and symbols +%global fontlicense4 OFL +%global fonts4 fonts/mscore-BC.ttf +%global fontconfs4 %{SOURCE14} +%global fontdescription4 %{expand: +This package contains a MuseScore font with Basso Continuo digits and +symbols, matching glyphs in the main MuseScore font.} + +%global fontfamily5 MScoreTab +%global fontsummary5 Font with Renaissance-style tablatures +%global fontlicense5 OFL +%global fonts5 fonts/mscoreTab.ttf +%global fontconfs5 %{SOURCE15} +%global fontdescription5 %{expand: +This package contains a MuseScore font with Renaissance-style tablatures.} + +%global fontfamily6 MuseJazz +%global fontsummary6 Handwritten font for text, chord names, and so forth +%global fontlicense6 OFL +%global fontlicenses6 fonts/musejazz/OFL.txt +%global fonts6 fonts/musejazz/*.otf +%global fontconfs6 %{SOURCE16} +%global fontdescription6 %{expand: +This package contains a MuseScore font with a handwritten look for text, +chord names, etc.} + +Source0: https://github.com/musescore/%{upname}/archive/v%{version}/%{upname}-%{version}.tar.gz # For mime types Source1: %{name}.xml -# Add metainfo file for font to show in gnome-software -Source2: %{fontfamilyname}.metainfo.xml +# Fontconfig files +Source11: 65-%{fontpkgname1}.conf +Source12: 65-%{fontpkgname2}.conf +Source13: 65-%{fontpkgname3}.conf +Source14: 65-%{fontpkgname4}.conf +Source15: 65-%{fontpkgname5}.conf +Source16: 65-%{fontpkgname6}.conf # We don't build the common files (font files, wallpapers, demo song, instrument # list) into the binary executable to reduce its size. This is also useful to # inform the users about the existence of different choices for common files. # The font files need to be separated due to the font packaging guidelines. -Patch0: mscore-3.4.2-separate-commonfiles.patch +Patch0: %{name}-3.4.2-separate-commonfiles.patch # Ensure CMake will use qmake-qt5 -Patch1: mscore-3.5.1-fix-qmake-path.patch -# Unbundle gnu-free-{sans,serif}-fonts, kqoauth, QtSingleApplication, and -# steinberg-bravura{,-text}-fonts -Patch2: mscore-3.4.2-unbundle.patch +Patch1: %{name}-3.5.1-fix-qmake-path.patch +# Unbundle gnu-free-{sans,serif}-fonts, kqoauth, marcsabatella-campania-fonts, +# QtSingleApplication, and steinberg-bravura{,-text}-fonts +Patch2: %{name}-3.5.2-unbundle.patch # Fix some glitches in the aeolus code -Patch3: mscore-3.5.0-aeolus.patch +Patch3: %{name}-3.5.0-aeolus.patch # Fix some glitches in the OMR code -Patch4: mscore-3.5.0-omr.patch +Patch4: %{name}-3.5.0-omr.patch +# Fix some paths to the edit-reset icon +Patch5: %{name}-3.5.2-edit-reset.patch BuildRequires: cmake BuildRequires: desktop-file-utils @@ -40,6 +108,7 @@ BuildRequires: gnu-free-sans-fonts BuildRequires: gnu-free-serif-fonts BuildRequires: lame-devel BuildRequires: make +BuildRequires: marcsabatella-campania-fonts BuildRequires: perl(Pod::Usage) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(freetype2) @@ -66,10 +135,11 @@ BuildRequires: qt5-qtbase-private-devel BuildRequires: qtsingleapplication-qt5-devel BuildRequires: steinberg-bravura-fonts-all -Requires: %{name}-fonts = %{version}-%{release} +Requires: %{name}-fonts-all = %{version}-%{release} Requires: gnu-free-sans-fonts Requires: gnu-free-serif-fonts Requires: hicolor-icon-theme +Requires: marcsabatella-campania-fonts Requires: soundfont2 Requires: soundfont2-default Requires: steinberg-bravura-fonts-all @@ -78,10 +148,6 @@ Requires: steinberg-bravura-fonts-all %{?_qt5:Requires: qt5-qtquickcontrols%{?_isa} = %{_qt5_version}} %{?_qt5:Requires: qt5-qtquickcontrols2%{?_isa} = %{_qt5_version}} -# Doxygen documentation is huge and it is for musescore development only. -# Hence we don't build it for now. Otherwise it needs: -# BuildRequires: graphviz doxygen texlive-latex texlive-dvips - Provides: musescore = %{version}-%{release} Provides: bundled(beatroot-vamp) = 1.0 Provides: bundled(intervaltree) @@ -110,24 +176,16 @@ MuseScore is a free cross platform WYSIWYG music notation program. This package contains the user manual of MuseScore in different languages. -%package fonts -Summary: MuseScore fonts -License: GPL+ with exceptions and OFL -Requires: fontpackages-filesystem -BuildArch: noarch - -%description fonts -MuseScore is a free cross platform WYSIWYG music notation program. +%fontpkg -a -This package contains the musical notation fonts for use of MuseScore. +%fontmetapkg %prep -%autosetup -p1 -n MuseScore-%{version} +%autosetup -p1 -n %{upname}-%{version} # Remove bundled stuff rm -rf thirdparty/{freetype,openssl,poppler,portmidi,singleapp} -rm -rf fonts/{bravura,FreeS*} -rm -rf cmake +rm -rf fonts/{bravura,campania,FreeS*} # Force Fedora specific flags: find . -name CMakeLists.txt -exec sed -i -e 's|-O3|%{optflags}|' {} \+ @@ -139,77 +197,83 @@ for fil in thirdparty/rtf2html/README{,.ru}; do rm $fil.orig done +# Font compatibility symlinks so we can use resource files in place +cd fonts +ln -s gootville %{name}-gootville-fonts +ln -s mscore %{name}-fonts +ln -s mscore %{name}-mscoretext-fonts +ln -s musejazz %{name}-musejazz-fonts + +mkdir mscore-bc-fonts +ln -s ../mscore-BC.sfd mscore-bc-fonts/mscore-BC.sfd +ln -s ../mscore-BC.ttf mscore-bc-fonts/mscore-BC.ttf +ln -s ../fonts_figuredbass.xml mscore-bc-fonts/fonts_figuredbass.xml + +mkdir mscore-mscoretab-fonts +ln -s ../mscoreTab.sfd mscore-mscoretab-fonts/mscoreTab.sfd +ln -s ../mscoreTab.ttf mscore-mscoretab-fonts/mscoreTab.ttf +ln -s ../fonts_tablature.xml mscore-mscoretab-fonts/fonts_tablature.xml +cd - + %build # Build the actual program -mkdir -p build -pushd build - %cmake -B . \ - -DCMAKE_BUILD_TYPE=RELEASE \ - -DCMAKE_CXX_FLAGS="%{optflags} -fsigned-char" \ - -DCMAKE_CXX_FLAGS_RELEASE="%{optflags} -std=gnu++11 -fPIC -DNDEBUG -DQT_NO_DEBUG -fsigned-char" \ - -DAEOLUS=ON \ +%cmake \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DCMAKE_CXX_FLAGS="%{optflags} -fsigned-char" \ + -DCMAKE_CXX_FLAGS_RELEASE="%{optflags} -fPIC -DNDEBUG -DQT_NO_DEBUG -fsigned-char" \ + -DCMAKE_SKIP_RPATH=ON \ + -DAEOLUS=ON \ %if 0%{?__isa_bits} == 32 - -DBUILD_64=OFF \ + -DBUILD_64=OFF \ %endif %ifnarch %{qt5_qtwebengine_arches} - -DBUILD_WEBENGINE=OFF \ + -DBUILD_WEBENGINE=OFF \ %endif - -DDOWNLOAD_SOUNDFONT=OFF \ - -DMUSESCORE_BUILD_CONFIG=release \ - -DOMR=ON \ - -DUSE_PATH_WITH_EXPLICIT_QT_VERSION=ON \ - -DUSE_SYSTEM_FREETYPE=ON \ - -DUSE_SYSTEM_POPPLER=ON \ - -DUSE_SYSTEM_QTSINGLEAPPLICATION=ON \ - .. - %make_build lrelease PREFIX=%{_prefix} - %make_build manpages PREFIX=%{_prefix} - %make_build PREFIX=%{_prefix} VERBOSE=1 - make -C rdoc referenceDocumentation PREFIX=%{_prefix} -popd + -DDOWNLOAD_SOUNDFONT=OFF \ + -DMUSESCORE_BUILD_CONFIG=release \ + -DOMR=ON \ + -DUSE_PATH_WITH_EXPLICIT_QT_VERSION=ON \ + -DUSE_SYSTEM_FREETYPE=ON \ + -DUSE_SYSTEM_POPPLER=ON \ + -DUSE_SYSTEM_QTSINGLEAPPLICATION=ON +PREFIX=%{_prefix} %cmake_build --target lrelease +PREFIX=%{_prefix} %cmake_build --target manpages +PREFIX=%{_prefix} VERBOSE=1 %cmake_build +PREFIX=%{_prefix} make -C %{_vpath_builddir}/rdoc referenceDocumentation + +# Build the fonts +%fontbuild -a %install -make -C build install PREFIX=%{_prefix} DESTDIR=%{buildroot} -make -C build/rdoc install PREFIX=%{_prefix} DESTDIR=%{buildroot} +PREFIX=%{_prefix} %cmake_install +PREFIX=%{_prefix} %make_install -C %{_vpath_builddir}/rdoc mkdir -p %{buildroot}/%{_datadir}/applications -cp -a build/mscore.desktop %{buildroot}/%{_datadir}/applications - -# Install fonts -mkdir -p %{buildroot}/%{_fontdir} -mkdir -p %{buildroot}/%{_fontdir}/bravura -mkdir -p %{buildroot}/%{_fontdir}/campania -mkdir -p %{buildroot}/%{_fontdir}/gootville -mkdir -p %{buildroot}/%{_fontdir}/musejazz -cp -a fonts/smufl %{buildroot}%{_fontdir} -install -pm 644 fonts/*.{sfd,ttf} %{buildroot}/%{_fontdir} -install -pm 644 fonts/campania/*.otf %{buildroot}/%{_fontdir}/campania/ -install -pm 644 fonts/gootville/*.otf %{buildroot}/%{_fontdir} -install -pm 644 fonts/gootville/*.json %{buildroot}/%{_fontdir}/gootville/ -install -pm 644 fonts/mscore/*.{sfd,ttf} %{buildroot}/%{_fontdir} -install -pm 644 fonts/mscore/*.json %{buildroot}/%{_fontdir} -install -pm 644 fonts/musejazz/*.otf %{buildroot}/%{_fontdir} -install -pm 644 fonts/musejazz/*.json %{buildroot}/%{_fontdir}/musejazz -install -pm 644 fonts/*.xml %{buildroot}/%{_fontdir} +cp -a %{_vpath_builddir}/%{name}.desktop %{buildroot}/%{_datadir}/applications # mscz install -pm 0644 share/templates/*.mscz %{buildroot}/%{_datadir}/%{name}-%{shortver}/demos/ # symlinks to be safe -pushd %{buildroot}/%{_datadir}/%{name}-%{shortver}/demos/ +cd %{buildroot}/%{_datadir}/%{name}-%{shortver}/demos/ for i in *.mscz; do - ln -s %{_datadir}/%{name}-%{shortver}/demos/$i ../templates/$i + ln -s ../demos/$i ../templates/$i done -popd - -pushd %{buildroot}/%{_fontdir} -cd gootville -ln -s ../Gootville.otf . -ln -s ../GootvilleText.otf . -cd ../musejazz -ln -s ../MuseJazz.otf . -ln -s ../MuseJazzText.otf . -cd .. -popd +cd - + +# Install fonts +%fontinstall -a + +# Install SMuFL metadata +cp -p fonts/mscore/metadata.json %{buildroot}%{_datadir}/fonts/mscore-fonts +cp -p fonts/gootville/metadata.json \ + %{buildroot}%{_datadir}/fonts/mscore-gootville-fonts +cp -p fonts/musejazz/metadata.json \ + %{buildroot}%{_datadir}/fonts/mscore-musejazz-fonts + +# Install MuseScore metadata +cp -p fonts/fonts_figuredbass.xml %{buildroot}%{_fontbasedir}/%{name}-bc-fonts +cp -p fonts/fonts_tablature.xml \ + %{buildroot}%{_fontbasedir}/%{name}-mscoretab-fonts # Mime type mkdir -p %{buildroot}/%{_datadir}/mime/packages @@ -229,19 +293,19 @@ desktop-file-install \ for sz in 16 24 32 48 64 96 128 512; do mkdir -p %{buildroot}/%{_datadir}/icons/hicolor/${sz}x${sz}/{apps,mimetypes} install -pm 644 assets/musescore-icon-round-${sz}.png \ - %{buildroot}/%{_datadir}/icons/hicolor/${sz}x${sz}/apps/mscore.png + %{buildroot}/%{_datadir}/icons/hicolor/${sz}x${sz}/apps/%{name}.png install -pm 644 assets/musescore-icon-round-${sz}.png \ - %{buildroot}/%{_datadir}/icons/hicolor/${sz}x${sz}/mimetypes/mscore.png + %{buildroot}/%{_datadir}/icons/hicolor/${sz}x${sz}/mimetypes/%{name}.png done mkdir -p %{buildroot}/%{_datadir}/icons/hicolor/scalable/{apps,mimetypes} install -pm 644 assets/musescore-icon-round.svg \ - %{buildroot}/%{_datadir}/icons/hicolor/scalable/apps/mscore.svg + %{buildroot}/%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg install -pm 644 assets/musescore-icon-round.svg \ - %{buildroot}/%{_datadir}/icons/hicolor/scalable/mimetypes/mscore.svg + %{buildroot}/%{_datadir}/icons/hicolor/scalable/mimetypes/%{name}.svg # Manpage mkdir -p %{buildroot}/%{_mandir}/man1 -install -pm 644 build/%{name}.1 %{buildroot}/%{_mandir}/man1/ +install -pm 644 %{_vpath_builddir}/%{name}.1 %{buildroot}/%{_mandir}/man1/ # There are many doc files spread around the tarball. Let's collect them mv thirdparty/rtf2html/ChangeLog ChangeLog.rtf2html @@ -252,11 +316,6 @@ mv thirdparty/rtf2html/README.ru README.ru.rtf2html mv share/wallpaper/COPYRIGHT COPYING.wallpaper mv %{buildroot}%{_datadir}/%{name}-%{shortver}/sound/MuseScore_General_License.md \ COPYING.MuseScore_General -mv fonts/campania/LICENSE COPYING.OFL - -# Add AppStream metadata -install -Dm 0644 -p %{SOURCE2} \ - %{buildroot}%{_datadir}/appdata/%{fontfamilyname}.metainfo.xml # Do not duplicate files from qt5-qtwebengine rm -f %{buildroot}%{_bindir}/QtWebEngineProcess @@ -271,10 +330,15 @@ ln -s ../soundfonts %{buildroot}%{_datadir}/%{name}-%{shortver}/sound # iotest seems outdated. Skipping. # reftest needs the X server. Skipping. +# FIXME: This should not be necessary +ln -s %{_datadir}/xml/fontconfig/fonts.dtd %{buildroot}%{_fontconfig_templatedir} +%fontcheck -a +rm %{buildroot}%{_fontconfig_templatedir}/fonts.dtd + %files %doc README* %license LICENSE.GPL COPYING* -%{_bindir}/mscore +%{_bindir}/%{name} %{_bindir}/musescore %{_datadir}/%{name}-%{shortver}/ %exclude %{_datadir}/%{name}-%{shortver}/manual/ @@ -282,7 +346,7 @@ ln -s ../soundfonts %{buildroot}%{_datadir}/%{name}-%{shortver}/sound %{_datadir}/applications/%{name}.desktop %{_datadir}/metainfo/*.appdata.xml %exclude %{_datadir}/mime/packages/musescore.xml -%{_datadir}/mime/packages/mscore.xml +%{_datadir}/mime/packages/%{name}.xml %{_mandir}/man1/* %{_datadir}/soundfonts/aeolus/ %{_datadir}/soundfonts/MuseScore_General.sf3 @@ -290,17 +354,29 @@ ln -s ../soundfonts %{buildroot}%{_datadir}/%{name}-%{shortver}/sound %files doc %doc %{_datadir}/%{name}-%{shortver}/manual/ -%_font_pkg %{fontfamilyname}*.ttf MScoreText.ttf *.otf -%{_fontdir}/campania/ -%{_fontdir}/gootville/ -%{_fontdir}/musejazz/ -%{_fontdir}/smufl/ -%{_fontdir}/*.json -%{_fontdir}/*.sfd -%{_fontdir}/*.xml -%{_datadir}/appdata/%{fontfamilyname}.metainfo.xml +%fontfiles -z 1 +%{_datadir}/fonts/mscore-fonts/metadata.json + +%fontfiles -z 2 + +%fontfiles -z 3 +%{_datadir}/fonts/mscore-gootville-fonts/metadata.json + +%fontfiles -z 4 +%{_datadir}/fonts/mscore-bc-fonts/fonts_figuredbass.xml + +%fontfiles -z 5 +%{_datadir}/fonts/mscore-mscoretab-fonts/fonts_tablature.xml + +%fontfiles -z 6 +%{_datadir}/fonts/mscore-musejazz-fonts/metadata.json %changelog +* Tue Nov 10 2020 Jerry James - 3.5.2-3 +- Unbundle the Campania font +- Convert font packaging to the latest guidelines +- Add -edit-reset patch to fix broken icon paths + * Mon Nov 2 2020 Jerry James - 3.5.2-2 - Ensure a release build, not a dev build