rpms/scummvm/devel scummvm-0.11.1-lure-sound-bug-fixes.patch, NONE, 1.1 scummvm-0.11.1-lure-sound-channel-alloc.patch, NONE, 1.1 scummvm-0.11.1-lure-volume-fixes.patch, NONE, 1.1 scummvm.spec, 1.11, 1.12
Hans de Goede (jwrdegoede)
fedora-extras-commits at redhat.com
Sat Mar 8 20:28:48 UTC 2008
- Previous message (by thread): rpms/gnumeric/devel .cvsignore, 1.6, 1.7 gnumeric.spec, 1.37, 1.38 sources, 1.6, 1.7
- Next message (by thread): rpms/xorg-x11-drv-openchrome/devel openchrome-0.2.901-libpciaccess.patch, 1.6, 1.7 xorg-x11-drv-openchrome.spec, 1.14, 1.15
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jwrdegoede
Update of /cvs/extras/rpms/scummvm/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv12285
Modified Files:
scummvm.spec
Added Files:
scummvm-0.11.1-lure-sound-bug-fixes.patch
scummvm-0.11.1-lure-sound-channel-alloc.patch
scummvm-0.11.1-lure-volume-fixes.patch
Log Message:
* Sat Mar 8 2008 Hans de Goede <j.w.r.degoede at hhs.nl> 0.11.1-2
- Various bugfixes to lure sound support
- Enable libfluidsynth support
scummvm-0.11.1-lure-sound-bug-fixes.patch:
--- NEW FILE scummvm-0.11.1-lure-sound-bug-fixes.patch ---
diff -up scummvm-0.11.1/engines/lure/sound.cpp.fix scummvm-0.11.1/engines/lure/sound.cpp
--- scummvm-0.11.1/engines/lure/sound.cpp.fix 2008-03-08 09:47:40.000000000 +0100
+++ scummvm-0.11.1/engines/lure/sound.cpp 2008-03-08 09:47:50.000000000 +0100
@@ -52,7 +52,7 @@ SoundManager::SoundManager() {
_isRoland = midiDriver != MD_ADLIB;
_nativeMT32 = ((midiDriver == MD_MT32) || ConfMan.getBool("native_mt32"));
- Common::set_to(_channelsInUse, _channelsInUse+NUM_CHANNELS_OUTER, false);
+ Common::set_to(_channelsInUse, _channelsInUse+NUM_CHANNELS, false);
_driver = MidiDriver::createMidi(midiDriver);
int statusCode = _driver->open();
@@ -64,7 +64,7 @@ SoundManager::SoundManager() {
if (_nativeMT32)
_driver->property(MidiDriver::PROP_CHANNEL_MASK, 0x03FE);
- for (index = 0; index < NUM_CHANNELS_INNER; ++index) {
+ for (index = 0; index < NUM_CHANNELS; ++index) {
_channelsInner[index].midiChannel = _driver->allocateChannel();
_channelsInner[index].isMusic = false;
_channelsInner[index].volume = game.sfxVolume();
@@ -174,7 +174,7 @@ void SoundManager::killSounds() {
// Clear the active sounds
_activeSounds.clear();
- Common::set_to(_channelsInUse, _channelsInUse+NUM_CHANNELS_OUTER, false);
+ Common::set_to(_channelsInUse, _channelsInUse+NUM_CHANNELS, false);
}
void SoundManager::addSound(uint8 soundIndex, bool tidyFlag) {
@@ -189,28 +189,16 @@ void SoundManager::addSound(uint8 soundI
return;
SoundDescResource &rec = soundDescs()[soundIndex];
- int numChannels = 2; //(rec.numChannels >> 2) & 3;
+ int numChannels = 4; //(rec.numChannels >> 2) & 3;
- int channelCtr = 0;
- while (channelCtr <= (NUM_CHANNELS_OUTER - numChannels)) {
+ int channelCtr;
+ for (channelCtr = 0; channelCtr < NUM_CHANNELS; channelCtr += 4) {
if (!_channelsInUse[channelCtr]) {
- bool foundSpace = true;
-
- int channelCtr2 = 1;
- while (channelCtr2 < numChannels) {
- foundSpace = !_channelsInUse[channelCtr + channelCtr2];
- if (!foundSpace) break;
- ++channelCtr2;
- }
-
- if (foundSpace)
- break;
+ break;
}
-
- ++channelCtr;
}
- if (channelCtr > NUM_CHANNELS_OUTER - numChannels) {
+ if (channelCtr >= NUM_CHANNELS) {
// No channels free
debugC(ERROR_BASIC, kLureDebugSounds, "SoundManager::addSound - no channels free");
return;
@@ -226,21 +214,20 @@ void SoundManager::addSound(uint8 soundI
newEntry->flags = rec.flags;
newEntry->volume = rec.volume;
_activeSounds.push_back(newEntry);
-
- // Map each two channels to four of the 16 available channels
- byte innerChannel = (channelCtr / 2) * 4;
- musicInterface_Play(rec.soundNumber, innerChannel);
- setVolume(rec.soundNumber, rec.volume);
+
+ musicInterface_Play(rec.soundNumber, channelCtr);
+ musicInterface_SetVolume(channelCtr, rec.volume);
}
void SoundManager::addSound2(uint8 soundIndex) {
debugC(ERROR_BASIC, kLureDebugSounds, "SoundManager::addSound2 index=%d", soundIndex);
tidySounds();
- if (soundIndex == 6)
+ if (soundIndex == 6) {
// Chinese torture
- addSound(6);
- else {
+ stopSound(6); // sometimes its still playing when restarted
+ addSound(6, false);
+ } else {
SoundDescResource &descEntry = soundDescs()[soundIndex];
SoundDescResource *rec = findSound(descEntry.soundNumber);
if (rec == NULL)
@@ -274,7 +261,7 @@ void SoundManager::setVolume(uint8 sound
void SoundManager::setVolume(uint8 volume) {
debugC(ERROR_BASIC, kLureDebugSounds, "SoundManager::setVolume volume=%d", volume);
- for (int index = 0; index < NUM_CHANNELS_INNER; ++index) {
+ for (int index = 0; index < NUM_CHANNELS; ++index) {
_channelsInner[index].midiChannel->volume(volume);
_channelsInner[index].volume = volume;
}
@@ -316,7 +303,7 @@ void SoundManager::tidySounds() {
while (i != _activeSounds.end()) {
SoundDescResource *rec = *i;
- if (musicInterface_CheckPlaying(rec->soundNumber & 0x7f))
+ if (musicInterface_CheckPlaying(rec->soundNumber))
// Still playing, so move to next entry
++i;
else {
@@ -355,7 +342,7 @@ void SoundManager::restoreSounds() {
Common::set_to(_channelsInUse+rec->channel, _channelsInUse+rec->channel+rec->numChannels, true);
musicInterface_Play(rec->soundNumber, rec->channel);
- musicInterface_SetVolume(rec->soundNumber, rec->volume);
+ musicInterface_SetVolume(rec->channel, rec->volume);
}
++i;
@@ -423,7 +410,7 @@ void SoundManager::musicInterface_Play(u
uint8 *soundStart = _soundData->data() + dataOfs;
uint32 dataSize;
- if (soundNumber == _soundsTotal - 1)
+ if (soundNum == _soundsTotal - 1)
dataSize = _soundData->size() - dataOfs;
else {
uint32 nextDataOfs = READ_LE_UINT32(_soundData->data() + (soundNum + 1) * 4 + 2);
@@ -431,7 +418,7 @@ void SoundManager::musicInterface_Play(u
}
g_system->lockMutex(_soundMutex);
- MidiMusic *sound = new MidiMusic(_driver, _channelsInner, channelNumber, soundNumber,
+ MidiMusic *sound = new MidiMusic(_driver, _channelsInner, channelNumber, soundNum,
isMusic, soundStart, dataSize);
sound->setVolume(volume);
_playingSounds.push_back(sound);
@@ -574,7 +561,7 @@ void SoundManager::doTimer() {
/*------------------------------------------------------------------------*/
-MidiMusic::MidiMusic(MidiDriver *driver, ChannelEntry channels[NUM_CHANNELS_INNER],
+MidiMusic::MidiMusic(MidiDriver *driver, ChannelEntry channels[NUM_CHANNELS],
uint8 channelNum, uint8 soundNum, bool isMusic, void *soundData, uint32 size) {
Game &game = Game::getReference();
_driver = driver;
@@ -684,7 +671,7 @@ void MidiMusic::send(uint32 b) {
byte channel = _channelNumber + ((byte)(b & 0x0F) % _numChannels);
#endif
- if ((channel >= NUM_CHANNELS_INNER) || (_channels[channel].midiChannel == NULL))
+ if ((channel >= NUM_CHANNELS) || (_channels[channel].midiChannel == NULL))
return;
if ((b & 0xFFF0) == 0x07B0) {
diff -up scummvm-0.11.1/engines/lure/sound.h.fix scummvm-0.11.1/engines/lure/sound.h
--- scummvm-0.11.1/engines/lure/sound.h.fix 2008-03-08 09:47:40.000000000 +0100
+++ scummvm-0.11.1/engines/lure/sound.h 2008-03-08 09:47:50.000000000 +0100
@@ -35,8 +35,7 @@ class MidiParser;
namespace Lure {
-#define NUM_CHANNELS_OUTER 8
-#define NUM_CHANNELS_INNER 16
+#define NUM_CHANNELS 16
struct ChannelEntry {
MidiChannel *midiChannel;
@@ -66,7 +65,7 @@ private:
bool _passThrough;
public:
- MidiMusic(MidiDriver *driver, ChannelEntry channels[NUM_CHANNELS_INNER],
+ MidiMusic(MidiDriver *driver, ChannelEntry channels[NUM_CHANNELS],
uint8 channelNum, uint8 soundNum, bool isMusic, void *soundData, uint32 size);
~MidiMusic();
void setVolume(int volume);
@@ -112,8 +111,8 @@ private:
MidiDriver *_driver;
ManagedList<SoundDescResource *> _activeSounds;
ManagedList<MidiMusic *> _playingSounds;
- ChannelEntry _channelsInner[NUM_CHANNELS_INNER];
- bool _channelsInUse[NUM_CHANNELS_OUTER];
+ ChannelEntry _channelsInner[NUM_CHANNELS];
+ bool _channelsInUse[NUM_CHANNELS];
bool _isPlaying;
bool _nativeMT32;
bool _isRoland;
scummvm-0.11.1-lure-sound-channel-alloc.patch:
--- NEW FILE scummvm-0.11.1-lure-sound-channel-alloc.patch ---
diff -up scummvm-0.11.1/engines/lure/sound.h.alloc scummvm-0.11.1/engines/lure/sound.h
--- scummvm-0.11.1/engines/lure/sound.h.alloc 2008-03-08 21:13:28.000000000 +0100
+++ scummvm-0.11.1/engines/lure/sound.h 2008-03-08 21:13:37.000000000 +0100
@@ -66,7 +66,7 @@ private:
public:
MidiMusic(MidiDriver *driver, ChannelEntry channels[NUM_CHANNELS],
- uint8 channelNum, uint8 soundNum, bool isMusic, void *soundData, uint32 size);
+ uint8 channelNum, uint8 soundNum, bool isMusic, uint8 numChannels, void *soundData, uint32 size);
~MidiMusic();
void setVolume(int volume);
int getVolume() { return _volume; }
@@ -152,7 +152,7 @@ public:
// The following methods implement the external sound player module
void musicInterface_Initialise();
- void musicInterface_Play(uint8 soundNumber, uint8 channelNumber);
+ void musicInterface_Play(uint8 soundNumber, uint8 channelNumber, uint8 numChannels=4);
void musicInterface_Stop(uint8 soundNumber);
bool musicInterface_CheckPlaying(uint8 soundNumber);
void musicInterface_SetVolume(uint8 channelNum, uint8 volume);
diff -up scummvm-0.11.1/engines/lure/sound.cpp.alloc scummvm-0.11.1/engines/lure/sound.cpp
--- scummvm-0.11.1/engines/lure/sound.cpp.alloc 2008-03-08 21:13:28.000000000 +0100
+++ scummvm-0.11.1/engines/lure/sound.cpp 2008-03-08 21:13:37.000000000 +0100
@@ -189,16 +189,24 @@ void SoundManager::addSound(uint8 soundI
return;
SoundDescResource &rec = soundDescs()[soundIndex];
- int numChannels = 4; //(rec.numChannels >> 2) & 3;
+ int numChannels;
- int channelCtr;
- for (channelCtr = 0; channelCtr < NUM_CHANNELS; channelCtr += 4) {
- if (!_channelsInUse[channelCtr]) {
+ if (_isRoland)
+ numChannels = (rec.numChannels & 3) + 1;
+ else
+ numChannels = ((rec.numChannels >> 2) & 3) + 1;
+
+ int channelCtr, channelCtr2;
+ for (channelCtr = 0; channelCtr <= (NUM_CHANNELS-numChannels); channelCtr ++) {
+ for (channelCtr2 = 0; channelCtr2 < numChannels; channelCtr2++)
+ if (_channelsInUse[channelCtr+channelCtr2])
+ break;
+
+ if (channelCtr2 == numChannels)
break;
- }
}
- if (channelCtr >= NUM_CHANNELS) {
+ if (channelCtr > (NUM_CHANNELS-numChannels)) {
// No channels free
debugC(ERROR_BASIC, kLureDebugSounds, "SoundManager::addSound - no channels free");
return;
@@ -218,7 +226,7 @@ void SoundManager::addSound(uint8 soundI
newEntry->volume = 240; /* 255 causes clipping with adlib */
_activeSounds.push_back(newEntry);
- musicInterface_Play(rec.soundNumber, channelCtr);
+ musicInterface_Play(rec.soundNumber, channelCtr, numChannels);
musicInterface_SetVolume(channelCtr, newEntry->volume);
}
@@ -335,7 +343,7 @@ void SoundManager::restoreSounds() {
if ((rec->numChannels != 0) && ((rec->flags & SF_RESTORE) != 0)) {
Common::set_to(_channelsInUse+rec->channel, _channelsInUse+rec->channel+rec->numChannels, true);
- musicInterface_Play(rec->soundNumber, rec->channel);
+ musicInterface_Play(rec->soundNumber, rec->channel, rec->numChannels);
musicInterface_SetVolume(rec->channel, rec->volume);
}
@@ -377,7 +385,7 @@ void SoundManager::fadeOut() {
// musicInterface_Play
// Play the specified sound
-void SoundManager::musicInterface_Play(uint8 soundNumber, uint8 channelNumber) {
+void SoundManager::musicInterface_Play(uint8 soundNumber, uint8 channelNumber, uint8 numChannels) {
debugC(ERROR_INTERMEDIATE, kLureDebugSounds, "musicInterface_Play soundNumber=%d, channel=%d",
soundNumber, channelNumber);
Game &game = Game::getReference();
@@ -413,7 +421,7 @@ void SoundManager::musicInterface_Play(u
g_system->lockMutex(_soundMutex);
MidiMusic *sound = new MidiMusic(_driver, _channelsInner, channelNumber, soundNum,
- isMusic, soundStart, dataSize);
+ isMusic, numChannels, soundStart, dataSize);
_playingSounds.push_back(sound);
g_system->unlockMutex(_soundMutex);
}
@@ -555,14 +563,14 @@ void SoundManager::doTimer() {
/*------------------------------------------------------------------------*/
MidiMusic::MidiMusic(MidiDriver *driver, ChannelEntry channels[NUM_CHANNELS],
- uint8 channelNum, uint8 soundNum, bool isMusic, void *soundData, uint32 size) {
+ uint8 channelNum, uint8 soundNum, bool isMusic, uint8 numChannels, void *soundData, uint32 size) {
_driver = driver;
_channels = channels;
_soundNumber = soundNum;
_channelNumber = channelNum;
_isMusic = isMusic;
- _numChannels = 4;
+ _numChannels = numChannels;
_volume = 0;
for (int i = 0; i < _numChannels; ++i) {
/* 90 is power on default for midi compliant devices */
scummvm-0.11.1-lure-volume-fixes.patch:
--- NEW FILE scummvm-0.11.1-lure-volume-fixes.patch ---
diff -up scummvm-0.11.1/engines/lure/sound.cpp.volume scummvm-0.11.1/engines/lure/sound.cpp
--- scummvm-0.11.1/engines/lure/sound.cpp.volume 2008-03-08 19:34:23.000000000 +0100
+++ scummvm-0.11.1/engines/lure/sound.cpp 2008-03-08 21:10:03.000000000 +0100
@@ -66,8 +66,8 @@ SoundManager::SoundManager() {
for (index = 0; index < NUM_CHANNELS; ++index) {
_channelsInner[index].midiChannel = _driver->allocateChannel();
- _channelsInner[index].isMusic = false;
- _channelsInner[index].volume = game.sfxVolume();
+ /* 90 is power on default for midi compliant devices */
+ _channelsInner[index].volume = 90;
}
}
}
@@ -212,11 +212,14 @@ void SoundManager::addSound(uint8 soundI
newEntry->channel = channelCtr;
newEntry->numChannels = numChannels;
newEntry->flags = rec.flags;
- newEntry->volume = rec.volume;
+ if (_isRoland)
+ newEntry->volume = rec.volume;
+ else /* resource volumes do not seem to work well with our adlib emu */
+ newEntry->volume = 240; /* 255 causes clipping with adlib */
_activeSounds.push_back(newEntry);
musicInterface_Play(rec.soundNumber, channelCtr);
- musicInterface_SetVolume(channelCtr, rec.volume);
+ musicInterface_SetVolume(channelCtr, newEntry->volume);
}
void SoundManager::addSound2(uint8 soundIndex) {
@@ -258,15 +261,6 @@ void SoundManager::setVolume(uint8 sound
musicInterface_SetVolume(entry->channel, volume);
}
-void SoundManager::setVolume(uint8 volume) {
- debugC(ERROR_BASIC, kLureDebugSounds, "SoundManager::setVolume volume=%d", volume);
-
- for (int index = 0; index < NUM_CHANNELS; ++index) {
- _channelsInner[index].midiChannel->volume(volume);
- _channelsInner[index].volume = volume;
- }
-}
-
uint8 SoundManager::descIndexOf(uint8 soundNumber) {
SoundDescResource *rec = soundDescs();
@@ -420,7 +414,6 @@ void SoundManager::musicInterface_Play(u
g_system->lockMutex(_soundMutex);
MidiMusic *sound = new MidiMusic(_driver, _channelsInner, channelNumber, soundNum,
isMusic, soundStart, dataSize);
- sound->setVolume(volume);
_playingSounds.push_back(sound);
g_system->unlockMutex(_soundMutex);
}
@@ -563,19 +556,19 @@ void SoundManager::doTimer() {
MidiMusic::MidiMusic(MidiDriver *driver, ChannelEntry channels[NUM_CHANNELS],
uint8 channelNum, uint8 soundNum, bool isMusic, void *soundData, uint32 size) {
- Game &game = Game::getReference();
_driver = driver;
_channels = channels;
_soundNumber = soundNum;
_channelNumber = channelNum;
+ _isMusic = isMusic;
_numChannels = 4;
_volume = 0;
for (int i = 0; i < _numChannels; ++i) {
- _channels[_channelNumber + i].isMusic = isMusic;
- _channels[_channelNumber + i].volume = isMusic ? game.musicVolume() : game.sfxVolume();
+ /* 90 is power on default for midi compliant devices */
+ _channels[_channelNumber + i].volume = 90;
}
- setVolume(0xff);
+ setVolume(240); /* 255 causes clipping with mastervol 192 and adlib */
_passThrough = false;
@@ -633,10 +626,14 @@ void MidiMusic::setVolume(int volume) {
_volume = volume;
+ Game &game = Game::getReference();
+ volume *= _isMusic ? game.musicVolume() : game.sfxVolume();
+
for (int i = 0; i < _numChannels; ++i) {
if (_channels[_channelNumber + i].midiChannel != NULL)
_channels[_channelNumber + i].midiChannel->volume(
- _channels[_channelNumber + i].volume * _volume / 255);
+ _channels[_channelNumber + i].volume *
+ volume / 65025);
}
}
@@ -675,10 +672,12 @@ void MidiMusic::send(uint32 b) {
return;
if ((b & 0xFFF0) == 0x07B0) {
- // Adjust volume changes by master volume
+ // Adjust volume changes by song and master volume
byte volume = (byte)((b >> 16) & 0x7F);
_channels[channel].volume = volume;
- volume = volume * _volume / 255;
+ Game &game = Game::getReference();
+ int master_volume = _isMusic ? game.musicVolume() : game.sfxVolume();
+ volume = volume * _volume * master_volume / 65025;
b = (b & 0xFF00FFFF) | (volume << 16);
} else if ((b & 0xF0) == 0xC0) {
if (Sound.isRoland() && !Sound.hasNativeMT32()) {
diff -up scummvm-0.11.1/engines/lure/sound.h.volume scummvm-0.11.1/engines/lure/sound.h
--- scummvm-0.11.1/engines/lure/sound.h.volume 2008-03-08 19:34:28.000000000 +0100
+++ scummvm-0.11.1/engines/lure/sound.h 2008-03-08 20:37:45.000000000 +0100
@@ -39,7 +39,6 @@ namespace Lure {
struct ChannelEntry {
MidiChannel *midiChannel;
- bool isMusic;
uint8 volume;
};
@@ -55,6 +54,7 @@ private:
MidiDriver *_driver;
MidiParser *_parser;
ChannelEntry *_channels;
+ bool _isMusic;
bool _isPlaying;
void queueUpdatePos();
@@ -138,7 +138,6 @@ public:
void stopSound(uint8 soundIndex);
void killSound(uint8 soundNumber);
void setVolume(uint8 soundNumber, uint8 volume);
- void setVolume(uint8 volume);
void tidySounds();
uint8 descIndexOf(uint8 soundNumber);
SoundDescResource *findSound(uint8 soundNumber);
Index: scummvm.spec
===================================================================
RCS file: /cvs/extras/rpms/scummvm/devel/scummvm.spec,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- scummvm.spec 2 Mar 2008 21:46:21 -0000 1.11
+++ scummvm.spec 8 Mar 2008 20:28:15 -0000 1.12
@@ -1,6 +1,6 @@
Name: scummvm
Version: 0.11.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Interpreter for several adventure games
Group: Applications/Emulators
License: GPLv2+
@@ -10,9 +10,12 @@
Source1: scummvm-icons.tar.gz
Patch0: scummvm-0.11.0-nostrip.patch
Patch1: scummvm-0.9.1-no-execstack.patch
+Patch2: scummvm-0.11.1-lure-sound-bug-fixes.patch
+Patch3: scummvm-0.11.1-lure-volume-fixes.patch
+Patch4: scummvm-0.11.1-lure-sound-channel-alloc.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: SDL-devel libvorbis-devel flac-devel zlib-devel
-BuildRequires: desktop-file-utils
+BuildRequires: fluidsynth-devel desktop-file-utils
%ifarch %{ix86}
BuildRequires: nasm
%endif
@@ -33,6 +36,9 @@
%setup -q -a 1
%patch0 -p1 -b .nostrip
%patch1 -p1 -b .execstack
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
sed -i 's/%{name}.xpm/%{name}.png/' dists/%{name}.desktop
sed -i 's/Application;Game;AdventureGame;/Game;Emulator;/' \
dists/%{name}.desktop
@@ -45,7 +51,7 @@
# The disables are so that these don't accidently get build in when rebuilding
# on a system with the necesarry deps installed
./configure --prefix=%{_prefix} --bindir=%{_bindir} --mandir=%{_mandir} \
- --datadir=%{_datadir} --disable-mpeg2 --disable-mad --disable-fluidsynth
+ --datadir=%{_datadir} --disable-mpeg2 --disable-mad
make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS"
@@ -104,6 +110,10 @@
%changelog
+* Sat Mar 8 2008 Hans de Goede <j.w.r.degoede at hhs.nl> 0.11.1-2
+- Various bugfixes to lure sound support
+- Enable libfluidsynth support
+
* Sat Mar 1 2008 Hans de Goede <j.w.r.degoede at hhs.nl> 0.11.1-1
- New upstream version 0.11.1
- Previous message (by thread): rpms/gnumeric/devel .cvsignore, 1.6, 1.7 gnumeric.spec, 1.37, 1.38 sources, 1.6, 1.7
- Next message (by thread): rpms/xorg-x11-drv-openchrome/devel openchrome-0.2.901-libpciaccess.patch, 1.6, 1.7 xorg-x11-drv-openchrome.spec, 1.14, 1.15
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list