[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