diff options
Diffstat (limited to 'dev-libs/DirectFB')
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> |