diff options
author | Steve Dibb <beandog@gentoo.org> | 2010-02-13 19:43:45 +0000 |
---|---|---|
committer | Steve Dibb <beandog@gentoo.org> | 2010-02-13 19:43:45 +0000 |
commit | ed7e414a4860520b3e727b46a49e145c79577adf (patch) | |
tree | b86c832360527920c1faceae133b3c3139a2f132 /media-video/mplayer | |
parent | Add ~sparc (diff) | |
download | historical-ed7e414a4860520b3e727b46a49e145c79577adf.tar.gz historical-ed7e414a4860520b3e727b46a49e145c79577adf.tar.bz2 historical-ed7e414a4860520b3e727b46a49e145c79577adf.zip |
Snapshot bump; Add OpenJPEG support; Drop ~mips due to openjpeg lib, bug 304931
Package-Manager: portage-2.2_rc62/cvs/Linux x86_64
Diffstat (limited to 'media-video/mplayer')
-rw-r--r-- | media-video/mplayer/ChangeLog | 9 | ||||
-rw-r--r-- | media-video/mplayer/Manifest | 6 | ||||
-rw-r--r-- | media-video/mplayer/metadata.xml | 3 | ||||
-rw-r--r-- | media-video/mplayer/mplayer-1.0_rc4_p20100213.ebuild | 737 |
4 files changed, 751 insertions, 4 deletions
diff --git a/media-video/mplayer/ChangeLog b/media-video/mplayer/ChangeLog index 1ce5428fad87..ea6f69a53b7f 100644 --- a/media-video/mplayer/ChangeLog +++ b/media-video/mplayer/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-video/mplayer # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.708 2010/02/11 16:05:24 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.709 2010/02/13 19:43:45 beandog Exp $ + +*mplayer-1.0_rc4_p20100213 (13 Feb 2010) + + 13 Feb 2010; Steve Dibb <beandog@gentoo.org> + +mplayer-1.0_rc4_p20100213.ebuild, metadata.xml: + Snapshot bump; Add OpenJPEG support; Drop ~mips due to openjpeg lib, bug + 304931 11 Feb 2010; Samuli Suominen <ssuominen@gentoo.org> mplayer-1.0_rc2_p20090731.ebuild: diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest index 3113406f58aa..667bc83b2983 100644 --- a/media-video/mplayer/Manifest +++ b/media-video/mplayer/Manifest @@ -10,10 +10,12 @@ DIST font-arial-iso-8859-2.tar.bz2 222208 RMD160 562d4d92c4f5f3d537340fde3ad8d14 DIST mplayer-1.0_rc2_p20090731.tar.bz2 8240152 RMD160 365036583cd4e37f6f77a3e56d0b5e1294bda51d SHA1 bd20abf93f3c4198024b6690a53d79236389b600 SHA256 a77da3b956bb442f1600cd7f14860407d671ef114c5f8310c36c825136a4129b DIST mplayer-1.0_rc4_p20091026.tbz2 15508762 RMD160 f4a6b4253cfbea8d3f7d6e1ac1c5a0d2a0775289 SHA1 dcd55d37d2866ef43b626db62572d7b03a8ca0d9 SHA256 bea714010cf4b0b4f1003716b36d03b73b694dc81a68785c11ef0a9bcafbaa3a DIST mplayer-1.0_rc4_p20091124.tbz2 8560654 RMD160 2e22afd7bed2bdf74bdea340bc17d67e50e1c99c SHA1 ddcc45d56a3688094544cdae37f5f120d0410314 SHA256 68db4196ac17800394584c9ad72f42f726ae48555c95f2e0071ee417d8af251e +DIST mplayer-1.0_rc4_p20100213.tbz2 8811960 RMD160 b6991ef2dde9497bcffa32687f484598956db983 SHA1 350d39f2b42f5c5065abe7d64a4d759a9efa56f4 SHA256 59c09f6388ad15d12f74ae18ebe07945392e40d9096d5598bd496f857722bcb0 DIST svgalib_helper-1.9.17-mplayer.tar.gz 7583 RMD160 927ff34f187e4fa9528e2e48208173d98b3d1d1b SHA1 bf789706d1d79c695f781644c7ea6d57c3eed4c3 SHA256 a6f803f3df4cd4544751d3a3ee936a8bf0e20e32a452639b3f7c7d9e73e65938 EBUILD mplayer-1.0_rc2_p20090731.ebuild 18833 RMD160 4aca7c91db8ead9ed6af08ea25758793efbdaf59 SHA1 afbb4b0287d65225b5f9b4d63ce20891a488c0f3 SHA256 68fd3685869d67f6babd482a9e28b2c1d1f2ac3212869d7fe5cf5f2c136124dc EBUILD mplayer-1.0_rc4_p20091026-r1.ebuild 19027 RMD160 5f5ae2bb3393c56d8e75a8523e491abd5264f086 SHA1 2754307d5bbc40e2c3043a66b16511d629b9b02f SHA256 4b41e26da8111aeb8229b57b2f5453c11a37c9b4382938fff03a72db8815120f EBUILD mplayer-1.0_rc4_p20091124-r1.ebuild 19788 RMD160 e73146f83ebac873f50ee35a709af9372d3abad4 SHA1 85137b8a4e08e03eba217f79a4ec1878987042a5 SHA256 aae4c7d7b582898579f8469484183dc2d5949b6a33bdab41c7d6de459e923501 +EBUILD mplayer-1.0_rc4_p20100213.ebuild 19859 RMD160 c290d06e01cba3d09ac79353a43329fab8e00f97 SHA1 c3dfe07bf920764a340e3458308871a9491fa994 SHA256 331c51d243a8b05fee03ebe0106d38132313f64364e507f75e90217c52b85114 EBUILD mplayer-9999.ebuild 19689 RMD160 d670dfff6c0715b84173cca1f9e132c955c0affe SHA1 3c01f7835eb7a7edc16dca39ef6bde9c6178a306 SHA256 d6461dd851704fe9c9003c0b4994eec07bc478ee0e164f06c87d2012a4362db3 -MISC ChangeLog 125092 RMD160 fd7ef9c9b62359635ea6e6557b0bc33295a77847 SHA1 6230bad8dfda9ac10080f5a2798eff445668940e SHA256 0759b9b09b793116cb9b041afec496003d83ede922eedf3eba92dc6f4a1b8739 -MISC metadata.xml 3683 RMD160 b40c032a02353852e944c64dcba72ece13c358c5 SHA1 c8c875ac087b8c1cf2173bd48ebc9dbf0274fc29 SHA256 6009e998ed6647f2f2c1071b419f93022d7511f35b4bb53a1a1d6984ed105c86 +MISC ChangeLog 125315 RMD160 d8953e96b20cab9f9b3189363286fa0debeac8bc SHA1 0b9408a52be20f6c3303d7a894baa5d1a4f9769a SHA256 a74579bf21b78ba9caaced23241bad5bce7928385afdeec720725085acd5dae7 +MISC metadata.xml 3740 RMD160 4d99f018e8bee9b1d1f5ca83d3a8141fcde4eae1 SHA1 8c09bc369d2f53fcf2a057594b085818b5113129 SHA256 eed4c42b25af503bd31866e3b92a5497bf08d6e917a29d1f5c17c646acc8f177 diff --git a/media-video/mplayer/metadata.xml b/media-video/mplayer/metadata.xml index eb315c02ebb9..26ea657ada87 100644 --- a/media-video/mplayer/metadata.xml +++ b/media-video/mplayer/metadata.xml @@ -8,7 +8,7 @@ <use> <flag name="3dnowext">Enable 3dnowext cpu instructions</flag> <flag name="ass">Internal SRT/SSA/ASS (SubRip / SubStation Alpha) subtitle support</flag> - <flag name="bl">Enables Blinkenlights support in mplayer</flag> + <flag name="bl">Blinkenlights video output</flag> <flag name="bs2b">Enable Bauer stereophonic-to-binaural headphone filter</flag> <flag name="cdio">Use libcdio for CD support (instead of cdparanoia)</flag> <flag name="cpudetection">Enables runtime cpudetection (useful for bindist, compatability on other CPUs)</flag> @@ -29,6 +29,7 @@ <flag name="network">Enables network streaming support</flag> <flag name="nut">Enables support for the NUT container format</flag> <flag name="opencore-amr">Enables Adaptive Multi-Rate format support</flag> + <flag name="openjpeg">OpenJPEG (JPEG2000) input/output support</flag> <flag name="osdmenu">Enables support for on-screen display (OSD) menus</flag> <flag name="pnm">Add PNM video output option, to create PPM/PGM/PGMYUV images</flag> <flag name="pvr">Enable Video4Linux2 MPEG PVR</flag> diff --git a/media-video/mplayer/mplayer-1.0_rc4_p20100213.ebuild b/media-video/mplayer/mplayer-1.0_rc4_p20100213.ebuild new file mode 100644 index 000000000000..2a4c1b11cb49 --- /dev/null +++ b/media-video/mplayer/mplayer-1.0_rc4_p20100213.ebuild @@ -0,0 +1,737 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/mplayer-1.0_rc4_p20100213.ebuild,v 1.1 2010/02/13 19:43:45 beandog Exp $ + +EAPI="2" + +ESVN_REPO_URI="svn://svn.mplayerhq.hu/mplayer/trunk" +[[ ${PV} = *9999* ]] && SVN_ECLASS="subversion" || SVN_ECLASS="" + +inherit eutils flag-o-matic multilib base ${SVN_ECLASS} + +[[ ${PV} != *9999* ]] && MPLAYER_REVISION=SVN-r30554 + +IUSE="3dnow 3dnowext +a52 +aac aalib +alsa altivec +ass bidi bindist bl bs2b ++cddb +cdio cdparanoia cpudetection custom-cpuopts debug dga +dirac directfb +doc +dts +dv dvb +dvd +dvdnav dxr3 +enca +encode esd +faac +faad fbcon ftp +gif ggi -gmplayer +iconv ipv6 jack joystick jpeg kernel_linux ladspa libcaca +lirc +live lzo mad md5sum +mmx mmxext mng +mp3 nas +network nut openal ++opengl openjpeg +osdmenu oss png pnm pulseaudio pvr +quicktime radio +rar +real +rtc +samba +shm +schroedinger sdl +speex sse sse2 ssse3 svga tga +theora +tremor ++truetype +toolame +twolame +unicode v4l v4l2 vdpau vidix +vorbis win32codecs ++X +x264 xanim xinerama +xscreensaver +xv +xvid xvmc zoran" +[[ ${PV} == *9999* ]] && IUSE+=" external-ffmpeg" + +VIDEO_CARDS="s3virge mga tdfx nvidia vesa" +for x in ${VIDEO_CARDS}; do + IUSE+=" video_cards_${x}" +done + +BLUV="1.7" +SVGV="1.9.17" +AMR_URI="http://www.3gpp.org/ftp/Specs/archive" +FONT_URI=" + 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 +" +if [[ ${PV} == *9999* ]]; then + RELEASE_URI="" +else + RELEASE_URI="mirror://gentoo/${P}.tbz2" +fi +SRC_URI="${RELEASE_URI} + !truetype? ( ${FONT_URI} ) + gmplayer? ( mirror://mplayer/skins/Blue-${BLUV}.tar.bz2 ) + svga? ( http://dev.gentoo.org/~ssuominen/svgalib_helper-${SVGV}-mplayer.tar.gz )" +# svga? ( http://mplayerhq.hu/~alex/svgalib_helper-${SVGV}-mplayer.tar.bz2 ) + +DESCRIPTION="Media Player for Linux" +HOMEPAGE="http://www.mplayerhq.hu/" + +# Preffered font is dejavu +FONT_RDEPS=" + || ( media-fonts/dejavu media-fonts/ttf-bitstream-vera ) + media-libs/fontconfig + media-libs/freetype:2 +" +X_RDEPS=" + x11-libs/libXext + x11-libs/libXxf86vm +" +[[ ${PV} == *9999* ]] && RDEPEND+=" external-ffmpeg? ( media-video/ffmpeg )" +# Rar: althrought -gpl version is nice, it cant do most functions normal rars can +# nemesi? ( net-libs/libnemesi ) +RDEPEND+=" + sys-libs/ncurses + !bindist? ( + x86? ( + win32codecs? ( media-libs/win32codecs ) + ) + ) + X? ( + ${X_RDEPS} + ass? ( ${FONT_RDEPS} ) + dga? ( x11-libs/libXxf86dga ) + ggi? ( + media-libs/libggi + media-libs/libggiwmh + ) + gmplayer? ( + media-libs/libpng + x11-libs/gtk+:2 + x11-libs/libXi + ) + opengl? ( virtual/opengl ) + truetype? ( ${FONT_RDEPS} ) + video_cards_nvidia? ( + vdpau? ( >=x11-drivers/nvidia-drivers-180.60 ) + ) + xinerama? ( x11-libs/libXinerama ) + xscreensaver? ( x11-libs/libXScrnSaver ) + xv? ( + x11-libs/libXv + xvmc? ( x11-libs/libXvMC ) + ) + ) + aalib? ( media-libs/aalib ) + alsa? ( media-libs/alsa-lib ) + bidi? ( dev-libs/fribidi ) + cdio? ( dev-libs/libcdio ) + cdparanoia? ( media-sound/cdparanoia ) + dirac? ( media-video/dirac ) + directfb? ( dev-libs/DirectFB ) + dts? ( media-libs/libdca ) + dv? ( media-libs/libdv ) + dvb? ( media-tv/linuxtv-dvb-headers ) + encode? ( + !twolame? ( toolame? ( media-sound/toolame ) ) + twolame? ( media-sound/twolame ) + faac? ( media-libs/faac ) + mp3? ( media-sound/lame ) + x264? ( >=media-libs/x264-0.0.20091124 ) + xvid? ( media-libs/xvid ) + ) + esd? ( media-sound/esound ) + enca? ( app-i18n/enca ) + faad? ( !aac? ( media-libs/faad2 ) ) + gif? ( media-libs/giflib ) + jack? ( media-sound/jack-audio-connection-kit ) + jpeg? ( media-libs/jpeg ) + ladspa? ( media-libs/ladspa-sdk ) + libcaca? ( media-libs/libcaca ) + lirc? ( app-misc/lirc ) + live? ( media-plugins/live ) + lzo? ( >=dev-libs/lzo-2 ) + mad? ( media-libs/libmad ) + mng? ( media-libs/libmng ) + nas? ( media-libs/nas ) + nut? ( >=media-libs/libnut-661 ) + openal? ( media-libs/openal ) + openjpeg? ( media-libs/openjpeg ) + png? ( media-libs/libpng ) + pnm? ( media-libs/netpbm ) + pulseaudio? ( media-sound/pulseaudio ) + rar? ( + || ( + app-arch/unrar + app-arch/rar + app-arch/unrar-gpl + ) + ) + samba? ( net-fs/samba ) + schroedinger? ( media-libs/schroedinger ) + sdl? ( media-libs/libsdl ) + speex? ( media-libs/speex ) + svga? ( media-libs/svgalib ) + theora? ( media-libs/libtheora ) + vorbis? ( media-libs/libvorbis ) + xanim? ( media-video/xanim ) +" + +X_DEPS=" + x11-proto/videoproto + x11-proto/xf86vidmodeproto +" +ASM_DEP="dev-lang/yasm" +DEPEND="${RDEPEND} + X? ( + ${X_DEPS} + dga? ( x11-proto/xf86dgaproto ) + dxr3? ( media-video/em8300-libraries ) + gmplayer? ( x11-proto/xextproto ) + xinerama? ( x11-proto/xineramaproto ) + xscreensaver? ( x11-proto/scrnsaverproto ) + ) + amd64? ( ${ASM_DEP} ) + doc? ( dev-libs/libxslt ) + iconv? ( virtual/libiconv ) + x86? ( ${ASM_DEP} ) + x86-fbsd? ( ${ASM_DEP} ) +" + +SLOT="0" +LICENSE="GPL-2" +if [[ ${PV} != *9999* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +else + KEYWORDS="" +fi + +PATCHES=( +) + +pkg_setup() { + if [[ ${PV} == *9999* ]]; then + elog "" + elog "This is a live ebuild which installs the latest from upstream's" + elog "subversion repository, and is unsupported by Gentoo." + elog "Everything but bugs in the ebuild itself will be ignored." + elog "" + fi + + if use gmplayer; then + ewarn "" + ewarn "GMPlayer is no longer actively developed upstream" + ewarn "and is not supported by Gentoo. There are alternatives" + ewarn "for a GUI frontend: smplayer, gnome-mplayer or 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() { + [[ ${PV} = *9999* ]] && subversion_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 gmplayer && unpack "Blue-${BLUV}.tar.bz2" + use svga && unpack "svgalib_helper-${SVGV}-mplayer.tar.gz" +} + +src_prepare() { + if [[ ${PV} = *9999* ]]; then + # Set SVN version manually + subversion_wc_info + sed -i s/UNKNOWN/${ESVN_WC_REVISION}/ "${S}/version.sh" + else + # Set version # + sed -i s/UNKNOWN/${MPLAYER_REVISION}/ "${S}/version.sh" + fi + + 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 + + base_src_prepare +} + +src_configure() { + local myconf="" + local uses i + + # set LINGUAS + [[ -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+=" + --disable-arts + --disable-kai + $(use_enable network) + $(use_enable joystick) + " + uses="bl enca ftp rtc" # nemesi <- not working with in-tree ebuild + myconf+=" --disable-nemesi" # nemesi automagic disable + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + use ass || myconf+=" --disable-ass --disable-ass-internal" + use bidi || myconf+=" --disable-fribidi" + use encode || myconf+=" --disable-mencoder" + use ipv6 || myconf+=" --disable-inet6" + use nut || myconf+=" --disable-libnut" + use rar || myconf+=" --disable-unrarexec" + use samba || myconf+=" --disable-smb" + if ! use lirc; then + myconf+=" + --disable-lirc + --disable-lircc + --disable-apple-ir + " + fi + + # libcdio support: prefer libcdio over cdparanoia + # don't check for cddb w/cdio + if use cdio; then + myconf+=" --disable-cdparanoia" + else + myconf+=" --disable-libcdio" + use cdparanoia || myconf+=" --disable-cdparanoia" + use cddb || 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+=" --disable-dvdnav" + else + myconf+=" + --disable-dvdnav + --disable-dvdread + --disable-dvdread-internal + --disable-libdvdcss-internal + " + use a52 || 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+=" --disable-freetype" + if ! use iconv; then + myconf+=" + --disable-iconv + --charset=noconv + " + fi + fi + fi + use iconv && use unicode && myconf+=" --charset=UTF-8" + + ##################################### + # DVB / Video4Linux / Radio support # + ##################################### + myconf+=" --disable-tv-bsdbt848" + # broken upstream, won't work with recent kernels + myconf+=" --disable-ivtv" + if { use dvb || use v4l || use v4l2 || use pvr || use radio; }; then + use dvb || myconf+=" --disable-dvb --disable-dvbhead" + use pvr || myconf+=" --disable-pvr" + use v4l || myconf+=" --disable-tv-v4l1" + use v4l2 || myconf+=" --disable-tv-v4l2" + if use radio && { use dvb || use v4l || use v4l2; }; then + myconf+=" + --enable-radio + $(use_enable encode radio-capture) + " + else + myconf+=" + --disable-radio-v4l2 + --disable-radio-bsdbt848 + " + fi + else + myconf+=" + --disable-tv + --disable-tv-v4l1 + --disable-tv-v4l2 + --disable-radio + --disable-radio-v4l2 + --disable-radio-bsdbt848 + --disable-dvb + --disable-dvbhead + --disable-v4l2 + --disable-pvr" + fi + + ########## + # Codecs # + ########## + # Won't work with external liba52 + myconf+=" --disable-liba52" + # Use internal musepack codecs for SV7 and SV8 support + myconf+=" --disable-musepack" + + use aac || myconf+=" --disable-faad-internal" + use dirac || myconf+=" --disable-libdirac-lavc" + use dts || myconf+=" --disable-libdca" + use dv || myconf+=" --disable-libdv" + use faad || myconf+=" --disable-faad" + use lzo || myconf+=" --disable-liblzo" + if ! use mp3; then + myconf+=" + --disable-mp3lame + --disable-mp3lame-lavc + --disable-mp3lib + " + fi + use bs2b || myconf+=" --disable-libbs2b" + use schroedinger || myconf+=" --disable-libschroedinger-lavc" + use xanim && myconf+=" --xanimcodecsdir=/usr/lib/xanim/mods" + if ! use png && ! use gmplayer; then + myconf+=" --disable-png" + fi + + uses="gif jpeg live mad mng pnm speex tga theora xanim" + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + use openjpeg || myconf+=" --disable-libopenjpeg" + if use vorbis || use tremor; then + use tremor || myconf+=" --disable-tremor-internal" + use vorbis || myconf+=" --disable-libvorbis" + else + myconf+=" + --disable-tremor-internal + --disable-tremor + --disable-libvorbis + " + fi + # Encoding + if use encode; then + uses="faac x264 xvid toolame twolame" + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + use aac || myconf+=" --disable-faac-lavc" + else + myconf+=" + --disable-faac-lavc + --disable-faac + --disable-x264 + --disable-xvid + --disable-x264-lavc + --disable-xvid-lavc + --disable-twolame + --disable-toolame + " + uses="aac faac x264 xvid toolame twolame" + for i in uses; do + use ${i} && elog "Useflag \"${i}\" require \"encode\" useflag enabled to work." + done + fi + + ################# + # Binary codecs # + ################# + # bug 213836 + if ! use x86 || ! use win32codecs; then + use quicktime || 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+=" --disable-real" + + # Real binary codec support only available on x86, amd64 + if use real; then + use x86 && myconf+=" --realcodecsdir=/opt/RealPlayer/codecs" + use amd64 && myconf+=" --realcodecsdir=/usr/$(get_libdir)/codecs" + elif ! use bindist; then + myconf+=" $(use_enable win32codecs win32dll)" + fi + + ################ + # Video Output # + ################ + uses="directfb md5sum sdl" + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + use aalib || myconf+=" --disable-aa" + use fbcon || myconf+=" --disable-fbdev" + use fbcon && use video_cards_s3virge && myconf+=" --enable-s3fb" + use libcaca || myconf+=" --disable-caca" + use zoran || myconf+=" --disable-zr" + + if ! use kernel_linux && ! use video_cards_mga; then + myconf+=" --disable-mga --disable-xmga" + fi + + if use video_cards_tdfx; then + myconf+=" + $(use_enable video_cards_tdfx tdfxvid) + $(use_enable fbcon tdfxfb) + " + else + myconf+=" + --disable-3dfx + --disable-tdfxvid + --disable-tdfxfb + " + fi + + ################ + # Audio Output # + ################ + uses="alsa esd jack ladspa nas openal" + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + use pulseaudio || myconf+=" --disable-pulse" + if ! use radio; then + use oss || myconf+=" --disable-ossaudio" + fi + + #################### + # Advanced Options # + #################### + # Platform specific flags, hardcoded on amd64 (see below) + if use cpudetection; then + 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 + uses="3dnow 3dnowext altivec mmx mmxext shm sse sse2 ssse3" + for i in ${uses}; do + myconf+=" $(use_enable ${i})" + done + fi + + use debug && myconf+=" --enable-debug=3" + + filter-flags -fPIC -fPIE + append-flags -D__STDC_LIMIT_MACROS + is-flag -O? || append-flags -O2 + if use x86 || use x86-fbsd; then + use debug || append-flags -fomit-frame-pointer + fi + + ########################### + # X enabled configuration # + ########################### + if use X; then + uses="dxr3 ggi xinerama" + for i in ${uses}; do + use ${i} || myconf+=" --disable-${i}" + done + use dga || myconf+=" --disable-dga1 --disable-dga2" + use opengl || myconf+=" --disable-gl" + use osdmenu && myconf+=" --enable-menu" + use video_cards_nvidia && use vdpau || myconf+=" --disable-vdpau" + use video_cards_vesa || myconf+=" --disable-vesa" + use vidix || myconf+=" --disable-vidix --disable-vidix-pcidb" + use xscreensaver || myconf+=" --disable-xss" + + # GTK gmplayer gui + # Unsupported by Gentoo, upstream has dropped development + myconf+=" $(use_enable gmplayer gui)" + + if use xv; then + if use xvmc; then + myconf+=" --enable-xvmc --with-xvmclib=XvMCW" + else + myconf+=" --disable-xvmc" + fi + else + myconf+=" + --disable-xv + --disable-xvmc + " + use xvmc && elog "Disabling xvmc because it requires \"xv\" useflag enabled." + fi + else + myconf+=" + --disable-dga1 + --disable-dga2 + --disable-dxr3 + --disable-ggi + --disable-gl + --disable-vdpau + --disable-vidix + --disable-vidix-pcidb + --disable-xinerama + --disable-xss + --disable-xv + --disable-xvmc + " + uses="dga dxr3 ggi opengl osdmenu vdpau vidix xinerama xscreensaver xv" + for i in uses; do + use ${i} && elog "Useflag \"${i}\" require \"X\" useflag enabled to work." + done + fi + + if [[ ${PV} == *9999* ]]; then + ################### + # External FFmpeg # + ################### + use external-ffmpeg && myconf+=" --disable-libavutil_a --disable-libavcodec_a --disable-libavformat_a --disable-libpostproc_a --disable-libswscale_a" + fi + + myconf="--cc=$(tc-getCC) \ + --host-cc=$(tc-getBUILD_CC) \ + --prefix=/usr \ + --confdir=/etc/mplayer \ + --datadir=/usr/share/mplayer \ + --libdir=/usr/$(get_libdir) \ + ${myconf}" + + CFLAGS="${CFLAGS}" ./configure ${myconf} || die "configure died" +} + +src_compile() { + base_src_compile + emake || die "Failed to build MPlayer!" + use doc && make -C DOCS/xml html-chunked +} + +src_install() { + local i + + emake 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 "emake install failed" + + dodoc AUTHORS Changelog Copyright README etc/codecs.conf || die + + docinto tech/ + dodoc DOCS/tech/{*.txt,MAINTAINERS,mpsub.sub,playtree,TODO,wishlist} || die + docinto TOOLS/ + dodoc TOOLS/* || die + if use real; then + docinto tech/realcodecs/ + dodoc DOCS/tech/realcodecs/* || die + docinto TOOLS/realcodecs/ + dodoc TOOLS/realcodecs/* || die + fi + docinto tech/mirrors/ + dodoc DOCS/tech/mirrors/* || die + + if use doc; then + dohtml -r "${S}"/DOCS/HTML/* || die + fi + + # Install the default Skin and Gnome menu entry + if use gmplayer; 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 + # Do this generic, as the mplayer people like to change the structure + # of their zips ... + for i in $(find "${WORKDIR}/" -type d -name 'font-arial-*'); do + cp -pPR "${i}" "${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 || die + doins "${S}/etc/input.conf" || die + if use osdmenu; then + doins "${S}/etc/menu.conf" || die + fi + + if use ass || use truetype; then + cat >> "${D}/etc/mplayer/mplayer.conf" << _EOF_ +fontconfig=1 +subfont-osd-scale=4 +subfont-text-scale=3 +_EOF_ + fi + + # bug 256203 + if use rar; then + cat >> "${D}/etc/mplayer/mplayer.conf" << _EOF_ +unrarexec=/usr/bin/unrar +_EOF_ + fi + + dosym ../../../etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf + newbin "${S}/TOOLS/midentify.sh" midentify || die +} + +pkg_preinst() { + [[ -d ${ROOT}/usr/share/mplayer/Skin/default ]] && \ + rm -rf "${ROOT}/usr/share/mplayer/Skin/default" +} + +pkg_postrm() { + # Cleanup stale symlinks + [ -L "${ROOT}/usr/share/mplayer/font" -a \ + ! -e "${ROOT}/usr/share/mplayer/font" ] && \ + rm -f "${ROOT}/usr/share/mplayer/font" + + [ -L "${ROOT}/usr/share/mplayer/subfont.ttf" -a \ + ! -e "${ROOT}/usr/share/mplayer/subfont.ttf" ] && \ + rm -f "${ROOT}/usr/share/mplayer/subfont.ttf" +} |