summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2005-08-27 01:57:48 +0000
committerLuca Barbato <lu_zero@gentoo.org>2005-08-27 01:57:48 +0000
commitbe6369b159c07cb5b7cf2fc1758603ac41013efc (patch)
tree8aeeac6d6267cc4bbea1ea3fe4e916f6488cafe2 /media-video/mplayer
parentfix keywords (diff)
downloadhistorical-be6369b159c07cb5b7cf2fc1758603ac41013efc.tar.gz
historical-be6369b159c07cb5b7cf2fc1758603ac41013efc.tar.bz2
historical-be6369b159c07cb5b7cf2fc1758603ac41013efc.zip
Hotfix for bug #103555
Package-Manager: portage-1.589-cvs
Diffstat (limited to 'media-video/mplayer')
-rw-r--r--media-video/mplayer/ChangeLog8
-rw-r--r--media-video/mplayer/Manifest28
-rw-r--r--media-video/mplayer/files/digest-mplayer-1.0_pre7-r16
-rw-r--r--media-video/mplayer/mplayer-1.0_pre7-r1.ebuild606
4 files changed, 634 insertions, 14 deletions
diff --git a/media-video/mplayer/ChangeLog b/media-video/mplayer/ChangeLog
index e191a759cb1c..6ba092812915 100644
--- a/media-video/mplayer/ChangeLog
+++ b/media-video/mplayer/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-video/mplayer
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.318 2005/08/25 20:01:01 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.319 2005/08/27 01:57:48 lu_zero Exp $
+
+*mplayer-1.0_pre7-r1 (27 Aug 2005)
+
+ 27 Aug 2005; Luca Barbato <lu_zero@gentoo.org>
+ +mplayer-1.0_pre7-r1.ebuild:
+ Hotfix release for a recently discovered buffer overflow, bug #103555
25 Aug 2005; Aron Griffis <agriffis@gentoo.org> mplayer-1.0_pre7.ebuild:
stable on ia64
diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest
index 822815b08bf3..bc0c9af0c6a3 100644
--- a/media-video/mplayer/Manifest
+++ b/media-video/mplayer/Manifest
@@ -1,24 +1,26 @@
-MD5 f61b143e75e30cdba4019237e32d4de2 mplayer-1.0_pre6-r4.ebuild 18372
+MD5 a7ee6a7da902ae3aab61ef0f6c00cea9 mplayer-1.0_pre7.ebuild 17868
MD5 7300a7b361fa9f48e37722c6952bd432 metadata.xml 158
-MD5 bbdc5190793362a6c607d6e13697fcc3 ChangeLog 59200
+MD5 9cb2fff094c8de4b237bbe8e69dce600 mplayer-1.0_pre7-r1.ebuild 17873
MD5 a1059d3d7970cd21dbbcb9c89d0bed8d mplayer-1.0_pre6-r6.ebuild 18368
+MD5 f61b143e75e30cdba4019237e32d4de2 mplayer-1.0_pre6-r4.ebuild 18372
+MD5 1f703d4ee345341dcf7fd47ea11852b8 ChangeLog 59388
MD5 0929553017cf92b1bc65d12df2bf6b21 mplayer-1.0_pre6-r5.ebuild 18458
-MD5 a7ee6a7da902ae3aab61ef0f6c00cea9 mplayer-1.0_pre7.ebuild 17868
-MD5 c2e82dbe0e7b780adcbe9bfb902b8654 files/mplayer-1.0_pre6-pic.patch 18233
+MD5 c08980a7e7ffcb5793e929cf25cf349e files/mplayer-1.0_pre7-gcc_detection.patch 788
MD5 13bcf07a21789edf9b2f7b7935828b5b files/digest-mplayer-1.0_pre6-r4 429
-MD5 0ea2e07703fc2105a7f3d265106e9b1f files/mplayer-1.0_pre6-ppc64.patch 353
MD5 3d94fd5886df3b60fe2606c4dee9d1dd files/mplayer-1.0_pre7-gcc4.patch 6412
+MD5 59120b22317a30fb88a5e4946eaed3f0 files/mplayer-nl.patch 673
+MD5 c2e82dbe0e7b780adcbe9bfb902b8654 files/mplayer-1.0_pre6-pic.patch 18233
MD5 995f560631c6874f08bf6cc9ae01fb08 files/mplayer.desktop 794
-MD5 e1fd1f0b9ee787f83ff0969f512d40d5 files/mplayer-gcc_detection.patch 611
MD5 68f89231bdbc972ac6abf45a135c8282 files/mplayer-jack.patch 272
+MD5 6748b8218fbe9ff36efcec61c749a346 files/mplayer-1.0_pre6-codecs.patch 1264
MD5 62d91cee9c8499fb0186fd7597c725f7 files/digest-mplayer-1.0_pre7 428
-MD5 59120b22317a30fb88a5e4946eaed3f0 files/mplayer-nl.patch 673
+MD5 13bcf07a21789edf9b2f7b7935828b5b files/digest-mplayer-1.0_pre6-r5 429
+MD5 38c7908ce49f7f6a272993ba5bc9dd09 files/mplayer-mythtv.patch 13755
+MD5 e1fd1f0b9ee787f83ff0969f512d40d5 files/mplayer-gcc_detection.patch 611
+MD5 bdc2a05b83ca16773f288d75afe99b33 files/digest-mplayer-1.0_pre7-r1 432
+MD5 2328e907ec169e2fa3f930e2bb38dc21 files/mmst_fix_20050415.diff 630
+MD5 1dc7b4b16903461c2ea8663d5dfc5795 files/rtsp_fix_20050415.diff 634
MD5 475b283b41206562f0ee5ad28ff141e7 files/mplayer-avi_crash.patch 1388
+MD5 0ea2e07703fc2105a7f3d265106e9b1f files/mplayer-1.0_pre6-ppc64.patch 353
MD5 9ca8563e7f6df3496b972f87feabd6c0 files/mplayer-1.0_pre6-configure.patch 534
MD5 13bcf07a21789edf9b2f7b7935828b5b files/digest-mplayer-1.0_pre6-r6 429
-MD5 1dc7b4b16903461c2ea8663d5dfc5795 files/rtsp_fix_20050415.diff 634
-MD5 2328e907ec169e2fa3f930e2bb38dc21 files/mmst_fix_20050415.diff 630
-MD5 13bcf07a21789edf9b2f7b7935828b5b files/digest-mplayer-1.0_pre6-r5 429
-MD5 6748b8218fbe9ff36efcec61c749a346 files/mplayer-1.0_pre6-codecs.patch 1264
-MD5 38c7908ce49f7f6a272993ba5bc9dd09 files/mplayer-mythtv.patch 13755
-MD5 c08980a7e7ffcb5793e929cf25cf349e files/mplayer-1.0_pre7-gcc_detection.patch 788
diff --git a/media-video/mplayer/files/digest-mplayer-1.0_pre7-r1 b/media-video/mplayer/files/digest-mplayer-1.0_pre7-r1
new file mode 100644
index 000000000000..9075c41ff636
--- /dev/null
+++ b/media-video/mplayer/files/digest-mplayer-1.0_pre7-r1
@@ -0,0 +1,6 @@
+MD5 aaca4fd327176c1afb463f0f047ef6f4 MPlayer-1.0pre7try2.tar.bz2 6868786
+MD5 1ecd31d17b51f16332b1fcc7da36b312 font-arial-iso-8859-1.tar.bz2 234242
+MD5 7b47904a925cf58ea546ca15f3df160c font-arial-iso-8859-2.tar.bz2 222208
+MD5 d0afd83cd04c29a714a62b427aace5c5 font-arial-cp1250.tar.bz2 249705
+MD5 3f1b9eb2ba639bf42c61f7b9189f6524 svgalib_helper-1.9.17-mplayer.tar.bz2 7234
+MD5 5fdc36704c4ec3a6dc6b57a536608180 Blue-1.4.tar.bz2 221734
diff --git a/media-video/mplayer/mplayer-1.0_pre7-r1.ebuild b/media-video/mplayer/mplayer-1.0_pre7-r1.ebuild
new file mode 100644
index 000000000000..5c9f41b2ffbc
--- /dev/null
+++ b/media-video/mplayer/mplayer-1.0_pre7-r1.ebuild
@@ -0,0 +1,606 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/mplayer-1.0_pre7-r1.ebuild,v 1.1 2005/08/27 01:57:48 lu_zero Exp $
+
+inherit eutils flag-o-matic kernel-mod
+
+RESTRICT="nostrip"
+IUSE="3dfx 3dnow 3dnowext aac aalib alsa altivec arts bidi bl cpudetection
+custom-cflags debug dga divx4linux doc dts dvb cdparanoia directfb dvd dv
+dvdread edl encode esd fbcon gif ggi gtk i8x0 ipv6 jack joystick jpeg libcaca
+lirc live lzo mad matroska matrox mmx mmxext mythtv 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"
+
+BLUV=1.4
+SVGV=1.9.17
+
+# Handle PREversions as well
+MY_PV="${PV/_/}"
+MY_P="MPlayer-${MY_PV}try2"
+S="${WORKDIR}/${MY_P}"
+SRC_URI="mirror://mplayer/releases/${MY_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"
+HOMEPAGE="http://www.mplayerhq.hu/"
+
+# 'encode' in USE for MEncoder.
+RDEPEND="xvid? ( >=media-libs/xvid-0.9.0 )
+ divx4linux? ( >=media-libs/divx4linux-20030428 )
+ 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? ( virtual/x11 )
+ directfb? ( dev-libs/DirectFB )
+ dts? ( media-libs/libdts )
+ dvd? ( dvdread? ( media-libs/libdvdread ) )
+ encode? (
+ media-sound/lame
+ dv? ( >=media-libs/libdv-0.9.5 )
+ )
+ esd? ( media-sound/esound )
+ gif? ( || ( media-libs/giflib media-libs/libungif ) )
+ ggi? ( media-libs/libggi )
+ gtk? (
+ media-libs/libpng
+ virtual/x11
+ =x11-libs/gtk+-1.2*
+ =dev-libs/glib-1.2*
+ )
+ jpeg? ( media-libs/jpeg )
+ libcaca? ( media-libs/libcaca )
+ lirc? ( app-misc/lirc )
+ lzo? ( dev-libs/lzo )
+ mad? ( media-libs/libmad )
+ nas? ( media-libs/nas )
+ nls? ( sys-devel/gettext )
+ vorbis? ( media-libs/libvorbis )
+ 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? ( virtual/x11 )
+ jack? ( >=media-libs/bio2jack-0.4 )
+ xmms? ( media-sound/xmms )
+ xanim? ( >=media-video/xanim-2.80.1-r4 )
+ sys-libs/ncurses"
+
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 hppa ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+# ecpu_check
+# Usage:
+#
+# ecpu_check array_of_cpu_flags
+#
+# array_of_cpu_flags - An array of cpu flags to check against USE flags
+#
+# Checks user USE related cpu flags against /proc/cpuinfo. If user enables a
+# cpu flag that is not supported in their processor flags, it will warn the
+# user if CROSSCOMPILE is not set to 1 ( because cross compile users are
+# obviously using different cpu flags than their own cpu ). Examples:
+#
+# CPU_FLAGS=(mmx mmx2 sse sse2)
+# ecpu_check CPU_FLAGS
+# Chris White <chriswhite@gentoo.org> (03 Feb 2005)
+
+ecpu_check() {
+ # Think about changing below to: if [ "${CROSSCOMPILE}" -ne 1 -a -e "/proc/cpuinfo" ]
+ # and dropping the else if you do not plan on adding anything to that
+ # empty block ....
+ # PS: also try to add some quoting, and consider rather using ${foo} than $foo ...
+ if [ "${CROSSCOMPILE}" != "1" -a -e "/proc/cpuinfo" ]
+ then
+ CPU_FLAGS=${1}
+ USER_CPU=`grep "flags" /proc/cpuinfo`
+
+ for flags in `seq 1 ${#CPU_FLAGS[@]}`
+ do
+ if has ${CPU_FLAGS[${flags} - 1]} ${USER_CPU} && ! has ${CPU_FLAGS[${flags} - 1]} ${USE}
+ then
+ ewarn "Your system is ${CPU_FLAGS[${flags} - 1]} capable but you don't have it enabled!"
+ ewarn "You might be cross compiling (in this case set CROSSCOMPILE to 1 to disable this warning."
+ fi
+
+ if ! has ${CPU_FLAGS[${flags} - 1]} ${USER_CPU} && has ${CPU_FLAGS[${flags} -1]} ${USE}
+ then
+ ewarn "You have ${CPU_FLAGS[${flags} - 1]} support enabled but your processor doesn't"
+ ewarn "Seem to support it! You might be cross compiling or do not have /proc filesystem"
+ ewarn "enabled. If either is the case, set CROSSCOMPILE to 1 to disable this warning."
+ fi
+ done
+ fi
+}
+
+pkg_setup() {
+ if use real && use x86; then
+ REALLIBDIR="/opt/RealPlayer/codecs"
+ fi
+}
+
+src_unpack() {
+
+ unpack ${MY_P}.tar.bz2 \
+ font-arial-iso-8859-1.tar.bz2 font-arial-iso-8859-2.tar.bz2 \
+ font-arial-cp1250.tar.bz2
+
+ use svga && unpack svgalib_helper-${SVGV}-mplayer.tar.bz2
+
+ use gtk && unpack Blue-${BLUV}.tar.bz2
+
+ cd ${S}
+
+ #adds mythtv support to mplayer
+ use mythtv && epatch ${FILESDIR}/mplayer-mythtv.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
+ epatch ${FILESDIR}/${PN}-1.0_pre6-ppc64.patch
+
+ # Fix building with gcc4
+ epatch ${FILESDIR}/${P}-gcc4.patch
+
+ # fixes mplayer not seeing gcc 3.4-blahetc type
+ # gcc versions. Half stolen from toolchain-funcs
+ epatch ${FILESDIR}/${P}-gcc_detection.patch
+}
+
+linguas_warn() {
+ ewarn "Language ${LANG[0]} or ${LANG_CC} not avaliable"
+ ewarn "Language set to English"
+ ewarn "If this is a mistake, please set the"
+ ewarn "First LINGUAS language to one of the following"
+ ewarn
+ ewarn "bg - Bulgarian"
+ ewarn "cz - Czech"
+ ewarn "de - German"
+ ewarn "dk - Danish"
+ ewarn "el - Greek"
+ ewarn "en - English"
+ ewarn "es - Spanish"
+ ewarn "fr - French"
+ ewarn "hu - Hungarian"
+ ewarn "ja - Japanese"
+ ewarn "ko - Korean"
+ ewarn "mk - FYRO Macedonian"
+ ewarn "nl - Dutch"
+ ewarn "no - Norwegian"
+ ewarn "pl - Polish"
+ ewarn "pt_BR - Portuguese - Brazil"
+ ewarn "ro - Romanian"
+ ewarn "ru - Russian"
+ ewarn "sk - Slovak"
+ ewarn "tr - Turkish"
+ ewarn "uk - Ukranian"
+ ewarn "zh_CN - Chinese - China"
+ ewarn "zh_TW - Chinese - Taiwan"
+ export LINGUAS="en ${LINGUAS}"
+}
+
+src_compile() {
+
+ # have fun with LINGUAS variable
+ if [[ -n $LINGUAS ]]
+ then
+ # LINGUAS has stuff in it, start the logic
+ LANG=( $LINGUAS )
+ if [ -e ${S}/help/help_mp-${LANG[0]}.h ]
+ then
+ einfo "Setting MPlayer messages to language: ${LANG[0]}"
+ else
+ LANG_CC=${LANG[0]}
+ if [ ${#LANG_CC} -ge 2 ]
+ then
+ LANG_CC=${LANG_CC:0:2}
+ if [ -e ${S}/help/help_mp-${LANG_CC}.h ]
+ then
+ einfo "Setting MPlayer messages to language ${LANG_CC}"
+ export LINGUAS="${LANG_CC} ${LINGUAS}"
+ else
+ linguas_warn
+ fi
+ else
+ linguas_warn
+ fi
+ fi
+ else
+ # sending blank LINGUAS, make it default to en
+ einfo "No LINGUAS given, defaulting to English"
+ export LINGUAS="en ${LINGUAS}"
+ fi
+
+
+ # check cpu flags
+ if use x86 && use !cpudetection
+ then
+ CPU_FLAGS=(3dnow 3dnowext mmx sse sse2 mmxext)
+ ecpu_check CPU_FLAGS
+ fi
+
+ 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
+
+ local myconf=
+ ################
+ #Optional features#
+ ###############
+ myconf="${myconf} $(use_enable cpudetection runtime-cpudetection)"
+ myconf="${myconf} $(use_enable bidi fribidi)"
+ myconf="${myconf} $(use_enable cdparanoia)"
+ if use dvd; then
+ myconf="${myconf} $(use_enable dvdread) $(use_enable !dvdread mpdvdkit)"
+ else
+ myconf="${myconf} --disable-dvdread --disable-mpdvdkit"
+ fi
+ myconf="${myconf} $(use_enable edl)"
+
+ if use encode ; then
+ myconf="${myconf} --enable-mencoder $(use_enable dv libdv)"
+ else
+ myconf="${myconf} --disable-mencoder --disable-libdv"
+ 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
+ myconf="${myconf} $(use_enable ipv6 inet6)"
+ myconf="${myconf} $(use_enable joystick)"
+ myconf="${myconf} $(use_enable lirc)"
+ myconf="${myconf} $(use_enable live)"
+ myconf="${myconf} $(use_enable rtc)"
+ myconf="${myconf} $(use_enable samba smb)"
+ myconf="${myconf} $(use_enable truetype freetype)"
+ myconf="${myconf} $(use_enable v4l tv-v4l)"
+ myconf="${myconf} $(use_enable v4l2 tv-v4l2)"
+ myconf="${myconf} $(use_enable jack)"
+
+ #########
+ # Codecs #
+ ########
+ myconf="${myconf} $(use_enable divx4linux)"
+ 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 matroska internal-matroska)"
+ myconf="${myconf} $(use_enable aac internal-faad)"
+ myconf="${myconf} $(use_enable vorbis)"
+ myconf="${myconf} $(use_enable theora)"
+ myconf="${myconf} $(use_enable xmms)"
+ myconf="${myconf} $(use_enable xvid)"
+ use x86 && myconf="${myconf} $(use_enable real)"
+ 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 --with-dvbincdir=/usr/src/linux/include"
+ 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"
+ fi
+
+ myconf="${myconf} $(use_enable tga)"
+
+ ( use xvmc && use nvidia ) \
+ && myconf="${myconf} --enable-xvmc --with-xvmclib=XvMCNVIDIA"
+
+ ( use xvmc && use i8x0 ) \
+ && myconf="${myconf} --enable-xvmc --with-xvmclib=I810XvMC"
+
+ ( use xvmc && use nvidia && use i8x0 ) \
+ && {
+ eerror "Invalid combination of USE flags"
+ eerror "When building support for xvmc, you may only"
+ eerror "include support for one video card:"
+ eerror " nvidia, i8x0"
+ eerror
+ eerror "Emerge again with different USE flags"
+
+ exit 1
+ }
+
+ ( use xvmc && ! use nvidia && ! use i8x0 ) && {
+ ewarn "You tried to build with xvmc support."
+ ewarn "No supported graphics hardware was specified."
+ ewarn
+ ewarn "No xvmc support will be included."
+ ewarn "Please one appropriate USE flag and re-emerge:"
+ ewarn " nvidia or i8x0"
+
+ myconf="${myconf} --disable-xvmc"
+ }
+
+ #############
+ # Audio Output #
+ #############
+ myconf="${myconf} $(use_enable alsa)"
+ myconf="${myconf} $(use_enable arts)"
+ myconf="${myconf} $(use_enable esd)"
+ myconf="${myconf} $(use_enable mad)"
+ myconf="${myconf} $(use_enable nas)"
+ myconf="${myconf} $(use_enable oss ossaudio)"
+
+ #################
+ # Advanced Options #
+ #################
+ # Platform specific flags, hardcoded on amd64 (see below)
+ use x86 && myconf="${myconf} $(use_enable 3dnow)"
+ use x86 && myconf="${myconf} $(use_enable 3dnowext 3dnowex)";
+ use x86 && myconf="${myconf} $(use_enable sse)"
+ use x86 && myconf="${myconf} $(use_enable sse2)"
+ use x86 && myconf="${myconf} $(use_enable mmx)"
+ use x86 && myconf="${myconf} $(use_enable mmxext mmx2)"
+ myconf="${myconf} $(use_enable debug)"
+ myconf="${myconf} $(use_enable nls i18n)"
+
+ # 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-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
+
+ ./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
+}
+