Update of /cvsroot/freevo/freevo/contrib/rpm
In directory sc8-pr-cvs1:/tmp/cvs-serv32251

Modified Files:
        PIL.spec freevo-core-suite.spec mmpython.spec mp1e.spec 
        python-twisted.spec 
Added Files:
        Imaging-1.1.4-Setup.in.patch SDL-1.2.5-dxr3-ffmpeg.patch 
        SDL-1.2.5-nokeyboard.patch SDL.spec SDL_ttf-2.0.6-freevo.patch 
        SDL_ttf.spec freevo-recording-suite.spec python-fchksum.spec 
Log Message:
Updated spec fies, added meta-packages that can be used with apt (hopefully)


--- NEW FILE: Imaging-1.1.4-Setup.in.patch ---
--- Imaging-1.1.4/Setup.in.orig 2003-09-17 10:37:24.000000000 +0800
+++ Imaging-1.1.4/Setup.in      2003-09-17 10:38:15.000000000 +0800
@@ -40,10 +40,10 @@
 # you're using a custom _tkinter instead (like in earlier versions of
 # PIL).  Edit the library specifications to match your configuration.
 
-_imagingtk  _imagingtk.c \
-       -IlibImaging Tk/tkImaging.c \
-       -I/usr/local/include -L/usr/local/lib -ltcl8.3 -ltk8.3 \
-        -L/usr/X11R6/lib -lX11 
+# _imagingtk  _imagingtk.c \
+#      -IlibImaging Tk/tkImaging.c \
+#      -I/usr/local/include -L/usr/local/lib -ltcl8.3 -ltk8.3 \
+#       -L/usr/X11R6/lib -lX11 
 
 # --------------------------------------------------------------------
 # Sane driver.  uncomment to enable this driver (see Sane/README for

--- NEW FILE: SDL-1.2.5-dxr3-ffmpeg.patch ---
--- /usr/local/SDL-1.2.5/configure.in   2002-10-06 13:34:53.000000000 -0700
+++ SDL-1.2.5/configure.in      2002-12-29 06:58:58.000000000 -0800
@@ -1000,6 +1002,25 @@
     fi
 }
 
+dnl Set up the Dxr3 video driver.
+CheckDxr3Video()
+{
+    AC_ARG_ENABLE(video-dxr3,
+[  --enable-video-dxr3    use dxr3 video driver [default=yes]],
+                  , enable_video_dxr3=yes)
+    if test x$enable_video_dxr3 = xyes; then
+      CFLAGS="$CFLAGS -DENABLE_DXR3VIDEO"
+      VIDEO_SUBDIRS="$VIDEO_SUBDIRS dxr3"
+      VIDEO_DRIVERS="$VIDEO_DRIVERS dxr3/libvideo_dxr3.la"
+
+      DXR3_CFLAGS="-I/usr/include/ffmpeg"
+      DXR3_LIBS="-lavcodec"
+
+      AC_SUBST(DXR3_CFLAGS)
+      AC_SUBST(DXR3_LIBS)
+    fi
+}
+
 dnl Check to see if OpenGL support is desired
 AC_ARG_ENABLE(video-opengl,
 [  --enable-video-opengl   include OpenGL context creation [default=yes]],
@@ -1680,6 +1701,7 @@
 case "$target" in
     *-*-linux*)
         ARCH=linux
+        CheckDxr3Video
         CheckDummyVideo
         CheckDiskAudio
         CheckDLOPEN
@@ -2623,6 +2643,7 @@
 src/video/photon/Makefile
 src/video/epoc/Makefile
 src/video/dummy/Makefile
+src/video/dxr3/Makefile
 src/video/ataricommon/Makefile
 src/video/xbios/Makefile
 src/video/gem/Makefile

