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
|
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
|
Patch1: rosegarden-10.10-filepaths.patch
|
||||||
#Temporary patch to fix license statement in the "About box"
|
#Temporary patch to fix license statement in the "About box"
|
||||||
Patch2: rosegarden-11.11-gplv2+.patch
|
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
|
Summary: Midi, Audio And Notation Editor
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: Productivity/Multimedia/Sound/Midi
|
Group: Productivity/Multimedia/Sound/Midi
|
||||||
@ -80,6 +82,7 @@ See the changelog for details.
|
|||||||
%patch0
|
%patch0
|
||||||
%patch1
|
%patch1
|
||||||
%patch2
|
%patch2
|
||||||
|
%patch3 -p1
|
||||||
# When we build svn we need to execute bootstrap.sh it doesn't harm the release build either.
|
# When we build svn we need to execute bootstrap.sh it doesn't harm the release build either.
|
||||||
sh bootstrap.sh
|
sh bootstrap.sh
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user