Hi all,
I am one of the comaintainers of the Rosegarden package at Fedora. I
wanted to update our version to 10.02. During the preparation I came
upon some issues that I wanted to report. I thought maybe if I can get
my "fixes" upstreamed, I won't have to deal with updating my patches
in the subsequent releases. So here we go:
1) The files
src/commands/segment/SegmentSplitTwiceCommand.*
src/gui/widgets/BaseTextFloat.*
are 755. I believe that they need to be 644.
2) Can we add the line
GenericName=Audio and MIDI Sequencer
to data/desktop/rosegarden.desktop ? KDE makes use of GenericName in
its menus and it is nice to have rosegarden have a nonblank entry
together with all the other applications in the multimedia menu.
3) Fedora's rules tell us we need to pass specific flags to the
compiler. However the environment variable CXXFLAGS is being overriden
by the configure script. The only way I could hack this around was to
pass a sed 's|@CXXFLAGS@|%optflags|' to Makefile.in. Can we make this
a bit easier?
4) Fedora does not allow indirect linking with libraries anymore. If
an application or a library uses symbols from another library, it has
to link to it. Otherwise the compilation fails. I needed to pass the
flags "-lz -lX11 -ldl" to the linker in order to make rosegarden
compile on Fedora. It would be good to have this upstreamed as other
distros may also follow Fedora in this regard.
5) This one may be very Fedora specific: The font .pfa files are
compiled into the final binary. This is a big NO in Fedora. I had to
patch them out and install them in /usr/share/fonts/rosegarden/. I am
attaching the patch. It is not the most portable patch but I just
wanted to bring this into your attention. Can we add a configure flag
to separate the data files from the binary?
6) The DSSI and LADSPA plugin paths are wrong on 64 bit systems. I am
attaching a patch to correct the issue.
Please ask me questions if I need to make anything clearer. I can
write patches for the other issues (2-4) too if you want me to. Thank
you for your time and for the great software. The new version looks
awesome.
Orcan
diff -rupN rosegarden-10.02.old/src/sound/DSSIPluginFactory.cpp rosegarden-10.02/src/sound/DSSIPluginFactory.cpp
--- rosegarden-10.02.old/src/sound/DSSIPluginFactory.cpp 2010-02-13 20:52:49.000000000 -0500
+++ rosegarden-10.02/src/sound/DSSIPluginFactory.cpp 2010-02-18 23:22:24.000000000 -0500
@@ -234,7 +234,7 @@ DSSIPluginFactory::getPluginPath()
path = cpath;
if (path == "") {
- path = "/usr/local/lib/dssi:/usr/lib/dssi";
+ path = "/usr/local/lib64/dssi:/usr/lib64/dssi:/usr/local/lib/dssi:/usr/lib/dssi";
char *home = getenv("HOME");
if (home)
path = std::string(home) + "/.dssi:" + path;
diff -rupN rosegarden-10.02.old/src/sound/LADSPAPluginFactory.cpp rosegarden-10.02/src/sound/LADSPAPluginFactory.cpp
--- rosegarden-10.02.old/src/sound/LADSPAPluginFactory.cpp 2010-02-13 20:52:49.000000000 -0500
+++ rosegarden-10.02/src/sound/LADSPAPluginFactory.cpp 2010-02-18 23:26:30.000000000 -0500
@@ -565,7 +565,7 @@ LADSPAPluginFactory::getPluginPath()
path = cpath;
if (path == "") {
- path = "/usr/local/lib/ladspa:/usr/lib/ladspa";
+ path = "/usr/local/lib64/ladspa:/usr/lib64/ladspa:/usr/local/lib/ladspa:/usr/lib/ladspa";
char *home = getenv("HOME");
if (home)
path = std::string(home) + "/.ladspa:" + path;
@@ -759,6 +759,12 @@ LADSPAPluginFactory::generateFallbackCat
path.push_back(p);
// std::cerr << "LADSPAPluginFactory::generateFallbackCategories: path element " << p << std::endl;
}
+ else if (pluginPath[i].contains("/lib64/")) {
+ QString p(pluginPath[i]);
+ p.replace("/lib64/", "/share/");
+ path.push_back(p);
+ // std::cerr << "LADSPAPluginFactory::generateFallbackCategories: path element " << p << std::endl;
+ }
path.push_back(pluginPath[i]);
// std::cerr << "LADSPAPluginFactory::generateFallbackCategories: path element " << pluginPath[i] << std::endl;
}
diff -rupN rosegarden-10.02.old/data/data.qrc rosegarden-10.02/data/data.qrc
--- rosegarden-10.02.old/data/data.qrc 2010-02-13 20:53:39.000000000 -0500
+++ rosegarden-10.02/data/data.qrc 2010-02-17 22:43:22.000000000 -0500
@@ -10,9 +10,6 @@ running:
DO NOT EDIT THIS FILE BY HAND! All changes will be LOST!
-->
<qresource>
-<file>./fonts/LilyPond-feta-design20.pfa</file>
-<file>./fonts/LilyPond-feta-nummer-design10.pfa</file>
-<file>./fonts/LilyPond-parmesan-design20.pfa</file>
<file>./pixmaps/icons/audio-nok.png</file>
<file>./pixmaps/icons/audio-ok.png</file>
<file>./pixmaps/icons/midi-nok.png</file>
diff -rupN rosegarden-10.02.old/scripts/rebuild-qrc rosegarden-10.02/scripts/rebuild-qrc
--- rosegarden-10.02.old/scripts/rebuild-qrc 2010-02-13 20:52:50.000000000 -0500
+++ rosegarden-10.02/scripts/rebuild-qrc 2010-02-17 22:09:46.000000000 -0500
@@ -60,7 +60,7 @@ DO NOT EDIT THIS FILE BY HAND! All chan
<qresource>
EOF
-for ext in pfa png ts qss rc rg rgd rgp rgt xml xpm; do
+for ext in png ts qss rc rg rgd rgp rgt xml xpm; do
writeEntries $ext
done
diff -rupN rosegarden-10.02.old/src/gui/editors/notation/SystemFont.cpp rosegarden-10.02/src/gui/editors/notation/SystemFont.cpp
--- rosegarden-10.02.old/src/gui/editors/notation/SystemFont.cpp 2010-02-13 20:52:47.000000000 -0500
+++ rosegarden-10.02/src/gui/editors/notation/SystemFont.cpp 2010-02-17 23:38:26.000000000 -0500
@@ -166,24 +166,15 @@ void
SystemFont::unbundleFonts()
{
QStringList fontFiles;
- fontFiles << ResourceFinder().getResourceFiles("fonts", "pfa");
- fontFiles << ResourceFinder().getResourceFiles("fonts", "pfb");
- fontFiles << ResourceFinder().getResourceFiles("fonts", "ttf");
- fontFiles << ResourceFinder().getResourceFiles("fonts", "otf");
+ fontFiles << QString("/usr/share/fonts/rosegarden4/LilyPond-feta-design20.pfa");
+ fontFiles << QString("/usr/share/fonts/rosegarden4/LilyPond-feta-nummer-design10.pfa");
+ fontFiles << QString("/usr/share/fonts/rosegarden4/LilyPond-parmesan-design20.pfa");
NOTATION_DEBUG << "Found font files: " << fontFiles << endl;
for (QStringList::const_iterator i = fontFiles.begin();
i != fontFiles.end(); ++i) {
QString fontFile(*i);
- QString name = QFileInfo(fontFile).fileName();
- if (fontFile.startsWith(":")) {
- ResourceFinder().unbundleResource("fonts", name);
- fontFile = ResourceFinder().getResourcePath("fonts", name);
- if (fontFile.startsWith(":")) { // unbundling failed
- continue;
- }
- }
addFont(fontFile);
}
}
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel