1 |
commit: cbcd81d0463012d030b33ed6adc50ec87e5f0c03 |
2 |
Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jan 4 14:58:14 2020 +0000 |
4 |
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jan 4 14:58:31 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbcd81d0 |
7 |
|
8 |
media-sound/musescore: fixed compilation against qt 5.14 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/703706 |
11 |
Package-Manager: Portage-2.3.84, Repoman-2.3.20 |
12 |
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org> |
13 |
|
14 |
media-sound/musescore/files/5583.patch | 212 +++++++++++++++++++++++++++ |
15 |
media-sound/musescore/musescore-3.3.3.ebuild | 3 +- |
16 |
media-sound/musescore/musescore-3.3.4.ebuild | 3 +- |
17 |
media-sound/musescore/musescore-9999.ebuild | 3 +- |
18 |
4 files changed, 218 insertions(+), 3 deletions(-) |
19 |
|
20 |
diff --git a/media-sound/musescore/files/5583.patch b/media-sound/musescore/files/5583.patch |
21 |
new file mode 100644 |
22 |
index 00000000000..da4d0c52d04 |
23 |
--- /dev/null |
24 |
+++ b/media-sound/musescore/files/5583.patch |
25 |
@@ -0,0 +1,212 @@ |
26 |
+From 09d138946aad53962ce23298093747f0ce52304f Mon Sep 17 00:00:00 2001 |
27 |
+From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= <jerome.duval@×××××.com> |
28 |
+Date: Tue, 31 Dec 2019 17:39:34 +0100 |
29 |
+Subject: [PATCH 1/2] Specializes template routines. |
30 |
+ |
31 |
+Qt 5.14 introduces serialisation/deserialisation for enum classes, |
32 |
+this results in ambiguous templates between qdatastream.h and preferences.h. |
33 |
+we specialize everything to workaround this. |
34 |
+--- |
35 |
+ mscore/preferences.h | 41 ++++++++++++++++++++++++++++++++++++----- |
36 |
+ 1 file changed, 36 insertions(+), 5 deletions(-) |
37 |
+ |
38 |
+diff --git a/mscore/preferences.h b/mscore/preferences.h |
39 |
+index bef3df8536..8c3ac9b0ed 100644 |
40 |
+--- a/mscore/preferences.h |
41 |
++++ b/mscore/preferences.h |
42 |
+@@ -233,21 +233,52 @@ extern Preferences preferences; |
43 |
+ |
44 |
+ // Stream operators for enum classes |
45 |
+ // enum classes don't play well with QSettings without custom serialization |
46 |
+-template<typename T, typename std::enable_if<std::is_enum<T>::value>::type* = nullptr> |
47 |
+-inline QDataStream &operator<<(QDataStream &out, const T &val) |
48 |
++inline QDataStream& |
49 |
++operator<<(QDataStream &out, const Ms::MuseScoreStyleType &val) |
50 |
+ { |
51 |
+ return out << static_cast<int>(val); |
52 |
+ } |
53 |
+ |
54 |
+-template<typename T, typename std::enable_if<std::is_enum<T>::value>::type* = nullptr> |
55 |
+-inline QDataStream &operator>>(QDataStream &in, T &val) |
56 |
++inline QDataStream& |
57 |
++operator>>(QDataStream &in, Ms::MuseScoreStyleType &val) |
58 |
+ { |
59 |
+ int tmp; |
60 |
+ in >> tmp; |
61 |
+- val = static_cast<T>(tmp); |
62 |
++ val = static_cast<Ms::MuseScoreStyleType>(tmp); |
63 |
+ return in; |
64 |
+ } |
65 |
+ |
66 |
++inline QDataStream& |
67 |
++operator<<(QDataStream &out, const Ms::SessionStart &val) |
68 |
++{ |
69 |
++ return out << static_cast<int>(val); |
70 |
++} |
71 |
++ |
72 |
++inline QDataStream& |
73 |
++operator>>(QDataStream &in, Ms::SessionStart &val) |
74 |
++{ |
75 |
++ int tmp; |
76 |
++ in >> tmp; |
77 |
++ val = static_cast<Ms::SessionStart>(tmp); |
78 |
++ return in; |
79 |
++} |
80 |
++ |
81 |
++inline QDataStream& |
82 |
++operator<<(QDataStream &out, const Ms::MusicxmlExportBreaks &val) |
83 |
++{ |
84 |
++ return out << static_cast<int>(val); |
85 |
++} |
86 |
++ |
87 |
++inline QDataStream& |
88 |
++operator>>(QDataStream &in, Ms::MusicxmlExportBreaks &val) |
89 |
++{ |
90 |
++ int tmp; |
91 |
++ in >> tmp; |
92 |
++ val = static_cast<Ms::MusicxmlExportBreaks>(tmp); |
93 |
++ return in; |
94 |
++} |
95 |
++ |
96 |
++ |
97 |
+ class PreferenceVisitor { |
98 |
+ public: |
99 |
+ virtual void visit(QString key, IntPreference*) = 0; |
100 |
+ |
101 |
+From 6b759bb5ee7b83fd8a82429e4cdb74279c5d33b6 Mon Sep 17 00:00:00 2001 |
102 |
+From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= <jerome.duval@×××××.com> |
103 |
+Date: Tue, 31 Dec 2019 17:42:04 +0100 |
104 |
+Subject: [PATCH 2/2] fix warnings: replace QString::null, with QString() |
105 |
+ |
106 |
+--- |
107 |
+ mscore/capella.cpp | 2 +- |
108 |
+ mscore/importmidi/importmidi.cpp | 2 +- |
109 |
+ mscore/instrdialog.cpp | 2 +- |
110 |
+ mscore/musescore.cpp | 12 ++++++------ |
111 |
+ mscore/musescore.h | 2 +- |
112 |
+ mscore/network/loginmanager.cpp | 2 +- |
113 |
+ 6 files changed, 11 insertions(+), 11 deletions(-) |
114 |
+ |
115 |
+diff --git a/mscore/capella.cpp b/mscore/capella.cpp |
116 |
+index 7144414e32..6243c8cca6 100644 |
117 |
+--- a/mscore/capella.cpp |
118 |
++++ b/mscore/capella.cpp |
119 |
+@@ -2708,7 +2708,7 @@ Score::FileError importCapella(MasterScore* score, const QString& name) |
120 |
+ QMessageBox::warning(0, |
121 |
+ QWidget::tr("Import Capella"), |
122 |
+ QWidget::tr("Load failed: %1").arg(cf.error(errNo)), |
123 |
+- QString::null, QWidget::tr("Quit"), QString::null, 0, 1); |
124 |
++ QString(), QWidget::tr("Quit"), QString(), 0, 1); |
125 |
+ } |
126 |
+ fp.close(); |
127 |
+ // avoid another error message box |
128 |
+diff --git a/mscore/importmidi/importmidi.cpp b/mscore/importmidi/importmidi.cpp |
129 |
+index a5d8894686..8091a83369 100644 |
130 |
+--- a/mscore/importmidi/importmidi.cpp |
131 |
++++ b/mscore/importmidi/importmidi.cpp |
132 |
+@@ -1200,7 +1200,7 @@ Score::FileError importMidi(MasterScore *score, const QString &name) |
133 |
+ QMessageBox::warning(0, |
134 |
+ QWidget::tr("Load MIDI"), |
135 |
+ QWidget::tr("Load failed: %1").arg(errorText), |
136 |
+- QString::null, QWidget::tr("Quit"), QString::null, 0, 1); |
137 |
++ QString(), QWidget::tr("Quit"), QString(), 0, 1); |
138 |
+ } |
139 |
+ fp.close(); |
140 |
+ qDebug("importMidi: bad file format"); |
141 |
+diff --git a/mscore/instrdialog.cpp b/mscore/instrdialog.cpp |
142 |
+index fa7bacd622..8d81fe9e20 100644 |
143 |
+--- a/mscore/instrdialog.cpp |
144 |
++++ b/mscore/instrdialog.cpp |
145 |
+@@ -138,7 +138,7 @@ void InstrumentsDialog::on_loadButton_clicked() |
146 |
+ QMessageBox::warning(0, |
147 |
+ QWidget::tr("Load Style Failed"), |
148 |
+ QString(strerror(errno)), |
149 |
+- QString::null, QWidget::tr("Quit"), QString::null, 0, 1); |
150 |
++ QString(), QWidget::tr("Quit"), QString(), 0, 1); |
151 |
+ return; |
152 |
+ } |
153 |
+ instrumentsWidget->buildTemplateList(); |
154 |
+diff --git a/mscore/musescore.cpp b/mscore/musescore.cpp |
155 |
+index dd4a4b95ca..07cb596abe 100644 |
156 |
+--- a/mscore/musescore.cpp |
157 |
++++ b/mscore/musescore.cpp |
158 |
+@@ -4013,7 +4013,7 @@ bool MuseScore::readLanguages(const QString& path) |
159 |
+ QMessageBox::warning(0, |
160 |
+ QWidget::tr("Load Languages Failed:"), |
161 |
+ error, |
162 |
+- QString::null, QWidget::tr("Quit"), QString::null, 0, 1); |
163 |
++ QString(), QWidget::tr("Quit"), QString(), 0, 1); |
164 |
+ return false; |
165 |
+ } |
166 |
+ |
167 |
+@@ -6753,7 +6753,7 @@ bool MuseScore::saveMp3(Score* score, const QString& name) |
168 |
+ QMessageBox::warning(0, |
169 |
+ tr("Encoding Error"), |
170 |
+ tr("Unable to open target file for writing"), |
171 |
+- QString::null, QString::null); |
172 |
++ QString(), QString()); |
173 |
+ } |
174 |
+ return false; |
175 |
+ } |
176 |
+@@ -6792,7 +6792,7 @@ bool MuseScore::saveMp3(Score* score, QIODevice* device, bool& wasCanceled) |
177 |
+ QMessageBox::warning(0, |
178 |
+ tr("Error Opening LAME library"), |
179 |
+ tr("Could not open MP3 encoding library!"), |
180 |
+- QString::null, QString::null); |
181 |
++ QString(), QString()); |
182 |
+ qDebug("Could not open MP3 encoding library!"); |
183 |
+ return false; |
184 |
+ } |
185 |
+@@ -6804,7 +6804,7 @@ bool MuseScore::saveMp3(Score* score, QIODevice* device, bool& wasCanceled) |
186 |
+ QMessageBox::warning(0, |
187 |
+ tr("Error Opening LAME library"), |
188 |
+ tr("Not a valid or supported MP3 encoding library!"), |
189 |
+- QString::null, QString::null); |
190 |
++ QString(), QString()); |
191 |
+ qDebug("Not a valid or supported MP3 encoding library!"); |
192 |
+ return false; |
193 |
+ } |
194 |
+@@ -6829,7 +6829,7 @@ bool MuseScore::saveMp3(Score* score, QIODevice* device, bool& wasCanceled) |
195 |
+ if (!MScore::noGui) { |
196 |
+ QMessageBox::warning(0, tr("Encoding Error"), |
197 |
+ tr("Unable to initialize MP3 stream"), |
198 |
+- QString::null, QString::null); |
199 |
++ QString(), QString()); |
200 |
+ } |
201 |
+ qDebug("Unable to initialize MP3 stream"); |
202 |
+ MScore::sampleRate = oldSampleRate; |
203 |
+@@ -6996,7 +6996,7 @@ bool MuseScore::saveMp3(Score* score, QIODevice* device, bool& wasCanceled) |
204 |
+ QMessageBox::warning(0, |
205 |
+ tr("Encoding Error"), |
206 |
+ tr("Error %1 returned from MP3 encoder").arg(bytes), |
207 |
+- QString::null, QString::null); |
208 |
++ QString(), QString()); |
209 |
+ break; |
210 |
+ } |
211 |
+ else |
212 |
+diff --git a/mscore/musescore.h b/mscore/musescore.h |
213 |
+index 434072a12f..d8089a345c 100644 |
214 |
+--- a/mscore/musescore.h |
215 |
++++ b/mscore/musescore.h |
216 |
+@@ -142,7 +142,7 @@ struct LanguageItem { |
217 |
+ LanguageItem(const QString k, const QString n) { |
218 |
+ key = k; |
219 |
+ name = n; |
220 |
+- handbook = QString::null; |
221 |
++ handbook = QString(); |
222 |
+ } |
223 |
+ LanguageItem(const QString k, const QString n, const QString h) { |
224 |
+ key = k; |
225 |
+diff --git a/mscore/network/loginmanager.cpp b/mscore/network/loginmanager.cpp |
226 |
+index 7bcfd892e0..4abf7e3e4e 100644 |
227 |
+--- a/mscore/network/loginmanager.cpp |
228 |
++++ b/mscore/network/loginmanager.cpp |
229 |
+@@ -680,7 +680,7 @@ void LoginManager::mediaUploadFinished() |
230 |
+ QMessageBox::warning(0, |
231 |
+ tr("Upload Error"), |
232 |
+ tr("Sorry, MuseScore couldn't upload the audio file. Error %1").arg(e), |
233 |
+- QString::null, QString::null); |
234 |
++ QString(), QString()); |
235 |
+ } |
236 |
+ } |
237 |
+ |
238 |
|
239 |
diff --git a/media-sound/musescore/musescore-3.3.3.ebuild b/media-sound/musescore/musescore-3.3.3.ebuild |
240 |
index cd4bca0639e..e0e03cdcb56 100644 |
241 |
--- a/media-sound/musescore/musescore-3.3.3.ebuild |
242 |
+++ b/media-sound/musescore/musescore-3.3.3.ebuild |
243 |
@@ -1,4 +1,4 @@ |
244 |
-# Copyright 1999-2019 Gentoo Authors |
245 |
+# Copyright 1999-2020 Gentoo Authors |
246 |
# Distributed under the terms of the GNU General Public License v2 |
247 |
|
248 |
EAPI=7 |
249 |
@@ -54,6 +54,7 @@ RDEPEND="${DEPEND}" |
250 |
|
251 |
PATCHES=( |
252 |
"${FILESDIR}/${PN}-3.0.1-man-pages.patch" |
253 |
+ "${FILESDIR}/5583.patch" |
254 |
) |
255 |
|
256 |
S="${WORKDIR}/MuseScore-${PV}" |
257 |
|
258 |
diff --git a/media-sound/musescore/musescore-3.3.4.ebuild b/media-sound/musescore/musescore-3.3.4.ebuild |
259 |
index cd4bca0639e..e0e03cdcb56 100644 |
260 |
--- a/media-sound/musescore/musescore-3.3.4.ebuild |
261 |
+++ b/media-sound/musescore/musescore-3.3.4.ebuild |
262 |
@@ -1,4 +1,4 @@ |
263 |
-# Copyright 1999-2019 Gentoo Authors |
264 |
+# Copyright 1999-2020 Gentoo Authors |
265 |
# Distributed under the terms of the GNU General Public License v2 |
266 |
|
267 |
EAPI=7 |
268 |
@@ -54,6 +54,7 @@ RDEPEND="${DEPEND}" |
269 |
|
270 |
PATCHES=( |
271 |
"${FILESDIR}/${PN}-3.0.1-man-pages.patch" |
272 |
+ "${FILESDIR}/5583.patch" |
273 |
) |
274 |
|
275 |
S="${WORKDIR}/MuseScore-${PV}" |
276 |
|
277 |
diff --git a/media-sound/musescore/musescore-9999.ebuild b/media-sound/musescore/musescore-9999.ebuild |
278 |
index 6b06e3b852c..cbaf17ea641 100644 |
279 |
--- a/media-sound/musescore/musescore-9999.ebuild |
280 |
+++ b/media-sound/musescore/musescore-9999.ebuild |
281 |
@@ -1,4 +1,4 @@ |
282 |
-# Copyright 1999-2019 Gentoo Authors |
283 |
+# Copyright 1999-2020 Gentoo Authors |
284 |
# Distributed under the terms of the GNU General Public License v2 |
285 |
|
286 |
EAPI=7 |
287 |
@@ -54,6 +54,7 @@ RDEPEND="${DEPEND}" |
288 |
|
289 |
PATCHES=( |
290 |
"${FILESDIR}/${PN}-3.0.1-man-pages.patch" |
291 |
+ "${FILESDIR}/5583.patch" |
292 |
) |
293 |
|
294 |
src_unpack() { |