rpms/allegro/devel allegro-4.2.2-gcc43.patch, NONE, 1.1 allegro-4.2.2-pulseaudio.patch, NONE, 1.1 allegro.spec, 1.47, 1.48
Hans de Goede (jwrdegoede)
fedora-extras-commits at redhat.com
Tue Jan 22 09:46:21 UTC 2008
Author: jwrdegoede
Update of /cvs/extras/rpms/allegro/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20219
Modified Files:
allegro.spec
Added Files:
allegro-4.2.2-gcc43.patch allegro-4.2.2-pulseaudio.patch
Log Message:
* Mon Jan 21 2008 Hans de Goede <j.w.r.degoede at hhs.nl> 4.2.2-7
- Add makedoc utility to allegro-devel as allegro-makedoc (bz 429450)
- Fix sound when using pulseaudio
- Fix compilation of inline asm with gcc 4.3
allegro-4.2.2-gcc43.patch:
--- NEW FILE allegro-4.2.2-gcc43.patch ---
diff -up allegro-4.2.2/include/allegro/platform/al386gcc.h~ allegro-4.2.2/include/allegro/platform/al386gcc.h
--- allegro-4.2.2/include/allegro/platform/al386gcc.h~ 2008-01-21 19:18:34.000000000 +0100
+++ allegro-4.2.2/include/allegro/platform/al386gcc.h 2008-01-21 19:18:34.000000000 +0100
@@ -208,14 +208,13 @@ AL_INLINE(fixed, fixsub, (fixed x, fixed
*/
AL_INLINE(fixed, fixmul, (fixed x, fixed y),
{
- fixed edx __attribute__ ((__unused__));
fixed result;
__PRECALCULATE_CONSTANTS(x / 65536.0 * y)
{
__asm__ (
- " movl %2, %%eax ; "
- " imull %3 ; " /* do the multiply */
+ " movl %1, %%eax ; "
+ " imull %2 ; " /* do the multiply */
" shrdl $16, %%edx, %%eax ; "
" sarl $15, %%edx ; " /* check for overflow */
@@ -223,14 +222,14 @@ AL_INLINE(fixed, fixmul, (fixed x, fixed
" cmpl $-1, %%edx ; "
" je 0f ; "
- " movl %5, %%eax ; " /* on overflow, set errno */
- " movl %4, (%%eax) ; "
+ " movl %4, %%eax ; " /* on overflow, set errno */
+ " movl %3, (%%eax) ; "
" movl $0x7FFFFFFF, %%eax ; " /* and return MAXINT */
- " cmpl $0, %2 ; "
+ " cmpl $0, %1 ; "
" jge 1f ; "
" negl %%eax ; "
" 1: "
- " cmpl $0, %3 ; "
+ " cmpl $0, %2 ; "
" jge 0f ; "
" negl %%eax ; "
@@ -238,15 +237,14 @@ AL_INLINE(fixed, fixmul, (fixed x, fixed
" 0: " /* finished */
- : "=&a" (result), /* the result has to go in eax */
- "=&d" (edx) /* reliably reserve edx */
+ : "=&a" (result) /* the result has to go in eax */
: "mr" (x), /* x and y can be regs or mem */
"mr" (y),
"i" (ERANGE),
"m" (allegro_errno)
- : "%cc", "memory" /* clobbers flags and errno */
+ : "%cc", "memory", "edx" /* clobbers flags, errno and edx */
);
return result;
allegro-4.2.2-pulseaudio.patch:
--- NEW FILE allegro-4.2.2-pulseaudio.patch ---
diff -up allegro-4.2.2/src/unix/alsa9.c.pulse allegro-4.2.2/src/unix/alsa9.c
--- allegro-4.2.2/src/unix/alsa9.c.pulse 2006-03-18 16:05:34.000000000 +0100
+++ allegro-4.2.2/src/unix/alsa9.c 2008-01-21 20:01:18.000000000 +0100
@@ -81,7 +81,7 @@ static double alsa_mixer_allegro_ratio =
static snd_pcm_t *pcm_handle;
static unsigned char *alsa_bufdata;
-static int alsa_bits, alsa_signed, alsa_stereo;
+static int alsa_bits, alsa_signed, alsa_stereo, alsa_format;
static unsigned int alsa_rate;
static unsigned int alsa_fragments;
static int alsa_sample_size;
@@ -292,7 +292,6 @@ static int alsa_init(int input, int voic
{
int ret = 0;
char tmp1[128], tmp2[128];
- int format = 0;
unsigned int numfrags = 0;
snd_pcm_uframes_t fragsize;
@@ -354,29 +353,14 @@ static int alsa_init(int input, int voic
alsa_stereo = (_sound_stereo) ? 1 : 0;
alsa_rate = (_sound_freq > 0) ? _sound_freq : 44100;
alsa_signed = 0;
+ alsa_format = (alsa_bits == 16) ? SND_PCM_FORMAT_U16_NE : SND_PCM_FORMAT_U8;
+ alsa_sample_size = (alsa_bits / 8) * (alsa_stereo ? 2 : 1);
- format = ((alsa_bits == 16) ? SND_PCM_FORMAT_U16_NE : SND_PCM_FORMAT_U8);
-
- switch (format) {
-
- case SND_PCM_FORMAT_U8:
- alsa_bits = 8;
- break;
-
- case SND_PCM_FORMAT_U16_NE:
- if (sizeof(short) != 2) {
- ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Unsupported sample format"));
- goto Error;
- }
- break;
-
- default:
- ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Unsupported sample format"));
- goto Error;
+ if (alsa_format == SND_PCM_FORMAT_U16_NE && sizeof(short) != 2) {
+ ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Unsupported sample format"));
+ goto Error;
}
- alsa_sample_size = (alsa_bits / 8) * (alsa_stereo ? 2 : 1);
-
if (fragsize == 0) {
unsigned int size = alsa_rate * ALSA_DEFAULT_BUFFER_MS / 1000 / numfrags;
fragsize = 1;
@@ -389,7 +373,12 @@ static int alsa_init(int input, int voic
ALSA9_CHECK(snd_pcm_hw_params_any(pcm_handle, hwparams));
ALSA9_CHECK(snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED));
- ALSA9_CHECK(snd_pcm_hw_params_set_format(pcm_handle, hwparams, format));
+ if (snd_pcm_hw_params_set_format(pcm_handle, hwparams, alsa_format) < 0) {
+ /* Try again with signed samples (needed atleast for pulseaudio) */
+ alsa_format = (alsa_bits == 16) ? SND_PCM_FORMAT_S16_NE : SND_PCM_FORMAT_S8;
+ alsa_signed = 1;
+ ALSA9_CHECK(snd_pcm_hw_params_set_format(pcm_handle, hwparams, alsa_format));
+ }
ALSA9_CHECK(snd_pcm_hw_params_set_channels(pcm_handle, hwparams, alsa_stereo + 1));
ALSA9_CHECK(snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, &alsa_rate, NULL));
Index: allegro.spec
===================================================================
RCS file: /cvs/extras/rpms/allegro/devel/allegro.spec,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- allegro.spec 15 Oct 2007 07:36:30 -0000 1.47
+++ allegro.spec 22 Jan 2008 09:45:36 -0000 1.48
@@ -1,6 +1,6 @@
Name: allegro
Version: 4.2.2
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: A game programming library
Summary(es): Una libreria de programacion de juegos
@@ -18,6 +18,8 @@
Patch4: allegro-4.2.0-multilib.patch
Patch5: allegro-4.2.1-noexecmod.patch
Patch6: allegro-4.0.3-libdir.patch
+Patch7: allegro-4.2.2-pulseaudio.patch
+Patch8: allegro-4.2.2-gcc43.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: esound-devel, texinfo, perl, arts-devel, glib2-devel
BuildRequires: xorg-x11-proto-devel, libX11-devel, libXext-devel, libXt-devel
@@ -159,6 +161,8 @@
%patch4 -p1 -z .multilib
%patch5 -p1 -z .noexecmod
%patch6 -p1 -z .multilib2
+%patch7 -p1 -z .pulse
+%patch8 -p1 -z .gcc43
iconv -f iso-8859-1 -t utf-8 docs/src/allegro._tx > docs/src/allegro._tx.tmp
mv docs/src/allegro._tx.tmp docs/src/allegro._tx
@@ -182,6 +186,7 @@
rm -rf $RPM_BUILD_ROOT
make install install-man install-info \
DESTDIR=$RPM_BUILD_ROOT LDCONFIG=/bin/true
+install -m 755 docs/makedoc $RPM_BUILD_ROOT%{_bindir}/allegro-makedoc
install -Dpm 644 allegro.cfg $RPM_BUILD_ROOT%{_sysconfdir}/allegrorc
install -dm 755 $RPM_BUILD_ROOT%{_datadir}/allegro
install -pm 644 keyboard.dat language.dat $RPM_BUILD_ROOT%{_datadir}/allegro
@@ -249,6 +254,7 @@
%doc todo.txt docs/html
%doc demo examples setup
%{_bindir}/allegro-config
+%{_bindir}/allegro-makedoc
%{_libdir}/liballeg_unsharable.a
%{_libdir}/liball?.so.*
%{_libdir}/liball?-%{version}.so
@@ -285,6 +291,11 @@
%changelog
+* Mon Jan 21 2008 Hans de Goede <j.w.r.degoede at hhs.nl> 4.2.2-7
+- Add makedoc utility to allegro-devel as allegro-makedoc (bz 429450)
+- Fix sound when using pulseaudio
+- Fix compilation of inline asm with gcc 4.3
+
* Sun Oct 14 2007 Hans de Goede <j.w.r.degoede at hhs.nl> 4.2.2-6
- Require timidity++-patches instead of timidity++ itself so that we don't
drag in arts and through arts, qt and boost
More information about the fedora-extras-commits
mailing list