diff options
Diffstat (limited to 'redhat/applications/rosegarden')
3 files changed, 384 insertions, 11 deletions
diff --git a/redhat/applications/rosegarden/rosegarden-3.5.13-fix_gcc47_compilation.patch b/redhat/applications/rosegarden/rosegarden-3.5.13-fix_gcc47_compilation.patch new file mode 100644 index 000000000..596cddfd6 --- /dev/null +++ b/redhat/applications/rosegarden/rosegarden-3.5.13-fix_gcc47_compilation.patch @@ -0,0 +1,334 @@ +commit 15276f365c15527fbb10d42e3f5896f540de7413 +Author: Darrell Anderson <humanreadable@yahoo.com> +Date: 1334351761 -0500 + + Updated to build with gcc 4.7. + +diff --git a/src/base/Sets.h b/src/base/Sets.h +index 4fe14d1..2a59ed0 100644 +--- a/src/base/Sets.h ++++ b/src/base/Sets.h +@@ -287,7 +287,7 @@ AbstractSet<Element, Container>::initialise() + 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; + } +@@ -300,7 +300,7 @@ AbstractSet<Element, Container>::initialise() + 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; +@@ -317,7 +317,7 @@ AbstractSet<Element, Container>::initialise() + 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; +@@ -332,17 +332,17 @@ bool + 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; + } +@@ -352,12 +352,12 @@ AbstractSet<Element, Container>::sample(const Iterator &i, bool) + 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; + } +@@ -376,8 +376,8 @@ GenericChord<Element, Container, singleStaff>::GenericChord(Container &c, + 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()) + { + AbstractSet<Element, Container>::initialise(); +@@ -416,7 +416,7 @@ template <class Element, class Container, bool singleStaff> + 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; +@@ -452,7 +452,7 @@ bool + 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; +@@ -472,7 +472,7 @@ GenericChord<Element, Container, singleStaff>::sample(const Iterator &i, + + 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)) { + +@@ -518,7 +518,7 @@ GenericChord<Element, Container, singleStaff>::sample(const Iterator &i, + } + + AbstractSet<Element, Container>::sample(i, goingForwards); +- push_back(i); ++ this->push_back(i); + return true; + } + +@@ -560,7 +560,7 @@ GenericChord<Element, Container, singleStaff>::getMarkCountForChord() const + + 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) { +@@ -580,7 +580,7 @@ GenericChord<Element, Container, singleStaff>::getMarksForChord() const + + 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)); + + +@@ -607,9 +607,9 @@ GenericChord<Element, Container, singleStaff>::getPitches() const + + 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); +@@ -641,7 +641,7 @@ GenericChord<Element, Container, singleStaff>::getPreviousNote() + 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; + } + } +@@ -655,7 +655,7 @@ GenericChord<Element, Container, singleStaff>::getNextNote() + 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; + } + } +@@ -677,8 +677,8 @@ GenericChord<Element, Container, singleStaff>::PitchGreater::operator()(const It + 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 --git a/src/document/RosegardenGUIDoc.cpp b/src/document/RosegardenGUIDoc.cpp +index 3ec8e94..fab09c3 100644 +--- a/src/document/RosegardenGUIDoc.cpp ++++ b/src/document/RosegardenGUIDoc.cpp +@@ -2106,15 +2106,15 @@ RosegardenGUIDoc::stopRecordingMidi() + + bool meaningless = true; + +- for (Segment::iterator i = s->begin(); i != s->end(); ++i) { ++ for (Segment::iterator j = s->begin(); j != s->end(); ++j) { + +- if ((*i)->isa(Clef::EventType)) continue; ++ if ((*j)->isa(Clef::EventType)) continue; + + // no rests in the segment yet, so anything else is meaningful + meaningless = false; + +- if (!haveMeaning || (*i)->getAbsoluteTime() < earliestMeaning) { +- earliestMeaning = (*i)->getAbsoluteTime(); ++ if (!haveMeaning || (*j)->getAbsoluteTime() < earliestMeaning) { ++ earliestMeaning = (*j)->getAbsoluteTime(); + } + + haveMeaning = true; +@@ -2149,13 +2149,13 @@ RosegardenGUIDoc::stopRecordingMidi() + ++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 --git a/src/gui/application/LircClient.cpp b/src/gui/application/LircClient.cpp +index 7664b9e..8b20c84 100644 +--- a/src/gui/application/LircClient.cpp ++++ b/src/gui/application/LircClient.cpp +@@ -36,6 +36,7 @@ + #include <tqsocketnotifier.h> + #include <fcntl.h> + #include <cstdlib> ++#include <unistd.h> + + namespace Rosegarden + { +diff --git a/src/gui/application/LircCommander.cpp b/src/gui/application/LircCommander.cpp +index e323539..61afaca 100644 +--- a/src/gui/application/LircCommander.cpp ++++ b/src/gui/application/LircCommander.cpp +@@ -37,7 +37,7 @@ + #include "RosegardenGUIView.h" + + #include <tqobject.h> +- ++#include <unistd.h> + + namespace Rosegarden + { +diff --git a/src/gui/application/main.cpp b/src/gui/application/main.cpp +index b3147de..0744afa 100644 +--- a/src/gui/application/main.cpp ++++ b/src/gui/application/main.cpp +@@ -22,6 +22,7 @@ + #include <tqtimer.h> + #include <kapplication.h> + #include <sys/time.h> ++#include <unistd.h> + #include "base/RealTime.h" + + #include <kcmdlineargs.h> +diff --git a/src/gui/seqmanager/ControlBlockMmapper.cpp b/src/gui/seqmanager/ControlBlockMmapper.cpp +index 6e4560d..2417c67 100644 +--- a/src/gui/seqmanager/ControlBlockMmapper.cpp ++++ b/src/gui/seqmanager/ControlBlockMmapper.cpp +@@ -42,6 +42,7 @@ + #include <fcntl.h> + #include <sys/mman.h> + #include <errno.h> ++#include <unistd.h> + + namespace Rosegarden + { +diff --git a/src/gui/seqmanager/SegmentMmapper.cpp b/src/gui/seqmanager/SegmentMmapper.cpp +index b859aa6..29fe715 100644 +--- a/src/gui/seqmanager/SegmentMmapper.cpp ++++ b/src/gui/seqmanager/SegmentMmapper.cpp +@@ -45,7 +45,7 @@ + #include <fcntl.h> + #include <sys/mman.h> + #include <errno.h> +- ++#include <unistd.h> + + namespace Rosegarden + { +diff --git a/src/gui/seqmanager/SequencerMapper.cpp b/src/gui/seqmanager/SequencerMapper.cpp +index eec66a0..3a051e3 100644 +--- a/src/gui/seqmanager/SequencerMapper.cpp ++++ b/src/gui/seqmanager/SequencerMapper.cpp +@@ -40,7 +40,7 @@ + #include <fcntl.h> + #include <sys/mman.h> + #include <errno.h> +- ++#include <unistd.h> + + namespace Rosegarden + { +diff --git a/src/gui/studio/AudioPluginManager.cpp b/src/gui/studio/AudioPluginManager.cpp +index 24b49f2..4457493 100644 +--- a/src/gui/studio/AudioPluginManager.cpp ++++ b/src/gui/studio/AudioPluginManager.cpp +@@ -37,7 +37,7 @@ + #include <tqmutex.h> + #include <tqstring.h> + #include <tqthread.h> +- ++#include <unistd.h> + + namespace Rosegarden + { +diff --git a/src/gui/studio/AudioPluginOSCGUIManager.cpp b/src/gui/studio/AudioPluginOSCGUIManager.cpp +index 13da726..7b8bbd3 100644 +--- a/src/gui/studio/AudioPluginOSCGUIManager.cpp ++++ b/src/gui/studio/AudioPluginOSCGUIManager.cpp +@@ -25,6 +25,7 @@ + #ifdef HAVE_LIBLO + + #include <lo/lo.h> ++#include <unistd.h> + + #include "AudioPluginOSCGUIManager.h" + +diff --git a/src/sound/RingBuffer.h b/src/sound/RingBuffer.h +index 0cc5dc6..6ea0d4e 100644 +--- a/src/sound/RingBuffer.h ++++ b/src/sound/RingBuffer.h +@@ -24,6 +24,7 @@ + + #include <sys/types.h> + #include <sys/mman.h> ++#include <string.h> + + #include "Scavenger.h" + diff --git a/redhat/applications/rosegarden/rosegarden-3.5.13-fix_gcc47_compilation_2.patch b/redhat/applications/rosegarden/rosegarden-3.5.13-fix_gcc47_compilation_2.patch new file mode 100644 index 000000000..99bbd7f17 --- /dev/null +++ b/redhat/applications/rosegarden/rosegarden-3.5.13-fix_gcc47_compilation_2.patch @@ -0,0 +1,20 @@ +--- rosegarden/src/gui/editors/segment/segmentcanvas/AudioPreviewUpdater.cpp.ORI 2012-05-06 12:31:01.464997883 +0200 ++++ rosegarden/src/gui/editors/segment/segmentcanvas/AudioPreviewUpdater.cpp 2012-05-06 12:31:19.271625694 +0200 +@@ -22,6 +22,7 @@ + COPYING included with this distribution for more information. + */ + ++#include <unistd.h> + + #include "AudioPreviewUpdater.h" + +--- rosegarden/src/gui/editors/segment/segmentcanvas/AudioPreviewUpdater.h.ORI 2012-05-06 12:32:47.222788008 +0200 ++++ rosegarden/src/gui/editors/segment/segmentcanvas/AudioPreviewUpdater.h 2012-05-06 12:33:01.046499259 +0200 +@@ -26,6 +26,7 @@ + #ifndef _RG_AUDIOPREVIEWUPDATER_H_ + #define _RG_AUDIOPREVIEWUPDATER_H_ + ++#include <unistd.h> + #include <tqobject.h> + #include <tqrect.h> + #include <vector> diff --git a/redhat/applications/rosegarden/trinity-rosegarden.spec b/redhat/applications/rosegarden/trinity-rosegarden.spec index 3c42931f9..e7c45d260 100644 --- a/redhat/applications/rosegarden/trinity-rosegarden.spec +++ b/redhat/applications/rosegarden/trinity-rosegarden.spec @@ -1,12 +1,12 @@ # Default version for this component %define kdecomp rosegarden %define version 1.7.0 -%define release 1 +%define release 2 # If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". %if "%{?_prefix}" != "/usr" %define _variant .opt -%define _docdir %{_prefix}/share/doc +%define _docdir %{_datadir}/doc %endif # TDE 3.5.13 specific building variables @@ -32,8 +32,15 @@ Prefix: %{_prefix} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source0: %{kdecomp}-3.5.13.tar.gz + Patch0: rosegarden-3.5.13-ftbfs.patch +# [rosegarden] Updated to build with gcc 4.7. [Commit #15276f36] +Patch1: rosegarden-3.5.13-fix_gcc47_compilation.patch + +# [rosegarden] Updated to build with gcc 4.7. [Bug #958] +Patch2: rosegarden-3.5.13-fix_gcc47_compilation_2.patch + BuildRequires: tqtinterface-devel BuildRequires: trinity-kdelibs-devel BuildRequires: trinity-kdebase-devel @@ -45,6 +52,7 @@ BuildRequires: dssi-devel BuildRequires: liblo-devel BuildRequires: liblrdf-devel BuildRequires: fontconfig-devel +BuildRequires: jack-audio-connection-kit-devel Requires: lilypond Requires: perl-XML-Twig @@ -80,12 +88,14 @@ This package provides the data files necessary for running Rosegarden %prep %setup -q -n applications/%{kdecomp} %patch0 -p1 +%patch1 -p1 +%patch2 -p1 # Hard-coded path to TQT binaries spotted !!! %__sed -i CMakeLists.txt \ - -e "s,/usr/bin/uic-tqt,%{_bindir}/uic-tqt,g" \ - -e "s,/usr/bin/tmoc,%{_bindir}/tmoc,g" \ - -e "s,/usr/include/tqt,%{_includedir}/tqt,g" + -e "s|/usr/bin/uic-tqt|%{_bindir}/uic-tqt|g" \ + -e "s|/usr/bin/tmoc|%{_bindir}/tmoc|g" \ + -e "s|/usr/include/tqt|%{_includedir}/tqt|g" %build unset QTDIR && . %{_sysconfdir}/profile.d/qt.sh @@ -99,7 +109,7 @@ cd build -DWANT_DEBUG=OFF \ -DWANT_FULLDBG=OFF \ -DWANT_SOUND=ON \ - -DWANT_JACK=OFF \ + -DWANT_JACK=ON \ -DWANT_DSSI=ON \ %if 0%{?fedora} > 0 -DWANT_LIRC=ON \ @@ -127,12 +137,16 @@ export PATH="%{_bindir}:${PATH}" %post -touch --no-create %{_datadir}/icons/hicolor || : -gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +for f in hicolor locolor; do + touch --no-create %{_datadir}/icons/${f} || : + gtk-update-icon-cache --quiet %{_datadir}/icons/${f} || : +done %postun -touch --no-create %{_datadir}/icons/hicolor || : -gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +for f in hicolor locolor; do + touch --no-create %{_datadir}/icons/${f} || : + gtk-update-icon-cache --quiet %{_datadir}/icons/${f} || : +done %files @@ -152,7 +166,8 @@ gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %lang(ja) %{tde_docdir}/HTML/ja/rosegarden %lang(sv) %{tde_docdir}/HTML/sv/rosegarden %{_datadir}/apps/rosegarden -%{_datadir}/icons/*/*/*/* +%{_datadir}/icons/hicolor/*/*/* +%{_datadir}/icons/locolor/*/*/* %{_datadir}/mimelnk/audio/x-rosegarden-device.desktop %{_datadir}/mimelnk/audio/x-rosegarden.desktop %{_datadir}/mimelnk/audio/x-rosegarden21.desktop @@ -160,5 +175,9 @@ gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %Changelog +* Sun Apr 06 2012 Francois Andriot <francois.andriot@free.fr> - 1.7.0-2 +- Updated to build with gcc 4.7. [Commit #15276f36] +- Enables JACK support + * Sat Nov 26 2011 Francois Andriot <francois.andriot@free.fr> - 1.7.0-1 - Initial build for RHEL 5, RHEL 6, Fedora 15, Fedora 16 |