Add asmrules security patch from upstream, bug 159727
authorSteve Dibb <beandog@gentoo.org>
Tue, 30 Jan 2007 15:26:30 +0000 (15:26 +0000)
committerSteve Dibb <beandog@gentoo.org>
Tue, 30 Jan 2007 15:26:30 +0000 (15:26 +0000)
Package-Manager: portage-2.1.1-r2

media-video/mplayer/ChangeLog
media-video/mplayer/Manifest
media-video/mplayer/files/digest-mplayer-1.0_rc1-r2 [new file with mode: 0644]
media-video/mplayer/files/mplayer-1.0_rc1-asmrules.patch [new file with mode: 0644]
media-video/mplayer/mplayer-1.0_rc1-r2.ebuild [new file with mode: 0644]

index 4d2cc11853997b9923542523e1f0316d92f4971a..153685a94b3a5bc86eca06d778ef89b4d9d845ab 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for media-video/mplayer
 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.449 2007/01/30 15:22:24 beandog Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.450 2007/01/30 15:26:30 beandog Exp $
+
+*mplayer-1.0_rc1-r2 (30 Jan 2007)
+
+  30 Jan 2007; Steve Dibb <beandog@gentoo.org>
+  +files/mplayer-1.0_rc1-asmrules.patch, +mplayer-1.0_rc1-r2.ebuild:
+  Add asmrules security patch from upstream, bug 159727
 
   30 Jan 2007; Steve Dibb <beandog@gentoo.org> mplayer-1.0_rc1.ebuild,
   mplayer-1.0_rc1-r1.ebuild:
index 9b1920e6ef10a5b98c48846de352dac99b47fceb..bf41276071e0357e511408feb3dfdae1ffbfa402 100644 (file)
@@ -2,6 +2,10 @@ AUX mplayer-1.0_pre8-amr-64bit.patch 1438 RMD160 c0848ae29590b5cc011d252798115cc
 MD5 7c7e0313f90c399e78c4496b07bb5f82 files/mplayer-1.0_pre8-amr-64bit.patch 1438
 RMD160 c0848ae29590b5cc011d252798115cc66af37335 files/mplayer-1.0_pre8-amr-64bit.patch 1438
 SHA256 7bcc9351707571a80c6a8c52381ad8f3f980e2e570091196df61880d019c9d51 files/mplayer-1.0_pre8-amr-64bit.patch 1438
+AUX mplayer-1.0_rc1-asmrules.patch 1450 RMD160 370877b45b314c9deb2d89739f8067a4a77c0844 SHA1 84412f4bd85d64a92586ca4db7e8585d16cd1acd SHA256 3f71e6f4e07940d4d55084d0df12404371bc4e534a3a6b0756ca73e44ddbc3c4
+MD5 f0b71c38b1207c1d604be091876ac051 files/mplayer-1.0_rc1-asmrules.patch 1450
+RMD160 370877b45b314c9deb2d89739f8067a4a77c0844 files/mplayer-1.0_rc1-asmrules.patch 1450
+SHA256 3f71e6f4e07940d4d55084d0df12404371bc4e534a3a6b0756ca73e44ddbc3c4 files/mplayer-1.0_rc1-asmrules.patch 1450
 AUX mplayer-undefined-reference-fix.patch 316 RMD160 cbbcc1df4e0011f12baffdbae3ec6037123e628e SHA1 63a8b250a9e3e929549f10786000daf5fab9bc3a SHA256 1b7004af914727c1710602dfef3dd2828896f5d4f309c1742ee0dcbd1989b346
 MD5 04bb7e15784fc0b9898526d873bc1ba9 files/mplayer-undefined-reference-fix.patch 316
 RMD160 cbbcc1df4e0011f12baffdbae3ec6037123e628e files/mplayer-undefined-reference-fix.patch 316
