commit:     d85fe22abb25d23ba1e975827d318bacfe303417
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 18 21:05:21 2015 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Jul 18 21:05:21 2015 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=d85fe22a

dev-libs/DirectFB: fix union sigval, uint32 and PTHREAD_MUTEX_RECURSIVE for 
1.7.6.

 dev-libs/DirectFB/DirectFB-1.7.6-r99.ebuild        | 207 +++++++++++++++++++++
 dev-libs/DirectFB/Manifest                         |  12 ++
 ...x-compiler-error-when-building-for-thumb2.patch |  50 +++++
 .../DirectFB/files/DirectFB-1.6.3-pkgconfig.patch  |  22 +++
 .../DirectFB/files/DirectFB-1.6.3-setregion.patch  |  85 +++++++++
 dev-libs/DirectFB/files/DirectFB-1.7.1-build.patch |  27 +++
 dev-libs/DirectFB/files/DirectFB-1.7.5-flags.patch |  63 +++++++
 .../DirectFB/files/DirectFB-1.7.6-cle266.patch     |  13 ++
 .../DirectFB/files/DirectFB-1.7.6-uint32_t.patch   |  33 ++++
 .../files/DirectFB-1.7.6-union-sigval.patch        |  12 ++
 ...irectFB-1.7.6-use-PTHREAD_MUTEX_RECURSIVE.patch |  12 ++
 dev-libs/DirectFB/metadata.xml                     |  41 ++++
 12 files changed, 577 insertions(+)

