diff --git a/.cvsignore b/.cvsignore index df13320..69b28e7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -allegro-4.2.2.tar.gz +allegro-4.2.3.tar.gz diff --git a/allegro-4.2.2-fullscreen-viewport.patch b/allegro-4.2.2-fullscreen-viewport.patch new file mode 100644 index 0000000..22a7515 --- /dev/null +++ b/allegro-4.2.2-fullscreen-viewport.patch @@ -0,0 +1,16 @@ +--- allegro-4.2.2/src/x/xwin.c 2009-09-10 22:29:53.000000000 +0200 ++++ allegro-4.2.2.new/src/x/xwin.c 2009-09-10 21:48:21.000000000 +0200 +@@ -2853,6 +2853,13 @@ + } + } + ++ /* Warp the pointer to the upper left corner (where our fs_window is), ++ this is necessary as the: XF86VidModeSetViewPort() call below does ++ not seem to do anything on newer Xorg servers, instead the viewport ++ seems to always be centered at the last mouse cursor position. */ ++ XWarpPointer(_xwin.display, None, XDefaultRootWindow(_xwin.display), ++ 0, 0, 0, 0, 0, 0); ++ + /* Switch video mode. */ + if ((_xwin.modesinfo[i] == _xwin.orig_modeinfo) || + !XF86VidModeSwitchToMode(_xwin.display, _xwin.screen, diff --git a/allegro-4.2.2-gcc43-asm.patch b/allegro-4.2.2-gcc43-asm.patch deleted file mode 100644 index 86d3744..0000000 --- a/allegro-4.2.2-gcc43-asm.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up allegro-4.2.2/src/i386/icpus.s~ allegro-4.2.2/src/i386/icpus.s ---- allegro-4.2.2/src/i386/icpus.s~ 2008-03-20 15:11:46.000000000 +0100 -+++ allegro-4.2.2/src/i386/icpus.s 2008-03-20 15:11:46.000000000 +0100 -@@ -67,7 +67,7 @@ FUNC(_i_is_fpu) - - fninit - movl $0x5A5A, %eax -- fnstsw %eax -+ fnstsw %ax - cmpl $0, %eax - jne is_fpu_not_found - diff --git a/allegro-4.2.2-gcc43.patch b/allegro-4.2.2-gcc43.patch deleted file mode 100644 index 2ac6a73..0000000 --- a/allegro-4.2.2-gcc43.patch +++ /dev/null @@ -1,57 +0,0 @@ -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; diff --git a/allegro-4.2.2-pulseaudio.patch b/allegro-4.2.2-pulseaudio.patch deleted file mode 100644 index 7e6dfbc..0000000 --- a/allegro-4.2.2-pulseaudio.patch +++ /dev/null @@ -1,69 +0,0 @@ -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)); diff --git a/allegro.spec b/allegro.spec index 76d0387..4719508 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro -Version: 4.2.2 -Release: 12%{?dist} +Version: 4.2.3 +Release: 1%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -18,9 +18,7 @@ Patch3: allegro-4.2.0-noexecstack.patch 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 -Patch9: allegro-4.2.2-gcc43-asm.patch +Patch7: allegro-4.2.2-fullscreen-viewport.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 @@ -163,9 +161,7 @@ sound through JACK (Jack Audio Connection Kit). %patch4 -p1 -z .multilib %patch5 -p1 -z .noexecmod %patch6 -p1 -z .multilib2 -%patch7 -p1 -z .pulse -%patch8 -p1 -z .gcc43 -%patch9 -p1 -z .gcc43-asm +%patch7 -p1 -z .fs-viewport 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 @@ -294,6 +290,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Oct 7 2009 Jindrich Novy 4.2.3-1 +- update to 4.2.3 +- Fix (workaround) viewport issues in fullscreen mode (#522116) + * Mon Feb 23 2009 Fedora Release Engineering - 4.2.2-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/sources b/sources index 94e57de..a087208 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -87ffb1def034e0ec29a9ad4a595cda7e allegro-4.2.2.tar.gz +36d3e75052da03645039f7da407efca4 allegro-4.2.3.tar.gz