[rosegarden4/f16] Update to 11.11.42

Brendan Jones bsjones at fedoraproject.org
Wed Jan 18 09:33:08 UTC 2012


commit 37eda5c71c6e60a3c2dcec52d3253fba63bb7298
Author: Brendan Jones <brendan.jones.it at gmail.com>
Date:   Wed Jan 18 10:32:47 2012 +0100

    Update to 11.11.42

 .gitignore                        |    1 +
 rosegarden-11.06.README           |   35 ----
 rosegarden-11.11.42-gcc-4.7.patch |  313 +++++++++++++++++++++++++++++++++++++
 rosegarden-11.11.README           |   58 +++++++
 rosegarden4.spec                  |   25 ++-
 sources                           |    2 +-
 6 files changed, 390 insertions(+), 44 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 497037f..760a3e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ rosegarden-10.04.2.tar.bz2
 /rosegarden-10.10.tar.bz2
 /rosegarden-11.02.tar.bz2
 /rosegarden-11.06.tar.bz2
+/rosegarden-11.11.42.tar.bz2
diff --git a/rosegarden-11.11.42-gcc-4.7.patch b/rosegarden-11.11.42-gcc-4.7.patch
new file mode 100644
index 0000000..9bc2552
--- /dev/null
+++ b/rosegarden-11.11.42-gcc-4.7.patch
@@ -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"
+ 
diff --git a/rosegarden-11.11.README b/rosegarden-11.11.README
new file mode 100644
index 0000000..1d98917
--- /dev/null
+++ b/rosegarden-11.11.README
@@ -0,0 +1,58 @@
+====== ROSEGARDEN 11.11, codename "Edelweiss" RELEASED ======
+
+The Rosegarden team is proud to announce the release of version 11.11 of Rosegarden, an audio and MIDI sequencer and musical notation editor for Linux.  A long time in the making, this release combines a number of bug fixes with two major sub-projects that happened to come together right at the same time, and several completely new features as well.  It is probably our most substantial offering since the landmark 10.02.
+
+http://www.rosegardenmusic.com/
+
+Ian Gardner and Yves Guillemot have worked together for nearly a year to invent, implement, and refine the new concept of linked segments, which allow you to maintain a master performance in one segment while copying it to other places, or even other tracks.
+
+When manipulating segments in the main window, Ctrl+Alt+drag creates a linked segment from an existing one, and there is a new "Turn Links into Copies" entry on the Segment menu.  Repeated segments may be displayed in the notation editor (in gray), and depending on the state of the configuration option, the original segment may or may not be modified in notation from its repeating copies.  Redundant clefs and keys may be hidden automatically, within one segment or a chain of consecutive segments.  This new work also improves Rosegarden's long-standing problems with anacrusis in notation.
+
+Tom Breton added several new features, and carried out a number of internal optimizations. "Composition -> Fit Existing Beats to Beat Segment" takes a beat track and adjusts tempo to put real time and beats exactly on the given notes.  "Segment -> Expand Block Chord Segments by Figuration" lets you define a bar of figuration and expand it for every block chord in a segment.  Finally, "Edit -> Clear Range of Tempos" allows you to remove all tempo changes falling within a defined range.
+
+Additionally, Daren Beattie, Alvar Udras, and D. Michael McIntyre formed a miniature version of the original porting team.  The 10.02 release saw Rosegarden transformed from a KDE 3 application into a Qt 4 application, but much work remained to be done to remove all lingering remnants of the old code.  With this release, Rosegarden improves its chances of long-term survival by eliminating its reliance on the Qt 3 support layer.  With these ties to the past removed at last, it should be much less involved when the future arrives, and we find ourselves needing to port to Qt 5.
+
+===== New Features =====
+  * Linked segments
+  * "Turn Links into Copies" entry is added to the segment menu
+  * Repeated segments may be may be displayed in the notation editor in several optional ways
+  * Redundant clefs and keys may be hidden automatically
+  * In the configuration dialog a new tab controls the preceding features
+  * Changed the behavior of SegmentSplitCommand to ensure that if a segment was selected before being split, the two new split segments would also be selected
+  * Fit to Beats; takes a beat track and adjusts tempo to put real time and beats exactly on the given notes
+  * Erase Tempos in Range
+  * Expand Figuration, which lets you define a bar of figuration and expand it for every block chord in a segment
+  * Improved performance of VU meters
+  * Linked segments can be used to create repeats with 1..n alternate endings (with some caveats)
+  * Create Anacrusis automates a tedious sequence of steps, making it a snap to start pickup notes at precisely the right time, with all the following segments lining up properly
+
+===== Bug Fixes =====
+  * Fixed B#/Cb octave export problem in MusicXML and Mup
+  * Fixed problem with segments repeating when they shouldn't have been
+  * Fixed the solo buttons in the transport toolbars in the notation and matrix editors, and changed the behavior so that the solo button is in the same state everywhere, no matter what content is being displayed in a particular window
+  * Fixed the settings amnesia problem with the main window parameter area
+  * Fixed a bug where events beyond the end marker of the first segment in a join would appear in the joined segment
+  * After joining segments, the newly created segment is now selected
+  * Pitch tracker now tracks pitches when they are in octaves below notated with "ignore 
+octave error" on
+  * Pitch tracker honors "ignore octave error" flag
+  * Default pitch tracker settings are no longer stupid
+  * Flats were not cancelled on a C-maj key change
+  * Rulers in notation were desynchronized when a segment was deleted while some zoom factor was in use
+  * The "anacrusis problem" which was giving a broken notation when a segment in contact with a preceding one was not starting at the beginning of a bar
+
+===== Available Languages =====
+We have reached a point where we no longer have the resources to even attempt to maintain a regular translation program.
+
+=====People who contributed to Rosegarden development for this release:=====
+  * Niek van den Berg
+  * Alvar Udras
+  * Ted Felix
+  * Daren Beattie
+  * Tom Breton
+  * Yves Guillemot
+  * Ian Gardner
+  * Nick Bailey
+
+=====People who contributed device and demo files to the Rosegarden Library=====
+  * Aere Greenway
diff --git a/rosegarden4.spec b/rosegarden4.spec
index 0b0736a..cb8a3c5 100644
--- a/rosegarden4.spec
+++ b/rosegarden4.spec
@@ -1,5 +1,5 @@
-%global maj 11.06
-#global min .2
+%global maj 11.11
+%global min .42
 
 Name:          rosegarden4
 Version:       %{maj}%{?min}