--- /dev/null   2002-11-18 10:54:08.000000000 -0800
+++ SDL-1.2.5/src/video/dxr3/Makefile.am        2002-12-29 06:58:58.000000000 -0800
@@ -0,0 +1,18 @@
+
+## Makefile.am for SDL using the dxr3 video driver
+
+CFLAGS = @CFLAGS@ $(DXR3_CFLAGS)
+
+noinst_LTLIBRARIES = libvideo_dxr3.la
+libvideo_dxr3_la_SOURCES = $(DXR3_SRCS)
+libvideo_dxr3_la_LIBADD  = $(DXR3_LIBS)
+
+# The SDL null video driver sources
+DXR3_SRCS =                    \
+       SDL_dxr3video.h         \
+       SDL_dxr3events.c        \
+       SDL_dxr3events_c.h      \
+       SDL_dxr3mouse.c         \
+       SDL_dxr3mouse_c.h       \
+       SDL_dxr3video.c
+
--- /dev/null   2002-11-18 10:54:08.000000000 -0800
+++ SDL-1.2.5/src/video/dxr3/SDL_dxr3events.c   2002-12-29 09:10:13.000000000 -0800
@@ -0,0 +1,234 @@
+/*
+    SDL - Simple DirectMedia Layer
+    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+    Sam Lantinga
+    [EMAIL PROTECTED]
+*/
+
+#ifdef SAVE_RCSID
+static char rcsid =
+ "@(#) $Id: SDL-1.2.5-dxr3-ffmpeg.patch,v 1.1 2003/09/17 09:15:28 tcwan Exp $";
+#endif
+
+/* Being a dxr3 driver, there's no event stream. We just define stubs for
+   most of the API. */
+
+#include "SDL.h"
+#include "SDL_sysevents.h"
+#include "SDL_keysym.h"
+#include "SDL_events_c.h"
+#include "SDL_dxr3video.h"
+#include "SDL_dxr3events_c.h"
+
+#include <time.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+int DXR3_OpenKeyboard(SDL_VideoDevice *vdev)
+{
+       struct SDL_PrivateVideoData *data = vdev->hidden;
+       struct termios tio_new;
+
+//     fprintf(stderr,"DXR3_OpenKeyboard() called.\n");
+
+       ioctl(0,TCGETS,&data->tio_orig);
+
+       memcpy(&tio_new,&data->tio_orig,sizeof(struct termios));
+       tio_new.c_lflag &= ~(ICANON|ECHO); /* Clear ICANON and ECHO. */
+       tio_new.c_cc[VMIN] = 1;
+       tio_new.c_cc[VTIME] = 0;
+
+       ioctl(0,TCSETS,&tio_new);
+
+       return 0;
+}      
+
+void DXR3_CloseKeyboard(SDL_VideoDevice *vdev)
+{
+       struct SDL_PrivateVideoData *data = vdev->hidden;
+
+//     fprintf(stderr,"DXR3_CloseKeyboard() called.\n");
+
+       ioctl(0,TCSETS,&data->tio_orig);
+
+       if ( data->fd_keyboard >= 0 ) {
+               /* not necessary... */
+               /* close(data->fd_keyboard); */
+       }
+       data->fd_keyboard = -1;
+}
+
+#ifdef axa
+static SDL_keysym *TranslateKey(int scancode, SDL_keysym *keysym)
+{
+//     fprintf(stderr,"TranslateKey() called.\n");
+       /* Set the keysym information */
+       keysym->scancode = scancode;
+       keysym->sym = scancode; // keymap[scancode];
+       keysym->mod = KMOD_NONE;
+
+       /* If UNICODE is on, get the UNICODE value for the key */
+       keysym->unicode = 0;
+       if ( SDL_TranslateUNICODE ) {
+               int map;
+               SDLMod modstate;
+
+               modstate = SDL_GetModState();
+               map = 0;
+               if ( modstate & KMOD_SHIFT ) {
+                       map |= (1<<KG_SHIFT);
+               }
+               if ( modstate & KMOD_CTRL ) {
+                       map |= (1<<KG_CTRL);
+               }
+               if ( modstate & KMOD_ALT ) {
+                       map |= (1<<KG_ALT);
+               }
+               if ( modstate & KMOD_MODE ) {
+                       map |= (1<<KG_ALTGR);
+               }
+               if ( KTYP(vga_keymap[map][scancode]) == KT_LETTER ) {
+                       if ( modstate & KMOD_CAPS ) {
+                               map ^= (1<<KG_SHIFT);
+                       }
+               }
+               if ( KTYP(vga_keymap[map][scancode]) == KT_PAD ) {
+                       if ( modstate & KMOD_NUM ) {
+                               keysym->unicode=KVAL(vga_keymap[map][scancode]);
+                       }
+               } else {
+                       keysym->unicode = KVAL(vga_keymap[map][scancode]);
+               }
+       }
+       return(keysym);
+}
+#endif
+
+static void handle_keyboard(SDL_VideoDevice *vdev)
+{
+       struct SDL_PrivateVideoData *data = vdev->hidden;
+
+       unsigned char keybuf[BUFSIZ];
+       int i, nread;
+       SDL_keysym keysym;
+
+       struct timespec ts;
+       ts.tv_sec = 0;
+       ts.tv_nsec = 50*1000;
+
+//     fprintf(stderr,"handle_keyboard() in.\n");
+
+       nread = read(data->fd_keyboard, keybuf, BUFSIZ);
+       i = 0;
+       while( i < nread) {
+
+
+               memset(&keysym, 0, sizeof(keysym));
+               keysym.mod = KMOD_NONE;
+               keysym.unicode = 0;
+
+               if( (nread-i) >= 3 ) {
+                       if(keybuf[i] == 27 && keybuf[i+1] == 91) {
+                               switch( keybuf[i+2] ) {
+                               case 68: {
+                                       keysym.sym = SDLK_LEFT;
+                                       break;
+                               }
+                               case 67: {
+                                       keysym.sym = SDLK_RIGHT;
+                                       break;
+                               }
+                               case 65: {
+                                       keysym.sym = SDLK_UP;
+                                       break;
+                               }
+                               case 66: {
+                                       keysym.sym = SDLK_DOWN;
+                                       break;
+                               }
+                               default: {
+                                       printf("unknow key: %d\n",keybuf[i+2]);
+                                       break;
+                               }
+                               }
+                       data->posted += SDL_PrivateKeyboard(SDL_PRESSED, &keysym);
+                       data->posted += SDL_PrivateKeyboard(SDL_RELEASED, &keysym);
+                       i += 3;
+                       continue;
+                       }       
+               }
+               switch( keybuf[i] ) {
+                       case 10:
+                               keysym.sym = SDLK_RETURN;
+                               break;
+                       default: 
+                               keysym.sym = keybuf[i]; 
+                               break;
+                       
+               }
+//             printf("key pressed: %d\n",keysym.sym);
+               
+               i += 1;
+               data->posted += SDL_PrivateKeyboard(SDL_PRESSED, &keysym);
+               data->posted += SDL_PrivateKeyboard(SDL_RELEASED, &keysym);
+//             nanosleep(&ts,NULL);
+       }
+
+//     fprintf(stderr,"handle_keyboard() out.\n");
+}
+
+void DXR3_PumpEvents(SDL_VideoDevice *vdev)
+{
+       struct SDL_PrivateVideoData *data = vdev->hidden;
+
+       fd_set fdset;
+       int max_fd;
+       static struct timeval zero;
+
+//     fprintf(stderr,"DXR3_PumpEvents() in.\n");
+
+       do {
+               data->posted = 0;
+
+               FD_ZERO(&fdset);
+               max_fd = 0;
+               if ( data->fd_keyboard >= 0 ) {
+                       FD_SET(data->fd_keyboard, &fdset);
+                       if ( max_fd < data->fd_keyboard ) {
+                               max_fd = data->fd_keyboard;
+                       }
+               }
+               if ( select(max_fd+1, &fdset, NULL, NULL, &zero) > 0 ) {
+                       if ( data->fd_keyboard >= 0 ) {
+                               if ( FD_ISSET(data->fd_keyboard, &fdset) ) {
+                                       handle_keyboard(vdev);
+                               }
+                       }
+               }
+       } while ( data->posted );
+//     fprintf(stderr,"DXR3_PumpEvents() out.\n");
+}
+
+void DXR3_InitOSKeymap(SDL_VideoDevice *vdev)
+{
+       /* do nothing. */
+}
+
+/* end of SDL_dxr3events.c ... */
+
--- /dev/null   2002-11-18 10:54:08.000000000 -0800
+++ SDL-1.2.5/src/video/dxr3/SDL_dxr3events_c.h 2002-12-29 09:10:59.000000000 -0800
@@ -0,0 +1,39 @@
+/*
+    SDL - Simple DirectMedia Layer
+    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+    Sam Lantinga
+    [EMAIL PROTECTED]
+*/
+
+#ifdef SAVE_RCSID
+static char rcsid =
+ "@(#) $Id: SDL-1.2.5-dxr3-ffmpeg.patch,v 1.1 2003/09/17 09:15:28 tcwan Exp $";
+#endif
+
+#include "SDL_dxr3video.h"
+
+/* Variables and functions exported by SDL_sysevents.c to other parts 
+   of the native video subsystem (SDL_sysvideo.c)
+*/
+extern void DXR3_InitOSKeymap(SDL_VideoDevice *vdev);
+extern void DXR3_PumpEvents(SDL_VideoDevice *vdev);
+extern int  DXR3_OpenKeyboard(SDL_VideoDevice *vdev);
+extern void DXR3_CloseKeyboard(SDL_VideoDevice *vdev);
+
+/* end of SDL_dxr3events_c.h ... */
+
--- /dev/null   2002-11-18 10:54:08.000000000 -0800
+++ SDL-1.2.5/src/video/dxr3/SDL_dxr3mouse.c    2002-12-29 06:58:58.000000000 -0800
@@ -0,0 +1,40 @@
+/*
+    SDL - Simple DirectMedia Layer
+    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+    Sam Lantinga
+    [EMAIL PROTECTED]
+*/
+
+#ifdef SAVE_RCSID
+static char rcsid =
+ "@(#) $Id: SDL-1.2.5-dxr3-ffmpeg.patch,v 1.1 2003/09/17 09:15:28 tcwan Exp $";
+#endif
+
+#include <stdio.h>
+
+#include "SDL_error.h"
+#include "SDL_mouse.h"
+#include "SDL_events_c.h"
+
+#include "SDL_dxr3mouse_c.h"
+
+
+/* The implementation dependent data for the window manager cursor */
+struct WMcursor {
+       int unused;
+};
--- /dev/null   2002-11-18 10:54:08.000000000 -0800
+++ SDL-1.2.5/src/video/dxr3/SDL_dxr3mouse_c.h  2002-12-29 06:58:58.000000000 -0800
@@ -0,0 +1,30 @@
+/*
+    SDL - Simple DirectMedia Layer
+    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+    Sam Lantinga
+    [EMAIL PROTECTED]
+*/
+
+#ifdef SAVE_RCSID
+static char rcsid =
+ "@(#) $Id: SDL-1.2.5-dxr3-ffmpeg.patch,v 1.1 2003/09/17 09:15:28 tcwan Exp $";
+#endif
+
+#include "SDL_dxr3video.h"
+
+/* Functions to be exported */
--- /dev/null   2002-11-18 10:54:08.000000000 -0800
+++ SDL-1.2.5/src/video/dxr3/SDL_dxr3video.c    2002-12-29 10:32:16.000000000 -0800
@@ -0,0 +1,433 @@
+/*
+    SDL - Simple DirectMedia Layer
+    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+    Sam Lantinga
+    [EMAIL PROTECTED]
+*/
+
+#ifdef SAVE_RCSID
+static char rcsid =
+ "@(#) $Id: SDL-1.2.5-dxr3-ffmpeg.patch,v 1.1 2003/09/17 09:15:28 tcwan Exp $";
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <linux/em8300.h>
+
+#include "SDL.h"
+#include "SDL_error.h"
+#include "SDL_video.h"
+#include "SDL_mouse.h"
+#include "SDL_sysvideo.h"
+#include "SDL_pixels_c.h"
+#include "SDL_events_c.h"
+
+#include "SDL_dxr3video.h"
+#include "SDL_dxr3events_c.h"
+#include "SDL_dxr3mouse_c.h"
+
+#define DXR3VID_DRIVER_NAME "dxr3"
+
+/* Initialization/Query functions */
+static int DXR3_VideoInit(SDL_VideoDevice *vdev, SDL_PixelFormat *vformat);
+static SDL_Rect **DXR3_ListModes(SDL_VideoDevice *vdev, SDL_PixelFormat *format, 
Uint32 flags);
+static SDL_Surface *DXR3_SetVideoMode(SDL_VideoDevice *vdev, SDL_Surface *current, 
int width, int height, int bpp, Uint32 flags);
+static int DXR3_SetColors(SDL_VideoDevice *vdev, int firstcolor, int ncolors, 
SDL_Color *colors);
+static void DXR3_VideoQuit(SDL_VideoDevice *vdev);
+
+/* Hardware surface functions */
+static int DXR3_AllocHWSurface(SDL_VideoDevice *vdev, SDL_Surface *surface);
+static int DXR3_LockHWSurface(SDL_VideoDevice *vdev, SDL_Surface *surface);
+static void DXR3_UnlockHWSurface(SDL_VideoDevice *vdev, SDL_Surface *surface);
+static void DXR3_FreeHWSurface(SDL_VideoDevice *vdev, SDL_Surface *surface);
+
+/* etc. */
+static void DXR3_UpdateRects(SDL_VideoDevice *vdev, int numrects, SDL_Rect *rects);
+
+
+const char *devname_v = "/dev/em8300_mv-0";
+const char *devname_c = "/dev/em8300-0";
+
+#define OUTBUF_SIZE 300000
+
+#define MAX_WIDTH 720
+#define MAX_HEIGHT 576
+
+/* DXR3 driver bootstrap functions */
+
+static int DXR3_Available(void)
+{
+       const char *envr = getenv("SDL_VIDEODRIVER");
+
+       if (envr && !strcmp(envr, DXR3VID_DRIVER_NAME))
+               return 1;
+
+       return 0;
+}
+
+static void DXR3_DeleteDevice(SDL_VideoDevice *device)
+{
+       free(device->hidden);
+       device->hidden = NULL;
+       free(device);
+}
+
+static SDL_VideoDevice *DXR3_CreateDevice(int devindex)
+{
+       SDL_VideoDevice *device;
+
+       /* Initialize all variables that we clean on shutdown */
+       device = malloc(sizeof(SDL_VideoDevice));
+       if (!device)
+               return NULL;
+       memset(device, 0, sizeof(*device));
+
+       device->hidden = malloc((sizeof(*device->hidden)));
+       if (!device->hidden) {
+               free(device);
+               return NULL;
+       }
+       memset(device->hidden, 0, sizeof(*device->hidden));
+
+       /* Set the function pointers */
+       device->VideoInit = DXR3_VideoInit;
+       device->ListModes = DXR3_ListModes;
+       device->SetVideoMode = DXR3_SetVideoMode;
+       device->CreateYUVOverlay = NULL;
+       device->SetColors = DXR3_SetColors;
+       device->UpdateRects = DXR3_UpdateRects;
+       device->VideoQuit = DXR3_VideoQuit;
+       device->AllocHWSurface = DXR3_AllocHWSurface;
+       device->CheckHWBlit = NULL;
+       device->FillHWRect = NULL;
+       device->SetHWColorKey = NULL;
+       device->SetHWAlpha = NULL;
+       device->LockHWSurface = DXR3_LockHWSurface;
+       device->UnlockHWSurface = DXR3_UnlockHWSurface;
+       device->FlipHWSurface = NULL;
+       device->FreeHWSurface = DXR3_FreeHWSurface;
+       device->SetCaption = NULL;
+       device->SetIcon = NULL;
+       device->IconifyWindow = NULL;
+       device->GrabInput = NULL;
+       device->GetWMInfo = NULL;
+       device->InitOSKeymap = DXR3_InitOSKeymap;
+       device->PumpEvents = DXR3_PumpEvents;
+
+       device->free = DXR3_DeleteDevice;
+
+       return device;
+}
+
+VideoBootStrap DXR3_bootstrap = {
+       DXR3VID_DRIVER_NAME,
+       "SDL dxr3 video driver",
+       DXR3_Available,
+       DXR3_CreateDevice
+};
+
+
+int DXR3_VideoInit(SDL_VideoDevice *vdev, SDL_PixelFormat *vformat)
+{
+       struct SDL_PrivateVideoData *data = vdev->hidden;
+
+       fprintf(stderr, "WARNING: You are using the SDL dxr3 video driver!\n");
+
+       /* Determine the screen depth (use default 8-bit depth) */
+       /* we change this during the SDL_SetVideoMode implementation... */
+       vformat->BitsPerPixel = 8;
+       vformat->BytesPerPixel = 1;
+
+       /* fixme: 0 means stdin */
+       data->fd_keyboard = 0;
+
+       if (DXR3_OpenKeyboard(vdev) < 0) {
+               DXR3_VideoQuit(vdev);
+               return -1;
+       }
+
+       /* We're done! */
+       return 0;
+}
+
+SDL_Rect **DXR3_ListModes(SDL_VideoDevice *vdev, SDL_PixelFormat *format,
+                         Uint32 flags)
+{
+        return (SDL_Rect **) -1;
+}
+
+SDL_Surface *DXR3_SetVideoMode(SDL_VideoDevice *vdev, SDL_Surface *current,
+                              int width, int height, int bpp, Uint32 flags)
+{
+       struct SDL_PrivateVideoData *data = vdev->hidden;
+       em8300_register_t reg;
+       int ioval = 0;
+       int tmp1, tmp2;
+
+       if (vdev->hidden->buffer)
+               free(vdev->hidden->buffer);
+
+       vdev->hidden->buffer = malloc(width * height * (bpp / 8));
+       if (!vdev->hidden->buffer) {
+               SDL_SetError("Couldn't allocate buffer for requested mode");
+               return NULL;
+       }
+
+       memset(vdev->hidden->buffer, 0, width * height * (bpp / 8));
+
+       /* Allocate the new pixel format for the screen */
+       if (!SDL_ReallocFormat(current, bpp, 0, 0, 0, 0)) {
+               SDL_SetError("Couldn't allocate new pixel format for requested mode");
+               goto err_buffer;
+       }
+
+       /* Set up the new mode framebuffer */
+       current->flags = flags & SDL_FULLSCREEN;
+       current->w = width;
+       current->h = height;
+
+       /* quick hack */
+       if (width > MAX_WIDTH) {
+               fprintf(stderr, "WARNING: width (%d) out of bounds. cropping to %d 
pixels!\n", width, MAX_WIDTH);
+               width = MAX_WIDTH;
+       }
+       if (height > MAX_HEIGHT ) {
+               fprintf(stderr, "WARNING: height (%d) out of bounds. cropping to %d 
pixels!\n", height, MAX_HEIGHT);
+               height = MAX_HEIGHT;
+       }
+
+       vdev->hidden->w = width;
+       vdev->hidden->h = height;
+       current->pitch = width * (bpp / 8);
+       current->pixels = vdev->hidden->buffer;
+
+       /* Open and set up the dxr3 */
+       data->fd_video = open(devname_v, O_WRONLY | O_NONBLOCK);
+       if (data->fd_video < 0) {
+               SDL_SetError("Couldn't open video part of dxr3.");
+               goto err_buffer;
+       }
+
+       data->fd_control = open(devname_c, O_WRONLY | O_NONBLOCK);
+       if (data->fd_control < 0) {
+               SDL_SetError("Couldn't open control part of dxr3.");
+               goto err_control;
+       }
+
+       /* Set the playmode to play (just in case another app has set it to something 
else) */
+       ioval = EM8300_PLAYMODE_PLAY;
+       if (ioctl(data->fd_control, EM8300_IOCTL_SET_PLAYMODE, &ioval) < 0) {
+               SDL_SetError("Couldn't set playmode of dxr3.");
+               goto err_set_play;
+       }
+
+       /* Start em8300 prebuffering and sync engine */
+       reg.microcode_register = 1;
+       reg.reg = 0;
+       reg.val = MVCOMMAND_SYNC;
+       if (ioctl(data->fd_control, EM8300_IOCTL_WRITEREG, &reg)) {
+               SDL_SetError("Couldn't EM8300_IOCTL_WRITEREG (dxr3).");
+               goto err_set_play;
+       }
+       
+       /* Clean buffer by syncing it */
+       ioval = EM8300_SUBDEVICE_VIDEO;
+       ioctl(data->fd_control, EM8300_IOCTL_FLUSH, &ioval);
+       ioval = EM8300_SUBDEVICE_AUDIO;
+       ioctl(data->fd_control, EM8300_IOCTL_FLUSH, &ioval);
+
+       fsync(data->fd_video);
+
+       tmp1 = abs(height - ((width / 4) * 3));
+       tmp2 = abs(height - (int)(width / 2.35));
+       if (tmp1 < tmp2)
+               ioval = EM8300_ASPECTRATIO_4_3;
+       else
+               ioval = EM8300_ASPECTRATIO_16_9;
+       ioctl(data->fd_control, EM8300_IOCTL_SET_ASPECTRATIO, &ioval);
+
+       data->outbuf = malloc(OUTBUF_SIZE);
+       if (!data->outbuf) {
+               SDL_SetError("malloc() failed (dxr3).");
+               goto err_set_play;
+       }
+
+       data->picture_yuv = malloc((width * height * 3) / 2);
+       if (!data->picture_yuv) {
+               SDL_SetError("malloc() failed (dxr3).");
+               goto err_outbuf;
+       }
+
+       avcodec_init();
+       avcodec_register_all();
+
+       /* fix me: error handling */
+       data->codec = avcodec_find_encoder(CODEC_ID_MPEG1VIDEO);
+       if (!data->codec)
+               goto err_outbuf;
+
+       data->c = avcodec_alloc_context();
+       if (!data->c)
+               goto err_outbuf;
+
+       data->picture = avcodec_alloc_frame();
+       if (!data->picture)
+               goto err_alloc_frame;
+
+       data->c->bit_rate = 1000000;
+       data->c->width = width;
+       data->c->height = height;
+       
+       data->c->frame_rate = 25 * FRAME_RATE_BASE;
+       data->c->gop_size = 1;
+       data->c->flags = CODEC_FLAG_QSCALE;
+       
+       if (avcodec_open(data->c, data->codec) < 0)
+               goto err_avc_open;
+       
+       data->picture->data[0] = data->picture_yuv;
+       data->picture->data[1] = data->picture->data[0] + width * height;
+       data->picture->data[2] = data->picture->data[1] + (width * height / 4);
+
+       data->picture->linesize[0] = width;
+       data->picture->linesize[1] = width / 2;
+       data->picture->linesize[2] = width / 2;
+
+       data->picture->quality = 2;
+
+       /* We're done */  
+       return current;
+
+err_avc_open:
+       free(data->picture);
+       data->picture = NULL;
+err_alloc_frame:
+       free(data->c);
+       data->c = NULL;
+err_outbuf:
+       free(data->outbuf);
+       data->outbuf = NULL;
+err_set_play:
+       close(data->fd_control);
+       data->fd_control = -1;
+err_control:
+       close(data->fd_video);
+       data->fd_video = -1;
+err_buffer:
+       free(vdev->hidden->buffer);
+       vdev->hidden->buffer = NULL;
+       return NULL;
+}
+
+/* We don't actually allow hardware surfaces other than the main one */
+static int DXR3_AllocHWSurface(SDL_VideoDevice *vdev, SDL_Surface *surface)
+{
+       return -1;
+}
+
+static void DXR3_FreeHWSurface(SDL_VideoDevice *vdev, SDL_Surface *surface)
+{
+}
+
+/* We need to wait for vertical retrace on page flipped displays */
+static int DXR3_LockHWSurface(SDL_VideoDevice *vdev, SDL_Surface *surface)
+{
+       return 0;
+}
+
+static void DXR3_UnlockHWSurface(SDL_VideoDevice *vdev, SDL_Surface *surface)
+{
+}
+
+static void DXR3_UpdateRects(SDL_VideoDevice *vdev, int numrects,
+                            SDL_Rect *rects)
+{
+       struct SDL_PrivateVideoData *data = vdev->hidden;
+       AVPicture dst, src;
+       int size;
+
+       if (data->picture_yuv) {
+               dst.data[0] = data->picture->data[0];
+               dst.data[1] = data->picture->data[1];
+               dst.data[2] = data->picture->data[2];
+               src.data[0] = data->buffer;
+               img_convert(&dst, PIX_FMT_YUV420P, &src, PIX_FMT_BGRA32, 
data->c->width, data->c->height);
+
+               size = avcodec_encode_video(data->c, data->outbuf, OUTBUF_SIZE, 
data->picture);
+               if (data->outbuf[size - 1] != 0xb7) {
+                       /* add sequence end code */
+                       data->outbuf[size] = 0x00;
+                       data->outbuf[size + 1] = 0x00;
+                       data->outbuf[size + 2] = 0x01;
+                       data->outbuf[size + 3] = 0xb7;
+                       size += 4;
+               }
+
+               write(data->fd_video, data->outbuf, size);
+       }
+}
+
+int DXR3_SetColors(SDL_VideoDevice *vdev, int firstcolor, int ncolors,
+                  SDL_Color *colors)
+{
+       /* do nothing of note. */
+       return 1;
+}
+
+/* Note:  If we are terminated, this could be called in the middle of
+   another SDL video routine -- notably UpdateRects.
+*/
+void DXR3_VideoQuit(SDL_VideoDevice *vdev)
+{
+       struct SDL_PrivateVideoData *data = vdev->hidden;
+
+       if (vdev->screen->pixels) {
+               free(vdev->screen->pixels);
+               vdev->screen->pixels = NULL;
+       }
+
+       /* DXR3 cleanup */
+       if (data->fd_video != -1) {
+               close(data->fd_video);
+               data->fd_video = -1;
+       }
+       if (data->fd_control != -1) {
+               close(data->fd_control);
+               data->fd_control = -1;
+       }
+       
+       /* avcodec clean up */
+       if (data->picture_yuv) {
+               free(data->picture_yuv);
+               data->picture_yuv = 0;
+       }
+       if (data->outbuf) {
+               free(data->outbuf);
+               data->outbuf = 0;
+       }
+       
+       DXR3_CloseKeyboard(vdev);
+}
--- /dev/null   2002-11-18 10:54:08.000000000 -0800
+++ SDL-1.2.5/src/video/dxr3/SDL_dxr3video.h    2002-12-29 09:09:01.000000000 -0800
@@ -0,0 +1,61 @@
+/*
+    SDL - Simple DirectMedia Layer
+    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+    Sam Lantinga
+    [EMAIL PROTECTED]
+*/
+
+#ifdef SAVE_RCSID
+static char rcsid =
+ "@(#) $Id: SDL-1.2.5-dxr3-ffmpeg.patch,v 1.1 2003/09/17 09:15:28 tcwan Exp $";
+#endif
+
+#ifndef _SDL_dxr3video_h
+#define _SDL_dxr3video_h
+
+#include <unistd.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/termios.h>
+
+#include <avcodec.h>
+
+#include "SDL_mouse.h"
+#include "SDL_sysvideo.h"
+#include "SDL_mutex.h"
+
+/* Private display data */
+
+struct SDL_PrivateVideoData {
+    int w, h;
+    UINT8 *buffer;
+
+    AVCodec *codec;
+    AVCodecContext *c;
+    AVFrame *picture;
+    UINT8 *picture_yuv;
+    UINT8 *outbuf;
+
+    int fd_video;
+    int fd_control;
+    struct termios tio_orig;
+    int fd_keyboard;
+    int posted;
+};
+
+#endif /* _SDL_dxr3video_h */
--- /usr/local/SDL-1.2.5/src/video/Makefile.am  2002-10-06 11:47:20.000000000 -0700
+++ SDL-1.2.5/src/video/Makefile.am     2002-12-29 06:58:58.000000000 -0800
@@ -5,7 +5,7 @@
 
 # Define which subdirectories need to be built
 SUBDIRS = @VIDEO_SUBDIRS@
-DIST_SUBDIRS = dummy x11 dga nanox fbcon directfb vgl svga ggi aalib \
+DIST_SUBDIRS = dxr3 dummy x11 dga nanox fbcon directfb vgl svga ggi aalib \
                wincommon windib windx5 \
                maccommon macdsp macrom quartz \
                bwindow ps2gs photon cybergfx epoc picogui \
--- /usr/local/SDL-1.2.5/src/video/SDL_sysvideo.h       2002-10-05 09:50:56.000000000 
-0700
+++ SDL-1.2.5/src/video/SDL_sysvideo.h  2002-12-29 06:58:58.000000000 -0800
@@ -394,6 +394,9 @@
 #ifdef ENABLE_DUMMYVIDEO
 extern VideoBootStrap DUMMY_bootstrap;
 #endif
+#ifdef ENABLE_DXR3VIDEO
+extern VideoBootStrap DXR3_bootstrap;
+#endif
 #ifdef ENABLE_XBIOS
 extern VideoBootStrap XBIOS_bootstrap;
 #endif
--- /usr/local/SDL-1.2.5/src/video/SDL_video.c  2002-10-05 09:50:56.000000000 -0700
+++ SDL-1.2.5/src/video/SDL_video.c     2002-12-29 06:58:58.000000000 -0800
@@ -105,6 +105,9 @@
 #ifdef ENABLE_DUMMYVIDEO
        &DUMMY_bootstrap,
 #endif
+#ifdef ENABLE_DXR3VIDEO
+       &DXR3_bootstrap,
+#endif
 #ifdef ENABLE_XBIOS
        &XBIOS_bootstrap,
 #endif

--- NEW FILE: SDL-1.2.5-nokeyboard.patch ---
diff -ur SDL-1.2.5/src/video/fbcon/SDL_fbevents.c 
SDL-1.2.5-freevo/src/video/fbcon/SDL_fbevents.c
--- SDL-1.2.5/src/video/fbcon/SDL_fbevents.c    Wed Mar  6 05:23:03 2002
+++ SDL-1.2.5-freevo/src/video/fbcon/SDL_fbevents.c     Fri Jan 10 00:28:55 2003
@@ -153,13 +153,69 @@
 
 int FB_InGraphicsMode(_THIS)
 {
+       if (getenv("SDL_NOKEYBOARD") != NULL) {
+               return (1); /* Special handling for no keyboard */
+       }
+  
        return((keyboard_fd >= 0) && (saved_kbd_mode >= 0));
 }
 
+
+static void
+tty_enable (void)
+{
+       int tty;
+  
+       tty = open ("/dev/tty0", O_RDWR);
+       if(tty < 0) {
+               perror("Error can't open /dev/tty0");
+               exit (1);
+       }
+
+       if (ioctl (tty, KDSETMODE, KD_TEXT) == -1) {
+               perror ("Error setting text mode for tty");
+               close (tty);
+               exit (1);
+       }
+  
+       close(tty);
+}
+
+
+static void
+tty_disable (void)
+{
+       int tty;
+
+
+       tty = open ("/dev/tty0", O_RDWR);
+       if (tty < 0) {
+               perror ("Error can't open /dev/tty0");
+               exit (1);
+       }
+
+       if (ioctl (tty, KDSETMODE, KD_GRAPHICS) == -1) {
+               perror ("Error setting graphics mode for tty");
+               close (tty);
+               exit (1);
+       }
+  
+       close (tty);
+
+}
+
+
 int FB_EnterGraphicsMode(_THIS)
 {
        struct termios keyboard_termios;
+       int fd;
 
+        
+       if (getenv("SDL_NOKEYBOARD") != NULL) {
+               tty_disable ();
+               return (1);              /* Do not touch the keyboard */
+        }
+        
        /* Set medium-raw keyboard mode */
        if ( (keyboard_fd >= 0) && !FB_InGraphicsMode(this) ) {
 
@@ -219,6 +275,12 @@
 
 void FB_LeaveGraphicsMode(_THIS)
 {
+  
+       if (getenv("SDL_NOKEYBOARD") != NULL) {
+               tty_enable ();
+               return; /* Special handling for no keyboard */
+        }
+
        if ( FB_InGraphicsMode(this) ) {
                ioctl(keyboard_fd, KDSETMODE, KD_TEXT);
                ioctl(keyboard_fd, KDSKBMODE, saved_kbd_mode);
@@ -841,6 +903,11 @@
        Uint32 screen_arealen;
        Uint8 *screen_contents;
 
+       
+       if (getenv("SDL_NOKEYBOARD") != NULL) {
+               return;        /* Do not touch the keyboard */
+       }
+        
        /* Figure out whether or not we're switching to a new console */
        if ( (ioctl(keyboard_fd, VT_GETSTATE, &vtstate) < 0) ||
             (which == vtstate.v_active) ) {
@@ -891,6 +958,11 @@
        int scancode;
        SDL_keysym keysym;
 
+
+       if (getenv("SDL_NOKEYBOARD") != NULL) {
+               return;        /* Do not touch the keyboard */
+       }
+        
        nread = read(keyboard_fd, keybuf, BUFSIZ);
        for ( i=0; i<nread; ++i ) {
                scancode = keybuf[i] & 0x7F;
@@ -934,6 +1006,10 @@
        int max_fd;
        static struct timeval zero;
 
+        if (getenv("SDL_NOKEYBOARD") != NULL) {
+          return;        /* XXX Do not touch the keyboard */
+        }
+        
        do {
                posted = 0;
 
diff -ur SDL-1.2.5/src/video/fbcon/SDL_fbvideo.c 
SDL-1.2.5-freevo/src/video/fbcon/SDL_fbvideo.c
--- SDL-1.2.5/src/video/fbcon/SDL_fbvideo.c     Mon Sep  2 16:42:15 2002
+++ SDL-1.2.5-freevo/src/video/fbcon/SDL_fbvideo.c      Fri Jan 10 00:27:10 2003
@@ -529,10 +529,18 @@
        }
 
        /* Enable mouse and keyboard support */
-       if ( FB_OpenKeyboard(this) < 0 ) {
-               FB_VideoQuit(this);
-               return(-1);
+       {
+               const char *sdl_nokbd;
+
+               sdl_nokbd = getenv("SDL_NOKEYBOARD");
+               if (!sdl_nokbd) {
+                       if ( FB_OpenKeyboard(this) < 0 ) {
+                               FB_VideoQuit(this);
+                               return(-1);
+                       }
+               }
        }
+        
        if ( FB_OpenMouse(this) < 0 ) {
                const char *sdl_nomouse;
 

--- NEW FILE: SDL.spec ---
Summary: A cross-platform multimedia library.
Name: SDL
Version: 1.2.5
Release: 4_freevo
Source: http://www.libsdl.org/release/%{name}-%{version}.tar.gz
Patch0: SDL-1.1.7-byteorder.patch
Patch2: SDL-1.2.2-autoconf25.patch
Patch4: SDL-1.2.3-prefersounddaemons.patch
Patch5: SDL-1.2.3-c++.patch
Patch6: SDL-1.2.5-dgavideo-modes.patch
Patch7: SDL-1.2.5-nokeyboard.patch
Patch8: SDL-1.2.5-dxr3-ffmpeg.patch
URL: http://www.libsdl.org/
License: LGPL
Group: System Environment/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-root
Prefix: %{_prefix}
BuildRequires: arts-devel audiofile-devel
BuildRequires: esound-devel

%description
Simple DirectMedia Layer (SDL) is a cross-platform multimedia library
designed to provide fast access to the graphics frame buffer and audio
device.

%package devel
Summary: Files needed to develop Simple DirectMedia Layer applications.
Group: Development/Libraries
Requires: SDL = %{version} XFree86-devel

%description devel
Simple DirectMedia Layer (SDL) is a cross-platform multimedia library
designed to provide fast access to the graphics frame buffer and audio
device. This package provides the libraries, include files, and other
resources needed for developing SDL applications.

%prep
rm -rf %{buildroot}

%setup -q 
%patch0 -p1 -b .byte
AUTOMAKE_VER=`automake --version |head -n1 |sed -e "s,.* ,," |cut -b1-3 | sed -e 
"s,\.,,g"`
if [ "$AUTOMAKE_VER" -gt 14 ]; then
%patch2 -p1 -b .ac25x
fi
%patch4 -p1 -b .prefer
%patch5 -p1 -b .c++
%patch6 -p1 -b .modes
%patch7 -p1 
%patch8 -p1 

%build
cp /usr/share/libtool/config.{sub,guess} .
./autogen.sh
CFLAGS="$RPM_OPT_FLAGS -fPIC" CXXFLAGS="$RPM_OPT_FLAGS -fPIC" LDFLAGS="-fPIC" 
./configure --disable-debug --prefix=%{prefix} --sysconfdir=/etc --enable-dlopen 
--enable-arts --enable-arts-shared --libdir=%{_libdir} \
--enable-esd --enable-esd-shared
# Workaround for broken automake mess
AUTOMAKE_VER=`automake --version |head -n1 |sed -e "s,.* ,," |cut -b1-3 | sed -e 
"s,\.,,g"`
if [ "$AUTOMAKE_VER" -gt 14 ]; then
cat >automake <<EOF
exit 0
EOF
chmod +x automake
export PATH=`pwd`:$PATH
fi
# End workaround
make %{?_smp_mflags}

%install
rm -rf %{buildroot}
# Continued workaround for automake mess
export PATH=`pwd`:$PATH
%makeinstall

%clean
rm -rf %{buildroot}

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc README-SDL.txt COPYING CREDITS BUGS
%{_libdir}/lib*.so.*

%files devel
%defattr(-,root,root)
%doc README README-SDL.txt COPYING CREDITS BUGS WhatsNew docs.html docs/html
%doc docs/index.html
%{_bindir}/*-config
%{_libdir}/lib*.so
%{_libdir}/*a
%{_includedir}/SDL
%{_datadir}/aclocal/*
%{_mandir}/man3/SDL*.3*

%changelog
* Tue Sep 16 2003 TC Wan <[EMAIL PROTECTED]> 1.2.5-4_freevo
- Patched for no keyboard, dxr3 ffmpeg support

* Mon Feb 10 2003 Thomas Woerner  <[EMAIL PROTECTED]> 1.2.5-3
- added -fPIC to LDFLAGS

* Wed Jan 22 2003 Tim Powers <[EMAIL PROTECTED]>
- rebuilt

* Tue Dec 10 2002 Thomas Woerner <[EMAIL PROTECTED]> 1.2.5-1
- new version 1.2.5
- disabled conflicting automake16 patch
- dgavideo modes fix (#78861)

* Sun Dec 01 2002 Elliot Lee <[EMAIL PROTECTED]> 1.2.4-7
- Fix unpackaged files by including them.
- _smp_mflags

* Fri Nov 29 2002 Tim Powers <[EMAIL PROTECTED]> 1.2.4-6
- remove unpackaged files from the buildroot
- lib64'ize

* Sat Jul 20 2002 Florian La Roche <[EMAIL PROTECTED]>
- do not require nasm for mainframe

* Tue Jul  2 2002 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.4-4
- Fix bug #67255

* Fri Jun 21 2002 Tim Powers <[EMAIL PROTECTED]>
- automated rebuild

* Sun May 26 2002 Tim Powers <[EMAIL PROTECTED]>
- automated rebuild

* Thu May 23 2002 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.4-1
- 1.2.4
- Fix build with automake 1.6

* Mon Mar 11 2002 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.3-7
- Fix AM_PATH_SDL automake macro with AC_LANG(c++) (#60533)

* Thu Feb 28 2002 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.3-6
- Rebuild in current environment

* Thu Jan 24 2002 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.3-5
- dlopen() aRts and esd rather than linking directly to them.
- make sure aRts and esd are actually used if they're running.

* Mon Jan 21 2002 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.3-4
- Don't crash without xv optimization: BuildRequire a version of nasm that
  works.

* Wed Jan 09 2002 Tim Powers <[EMAIL PROTECTED]>
- automated rebuild

* Mon Dec 17 2001 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.3-2
- Rebuild with new aRts, require arts-devel rather than kdelibs-sound-devel
- Temporarily exclude alpha (compiler bugs)

* Thu Nov 22 2001 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.3-1
- 1.2.3

* Sat Nov 17 2001 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.2-5
- Add workaround for automake 1.5 asm bugs

* Tue Oct 30 2001 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.2-4
- Make sure -fPIC is used on all architectures (#55039)
- Fix build with autoconf 2.5x

* Fri Aug 31 2001 Bill Nottingham <[EMAIL PROTECTED]> 1.2.2-3
- rebuild (fixes #50750??)

* Thu Aug  2 2001 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.2-2
- SDL-devel should require esound-devel and kdelibs-sound-devel (#44884)

* Tue Jul 24 2001 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.2-1
- Update to 1.2.2; this should fix #47941
- Add build dependencies

* Tue Jul 10 2001 Elliot Lee <[EMAIL PROTECTED]> 1.2.1-3
- Rebuild to eliminate libXv/libXxf86dga deps.

* Fri Jun 29 2001 Preston Brown <[EMAIL PROTECTED]>
- output same libraries for sdl-config whether --libs or --static-libs 
  selected.  Fixes compilation of most SDL programs.
- properly packaged new HTML documentation

* Sun Jun 24 2001 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.1-1
- 1.2.1

* Mon May  7 2001 Bernhard Rosenkraenzer <[EMAIL PROTECTED]> 1.2.0-2
- Add Bill's byteorder patch

* Sun Apr 15 2001 Bernhard Rosenkraenzer <[EMAIL PROTECTED]>
- 1.2.0

* Tue Feb 27 2001 Karsten Hopp <[EMAIL PROTECTED]>
- SDL-devel requires SDL

* Tue Jan 16 2001 Bernhard Rosenkraenzer <[EMAIL PROTECTED]>
- Require arts rather than kdelibs-sound

* Sun Jan  7 2001 Bernhard Rosenkraenzer <[EMAIL PROTECTED]>
- 1.1.7

* Tue Oct 24 2000 Bernhard Rosenkraenzer <[EMAIL PROTECTED]>
- 1.1.6

* Mon Aug  7 2000 Bernhard Rosenkraenzer <[EMAIL PROTECTED]>
- build against new DGA
- update to 1.1.4, remove patches (they're now in the base release)

* Tue Aug  1 2000 Bernhard Rosenkraenzer <[EMAIL PROTECTED]>
- %%post -p /sbin/ldconfig (Bug #14928)
- add URL

* Wed Jul 12 2000 Prospector <[EMAIL PROTECTED]>
- automatic rebuild

* Sun Jun 18 2000 Bill Nottingham <[EMAIL PROTECTED]>
- replace patch that fell out of SRPM

* Tue Jun 13 2000 Preston Brown <[EMAIL PROTECTED]>
- FHS paths
- use 1.1 (development) version; everything even from Loki links to it!

* Thu May  4 2000 Bill Nottingham <[EMAIL PROTECTED]>
- autoconf fixes for ia64

* Mon Apr 24 2000 Tim Powers <[EMAIL PROTECTED]>
- updated to 1.0.8

* Tue Feb 15 2000 Tim Powers <[EMAIL PROTECTED]>
- updated to 1.0.4, fixes problems when run in 8bpp

* Tue Feb 01 2000 Tim  Powers <[EMAIL PROTECTED]>
- applied patch from Hans de Goede <[EMAIL PROTECTED]> for fullscreen toggling.
- using  --enable-video-x11-dgamouse since it smoothes the mouse some.

* Sun Jan 30 2000 Tim Powers <[EMAIL PROTECTED]>
- updated to 1.0.3, bugfix update

* Fri Jan 28 2000 Tim Powers <[EMAIL PROTECTED]>
- fixed group etc

* Fri Jan 21 2000 Tim Powers <[EMAIL PROTECTED]>
- build for 6.2 Powertools

* Wed Jan 19 2000 Sam Lantinga <[EMAIL PROTECTED]>
- Re-integrated spec file into SDL distribution
- 'name' and 'version' come from configure 
- Some of the documentation is devel specific
- Removed SMP support from %build - it doesn't work with libtool anyway

* Tue Jan 18 2000 Hakan Tandogan <[EMAIL PROTECTED]>
- Hacked Mandrake sdl spec to build 1.1

* Sun Dec 19 1999 John Buswell <[EMAIL PROTECTED]>
- Build Release

* Sat Dec 18 1999 John Buswell <[EMAIL PROTECTED]>
- Add symlink for libSDL-1.0.so.0 required by sdlbomber
- Added docs

* Thu Dec 09 1999 Lenny Cartier <[EMAIL PROTECTED]>
- v 1.0.0

* Mon Nov  1 1999 Chmouel Boudjnah <[EMAIL PROTECTED]>
- First spec file for Mandrake distribution.

# end of file

--- NEW FILE: SDL_ttf-2.0.6-freevo.patch ---
Index: SDL_ttf.c
===================================================================
RCS file: /home/sdlweb/libsdl.org/cvs/SDL_ttf2/SDL_ttf.c,v
retrieving revision 1.16
diff -u -r1.16 SDL_ttf.c
--- SDL_ttf.c   3 May 2003 20:07:53 -0000       1.16
+++ SDL_ttf.c   13 Jun 2003 22:37:53 -0000
@@ -830,6 +830,8 @@
        int x, z;
        int minx, maxx;
        int miny, maxy;
+        int max_height;
+        int rows;
        c_glyph *glyph;
        FT_Error error;
 
@@ -841,6 +843,7 @@
        status = 0;
        minx = maxx = 0;
        miny = maxy = 0;
+       max_height = 0;
        swapped = TTF_byteswapped;
 
        /* Load each character and sum it's bounding box */
@@ -871,6 +874,12 @@
                }
                glyph = font->current;
 
+                rows = glyph->maxy - glyph->miny;
+                if ( max_height < (rows + glyph->yoffset) ) {
+                        max_height = (rows + glyph->yoffset);
+                }
+
+
                if ( (ch == text) && (glyph->minx < 0) ) {
                /* Fixes the texture wrapping bug when the first letter
                 * has a negative minx value or horibearing value.  The entire
@@ -922,7 +931,14 @@
 #if 0 /* This is correct, but breaks many applications */
                *h = (maxy - miny);
 #else
-               *h = font->height;
+                if (font->height >= max_height) {
+                  *h = font->height;
+                } else {
+                  *h = max_height;
+                }
+                  
+               /*  *h = font->height; XXX This doesn't take into account
+                 * the bearingY, leading to memory access errors */
 #endif
        }
        return status;
@@ -1000,11 +1016,10 @@
        FT_Error error;
 
        /* Get the dimensions of the text surface */
-       if( ( TTF_SizeUNICODE(font, text, &width, NULL) < 0 ) || !width ) {
+       if( ( TTF_SizeUNICODE(font, text, &width, &height) < 0 ) || !width ) {
                TTF_SetError( "Text has zero width" );
                return NULL;
        }
-       height = font->height;
 
        /* Create the target surface */
        textbuf = SDL_AllocSurface(SDL_SWSURFACE, width, height, 8, 0, 0, 0, 0);
@@ -1233,11 +1248,10 @@
        FT_Error error;
 
        /* Get the dimensions of the text surface */
-       if( ( TTF_SizeUNICODE(font, text, &width, NULL) < 0 ) || !width ) {
+       if( ( TTF_SizeUNICODE(font, text, &width, &height) < 0 ) || !width ) {
                TTF_SetError("Text has zero width");
                return NULL;
        }
-       height = font->height;
 
        /* Create the target surface */
        textbuf = SDL_AllocSurface(SDL_SWSURFACE, width, height, 8, 0, 0, 0, 0);
@@ -1466,11 +1480,10 @@
        FT_Error error;
 
        /* Get the dimensions of the text surface */
-       if ( (TTF_SizeUNICODE(font, text, &width, NULL) < 0) || !width ) {
+       if ( (TTF_SizeUNICODE(font, text, &width, &height) < 0) || !width ) {
                TTF_SetError("Text has zero width");
                return(NULL);
        }
-       height = font->height;
 
        textbuf = SDL_AllocSurface(SDL_SWSURFACE, width, height, 32,
                   0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000);

--- NEW FILE: SDL_ttf.spec ---
Summary: Simple DirectMedia Layer - Sample TrueType Font Library
Name: SDL_ttf
Version: 2.0.6
Release: 2_freevo
Source0: %{name}-%{version}.tar.gz
Patch0: %{name}-%{version}-freevo.patch
Copyright: LGPL
Group: System Environment/Libraries
BuildRoot: /var/tmp/%{name}-buildroot
Prefix: %{_prefix}
Packager: Hakan Tandogan <[EMAIL PROTECTED]>
#BuildRequires: SDL-devel
#BuildRequires: freetype-devel

%description
This library allows you to use TrueType fonts to render text in SDL
applications.

%package devel
Summary: Libraries, includes and more to develop SDL applications.
Group: Development/Libraries
Requires: %{name}
Requires: SDL-devel

%description devel
This library allows you to use TrueType fonts to render text in SDL
applications.

%prep
rm -rf ${RPM_BUILD_ROOT}

%setup
%patch0

%build
CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{prefix}
make

%install
rm -rf $RPM_BUILD_ROOT
make install prefix=$RPM_BUILD_ROOT/%{prefix}

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%doc README CHANGES COPYING
%{prefix}/lib/lib*.so.*
%{prefix}/lib/lib*.so

%files devel
%defattr(-,root,root)
%{prefix}/lib/*a
%{prefix}/include/SDL/

%changelog
* Wed Jan 19 2000 Sam Lantinga 
- converted to get package information from configure
* Sun Jan 16 2000 Hakan Tandogan <[EMAIL PROTECTED]>
- initial spec file


--- NEW FILE: freevo-recording-suite.spec ---
%define freevoname freevo-src
%define freevover 1.4
%define freevorel 1_freevo
##############################################################################
Summary: Meta-package for Freevo recording functionality
Name: freevo-recording-suite
Version: %{freevover}
Release: %{freevorel}
Copyright: GPL
Group: Applications/Multimedia
URL:   http://freevo.sourceforge.net/
Requires: freevo-core-suite
Requires: python-twisted >= 1.0.7 
Requires: vorbis-tools, libvorbis, lame, cdparanoia
Requires: mp1e >= 1.9.3
#Requires: ffmpeg >= 0.4.7
Requires: %{freevoname}


%description
Freevo is a Linux application that turns a PC with a TV capture card
and/or TV-out into a standalone multimedia jukebox/VCR. It builds on
other applications such as xine, mplayer, tvtime and mencoder to play
and record video and audio.

This is a meta-package used by apt to setup all required recording packages
for using freevo to record TV programs.

%prep

%build

%install

%files 
%defattr(-,root,root)

%changelog
* Wed Sep 17 2003 TC Wan <[EMAIL PROTECTED]>
- Initial SPEC file for RH 9

--- NEW FILE: python-fchksum.spec ---
%define pyver %(python -c 'import sys; print sys.version[:3]')

Summary: Python fast checksum module
Name: python-fchksum
Version: 1.7.1
Release: 1_freevo
Source0: %{name}-%{version}.tar.gz
Copyright: GPL2
Group: Development/Libraries
URL: http://www.dakotacom.net/~donut/programs/
BuildRoot: %{_tmppath}/%{name}-buildroot

%description
    This module provides quick and easy functions to find checksums of files.
    It supports md5, crc32, cksum, bsd-style sum, and sysv-style sum.
    The advantage of using fchksum over the python md5 and zlib(.crc32)
    modules is both ease of use and speed.  You only need to tell it the
    filename and the actual work is done by C code.  Compared to the
    implementing a read loop in python with the standard python modules,
    fchksum is up to 2.0x faster in md5 and 1.1x faster in crc32.
    
    All checksum functions take a filename as a string, and optional callback
    function, and callback delay (in seconds), and return a tuple (checksum,
    size).  An empty string may be substituted for filename to read from
    stdin.  The returned size is always a python Long, and the checksum
    return type varies depending on the function.

%prep
%setup 

%build
env CFLAGS="$RPM_OPT_FLAGS" python setup.py build

%install
python setup.py install --no-compile --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES

mkdir -p $RPM_BUILD_ROOT/%{_includedir}/python%{pyver}
cp *h $RPM_BUILD_ROOT/%{_includedir}/python%{pyver}

cat >>INSTALLED_FILES <<EOF
%{_includedir}/python%{pyver}
%doc README COPYING Changelog PKG-INFO
%doc test
EOF


%clean
rm -rf $RPM_BUILD_ROOT

%files -f INSTALLED_FILES
%defattr(-,root,root)

%changelog
* Wed Sep 17 2003 TC Wan <[EMAIL PROTECTED]>
- Initial SPEC file for python site-packages installation

Index: PIL.spec
===================================================================
RCS file: /cvsroot/freevo/freevo/contrib/rpm/PIL.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** PIL.spec    15 Sep 2003 08:15:58 -0000      1.1
--- PIL.spec    17 Sep 2003 09:15:28 -0000      1.2
***************
*** 6,14 ****
  Name:           PIL
  Version:        %{version}
! Release:        1
  License:        PIL_Freeware
  Group:          Development/Libraries
  Source:         http://www.pythonware.com/%{tarballname}-%{version}.tar.gz
! Patch:                %{tarballname}-%{version}-setup.patch
  URL:            http://www.pythonware.com/
  Provides:     python-imaging, Imaging
--- 6,15 ----
  Name:           PIL
  Version:        %{version}
! Release:        2
  License:        PIL_Freeware
  Group:          Development/Libraries
  Source:         http://www.pythonware.com/%{tarballname}-%{version}.tar.gz
! Patch0:               %{tarballname}-%{version}-setup.patch
! Patch1:               %{tarballname}-%{version}-Setup.in.patch
  URL:            http://www.pythonware.com/
  Provides:     python-imaging, Imaging
***************
*** 31,35 ****
  %prep
  %setup -n %{tarballname}-%{version}
! %patch -p1
  
  %build
--- 32,37 ----
  %prep
  %setup -n %{tarballname}-%{version}
! %patch0 -p1
! %patch1 -p1
  
  %build

Index: freevo-core-suite.spec
===================================================================
RCS file: /cvsroot/freevo/freevo/contrib/rpm/freevo-core-suite.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** freevo-core-suite.spec      17 Sep 2003 07:50:20 -0000      1.1
--- freevo-core-suite.spec      17 Sep 2003 09:15:28 -0000      1.2
***************
*** 10,17 ****
  Group: Applications/Multimedia
  URL:            http://freevo.sourceforge.net/
! Requires: SDL >= 1.2.6, SDL_ttf >= 2.0.6, freetype >= 2.1.4, 
! Requires: python >= 2.2, python-game >= 1.5.6, python-imaging >= 1.1.4
! Requires: mmpython, python-mx-base >= 2.0.4, 
! Requires: aumix >= 2.7, vorbis-tools >= 1.0, libjpeg >= 6b 
  Requires: %{freevoname}
  
--- 10,18 ----
  Group: Applications/Multimedia
  URL:            http://freevo.sourceforge.net/
! Requires: SDL >= 1.2.6, SDL_image >= 1.2.3, SDL_ttf >= 2.0.6, SDL_mixer >= 1.2.5
! Requires: smpeg >= 0.4.4, freetype >= 2.1.4, util-linux
! Requires: python >= 2.2, python-game >= 1.5.6, python-imaging >= 1.1.4, PyXML
! Requires: mmpython, python-fchksum, python-mx-base >= 2.0.4, 
! Requires: aumix >= 2.8, libjpeg >= 6b, libexif >= 0.5.10
  Requires: %{freevoname}
  

Index: mmpython.spec
===================================================================
RCS file: /cvsroot/freevo/freevo/contrib/rpm/mmpython.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** mmpython.spec       15 Sep 2003 08:15:59 -0000      1.1
--- mmpython.spec       17 Sep 2003 09:15:28 -0000      1.2
***************
*** 1,15 ****
! %define name mmpython
! %define version 0.1
! %define release 1
! 
! Summary: Python Media Meta Data module. See http://sourceforge.net/projects/mmpython 
for more info.
! Name: %{name}
! Version: %{version}
! Release: %{release}
  Source0: %{name}_%{version}.tar.gz
  Copyright: lgpl
  Group: Development/Libraries
  BuildRoot: %{_tmppath}/%{name}-buildroot
- Prefix: %{_prefix}
  
  %description
--- 1,11 ----
! Summary: Python Media Meta Data module. 
! Name: mmpython
! Version: 0.1
! Release: 1_freevo
  Source0: %{name}_%{version}.tar.gz
  Copyright: lgpl
  Group: Development/Libraries
+ URL:  http://sourceforge.net/projects/mmpython
  BuildRoot: %{_tmppath}/%{name}-buildroot
  
  %description

Index: mp1e.spec
===================================================================
RCS file: /cvsroot/freevo/freevo/contrib/rpm/mp1e.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** mp1e.spec   15 Sep 2003 09:09:59 -0000      1.1
--- mp1e.spec   17 Sep 2003 09:15:28 -0000      1.2
***************
*** 1,5 ****
  Name: mp1e
  Version: 1.9.3
! Release: 1
  Summary: Real Time Software MPEG-1 Video/Audio Encoder
  Copyright: GPL
--- 1,5 ----
  Name: mp1e
  Version: 1.9.3
! Release: 1_freevo
  Summary: Real Time Software MPEG-1 Video/Audio Encoder
  Copyright: GPL

Index: python-twisted.spec
===================================================================
RCS file: /cvsroot/freevo/freevo/contrib/rpm/python-twisted.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** python-twisted.spec 16 Sep 2003 02:09:54 -0000      1.1
--- python-twisted.spec 17 Sep 2003 09:15:28 -0000      1.2
***************
*** 4,8 ****
  Name: python-twisted
  Version: 1.0.7
! Release: 1
  Source0: Twisted-%{version}.tar.bz2
  License: LGPL
--- 4,8 ----
  Name: python-twisted
  Version: 1.0.7
! Release: 1_freevo
  Source0: Twisted-%{version}.tar.bz2
  License: LGPL




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to