# Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/mplayer-1.0.20060217.ebuild,v 1.20 2006/07/13 02:24:04 agriffis Exp $ inherit eutils flag-o-matic RESTRICT="nostrip" IUSE="3dfx 3dnow 3dnowext aac aalib alsa altivec arts bidi bl bindist cpudetection custom-cflags debug dga doc dts dvb cdparanoia directfb dvd dv dvdread edl encode esd fbcon gif ggi gtk i8x0 ipv6 jack joystick jpeg libcaca lirc live livecd lzo mad matroska matrox mmx mmxext musepack nas nls nvidia vorbis opengl oss png real rtc samba sdl sse sse2 svga tga theora truetype v4l v4l2 win32codecs X xanim xinerama xmms xv xvid xvmc" # openal BLUV=1.4 SVGV=1.9.17 # Handle PREversions as well SRC_URI="mirror://mplayer/releases/${P}.tar.bz2 mirror://mplayer/releases/fonts/font-arial-iso-8859-1.tar.bz2 mirror://mplayer/releases/fonts/font-arial-iso-8859-2.tar.bz2 mirror://mplayer/releases/fonts/font-arial-cp1250.tar.bz2 svga? ( http://mplayerhq.hu/~alex/svgalib_helper-${SVGV}-mplayer.tar.bz2 ) gtk? ( mirror://mplayer/Skin/Blue-${BLUV}.tar.bz2 )" # Only install Skin if GUI should be build (gtk as USE flag) DESCRIPTION="Media Player for Linux (snapshot)" HOMEPAGE="http://www.mplayerhq.hu/" # 'encode' in USE for MEncoder. RDEPEND="xvid? ( >=media-libs/xvid-0.9.0 ) win32codecs? ( >=media-libs/win32codecs-20040916 ) x86? ( real? ( >=media-video/realplayer-10.0.3 ) ) aalib? ( media-libs/aalib ) alsa? ( media-libs/alsa-lib ) arts? ( kde-base/arts ) bidi? ( dev-libs/fribidi ) cdparanoia? ( media-sound/cdparanoia ) dga? ( || ( x11-libs/libXxf86dga =media-libs/libdv-0.9.5 ) ) esd? ( media-sound/esound ) gif? ( media-libs/giflib ) ggi? ( media-libs/libggi ) gtk? ( media-libs/libpng || ( ( x11-libs/libXxf86vm x11-libs/libXext x11-libs/libXi ) =media-libs/libmpcdec-1.2.2 ) nas? ( media-libs/nas ) nls? ( virtual/libintl ) opengl? ( virtual/opengl ) png? ( media-libs/libpng ) samba? ( >=net-fs/samba-2.2.8a ) sdl? ( media-libs/libsdl ) svga? ( media-libs/svgalib ) theora? ( media-libs/libtheora ) live? ( >=media-plugins/live-2004.07.20 ) truetype? ( >=media-libs/freetype-2.1 ) xinerama? ( || ( ( x11-libs/libXinerama x11-libs/libXxf86vm x11-libs/libXext ) =media-video/xanim-2.80.1-r4 ) sys-libs/ncurses xv? ( || ( ( x11-libs/libXv x11-libs/libXxf86vm x11-libs/libXext ) 2005/01/11 if use amd64; then myconf="${myconf} --enable-3dnow --enable-3dnowex --enable-sse --enable-sse2 --enable-mmx --enable-mmx2" fi if use ppc64 then myconf="${myconf} --disable-altivec" else myconf="${myconf} $(use_enable altivec)" use altivec && append-flags -maltivec -mabi=altivec fi if use xanim then myconf="${myconf} --with-xanimlibdir=/usr/lib/xanim/mods" fi if [ -e /dev/.devfsd ] then myconf="${myconf} --enable-linux-devfs" fi use xmms && myconf="${myconf} --with-xmmslibdir=/usr/$(get_libdir)" use live && myconf="${myconf} --with-livelibdir=/usr/$(get_libdir)/live" # support for blinkenlights use bl && myconf="${myconf} --enable-bl" #leave this in place till the configure/compilation borkage is completely corrected back to pre4-r4 levels. # it's intended for debugging so we can get the options we configure mplayer w/, rather then hunt about. # it *will* be removed asap; in the meantime, doesn't hurt anything. echo "${myconf}" > ${T}/configure-options if use custom-cflags then # let's play the filtration game! MPlayer hates on all! strip-flags # ugly optimizations cause MPlayer to cry on x86 systems! if use x86 ; then replace-flags -O0 -O2 replace-flags -O3 -O2 filter-flags -fPIC -fPIE fi else unset CFLAGS CXXFLAGS fi CFLAGS="$CFLAGS" ./configure \ --prefix=/usr \ --confdir=/usr/share/mplayer \ --datadir=/usr/share/mplayer \ --enable-largefiles \ --enable-menu \ --enable-network --enable-ftp \ --with-reallibdir=${REALLIBDIR} \ --with-x11incdir=/usr/X11R6/include \ --disable-external-faad \ ${myconf} || die # we run into problems if -jN > -j1 # see #86245 MAKEOPTS="${MAKEOPTS} -j1" einfo "Make" make depend && emake || die "Failed to build MPlayer!" einfo "Make completed" # We build the shared libpostproc.so here so that our # mplayer binary is not linked to it, ensuring that we # do not run into issues ... (bug #14479) cd ${S}/libavcodec/libpostproc make SHARED_PP="yes" || die "Failed to build libpostproc.so!" } src_install() { einfo "Make install" make prefix=${D}/usr \ BINDIR=${D}/usr/bin \ LIBDIR=${D}/usr/$(get_libdir) \ CONFDIR=${D}/usr/share/mplayer \ DATADIR=${D}/usr/share/mplayer \ MANDIR=${D}/usr/share/man \ install || die "Failed to install MPlayer!" einfo "Make install completed" dodoc AUTHORS ChangeLog README # Install the documentation; DOCS is all mixed up not just html if use doc ; then find "${S}/DOCS" -type d | xargs -- chmod 0755 find "${S}/DOCS" -type f | xargs -- chmod 0644 cp -r "${S}/DOCS" "${D}/usr/share/doc/${PF}/" || die fi # Copy misc tools to documentation path, as they're not installed directly # and yes, we are nuking the +x bit. find "${S}/TOOLS" -type d | xargs -- chmod 0755 find "${S}/TOOLS" -type f | xargs -- chmod 0644 cp -r "${S}/TOOLS" "${D}/usr/share/doc/${PF}/" || die # Install the default Skin and Gnome menu entry if use gtk; then dodir /usr/share/mplayer/Skin cp -r ${WORKDIR}/Blue ${D}/usr/share/mplayer/Skin/default || die # Fix the symlink rm -rf ${D}/usr/bin/gmplayer dosym mplayer /usr/bin/gmplayer insinto /usr/share/pixmaps newins ${S}/Gui/mplayer/pixmaps/logo.xpm mplayer.xpm insinto /usr/share/applications doins ${FILESDIR}/mplayer.desktop fi dodir /usr/share/mplayer/fonts local x= # Do this generic, as the mplayer people like to change the structure # of their zips ... for x in $(find ${WORKDIR}/ -type d -name 'font-arial-*') do cp -Rd ${x} ${D}/usr/share/mplayer/fonts done # Fix the font symlink ... rm -rf ${D}/usr/share/mplayer/font dosym fonts/font-arial-14-iso-8859-1 /usr/share/mplayer/font insinto /etc newins ${S}/etc/example.conf mplayer.conf dosed -e 's/include =/#include =/' /etc/mplayer.conf dosed -e 's/fs=yes/fs=no/' /etc/mplayer.conf dosym ../../../etc/mplayer.conf /usr/share/mplayer/mplayer.conf #mv the midentify script to /usr/bin for emovix. cp ${D}/usr/share/doc/${PF}/TOOLS/midentify ${D}/usr/bin chmod a+x ${D}/usr/bin/midentify insinto /usr/share/mplayer doins ${S}/etc/codecs.conf doins ${S}/etc/input.conf doins ${S}/etc/menu.conf } pkg_preinst() { if [ -d "${ROOT}/usr/share/mplayer/Skin/default" ] then rm -rf ${ROOT}/usr/share/mplayer/Skin/default fi } pkg_postinst() { if use matrox; then depmod -a &>/dev/null || : fi if use alsa ; then einfo "For those using alsa, please note the ao driver name is no longer" einfo "alsa9x or alsa1x. It is now just 'alsa' (omit quotes)." einfo "The syntax for optional drivers has also changed. For example" einfo "if you use a dmix driver called 'dmixer,' use" einfo "ao=alsa:device=dmixer instead of ao=alsa:dmixer" einfo "Some users may not need to specify the extra driver with the ao=" einfo "command." fi } pkg_postrm() { # Cleanup stale symlinks if [ -L ${ROOT}/usr/share/mplayer/font -a \ ! -e ${ROOT}/usr/share/mplayer/font ] then rm -f ${ROOT}/usr/share/mplayer/font fi if [ -L ${ROOT}/usr/share/mplayer/subfont.ttf -a \ ! -e ${ROOT}/usr/share/mplayer/subfont.ttf ] then rm -f ${ROOT}/usr/share/mplayer/subfont.ttf fi }