diff --git a/dev-libs/DirectFB/DirectFB-1.7.6-r99.ebuild 
b/dev-libs/DirectFB/DirectFB-1.7.6-r99.ebuild
new file mode 100644
index 0000000..a6c8621
--- /dev/null
+++ b/dev-libs/DirectFB/DirectFB-1.7.6-r99.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/DirectFB/DirectFB-1.7.6.ebuild,v 
1.5 2015/03/29 14:01:19 pacho Exp $
+
+EAPI=5
+inherit autotools eutils toolchain-funcs
+
+# Map Gentoo IUSE expand vars to DirectFB drivers
+# echo `sed -n '/Possible gfxdrivers are:/,/^$/{/Possible/d;s:\[ 
*::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_intel="i810,i830"
+I_TO_D_mga="matrox"
+I_TO_D_r128="ati128"
+I_TO_D_s3="unichrome"
+I_TO_D_sis="sis315"
+I_TO_D_via="cle266"
+# cyber5k davinci ep9x omap pxa3xx sh772x savage pvr2d
+IUSE_VIDEO_CARDS=" intel mach64 mga neomagic nsc nvidia r128 radeon s3 sis 
tdfx via vmware"
+IUV=${IUSE_VIDEO_CARDS// / video_cards_}
+# echo `sed -n '/Possible inputdrivers are:/,/^$/{/\(Possible\|^input\)/d;s:\[ 
*::;s:\].*::;s:,::g;p}' configure.in`
+I_TO_D_elo2300="elo-input"
+I_TO_D_evdev="linuxinput"
+I_TO_D_mouse="ps2mouse,serialmouse"
+# dbox2remote dreamboxremote gunze h3600_ts penmount sonypijogdial ucb1x00 
wm97xx zytronic
+IUSE_INPUT_DEVICES=" dynapro elo2300 evdev joystick keyboard lirc mouse 
mutouch tslib"
+IUD=${IUSE_INPUT_DEVICES// / input_devices_}
+
+DESCRIPTION="Thin library on top of the Linux framebuffer devices"
+HOMEPAGE="http://www.directfb.org/";
+SRC_URI="http://directfb.org/downloads/Core/${PN}-${PV:0:3}/${P}.tar.gz
+       http://directfb.org/downloads/Old/${P}.tar.gz";
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm -mips ~ppc ~x86"
+IUSE="alsa bmp cddb debug divine drmkms +dynload doc egl fbcon fusiondale 
fusionsound gif gles2 gstreamer imlib2 input_hub jpeg jpeg2k mad 
cpu_flags_x86_mmx mng mpeg2 mpeg3 multicore opengl oss png pnm sawman sdl 
cpu_flags_x86_sse static-libs swfdec tiff timidity tremor truetype v4l vdpau 
vorbis webp X xine zlib ${IUV} ${IUD}"
+REQUIRED_USE="gles2? ( opengl )"
+
+# ffmpeg useflag broken
+# ffmpeg? ( virtual/ffmpeg )
+#      $(use_enable ffmpeg) \
+RDEPEND="
+       alsa? ( media-libs/alsa-lib )
+       cddb? ( media-libs/libcddb )
+       drmkms? ( x11-libs/libdrm[libkms] )
+       gif? ( media-libs/giflib )
+       gstreamer? ( media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 )
+       imlib2? ( media-libs/imlib2 )
+       jpeg? ( virtual/jpeg )
+       jpeg2k? ( media-libs/jasper[jpeg] )
+       mad? ( media-libs/libmad )
+       mng? ( media-libs/libmng )
+       mpeg3? ( media-libs/libmpeg3 )
+       opengl? ( media-libs/mesa[gbm,egl?,gles2?] x11-libs/libdrm )
+       png? ( media-libs/libpng:0 )
+       sdl? ( media-libs/libsdl )
+       swfdec? ( media-libs/swfdec )
+       tiff? ( media-libs/tiff:0 )
+       timidity? (
+               media-libs/libtimidity
+               media-sound/timidity++
+       )
+       tremor? ( media-libs/tremor )
+       truetype? ( >=media-libs/freetype-2.0.1 )
+       vdpau? ( x11-proto/xproto x11-libs/libX11 x11-libs/libXext 
x11-libs/libvdpau )
+       vorbis? ( media-libs/libvorbis )
+       webp? ( media-libs/libwebp )
+       X? ( x11-libs/libXext x11-libs/libX11 )
+       xine? ( media-libs/xine-lib[vdpau?] )
+       zlib? ( sys-libs/zlib ) "
+DEPEND="${RDEPEND}
+       X? ( x11-proto/xextproto x11-proto/xproto )"
+
+src_prepare() {
+       epatch \
+               "${FILESDIR}"/${PN}-1.7.5-flags.patch \
+               "${FILESDIR}"/${PN}-1.6.3-pkgconfig.patch \
+               "${FILESDIR}"/${PN}-1.7.1-build.patch \
+               "${FILESDIR}"/${PN}-1.6.3-setregion.patch \
+               
"${FILESDIR}"/${PN}-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch
 \
+               "${FILESDIR}"/${PN}-1.7.6-cle266.patch \
+               "${FILESDIR}"/${PN}-1.7.6-uint32_t.patch \
+               "${FILESDIR}"/${PN}-1.7.6-union-sigval.patch \
+               "${FILESDIR}"/${PN}-1.7.6-use-PTHREAD_MUTEX_RECURSIVE.patch
+       sed -i \
+               -e '/#define RASPBERRY_PI/d' \
+               systems/egl/egl_system.c || die #497124
+       sed -i \
+               -e '/^CXXFLAGS=.*-Werror-implicit-function-declaration/d' \
+               configure.in || die #526196
+
+       mv configure.{in,ac} || die
+       eautoreconf
+}
+
+driver_list() {
+       local pfx=$1
+       local dev devs map
+       shift
+       for dev in "$@" ; do
+               use ${pfx}_${dev} || continue
+               map="I_TO_D_${dev}"
+               devs=${devs:+${devs},}${!map:-${dev}}
+       done
+       echo ${devs:-none}
+}
+
+src_configure() {
+       local myaudio="wave"
+       use alsa && myaudio+=",alsa"
+       use oss && myaudio+=",oss"
+
+       local sdlconf="--disable-sdl"
+       if use sdl ; then
+               # since SDL can link against DirectFB and trigger a
+               # dependency loop, only link against SDL if it isn't
+               # broken #61592
+               echo 'int main(){}' > sdl-test.c
+               $(tc-getCC) sdl-test.c -lSDL 2>/dev/null \
+                       && sdlconf="--enable-sdl" \
+                       || ewarn "Disabling SDL since libSDL.so is broken"
+       fi
+
+       # fix --with-gfxdrivers= logic, because opengl, vdpau and gles2 are no 
video_cards
+       local gfxdrivers="$(driver_list video_cards ${IUSE_VIDEO_CARDS})"
+       use opengl && gfxdrivers="${gfxdrivers},gl"
+       use vdpau && gfxdrivers="${gfxdrivers},vdpau"
+       use gles2 && gfxdrivers="${gfxdrivers},gles2"
+       gfxdrivers="$(echo ${gfxdrivers} | sed 's/none,//')"
+
+       # fix --with-inputdrivers= logic, don't know where to put "input_hub"
+       local inputdrivers="$(driver_list input_devices ${IUSE_INPUT_DEVICES})"
+       use input_hub && inputdrivers="${inputdrivers},input_hub"
+       inputdrivers="$(echo ${inputdrivers} | sed 's/none,//')"
+
+       # The xine-vdpau flag requires a custom patch to xine-lib which we 
don't carry:
+       # 
http://git.directfb.org/?p=extras/DirectFB-extra.git;a=blob;f=interfaces/IDirectFBVideoProvider/xine-lib-1.2-vdpau-hooks.patch;hb=HEAD
+       econf \
+               $(use_enable static-libs static) \
+               $(use_enable X x11) \
+               $(use_enable divine) \
+               $(use_enable sawman) \
+               $(use_enable fusiondale) \
+               $(use_enable fusionsound) \
+               $(use_enable fbcon fbdev) \
+               $(use_enable cpu_flags_x86_mmx mmx) \
+               $(use_enable cpu_flags_x86_sse sse) \
+               $(use_enable egl) \
+               $(use_enable egl idirectfbgl-egl) \
+               $(use_enable jpeg) \
+               $(use_enable png) \
+               $(use_enable mng) \
+               $(use_enable gstreamer) \
+               $(use_enable gif) \
+               $(use_enable tiff) \
+               $(use_enable imlib2) \
+               $(use_enable pnm) \
+               --disable-svg \
+               $(use_enable mpeg2) \
+               $(use_enable mpeg3 libmpeg3) \
+               --disable-flash \
+               $(use_enable xine) \
+               --disable-xine-vdpau \
+               --disable-ffmpeg \
+               $(use_enable bmp) \
+               $(use_enable jpeg2k jpeg2000) \
+               --disable-openquicktime \
+               --disable-avifile \
+               $(use_enable truetype freetype) \
+               $(use_enable webp) \
+               $(use_enable debug) \
+               $(use_enable zlib) \
+               --disable-video4linux \
+               $(use_enable v4l video4linux2) \
+               $(use_enable vdpau x11vdpau) \
+               $(use_enable multicore) \
+               $(use_enable dynload) \
+               $(use_enable opengl mesa) \
+               $(use_enable drmkms) \
+               --with-fs-drivers="${myaudio}" \
+               $(use_with timidity) \
+               --with-wave \
+               $(use_with vorbis) \
+               $(use_with tremor) \
+               $(use_with mad) \
+               $(use_with cddb cdda) \
+               --with-playlist \
+               ${sdlconf} \
+               --with-gfxdrivers="${gfxdrivers}" \
+               --with-inputdrivers="${inputdrivers}" \
+               --disable-vnc
+}
+
+src_install() {
+       default
+       dodoc fb.modes
+       use doc && dohtml -r docs/html/*
+}
+
+pkg_postinst() {
+       ewarn "Each DirectFB update breaks DirectFB related applications."
+       ewarn "Please run \"revdep-rebuild\" which can be"
+       ewarn "found by emerging the package 'gentoolkit'."
+       ewarn
+       ewarn "If you have an ALPS touchpad, then you might get your mouse"
+       ewarn "unexpectedly set in absolute mode in all DirectFB applications."
+       ewarn "This can be fixed by removing linuxinput from INPUT_DEVICES."
+}

diff --git a/dev-libs/DirectFB/Manifest b/dev-libs/DirectFB/Manifest
new file mode 100644
index 0000000..8da7aac
--- /dev/null
+++ b/dev-libs/DirectFB/Manifest
@@ -0,0 +1,12 @@
+AUX DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch 
1665 SHA256 124fb01a29a4821ec1cf827269f33e4d3c4f0efc268e3d9f6c38eccbd8c155c5 
SHA512 
18e189e5d085c8b87f95e2ea3567f66c3bb90a7242fb83a81dd78264bdcbd7fe77b58479c3f03cd9aee32caae98767bc88dac03230f717a34e981f65d7653eee
 WHIRLPOOL 
e4da8e21049494f6a83fa37704f17fd96be2f6f0aae3573d1ebc2565bd25113f6eb4814d8beb0367f8cef4ed601ae742b29765cf6fdd5266fc034ae25db241ed
+AUX DirectFB-1.6.3-pkgconfig.patch 664 SHA256 
5e77090304e4096665728a1c24f251fff3e97a693692afb12986ba5565ac96f6 SHA512 
1ce162ef7af5ab7b6efcdb786e9e89d569051f2009d1144744befed57ae36109771284b302438c882b550e09a3ced814b550fa039306b4f37c7e1b68675943a7
 WHIRLPOOL 
f5185c2c4b5f1d1252b0067734a4f07299640cbeea67db06da63de96a1ec0d287c4c111e0b6f2621d3ab2a3775e57dd295dade01eecad3ea7ba133e6ff35b37f
+AUX DirectFB-1.6.3-setregion.patch 3812 SHA256 
35c1e46e49d8b9880e177272b83a2fb47b9eed5346bc1ac36697e23c3f0c967c SHA512 
98510a4a40daa46c9d5aa824a09584ab2d1e4a0a5b885fc2893e8af99b16317e5c89279f2889d94545451b63039d24909e8ee051788bce704d403e3fb7ef46af
 WHIRLPOOL 
bc2b84641ce91eff97a87265a44aea7132dbe777a0ab9ddef701d706962879fcc390fff4a7194653f903d4a0a038b22f6bc125a4efdb3291a8d14edc35136a29
+AUX DirectFB-1.7.1-build.patch 839 SHA256 
3705a87656ac9d3383a5a9296f9290fc6fe54d99f22747ad2a63116a89bca71a SHA512 
51a3a88274de35798f93b76accdb345e015da0781218393d5271835ae7c64ff1e38b5b9fe96281511c0057f12e9a952bb6dbba2c54d3f940ace6e1f57d9d1114
 WHIRLPOOL 
432df15397af292527d9386c7805de4f926dafb06e8bf2df0282eea00a39b82657bde96c417006eabe2330fb1cf6936708b004610e05056d68d86b3cdd7e0865
+AUX DirectFB-1.7.5-flags.patch 2003 SHA256 
48f167ab0f392d219a45057c6ab44538312b0bbce702dd4390d37939d3b3dca3 SHA512 
b8f947f338b872436bb1e029d9971852018400aa869121fada260e3ea325f2d5d28d765a4b960b3970644fc91a7ba39d86a0eb3a160473cc467523048833c264
 WHIRLPOOL 
53adb74ea41fffb33f419b394ccb2041fc8a83064fa1312206e558ceec207b826882367e909db03c2c1eafff4ba39cb9d1d015d16740af71cd024c268f386eb6
+AUX DirectFB-1.7.6-cle266.patch 410 SHA256 
89667185062f13a692d6e518c8803fc91f2872d83db1fc4ffe0a189eb3c2b9e6 SHA512 
409f5de16912e78d0053e8438f77ca79995d1d609f0c36064b0dcfe3d46b25d29ca53a44ecec7d000aba5e7f9339d57128651024d34879f51c208fb86c2a9afd
 WHIRLPOOL 
2d40b262eb3bfd9fa2132583ba2819beab7d26f3f8f639c957ae712db40339eb46144df828cb83913f1588dbe854f489d8392d8b8f676dc45c0600ba69eee9ad
+AUX DirectFB-1.7.6-uint32_t.patch 1490 SHA256 
42015a714b623a6f7350033a42afb31a96cc4fba97ebc2623c7e4863e34f370f SHA512 
184db571f44ce8abfaa523d08b1a0025f20a2fb20a69e7e38dd3ff6592504caa2b3893b50e976771cc62406c561b702f338e6750959818c6c709d413b4a3da29
 WHIRLPOOL 
3b8f559b45c6d6411c4084ecf8a0e9902ed382a09863903ddd8bb5a824d35cfdf432d20246a91036fac1656fbe7bc70e383d00f6143b8db978959821f1f80961
+AUX DirectFB-1.7.6-union-sigval.patch 633 SHA256 
eb3c49a77564c4090ddc0e4c6f77124a62afa995b37f98c9828368785c5b5205 SHA512 
a269c786e2ae3a9b4bcb026a5c1554dce1d569d3bc16760bdd0a9880984f8021b4897c515013e42d491306599d3f10a3b4acd1218f67318921a91ed204384837
 WHIRLPOOL 
504bd8118c809c931c4ac8e6d43824088a0bf5604337ea3a26bebb319426e3c61883a62fe3e9a3cba02dfe9f405c62bdc7ce4ecfaa56c4c4daea6f2c3621aece
+AUX DirectFB-1.7.6-use-PTHREAD_MUTEX_RECURSIVE.patch 705 SHA256 
abe846e122d0fb03474ff6cc252a46210356da57142f8315f0740360fde5fcd5 SHA512 
9836d39692d809fb5a4a30fbab0663d8e64cd7406b9df685d632190d134cff9969f4b7e418c8469f27e5bfaa4d25402004e306138c1685398990f73f66c3c09c
 WHIRLPOOL 
bc5a457f4e3b827f72943308bffb6fe24b7f5c4a90e77c355f57c71df68aa5d3adf9c3218267d45a1bf8330bdc990c2833785bf068253e636339037dcba624a0
+DIST DirectFB-1.7.6.tar.gz 5975444 SHA256 
44f32bacfb842ea234599532f8481fe41b5bd2310d2bd101508eb3a5df26c9e1 SHA512 
18cf1aad6c277a6de147a9b0aff1cd7408ddd7c7159ef21dab9a548db7399c681603624e7820b186a29e03edaa7737350a61e2abaec572887e9cc56658bf85a2
 WHIRLPOOL 
2868906bbd2b4e681c6702f164f7ba4f01a0f538aea0c744c6e77ce32b274a967232ef0046ec21b74c9c53c4824182e632159cca5ea0c7c27292cb258257d6a8
+EBUILD DirectFB-1.7.6-r99.ebuild 7027 SHA256 
b656e9d3ed6e20ed996942d22241009d800a84edc146bdab3b6d876058f591bf SHA512 
04b8cb967c76736fda8f6363ec4b1900abf2a6d6d22888da0370d07ef5cc9d31e04a663da3271a34cd95622e560313161b1e64e352d39d4dc39bd2e42f8575b6
 WHIRLPOOL 
93e462d970f11536e987c61bdfbb75f8812a076ba59273603290eee6a1cfae94731a0f6d25fc71eaf11f8794acdf7679090beac9ff1108d89b88969b1219873b
+MISC metadata.xml 1851 SHA256 
d554b7954117c98106bc96875aebe5f8a88c38fcb356a55b1784c3eb3579005a SHA512 
348db55422f923d22fa9ec8f73fcb0c492e412f5177e4e5109bca76a5d3daf03fa346af7c04183cbb1c1b8aea6472eabd7b2e4ea74ec7c4eb2751e2185764257
 WHIRLPOOL 
bd9a0c7ce4fef1fa7ffd54652bc8fa5083cba5f63f589fa3675a49e923fd3003a63f145e1d9d53fdf1cf58d02f321c25f079b0e47137ecece7e0bc1a4ecf7c24

diff --git 
a/dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch
 
b/dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch
new file mode 100644
index 0000000..06f56fe
--- /dev/null
+++ 
b/dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch
@@ -0,0 +1,50 @@
+From 253e1d0d10bdece158f8f68dc48c19ab57d2da29 Mon Sep 17 00:00:00 2001
+From: Mandeep Singh Baines <[email protected]>
+Date: Mon, 18 Mar 2013 19:03:36 -0700
+Subject: [PATCH] atomic: fix compiler error when building for thumb2
+
+Fixed the following error:
+
+{standard input}: Assembler messages:
+{standard input}:179: Error: thumb conditional instruction should be in IT 
block
+-- `strexeq r4,r1,[r2]'
+{standard input}:283: Error: thumb conditional instruction should be in IT 
block
+-- `strexeq r1,r4,[r2]'
+{standard input}:379: Error: thumb conditional instruction should be in IT 
block
+-- `strexeq r1,r2,[r0]'
+make[4]: *** [fifo.lo] Error 1
+
+Fix was to add the appropriate it block.
+
+While I was at it, I optimized the code a bit by:
+
+1) Moved the mov instruction above the ldrex to minimize the number
+of instructions between the ldex and strex as recommeded here:
+http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/BABFFBJB.html
+2) Saved 4 bytes by replacing mov with movs and teq with cmp.
+
+Signed-off-by: Mandeep Singh Baines <[email protected]>
+---
+ lib/direct/atomic.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/lib/direct/atomic.h b/lib/direct/atomic.h
+index 94cb0c9..8dc0dfb 100644
+--- a/lib/direct/atomic.h
++++ b/lib/direct/atomic.h
+@@ -191,9 +191,10 @@ static inline int _D__atomic_cmpxchg(volatile int *ptr, 
int old, int _new)
+ 
+       do {
+               __asm__ __volatile__("@ atomic_cmpxchg\n"
++              "movs   %0, #0\n"
+               "ldrex  %1, [%2]\n"
+-              "mov    %0, #0\n"
+-              "teq    %1, %3\n"
++              "cmp    %1, %3\n"
++              "it     eq\n"
+               "strexeq %0, %4, [%2]\n"
+                   : "=&r" (res), "=&r" (oldval)
+                   : "r" (ptr), "Ir" (old), "r" (_new)
+-- 
+1.7.12.4
+

diff --git a/dev-libs/DirectFB/files/DirectFB-1.6.3-pkgconfig.patch 
b/dev-libs/DirectFB/files/DirectFB-1.6.3-pkgconfig.patch
new file mode 100644
index 0000000..2c71bc9
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.6.3-pkgconfig.patch
@@ -0,0 +1,22 @@
+http://bugs.gentoo.org/200661
+
+--- DirectFB/directfb-config.in
++++ DirectFB/directfb-config.in
+@@ -300,7 +300,7 @@
+        libs="$libs -ldirectfb -lfusion -ldirect @THREADLIB@"
+ 
+        if test -n "$echo_static"; then
+-          libs="$libs @DYNLIB@ @ZLIB_LIBS@"
++          libs="$libs @DYNLIB@ @ZLIB_LIBS@ @SYSFS_LIBS@"
+        fi
+       fi
+ 
+--- DirectFB/directfb.pc.in
++++ DirectFB/directfb.pc.in
+@@ -9,5 +9,5 @@
+ Version: @VERSION@
+ Requires: @DEP_VOODOO@ fusion direct
+ Libs: -L${libdir} -ldirectfb @THREADLIB@ @OSX_LIBS@
+-Libs.private: -L${libdir} @LIBM@ @DYNLIB@ @ZLIB_LIBS@
++Libs.private: -L${libdir} @LIBM@ @DYNLIB@ @ZLIB_LIBS@ @SYSFS_LIBS@
+ Cflags: @THREADFLAGS@ -I@INCLUDEDIR@

diff --git a/dev-libs/DirectFB/files/DirectFB-1.6.3-setregion.patch 
b/dev-libs/DirectFB/files/DirectFB-1.6.3-setregion.patch
new file mode 100644
index 0000000..8d25a51
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.6.3-setregion.patch
@@ -0,0 +1,85 @@
+https://build.opensuse.org/package/view_file?expand=1&file=DirectFB-setregion.patch&package=DirectFB&project=openSUSE%3AFactory
+
+--- gfxdrivers/cyber5k/cyber5k.c
++++ gfxdrivers/cyber5k/cyber5k.c
+@@ -636,7 +636,8 @@ osdSetRegion( CoreLayer
+               CoreLayerRegionConfigFlags  updated,
+               CoreSurface                *surface,
+               CorePalette                *palette,
+-              CoreSurfaceBufferLock      *lock )
++              CoreSurfaceBufferLock      *left_lock,
++              CoreSurfaceBufferLock      *right_lock )
+ {
+      DFBResult ret;
+ 
+@@ -644,7 +645,7 @@ osdSetRegion( CoreLayer
+      ret = oldPrimaryFuncs.SetRegion( layer, oldPrimaryDriverData,
+                                       layer_data, region_data,
+                                       config, updated, surface,
+-                                      palette, lock );
++                                      palette, left_lock, right_lock );
+      if (ret)
+           return ret;
+ 
+--- gfxdrivers/radeon/radeon_crtc1.c
++++ gfxdrivers/radeon/radeon_crtc1.c
+@@ -147,14 +147,15 @@ crtc1SetRegion( CoreLayer
+                 CoreLayerRegionConfigFlags  updated,
+                 CoreSurface                *surface,
+                 CorePalette                *palette,
+-                CoreSurfaceBufferLock      *lock )
++                CoreSurfaceBufferLock      *left_lock,
++                CoreSurfaceBufferLock      *right_lock )
+ {
+      
+      if (updated & ~CLRCF_OPTIONS) {
+           return OldPrimaryLayerFuncs.SetRegion( layer,
+                                                  OldPrimaryLayerDriverData,
+                                                  layer_data, region_data,
+-                                                 config, updated, surface, 
palette, lock );
++                                                 config, updated, surface, 
palette, left_lock, right_lock );
+      }
+ 
+      return DFB_OK;
+--- gfxdrivers/cle266/uc_primary.c
++++ gfxdrivers/cle266/uc_primary.c
+@@ -138,7 +138,8 @@ osdSetRegion( CoreLayer
+               CoreLayerRegionConfigFlags  updated,
+               CoreSurface                *surface,
+               CorePalette                *palette,
+-              CoreSurfaceBufferLock      *lock )
++              CoreSurfaceBufferLock      *left_lock,
++              CoreSurfaceBufferLock      *right_lock )
+ {
+      DFBResult     ret;
+      UcDriverData *ucdrv = (UcDriverData*) driver_data;
+@@ -147,7 +148,7 @@ osdSetRegion( CoreLayer
+      ret = ucOldPrimaryFuncs.SetRegion( layer, ucOldPrimaryDriverData,
+                                         layer_data, region_data,
+                                         config, updated, surface,
+-                                        palette, lock );
++                                        palette, left_lock, right_lock );
+      if (ret)
+           return ret;
+ 
+--- gfxdrivers/unichrome/uc_primary.c
++++ gfxdrivers/unichrome/uc_primary.c
+@@ -135,7 +135,8 @@ osdSetRegion( CoreLayer
+               CoreLayerRegionConfigFlags  updated,
+               CoreSurface                *surface,
+               CorePalette                *palette,
+-              CoreSurfaceBufferLock      *lock )
++              CoreSurfaceBufferLock      *left_lock,
++              CoreSurfaceBufferLock      *right_lock )
+ {
+      DFBResult     ret;
+      UcDriverData *ucdrv = (UcDriverData*) driver_data;
+@@ -144,7 +145,7 @@ osdSetRegion( CoreLayer
+      ret = ucOldPrimaryFuncs.SetRegion( layer, ucOldPrimaryDriverData,
+                                         layer_data, region_data,
+                                         config, updated, surface,
+-                                        palette, lock );
++                                        palette, left_lock, right_lock );
+      if (ret)
+           return ret;
+ 

diff --git a/dev-libs/DirectFB/files/DirectFB-1.7.1-build.patch 
b/dev-libs/DirectFB/files/DirectFB-1.7.1-build.patch
new file mode 100644
index 0000000..28c92eb
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.1-build.patch
@@ -0,0 +1,27 @@
+Author: hasufell <[email protected]>
+Date:   Sat Dec 28 23:52:03 2013 +0100
+
+    * INCLUDES is deprecated, use AM_CPPFLAGS instead
+    * add missing SVG_CFLAGS
+
+--- a/interfaces/IDirectFBImageProvider/Makefile.am
++++ b/interfaces/IDirectFBImageProvider/Makefile.am
+@@ -77,15 +77,14 @@ else
+ FFMPEG_PROVIDER_LTLIB =
+ endif
+ 
+-INCLUDES = \
++AM_CPPFLAGS = \
+       -I$(top_builddir)/include       \
+       -I$(top_builddir)/lib   \
+       -I$(top_builddir)/src   \
+       -I$(top_srcdir)/include \
+       -I$(top_srcdir)/lib     \
+-      -I$(top_srcdir)/src
+-
+-AM_CPPFLAGS = -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" $(LIBJPEG_CFLAGS) 
$(LIBPNG_CFLAGS) $(FFMPEG_CFLAGS)
++      -I$(top_srcdir)/src \
++      -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" $(LIBJPEG_CFLAGS) 
$(LIBPNG_CFLAGS) $(FFMPEG_CFLAGS) $(SVG_CFLAGS)
+ 
+ idirectfbimageprovider_LTLIBRARIES = \
+       libidirectfbimageprovider_dfiff.la      \

diff --git a/dev-libs/DirectFB/files/DirectFB-1.7.5-flags.patch 
b/dev-libs/DirectFB/files/DirectFB-1.7.5-flags.patch
new file mode 100644
index 0000000..485cd19
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.5-flags.patch
@@ -0,0 +1,63 @@
+Author: hasufell <[email protected]>
+Date:   Sat Dec 28 23:48:53 2013 +0100
+
+    * respect system flags
+    * remove Werror, it breaks the build
+
+--- a/configure.in
++++ b/configure.in
+@@ -194,12 +194,7 @@ AM_CONDITIONAL(X11VDPAU_CORE, test "$enable_x11vdpau" = 
"yes")
+ AC_CHECK_HEADERS(linux/compiler.h linux/unistd.h asm/page.h signal.h)
+ 
+ 
+-dnl Clear default CFLAGS
+-if test x"$CFLAGS" = x"-g -O2"; then
+-  CFLAGS=
+-fi
+-
+-CFLAGS="-ffast-math -pipe $CFLAGS"
++CFLAGS="-ffast-math $CFLAGS"
+ 
+ DFB_INTERNAL_CFLAGS="-D_GNU_SOURCE $DFB_INTERNAL_CFLAGS"
+ 
+@@ -467,7 +462,7 @@ AC_ARG_ENABLE(debug,
+                              [enable debugging @<:@default=no@:>@]),
+               [], [enable_debug=no])
+ if test "$enable_debug" = "yes"; then
+-    CFLAGS="-g3 -O0 -fno-inline -Wno-inline $CFLAGS"
++    CFLAGS="-fno-inline -Wno-inline $CFLAGS"
+     DIRECT_BUILD_DEBUG=1
+ else
+     DIRECT_BUILD_DEBUG=0
+@@ -483,13 +478,8 @@ AC_ARG_ENABLE(debug-support,
+               [], [enable_debug_support=yes])
+ if test "$enable_debug_support" = "yes" || test "$enable_debug" = "yes"; then
+     enable_debug_support=yes
+-    if test "$enable_debug" = "no"; then
+-        CFLAGS="-g2 $CFLAGS"
+-    fi
+-    CFLAGS="-O3 $CFLAGS"
+     DIRECT_BUILD_DEBUGS=1
+ else
+-    CFLAGS="-O3 -g0 $CFLAGS"
+     DIRECT_BUILD_DEBUGS=0
+ fi
+ AM_CONDITIONAL(ENABLE_DEBUGS, test "$enable_debug_support" = "yes")
+@@ -2750,8 +2750,6 @@
+ 
+ AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
+ 
+-CFLAGS="$CFLAGS -Werror-implicit-function-declaration"
+-
+ AC_ARG_ENABLE(extra-warnings,
+               AC_HELP_STRING([--enable-extra-warnings],
+                              [enable extra warnings @<:@default=no@:>@]),
+@@ -2761,7 +2759,7 @@
+ fi
+ 
+ if test "$GCC" = "yes"; then
+-  CFLAGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-strict-aliasing 
-Werror-implicit-function-declaration $CFLAGS"
++  CFLAGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-strict-aliasing 
$CFLAGS"
+   CXXFLAGS="-Wall -Wno-strict-aliasing -std=$CXXSTD $CXXFLAGS"
+ fi
+ 

diff --git a/dev-libs/DirectFB/files/DirectFB-1.7.6-cle266.patch 
b/dev-libs/DirectFB/files/DirectFB-1.7.6-cle266.patch
new file mode 100644
index 0000000..ff72f53
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.6-cle266.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/527986
+
+--- a/gfxdrivers/cle266/uc_overlay.c    2015-02-10 15:26:24.931309401 -0800
++++ b/gfxdrivers/cle266/uc_overlay.c    2015-02-10 15:26:47.229309401 -0800
+@@ -246,7 +246,7 @@
+     dfb_surface_flip(surface, false);
+
+     ucovl->field = 0;
+-    ucovl->lock = lock;
++    ucovl->lock = left_lock;
+
+     ret = uc_ovl_update(ucdrv, ucovl, UC_OVL_FLIP, surface, left_lock);
+     if (ret)

diff --git a/dev-libs/DirectFB/files/DirectFB-1.7.6-uint32_t.patch 
b/dev-libs/DirectFB/files/DirectFB-1.7.6-uint32_t.patch
new file mode 100644
index 0000000..00a1204
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.6-uint32_t.patch
@@ -0,0 +1,33 @@
+diff -Naur 
DirectFB-1.7.6.orig/gfxdrivers/davinci/patches/ti-davinci-2.6.10-mvl401-fbio_set_start.patch
 
DirectFB-1.7.6/gfxdrivers/davinci/patches/ti-davinci-2.6.10-mvl401-fbio_set_start.patch
+--- 
DirectFB-1.7.6.orig/gfxdrivers/davinci/patches/ti-davinci-2.6.10-mvl401-fbio_set_start.patch
       2013-07-16 22:49:59.000000000 -0400
++++ 
DirectFB-1.7.6/gfxdrivers/davinci/patches/ti-davinci-2.6.10-mvl401-fbio_set_start.patch
    2015-07-18 16:59:00.053979342 -0400
+@@ -3,7 +3,7 @@
+ --- include/video/davincifb.h (revision 765)
+ +++ include/video/davincifb.h (working copy)
+ @@ -40,6 +40,21 @@
+-      u_int32_t zoom_v;
++      uint32_t zoom_v;
+  } zoom_params_t;
+  
+ +
+@@ -11,7 +11,7 @@
+ +     int             offset;         /* offset from smem_start */
+ +     unsigned long   physical;       /* absolute physical address when 
offset < 0 */
+ +
+-+     u_int64_t       sync;           /* input:  target sync counter for 
change or 0 for no sync at all,
+++     uint64_t        sync;           /* input:  target sync counter for 
change or 0 for no sync at all,
+ +                                        output: sync counter of actual 
change or 0 if still pending */
+ +} fb_set_start_t;
+ +
+diff -Naur DirectFB-1.7.6.orig/systems/fbdev/fbdev.h 
DirectFB-1.7.6/systems/fbdev/fbdev.h
+--- DirectFB-1.7.6.orig/systems/fbdev/fbdev.h  2013-12-18 19:16:24.000000000 
-0500
++++ DirectFB-1.7.6/systems/fbdev/fbdev.h       2015-07-18 16:58:55.508979560 
-0400
+@@ -50,7 +50,7 @@
+ #include "vt.h"
+ 
+ #ifndef FBIO_WAITFORVSYNC
+-#define FBIO_WAITFORVSYNC     _IOW('F', 0x20, u_int32_t)
++#define FBIO_WAITFORVSYNC     _IOW('F', 0x20, uint32_t)
+ #endif
+ 
+ 

diff --git a/dev-libs/DirectFB/files/DirectFB-1.7.6-union-sigval.patch 
b/dev-libs/DirectFB/files/DirectFB-1.7.6-union-sigval.patch
new file mode 100644
index 0000000..f5d65dd
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.6-union-sigval.patch
@@ -0,0 +1,12 @@
+diff -Naur DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/system.c 
DirectFB-1.7.6/lib/direct/os/linux/glibc/system.c
+--- DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/system.c     2014-07-15 
02:54:58.000000000 -0400
++++ DirectFB-1.7.6/lib/direct/os/linux/glibc/system.c  2015-07-18 
16:55:35.077989166 -0400
+@@ -111,7 +111,7 @@
+ void
+ direct_trap( const char *domain, int sig )
+ {
+-     sigval_t val;
++     union sigval val;
+ 
+      if (direct_config->delay_trap_ms) {
+           D_LOG( Direct_Trap, VERBOSE, "NOT RAISING signal %d from %s, 
waiting for %dms... attach gdb --pid=%d\n", sig, domain, 
direct_config->delay_trap_ms, getpid() );

diff --git 
a/dev-libs/DirectFB/files/DirectFB-1.7.6-use-PTHREAD_MUTEX_RECURSIVE.patch 
b/dev-libs/DirectFB/files/DirectFB-1.7.6-use-PTHREAD_MUTEX_RECURSIVE.patch
new file mode 100644
index 0000000..6d75f13
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.6-use-PTHREAD_MUTEX_RECURSIVE.patch
@@ -0,0 +1,12 @@
+diff -Naur DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/mutex.h 
DirectFB-1.7.6/lib/direct/os/linux/glibc/mutex.h
+--- DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/mutex.h      2013-12-18 
19:16:24.000000000 -0500
++++ DirectFB-1.7.6/lib/direct/os/linux/glibc/mutex.h   2015-07-18 
16:57:47.178982835 -0400
+@@ -46,7 +46,7 @@
+ 
/**********************************************************************************************************************/
+ 
+ #define DIRECT_MUTEX_INITIALIZER(name)            { PTHREAD_MUTEX_INITIALIZER 
}
+-#define DIRECT_RECURSIVE_MUTEX_INITIALIZER(name)  { 
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP }
++#define DIRECT_RECURSIVE_MUTEX_INITIALIZER(name)  { PTHREAD_MUTEX_RECURSIVE }
+ 
+ #endif
+ 

diff --git a/dev-libs/DirectFB/metadata.xml b/dev-libs/DirectFB/metadata.xml
new file mode 100644
index 0000000..4145b86
--- /dev/null
+++ b/dev-libs/DirectFB/metadata.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <herd>graphics</herd>
+       <longdescription>
+               DirectFB is a thin library that provides hardware graphics
+               acceleration, input device handling and abstraction, integrated
+               windowing system with support for translucent windows and
+               multiple display layers on top of the Linux Framebuffer Device.
+               It is a complete hardware abstraction layer with software
+               fallbacks for every graphics operation that is not supported
+               by the underlying hardware. DirectFB adds graphical power to
+               embedded systems and sets a new standard for graphics under
+               Linux.
+       </longdescription>
+       <use>
+               <flag name="bmp">build BMP image provider</flag>
+               <flag name="divine">enable DiVine</flag>
+               <flag name="drmkms">build with DRM/KMS support</flag>
+               <flag name="dynload">enable dynload support</flag>
+               <flag name="egl">build with EGL support</flag>
+               <flag name="fusiondale">enable FusionDale</flag>
+               <flag name="fusionsound">enable FusionSound</flag>
+               <flag name="gles2">build gles2 gfxdriver</flag>
+               <flag name="imlib2">build Imlib2 image provider</flag>
+               <flag name="input_hub">provides an asynchronous interface
+                       to the input devices available and those being
+                       added/removed</flag>
+               <flag name="mpeg2">build MPEG2 image provider</flag>
+               <flag name="mpeg3">build Libmpeg3 video provider</flag>
+               <flag name="multicore">enable multicore support</flag>
+               <flag name="pnm">build PNM (PBM/PGM/PPM) image provider</flag>
+               <flag name="sawman">enable SaWMan (window manager and
+                       application manager)</flag>
+               <flag name="swfdec">build Swfdec (Flash decoder) video
+                       provider</flag>
+               <flag name="tremor">build Ogg/Vorbis music provider using
+                       Tremor</flag>
+               <flag name="webp">build WebP image provider</flag>
+       </use>
+</pkgmetadata>

Reply via email to