[directfb] Update to 1.4.11

Nicolas Chauvet kwizart at fedoraproject.org
Sat Nov 27 18:51:20 UTC 2010


commit 3e25961c7b75c55b0dfdd142c8780368583fffc5
Author: Nicolas Chauvet <kwizart at gmail.com>
Date:   Sat Nov 27 19:51:16 2010 +0100

    Update to 1.4.11

 DirectFB-1.4.11-cflags.patch                       |   20 +++
 DirectFB-1.4.11-header.patch                       |   38 +++++
 ...7-libv4l2.patch => DirectFB-1.4.11-libv4l.patch |  151 +++++++-------------
 directfb.spec                                      |   17 ++-
 4 files changed, 124 insertions(+), 102 deletions(-)
---
diff --git a/DirectFB-1.4.11-cflags.patch b/DirectFB-1.4.11-cflags.patch
new file mode 100644
index 0000000..ff1429e
--- /dev/null
+++ b/DirectFB-1.4.11-cflags.patch
@@ -0,0 +1,20 @@
+diff -up DirectFB-1.4.11/configure.in.cflags DirectFB-1.4.11/configure.in
+--- DirectFB-1.4.11/configure.in.cflags	2010-11-27 19:28:34.866252742 +0100
++++ DirectFB-1.4.11/configure.in	2010-11-27 19:38:36.834159439 +0100
+@@ -145,13 +145,11 @@ AM_CONDITIONAL(X11_CORE, test "$enable_x
+ AC_CHECK_HEADERS(linux/compiler.h linux/unistd.h asm/page.h signal.h linux/videodev.h linux/videodev2.h)
+ 
+ 
+-dnl Clear default CFLAGS
+-if test x"$CFLAGS" = x"-g -O2"; then
+-  CFLAGS=
++dnl Set default CFLAGS if unset
++if test x"$CFLAGS" = x""; then
++  CFLAGS="-O3 -ffast-math -pipe"
+ fi
+ 
+-CFLAGS="-O3 -ffast-math -pipe $CFLAGS"
+-
+ DFB_INTERNAL_CFLAGS="-D_GNU_SOURCE $DFB_INTERNAL_CFLAGS"
+ 
+ AC_ARG_ENABLE(extra-warnings,
diff --git a/DirectFB-1.4.11-header.patch b/DirectFB-1.4.11-header.patch
new file mode 100644
index 0000000..8f97b81
--- /dev/null
+++ b/DirectFB-1.4.11-header.patch
@@ -0,0 +1,38 @@
+diff -up DirectFB-1.4.11/configure.in.header DirectFB-1.4.11/configure.in
+--- DirectFB-1.4.11/configure.in.header	2010-11-27 19:14:49.245722205 +0100
++++ DirectFB-1.4.11/configure.in	2010-11-27 19:15:15.018485097 +0100
+@@ -142,7 +142,7 @@ fi
+ AM_CONDITIONAL(X11_CORE, test "$enable_x11" = "yes")
+ 
+ 
+-AC_CHECK_HEADERS(linux/compiler.h linux/unistd.h asm/page.h signal.h)
++AC_CHECK_HEADERS(linux/compiler.h linux/unistd.h asm/page.h signal.h linux/videodev.h linux/videodev2.h)
+ 
+ 
+ dnl Clear default CFLAGS
+diff -up DirectFB-1.4.11/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c.header DirectFB-1.4.11/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c
+--- DirectFB-1.4.11/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c.header	2010-10-31 09:49:49.000000000 +0100
++++ DirectFB-1.4.11/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c	2010-11-27 19:14:13.060439016 +0100
+@@ -49,7 +49,11 @@
+ #ifdef HAVE_LINUX_COMPILER_H
+ #include <linux/compiler.h>
+ #endif
++#ifdef HAVE_LINUX_VIDEODEV_H
++#include <linux/videodev.h>
++#else
+ #include "videodev.h"
++#endif
+ 
+ #include <directfb.h>
+ 
+@@ -77,7 +81,9 @@
+ #include <direct/thread.h>
+ #include <direct/util.h>
+ 
+-#ifdef DFB_HAVE_V4L2
++#ifdef HAVE_LINUX_VIDEODEV2_H
++#include <linux/videodev2.h>
++#else
+ #include "videodev2.h"
+ #endif
+ 
diff --git a/DirectFB-1.2.7-libv4l2.patch b/DirectFB-1.4.11-libv4l.patch
similarity index 78%
rename from DirectFB-1.2.7-libv4l2.patch
rename to DirectFB-1.4.11-libv4l.patch
index 48d9a8a..0249c37 100644
--- a/DirectFB-1.2.7-libv4l2.patch
+++ b/DirectFB-1.4.11-libv4l.patch
@@ -1,19 +1,11 @@
-diff -up DirectFB-1.2.7/configure.in.libv4l2 DirectFB-1.2.7/configure.in
---- DirectFB-1.2.7/configure.in.libv4l2	2009-01-20 13:50:58.000000000 +0100
-+++ DirectFB-1.2.7/configure.in	2009-01-21 14:03:39.000000000 +0100
-@@ -150,7 +150,7 @@ fi
- AM_CONDITIONAL(X11_CORE, test "$enable_x11" = "yes")
- 
- 
--AC_CHECK_HEADERS(linux/compiler.h linux/unistd.h asm/page.h)
-+AC_CHECK_HEADERS(linux/compiler.h linux/unistd.h asm/page.h linux/videodev.h linux/videodev2.h)
- 
- 
- dnl Clear default CFLAGS
-@@ -847,6 +847,19 @@ if test "$V4L" = "yes"; then
-   fi
+diff -up DirectFB-1.4.11/configure.in.libv4l DirectFB-1.4.11/configure.in
+--- DirectFB-1.4.11/configure.in.libv4l	2010-11-27 19:39:47.688514115 +0100
++++ DirectFB-1.4.11/configure.in	2010-11-27 19:39:47.717518354 +0100
+@@ -897,6 +895,22 @@ if test "$V4L" = "yes"; then
  fi
  
+ 
++
 +dnl
 +dnl libv4l2 support for video4linux.
 +dnl
@@ -27,43 +19,28 @@ diff -up DirectFB-1.2.7/configure.in.libv4l2 DirectFB-1.2.7/configure.in
 +    )
 +fi
 +
- 
++
++
  dnl check which gfxdrivers to build
  ati128=no
-@@ -1654,7 +1667,8 @@ Building Image Provider Modules:
+ cle266=no
+@@ -1849,7 +1863,7 @@ Building Image Provider Modules:
  
  Building Video Provider Modules:
    GIF                       $enable_gif
 -  Video4Linux               $V4L (v2: $V4L2)
-+  Video4Linux               $V4L 
-+  Video4Linux2              $V4L2            LIBV4L2: $LIBV4L2_CFLAGS     $LIBV4L2_LIBS
++  Video4Linux               $V4L (v2: $V4L2) libv4l2: $LIBV4L2_CFLAGS $LIBV4L2_LIBS
  
  Building Font Modules:
-   FreeType2                 $FREETYPE                 $FREETYPE_CFLAGS    $FREETYPE_LIBS
-diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c.libv4l2 DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c
---- DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c.libv4l2	2009-01-20 13:50:58.000000000 +0100
-+++ DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c	2009-01-21 14:02:26.000000000 +0100
-@@ -49,7 +49,11 @@
- #ifdef HAVE_LINUX_COMPILER_H
- #include <linux/compiler.h>
- #endif
-+#ifdef HAVE_LINUX_VIDEODEV_H
-+#include <linux/videodev.h>
-+#else
- #include "videodev.h"
-+#endif
- 
- #include <directfb.h>
- 
-@@ -78,8 +82,21 @@
- #include <direct/util.h>
- 
- #ifdef DFB_HAVE_V4L2
-+#ifdef HAVE_LINUX_VIDEODEV2_H
-+#include <linux/videodev2.h>
-+#else
+   FreeType2                 $FREETYPE                 $FREETYPE_CFLAGS $FREETYPE_LIBS
+diff -up DirectFB-1.4.11/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c.libv4l DirectFB-1.4.11/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c
+--- DirectFB-1.4.11/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c.libv4l	2010-11-27 19:39:47.690514408 +0100
++++ DirectFB-1.4.11/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider_v4l.c	2010-11-27 19:41:42.517294474 +0100
+@@ -87,6 +87,18 @@
  #include "videodev2.h"
  #endif
+ 
++
 +#ifdef HAVE_LIBV4L2
 +#   include <libv4l2.h>
 +#else
@@ -73,11 +50,12 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
 +#   define v4l2_mmap mmap
 +#   define v4l2_munmap munmap
 +#endif
-+#endif
- 
++
++
  static DFBResult
  Probe( IDirectFBVideoProvider_ProbeContext *ctx );
-@@ -211,28 +228,28 @@ IDirectFBVideoProvider_V4L_GetCapabiliti
+ 
+@@ -217,28 +229,28 @@ IDirectFBVideoProvider_V4L_GetCapabiliti
            *caps = 0;
  
            data->saturation.id = V4L2_CID_SATURATION;
@@ -110,7 +88,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                 *caps |= DVCAPS_HUE;
            }
            else {
-@@ -471,28 +488,28 @@ IDirectFBVideoProvider_V4L_GetColorAdjus
+@@ -478,28 +490,28 @@ IDirectFBVideoProvider_V4L_GetColorAdjus
  
            if (data->brightness.id) {
                 ctrl.id = data->brightness.id;
@@ -143,7 +121,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                      adj->flags |= DCAF_SATURATION;
                      adj->saturation = 0xffff * ctrl.value / (data->saturation.maximum - data->saturation.minimum);
                 }
-@@ -501,7 +518,7 @@ IDirectFBVideoProvider_V4L_GetColorAdjus
+@@ -508,7 +520,7 @@ IDirectFBVideoProvider_V4L_GetColorAdjus
       else
  #endif
       {
@@ -152,7 +130,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
  
            adj->flags = DCAF_BRIGHTNESS | DCAF_CONTRAST | DCAF_HUE | DCAF_SATURATION;
  
-@@ -533,28 +550,28 @@ IDirectFBVideoProvider_V4L_SetColorAdjus
+@@ -540,28 +552,28 @@ IDirectFBVideoProvider_V4L_SetColorAdjus
            if ((adj->flags & DCAF_BRIGHTNESS) && data->brightness.id) {
                 ctrl.id = data->brightness.id;
                 ctrl.value = (adj->brightness * (data->brightness.maximum - data->brightness.minimum)) / 0xfff;
@@ -186,7 +164,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                 DFBResult ret = errno2result( errno );
  
                 D_PERROR( "DirectFB/Video4Linux: VIDIOCGPICT failed!\n" );
-@@ -567,7 +584,7 @@ IDirectFBVideoProvider_V4L_SetColorAdjus
+@@ -574,7 +586,7 @@ IDirectFBVideoProvider_V4L_SetColorAdjus
            if (adj->flags & DCAF_HUE)        pic.hue        = adj->hue;
            if (adj->flags & DCAF_SATURATION) pic.colour     = adj->saturation;
  
@@ -195,12 +173,12 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                 DFBResult ret = errno2result( errno );
  
                 D_PERROR( "DirectFB/Video4Linux: VIDIOCSPICT failed!\n" );
-@@ -627,11 +644,11 @@ Construct( IDirectFBVideoProvider *thiz,
+@@ -634,11 +646,11 @@ Construct( IDirectFBVideoProvider *thiz,
  
       buffer_data = (IDirectFBDataBuffer_data*) buffer->priv;
  
 -     fd = open( buffer_data->filename, O_RDWR );     
-+     fd = v4l2_open( buffer_data->filename, O_RDWR );
++     fd = v4l2_open( buffer_data->filename, O_RDWR );     
       if (fd < 0) {
            DFBResult ret = errno2result( errno );
  
@@ -209,7 +187,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                       buffer_data->filename );
  
            DIRECT_DEALLOCATE_INTERFACE( thiz );
-@@ -644,7 +661,7 @@ Construct( IDirectFBVideoProvider *thiz,
+@@ -651,7 +663,7 @@ Construct( IDirectFBVideoProvider *thiz,
       data->is_v4l2 = 0;
  
       /* look if the device is a v4l2 device */
@@ -218,7 +196,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
            D_INFO( "DirectFB/Video4Linux: This is a Video4Linux-2 device.\n" );
            data->is_v4l2 = 1;
       }
-@@ -657,12 +674,12 @@ Construct( IDirectFBVideoProvider *thiz,
+@@ -664,12 +676,12 @@ Construct( IDirectFBVideoProvider *thiz,
       {
            D_INFO( "DirectFB/Video4Linux: This is a Video4Linux-1 device.\n" );
  
@@ -235,7 +213,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                                 PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0 );
       }
  
-@@ -745,7 +762,7 @@ GrabThread( DirectThread *thread, void *
+@@ -752,7 +764,7 @@ GrabThread( DirectThread *thread, void *
  
       while (frame < data->vmbuf.frames) {
            data->vmmap.frame = frame;
@@ -244,7 +222,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
            frame++;
       }
  
-@@ -756,7 +773,7 @@ GrabThread( DirectThread *thread, void *
+@@ -763,7 +775,7 @@ GrabThread( DirectThread *thread, void *
  
       frame = 0;
       while (data->running) {
@@ -253,7 +231,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
  
            if (!data->running)
                 break;
-@@ -800,7 +817,7 @@ GrabThread( DirectThread *thread, void *
+@@ -808,7 +820,7 @@ GrabThread( DirectThread *thread, void *
            dfb_surface_unlock_buffer( surface, &data->destinationlock );
  
            data->vmmap.frame = frame;
@@ -262,7 +240,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
  
            if (!data->running)
                 break;
-@@ -943,7 +960,7 @@ v4l_to_surface_overlay( CoreSurface *sur
+@@ -952,7 +964,7 @@ v4l_to_surface_overlay( CoreSurface *sur
            b.depth = bpp;
            b.bytesperline = lock->pitch;
  
@@ -271,7 +249,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                 DFBResult ret = errno2result( errno );
  
                 D_PERROR( "DirectFB/Video4Linux: VIDIOCSFBUF failed, must run being root!\n" );
-@@ -954,7 +971,7 @@ v4l_to_surface_overlay( CoreSurface *sur
+@@ -963,7 +975,7 @@ v4l_to_surface_overlay( CoreSurface *sur
       {
            struct video_picture p;
  
@@ -280,7 +258,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                 DFBResult ret = errno2result( errno );
  
                 D_PERROR( "DirectFB/Video4Linux: VIDIOCGPICT failed!\n" );
-@@ -965,7 +982,7 @@ v4l_to_surface_overlay( CoreSurface *sur
+@@ -974,7 +986,7 @@ v4l_to_surface_overlay( CoreSurface *sur
            p.depth = bpp;
            p.palette = palette;
  
@@ -289,7 +267,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                 DFBResult ret = errno2result( errno );
  
                 D_PERROR( "DirectFB/Video4Linux: VIDIOCSPICT failed!\n" );
-@@ -985,7 +1002,7 @@ v4l_to_surface_overlay( CoreSurface *sur
+@@ -994,7 +1006,7 @@ v4l_to_surface_overlay( CoreSurface *sur
            win.clipcount = 0;
            win.chromakey = 0;
  
@@ -298,7 +276,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                 DFBResult ret = errno2result( errno );
  
                 D_PERROR( "DirectFB/Video4Linux: VIDIOCSWIN failed!\n" );
-@@ -997,7 +1014,7 @@ v4l_to_surface_overlay( CoreSurface *sur
+@@ -1006,7 +1018,7 @@ v4l_to_surface_overlay( CoreSurface *sur
       if (!data->cleanup)
            data->cleanup = dfb_core_cleanup_add( NULL, v4l_cleanup, data, true );
  
@@ -307,7 +285,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
            DFBResult ret = errno2result( errno );
  
            D_PERROR( "DirectFB/Video4Linux: Could not start capturing (VIDIOCCAPTURE failed)!\n" );
-@@ -1062,7 +1079,7 @@ v4l_to_surface_grab( CoreSurface *surfac
+@@ -1072,7 +1084,7 @@ v4l_to_surface_grab( CoreSurface *surfac
       data->vmmap.height = surface->config.size.h;
       data->vmmap.format = palette;
       data->vmmap.frame = 0;
@@ -316,7 +294,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
            DFBResult ret = errno2result( errno );
  
            D_PERROR( "DirectFB/Video4Linux: Could not start capturing (VIDIOCMCAPTURE failed)!\n" );
-@@ -1110,7 +1127,7 @@ v4l_stop( IDirectFBVideoProvider_V4L_dat
+@@ -1120,7 +1132,7 @@ v4l_stop( IDirectFBVideoProvider_V4L_dat
       if (data->is_v4l2) {
            /* turn off streaming */
            int type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
@@ -325,7 +303,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
            if (err) {
                 D_PERROR( "DirectFB/Video4Linux2: VIDIOC_STREAMOFF.\n" );
                 /* don't quit here */
-@@ -1120,7 +1137,7 @@ v4l_stop( IDirectFBVideoProvider_V4L_dat
+@@ -1130,7 +1142,7 @@ v4l_stop( IDirectFBVideoProvider_V4L_dat
  #endif
       {
            if (!data->grab_mode) {
@@ -334,7 +312,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                      D_PERROR( "DirectFB/Video4Linux: "
                                "Could not stop capturing (VIDIOCCAPTURE failed)!\n" );
            }
-@@ -1141,8 +1158,8 @@ v4l_stop( IDirectFBVideoProvider_V4L_dat
+@@ -1151,8 +1163,8 @@ v4l_stop( IDirectFBVideoProvider_V4L_dat
                 for (i = 0; i < data->req.count; i++) {
                      struct v4l2_buffer *vidbuf = &data->vidbuf[i];
                      D_DEBUG( "DirectFB/Video4Linux2: %d => 0x%08x, len:%d\n", i, (u32) data->ptr[i], vidbuf->length );
@@ -345,7 +323,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                      }
                 }
            }
-@@ -1177,8 +1194,8 @@ v4l_deinit( IDirectFBVideoProvider_V4L_d
+@@ -1187,8 +1199,8 @@ v4l_deinit( IDirectFBVideoProvider_V4L_d
  
       v4l_stop( data, true );
  
@@ -356,7 +334,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
       data->fd = -1;
  }
  
-@@ -1223,7 +1240,7 @@ wait_for_buffer( int vid, struct v4l2_bu
+@@ -1233,7 +1245,7 @@ wait_for_buffer( int vid, struct v4l2_bu
            return -1;     /* fixme */
       }
       else if (FD_ISSET( vid, &rdset )) {
@@ -365,7 +343,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
            if (err) {
                 D_PERROR( "DirectFB/Video4Linux2: VIDIOC_DQBUF.\n" );
                 return -1;     /* fixme */
-@@ -1255,7 +1272,7 @@ V4L2_Thread( DirectThread *thread, void 
+@@ -1265,7 +1277,7 @@ V4L2_Thread( DirectThread *thread, void 
                 vidbuf->m.offset = data->destinationlock.offset;
            }
  
@@ -374,7 +352,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
            if (err) {
                 D_PERROR( "DirectFB/Video4Linux2: VIDIOC_QBUF.\n" );
                 return NULL;
-@@ -1263,7 +1280,7 @@ V4L2_Thread( DirectThread *thread, void 
+@@ -1273,7 +1285,7 @@ V4L2_Thread( DirectThread *thread, void 
       }
  
       /* start streaming */
@@ -383,7 +361,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
            D_PERROR( "DirectFB/Video4Linux2: VIDIOC_STREAMON.\n" );
            return NULL;   /* fixme */
       }
-@@ -1334,7 +1351,7 @@ V4L2_Thread( DirectThread *thread, void 
+@@ -1344,7 +1356,7 @@ V4L2_Thread( DirectThread *thread, void 
            if (data->callback)
                 data->callback( data->ctx );
  
@@ -392,7 +370,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                 D_PERROR( "DirectFB/Video4Linux2: VIDIOC_QBUF.\n" );
                 return NULL;
            }
-@@ -1406,7 +1423,7 @@ v4l2_playto( CoreSurface *surface, DFBRe
+@@ -1417,7 +1429,7 @@ v4l2_playto( CoreSurface *surface, DFBRe
  
       D_DEBUG( "DirectFB/Video4Linux2: surface->config.size.w:%d, surface->config.size.h:%d.\n", surface->config.size.w, surface->config.size.h );
  
@@ -401,7 +379,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
       if (err) {
            D_PERROR( "DirectFB/Video4Linux2: VIDIOC_S_FMT.\n" );
            dfb_surface_unlock_buffer( surface, &data->destinationlock );
-@@ -1420,16 +1437,16 @@ v4l2_playto( CoreSurface *surface, DFBRe
+@@ -1431,16 +1443,16 @@ v4l2_playto( CoreSurface *surface, DFBRe
       }
  
       if (data->brightness.id) {
@@ -422,7 +400,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
       }
  
       if (surface->config.caps & DSCAPS_SYSTEMONLY) {
-@@ -1451,7 +1468,7 @@ v4l2_playto( CoreSurface *surface, DFBRe
+@@ -1462,7 +1474,7 @@ v4l2_playto( CoreSurface *surface, DFBRe
            D_DEBUG( "w:%d, h:%d, bpl:%d, base:0x%08lx\n",
                     fb.fmt.width, fb.fmt.height, fb.fmt.bytesperline, (unsigned long)fb.base );
  
@@ -431,7 +409,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                 DFBResult ret = errno2result( errno );
  
                 D_PERROR( "DirectFB/Video4Linux2: VIDIOC_S_FBUF failed, must run being root!\n" );
-@@ -1464,7 +1481,7 @@ v4l2_playto( CoreSurface *surface, DFBRe
+@@ -1475,7 +1487,7 @@ v4l2_playto( CoreSurface *surface, DFBRe
       /* Ask Video Device for Buffers */
       data->req.count = NUMBER_OF_BUFFERS;
       data->req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
@@ -440,7 +418,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
       if (err < 0 || data->req.count < NUMBER_OF_BUFFERS) {
            D_PERROR( "DirectFB/Video4Linux2: VIDIOC_REQBUFS: %d, %d.\n", err, data->req.count );
            if (!data->framebuffer_or_system)
-@@ -1479,7 +1496,7 @@ v4l2_playto( CoreSurface *surface, DFBRe
+@@ -1490,7 +1502,7 @@ v4l2_playto( CoreSurface *surface, DFBRe
            vidbuf->index = i;
            vidbuf->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
  
@@ -449,7 +427,7 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
            if (err < 0) {
                 D_PERROR( "DirectFB/Video4Linux2: VIDIOC_QUERYBUF.\n" );
                 if (!data->framebuffer_or_system)
-@@ -1494,9 +1511,9 @@ v4l2_playto( CoreSurface *surface, DFBRe
+@@ -1505,9 +1517,9 @@ v4l2_playto( CoreSurface *surface, DFBRe
            }
  */
            if (data->framebuffer_or_system) {
@@ -461,26 +439,3 @@ diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/idirectfbvideoprovider
                      if (!data->framebuffer_or_system)
                           dfb_surface_unlock_buffer( surface, &data->destinationlock );
                      return err;
-diff -up DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/Makefile.am.libv4l2 DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/Makefile.am
---- DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/Makefile.am.libv4l2	2009-01-20 13:50:58.000000000 +0100
-+++ DirectFB-1.2.7/interfaces/IDirectFBVideoProvider/Makefile.am	2009-01-21 13:39:45.000000000 +0100
-@@ -22,7 +22,8 @@ INCLUDES = \
- 	-I$(top_builddir)/lib	\
- 	-I$(top_srcdir)/lib	\
- 	-I$(top_srcdir)/src	\
--	-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\"
-+	-DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" \
-+	$(LIBV4L2_CFLAGS)
- 
- 
- idirectfbvideoprovider_LTLIBRARIES =	\
-@@ -41,7 +42,8 @@ libidirectfbvideoprovider_v4l_la_LDFLAGS
- libidirectfbvideoprovider_v4l_la_LIBADD = \
- 	$(top_builddir)/lib/direct/libdirect.la \
- 	$(top_builddir)/lib/fusion/libfusion.la \
--	$(top_builddir)/src/libdirectfb.la
-+	$(top_builddir)/src/libdirectfb.la \
-+	$(LIBV4L2_LIBS)
- 
- 
- libidirectfbvideoprovider_gif_la_SOURCES = idirectfbvideoprovider_gif.c
diff --git a/directfb.spec b/directfb.spec
index 7c430ad..237683f 100644
--- a/directfb.spec
+++ b/directfb.spec
@@ -9,8 +9,10 @@ Group: System Environment/Libraries
 License: LGPLv2+
 URL: http://www.directfb.org/
 Source0: http://www.directfb.org/downloads/Core/DirectFB-%{major_ver}/DirectFB-%{version}.tar.gz
-Patch0: DirectFB-1.2.7-libv4l2.patch
 Patch1: DirectFB-1.2.8-tweak.patch
+Patch2: DirectFB-1.4.11-header.patch
+Patch3: DirectFB-1.4.11-libv4l.patch
+Patch4: DirectFB-1.4.11-cflags.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires: libtool
@@ -60,8 +62,10 @@ Development files for DirectFB.
 
 %prep
 %setup -q -n DirectFB-%{version}
-%patch0 -p1 -b .libv4l2
 %patch1 -p1 -b .tweak
+%patch2 -p1 -b .header
+%patch3 -p1 -b .libv4l
+%patch4 -p1 -b .cflags
 
 #Disable ppc asm since compilation fails (and it seems better to use glibc)
 sed -i.noppcasm -e 's/want_ppcasm=yes/want_ppcasm=no/'g configure.in configure
@@ -75,7 +79,7 @@ rm $i.not-utf8
 done
 
 #Remove old headers
-rm interfaces/IDirectFBVideoProvider/{videodev.h,videodev2.h}
+#rm interfaces/IDirectFBVideoProvider/{videodev.h,videodev2.h}
 
 autoreconf -i -f
 
@@ -160,11 +164,16 @@ make check
 %{_bindir}/fusion_skirmish
 %{_bindir}/fusion_stream
 %{_bindir}/pxa3xx_dump
+## New with 1.4.11
+%{_bindir}/dfbtest_fillrect
+%{_bindir}/dfbtest_font
+%{_bindir}/fusion_call
+%{_bindir}/mkdgifft
 %{_libdir}/libdirectfb-*.so.*
 %{_libdir}/libdirect-*.so.*
 %{_libdir}/libfusion-*.so.*
 %{_libdir}/libuniquewm*.so.*
-%{_libdir}/directfb-%{major_ver}-0/
+%{_libdir}/directfb-%{major_ver}-5/
 %{_datadir}/directfb-%{version}/
 %{_mandir}/man1/dfbg.1*
 %{_mandir}/man5/directfbrc.5*


More information about the scm-commits mailing list