diff options
Diffstat (limited to 'dev-libs/DirectFB/DirectFB-1.7.5.ebuild')
-rw-r--r-- | dev-libs/DirectFB/DirectFB-1.7.5.ebuild | 201 |
1 files changed, 201 insertions, 0 deletions
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." +} |