@@ -8,15 +8,15 @@ Summary:       MIDI, audio and notation editor
 Group:         Applications/Multimedia
 License:       GPLv2+
 URL:           http://www.rosegardenmusic.com/
-BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Source0:       http://downloads.sourceforge.net/project/rosegarden/rosegarden/%{maj}/rosegarden-%{version}.tar.bz2
 # From         http://downloads.sourceforge.net/project/rosegarden/rosegarden/%{maj}/README
-Source1:       rosegarden-%{version}.README
-# Upstream is informed about all these patches in their mailing list
+Source1:       rosegarden-%{maj}.README
 # Fedora doesn't want fonts built into the final binary
 Patch0:        rosegarden-separate-fonts.patch
 # Look for LADSPA/DSSI plugins in the correct place on 64bit platforms 
 Patch1:        rosegarden-pluginpath.patch
+# fix redeclaration of iterator - from GCC 4.7 mas rebuild
+Patch2:        rosegarden-11.11.42-gcc-4.7.patch
 
 BuildRequires: alsa-lib-devel
 BuildRequires: desktop-file-utils
@@ -76,6 +76,7 @@ use of Rosegarden.
 %setup -q -n rosegarden-%{version}
 %patch0 -p1 -b .fonts
 %patch1 -p1 -b .pluginpath
+%patch2 -p1 -b .gcc4.7
 
 # Release notes
 cp -a %{SOURCE1} ./README.%{maj}
@@ -89,8 +90,8 @@ echo "GenericName=Audio and MIDI Sequencer" >> data/desktop/rosegarden.desktop
 
 %build
 # The following is needed if kdelibs3 is installed
-#unset QTDIR
-%configure
+unset QTDIR
+%configure --with-qt=%{_qt4_prefix}
 make %{?_smp_mflags}
 
 %install
@@ -131,7 +132,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 
 
 %files
-%defattr(-,root,root,-)
+
 %doc AUTHORS CONTRIBUTING README
 %doc README.%{maj}
 %{_bindir}/rosegarden
@@ -147,6 +148,14 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %doc data/fonts/README COPYING
 
 %changelog
+* Tue Jan 17 2012 Brendan Jones <brendan.jones.it at gmail.com> - 11.11.42-1
+- Patch for GCC 4.7 FTB
+- New upstream 11.11.42
+
+* Sun Nov 27 2011 Brendan Jones <brendan.jones.it at gmail.com> - 11.11.11-1
+- Update to 11.11 and README
+- Update spec to current guidelines
+
 * Sun May 15 2011 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 11.06-1
 - Update to 11.06
 
diff --git a/sources b/sources
index 84d3231..f4767b3 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-77ab43d06de53ace338843ff82e26288  rosegarden-11.06.tar.bz2
+552a1cad6dd60077573332bc6c650db0  rosegarden-11.11.42.tar.bz2


More information about the scm-commits mailing list