# Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-libs/DirectFB/DirectFB-0.9.24.ebuild,v 1.4 2006/04/16 04:52:54 vapier Exp $ inherit eutils flag-o-matic toolchain-funcs DESCRIPTION="Thin library on top of the Linux framebuffer devices" HOMEPAGE="http://www.directfb.org/" SRC_URI="http://www.directfb.org/downloads/Core/${P}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 -mips ~ppc ~sh -sparc ~x86" IUSE_VIDEO_CARDS=" video_cards_ati128 video_cards_cle266 video_cards_cyber5k video_cards_i810 video_cards_i830 video_cards_mach64 video_cards_matrox video_cards_neomagic video_cards_nsc video_cards_nvidia video_cards_radeon video_cards_savage video_cards_sis315 video_cards_tdfx video_cards_unichrome" IUSE_INPUT_DEVICES=" input_devices_dbox2remote input_devices_elo-input input_devices_gunze input_devices_h3600_ts input_devices_joystick input_devices_keyboard input_devices_dreamboxremote input_devices_linuxinput input_devices_lirc input_devices_mutouch input_devices_permount input_devices_mouse input_devices_serialmouse input_devices_sonypijofdial input_devices_wm97xx" IUSE="${IUSE_VIDEO_CARDS} ${IUSE_INPUT_DEVICES} debug fbcon fusion gif jpeg mmx mpeg png sdl sse static sysfs truetype zlib v4l v4l2" DEPEND="sdl? ( media-libs/libsdl ) gif? ( media-libs/giflib ) png? ( media-libs/libpng ) jpeg? ( media-libs/jpeg ) mpeg? ( media-libs/libmpeg3 ) sysfs? ( sys-fs/sysfsutils ) zlib? ( sys-libs/zlib ) truetype? ( >=media-libs/freetype-2.0.1 )" pkg_setup() { if [[ -z ${VIDEO_CARDS} ]] ; then ewarn "All video drivers will be built since you did not specify" ewarn "via the VIDEO_CARDS variable what video card you use." einfo "DirectFB supports: ${IUSE_VIDEO_CARDS} all none" echo fi if [[ -z ${INPUT_DEVICES} ]] ; then ewarn "All input drivers will be built since you did not specify" ewarn "via the INPUT_DRIVERS variable which input drivers to use." einfo "DirectFB supports: ${IUSE_INPUT_DEVICES} all none" echo fi } src_unpack() { unpack ${A} cd "${S}" epatch "${FILESDIR}"/${P}-CFLAGS.patch } src_compile() { # force disable wm97xx #36924 # export ac_cv_header_linux_wm97xx_h=no # force disable of sis315 #77391 # export ac_cv_header_linux_sisfb_h=no local vidcards card input inputdrivers for card in ${VIDEO_CARDS} ; do if hasq "video_cards_${card}" ${IUSE_VIDEO_CARDS} == 0; then vidcards="${vidcards},${card}" fi done [[ -z ${vidcards} ]] \ && vidcards="all" \ || vidcards=${vidcards:1} for input in ${INPUT_DEVICES} ; do if hasq "input_devices_${input}" ${IUSE_INPUT_DEVICES} == 0; then if [ ${input} = "mouse" ]; then input="ps2mouse" fi inputdrivers="${inputdrivers},${input}" fi done [[ -z ${inputdrivers} ]] \ && inputdrivers="all" \ || inputdrivers=${inputdrivers:1} 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 use mpeg && export CPPFLAGS="${CPPFLAGS} -I/usr/include/libmpeg3" econf \ $(use_enable fbcon fbdev) \ $(use_enable mmx) \ $(use_enable sse) \ $(use_enable mpeg libmpeg3) \ $(use_enable jpeg) \ $(use_enable png) \ $(use_enable gif) \ $(use_enable truetype freetype) \ $(use_enable fusion multi) \ $(use_enable debug) \ $(use_enable static) \ $(use_enable sysfs) \ $(use_enable zlib) \ $(use_enable v4l video4linux) \ $(use_enable v4l2 video4linux2) \ ${sdlconf} \ --with-gfxdrivers="${vidcards}" \ --with-inputdrivers="${inputdrivers}" \ --disable-vnc \ || die emake || die } src_install() { make DESTDIR="${D}" install || die "make install failed" dodoc fb.modes AUTHORS ChangeLog NEWS README* TODO dohtml -r docs/html/* } pkg_postinst() { ewarn "Each DirectFB update in the 0.9.xx series" ewarn "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" ewarn "get your mouse unexpectedly set in absolute" ewarn "mode in all DirectFB applications." ewarn "This can be fixed by removing linuxinput from" ewarn "INPUT_DEVICES." }