I think I've successfully converted the current unstable package so that
libsdl1.2debian-all includes DirectFB support. Patch attached. Please
excuse me if I've made any mistakes; I'm not very familiar with package
rolling. This should also still build if and when the libdirectfb
packages get upgraded to 0.9.24.

FWIW I wanted DirectFB support so I could use the existing pygame
package for a HTPC application I'm writing. This may also be useful for
Freevo.

-- 
TH * http://www.realh.co.uk
diff -Nru ../orig/libsdl1.2-1.2.9/debian/changelog 
libsdl1.2-1.2.9/debian/changelog
--- ../orig/libsdl1.2-1.2.9/debian/changelog    2006-02-22 00:00:46.000000000 
+0000
+++ libsdl1.2-1.2.9/debian/changelog    2006-02-22 00:01:28.000000000 +0000
@@ -1,3 +1,9 @@
+libsdl1.2 (1.2.9-1.0) unstable; urgency=low
+
+  * Added directfb support to "all" package.
+
+ -- Tony Houghton <[EMAIL PROTECTED]>  Tue, 21 Feb 2006 21:38:00 +0000
+
 libsdl1.2 (1.2.9-0.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru ../orig/libsdl1.2-1.2.9/debian/control libsdl1.2-1.2.9/debian/control
--- ../orig/libsdl1.2-1.2.9/debian/control      2006-02-22 00:00:46.000000000 
+0000
+++ libsdl1.2-1.2.9/debian/control      2006-02-22 00:01:28.000000000 +0000
@@ -4,7 +4,7 @@
 Maintainer: Debian SDL maintainers <[EMAIL PROTECTED]>
 Uploaders: Matthew Danish <[EMAIL PROTECTED]>, Zephaniah E. Hull <[EMAIL 
PROTECTED]>, Lawrence Williams <[EMAIL PROTECTED]>
 Standards-Version: 3.6.1
-Build-Depends: dpkg (>= 1.13.2), debhelper (>= 4.0), dbs, libaa1-dev, 
libx11-dev, libxext-dev, libxt-dev, libxv-dev, x-dev, libaudiofile-dev, 
libesd0-dev, xlibmesa-gl-dev | libgl-dev, libsvga1-dev [i386], libarts1-dev, 
libartsc0-dev, libasound2-dev [ ppc64], type-handling (>= 0.2.1), libaudio-dev, 
automake1.7
+Build-Depends: dpkg (>= 1.13.2), debhelper (>= 4.0), dbs, libaa1-dev, 
libx11-dev, libxext-dev, libxt-dev, libxv-dev, x-dev, libaudiofile-dev, 
libesd0-dev, xlibmesa-gl-dev | libgl-dev, libsvga1-dev [i386], libarts1-dev, 
libartsc0-dev, libasound2-dev [i386 ia64 alpha amd64 armeb arm hppa m32r m68k 
mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc ppc64], 
type-handling (>= 0.2.1), libaudio-dev, automake1.7, libdirectfb-dev (>= 0.9.22)
 
 Package: libsdl1.2debian
 Architecture: any
diff -Nru ../orig/libsdl1.2-1.2.9/debian/control.in 
libsdl1.2-1.2.9/debian/control.in
--- ../orig/libsdl1.2-1.2.9/debian/control.in   2006-02-22 00:00:46.000000000 
+0000
+++ libsdl1.2-1.2.9/debian/control.in   2006-02-22 00:01:28.000000000 +0000
@@ -4,7 +4,7 @@
 Maintainer: Debian SDL maintainers <[EMAIL PROTECTED]>
 Uploaders: Matthew Danish <[EMAIL PROTECTED]>, Zephaniah E. Hull <[EMAIL 
PROTECTED]>, Lawrence Williams <[EMAIL PROTECTED]>
 Standards-Version: 3.6.1
-Build-Depends: dpkg (>= 1.13.2), debhelper (>= 4.0), dbs, libaa1-dev, 
libx11-dev, libxext-dev, libxt-dev, libxv-dev, x-dev, libaudiofile-dev, 
libesd0-dev, xlibmesa-gl-dev | libgl-dev, libsvga1-dev [i386], libarts1-dev, 
libartsc0-dev, libasound2-dev [EMAIL PROTECTED]@ ppc64], type-handling (>= 
0.2.1), libaudio-dev, automake1.7
+Build-Depends: dpkg (>= 1.13.2), debhelper (>= 4.0), dbs, libaa1-dev, 
libx11-dev, libxext-dev, libxt-dev, libxv-dev, x-dev, libaudiofile-dev, 
libesd0-dev, xlibmesa-gl-dev | libgl-dev, libsvga1-dev [i386], libarts1-dev, 
libartsc0-dev, libasound2-dev [EMAIL PROTECTED]@ ppc64], type-handling (>= 
0.2.1), libaudio-dev, automake1.7, libdirectfb-dev (>= 0.9.22)
 
 Package: libsdl1.2debian
 Architecture: any