@@ -32,14 +36,18 @@ EBUILD mplayer-1.0_rc1-r1.ebuild 16332 RMD160 99da3d3b626543cd23139faf14b780bc2a
 MD5 2f4cf5ba1c04096a4921859b68751d7c mplayer-1.0_rc1-r1.ebuild 16332
 RMD160 99da3d3b626543cd23139faf14b780bc2af1059d mplayer-1.0_rc1-r1.ebuild 16332
 SHA256 c38f64c84941009f1f7f554cd41af1890cff0c9766f4ac38c19b10d50f9545ea mplayer-1.0_rc1-r1.ebuild 16332
+EBUILD mplayer-1.0_rc1-r2.ebuild 16389 RMD160 91f9750675c495a415d3c3dc776ffba5cba894a0 SHA1 218efab757dfec82af48710143c92c23f9a7a072 SHA256 04c9f2a5c6a72097d1abbe4660eb0ce12923133e0916b33bd14acbef4ff37c89
+MD5 d149f738a98768473a0154692a5a5585 mplayer-1.0_rc1-r2.ebuild 16389
+RMD160 91f9750675c495a415d3c3dc776ffba5cba894a0 mplayer-1.0_rc1-r2.ebuild 16389
+SHA256 04c9f2a5c6a72097d1abbe4660eb0ce12923133e0916b33bd14acbef4ff37c89 mplayer-1.0_rc1-r2.ebuild 16389
 EBUILD mplayer-1.0_rc1.ebuild 16213 RMD160 08007c60a53f8795dcd5b640c89c9984ba7a658a SHA1 434154dca4ed96fd77fa66f9c0980fe10d285d12 SHA256 24dbfab9f02f2cd47dae7bc66a96c5c2594766a9c557b3f0ac10ae1cd6709e63
 MD5 81ec348dcd18d9fc78f3993272cf2f97 mplayer-1.0_rc1.ebuild 16213
 RMD160 08007c60a53f8795dcd5b640c89c9984ba7a658a mplayer-1.0_rc1.ebuild 16213
 SHA256 24dbfab9f02f2cd47dae7bc66a96c5c2594766a9c557b3f0ac10ae1cd6709e63 mplayer-1.0_rc1.ebuild 16213
-MISC ChangeLog 80412 RMD160 f4191481e971874823cb86bbed74130cb6991b3f SHA1 3b8caed8b7cf1087dd6bb568b18c24a465844073 SHA256 0b316e584596b60c43d46342a78b437a47f4e4d5a12b193fb99b2c9f86cac15b
-MD5 523133eeed6a85ec040d4f07e4540638 ChangeLog 80412
-RMD160 f4191481e971874823cb86bbed74130cb6991b3f ChangeLog 80412
-SHA256 0b316e584596b60c43d46342a78b437a47f4e4d5a12b193fb99b2c9f86cac15b ChangeLog 80412
+MISC ChangeLog 80620 RMD160 b7f33a5db1e82b912d958aaf40f0d4b1fe91ad1d SHA1 d0dde9ce1ace003d5612555cb4e36e927a89f5ef SHA256 98045b69ba26ab21cbeb4c75172f9bd7d14be3ea96d60de5705d8456025d596d
+MD5 efe359b502f02b50fc073e02ab34c0d4 ChangeLog 80620
+RMD160 b7f33a5db1e82b912d958aaf40f0d4b1fe91ad1d ChangeLog 80620
+SHA256 98045b69ba26ab21cbeb4c75172f9bd7d14be3ea96d60de5705d8456025d596d ChangeLog 80620
 MISC metadata.xml 223 RMD160 86b42c49b694db39ddb3fdc60b98a3ad1a0c3392 SHA1 ea8c387229caaf4b0d3c9fbef9143b70dcae0b0d SHA256 dd48e823ec9a151bc3611121402ed26ee24eb3304aa62870b1e875a8fa0ac812
 MD5 0338bfb24d7bfb6450aac4dd025c0096 metadata.xml 223
 RMD160 86b42c49b694db39ddb3fdc60b98a3ad1a0c3392 metadata.xml 223
