Accepting request 111096 from multimedia:apps
Fix build with gcc 4.7 - Please work with upstream to resolve it in upstream code base. There is also a chance that a newer version of the package might have this fixed already. (forwarded request 110927 from plater) OBS-URL: https://build.opensuse.org/request/show/111096 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rosegarden?expand=0&rev=10
This commit is contained in:
commit
f683606dd3
313
rosegarden-gcc47.patch
Normal file
313
rosegarden-gcc47.patch
Normal file
@ -0,0 +1,313 @@
|
||||
diff -Nur rosegarden-11.11.42.orig/src/base/Overlaps.h rosegarden-11.11.42/src/base/Overlaps.h
|
||||
--- rosegarden-11.11.42.orig/src/base/Overlaps.h 2011-12-11 21:09:32.000000000 +0100
|
||||
+++ rosegarden-11.11.42/src/base/Overlaps.h 2012-01-17 19:59:41.338313832 +0100
|
||||
@@ -65,15 +65,15 @@
|
||||
timeT segEnd = (*i)->getEndMarkerTime();
|
||||
|
||||
// Start and ends of segments always are range limits
|
||||
- insert(std::pair<timeT, OverlapRange<T> >(segStart, range));
|
||||
- insert(std::pair<timeT, OverlapRange<T> >(segEnd, range));
|
||||
+ this->insert(std::pair<timeT, OverlapRange<T> >(segStart, range));
|
||||
+ this->insert(std::pair<timeT, OverlapRange<T> >(segEnd, range));
|
||||
|
||||
timeT currentTime, propertyTime;
|
||||
currentTime = segStart;
|
||||
for (;;) {
|
||||
bool fnd = getNextPropertyTime((*i), currentTime, propertyTime);
|
||||
if (!fnd) break;
|
||||
- insert(std::pair<timeT, OverlapRange<T> >(propertyTime, range));
|
||||
+ this->insert(std::pair<timeT, OverlapRange<T> >(propertyTime, range));
|
||||
currentTime = propertyTime;
|
||||
}
|
||||
}
|
||||
diff -Nur rosegarden-11.11.42.orig/src/base/Sets.h rosegarden-11.11.42/src/base/Sets.h
|
||||
--- rosegarden-11.11.42.orig/src/base/Sets.h 2011-12-11 21:09:32.000000000 +0100
|
||||
+++ rosegarden-11.11.42/src/base/Sets.h 2012-01-17 18:50:41.213404377 +0100
|
||||
@@ -349,7 +349,7 @@
|
||||
m_final = m_baseIterator;
|
||||
sample(m_baseIterator, true);
|
||||
|
||||
- if (getAsEvent(m_baseIterator)->isa(Note::EventType)) {
|
||||
+ if (AbstractSet::getAsEvent(m_baseIterator)->isa(Note::EventType)) {
|
||||
m_initialNote = m_baseIterator;
|
||||
m_finalNote = m_baseIterator;
|
||||
}
|
||||
@@ -362,7 +362,7 @@
|
||||
for (i = j = m_baseIterator; i != getContainer().begin() && test(--j); i = j){
|
||||
if (sample(j, false)) {
|
||||
m_initial = j;
|
||||
- if (getAsEvent(j)->isa(Note::EventType)) {
|
||||
+ if (AbstractSet::getAsEvent(j)->isa(Note::EventType)) {
|
||||
m_initialNote = j;
|
||||
if (m_finalNote == getContainer().end()) {
|
||||
m_finalNote = j;
|
||||
@@ -379,7 +379,7 @@
|
||||
for (i = j = m_baseIterator; ++j != getContainer().end() && test(j); i = j) {
|
||||
if (sample(j, true)) {
|
||||
m_final = j;
|
||||
- if (getAsEvent(j)->isa(Note::EventType)) {
|
||||
+ if (AbstractSet::getAsEvent(j)->isa(Note::EventType)) {
|
||||
m_finalNote = j;
|
||||
if (m_initialNote == getContainer().end()) {
|
||||
m_initialNote = j;
|
||||
@@ -397,17 +397,17 @@
|
||||
AbstractSet<Element, Container>::sample(const Iterator &i, bool)
|
||||
{
|
||||
const Quantizer &q(getQuantizer());
|
||||
- Event *e = getAsEvent(i);
|
||||
+ Event *e = AbstractSet::getAsEvent(i);
|
||||
timeT d(q.getQuantizedDuration(e));
|
||||
|
||||
if (e->isa(Note::EventType) || d > 0) {
|
||||
if (m_longest == getContainer().end() ||
|
||||
- d > q.getQuantizedDuration(getAsEvent(m_longest))) {
|
||||
+ d > q.getQuantizedDuration(AbstractSet::getAsEvent(m_longest))) {
|
||||
// std::cerr << "New longest in set at duration " << d << " and time " << e->getAbsoluteTime() << std::endl;
|
||||
m_longest = i;
|
||||
}
|
||||
if (m_shortest == getContainer().end() ||
|
||||
- d < q.getQuantizedDuration(getAsEvent(m_shortest))) {
|
||||
+ d < q.getQuantizedDuration(AbstractSet::getAsEvent(m_shortest))) {
|
||||
// std::cerr << "New shortest in set at duration " << d << " and time " << e->getAbsoluteTime() << std::endl;
|
||||
m_shortest = i;
|
||||
}
|
||||
@@ -417,12 +417,12 @@
|
||||
long p = get__Int(e, BaseProperties::PITCH);
|
||||
|
||||
if (m_highest == getContainer().end() ||
|
||||
- p > get__Int(getAsEvent(m_highest), BaseProperties::PITCH)) {
|
||||
+ p > get__Int(AbstractSet::getAsEvent(m_highest), BaseProperties::PITCH)) {
|
||||
// std::cerr << "New highest in set at pitch " << p << " and time " << e->getAbsoluteTime() << std::endl;
|
||||
m_highest = i;
|
||||
}
|
||||
if (m_lowest == getContainer().end() ||
|
||||
- p < get__Int(getAsEvent(m_lowest), BaseProperties::PITCH)) {
|
||||
+ p < get__Int(AbstractSet::getAsEvent(m_lowest), BaseProperties::PITCH)) {
|
||||
// std::cerr << "New lowest in set at pitch " << p << " and time " << e->getAbsoluteTime() << std::endl;
|
||||
m_lowest = i;
|
||||
}
|
||||
@@ -441,8 +441,8 @@
|
||||
PropertyName stemUpProperty) :
|
||||
AbstractSet<Element, Container>(c, i, q),
|
||||
m_stemUpProperty(stemUpProperty),
|
||||
- m_time(q->getQuantizedAbsoluteTime(getAsEvent(i))),
|
||||
- m_subordering(getAsEvent(i)->getSubOrdering()),
|
||||
+ m_time(q->getQuantizedAbsoluteTime(GenericChord::getAsEvent(i))),
|
||||
+ m_subordering(GenericChord::getAsEvent(i)->getSubOrdering()),
|
||||
m_firstReject(c.end())
|
||||
{
|
||||
// initialise must be called in individual derived classes. If we
|
||||
@@ -471,7 +471,7 @@
|
||||
bool
|
||||
GenericChord<Element, Container, singleStaff>::test(const Iterator &i)
|
||||
{
|
||||
- Event *e = getAsEvent(i);
|
||||
+ Event *e = GenericChord::getAsEvent(i);
|
||||
if (AbstractSet<Element, Container>::
|
||||
getQuantizer().getQuantizedAbsoluteTime(e) != m_time) {
|
||||
return false;
|
||||
@@ -507,7 +507,7 @@
|
||||
GenericChord<Element, Container, singleStaff>::sample(const Iterator &i,
|
||||
bool goingForwards)
|
||||
{
|
||||
- Event *e1 = getAsEvent(i);
|
||||
+ Event *e1 = GenericChord::getAsEvent(i);
|
||||
if (!e1->isa(Note::EventType)) {
|
||||
if (goingForwards && m_firstReject == AbstractSet<Element, Container>::getContainer().end()) m_firstReject = i;
|
||||
return false;
|
||||
@@ -527,7 +527,7 @@
|
||||
|
||||
if (AbstractSet<Element, Container>::m_baseIterator != AbstractSet<Element, Container>::getContainer().end()) {
|
||||
|
||||
- Event *e0 = getAsEvent(AbstractSet<Element, Container>::m_baseIterator);
|
||||
+ Event *e0 = GenericChord::getAsEvent(AbstractSet<Element, Container>::m_baseIterator);
|
||||
|
||||
if (!(m_stemUpProperty == PropertyName::EmptyPropertyName)) {
|
||||
|
||||
@@ -573,7 +573,7 @@
|
||||
}
|
||||
|
||||
AbstractSet<Element, Container>::sample(i, goingForwards);
|
||||
- push_back(i);
|
||||
+ this->push_back(i);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -615,7 +615,7 @@
|
||||
|
||||
for (unsigned int i = 0; i < std::vector<typename Container::iterator>::size(); ++i) {
|
||||
|
||||
- Event *e = getAsEvent((*this)[i]);
|
||||
+ Event *e = GenericChord::getAsEvent((*this)[i]);
|
||||
std::vector<Mark> marks(Marks::getMarks(*e));
|
||||
|
||||
for (std::vector<Mark>::iterator j = marks.begin(); j != marks.end(); ++j) {
|
||||
@@ -635,7 +635,7 @@
|
||||
|
||||
for (unsigned int i = 0; i < std::vector<typename Container::iterator>::size(); ++i) {
|
||||
|
||||
- Event *e = getAsEvent((*this)[i]);
|
||||
+ Event *e = GenericChord::getAsEvent((*this)[i]);
|
||||
std::vector<Mark> marks(Marks::getMarks(*e));
|
||||
|
||||
|
||||
@@ -662,9 +662,9 @@
|
||||
|
||||
for (typename std::vector<typename Container::iterator>::const_iterator
|
||||
i = std::vector<typename Container::iterator>::begin(); i != std::vector<typename Container::iterator>::end(); ++i) {
|
||||
- if (getAsEvent(*i)->has(BaseProperties::PITCH)) {
|
||||
+ if (GenericChord::getAsEvent(*i)->has(BaseProperties::PITCH)) {
|
||||
int pitch = get__Int
|
||||
- (getAsEvent(*i), BaseProperties::PITCH);
|
||||
+ (GenericChord::getAsEvent(*i), BaseProperties::PITCH);
|
||||
if (pitches.size() > 0 && pitches[pitches.size()-1] == pitch)
|
||||
continue;
|
||||
pitches.push_back(pitch);
|
||||
@@ -696,7 +696,7 @@
|
||||
while (1) {
|
||||
if (i == AbstractSet<Element, Container>::getContainer().begin()) return AbstractSet<Element, Container>::getContainer().end();
|
||||
--i;
|
||||
- if (getAsEvent(i)->isa(Note::EventType)) {
|
||||
+ if (GenericChord::getAsEvent(i)->isa(Note::EventType)) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
@@ -710,7 +710,7 @@
|
||||
Iterator i(AbstractSet<Element, Container>::getFinalElement());
|
||||
while ( i != AbstractSet<Element, Container>::getContainer().end() &&
|
||||
++i != AbstractSet<Element, Container>::getContainer().end()) {
|
||||
- if (getAsEvent(i)->isa(Note::EventType)) {
|
||||
+ if (GenericChord::getAsEvent(i)->isa(Note::EventType)) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
@@ -732,8 +732,8 @@
|
||||
const Iterator &b)
|
||||
{
|
||||
try {
|
||||
- long ap = get__Int(getAsEvent(a), BaseProperties::PITCH);
|
||||
- long bp = get__Int(getAsEvent(b), BaseProperties::PITCH);
|
||||
+ long ap = get__Int(GenericChord::getAsEvent(a), BaseProperties::PITCH);
|
||||
+ long bp = get__Int(GenericChord::getAsEvent(b), BaseProperties::PITCH);
|
||||
return (ap < bp);
|
||||
} catch (Event::NoData) {
|
||||
std::cerr << "Bad karma: PitchGreater failed to find one or both pitches" << std::endl;
|
||||
diff -Nur rosegarden-11.11.42.orig/src/document/RosegardenDocument.cpp rosegarden-11.11.42/src/document/RosegardenDocument.cpp
|
||||
--- rosegarden-11.11.42.orig/src/document/RosegardenDocument.cpp 2011-12-11 21:09:34.000000000 +0100
|
||||
+++ rosegarden-11.11.42/src/document/RosegardenDocument.cpp 2012-01-17 18:13:34.335452989 +0100
|
||||
@@ -2359,13 +2359,13 @@
|
||||
++i) {
|
||||
|
||||
Segment *s = i->second;
|
||||
- Segment::iterator i = s->begin();
|
||||
+ Segment::iterator j = s->begin();
|
||||
|
||||
- if (i == s->end() || !(*i)->isa(Clef::EventType)) continue;
|
||||
+ if (j == s->end() || !(*j)->isa(Clef::EventType)) continue;
|
||||
|
||||
- if ((*i)->getAbsoluteTime() < meaningfulBarStart) {
|
||||
- Event *e = new Event(**i, meaningfulBarStart);
|
||||
- s->erase(i);
|
||||
+ if ((*j)->getAbsoluteTime() < meaningfulBarStart) {
|
||||
+ Event *e = new Event(**j, meaningfulBarStart);
|
||||
+ s->erase(j);
|
||||
s->insert(e);
|
||||
}
|
||||
}
|
||||
diff -Nur rosegarden-11.11.42.orig/src/gui/application/LircClient.cpp rosegarden-11.11.42/src/gui/application/LircClient.cpp
|
||||
--- rosegarden-11.11.42.orig/src/gui/application/LircClient.cpp 2011-12-11 21:09:16.000000000 +0100
|
||||
+++ rosegarden-11.11.42/src/gui/application/LircClient.cpp 2012-01-17 19:01:11.259390559 +0100
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <QSocketNotifier>
|
||||
#include <fcntl.h>
|
||||
#include <cstdlib>
|
||||
+#include <unistd.h>
|
||||
|
||||
namespace Rosegarden
|
||||
{
|
||||
diff -Nur rosegarden-11.11.42.orig/src/gui/application/LircCommander.cpp rosegarden-11.11.42/src/gui/application/LircCommander.cpp
|
||||
--- rosegarden-11.11.42.orig/src/gui/application/LircCommander.cpp 2011-12-11 21:09:16.000000000 +0100
|
||||
+++ rosegarden-11.11.42/src/gui/application/LircCommander.cpp 2012-01-17 18:56:50.373396313 +0100
|
||||
@@ -31,7 +31,7 @@
|
||||
#include "document/CommandHistory.h"
|
||||
|
||||
#include <QObject>
|
||||
-
|
||||
+#include <unistd.h>
|
||||
|
||||
namespace Rosegarden
|
||||
{
|
||||
diff -Nur rosegarden-11.11.42.orig/src/gui/application/main.cpp rosegarden-11.11.42/src/gui/application/main.cpp
|
||||
--- rosegarden-11.11.42.orig/src/gui/application/main.cpp 2011-12-11 21:09:16.000000000 +0100
|
||||
+++ rosegarden-11.11.42/src/gui/application/main.cpp 2012-01-17 18:58:53.769393547 +0100
|
||||
@@ -49,6 +49,7 @@
|
||||
#include <QStringList>
|
||||
|
||||
#include <sys/time.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
using namespace Rosegarden;
|
||||
|
||||
diff -Nur rosegarden-11.11.42.orig/src/gui/editors/notation/Inconsistencies.h rosegarden-11.11.42/src/gui/editors/notation/Inconsistencies.h
|
||||
--- rosegarden-11.11.42.orig/src/gui/editors/notation/Inconsistencies.h 2011-12-11 21:09:25.000000000 +0100
|
||||
+++ rosegarden-11.11.42/src/gui/editors/notation/Inconsistencies.h 2012-01-17 19:56:09.986318473 +0100
|
||||
@@ -52,11 +52,11 @@
|
||||
timeT end = comp->getEndMarker();
|
||||
|
||||
typename std::map<timeT, OverlapRange<T> >::iterator it;
|
||||
- if (getFirst(start, end, it)) {
|
||||
+ if (this->getFirst(start, end, it)) {
|
||||
for (;;) {
|
||||
timeT t1, t2;
|
||||
- if (!isConsistent(it)) {
|
||||
- getTimeRange(it, t1, t2);
|
||||
+ if (!this->isConsistent(it)) {
|
||||
+ this->getTimeRange(it, t1, t2);
|
||||
int bar1 = comp->getBarNumber(t1) + 1;
|
||||
int bar2 = comp->getBarNumber(t2) + 1;
|
||||
str += QString("<blockquote>");
|
||||
@@ -68,18 +68,18 @@
|
||||
}
|
||||
|
||||
str += QString("<blockquote>");
|
||||
- const std::vector<Segment *> *s = getSegments(it);
|
||||
+ const std::vector<Segment *> *s = this->getSegments(it);
|
||||
std::vector<Segment *>::const_iterator sit;
|
||||
for (sit = s->begin(); sit != s->end(); ++sit) {
|
||||
if (sit != s->begin()) str += QString("<br>");
|
||||
T pr = Overlaps<T>::getPropertyAtTime(*sit, t1);
|
||||
str+= segLine
|
||||
.arg(QString::fromStdString((*sit)->getLabel()))
|
||||
- .arg(getTranslatedName(pr));
|
||||
+ .arg(this->getTranslatedName(pr));
|
||||
}
|
||||
str += QString("</blockquote></blockquote>");
|
||||
}
|
||||
- if (!getNext(end, it)) break;
|
||||
+ if (!this->getNext(end, it)) break;
|
||||
}
|
||||
}
|
||||
}
|
||||
diff -Nur rosegarden-11.11.42.orig/src/gui/studio/AudioPluginOSCGUIManager.cpp rosegarden-11.11.42/src/gui/studio/AudioPluginOSCGUIManager.cpp
|
||||
--- rosegarden-11.11.42.orig/src/gui/studio/AudioPluginOSCGUIManager.cpp 2011-12-11 21:09:20.000000000 +0100
|
||||
+++ rosegarden-11.11.42/src/gui/studio/AudioPluginOSCGUIManager.cpp 2012-01-17 18:54:18.965399536 +0100
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <QString>
|
||||
|
||||
#include <lo/lo.h>
|
||||
-
|
||||
+#include <unistd.h>
|
||||
|
||||
namespace Rosegarden
|
||||
{
|
||||
diff -Nur rosegarden-11.11.42.orig/src/sound/RingBuffer.h rosegarden-11.11.42/src/sound/RingBuffer.h
|
||||
--- rosegarden-11.11.42.orig/src/sound/RingBuffer.h 2011-12-11 21:09:29.000000000 +0100
|
||||
+++ rosegarden-11.11.42/src/sound/RingBuffer.h 2012-01-17 18:15:33.906450378 +0100
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/mman.h>
|
||||
+#include <string.h>
|
||||
|
||||
#include "Scavenger.h"
|
||||
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 24 18:17:43 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Add rosegarden-gcc47.patch: Fix build with gcc 4.7.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 7 13:38:53 UTC 2012 - davejplater@gmail.com
|
||||
|
||||
|
@ -46,6 +46,8 @@ Patch0: rosegarden-10.02-plugin-lib64path.patch
|
||||
Patch1: rosegarden-10.10-filepaths.patch
|
||||
#Temporary patch to fix license statement in the "About box"
|
||||
Patch2: rosegarden-11.11-gplv2+.patch
|
||||
# PATCH-FIX-UPSTREAM rosegarden-gcc47.patch sf#3475088 -- Fix build with gcc 4.7
|
||||
Patch3: rosegarden-gcc47.patch
|
||||
Summary: Midi, Audio And Notation Editor
|
||||
License: GPL-2.0+
|
||||
Group: Productivity/Multimedia/Sound/Midi
|
||||
@ -80,6 +82,7 @@ See the changelog for details.
|
||||
%patch0
|
||||
%patch1
|
||||
%patch2
|
||||
%patch3 -p1
|
||||
# When we build svn we need to execute bootstrap.sh it doesn't harm the release build either.
|
||||
sh bootstrap.sh
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user