diff -Nru ../orig/libsdl1.2-1.2.9/debian/patches/007_directfb_924_fix.diff 
libsdl1.2-1.2.9/debian/patches/007_directfb_924_fix.diff
--- ../orig/libsdl1.2-1.2.9/debian/patches/007_directfb_924_fix.diff    
1970-01-01 01:00:00.000000000 +0100
+++ libsdl1.2-1.2.9/debian/patches/007_directfb_924_fix.diff    2006-02-22 
00:01:28.000000000 +0000
@@ -0,0 +1,59 @@
+--- SDL-1.2.9/src/video/directfb/SDL_DirectFB_video.c.orig     2006-02-21 
22:37:59.000000000 +0000
++++ SDL-1.2.9/src/video/directfb/SDL_DirectFB_video.c  2006-02-21 
22:38:18.000000000 +0000
+@@ -40,6 +40,7 @@
+ #include <sys/mman.h>
+ 
+ #include <directfb.h>
++#include <directfb_version.h>
+ 
+ #include "SDL.h"
+ #include "SDL_error.h"
+@@ -52,6 +53,12 @@
+ #include "SDL_DirectFB_events.h"
+ #include "SDL_DirectFB_yuv.h"
+ 
++#if DIRECTFB_MAJOR_VERSION > 0 || DIRECTFB_MINOR_VERSION > 9 || 
DIRECTFB_MICRO_VERSION > 23
++#define SDL_DFB_API_STYLE 24
++#else
++#define SDL_DFB_API_STYLE 22
++#endif
++
+ /* The implementation dependent data for the window manager cursor */
+ struct WMcursor {
+       int unused;
+@@ -376,7 +383,11 @@
+ {
+   int                      i;
+   DFBResult                ret;
++#if SDL_DFB_API_STYLE == 24
++  DFBGraphicsDeviceDescription desc;
++#else
+   DFBCardCapabilities      caps;
++#endif
+   DFBDisplayLayerConfig    dlc;
+   struct DirectFBEnumRect *rect;
+   IDirectFB               *dfb    = NULL;
+@@ -448,7 +459,11 @@
+ 
+ 
+   /* Query card capabilities to get the video memory size */
++#if SDL_DFB_API_STYLE == 24
++  dfb->GetDeviceDescription (dfb, &desc);
++#else
+   dfb->GetCardCapabilities (dfb, &caps);
++#endif
+ 
+   this->info.wm_available = 1;
+   this->info.hw_available = 1;
+@@ -456,7 +471,11 @@
+   this->info.blit_hw_CC   = 1;
+   this->info.blit_hw_A    = 1;
+   this->info.blit_fill    = 1;
++#if SDL_DFB_API_STYLE == 24
++  this->info.video_mem    = desc.video_memory / 1024;
++#else
+   this->info.video_mem    = caps.video_memory / 1024;
++#endif
+ 
+   HIDDEN->initialized = 1;
+   HIDDEN->dfb         = dfb;
diff -Nru ../orig/libsdl1.2-1.2.9/debian/rules libsdl1.2-1.2.9/debian/rules
--- ../orig/libsdl1.2-1.2.9/debian/rules        2006-02-22 00:00:46.000000000 
+0000
+++ libsdl1.2-1.2.9/debian/rules        2006-02-22 00:01:28.000000000 +0000
@@ -64,7 +64,7 @@
 
        for sound in all $(SOUNDS); do \
                if ( [ "$$sound" = "all" ] ); then \
-                       SWITCHES="--disable-video-ggi --enable-video-svga 
--enable-video-aalib"; \
+                       SWITCHES="--disable-video-ggi --enable-video-svga 
--enable-video-aalib --enable-video-directfb"; \
                else \
                        SWITCHES=""; \
                        for switch in $(SOUNDS); do \

Reply via email to