@@ -56,3 +64,6 @@ SHA256 b0f6ba62381548cffb2eb17179cdb5927605e273c5d5b834b225cff495e9136a files/di
 MD5 d7bbbcb7a88505edca78e82546995d4f files/digest-mplayer-1.0_rc1-r1 1997
 RMD160 95a72a90b4c19fc9063c6fab3bdb9647c6c5686f files/digest-mplayer-1.0_rc1-r1 1997
 SHA256 b0f6ba62381548cffb2eb17179cdb5927605e273c5d5b834b225cff495e9136a files/digest-mplayer-1.0_rc1-r1 1997
+MD5 d7bbbcb7a88505edca78e82546995d4f files/digest-mplayer-1.0_rc1-r2 1997
+RMD160 95a72a90b4c19fc9063c6fab3bdb9647c6c5686f files/digest-mplayer-1.0_rc1-r2 1997
+SHA256 b0f6ba62381548cffb2eb17179cdb5927605e273c5d5b834b225cff495e9136a files/digest-mplayer-1.0_rc1-r2 1997
diff --git a/media-video/mplayer/files/digest-mplayer-1.0_rc1-r2 b/media-video/mplayer/files/digest-mplayer-1.0_rc1-r2
new file mode 100644 (file)
index 0000000..d6cc619
--- /dev/null
@@ -0,0 +1,24 @@
+MD5 9b575d01f94f50dd4dcf570cd8a14dda 26104-510.zip 291836
+RMD160 0ff97a27fe5d08dd43571fd1982ce0f07bce3bca 26104-510.zip 291836
+SHA256 75fdf6416950c155ccbfd7fae4ffd6529f162ad6b427ab242c3e00685e303f46 26104-510.zip 291836
+MD5 607a14d090898ffb0f72c1aa6aa6ce31 26204-510.zip 246663
+RMD160 1b68232bc40d84298b134c57697e29a842e63ffd 26204-510.zip 246663
+SHA256 069ebd6ed8ef846d99bdd13d6c47fdb99fe5583b0ed5f405e1392a1a21a1b991 26204-510.zip 246663
+MD5 e4e2020d11b681aac898103b3ba723c4 Blue-1.7.tar.bz2 222567
+RMD160 1f8c539ccadc54eea5e6678839bcc8ae1e16e6eb Blue-1.7.tar.bz2 222567
+SHA256 8bcd39a5755c44df778ebca3119c922347abfdadb101dcef011ce2566c1fb1d8 Blue-1.7.tar.bz2 222567
+MD5 18c05d88e22c3b815a43ca8d7152ccdc MPlayer-1.0rc1.tar.bz2 8414213
+RMD160 8cea02e832aec5d9e090829d61d0f131dcc177a2 MPlayer-1.0rc1.tar.bz2 8414213
+SHA256 8dd9dd61a0fe56904f5b76ddedb99bd359abaaf486e0b83b45e3357fecc81063 MPlayer-1.0rc1.tar.bz2 8414213
+MD5 d0afd83cd04c29a714a62b427aace5c5 font-arial-cp1250.tar.bz2 249705
+RMD160 a2fc7ae07b0d80936ea58e168e1047efccb9eb91 font-arial-cp1250.tar.bz2 249705
+SHA256 423a07e780bb130cd8e4730715545c5d919c248dda595aab7a0a01de3c83fd12 font-arial-cp1250.tar.bz2 249705
+MD5 1ecd31d17b51f16332b1fcc7da36b312 font-arial-iso-8859-1.tar.bz2 234242
+RMD160 666697cd5efd9387057a898c714175e7c2aacbcd font-arial-iso-8859-1.tar.bz2 234242
+SHA256 9730f481764f367c9089d0166fb6ccf9148808ffbbfeca635cf0e6db75765d29 font-arial-iso-8859-1.tar.bz2 234242
+MD5 7b47904a925cf58ea546ca15f3df160c font-arial-iso-8859-2.tar.bz2 222208
+RMD160 562d4d92c4f5f3d537340fde3ad8d1495ac41acb font-arial-iso-8859-2.tar.bz2 222208
+SHA256 71debfc960007c2f6242dfc91e8b1c005b30a99e129aeb00ab8c03f4371b41c1 font-arial-iso-8859-2.tar.bz2 222208
+MD5 3f1b9eb2ba639bf42c61f7b9189f6524 svgalib_helper-1.9.17-mplayer.tar.bz2 7234
+RMD160 e0c4ae039478732404dd743e250e1061cc9cf0a4 svgalib_helper-1.9.17-mplayer.tar.bz2 7234
+SHA256 016edd27d74b5c66481ddb4563c961fbb579e3a95dd846cc857a639df09999e5 svgalib_helper-1.9.17-mplayer.tar.bz2 7234
diff --git a/media-video/mplayer/files/mplayer-1.0_rc1-asmrules.patch b/media-video/mplayer/files/mplayer-1.0_rc1-asmrules.patch
new file mode 100644 (file)
index 0000000..87bab25
--- /dev/null
@@ -0,0 +1,51 @@
+Index: stream/realrtsp/asmrp.c
+===================================================================
+--- stream/realrtsp/asmrp.c    (revision 20381)
++++ stream/realrtsp/asmrp.c    (working copy)
+@@ -40,6 +40,7 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
++#include "asmrp.h"
+ /*
+ #define LOG
+@@ -645,8 +646,10 @@
+ #ifdef LOG
+       printf ("rule #%d is true\n", rule_num);
+ #endif
+-      matches[num_matches] = rule_num;
+-      num_matches++;
++      if(num_matches < MAX_RULEMATCHES - 1)
++        matches[num_matches++] = rule_num;
++      else
++        printf("Ignoring matched asm rule %d, too many matched rules.\n", rule_num);
+     }
+     rule_num++;
+Index: stream/realrtsp/real.c
+===================================================================
+--- stream/realrtsp/real.c     (revision 20381)
++++ stream/realrtsp/real.c     (working copy)
+@@ -271,7 +271,7 @@
+     int j=0;
+     int n;
+     char b[64];
+-    int rulematches[16];
++    int rulematches[MAX_RULEMATCHES];
+ #ifdef LOG
+     printf("calling asmrp_match with:\n%s\n%u\n", desc->stream[i]->asm_rule_book, bandwidth);
+Index: stream/realrtsp/asmrp.h
+===================================================================
+--- stream/realrtsp/asmrp.h    (revision 20381)
++++ stream/realrtsp/asmrp.h    (working copy)
+@@ -40,6 +40,8 @@
+ #ifndef HAVE_ASMRP_H
+ #define HAVE_ASMRP_H
++#define MAX_RULEMATCHES 16
++
+ int asmrp_match (const char *rules, int bandwidth, int *matches) ;
+ #endif
diff --git a/media-video/mplayer/mplayer-1.0_rc1-r2.ebuild b/media-video/mplayer/mplayer-1.0_rc1-r2.ebuild
new file mode 100644 (file)
index 0000000..8cc42d6
--- /dev/null
@@ -0,0 +1,576 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/mplayer-1.0_rc1-r2.ebuild,v 1.1 2007/01/30 15:26:30 beandog Exp $
+
+inherit eutils flag-o-matic
+
+RESTRICT="nostrip"
+IUSE="3dfx 3dnow 3dnowext aac aalib alsa altivec amr arts bidi bl bindist
+cpudetection custom-cflags debug dga doc dts dvb cdparanoia directfb dvd
+dv dvdread enca encode esd fbcon gif ggi gtk iconv ipv6 jack joystick jpeg
+libcaca lirc live livecd lzo mad matrox mmx mmxext musepack nas unicode
+vorbis opengl openal oss png real rtc samba sdl speex sse sse2 svga tga
+theora truetype v4l v4l2 win32codecs X x264 xanim xinerama xv xvid xvmc"
+
+LANGS="bg cs de da el en es fr hu ja ko mk nl no pl pt_BR ro ru sk tr uk zh_CN
+zh_TW"
+
+for X in ${LANGS} ; do
+       IUSE="${IUSE} linguas_${X}"
+done
+
+BLUV=1.7
+SVGV=1.9.17
+
+# Handle PREversions as wel
+MY_P="MPlayer-${PV/_/}"
+S="${WORKDIR}/${MY_P}"
+AMR_URI="http://www.3gpp.org/ftp/Specs/archive"
+SRC_URI="mirror://mplayer/releases/${MY_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 )
+       svga? ( http://mplayerhq.hu/~alex/svgalib_helper-${SVGV}-mplayer.tar.bz2 )
+       gtk? ( mirror://mplayer/Skin/Blue-${BLUV}.tar.bz2 )
+       amr? ( ${AMR_URI}/26_series/26.104/26104-510.zip
+                  ${AMR_URI}/26_series/26.204/26204-510.zip )"
+
+# Only install Skin if GUI should be build (gtk as USE flag)
+DESCRIPTION="Media Player for Linux "
+HOMEPAGE="http://www.mplayerhq.hu/"
+
+# 'encode' in USE for MEncoder.
+RDEPEND="xvid? ( >=media-libs/xvid-0.9.0 )
+       win32codecs? (
+               !livecd? (
+                       !bindist? ( >=media-libs/win32codecs-20040916 ) ) )
+       x86? ( real? ( >=media-video/realplayer-10.0.3 ) )
+       amd64? ( real? ( media-libs/amd64codecs ) )
+       aalib? ( media-libs/aalib )
+       alsa? ( media-libs/alsa-lib )
+       arts? ( kde-base/arts )
+       openal? ( media-libs/openal )
+       bidi? ( dev-libs/fribidi )
+       cdparanoia? ( media-sound/cdparanoia )
+       dga? ( x11-libs/libXxf86dga )
+       directfb? ( dev-libs/DirectFB )
+       dts? ( media-libs/libdts )
+       dvb? ( media-tv/linuxtv-dvb-headers )
+       dvd? ( dvdread? ( media-libs/libdvdread ) )
+       encode? (
+               media-sound/lame
+               dv? ( >=media-libs/libdv-0.9.5 )
+               x264? ( >=media-libs/x264-svn-20061014 )
+               aac? ( media-libs/faac )
+               )
+       esd? ( media-sound/esound )
+       enca? ( app-i18n/enca )
+       gif? ( media-libs/giflib )
+       ggi? ( media-libs/libggi )
+       gtk? ( media-libs/libpng
+                  x11-libs/libXxf86vm
+                  x11-libs/libXext
+                  x11-libs/libXi
+                  =x11-libs/gtk+-2*
+                  =dev-libs/glib-2* )
+       jpeg? ( media-libs/jpeg )
+       libcaca? ( media-libs/libcaca )
+       lirc? ( app-misc/lirc )
+       lzo? ( =dev-libs/lzo-1* )
+       mad? ( media-libs/libmad )
+       musepack? ( >=media-libs/libmpcdec-1.2.2 )
+       nas? ( media-libs/nas )
+       opengl? ( virtual/opengl )
+       png? ( media-libs/libpng )
+       samba? ( >=net-fs/samba-2.2.8a )
+       sdl? ( media-libs/libsdl )
+       speex? ( media-libs/speex )
+       svga? ( media-libs/svgalib )
+       theora? ( media-libs/libtheora )
+       live? ( >=media-plugins/live-2004.07.20 )
+       truetype? ( >=media-libs/freetype-2.1
+                               media-libs/fontconfig )
+       xinerama? ( x11-libs/libXinerama
+                               x11-libs/libXxf86vm
+                               x11-libs/libXext )
+       xanim? ( >=media-video/xanim-2.80.1-r4 )
+       sys-libs/ncurses
+       xv? ( x11-libs/libXv
+                 x11-libs/libXxf86vm
+                 x11-libs/libXext
+                 xvmc? ( x11-libs/libXvMC ) )
+       X? ( x11-libs/libXxf86vm
+                x11-libs/libXext )
+       "
+
+DEPEND="${RDEPEND}
+       app-arch/unzip
+       doc? ( >=app-text/docbook-sgml-dtd-4.1.2
+                  app-text/docbook-xml-dtd
+                  >=app-text/docbook-xml-simple-dtd-1.50.0
+                  dev-libs/libxslt
+                  )
+       dga? ( x11-proto/xf86dgaproto )
+       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 )
+       iconv? ( virtual/libiconv )"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+pkg_setup() {
+       if use real && use x86; then
+               REALLIBDIR="/opt/RealPlayer/codecs"
+       elif use real && use amd64; then
+               REALLIBDIR="/usr/lib64/codecs"
+       fi
+
+       if use truetype && ! use iconv ; then
+               ewarn "You enabled the 'truetype' USE flag, but support will be"
+               ewarn "disabled unless you also use 'iconv'."
+       fi
+}
+
+src_unpack() {
+
+       unpack ${MY_P}.tar.bz2
+
+       if ! use truetype || ! use iconv ; then
+               unpack font-arial-iso-8859-1.tar.bz2 \
+                          font-arial-iso-8859-2.tar.bz2 \
+                          font-arial-cp1250.tar.bz2
+       fi
+
+       use svga && unpack svgalib_helper-${SVGV}-mplayer.tar.bz2
+
+       use gtk && unpack Blue-${BLUV}.tar.bz2
+
+       use amr && unpack 26104-510.zip && unpack 26204-510.zip
+
+       # amr (float) support
+       if use amr; then
+               einfo "Including amr wide and narrow band (float) support ... "
+
+               # narrow band codec
+               mkdir ${S}/libavcodec/amr_float
+               cd ${S}/libavcodec/amr_float
+               unzip -q ${WORKDIR}/26104-510_ANSI_C_source_code.zip
+               # wide band codec
+               mkdir ${S}/libavcodec/amrwb_float
+               cd ${S}/libavcodec/amrwb_float
+               unzip -q ${WORKDIR}/26204-510_ANSI-C_source_code.zip
+       fi
+
+       cd ${S}
+
+       epatch "${FILESDIR}/mplayer-undefined-reference-fix.patch"
+
+       # DSA 1244-1
+       epatch "${FILESDIR}/${P}-asmrules.patch"
+
+       # Fix hppa compilation
+       [ "${ARCH}" = "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
+
+       # Remove kernel-2.6 workaround as the problem it works around is
+       # fixed, and the workaround breaks sparc
+       use sparc && sed -i 's:#define __KERNEL__::' osdep/kerneltwosix.h
+
+       # minor fix
+       sed -i -e "s:-O4:-O4 -D__STDC_LIMIT_MACROS:" configure
+
+}
+
+src_compile() {
+
+       # have fun with LINGUAS variable
+       [[ -n $LINGUAS ]] && LINGUAS=${LINGUAS//da/dk}
+
+       local myconf=" --disable-tv-bsdbt848 --disable-dvdnav"
+       myconf="${myconf} --disable-vidix-external"
+       ################
+       #Optional features#
+       ###############
+       if use cpudetection || use livecd || use bindist
+       then
+       myconf="${myconf} --enable-runtime-cpudetection"
+       fi
+
+       myconf="${myconf} $(use_enable bidi fribidi)"
+
+       if use iconv
+       then
+               use unicode && myconf="${myconf} --charset=UTF-8"
+       else
+               myconf="${myconf} --disable-iconv"
+               myconf="${myconf} --charset=noconv"
+       fi
+
+       use enca || myconf="${myconf} --disable-enca"
+
+       use cdparanoia || myconf="${myconf} --disable-cdparanoia"
+
+       if use dvd
+       then
+               use dvdread && myconf="${myconf} --disable-mpdvdkit"
+               use dvdread || myconf="${myconf} --disable-dvdread"
+       else
+               myconf="${myconf} --disable-dvdread --disable-mpdvdkit"
+       fi
+
+       if use encode
+       then
+               myconf="${myconf} --enable-mencoder"
+               use dv || myconf="${myconf} --disable-libdv"
+               use x264 || myconf="${myconf} --disable-x264"
+               use aac || myconf="${myconf} --disable-faac"
+       else
+               myconf="${myconf} --disable-mencoder --disable-libdv --disable-x264
+               --disable-faac"
+       fi
+
+       myconf="${myconf} $(use_enable gtk gui)"
+
+       if use !gtk && use !X && use !xv && use !xinerama
+       then
+               myconf="${myconf} --disable-gui --disable-x11 --disable-xv --disable-xmga --disable-xinerama --disable-vm --disable-xvmc"
+       else
+               #note we ain't touching --enable-vm.  That should be locked down in the future.
+               myconf="${myconf} --enable-x11 $(use_enable xinerama) $(use_enable xv) $(use_enable gtk gui)"
+       fi
+
+       # this looks like a hack, but the
+       # --enable-dga needs a paramter, but there's no surefire
+       # way to tell what it is.. so I'm letting MPlayer decide
+       # the enable part
+       if ! use dga && ! use 3dfx
+       then
+               myconf="${myconf} --disable-dga"
+       fi
+       # disable png *only* if gtk && png aren't on
+       if use png || use gtk
+       then
+               myconf="${myconf} --enable-png"
+       else
+               myconf="${myconf} --disable-png"
+       fi
+
+       # disable PVR support
+       # The build will break if you have media-tv/ivtv installed and
+       # linux-headers != 2.6.18, which is currently not keyworded
+       myconf="${myconf} --disable-pvr"
+
+       myconf="${myconf} $(use_enable ipv6 inet6)"
+       myconf="${myconf} $(use_enable joystick)"
+       myconf="${myconf} $(use_enable lirc)"
+       myconf="${myconf} $(use_enable rtc)"
+       myconf="${myconf} $(use_enable samba smb)"
+       myconf="${myconf} $(use_enable truetype freetype)"
+       use live || myconf="${myconf} --disable-live"
+       use v4l  || myconf="${myconf} --disable-tv-v4l1"
+       use v4l2 || myconf="${myconf} --disable-tv-v4l2"
+       use jack || myconf="${myconf} --disable-jack"
+
+       #########
+       # Codecs #
+       ########
+       myconf="${myconf} $(use_enable gif)"
+       myconf="${myconf} $(use_enable jpeg)"
+       #myconf="${myconf} $(use_enable ladspa)"
+       myconf="${myconf} $(use_enable dts libdts)"
+       myconf="${myconf} $(use_enable lzo liblzo)"
+       myconf="${myconf} $(use_enable musepack)"
+       myconf="${myconf} $(use_enable aac faad-internal)"
+       use vorbis || myconf="${myconf} --disable-libvorbis"
+       myconf="${myconf} $(use_enable theora)"
+       use speex || myconf="${myconf} --disable-speex"
+       myconf="${myconf} $(use_enable xvid)"
+       use x86 && myconf="${myconf} $(use_enable real)"
+       ! use livecd && ! use bindist && \
+               myconf="${myconf} $(use_enable win32codecs win32)"
+
+       #############
+       # Video Output #
+       #############
+       myconf="${myconf} $(use_enable 3dfx)"
+       if use 3dfx
+       then
+               myconf="${myconf} --enable-tdfxvid"
+       else
+               myconf="${myconf} --disable-tdfxvid"
+       fi
+       if use fbcon && use 3dfx
+       then
+               myconf="${myconf} --enable-tdfxfb"
+       else
+               myconf="${myconf} --disable-tdfxfb"
+       fi
+
+       if use dvb
+       then
+               myconf="${myconf} --enable-dvbhead"
+       else
+               myconf="${myconf} --disable-dvbhead"
+       fi
+
+       use aalib || myconf="${myconf} --disable-aa"
+       myconf="${myconf} $(use_enable directfb)"
+       myconf="${myconf} $(use_enable fbcon fbdev)"
+       myconf="${myconf} $(use_enable ggi)"
+       myconf="${myconf} $(use_enable libcaca caca)"
+       if use matrox && use X
+       then
+               myconf="${myconf} $(use_enable matrox xmga)"
+       fi
+       myconf="${myconf} $(use_enable matrox mga)"
+       myconf="${myconf} $(use_enable opengl gl)"
+       myconf="${myconf} $(use_enable sdl)"
+
+       if use svga
+       then
+               myconf="${myconf} --enable-svga"
+       else
+               myconf="${myconf} --disable-svga --disable-vidix-internal"
+       fi
+
+       myconf="${myconf} $(use_enable tga)"
+
+       if use xv && use xvmc
+       then
+               myconf="${myconf} --enable-xvmc --with-xvmclib=XvMCW"
+       else
+               myconf="${myconf} --disable-xvmc"
+       fi
+
+       #############
+       # Audio Output #
+       #############
+       use alsa || myconf="${myconf} --disable-alsa"
+       use arts || myconf="${myconf} --disable-arts"
+       use esd || myconf="${myconf} --disable-esd"
+       use mad || myconf="${myconf} --disable-mad"
+       use nas || myconf="${myconf} --disable-nas"
+       use openal || myconf="${myconf} --disable-openal"
+       use oss || myconf="${myconf} --disable-ossaudio"
+
+       #################
+       # Advanced Options #
+       #################
+       # Platform specific flags, hardcoded on amd64 (see below)
+       myconf="${myconf} $(use_enable 3dnow)"
+       myconf="${myconf} $(use_enable 3dnowext)";
+       use x86 && myconf="${myconf} $(use_enable sse)"
+       use x86 && myconf="${myconf} $(use_enable sse2)"
+       use x86 && myconf="${myconf} $(use_enable mmx)"
+       myconf="${myconf} $(use_enable mmxext)"
+       use debug && myconf="${myconf} --enable-debug=3"
+
+       # mplayer now contains SIMD assembler code for amd64
+       # AMD64 Team decided to hardenable SIMD assembler for all users
+       # Danny van Dyk <kugelfang@gentoo.org> 2005/01/11
+       if use amd64; then
+               myconf="${myconf} --enable-sse --enable-sse2 --enable-mmx"
+       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
+
+       # 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 -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
+
+       CFLAGS="$CFLAGS" ./configure \
+               "--cc=$(tc-getCC)" "--host-cc=$(tc-getBUILD_CC)" \
+               --prefix=/usr \
+               --confdir=/usr/share/mplayer \
+               --datadir=/usr/share/mplayer \
+               --enable-largefiles \
+               --enable-menu \
+               --enable-network --enable-ftp \
+               --with-reallibdir=${REALLIBDIR} \
+               --disable-faad-external \
+               ${myconf} || die
+
+       # we run into problems if -jN > -j1
+       # see #86245
+       MAKEOPTS="${MAKEOPTS} -j1"
+
+       einfo "Make"
+       emake || die "Failed to build MPlayer!"
+       use doc && make -C DOCS/xml html-chunked
+       einfo "Make completed"
+}
+
+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/skins
+               cp -r ${WORKDIR}/Blue ${D}/usr/share/mplayer/skins/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
+       if ! use truetype || ! use iconv
+       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
+       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
+       if use truetype && use iconv
+       then
+               cat >> ${D}/etc/mplayer.conf << EOT
+fontconfig=1
+subfont-osd-scale=4
+subfont-text-scale=3
+EOT
+       fi
+       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/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
+}
+