diff options
author | Steve Dibb <beandog@gentoo.org> | 2009-02-26 20:21:49 +0000 |
---|---|---|
committer | Steve Dibb <beandog@gentoo.org> | 2009-02-26 20:21:49 +0000 |
commit | 007452412385ad9682766e91594bb721db835733 (patch) | |
tree | f584f546984e25883ccbd807053d1b85d3b474d6 /media-video/mplayer | |
parent | stable ppc64, bug 253668 (diff) | |
download | gentoo-2-007452412385ad9682766e91594bb721db835733.tar.gz gentoo-2-007452412385ad9682766e91594bb721db835733.tar.bz2 gentoo-2-007452412385ad9682766e91594bb721db835733.zip |
Add vdpau, dvdnav support, lots more use flags, split up real use flags, see ebuild changelog for moar.
(Portage version: 2.2_rc23/cvs/Linux x86_64)
Diffstat (limited to 'media-video/mplayer')
-rw-r--r-- | media-video/mplayer/ChangeLog | 15 | ||||
-rw-r--r-- | media-video/mplayer/metadata.xml | 9 | ||||
-rw-r--r-- | media-video/mplayer/mplayer-20090226.28734.ebuild | 630 |
3 files changed, 652 insertions, 2 deletions
diff --git a/media-video/mplayer/ChangeLog b/media-video/mplayer/ChangeLog index 61d84f801479..b303898b3a55 100644 --- a/media-video/mplayer/ChangeLog +++ b/media-video/mplayer/ChangeLog @@ -1,6 +1,19 @@ # ChangeLog for media-video/mplayer # Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.619 2009/02/12 15:05:02 beandog Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.620 2009/02/26 20:21:49 beandog Exp $ + +*mplayer-20090226.28734 (26 Feb 2009) + + 26 Feb 2009; Steve Dibb <beandog@gentoo.org> metadata.xml, + +mplayer-20090226.28734.ebuild: + Split real use flag into two: real for internal, realcodecs for binary; + Add faad, faac use flags for external AAC support; Add vdpau use flag; Add + more use flags to be enabled by default for that fresh just-works feeling; + Add tremor use flag for internal Vorbis support; Cleanup use flags, bug + 254661; Install more docs by default, bug 254671; Check for mng use flag, + bug 256054; Use unrar, add to mplayer.conf, bug 256203; Remove deprecated + DEPEND, bug 256146; New naming scheme DATE.SVN_REVISION; Add more + documentation to ebuild 12 Feb 2009; Steve Dibb <beandog@gentoo.org> mplayer-1.0_rc2_p28450.ebuild: diff --git a/media-video/mplayer/metadata.xml b/media-video/mplayer/metadata.xml index 3c756518e80e..2e9f8ee1169f 100644 --- a/media-video/mplayer/metadata.xml +++ b/media-video/mplayer/metadata.xml @@ -19,22 +19,29 @@ <flag name="dvdnav">Use forked libdvdnav, navigate menus in GUIs</flag> <flag name="dxr3">Enable DXR3/H+ video output</flag> <flag name="enca">Enables support for charset discovery and conversion</flag> + <flag name="faac">Use external faac library for AAC encoding</flag> + <flag name="faad">Use external faad library for AAC decoding</flag> + <flag name="gtk">Build gmplayer, a GTK+ MPlayer gui (UNSUPPORTED)</flag> <flag name="live">Enables live.com streaming media support</flag> <flag name="md5sum">Enables md5sum video output</flag> <flag name="mmxext">Enables mmx2 support</flag> <flag name="mng">MNG input support</flag> <flag name="mp2">Enables support for twolame, an MP2 audio library</flag> <flag name="nemesi">Enable Nemesi Streaming Media support</flag> + <flag name="network">Enables network streaming support</flag> <flag name="pnm">Add PNM video output option, to create PPM/PGM/PGMYUV images</flag> <flag name="pvr">Enable Video4Linux2 MPEG PVR</flag> <flag name="radio">Enable V4L2 radio interface and support</flag> <flag name="rar">Enable Unique RAR File Library</flag> - <flag name="real">Adds real video support</flag> + <flag name="real">Adds real audo/video support</flag> + <flag name="realcodecs">External Real Player binary codec support (UNSUPPORTED)</flag> <flag name="rtc">Enables usage of the linux real time clock. The alternative is software emulation of rtc</flag> <flag name="schroedinger">Enable Dirac video support (an advanced royalty-free video compression format) via libschroedinger (high-speed implementation in C of the Dirac codec).</flag> <flag name="ssse3">faster floating point optimization for SSSE3 capable chips (Intel Core 2 and later chips)</flag> <flag name="teletext">Support for TV teletext interface</flag> <flag name="tga">Enables Targa video output</flag> + <flag name="tremor">Enable internal support for Vorbis</flag> + <flag name="vdpau">Enables experimental VDPAU support (requires nVidia video cards) to offload MPEG2/MPEG4/VC1/WMV CPU processing to video card</flag> <flag name="vidix">Support for vidix video output</flag> <flag name="xanim">Enables support for xanim based codecs</flag> <flag name="xvmc">Enables X-Video Motion Compensation support</flag> diff --git a/media-video/mplayer/mplayer-20090226.28734.ebuild b/media-video/mplayer/mplayer-20090226.28734.ebuild new file mode 100644 index 000000000000..595f2ea5cee6 --- /dev/null +++ b/media-video/mplayer/mplayer-20090226.28734.ebuild @@ -0,0 +1,630 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/mplayer-20090226.28734.ebuild,v 1.1 2009/02/26 20:21:49 beandog Exp $ + +EAPI="1" + +inherit eutils flag-o-matic multilib + +# Ugly hack, feel free to fix +MPLAYER_REVISION=28734 + +IUSE="3dnow 3dnowext +a52 +aac -aalib +alsa altivec +amrnb +amrwb -arts +ass bidi +bindist bl +cddb +cdio cdparanoia -cpudetection -custom-cflags -custom-cpuopts +debug dga +dirac directfb doc +dts +dv dvb +dvd +dvdnav dxr3 +enca +encode esd +faac ++faad +fbcon +ftp -gif ggi -gtk +iconv ipv6 jack joystick +jpeg kernel_linux ladspa +-libcaca lirc +live lzo +mad +md5sum +mmx mmxext mng +mp2 +mp3 musepack nas ++nemesi +network openal +opengl oss +png +pnm pulseaudio -pvr +quicktime radio ++rar +real -realcodecs +rtc -samba +schroedinger +sdl +speex sse sse2 ssse3 svga +teletext tga +theora +tremor +truetype unicode v4l v4l2 vdpau vidix +vorbis +-win32codecs +X +x264 xanim xinerama +xscreensaver +xv +xvid +xvmc zoran" + +VIDEO_CARDS="s3virge mga tdfx vesa" + +for x in ${VIDEO_CARDS}; do + IUSE="${IUSE} video_cards_${x}" +done + +BLUV="1.7" +SVGV="1.9.17" +AMR_URI="http://www.3gpp.org/ftp/Specs/archive" +SRC_URI="mirror://gentoo/${P}.tar.bz2 + !truetype? ( 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 ) + !iconv? ( 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 ) + gtk? ( mirror://mplayer/Skin/Blue-${BLUV}.tar.bz2 ) + svga? ( http://mplayerhq.hu/~alex/svgalib_helper-${SVGV}-mplayer.tar.bz2 )" + +DESCRIPTION="Media Player for Linux" +HOMEPAGE="http://www.mplayerhq.hu/" + +RDEPEND="sys-libs/ncurses + !bindist? ( + x86? ( + win32codecs? ( media-libs/win32codecs ) + realcodecs? ( media-libs/win32codecs + media-libs/realcodecs ) + ) + amd64? ( realcodecs? ( media-libs/amd64codecs ) ) + ) + aalib? ( media-libs/aalib ) + alsa? ( media-libs/alsa-lib ) + amrnb? ( media-libs/amrnb ) + amrwb? ( media-libs/amrwb ) + arts? ( kde-base/arts ) + ass? ( >=media-libs/freetype-2.1 + media-libs/fontconfig ) + openal? ( media-libs/openal ) + bidi? ( dev-libs/fribidi ) + cdio? ( dev-libs/libcdio ) + cdparanoia? ( media-sound/cdparanoia ) + dirac? ( >=media-video/dirac-0.10.0 ) + directfb? ( dev-libs/DirectFB ) + dga? ( x11-libs/libXxf86dga ) + dts? ( media-libs/libdca ) + dv? ( media-libs/libdv ) + dvb? ( media-tv/linuxtv-dvb-headers ) + encode? ( + mp2? ( media-sound/twolame ) + mp3? ( media-sound/lame ) + faac? ( media-libs/faac ) + x264? ( >=media-libs/x264-0.0.20080406 ) + xvid? ( media-libs/xvid ) + ) + esd? ( media-sound/esound ) + enca? ( app-i18n/enca ) + faad? ( media-libs/faad2 ) + gif? ( media-libs/giflib ) + ggi? ( media-libs/libggi + media-libs/libggiwmh ) + gtk? ( media-libs/libpng + x11-libs/libXxf86vm + x11-libs/libXext + x11-libs/libXi + =x11-libs/gtk+-2* ) + jpeg? ( media-libs/jpeg ) + ladspa? ( media-libs/ladspa-sdk ) + libcaca? ( media-libs/libcaca ) + libvorbis? ( media-libs/libvorbis ) + lirc? ( app-misc/lirc ) + lzo? ( >=dev-libs/lzo-2 ) + mad? ( media-libs/libmad ) + mng? ( media-libs/libmng ) + musepack? ( >=media-libs/libmpcdec-1.2.2 ) + nas? ( media-libs/nas ) + opengl? ( virtual/opengl ) + png? ( media-libs/libpng ) + pnm? ( media-libs/netpbm ) + pulseaudio? ( media-sound/pulseaudio ) + rar? ( || ( app-arch/unrar-gpl + app-arch/unrar ) ) + samba? ( net-fs/samba ) + schroedinger? ( media-libs/schroedinger ) + sdl? ( media-libs/libsdl ) + speex? ( >=media-libs/speex-1.1.7 ) + svga? ( media-libs/svgalib ) + theora? ( media-libs/libtheora ) + live? ( >=media-plugins/live-2007.02.20 ) + truetype? ( >=media-libs/freetype-2.1 + media-libs/fontconfig ) + vdpau? ( >=x11-drivers/nvidia-drivers-180.22 ) + vidix? ( x11-libs/libXxf86vm + x11-libs/libXext ) + xanim? ( media-video/xanim ) + xinerama? ( x11-libs/libXinerama + x11-libs/libXxf86vm + x11-libs/libXext ) + xscreensaver? ( x11-libs/libXScrnSaver ) + xv? ( x11-libs/libXv + x11-libs/libXxf86vm + x11-libs/libXext + xvmc? ( x11-libs/libXvMC ) ) + X? ( x11-libs/libXxf86vm + x11-libs/libXext + )" + +DEPEND="${RDEPEND} + doc? ( dev-libs/libxslt ) + dga? ( x11-proto/xf86dgaproto ) + dxr3? ( media-video/em8300-libraries ) + xinerama? ( x11-proto/xineramaproto ) + xv? ( x11-proto/videoproto + x11-proto/xf86vidmodeproto ) + gtk? ( x11-proto/xextproto + x11-proto/xf86vidmodeproto ) + X? ( x11-proto/xextproto + x11-proto/xf86vidmodeproto ) + xscreensaver? ( x11-proto/scrnsaverproto ) + iconv? ( virtual/libiconv )" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" + +pkg_setup() { + + if [[ -n ${LINGUAS} ]]; then + elog "" + elog "MPlayer's build system uses the LINGUAS variable for both" + elog "output messages and which man pages to build. The first" + elog "language in the LINGUAS variable will be used to display" + elog "output messages. See bug #228799." + fi + + if use gtk; then + ewarn "" + ewarn "You've enabled the 'gtk' use flag which will build" + ewarn "GMPlayer, which is no longer actively developed upstream" + ewarn "and is not supported by Gentoo. There are alternatives" + ewarn "for a GUI frontend: smplayer, gnome-mplayer and kmplayer." + fi + + if use cpudetection; then + ewarn "" + ewarn "You've enabled the cpudetection flag. This feature is" + ewarn "included mainly for people who want to use the same" + ewarn "binary on another system with a different CPU architecture." + ewarn "MPlayer will already detect your CPU settings by default at" + ewarn "buildtime; this flag is used for runtime detection." + ewarn "You won't need this turned on if you are only building" + ewarn "mplayer for this system. Also, if your compile fails, try" + ewarn "disabling this use flag." + fi + + if use custom-cpuopts; then + ewarn "" + ewarn "You are using the custom-cpuopts flag which will" + ewarn "specifically allow you to enable / disable certain" + ewarn "CPU optimizations." + ewarn "" + ewarn "Most desktop users won't need this functionality, but it" + ewarn "is included for corner cases like cross-compiling and" + ewarn "certain profiles. If unsure, disable this flag and MPlayer" + ewarn "will automatically detect and use your available CPU" + ewarn "optimizations." + ewarn "" + ewarn "Using this flag means your build is unsupported, so" + ewarn "please make sure your CPU optimization use flags (3dnow" + ewarn "3dnowext mmx mmxext sse sse2 ssse3) are properly set." + fi +} + +src_unpack() { + unpack ${A} + + if ! use truetype ; then + unpack font-arial-iso-8859-1.tar.bz2 \ + font-arial-iso-8859-2.tar.bz2 \ + font-arial-cp1250.tar.bz2 + fi + + use gtk && unpack "Blue-${BLUV}.tar.bz2" + + use svga && unpack "svgalib_helper-${SVGV}-mplayer.tar.bz2" + + cd "${S}" + + # Fix sparc compilation, bug 241110 + # epatch "${FILESDIR}/mplayer-libavcodec.patch" + + # Fix x264 compilation, bug 240347 + epatch "${FILESDIR}/mplayer-1.0_rc2_p27725-libx264.patch" + + # Security bug 251017 + # epatch "${FILESDIR}"/mplayer-1.0_rc2_p28058-demux_vqf.patch + + # Set version # + sed -i s/UNKNOWN/${MPLAYER_REVISION}/ "${S}/version.sh" + + # Fix hppa compilation + use hppa && sed -i -e "s/-O4/-O1/" "${S}/configure" + + if use svga; then + echo + einfo "Enabling vidix non-root mode." + einfo "(You need a proper svgalib_helper.o module for your kernel" + einfo "to actually use this)" + echo + + mv "${WORKDIR}/svgalib_helper" "${S}/libdha" + fi + + # Fix polish spelling errors + [[ -n ${LINGUAS} ]] && sed -e 's:ZarzÄ
dano:ZażÄ
dano:' -i help/help_mp-pl.h +} + +src_compile() { + + local myconf="" + + # MPlayer reads in the LINGUAS variable from make.conf, and sets + # the languages accordingly. Some will have to be altered to match + # upstream's naming scheme. + [[ -n $LINGUAS ]] && LINGUAS="${LINGUAS/da/dk}" + + # mplayer ebuild uses "use foo || --disable-foo" to forcibly disable + # compilation in almost every situation. The reason for this is + # because if --enable is used, it will force the build of that option, + # regardless of whether the dependency is available or not. + + ################ + #Optional features# + ############### + myconf="${myconf} --enable-menu" + myconf="${myconf} $(use_enable network)" + use ass || myconf="${myconf} --disable-ass" + use bidi || myconf="${myconf} --disable-fribidi" + use bl && myconf="${myconf} --enable-bl" + use enca || myconf="${myconf} --disable-enca" + use encode || myconf="${myconf} --disable-mencoder" + use ftp || myconf="${myconf} --disable-ftp" + use ipv6 || myconf="${myconf} --disable-inet6" + use lirc || myconf="${myconf} --disable-lirc --disable-lircc" + use nemesi || myconf="${myconf} --disable-nemesi" + use rar || myconf="${myconf} --disable-unrarexec" + use rtc || myconf="${myconf} --disable-rtc" + use samba || myconf="${myconf} --disable-smb" + use xscreensaver || myconf="${myconf} --disable-xss" + myconf="${myconf} $(use_enable joystick)" + + # libcdio support: prefer libcdio over cdparanoia + # don't check for cddb w/cdio + if use cdio; then + myconf="${myconf} --disable-cdparanoia" + else + myconf="${myconf} --disable-libcdio" + use cdparanoia || myconf="${myconf} --disable-cdparanoia" + use cddb || myconf="${myconf} --disable-cddb" + fi + + ############### + # DVD read, navigation support + ############### + # + # dvdread - accessing a DVD + # dvdnav - navigation of menus + # + # internal dvdread and dvdnav use flags enable internal + # versions of the libraries, which are snapshots of the fork. + # + # Only check for disabled a52 use flag inside the DVD check, + # since many users were getting confused why there was no + # audio stream. + # + if use dvd; then + use dvdnav || myconf="${myconf} --disable-dvdnav" + else + myconf="${myconf} --disable-dvdnav --disable-dvdread \ + --disable-dvdread-internal --disable-libdvdcss-internal" + use a52 || myconf="${myconf} --disable-liba52-internal" + fi + + ############### + # Subtitles + ############### + # + # SRT/ASS/SSA (subtitles) requires freetype support + # freetype support requires iconv + # iconv optionally can use unicode + if ! use ass; then + if ! use truetype; then + myconf="${myconf} --disable-freetype" + if ! use iconv; then + myconf="${myconf} --disable-iconv --charset=noconv" + fi + fi + fi + use iconv && use unicode && myconf="${myconf} --charset=UTF-8" + + ############### + # DVB / Video4Linux / Radio support + ############### + myconf="${myconf} --disable-tv-bsdbt848" + # broken upstream, won't work with recent kernels + myconf="${myconf} --disable-ivtv" + if { use dvb || use v4l || use v4l2 || use pvr || use radio; }; then + use dvb || myconf="${myconf} --disable-dvb --disable-dvbhead" + use pvr || myconf="${myconf} --disable-pvr" + use v4l || myconf="${myconf} --disable-tv-v4l1" + use v4l2 || myconf="${myconf} --disable-tv-v4l2" + use teletext || myconf="${myconf} --disable-tv-teletext" + if use radio && { use dvb || use v4l || use v4l2; }; then + myconf="${myconf} --enable-radio $(use_enable encode radio-capture)" + else + myconf="${myconf} --disable-radio-v4l2 --disable-radio-bsdbt848" + fi + else + myconf="${myconf} --disable-tv --disable-tv-v4l1 --disable-tv-v4l2 \ + --disable-radio --disable-radio-v4l2 --disable-radio-bsdbt848 \ + --disable-dvb --disable-dvbhead --disable-tv-teletext \ + --disable-v4l2 --disable-pvr" + fi + + ######### + # Codecs # + ######## + # Won't work with external liba52 + myconf="${myconf} --disable-liba52" + + use aac || myconf="${myconf} --disable-faad-internal" + use amrnb || myconf="${myconf} --disable-libamr_nb" + use amrwb || myconf="${myconf} --disable-libamr_wb" + use dirac || myconf="${myconf} --disable-libdirac-lavc" + use dts || myconf="${myconf} --disable-libdca" + use dv || myconf="${myconf} --disable-libdv" + use faad || myconf="${myconf} --disable-faad" + use lzo || myconf="${myconf} --disable-liblzo" + use mp3 || myconf="${myconf} --disable-mp3lame --disable-mp3lame-lavc \ + --disable-mp3lib" + use schroedinger || myconf="${myconf} --disable-libschroedinger-lavc" + use xanim && myconf="${myconf} --xanimcodecsdir=/usr/lib/xanim/mods" + ! use png && ! use gtk && myconf="${myconf} --disable-png" + for x in gif jpeg live mad mng musepack pnm speex tga theora xanim; do + use ${x} || myconf="${myconf} --disable-${x}" + done + if use vorbis || use tremor; then + use tremor || myconf="${myconf} --disable-tremor-internal" + use vorbis || myconf="${myconf} --disable-libvorbis" + else + myconf="${myconf} --disable-tremor-internal --disable-tremor \ + --disable-libvorbis" + fi + # Encoding + if use encode; then + use aac || myconf="${myconf} --disable-faac-lavc" + use faac || myconf="${myconf} --disable-faac" + use x264 || myconf="${myconf} --disable-x264" + use xvid || myconf="${myconf} --disable-xvid" + use mp2 || myconf="${myconf} --disable-twolame --disable-toolame" + else + myconf="${myconf} --disable-faac-lavc --disable-faac --disable-x264 \ + --disable-xvid --disable-x264-lavc --disable-xvid-lavc \ + --disable-twolame --disable-toolame" + fi + + + ############### + # Binary codecs + ############### + # bug 213836 + if ! use x86 || ! use win32codecs; then + use quicktime || myconf="${myconf} --disable-qtx" + fi + + ############### + # RealPlayer support + ############### + # + # Realplayer support shows up in four places: + # - libavcodec (internal) + # - win32codecs + # - realcodecs (win32codecs libs) + # - realcodecs (realplayer libs) + # + + # internal + use real || myconf="${myconf} --disable-real" + + # Real binary codec support only available on x86, amd64 + if use realcodecs; then + use x86 && myconf="${myconf} \ + --realcodecsdir=/opt/RealPlayer/codecs" + use amd64 && myconf="${myconf} \ + --realcodecsdir=/usr/$(get_libdir)/codecs" + elif ! use bindist; then + myconf="${myconf} $(use_enable win32codecs win32dll)" + fi + + + ############# + # Video Output # + ############# + for x in directfb ggi md5sum sdl xinerama; do + use ${x} || myconf="${myconf} --disable-${x}" + done + use aalib || myconf="${myconf} --disable-aa" + use dga || myconf="${myconf} --disable-dga1 --disable-dga2" + use fbcon || myconf="${myconf} --disable-fbdev" + use fbcon && use video_cards_s3virge && myconf="${myconf} --enable-s3fb" + use libcaca || myconf="${myconf} --disable-caca" + use opengl || myconf="${myconf} --disable-gl" + use video_cards_vesa || myconf="${myconf} --disable-vesa" + use video_cards_nvidia && use vdpau || myconf="${myconf} --disable-vdpau" + use vidix || myconf="${myconf} --disable-vidix --disable-vidix-pcidb" + use zoran || myconf="${myconf} --disable-zr" + + # MPlayer incorrectly looks for DXR3 support, so forcibly enable + # if requested. See bug 223587 + myconf="${myconf} $(use_enable dxr3)" + + # GTK gmplayer gui + # Unsupported by Gentoo, upstream has dropped development + myconf="${myconf} $(use_enable gtk gui)" + + if use xv; then + if use xvmc; then + myconf="${myconf} --enable-xvmc --with-xvmclib=XvMCW" + else + myconf="${myconf} --disable-xvmc" + fi + else + myconf="${myconf} --disable-xv --disable-xvmc" + fi + + if ! use kernel_linux && ! use video_cards_mga; then + myconf="${myconf} --disable-mga --disable-xmga" + fi + + if use video_cards_tdfx; then + myconf="${myconf} $(use_enable video_cards_tdfx tdfxvid) \ + $(use_enable fbcon tdfxfb)" + else + myconf="${myconf} --disable-3dfx --disable-tdfxvid --disable-tdfxfb" + fi + + ############# + # Audio Output # + ############# + for x in alsa arts esd jack ladspa nas openal; do + use ${x} || myconf="${myconf} --disable-${x}" + done + use pulseaudio || myconf="${myconf} --disable-pulse" + if ! use radio; then + use oss || myconf="${myconf} --disable-ossaudio" + fi + + ################# + # Advanced Options # + ################# + # Platform specific flags, hardcoded on amd64 (see below) + if use cpudetection || use bindist; then + myconf="${myconf} --enable-runtime-cpudetection" + fi + + # Turning off CPU optimizations usually will break the build. + # However, this use flag, if enabled, will allow users to completely + # specify which ones to use. If disabled, mplayer will automatically + # enable all CPU optimizations that the host build supports. + if use custom-cpuopts; then + for x in 3dnow 3dnowext mmx mmxext sse sse2 ssse3; do + myconf="${myconf} $(use_enable $x)" + done + fi + + use debug && myconf="${myconf} --enable-debug=3" + + myconf="${myconf} $(use_enable altivec)" + + 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 || use x86-fbsd ; then + replace-flags -O* -O2 + filter-flags -fPIC -fPIE + + use debug || append-flags -fomit-frame-pointer + fi + append-flags -D__STDC_LIMIT_MACROS + else + unset CFLAGS CXXFLAGS + fi + + myconf="--cc=$(tc-getCC) \ + --host-cc=$(tc-getBUILD_CC) \ + --prefix=/usr \ + --confdir=/etc/mplayer \ + --datadir=/usr/share/mplayer \ + --libdir=/usr/$(get_libdir) \ + ${myconf}" + + #echo "CFLAGS=\"${CFLAGS}\" ./configure ${myconf}" + CFLAGS="${CFLAGS}" ./configure ${myconf} || die "configure died" + + emake || die "Failed to build MPlayer!" + use doc && make -C DOCS/xml html-chunked +} + +src_install() { + + make prefix="${D}/usr" \ + BINDIR="${D}/usr/bin" \ + LIBDIR="${D}/usr/$(get_libdir)" \ + CONFDIR="${D}/etc/mplayer" \ + DATADIR="${D}/usr/share/mplayer" \ + MANDIR="${D}/usr/share/man" \ + INSTALLSTRIP="" \ + install || die "Failed to install MPlayer!" + + dodoc AUTHORS Changelog Copyright README etc/codecs.conf + + docinto tech/ + dodoc DOCS/tech/{*.txt,MAINTAINERS,mpsub.sub,playtree,TODO,wishlist} + docinto tech/realcodecs/ + dodoc DOCS/tech/realcodecs/* + docinto tech/mirrors/ + dodoc DOCS/tech/mirrors/* + + docinto TOOLS/ + dodoc TOOLS/* + docinto TOOLS/realcodecs/ + dodoc TOOLS/realcodecs/* + + # Install the default Skin and Gnome menu entry + if use gtk; then + dodir /usr/share/mplayer/skins + cp -r "${WORKDIR}/Blue" \ + "${D}/usr/share/mplayer/skins/default" || die "cp skins died" + + # Fix the symlink + rm -rf "${D}/usr/bin/gmplayer" + dosym mplayer /usr/bin/gmplayer + fi + + if ! use ass && ! use truetype; then + 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 -pPR "${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 + fi + + insinto /etc/mplayer + newins "${S}/etc/example.conf" mplayer.conf + + if use ass || use truetype; then + cat >> "${D}/etc/mplayer/mplayer.conf" << EOT +fontconfig=1 +subfont-osd-scale=4 +subfont-text-scale=3 +EOT + fi + + # bug 256203 + if use rar; then + cat >> "${D}/etc/mplayer/mplayer.conf" << EOT +unrarexec=/usr/bin/unrar +EOT + fi + + dosym ../../../etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf + + newbin "${S}/TOOLS/midentify.sh" midentify + + insinto /usr/share/mplayer + 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_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 +} |