summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/DirectFB')
-rw-r--r--dev-libs/DirectFB/DirectFB-1.4.9-r1.ebuild123
-rw-r--r--dev-libs/DirectFB/DirectFB-1.6.3-r1.ebuild151
-rw-r--r--dev-libs/DirectFB/DirectFB-1.7.1.ebuild201
-rw-r--r--dev-libs/DirectFB/DirectFB-1.7.5.ebuild201
-rw-r--r--dev-libs/DirectFB/DirectFB-1.7.6.ebuild204
-rw-r--r--dev-libs/DirectFB/Manifest5
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.1.1-pkgconfig.patch22
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.2.0-headers.patch16
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.2.7-CFLAGS.patch19
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.4.9-libpng-1.5.patch244
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch50
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.6.3-build.patch33
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.6.3-flags.patch11
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.6.3-pkgconfig.patch22
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.6.3-setregion.patch85
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.7.1-build.patch27
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.7.1-flags.patch63
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.7.5-flags.patch63
-rw-r--r--dev-libs/DirectFB/files/DirectFB-1.7.6-cle266.patch13
-rw-r--r--dev-libs/DirectFB/metadata.xml41
20 files changed, 1594 insertions, 0 deletions
diff --git a/dev-libs/DirectFB/DirectFB-1.4.9-r1.ebuild b/dev-libs/DirectFB/DirectFB-1.4.9-r1.ebuild
new file mode 100644
index 000000000000..d904a72fcc33
--- /dev/null
+++ b/dev-libs/DirectFB/DirectFB-1.4.9-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit 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 gl omap pxa3xx sh772x
+IUSE_VIDEO_CARDS=" intel mach64 mga neomagic nsc nvidia r128 radeon s3 savage 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="alpha amd64 arm hppa ia64 -mips ppc ppc64 sh -sparc x86"
+IUSE="debug doc fbcon gif jpeg cpu_flags_x86_mmx png sdl cpu_flags_x86_sse static-libs truetype v4l X zlib ${IUV} ${IUD}"
+
+RDEPEND="sdl? ( media-libs/libsdl )
+ gif? ( media-libs/giflib )
+ png? ( media-libs/libpng )
+ jpeg? ( virtual/jpeg )
+ zlib? ( sys-libs/zlib )
+ truetype? ( >=media-libs/freetype-2.0.1 )
+ X? ( x11-libs/libXext x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xextproto x11-proto/xproto )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.2.7-CFLAGS.patch \
+ "${FILESDIR}"/${PN}-1.2.0-headers.patch \
+ "${FILESDIR}"/${PN}-1.1.1-pkgconfig.patch \
+ "${FILESDIR}"/${PN}-1.4.9-libpng-1.5.patch
+
+ # the media subdir uses sqrt(), so make sure it links in -lm
+ sed -i \
+ -e '/libdirectfb_media_la_LIBADD/s:$: -lm:' \
+ src/media/Makefile.in || die
+
+ # Avoid invoking `ld` directly #300779
+ find . -name Makefile.in -exec sed -i \
+ '/[$](LD)/s:$(LD) -o $@ -r:$(CC) $(LDFLAGS) $(CFLAGS) -Wl,-r -nostdlib -o $@:' {} +
+}
+
+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 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
+
+ econf \
+ --disable-dependency-tracking \
+ $(use_enable static-libs static) \
+ $(use_enable X x11) \
+ $(use_enable fbcon fbdev) \
+ $(use_enable cpu_flags_x86_mmx mmx) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable jpeg) \
+ $(use_enable png) \
+ $(use_enable gif) \
+ $(use_enable truetype freetype) \
+ $(use_enable debug) \
+ $(use_enable zlib) \
+ --disable-video4linux \
+ $(use_enable v4l video4linux2) \
+ ${sdlconf} \
+ --with-gfxdrivers="$(driver_list video_cards ${IUSE_VIDEO_CARDS})" \
+ --with-inputdrivers="$(driver_list input_devices ${IUSE_INPUT_DEVICES})" \
+ --disable-vnc
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc fb.modes AUTHORS ChangeLog NEWS README* TODO
+ 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/DirectFB-1.6.3-r1.ebuild b/dev-libs/DirectFB/DirectFB-1.6.3-r1.ebuild
new file mode 100644
index 000000000000..59a5e29edd35
--- /dev/null
+++ b/dev-libs/DirectFB/DirectFB-1.6.3-r1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="~alpha ~amd64 ~arm ~hppa ~ia64 -mips ~ppc ~ppc64 ~sh -sparc ~x86"
+IUSE="bmp debug +dynload doc fbcon gif gles2 imlib2 input_hub jpeg jpeg2k cpu_flags_x86_mmx mng mpeg2 multicore opengl png pnm sdl cpu_flags_x86_sse static-libs svg truetype v4l vdpau X zlib ${IUV} ${IUD}"
+REQUIRED_USE="gles2? ( opengl )"
+
+# gstreamer useflag broken
+# gstreamer? ( media-libs/FusionSound media-libs/gst-plugins-base:0.10 )
+# $(use_enable gstreamer) \
+RDEPEND="
+ gif? ( media-libs/giflib )
+ imlib2? ( media-libs/imlib2 )
+ jpeg? ( virtual/jpeg )
+ jpeg2k? ( media-libs/jasper[jpeg] )
+ mng? ( media-libs/libmng )
+ opengl? ( media-libs/mesa[gbm,egl,gles2?] x11-libs/libdrm )
+ png? ( media-libs/libpng:0 )
+ sdl? ( media-libs/libsdl )
+ svg? ( x11-libs/libsvg-cairo )
+ truetype? ( >=media-libs/freetype-2.0.1 )
+ vdpau? ( x11-proto/xproto x11-libs/libX11 x11-libs/libXext x11-libs/libvdpau )
+ X? ( x11-libs/libXext x11-libs/libX11 )
+ zlib? ( sys-libs/zlib ) "
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xextproto x11-proto/xproto )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-flags.patch \
+ "${FILESDIR}"/${P}-pkgconfig.patch \
+ "${FILESDIR}"/${P}-build.patch \
+ "${FILESDIR}"/${P}-setregion.patch \
+ "${FILESDIR}"/${P}-atomic-fix-compiler-error-when-building-for-thumb2.patch
+
+ 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 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,//')"
+
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable X x11) \
+ $(use_enable fbcon fbdev) \
+ $(use_enable cpu_flags_x86_mmx mmx) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable jpeg) \
+ $(use_enable png) \
+ $(use_enable mng) \
+ $(use_enable gif) \
+ $(use_enable imlib2) \
+ $(use_enable pnm) \
+ $(use_enable svg) \
+ $(use_enable mpeg2) \
+ $(use_enable bmp) \
+ $(use_enable jpeg2k jpeg2000) \
+ $(use_enable truetype freetype) \
+ $(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) \
+ ${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/DirectFB-1.7.1.ebuild b/dev-libs/DirectFB/DirectFB-1.7.1.ebuild
new file mode 100644
index 000000000000..15012fd530fd
--- /dev/null
+++ b/dev-libs/DirectFB/DirectFB-1.7.1.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="~alpha ~amd64 ~arm ~hppa ~ia64 -mips ~ppc ~ppc64 ~sh -sparc ~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 svg 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 )
+ svg? ( x11-libs/libsvg-cairo )
+ 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}"/${P}-flags.patch \
+ "${FILESDIR}"/${PN}-1.6.3-pkgconfig.patch \
+ "${FILESDIR}"/${P}-build.patch \
+ "${FILESDIR}"/${PN}-1.6.3-setregion.patch \
+ "${FILESDIR}"/${PN}-1.6.3-atomic-fix-compiler-error-when-building-for-thumb2.patch
+ sed -i \
+ -e '/#define RASPBERRY_PI/d' \
+ systems/egl/egl_system.c || die #497124
+
+ 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) \
+ $(use_enable 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/DirectFB-1.7.5.ebuild b/dev-libs/DirectFB/DirectFB-1.7.5.ebuild
new file mode 100644
index 000000000000..3cb9a398ad0b
--- /dev/null
+++ b/dev-libs/DirectFB/DirectFB-1.7.5.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="~alpha ~amd64 ~arm ~hppa ~ia64 -mips ~ppc ~ppc64 ~sh -sparc ~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 svg 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 )
+ svg? ( x11-libs/libsvg-cairo )
+ 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
+ sed -i \
+ -e '/#define RASPBERRY_PI/d' \
+ systems/egl/egl_system.c || die #497124
+
+ 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) \
+ $(use_enable 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/DirectFB-1.7.6.ebuild b/dev-libs/DirectFB/DirectFB-1.7.6.ebuild
new file mode 100644
index 000000000000..99d1bded1d94
--- /dev/null
+++ b/dev-libs/DirectFB/DirectFB-1.7.6.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="~alpha ~amd64 ~arm ~hppa ~ia64 -mips ~ppc ~ppc64 ~sh -sparc ~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
+ 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 000000000000..18dfc4e9b722
--- /dev/null
+++ b/dev-libs/DirectFB/Manifest
@@ -0,0 +1,5 @@
+DIST DirectFB-1.4.9.tar.gz 3095137 SHA256 988a40dbc81fe1ecaf69a3581ed49bf4f6bbb584cb54de24cba154d3ada7a228 SHA512 ec7e03f9f3bfffafd0d84676b79845fabe59d61ac278adf4e3cd03562638529a24ff76bd606c881926cae335da00f71541e2245d0aecd4af957b95ea66c7d969 WHIRLPOOL 310c079e0f396828ddfdec0695e26a04fbea2a8a9fd90066212cf70e94a371c8b0f8b29141374db788ac247a92d01e19b0d1ddc36c78beefb6cef5aeefd173e1
+DIST DirectFB-1.6.3.tar.gz 4296908 SHA256 7a96aced0f69b2ec0810e9923068e61c21e6b19dd593e09394c872414df75e70 SHA512 86fb98951a4dc579b0d60e96976e6d85bf99e35f2fbd0d5f7cdc3d7c9ea0242052ff8dbb46bfb093e70439158cda37000e67d2a05265d3a6d2e7ac7231c2ebb7 WHIRLPOOL ce9d1f3a1e7e9aaed3572244390c0dec87faa5e8af1a58153ad849774e08be0037f42983852de323cab745dc6b3d018640ec2d5987270b6a4b5ab7595bbd97aa
+DIST DirectFB-1.7.1.tar.gz 5875460 SHA256 dd7de38b3cd1408411b37ca28ec73e14b7672e5e28256b7bf91826240c81f519 SHA512 caf24c04b8155b9b9dbea321c627925f60809aa7edd1ab4f9fcf28a40e14accdb2a4226f5de7a26ab5928b7df7fd85c616a966d036800ba2a675724314065982 WHIRLPOOL 9d1448b48e8fec0dac633e5afd6eb92d48edfa3874998d88d50a7dec99c89a20d738cfbcf0aef8cff346cffc0901bf5e675c6df92bbf97a35880add34877b90d
+DIST DirectFB-1.7.5.tar.gz 5996591 SHA256 7b76d4a48aa71cce4d5e1878afc548cc48f21d55751d8d5aa4c4cdfcbb40ed03 SHA512 d447f2c3892d90902773ae58e0f0cc87b384070f6f5d63a2412138d7c4a53288b688092fa681e6489dcbf36b2bd48c3e3aab162da52680499841b07b5a6daa4f WHIRLPOOL 123e1ab63e556fa50c9a4b288a773f55d3ab46fe4ed5d32b2198f140fde9afaa98167112a3bfbb9e0496349463e37ea36a32200f278b7bdc1cfb1b9dfbabafb8
+DIST DirectFB-1.7.6.tar.gz 5975444 SHA256 44f32bacfb842ea234599532f8481fe41b5bd2310d2bd101508eb3a5df26c9e1 SHA512 18cf1aad6c277a6de147a9b0aff1cd7408ddd7c7159ef21dab9a548db7399c681603624e7820b186a29e03edaa7737350a61e2abaec572887e9cc56658bf85a2 WHIRLPOOL 2868906bbd2b4e681c6702f164f7ba4f01a0f538aea0c744c6e77ce32b274a967232ef0046ec21b74c9c53c4824182e632159cca5ea0c7c27292cb258257d6a8
diff --git a/dev-libs/DirectFB/files/DirectFB-1.1.1-pkgconfig.patch b/dev-libs/DirectFB/files/DirectFB-1.1.1-pkgconfig.patch
new file mode 100644
index 000000000000..01a119ec7aec
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.1.1-pkgconfig.patch
@@ -0,0 +1,22 @@
+http://bugs.gentoo.org/200661
+
+--- DirectFB/directfb-config.in
++++ DirectFB/directfb-config.in
+@@ -306,7 +306,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
+@@ -8,5 +8,5 @@
+ Version: @VERSION@
+ Requires: fusion direct
+ Libs: -L${libdir} -ldirectfb @THREADLIB@ @OSX_LIBS@
+-Libs.private: -L${libdir} @DYNLIB@ @ZLIB_LIBS@
++Libs.private: -L${libdir} @DYNLIB@ @ZLIB_LIBS@ @SYSFS_LIBS@
+ Cflags: @THREADFLAGS@ -I@INCLUDEDIR@
diff --git a/dev-libs/DirectFB/files/DirectFB-1.2.0-headers.patch b/dev-libs/DirectFB/files/DirectFB-1.2.0-headers.patch
new file mode 100644
index 000000000000..dc2e6d33be28
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.2.0-headers.patch
@@ -0,0 +1,16 @@
+Don't rely on the kernel to tell us what the cpu target is ... we'll just
+use the default values all the time instead.
+
+http://bugs.gentoo.org/152614
+
+--- lib/direct/ppcasm_memcpy_cachable.S
++++ lib/direct/ppcasm_memcpy_cachable.S
+@@ -34,8 +34,6 @@
+
+ #define __ASSEMBLY__
+
+-#include <linux/config.h>
+-
+ #if defined(CONFIG_8xx) || defined(CONFIG_403GCX)
+ #define L1_CACHE_LINE_SIZE 16
+ #define LG_L1_CACHE_LINE_SIZE 4
diff --git a/dev-libs/DirectFB/files/DirectFB-1.2.7-CFLAGS.patch b/dev-libs/DirectFB/files/DirectFB-1.2.7-CFLAGS.patch
new file mode 100644
index 000000000000..92e3ed8bdda7
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.2.7-CFLAGS.patch
@@ -0,0 +1,19 @@
+--- DirectFB-1.2.7/configure
++++ DirectFB-1.2.7/configure
+@@ -22953,8 +22953,6 @@
+ CFLAGS=
+ fi
+
+-CFLAGS="-O3 -ffast-math -pipe $CFLAGS"
+-
+ DFB_INTERNAL_CFLAGS="-D_GNU_SOURCE $DFB_INTERNAL_CFLAGS"
+
+ # Check whether --enable-extra-warnings was given.
+@@ -23622,7 +23620,6 @@
+ fi
+
+ if test "$enable_debug" = "yes"; then
+- CFLAGS="$CFLAGS -g3 -fno-inline -Wno-inline"
+ DIRECT_BUILD_DEBUG=1
+ else
+ DIRECT_BUILD_DEBUG=0
diff --git a/dev-libs/DirectFB/files/DirectFB-1.4.9-libpng-1.5.patch b/dev-libs/DirectFB/files/DirectFB-1.4.9-libpng-1.5.patch
new file mode 100644
index 000000000000..e428afbaf7c3
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.4.9-libpng-1.5.patch
@@ -0,0 +1,244 @@
+From 83180b25e90721e717bf37c5332c22713508786e Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 20 Feb 2011 19:18:19 -0500
+Subject: [PATCH] png: add support for libpng 1.5.x
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ .../idirectfbimageprovider_png.c | 56 ++++++++++++-------
+ 1 files changed, 35 insertions(+), 21 deletions(-)
+
+diff --git a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
+index 6d65ea3..7d82c5c 100644
+--- a/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
++++ b/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c
+@@ -207,7 +207,7 @@ Construct( IDirectFBImageProvider *thiz,
+ if (!data->png_ptr)
+ goto error;
+
+- if (setjmp( data->png_ptr->jmpbuf )) {
++ if (setjmp( png_jmpbuf( data->png_ptr ))) {
+ D_ERROR( "ImageProvider/PNG: Error reading header!\n" );
+ goto error;
+ }
+@@ -292,7 +292,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ rect = dst_data->area.wanted;
+ }
+
+- if (setjmp( data->png_ptr->jmpbuf )) {
++ if (setjmp( png_jmpbuf( data->png_ptr ))) {
+ D_ERROR( "ImageProvider/PNG: Error during decoding!\n" );
+
+ if (data->stage < STAGE_IMAGE)
+@@ -327,6 +327,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ }
+ else {
+ CoreSurfaceBufferLock lock;
++ png_byte bit_depth = png_get_bit_depth( data->png_ptr, data->info_ptr );
+
+ ret = dfb_surface_lock_buffer( dst_surface, CSBR_BACK, CSAID_CPU, CSAF_WRITE, &lock );
+ if (ret)
+@@ -334,7 +335,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+
+ switch (data->color_type) {
+ case PNG_COLOR_TYPE_PALETTE:
+- if (dst_surface->config.format == DSPF_LUT8 && data->info_ptr->bit_depth == 8) {
++ if (dst_surface->config.format == DSPF_LUT8 && bit_depth == 8) {
+ /*
+ * Special indexed PNG to LUT8 loading.
+ */
+@@ -377,7 +378,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ }
+ else {
+ if (data->color_type == PNG_COLOR_TYPE_GRAY) {
+- int num = 1 << data->info_ptr->bit_depth;
++ int num = 1 << bit_depth;
+
+ for (x=0; x<num; x++) {
+ int value = x * 255 / (num - 1);
+@@ -386,7 +387,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+ }
+ }
+
+- switch (data->info_ptr->bit_depth) {
++ switch (bit_depth) {
+ case 8:
+ for (y=0; y<data->height; y++) {
+ u8 *S = data->image + data->pitch * y;
+@@ -441,7 +442,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDirectFBImageProvider *thiz,
+
+ default:
+ D_ERROR( "ImageProvider/PNG: Unsupported indexed bit depth %d!\n",
+- data->info_ptr->bit_depth );
++ bit_depth );
+ }
+
+ dfb_scale_linear_32( image_argb, data->width, data->height,
+@@ -594,16 +595,26 @@ png_info_callback( png_structp png_read_ptr,
+ NULL, NULL, NULL );
+
+ if (png_get_valid( data->png_ptr, data->info_ptr, PNG_INFO_tRNS )) {
++ png_bytep trans;
++ png_color_16p trans_color;
++ int num_trans;
++
++ png_get_tRNS( data->png_ptr, data->info_ptr, &trans, &num_trans, &trans_color );
++
+ data->color_keyed = true;
+
+ /* generate color key based on palette... */
+ if (data->color_type == PNG_COLOR_TYPE_PALETTE) {
+ u32 key;
+- png_colorp palette = data->info_ptr->palette;
+- png_bytep trans = data->info_ptr->trans_alpha;
+- int num_colors = MIN( MAXCOLORMAPSIZE,
+- data->info_ptr->num_palette );
+- u8 cmap[3][num_colors];
++ png_colorp palette;
++ int num_colors;
++ u8 *cmap[3];
++
++ png_get_PLTE( data->png_ptr, data->info_ptr, &palette, &num_colors );
++ num_colors = MIN( MAXCOLORMAPSIZE, num_colors );
++ cmap[0] = alloca (num_colors);
++ cmap[1] = alloca (num_colors);
++ cmap[2] = alloca (num_colors);
+
+ for (i=0; i<num_colors; i++) {
+ cmap[0][i] = palette[i].red;
+@@ -613,7 +624,7 @@ png_info_callback( png_structp png_read_ptr,
+
+ key = FindColorKey( num_colors, &cmap[0][0] );
+
+- for (i=0; i<data->info_ptr->num_trans; i++) {
++ for (i=0; i<num_trans; i++) {
+ if (!trans[i]) {
+ palette[i].red = (key & 0xff0000) >> 16;
+ palette[i].green = (key & 0x00ff00) >> 8;
+@@ -625,20 +636,23 @@ png_info_callback( png_structp png_read_ptr,
+ }
+ else {
+ /* ...or based on trans rgb value */
+- png_color_16p trans = &data->info_ptr->trans_color;
+-
+- data->color_key = (((trans->red & 0xff00) << 8) |
+- ((trans->green & 0xff00)) |
+- ((trans->blue & 0xff00) >> 8));
++ data->color_key = (((trans_color->red & 0xff00) << 8) |
++ ((trans_color->green & 0xff00)) |
++ ((trans_color->blue & 0xff00) >> 8));
+ }
+ }
+
+ switch (data->color_type) {
+ case PNG_COLOR_TYPE_PALETTE: {
+- png_colorp palette = data->info_ptr->palette;
+- png_bytep trans = data->info_ptr->trans_alpha;
+- int num_trans = data->info_ptr->num_trans;
+- int num_colors = MIN( MAXCOLORMAPSIZE, data->info_ptr->num_palette );
++ png_colorp palette;
++ png_bytep trans;
++ png_color_16p trans_color;
++ int num_trans;
++ int num_colors;
++
++ png_get_PLTE( data->png_ptr, data->info_ptr, &palette, &num_colors );
++ num_colors = MIN( MAXCOLORMAPSIZE, num_colors );
++ png_get_tRNS( data->png_ptr, data->info_ptr, &trans, &num_trans, &trans_color );
+
+ for (i=0; i<num_colors; i++) {
+ data->colors[i].a = (i < num_trans) ? trans[i] : 0xff;
+--
+1.7.4.1
+
+From 7a2a36fada3ecdd7f48fcfd782a552598477a8f5 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 20 Feb 2011 19:38:50 -0500
+Subject: [PATCH] tools: add support for libpng 1.5.x
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ tools/directfb-csource.c | 20 +++++++++++++-------
+ tools/mkdfiff.c | 2 +-
+ tools/mkdgifft.cpp | 2 +-
+ 3 files changed, 15 insertions(+), 9 deletions(-)
+
+diff --git a/tools/directfb-csource.c b/tools/directfb-csource.c
+index 8f2cbf0..487ea3c 100644
+--- a/tools/directfb-csource.c
++++ b/tools/directfb-csource.c
+@@ -338,7 +338,7 @@ static DFBResult load_image (const char *filename,
+ if (!png_ptr)
+ goto cleanup;
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf (png_ptr))) {
+ if (desc->preallocated[0].data) {
+ free (desc->preallocated[0].data);
+ desc->preallocated[0].data = NULL;
+@@ -405,17 +405,22 @@ static DFBResult load_image (const char *filename,
+ }
+
+ switch (src_format) {
+- case DSPF_LUT8:
+- if (info_ptr->num_palette) {
++ case DSPF_LUT8: {
++ png_colorp png_palette;
++ int num_palette;
++
++ png_get_PLTE( png_ptr, info_ptr, &png_palette, &num_palette );
++
++ if (num_palette) {
+ png_byte *alpha;
+ int i, num;
+
+- *palette_size = MIN (info_ptr->num_palette, 256);
++ *palette_size = MIN (num_palette, 256);
+ for (i = 0; i < *palette_size; i++) {
+ palette[i].a = 0xFF;
+- palette[i].r = info_ptr->palette[i].red;
+- palette[i].g = info_ptr->palette[i].green;
+- palette[i].b = info_ptr->palette[i].blue;
++ palette[i].r = png_palette[i].red;
++ palette[i].g = png_palette[i].green;
++ palette[i].b = png_palette[i].blue;
+ }
+ if (png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS)) {
+ png_get_tRNS (png_ptr, info_ptr, &alpha, &num, NULL);
+@@ -424,6 +429,7 @@ static DFBResult load_image (const char *filename,
+ }
+ }
+ break;
++ }
+ case DSPF_RGB32:
+ png_set_filler (png_ptr, 0xFF,
+ #ifdef WORDS_BIGENDIAN
+diff --git a/tools/mkdfiff.c b/tools/mkdfiff.c
+index 68a3b4f..edb58a7 100644
+--- a/tools/mkdfiff.c
++++ b/tools/mkdfiff.c
+@@ -97,7 +97,7 @@ load_image (const char *filename,
+ if (!png_ptr)
+ goto cleanup;
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf (png_ptr))) {
+ if (desc->preallocated[0].data) {
+ free (desc->preallocated[0].data);
+ desc->preallocated[0].data = NULL;
+diff --git a/tools/mkdgifft.cpp b/tools/mkdgifft.cpp
+index 96e4220..d4b6bf4 100644
+--- a/tools/mkdgifft.cpp
++++ b/tools/mkdgifft.cpp
+@@ -595,7 +595,7 @@ load_image (const char *filename,
+ if (!png_ptr)
+ goto cleanup;
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf (png_ptr))) {
+ if (desc->preallocated[0].data) {
+ free (desc->preallocated[0].data);
+ desc->preallocated[0].data = NULL;
+--
+1.7.4.1
+
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 000000000000..06f56fed39d7
--- /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 <msb@chromium.org>
+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 <msb@chromium.org>
+---
+ 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-build.patch b/dev-libs/DirectFB/files/DirectFB-1.6.3-build.patch
new file mode 100644
index 000000000000..241875187941
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.6.3-build.patch
@@ -0,0 +1,33 @@
+--- DirectFB-1.6.3/interfaces/IDirectFBImageProvider/Makefile.am
++++ DirectFB-1.6.3/interfaces/IDirectFBImageProvider/Makefile.am
+@@ -59,15 +59,15 @@
+ MPEG2_PROVIDER =
+ endif
+
+-INCLUDES = \
++AM_CPPFLAGS =
++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)
++ -I$(top_srcdir)/src \
++ -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" $(LIBJPEG_CFLAGS) $(LIBPNG_CFLAGS) $(SVG_CFLAGS)
+
+ idirectfbimageprovider_LTLIBRARIES = \
+ libidirectfbimageprovider_dfiff.la \
+--- DirectFB-1.6.3/configure.in
++++ DirectFB-1.6.3/configure.in
+@@ -980,7 +980,7 @@
+ dnl Test for libmng
+ MNG=no
+
+-AC_ARG_ENABLE(mngg,
++AC_ARG_ENABLE(mng,
+ AC_HELP_STRING([--enable-mng],
+ [build MNG image provider @<:@default=yes@:>@]),
+ [], [enable_mng=yes])
diff --git a/dev-libs/DirectFB/files/DirectFB-1.6.3-flags.patch b/dev-libs/DirectFB/files/DirectFB-1.6.3-flags.patch
new file mode 100644
index 000000000000..d20b05bf816f
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.6.3-flags.patch
@@ -0,0 +1,11 @@
+--- DirectFB-1.6.3/configure.in
++++ DirectFB-1.6.3/configure.in
+@@ -457,7 +457,7 @@
+ [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
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 000000000000..2c71bc96f9e6
--- /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 000000000000..8d25a51920d7
--- /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 000000000000..28c92eb79b02
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.1-build.patch
@@ -0,0 +1,27 @@
+Author: hasufell <hasufell@gentoo.org>
+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.1-flags.patch b/dev-libs/DirectFB/files/DirectFB-1.7.1-flags.patch
new file mode 100644
index 000000000000..65221755cb01
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.1-flags.patch
@@ -0,0 +1,63 @@
+Author: hasufell <hasufell@gentoo.org>
+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 $CXXFLAGS"
+ fi
+
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 000000000000..485cd1934fc6
--- /dev/null
+++ b/dev-libs/DirectFB/files/DirectFB-1.7.5-flags.patch
@@ -0,0 +1,63 @@
+Author: hasufell <hasufell@gentoo.org>
+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 000000000000..ff72f5339dbf
--- /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/metadata.xml b/dev-libs/DirectFB/metadata.xml
new file mode 100644
index 000000000000..4145b8688eca
--- /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>