[directfb] 1.6.1

Tom Callaway spot at fedoraproject.org
Mon Sep 17 17:33:03 UTC 2012


commit cb1c80c6ffbe156c7b40bf80fe05a02bb6f85628
Author: Tom Callaway <spot at fedoraproject.org>
Date:   Mon Sep 17 13:33:45 2012 -0400

    1.6.1

 85-directfb.rules                            |    3 +
 DirectFB-1.6.1-FusionID-fix-git21c3684.patch |   38 ++++++++++++++++
 DirectFB-1.6.1-gcc-atomics-on-arm.patch      |   35 +++++++++++++++
 DirectFB-1.6.1-lm.patch                      |   60 ++++++++++++++++++++++++++
 DirectFB-1.6.1-mesa-libgbm-stridefix.patch   |   12 +++++
 DirectFB-1.6.1-zlib-fix.patch                |   14 ++++++
 directfb.spec                                |   52 ++++++++++++++++++----
 sources                                      |    3 +-
 8 files changed, 206 insertions(+), 11 deletions(-)
---
diff --git a/85-directfb.rules b/85-directfb.rules
new file mode 100644
index 0000000..08f0384
--- /dev/null
+++ b/85-directfb.rules
@@ -0,0 +1,3 @@
+KERNEL=="fb[0-9]*", GROUP="video", MODE="0666"
+KERNEL=="mice", GROUP="input", MODE="0660"
+KERNEL=="tty[0-9]", GROUP="tty", MODE="0660"
diff --git a/DirectFB-1.6.1-FusionID-fix-git21c3684.patch b/DirectFB-1.6.1-FusionID-fix-git21c3684.patch
new file mode 100644
index 0000000..25f3101
--- /dev/null
+++ b/DirectFB-1.6.1-FusionID-fix-git21c3684.patch
@@ -0,0 +1,38 @@
+diff -up DirectFB-1.6.1/wm/unique/uniquewm.c.fusionID DirectFB-1.6.1/wm/unique/uniquewm.c
+--- DirectFB-1.6.1/wm/unique/uniquewm.c.fusionID	2012-08-29 10:58:22.009758786 -0400
++++ DirectFB-1.6.1/wm/unique/uniquewm.c	2012-08-29 10:58:58.753759640 -0400
+@@ -34,6 +34,7 @@
+ #include <direct/memcpy.h>
+ #include <direct/messages.h>
+ 
++#include <core/core.h>
+ #include <core/input.h>
+ #include <core/surface.h>
+ #include <core/surface_buffer.h>
+@@ -275,7 +276,7 @@ unique_wm_create_context( void )
+      D_MAGIC_ASSERT( wm_shared, WMShared );
+      D_ASSERT( wm_shared->context_pool != NULL );
+ 
+-     return (UniqueContext*) fusion_object_create( wm_shared->context_pool, wm_data->world );
++     return (UniqueContext*) fusion_object_create( wm_shared->context_pool, wm_data->world, Core_GetIdentity() );
+ }
+ 
+ UniqueDecoration *
+@@ -286,7 +287,7 @@ unique_wm_create_decoration( void )
+      D_MAGIC_ASSERT( wm_shared, WMShared );
+      D_ASSERT( wm_shared->decoration_pool != NULL );
+ 
+-     return (UniqueDecoration*) fusion_object_create( wm_shared->decoration_pool, wm_data->world );
++     return (UniqueDecoration*) fusion_object_create( wm_shared->decoration_pool, wm_data->world, Core_GetIdentity() );
+ }
+ 
+ UniqueWindow *
+@@ -297,7 +298,7 @@ unique_wm_create_window( void )
+      D_MAGIC_ASSERT( wm_shared, WMShared );
+      D_ASSERT( wm_shared->window_pool != NULL );
+ 
+-     return (UniqueWindow*) fusion_object_create( wm_shared->window_pool, wm_data->world );
++     return (UniqueWindow*) fusion_object_create( wm_shared->window_pool, wm_data->world, Core_GetIdentity() );
+ }
+ 
+ /**************************************************************************************************/
diff --git a/DirectFB-1.6.1-gcc-atomics-on-arm.patch b/DirectFB-1.6.1-gcc-atomics-on-arm.patch
new file mode 100644
index 0000000..9b5bfce
--- /dev/null
+++ b/DirectFB-1.6.1-gcc-atomics-on-arm.patch
@@ -0,0 +1,35 @@
+diff -up DirectFB-1.6.1/lib/direct/atomic.h.arm-atomics DirectFB-1.6.1/lib/direct/atomic.h
+--- DirectFB-1.6.1/lib/direct/atomic.h.arm-atomics	2012-06-29 12:01:11.000000000 -0400
++++ DirectFB-1.6.1/lib/direct/atomic.h	2012-08-29 10:18:08.596702883 -0400
+@@ -239,6 +239,31 @@ static inline int _D__atomic_add_return(
+ #define D_SYNC_ADD_AND_FETCH( ptr, value )                                           \
+      (_D__atomic_add_return( (int) (value), (volatile int*) (ptr) ))
+ 
++#elif defined(ARCH_ARM) && !defined(ARCH_IWMMXT)
++
++static inline int _D__atomic_cmpxchg(volatile int *ptr, int old, int _new)
++{
++	unsigned long oldval = old;
++
++	__atomic_compare_exchange_n(ptr, &oldval, _new,
++				    false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
++
++	return oldval;
++}
++
++#define D_SYNC_BOOL_COMPARE_AND_SWAP( ptr, old_value, new_value )                    \
++     (_D__atomic_cmpxchg( (void*) ptr, (int) old_value, (int) new_value ) == (int) old_value)
++
++static inline int _D__atomic_add_return(int i, volatile int *v)
++{
++	int result = __atomic_add_fetch(v, i, __ATOMIC_SEQ_CST);
++
++	return result;
++}
++
++#define D_SYNC_ADD_AND_FETCH( ptr, value )                                           \
++     (_D__atomic_add_return( (int) (value), (volatile int*) (ptr) ))
++
+ #endif
+ 
+ 
diff --git a/DirectFB-1.6.1-lm.patch b/DirectFB-1.6.1-lm.patch
new file mode 100644
index 0000000..e840422
--- /dev/null
+++ b/DirectFB-1.6.1-lm.patch
@@ -0,0 +1,60 @@
+diff -up DirectFB-1.6.1/tests/Makefile.am.lm DirectFB-1.6.1/tests/Makefile.am
+--- DirectFB-1.6.1/tests/Makefile.am.lm	2012-06-29 12:01:11.000000000 -0400
++++ DirectFB-1.6.1/tests/Makefile.am	2012-08-29 11:18:26.528786687 -0400
+@@ -148,15 +148,15 @@ dfbtest_gl1_LDADD   = $(libdirectfb) $(l
+ 
+ dfbtest_gl2_SOURCES = dfbtest_gl2.c
+ dfbtest_gl2_CFLAGS  = $(GLES2_CFLAGS)
+-dfbtest_gl2_LDADD   = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS)
++dfbtest_gl2_LDADD   = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS) -lm
+ 
+ dfbtest_gl3_SOURCES = dfbtest_gl3.c
+ dfbtest_gl3_CFLAGS  = $(GLES2_CFLAGS)
+-dfbtest_gl3_LDADD   = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS)
++dfbtest_gl3_LDADD   = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS) -lm
+ 
+ dfbtest_old_gl2_SOURCES = dfbtest_old_gl2.c
+ dfbtest_old_gl2_CFLAGS  = $(GLES2_CFLAGS)
+-dfbtest_old_gl2_LDADD   = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS)
++dfbtest_old_gl2_LDADD   = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS) -lm
+ 
+ dfbtest_mirror_SOURCES = dfbtest_mirror.c
+ dfbtest_mirror_LDADD   = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect)
+@@ -227,7 +227,7 @@ fusion_call_SOURCES = fusion_call.c
+ fusion_call_LDADD   = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect)
+ 
+ fusion_call_bench_SOURCES = fusion_call_bench.c
+-fusion_call_bench_LDADD   = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect)
++fusion_call_bench_LDADD   = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) -lm
+ 
+ fusion_fork_SOURCES = fusion_fork.c
+ fusion_fork_LDADD   = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect)
+diff -up DirectFB-1.6.1/tests/Makefile.in.lm DirectFB-1.6.1/tests/Makefile.in
+--- DirectFB-1.6.1/tests/Makefile.in.lm	2012-06-29 12:01:36.000000000 -0400
++++ DirectFB-1.6.1/tests/Makefile.in	2012-08-29 11:18:18.712786508 -0400
+@@ -758,13 +758,13 @@ dfbtest_gl1_CFLAGS = $(GLES2_CFLAGS)
+ dfbtest_gl1_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS)
+ dfbtest_gl2_SOURCES = dfbtest_gl2.c
+ dfbtest_gl2_CFLAGS = $(GLES2_CFLAGS)
+-dfbtest_gl2_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS)
++dfbtest_gl2_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS) -lm
+ dfbtest_gl3_SOURCES = dfbtest_gl3.c
+ dfbtest_gl3_CFLAGS = $(GLES2_CFLAGS)
+-dfbtest_gl3_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS)
++dfbtest_gl3_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS) -lm
+ dfbtest_old_gl2_SOURCES = dfbtest_old_gl2.c
+ dfbtest_old_gl2_CFLAGS = $(GLES2_CFLAGS)
+-dfbtest_old_gl2_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS)
++dfbtest_old_gl2_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) $(GL_LIBS) $(GLES2_LIBS) -lm
+ dfbtest_mirror_SOURCES = dfbtest_mirror.c
+ dfbtest_mirror_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect)
+ dfbtest_prealloc_SOURCES = dfbtest_prealloc.c
+@@ -810,7 +810,7 @@ direct_test_LDADD = $(libdirect)
+ fusion_call_SOURCES = fusion_call.c
+ fusion_call_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect)
+ fusion_call_bench_SOURCES = fusion_call_bench.c
+-fusion_call_bench_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect)
++fusion_call_bench_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect) -lm
+ fusion_fork_SOURCES = fusion_fork.c
+ fusion_fork_LDADD = $(libdirectfb) $(libone) $(libvoodoo) $(libfusion) $(libdirect)
+ fusion_reactor_SOURCES = fusion_reactor.c
diff --git a/DirectFB-1.6.1-mesa-libgbm-stridefix.patch b/DirectFB-1.6.1-mesa-libgbm-stridefix.patch
new file mode 100644
index 0000000..c209dfe
--- /dev/null
+++ b/DirectFB-1.6.1-mesa-libgbm-stridefix.patch
@@ -0,0 +1,12 @@
+diff -up DirectFB-1.6.1/systems/mesa/mesa_surface_pool.c.stride DirectFB-1.6.1/systems/mesa/mesa_surface_pool.c
+--- DirectFB-1.6.1/systems/mesa/mesa_surface_pool.c.stride	2012-08-29 10:55:30.531754814 -0400
++++ DirectFB-1.6.1/systems/mesa/mesa_surface_pool.c	2012-08-29 10:55:36.949754963 -0400
+@@ -297,7 +297,7 @@ mesaAllocateBuffer( CoreSurfacePool
+      alloc->bo = gbm_bo_create( mesa->gbm, surface->config.size.w, surface->config.size.h, GBM_BO_FORMAT_ARGB8888,
+                                                                             GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING );
+      alloc->handle = gbm_bo_get_handle( alloc->bo ).u32;
+-     alloc->pitch  = gbm_bo_get_pitch( alloc->bo );
++     alloc->pitch  = gbm_bo_get_stride( alloc->bo );
+ 
+      alloc->image  = eglCreateImageKHR( mesa->dpy, NULL, EGL_NATIVE_PIXMAP_KHR, alloc->bo, NULL );
+ 
diff --git a/DirectFB-1.6.1-zlib-fix.patch b/DirectFB-1.6.1-zlib-fix.patch
new file mode 100644
index 0000000..b63574e
--- /dev/null
+++ b/DirectFB-1.6.1-zlib-fix.patch
@@ -0,0 +1,14 @@
+diff -up DirectFB-1.6.1/src/core/surface.c.zlibfix DirectFB-1.6.1/src/core/surface.c
+--- DirectFB-1.6.1/src/core/surface.c.zlibfix	2012-08-29 10:47:06.526743140 -0400
++++ DirectFB-1.6.1/src/core/surface.c	2012-08-29 10:47:35.442743812 -0400
+@@ -28,6 +28,10 @@
+ 
+ #include <config.h>
+ 
++#ifdef USE_ZLIB
++#include <zlib.h>
++#endif
++
+ #include <direct/debug.h>
+ 
+ #include <core/core.h>
diff --git a/directfb.spec b/directfb.spec
index d8da685..b6d8947 100644
--- a/directfb.spec
+++ b/directfb.spec
@@ -1,21 +1,24 @@
-%global major_ver 1.5
-%global minor_ver .3
+%global major_ver 1.6
+%global minor_ver .1
 
 Summary: Graphics abstraction library for the Linux Framebuffer Device
 Name: directfb
 Version: %{major_ver}%{minor_ver}
-Release: 9%{?dist}
+Release: 1%{?dist}
 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: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/DirectFB/files/DirectFB-1.4.9-libpng-1.5.patch
+Source1: 85-directfb.rules
 Patch1: DirectFB-1.2.8-tweak.patch
 Patch2: DirectFB-1.5.3-fix_v4l1.patch
-Patch3: DirectFB-1.5.3-lm.patch
-Patch4: DirectFB-1.5.3-gcc-atomics-on-arm.patch
+Patch3: DirectFB-1.6.1-lm.patch
+Patch4: DirectFB-1.6.1-gcc-atomics-on-arm.patch
 Patch5: DirectFB-1.5.3-add-missing-davinci-files.patch
 Patch6: DirectFB-1.5.3-vdpau.patch
+Patch7: DirectFB-1.6.1-zlib-fix.patch
+Patch8: DirectFB-1.6.1-mesa-libgbm-stridefix.patch
+Patch9: DirectFB-1.6.1-FusionID-fix-git21c3684.patch
 
 BuildRequires: libpng-devel
 BuildRequires: zlib-devel
@@ -34,6 +37,9 @@ BuildRequires: libvncserver-devel
 %{?_with_fusion:Requires: linux-fusion}
 BuildRequires: mesa-libEGL-devel
 BuildRequires: mesa-libGLES-devel
+%if 0%{?fedora} >= 17
+BuildRequires: mesa-libgbm-devel
+%endif
 BuildRequires: tslib-devel
 
 
@@ -68,13 +74,17 @@ Development files for DirectFB.
 
 %prep
 %setup -q -n DirectFB-%{version}
-%patch0 -p1 -b .libpng15
 %patch1 -p1 -b .tweak
 %patch2 -p1 -b .fix_v4l1
 %patch3 -p1 -b .lm
 %patch4 -p1 -b .arm-atomics
 %patch5 -p1 -b .davinci
 %patch6 -p1 -b .vdpau
+%patch7 -p1 -b .zlib-fix
+%if 0%{?fedora} >= 18
+%patch8 -p1 -b .stride
+%endif
+%patch9 -p1 -b .fusionID
 
 #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
@@ -104,7 +114,7 @@ rm interfaces/IDirectFBVideoProvider/{videodev.h,videodev2.h}
 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
 
-make %{?_smp_mflags}
+make %{?_smp_mflags} V=1
 
 
 %install
@@ -114,6 +124,8 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
 #Fix some relative fonts for dfbinspector.c
 ln -s ../fonts/dejavu/DejaVuSans.ttf %{buildroot}%{_datadir}/%{name}-%{version}/decker.ttf
 
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/
+install -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/
 
 %check
 make check
@@ -172,7 +184,8 @@ make check
 %{_bindir}/dfbtest_init
 %{_bindir}/dfbtest_water
 %{_bindir}/dfbtest_windows_watcher
-%{_bindir}/fluxcomp
+# Dropped in 1.6
+# %{_bindir}/fluxcomp
 %{_bindir}/fusion_call_bench
 #New with 1.5.3
 %ifarch %{arm}
@@ -182,6 +195,22 @@ make check
 %{_bindir}/dfbtest_gl1
 %{_bindir}/dfbtest_gl2
 %{_bindir}/dfbtest_gl3
+# New with 1.6
+%{_bindir}/dfbtest_blit_multi
+%{_bindir}/dfbtest_clipboard
+%{_bindir}/dfbtest_flip
+%{_bindir}/dfbtest_input
+%{_bindir}/dfbtest_old_gl2
+%{_bindir}/dfbtest_prealloc
+%{_bindir}/dfbtest_resize
+%{_bindir}/dfbtest_scale_nv21
+%{_bindir}/dfbtest_surface_compositor
+%{_bindir}/dfbtest_surface_updates
+%{_bindir}/dfbtest_video
+%{_bindir}/dfbtest_waitserial
+%{_bindir}/dfbtest_window_cursor
+%{_bindir}/dfbtest_window_flip
+%{_bindir}/dfbtest_window_surface
 %ifarch %{arm}
 %{_libdir}/libdavinci_c64x.so.*
 %endif
@@ -193,6 +222,7 @@ make check
 %{_datadir}/directfb-%{version}/
 %{_mandir}/man1/dfbg.1*
 %{_mandir}/man5/directfbrc.5*
+%{_sysconfdir}/udev/rules.d/85-directfb.rules
 
 %files devel
 %defattr(-,root,root,-)
@@ -216,6 +246,10 @@ make check
 
 
 %changelog
+* Mon Sep 17 2012 Tom Callaway <spot at fedoraproject.org> - 1.6.1-1
+- update to 1.6.1
+- include udev rules
+
 * Thu Aug 30 2012 Nicolas Chauvet <kwizart at gmail.com> - 1.5.3-9
 - Fix vdpau plugin - rhbz#852740
 
diff --git a/sources b/sources
index 3b923d8..06cd75a 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-54a9ec931c8e3c82adb924194e65120e  DirectFB-1.5.3.tar.gz
-84f3181e96692efc5ff68e5dac19541f  DirectFB-1.4.9-libpng-1.5.patch
+76d3066e75664aa79204af545f2f3c65  DirectFB-1.6.1.tar.gz


More information about the scm-commits mailing list