diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-03-11 03:35:17 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-03-11 03:35:17 +0000 |
commit | 75308e4b5b213801ebe626558dd5efae79d21aef (patch) | |
tree | 3a1a055762b4f14821f2cea317fbeaf41cb222d4 /media-libs | |
parent | old (diff) | |
download | gentoo-2-75308e4b5b213801ebe626558dd5efae79d21aef.tar.gz gentoo-2-75308e4b5b213801ebe626558dd5efae79d21aef.tar.bz2 gentoo-2-75308e4b5b213801ebe626558dd5efae79d21aef.zip |
just use the 1.2.8 libcaca patch #123634
(Portage version: 2.1_pre5-r4)
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/libsdl/files/1.2.7-libcaca.patch | 792 | ||||
-rw-r--r-- | media-libs/libsdl/libsdl-1.2.7-r3.ebuild | 12 |
2 files changed, 6 insertions, 798 deletions
diff --git a/media-libs/libsdl/files/1.2.7-libcaca.patch b/media-libs/libsdl/files/1.2.7-libcaca.patch deleted file mode 100644 index 8b6daf3244e7..000000000000 --- a/media-libs/libsdl/files/1.2.7-libcaca.patch +++ /dev/null @@ -1,792 +0,0 @@ -diff -r -P -c -C 4 SDL-1.2.6/configure.in SDL-1.2.6.patched/configure.in -*** SDL-1.2.6.orig/configure.in Sat Aug 30 15:13:18 2003 ---- SDL-1.2.6/configure.in Mon Feb 2 16:05:08 2004 -*************** -*** 951,958 **** ---- 951,984 ---- - fi - fi - } - -+ dnl Find the libcaca includes -+ CheckCaca() -+ { -+ AC_ARG_ENABLE(video-caca, -+ [ --enable-video-caca use libcaca video driver [default=no]], -+ , enable_video_caca=no) -+ if test x$enable_video = xyes -a x$enable_video_caca = xyes; then -+ AC_MSG_CHECKING(for libcaca support) -+ video_caca=no -+ AC_TRY_COMPILE([ -+ #include <caca.h> -+ ],[ -+ ],[ -+ video_caca=yes -+ ]) -+ AC_MSG_RESULT($video_caca) -+ if test x$video_caca = xyes; then -+ CFLAGS="$CFLAGS -DENABLE_CACA `caca-config --cflags`" -+ SYSTEM_LIBS="$SYSTEM_LIBS `caca-config --plugin-libs`" -+ -+ VIDEO_SUBDIRS="$VIDEO_SUBDIRS caca" -+ VIDEO_DRIVERS="$VIDEO_DRIVERS caca/libvideo_caca.la" -+ fi -+ fi -+ } -+ - dnl Set up the Atari Xbios driver - CheckAtariXbiosVideo() - { - AC_ARG_ENABLE(xbios, -*************** -*** 1731,1738 **** ---- 1757,1765 ---- - CheckPS2GS - CheckGGI - CheckSVGA - CheckAAlib -+ CheckCaca - CheckQtopia - CheckPicoGUI - CheckOpenGL - CheckInputEvents -*************** -*** 1784,1791 **** ---- 1811,1819 ---- - CheckX11 - CheckDGA - CheckSVGA - CheckAAlib -+ CheckCaca - CheckOpenGL - CheckPTHREAD - # Set up files for the main() stub - COPY_ARCH_SRC(src/main, linux, SDL_main.c) -*************** -*** 1830,1837 **** ---- 1858,1866 ---- - CheckX11 - CheckDGA - CheckSVGA - CheckAAlib -+ CheckCaca - CheckOpenGL - CheckPTHREAD - CheckUSBHID - # Set up files for the main() stub -*************** -*** 1868,1875 **** ---- 1897,1905 ---- - CheckESD - CheckNAS - CheckX11 - CheckAAlib -+ CheckCaca - CheckOpenGL - CheckPTHREAD - CheckUSBHID - # Set up files for the main() stub -*************** -*** 1910,1917 **** ---- 1940,1948 ---- - CheckESD - CheckNAS - CheckX11 - CheckAAlib -+ CheckCaca - CheckOpenGL - CheckPTHREAD - CheckUSBHID - # Set up files for the main() stub -*************** -*** 1953,1960 **** ---- 1984,1992 ---- - CheckESD - CheckNAS - CheckX11 - CheckAAlib -+ CheckCaca - CheckOpenGL - CheckPTHREAD - # Set up files for the main() stub - COPY_ARCH_SRC(src/main, linux, SDL_main.c) -*************** -*** 1996,2003 **** ---- 2028,2036 ---- - CheckESD - CheckNAS - CheckX11 - CheckAAlib -+ CheckCaca - CheckOpenGL - CheckPTHREAD - # Set up files for the main() stub - COPY_ARCH_SRC(src/main, linux, SDL_main.c) -*************** -*** 2036,2043 **** ---- 2069,2077 ---- - CheckESD - CheckNAS - CheckX11 - CheckAAlib -+ CheckCaca - CheckOpenGL - CheckPTHREAD - # Set up files for the main() stub - COPY_ARCH_SRC(src/main, linux, SDL_main.c) -*************** -*** 2088,2095 **** ---- 2122,2130 ---- - CheckNAS - CheckX11 - CheckGGI - CheckAAlib -+ CheckCaca - CheckOpenGL - CheckPTHREAD - # Set up files for the main() stub - COPY_ARCH_SRC(src/main, linux, SDL_main.c) -*************** -*** 2129,2136 **** ---- 2164,2172 ---- - CheckNAS - CheckX11 - CheckGGI - CheckAAlib -+ CheckCaca - CheckOpenGL - CheckPTHREAD - # Set up files for the main() stub - COPY_ARCH_SRC(src/main, linux, SDL_main.c) -*************** -*** 2167,2174 **** ---- 2203,2211 ---- - CheckNAS - CheckX11 - CheckGGI - CheckAAlib -+ CheckCaca - CheckOpenGL - CheckPTHREAD - SDL_LIBS="$SDL_LIBS -lrt" - # Set up files for the main() stub -*************** -*** 2674,2681 **** ---- 2711,2719 ---- - src/video/Makefile - src/video/aalib/Makefile - src/video/ataricommon/Makefile - src/video/bwindow/Makefile -+ src/video/caca/Makefile - src/video/cybergfx/Makefile - src/video/dc/Makefile - src/video/dga/Makefile - src/video/directfb/Makefile -diff -r -P -c -C 4 SDL-1.2.6/src/video/Makefile.am SDL-1.2.6.patched/src/video/Makefile.am -*** SDL-1.2.6.orig/src/video/Makefile.am Sat Aug 30 15:13:06 2003 ---- SDL-1.2.6/src/video/Makefile.am Mon Feb 2 16:05:32 2004 -*************** -*** 4,12 **** - noinst_LTLIBRARIES = libvideo.la - - # Define which subdirectories need to be built - SUBDIRS = @VIDEO_SUBDIRS@ -! DIST_SUBDIRS = dummy x11 dga nanox fbcon directfb vgl svga ggi aalib \ - wincommon windib windx5 \ - maccommon macdsp macrom riscos quartz \ - bwindow ps2gs photon cybergfx epoc picogui \ - ataricommon xbios gem dc qtopia XFree86 ---- 4,12 ---- - noinst_LTLIBRARIES = libvideo.la - - # Define which subdirectories need to be built - SUBDIRS = @VIDEO_SUBDIRS@ -! DIST_SUBDIRS = dummy x11 dga nanox fbcon directfb vgl svga ggi aalib caca \ - wincommon windib windx5 \ - maccommon macdsp macrom riscos quartz \ - bwindow ps2gs photon cybergfx epoc picogui \ - ataricommon xbios gem dc qtopia XFree86 -diff -r -P -c -C 4 SDL-1.2.6/src/video/SDL_sysvideo.h SDL-1.2.6.patched/src/video/SDL_sysvideo.h -*** SDL-1.2.6.orig/src/video/SDL_sysvideo.h Sat Aug 30 15:13:07 2003 ---- SDL-1.2.6/src/video/SDL_sysvideo.h Mon Feb 2 16:07:24 2004 -*************** -*** 358,365 **** ---- 358,368 ---- - #endif - #ifdef ENABLE_AALIB - extern VideoBootStrap AALIB_bootstrap; - #endif -+ #ifdef ENABLE_CACA -+ extern VideoBootStrap Caca_bootstrap; -+ #endif - #ifdef ENABLE_WINDIB - extern VideoBootStrap WINDIB_bootstrap; - #endif - #ifdef ENABLE_DIRECTX -diff -r -P -c -C 4 SDL-1.2.6/src/video/SDL_video.c SDL-1.2.6.patched/src/video/SDL_video.c -*** SDL-1.2.6.orig/src/video/SDL_video.c Sat Aug 30 15:13:07 2003 ---- SDL-1.2.6/src/video/SDL_video.c Mon Feb 2 16:08:14 2004 -*************** -*** 77,84 **** ---- 77,87 ---- - #endif - #ifdef ENABLE_AALIB - &AALIB_bootstrap, - #endif -+ #ifdef ENABLE_CACA -+ &Caca_bootstrap, -+ #endif - #ifdef ENABLE_DIRECTX - &DIRECTX_bootstrap, - #endif - #ifdef ENABLE_WINDIB -diff -r -P -c -C 4 SDL-1.2.6/src/video/caca/Makefile.am SDL-1.2.6.patched/src/video/caca/Makefile.am -*** SDL-1.2.6.orig/src/video/caca/Makefile.am Wed Dec 31 19:00:00 1969 ---- SDL-1.2.6/src/video/caca/Makefile.am Mon Feb 2 16:21:54 2004 -*************** -*** 0 **** ---- 1,13 ---- -+ -+ ## Makefile.am for SDL using the libcaca video driver -+ -+ noinst_LTLIBRARIES = libvideo_caca.la -+ libvideo_caca_la_SOURCES = $(CACA_SRCS) -+ -+ # The SDL libcaca video driver sources -+ CACA_SRCS = \ -+ SDL_cacavideo.h \ -+ SDL_cacaevents.c \ -+ SDL_cacaevents_c.h \ -+ SDL_cacavideo.c -+ -diff -r -P -c -C 4 SDL-1.2.6/src/video/caca/SDL_cacaevents.c SDL-1.2.6.patched/src/video/caca/SDL_cacaevents.c -*** SDL-1.2.6.orig/src/video/caca/SDL_cacaevents.c Wed Dec 31 19:00:00 1969 ---- SDL-1.2.6/src/video/caca/SDL_cacaevents.c Mon Feb 2 16:22:30 2004 -*************** -*** 0 **** ---- 1,98 ---- -+ /* -+ 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 -+ slouken@libsdl.org -+ */ -+ -+ #ifdef SAVE_RCSID -+ static char rcsid = -+ "@(#) $Id: 1.2.7-libcaca.patch,v 1.1 2004/04/18 21:50:31 vapier Exp $"; -+ #endif -+ -+ #include <stdio.h> -+ -+ #include <caca.h> -+ -+ #include "SDL.h" -+ #include "SDL_sysevents.h" -+ #include "SDL_events_c.h" -+ #include "SDL_cacavideo.h" -+ #include "SDL_cacaevents_c.h" -+ -+ void Caca_PumpEvents(_THIS) -+ { -+ int posted = 0; -+ int event; -+ SDL_keysym keysym; -+ -+ if( ! this->screen ) /* Wait till we got the screen initialised */ -+ return; -+ -+ do { -+ posted = 0; -+ -+ /* Get libcaca event */ -+ SDL_mutexP(Caca_mutex); -+ event = caca_get_event(CACA_EVENT_ANY); -+ SDL_mutexV(Caca_mutex); -+ -+ if ( event & (CACA_EVENT_KEY_PRESS | CACA_EVENT_KEY_RELEASE)) { -+ int key; -+ switch ( event & 0xffffff ) -+ { -+ case CACA_KEY_LEFT: key = SDLK_LEFT; break; -+ case CACA_KEY_RIGHT: key = SDLK_RIGHT; break; -+ case CACA_KEY_UP: key = SDLK_UP; break; -+ case CACA_KEY_DOWN: key = SDLK_DOWN; break; -+ default: key = event & 0xff; break; -+ } -+ /* Key pressed */ -+ /* printf("Key pressed: %d (%c)\n", key, key); */ -+ keysym.scancode = key; -+ keysym.sym = key; -+ keysym.mod = KMOD_NONE; -+ keysym.unicode = 0; -+ if ( SDL_TranslateUNICODE ) { -+ keysym.unicode = key; -+ } -+ posted += SDL_PrivateKeyboard((event & CACA_EVENT_KEY_PRESS) ? SDL_PRESSED : SDL_RELEASED, &keysym); -+ } -+ else if ( event & (CACA_EVENT_MOUSE_PRESS | CACA_EVENT_MOUSE_RELEASE) ) { -+ /* FIXME: we currently ignore the button type! */ -+ int button = event & 0x00ffffff; -+ if ( button > 3 ) { -+ button = 1; -+ } -+ posted += SDL_PrivateMouseButton((event & CACA_EVENT_MOUSE_PRESS) ? SDL_PRESSED : SDL_RELEASED, button, 0, 0); -+ } -+ else if ( event & CACA_EVENT_MOUSE_MOTION ) { -+ int new_x = 0, new_y = 0; -+ new_x = ((event & 0x00fff000) >> 12) * Caca_w / caca_get_width(); -+ new_y = ((event & 0x00000fff) >> 0) * Caca_h / caca_get_height(); -+ posted += SDL_PrivateMouseMotion(0, 0, new_x, new_y); -+ } -+ } while ( posted ); -+ } -+ -+ void Caca_InitOSKeymap(_THIS) -+ { -+ return; -+ } -+ -+ -diff -r -P -c -C 4 SDL-1.2.6/src/video/caca/SDL_cacaevents_c.h SDL-1.2.6.patched/src/video/caca/SDL_cacaevents_c.h -*** SDL-1.2.6.orig/src/video/caca/SDL_cacaevents_c.h Wed Dec 31 19:00:00 1969 ---- SDL-1.2.6/src/video/caca/SDL_cacaevents_c.h Mon Feb 2 16:13:06 2004 -*************** -*** 0 **** ---- 1,35 ---- -+ /* -+ 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 -+ slouken@libsdl.org -+ */ -+ -+ #ifdef SAVE_RCSID -+ static char rcsid = -+ "@(#) $Id: 1.2.7-libcaca.patch,v 1.1 2004/04/18 21:50:31 vapier Exp $"; -+ #endif -+ -+ #include "SDL_cacavideo.h" -+ -+ /* Variables and functions exported by SDL_sysevents.c to other parts. -+ of the native video subsystem (SDL_sysvideo.c) -+ */ -+ extern void Caca_PumpEvents(_THIS); -+ extern void Caca_InitOSKeymap(_THIS); -+ -diff -r -P -c -C 4 SDL-1.2.6/src/video/caca/SDL_cacavideo.c SDL-1.2.6.patched/src/video/caca/SDL_cacavideo.c -*** SDL-1.2.6.orig/src/video/caca/SDL_cacavideo.c Wed Dec 31 19:00:00 1969 ---- SDL-1.2.6/src/video/caca/SDL_cacavideo.c Mon Feb 2 16:15:22 2004 -*************** -*** 0 **** ---- 1,301 ---- -+ /* -+ SDL - Simple DirectMedia Layer -+ Copyright (C) 2003 Sam Hocevar -+ -+ 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 Hocevar -+ sam@zoy.org -+ */ -+ -+ #ifdef SAVE_RCSID -+ static char rcsid = -+ "@(#) $Id: 1.2.7-libcaca.patch,v 1.1 2004/04/18 21:50:31 vapier Exp $"; -+ #endif -+ -+ /* libcaca based SDL video driver implementation. -+ */ -+ -+ #include <stdlib.h> -+ #include <stdio.h> -+ #include <string.h> -+ #include <unistd.h> -+ #include <sys/stat.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_cacavideo.h" -+ #include "SDL_cacaevents_c.h" -+ -+ #include <caca.h> -+ -+ /* Initialization/Query functions */ -+ static int Caca_VideoInit(_THIS, SDL_PixelFormat *vformat); -+ static SDL_Rect **Caca_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags); -+ static SDL_Surface *Caca_SetVideoMode(_THIS, SDL_Surface *current, int width, int height, int bpp, Uint32 flags); -+ static void Caca_VideoQuit(_THIS); -+ -+ /* Hardware surface functions */ -+ static int Caca_AllocHWSurface(_THIS, SDL_Surface *surface); -+ static int Caca_LockHWSurface(_THIS, SDL_Surface *surface); -+ static int Caca_FlipHWSurface(_THIS, SDL_Surface *surface); -+ static void Caca_UnlockHWSurface(_THIS, SDL_Surface *surface); -+ static void Caca_FreeHWSurface(_THIS, SDL_Surface *surface); -+ -+ /* Cache the VideoDevice struct */ -+ static struct SDL_VideoDevice *local_this; -+ -+ /* libcaca driver bootstrap functions */ -+ -+ static int Caca_Available(void) -+ { -+ return 1; /* Always available ! */ -+ } -+ -+ static void Caca_DeleteDevice(SDL_VideoDevice *device) -+ { -+ free(device->hidden); -+ free(device); -+ } -+ static SDL_VideoDevice *Caca_CreateDevice(int devindex) -+ { -+ SDL_VideoDevice *device; -+ -+ /* Initialize all variables that we clean on shutdown */ -+ device = (SDL_VideoDevice *)malloc(sizeof(SDL_VideoDevice)); -+ if ( device ) { -+ memset(device, 0, (sizeof *device)); -+ device->hidden = (struct SDL_PrivateVideoData *) -+ malloc((sizeof *device->hidden)); -+ } -+ if ( (device == NULL) || (device->hidden == NULL) ) { -+ SDL_OutOfMemory(); -+ if ( device ) { -+ free(device); -+ } -+ return(0); -+ } -+ memset(device->hidden, 0, (sizeof *device->hidden)); -+ -+ /* Set the function pointers */ -+ device->VideoInit = Caca_VideoInit; -+ device->ListModes = Caca_ListModes; -+ device->SetVideoMode = Caca_SetVideoMode; -+ device->CreateYUVOverlay = NULL; -+ device->SetColors = NULL; -+ device->UpdateRects = NULL; -+ device->VideoQuit = Caca_VideoQuit; -+ device->AllocHWSurface = Caca_AllocHWSurface; -+ device->CheckHWBlit = NULL; -+ device->FillHWRect = NULL; -+ device->SetHWColorKey = NULL; -+ device->SetHWAlpha = NULL; -+ device->LockHWSurface = Caca_LockHWSurface; -+ device->UnlockHWSurface = Caca_UnlockHWSurface; -+ device->FlipHWSurface = NULL; -+ device->FreeHWSurface = Caca_FreeHWSurface; -+ device->SetCaption = NULL; -+ device->SetIcon = NULL; -+ device->IconifyWindow = NULL; -+ device->GrabInput = NULL; -+ device->GetWMInfo = NULL; -+ device->InitOSKeymap = Caca_InitOSKeymap; -+ device->PumpEvents = Caca_PumpEvents; -+ -+ device->free = Caca_DeleteDevice; -+ -+ return device; -+ } -+ -+ VideoBootStrap Caca_bootstrap = { -+ "caca", "Color ASCII Art Library", -+ Caca_Available, Caca_CreateDevice -+ }; -+ -+ int Caca_VideoInit(_THIS, SDL_PixelFormat *vformat) -+ { -+ int i; -+ -+ /* Initialize all variables that we clean on shutdown */ -+ for ( i=0; i<SDL_NUMMODES; ++i ) { -+ SDL_modelist[i] = malloc(sizeof(SDL_Rect)); -+ SDL_modelist[i]->x = SDL_modelist[i]->y = 0; -+ } -+ /* Modes sorted largest to smallest */ -+ SDL_modelist[0]->w = 1024; SDL_modelist[0]->h = 768; -+ SDL_modelist[1]->w = 800; SDL_modelist[1]->h = 600; -+ SDL_modelist[2]->w = 640; SDL_modelist[2]->h = 480; -+ SDL_modelist[3]->w = 320; SDL_modelist[3]->h = 400; -+ SDL_modelist[4]->w = 320; SDL_modelist[4]->h = 240; -+ SDL_modelist[5]->w = 320; SDL_modelist[5]->h = 200; -+ SDL_modelist[6] = NULL; -+ -+ Caca_mutex = SDL_CreateMutex(); -+ -+ /* Initialize the library */ -+ if ( caca_init() != 0 ) { -+ SDL_SetError("Unable to initialize libcaca"); -+ return(-1); -+ } -+ -+ /* Initialize private variables */ -+ Caca_lastkey = 0; -+ Caca_bitmap = NULL; -+ Caca_buffer = NULL; -+ -+ local_this = this; -+ -+ /* Determine the screen depth (use default 8-bit depth) */ -+ vformat->BitsPerPixel = 8; -+ vformat->BytesPerPixel = 1; -+ -+ /* We're done! */ -+ return(0); -+ } -+ -+ SDL_Rect **Caca_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags) -+ { -+ if(format->BitsPerPixel != 8) -+ return NULL; -+ -+ if ( flags & SDL_FULLSCREEN ) { -+ return SDL_modelist; -+ } else { -+ return (SDL_Rect **) -1; -+ } -+ } -+ -+ /* Various screen update functions available */ -+ static void Caca_DirectUpdate(_THIS, int numrects, SDL_Rect *rects); -+ -+ SDL_Surface *Caca_SetVideoMode(_THIS, SDL_Surface *current, -+ int width, int height, int bpp, Uint32 flags) -+ { -+ if ( Caca_buffer ) { -+ free( Caca_buffer ); -+ Caca_buffer = NULL; -+ } -+ -+ if ( Caca_bitmap ) { -+ caca_free_bitmap( Caca_bitmap ); -+ Caca_bitmap = NULL; -+ } -+ -+ Caca_buffer = malloc(2 * ((width + 15) & ~15) * height); -+ if ( ! Caca_buffer ) { -+ SDL_SetError("Couldn't allocate buffer for requested mode"); -+ return(NULL); -+ } -+ -+ memset(Caca_buffer, 0, 2 * ((width + 15) & ~15) * height); -+ -+ /* Allocate the new pixel format for the screen */ -+ if ( ! SDL_ReallocFormat(current, 16, 0xf800, 0x07e0, 0x001f, 0) ) { -+ return(NULL); -+ } -+ -+ /* Set up the new mode framebuffer */ -+ current->flags = SDL_FULLSCREEN; -+ Caca_w = current->w = width; -+ Caca_h = current->h = height; -+ current->pitch = 2 * ((width + 15) & ~15); -+ current->pixels = Caca_buffer; -+ -+ /* Create the libcaca bitmap */ -+ Caca_bitmap = caca_create_bitmap( 16, width, height, current->pitch, 0xf800, 0x07e0, 0x001f, 0x0000 ); -+ if ( ! Caca_bitmap ) { -+ SDL_SetError("Couldn't allocate libcaca bitmap"); -+ return(NULL); -+ } -+ -+ /* Set the blit function */ -+ this->UpdateRects = Caca_DirectUpdate; -+ -+ /* We're done */ -+ return(current); -+ } -+ -+ /* We don't actually allow hardware surfaces other than the main one */ -+ static int Caca_AllocHWSurface(_THIS, SDL_Surface *surface) -+ { -+ return(-1); -+ } -+ static void Caca_FreeHWSurface(_THIS, SDL_Surface *surface) -+ { -+ return; -+ } -+ -+ /* We need to wait for vertical retrace on page flipped displays */ -+ static int Caca_LockHWSurface(_THIS, SDL_Surface *surface) -+ { -+ /* TODO ? */ -+ return(0); -+ } -+ static void Caca_UnlockHWSurface(_THIS, SDL_Surface *surface) -+ { -+ return; -+ } -+ -+ /* FIXME: How is this done with libcaca? */ -+ static int Caca_FlipHWSurface(_THIS, SDL_Surface *surface) -+ { -+ SDL_mutexP(Caca_mutex); -+ caca_refresh(); -+ SDL_mutexV(Caca_mutex); -+ return(0); -+ } -+ -+ static void Caca_DirectUpdate(_THIS, int numrects, SDL_Rect *rects) -+ { -+ SDL_mutexP(Caca_mutex); -+ caca_draw_bitmap( 0, 0, caca_get_width() - 1, caca_get_height() - 1, -+ Caca_bitmap, Caca_buffer ); -+ caca_refresh(); -+ SDL_mutexV(Caca_mutex); -+ return; -+ } -+ -+ /* Note: If we are terminated, this could be called in the middle of -+ another SDL video routine -- notably UpdateRects. -+ */ -+ void Caca_VideoQuit(_THIS) -+ { -+ int i; -+ -+ /* Free video mode lists */ -+ for ( i=0; i<SDL_NUMMODES; ++i ) { -+ if ( SDL_modelist[i] != NULL ) { -+ free(SDL_modelist[i]); -+ SDL_modelist[i] = NULL; -+ } -+ } -+ -+ if ( Caca_bitmap ) { -+ caca_free_bitmap( Caca_bitmap ); -+ Caca_bitmap = NULL; -+ } -+ -+ caca_end(); -+ -+ SDL_DestroyMutex(Caca_mutex); -+ } -+ -diff -r -P -c -C 4 SDL-1.2.6/src/video/caca/SDL_cacavideo.h SDL-1.2.6.patched/src/video/caca/SDL_cacavideo.h -*** SDL-1.2.6.orig/src/video/caca/SDL_cacavideo.h Wed Dec 31 19:00:00 1969 ---- SDL-1.2.6/src/video/caca/SDL_cacavideo.h Mon Feb 2 16:21:27 2004 -*************** -*** 0 **** ---- 1,73 ---- -+ /* -+ SDL - Simple DirectMedia Layer -+ Copyright (C) 2003 Sam Hocevar -+ -+ 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 Hocevar -+ sam@zoy.org -+ */ -+ -+ #ifdef SAVE_RCSID -+ static char rcsid = -+ "@(#) $Id: 1.2.7-libcaca.patch,v 1.1 2004/04/18 21:50:31 vapier Exp $"; -+ #endif -+ -+ #ifndef _SDL_cacavideo_h -+ #define _SDL_cacavideo_h -+ -+ #include "SDL_mouse.h" -+ #include "SDL_sysvideo.h" -+ #include "SDL_mutex.h" -+ -+ #include <sys/time.h> -+ #include <time.h> -+ -+ #include <caca.h> -+ -+ /* Hidden "this" pointer for the video functions */ -+ #define _THIS SDL_VideoDevice *this -+ -+ #define SDL_NUMMODES 6 -+ -+ /* Private display data */ -+ struct SDL_PrivateVideoData { -+ SDL_Rect *SDL_modelist[SDL_NUMMODES+1]; -+ SDL_mutex *mutex; -+ -+ struct caca_bitmap *bitmap; -+ void *buffer; -+ int w, h; -+ -+ int lastkey; -+ struct timeval lasttime; -+ }; -+ -+ /* Old variable names */ -+ #define SDL_modelist (this->hidden->SDL_modelist) -+ #define Caca_palette (this->hidden->palette) -+ #define Caca_bitmap (this->hidden->bitmap) -+ #define Caca_buffer (this->hidden->buffer) -+ -+ #define Caca_w (this->hidden->w) -+ #define Caca_h (this->hidden->h) -+ -+ #define Caca_lastkey (this->hidden->lastkey) -+ #define Caca_lasttime (this->hidden->lasttime) -+ -+ #define Caca_mutex (this->hidden->mutex) -+ -+ #endif /* _SDL_cacavideo_h */ -+ diff --git a/media-libs/libsdl/libsdl-1.2.7-r3.ebuild b/media-libs/libsdl/libsdl-1.2.7-r3.ebuild index 26e2304261fa..9da2c633715b 100644 --- a/media-libs/libsdl/libsdl-1.2.7-r3.ebuild +++ b/media-libs/libsdl/libsdl-1.2.7-r3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/libsdl-1.2.7-r3.ebuild,v 1.13 2006/01/30 05:58:28 mr_bones_ Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/libsdl-1.2.7-r3.ebuild,v 1.14 2006/03/11 03:35:17 vapier Exp $ inherit toolchain-funcs fixheadtails eutils gnuconfig flag-o-matic @@ -66,12 +66,12 @@ src_unpack() { unpack ${A} cd "${S}" - epatch "${FILESDIR}/${PV}-nobuggy-X.patch" #30089 - epatch "${FILESDIR}/${PV}-libcaca.patch" #40224 + epatch "${FILESDIR}"/${PV}-nobuggy-X.patch #30089 + epatch "${FILESDIR}"/${PN}-1.2.8-libcaca.patch #40224 [ "$(gcc-major-version)" != "2" ] \ - && epatch "${FILESDIR}/${PV}-gcc34.patch" #48947 - epatch "${FILESDIR}/${PV}-joystick2.patch" #52833 - epatch "${FILESDIR}/${PV}-26headers.patch" #58192 + && epatch "${FILESDIR}"/${PV}-gcc34.patch #48947 + epatch "${FILESDIR}"/${PV}-joystick2.patch #52833 + epatch "${FILESDIR}"/${PV}-26headers.patch #58192 epatch "${FILESDIR}"/1.2.8-keyrepeat.patch #76448 ht_fix_file configure.in |